|
Lines 163-169
Link Here
|
| 163 |
if data: |
163 |
if data: |
| 164 |
elements = data.split( ',' ) |
164 |
elements = data.split( ',' ) |
| 165 |
for elem in elements: |
165 |
for elem in elements: |
| 166 |
if elem.find( '=' ) != -1: |
166 |
if not elem: |
|
|
167 |
ACL.error('### Typo in data: %s Ignoring ,, and try to continue' % (data)) |
| 168 |
continue |
| 169 |
elif elem.find( '=' ) != -1: |
| 167 |
key, value = elem.split( '=' ) |
170 |
key, value = elem.split( '=' ) |
| 168 |
options[ key.strip() ] = value.strip() |
171 |
options[ key.strip() ] = value.strip() |
| 169 |
elif elem[ 0 ] == '!': # key without value allowed if starting with ! -> key may not exist |
172 |
elif elem[ 0 ] == '!': # key without value allowed if starting with ! -> key may not exist |
|
Lines 244-250
Link Here
|
| 244 |
if flavor1 == flavor2 or flavor1 is None or flavor1 == '*': |
247 |
if flavor1 == flavor2 or flavor1 is None or flavor1 == '*': |
| 245 |
return ACLs.MATCH_FULL |
248 |
return ACLs.MATCH_FULL |
| 246 |
|
249 |
|
| 247 |
if flavor1[ -1 ] == '*' and flavor2.startswith( flavor1[ : -1 ] ): |
250 |
if flavor1[ -1 ] == '*' and flavor2 and flavor2.startswith( flavor1[ : -1 ] ): |
| 248 |
return ACLs.MATCH_PART |
251 |
return ACLs.MATCH_PART |
| 249 |
|
252 |
|
| 250 |
return ACLs.MATCH_NONE |
253 |
return ACLs.MATCH_NONE |