summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2008-09-19 19:12:10 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2008-09-19 19:12:10 +0000
commitaf1ed395176fad8d50760b330c335e9cd25543ef (patch)
tree998d158b83db14a698915c06ed6b6068f3370b24 /cpp
parent5260106042c9d9e4bfffa97cdd6c5da8e6b21a79 (diff)
downloadqpid-python-af1ed395176fad8d50760b330c335e9cd25543ef.tar.gz
- fix 'all' user rules to match if not in user db.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697191 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/acl/AclData.cpp4
-rw-r--r--cpp/src/qpid/acl/AclReader.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/qpid/acl/AclData.cpp b/cpp/src/qpid/acl/AclData.cpp
index ee8b3b1b7d..b9501ce6c1 100644
--- a/cpp/src/qpid/acl/AclData.cpp
+++ b/cpp/src/qpid/acl/AclData.cpp
@@ -59,6 +59,8 @@ AclResult AclData::lookup(const std::string& id, const Action& action, const Obj
if (actionList[action] && actionList[action][objType]){
AclData::actObjItr itrRule = actionList[action][objType]->find(id);
+ if (itrRule != actionList[action][objType]->end())
+ itrRule = actionList[action][objType]->find("*");
if (itrRule != actionList[action][objType]->end() ) {
//loop the vector
@@ -95,6 +97,8 @@ AclResult AclData::lookup(const std::string& id, const Action& action, const Obj
if (actionList[action] && actionList[action][objType]){
AclData::actObjItr itrRule = actionList[action][objType]->find(id);
+ if (itrRule != actionList[action][objType]->end())
+ itrRule = actionList[action][objType]->find("*");
if (itrRule != actionList[action][objType]->end() ) {
//loop the vector
diff --git a/cpp/src/qpid/acl/AclReader.cpp b/cpp/src/qpid/acl/AclReader.cpp
index ee29426a25..0ad92a2243 100644
--- a/cpp/src/qpid/acl/AclReader.cpp
+++ b/cpp/src/qpid/acl/AclReader.cpp
@@ -207,6 +207,7 @@ void AclReader::aclRule::processName(const std::string& name, const groupMap& gr
AclReader::AclReader() : lineNumber(0), contFlag(false), validationMap(new AclHelper::objectMap) {
AclHelper::loadValidationMap(validationMap);
+ names.insert("*");
}
AclReader::~AclReader() {}