The error in the ACL code shows up when:
1. An ACL rule specifies an 'upper limit' rule such as filemaxsizeupperlimit
2. The queue_declare call from the user does not specify qpid.file_size in the queue declaration.
The broker passes a file_size lookup value of 0 to the ACL for checking.
The ACL code (in error) sees that the lookup value is 0 and declares the comparison a failure despite the fact that the value (0) is less than the rule's upper limit.
The fix is not to check that a lookup value is zero but just go ahead with the comparison.
The failure is easy to trigger in the self test.
|Field||Original Value||New Value|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Fix Version/s||0.23 [ 12324273 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|1h 12m||1||Chuck Rolke||10/Apr/13 21:48|
|150d 16h 48m||1||Justin Ross||08/Sep/13 14:37|