qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chug Rolke" <cro...@redhat.com>
Subject Re: Review Request 14254: Don't increment the quota count for user if queue already exists
Date Fri, 20 Sep 2013 21:50:09 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14254/#review26305
-----------------------------------------------------------



/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
<https://reviews.apache.org/r/14254/#comment51393>

    Don't add ACT_ACCESS to this code. It's a subtle change that will confuse users.
    
    Just qualify the approveCreateQueue() call with 'if (!queues.find(name))'.


- Chug Rolke


On Sept. 20, 2013, 9:10 p.m., Ernie Allen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14254/
> -----------------------------------------------------------
> 
> (Updated Sept. 20, 2013, 9:10 p.m.)
> 
> 
> Review request for qpid and Chug Rolke.
> 
> 
> Repository: qpid
> 
> 
> Description
> -------
> 
> The acl quota count is incorrectly incremented when a queue already exists and a request
to create it again is received.
> For example, calling the c++ spout utility multiple times like:
>     spout -c 1 -b guest/guest@localhost -a "q1;{create:always}"
> will cause the quota count for guest to be incremented each time. This eventually leads
to acl denials even though only one queue was actually created.
> 
> Proposed solution:
> Check for the existence of the queue in Broker::createQueue(). If the queue exists, just
check for acl access permission instead of making the acl call that increments the user's
quota count. 
>   
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1525129 
> 
> Diff: https://reviews.apache.org/r/14254/diff/
> 
> 
> Testing
> -------
> 
> Set queue quota in the acl config file for a user.
> Run c++ spout utility with address of "q1;{create:always}" multiple times (more than
the allowed quota) to verify that quota is not consumed. 
> 
> Create multiple queues for user to verify that new queues count against the quota.
> 
> 
>   
> 
> 
> Thanks,
> 
> Ernie Allen
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message