summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/acl/AclData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/acl/AclData.cpp')
-rw-r--r--cpp/src/qpid/acl/AclData.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/cpp/src/qpid/acl/AclData.cpp b/cpp/src/qpid/acl/AclData.cpp
index 922f65ba69..847b67cb58 100644
--- a/cpp/src/qpid/acl/AclData.cpp
+++ b/cpp/src/qpid/acl/AclData.cpp
@@ -39,6 +39,7 @@ namespace acl {
const char AclData::ACL_SYMBOL_WILDCARD = '*';
const std::string AclData::ACL_KEYWORD_WILDCARD = "*";
const char AclData::ACL_SYMBOL_LINE_CONTINUATION = '\\';
+ const std::string AclData::ACL_KEYWORD_DEFAULT_EXCHANGE = "amq.default";
//
// constructor
@@ -432,7 +433,13 @@ namespace acl {
std::string sName(rsItr->pubExchName);
substituteUserId(sName, id);
result = matchProp(sName, name);
- } else {
+ }
+ else if (rsItr->pubExchNameMatchesBlank)
+ {
+ result = name.empty();
+ }
+ else
+ {
result = matchProp(rsItr->pubExchName, name);
}
@@ -441,7 +448,6 @@ namespace acl {
QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup exchange name '"
<< name << "' matched with rule name '"
<< rsItr->pubExchName << "'");
-
}
else
{