--- acl.py.orig 2014-06-03 14:13:24.576000000 +0200 +++ acl.py 2014-06-04 12:34:22.112000000 +0200 @@ -163,7 +163,10 @@ if data: elements = data.split( ',' ) for elem in elements: - if elem.find( '=' ) != -1: + if not elem: + ACL.error('### Typo in data: %s Ignoring ,, and try to continue' % (data)) + continue + elif elem.find( '=' ) != -1: key, value = elem.split( '=' ) options[ key.strip() ] = value.strip() elif elem[ 0 ] == '!': # key without value allowed if starting with ! -> key may not exist @@ -244,7 +247,7 @@ if flavor1 == flavor2 or flavor1 is None or flavor1 == '*': return ACLs.MATCH_FULL - if flavor1[ -1 ] == '*' and flavor2.startswith( flavor1[ : -1 ] ): + if flavor1[ -1 ] == '*' and flavor2 and flavor2.startswith( flavor1[ : -1 ] ): return ACLs.MATCH_PART return ACLs.MATCH_NONE