summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorCharles E. Rolke <chug@apache.org>2013-09-24 19:30:38 +0000
committerCharles E. Rolke <chug@apache.org>2013-09-24 19:30:38 +0000
commitf32d1e11b56b884c8dffb23c719a6ba89683522a (patch)
treea770355d4fe1ea94171577c856c65b4736658855 /qpid/cpp
parentbb40d6411e7bc67858d90c473b718c75a09612b7 (diff)
downloadqpid-python-f32d1e11b56b884c8dffb23c719a6ba89683522a.tar.gz
QPID-4604: C++ Broker queue creation limit bugfix - patch from Ernie Allen
Don't count a queue creation against a queue that already exists. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1525980 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/Broker.cpp b/qpid/cpp/src/qpid/broker/Broker.cpp
index 80e08dd25c..f02689a327 100644
--- a/qpid/cpp/src/qpid/broker/Broker.cpp
+++ b/qpid/cpp/src/qpid/broker/Broker.cpp
@@ -1294,8 +1294,9 @@ std::pair<boost::shared_ptr<Queue>, bool> Broker::createQueue(
if (!acl->authorise(userId,acl::ACT_CREATE,acl::OBJ_QUEUE,name,&params) )
throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue create request from " << userId));
- if (!acl->approveCreateQueue(userId,name) )
- throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue create request from " << userId));
+ if (!queues.find(name))
+ if (!acl->approveCreateQueue(userId,name) )
+ throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue create request from " << userId));
}
Exchange::shared_ptr alternate;