summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorCharles E. Rolke <chug@apache.org>2014-07-28 13:48:57 +0000
committerCharles E. Rolke <chug@apache.org>2014-07-28 13:48:57 +0000
commitd0ae3354dfc506c9c282f92969408b69b75919dc (patch)
treeed67951b12fe753ec2e9a80b4db7fc90e5bd100c /qpid/cpp
parent3d9b12074a603ffa71e0cba303a5b68d834edbd0 (diff)
downloadqpid-python-d0ae3354dfc506c9c282f92969408b69b75919dc.tar.gz
QPID-5890: Validation refactoring. Fix Coverity MIXED_ENUM complaint.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614031 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/acl/AclValidator.cpp52
1 files changed, 48 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/acl/AclValidator.cpp b/qpid/cpp/src/qpid/acl/AclValidator.cpp
index 32be06d9e1..f905b4aca5 100644
--- a/qpid/cpp/src/qpid/acl/AclValidator.cpp
+++ b/qpid/cpp/src/qpid/acl/AclValidator.cpp
@@ -452,6 +452,52 @@ namespace acl {
// Given that the broker will be calling with this property,
// determine what user rule settings are allowed.
switch (prop) {
+ // Cases where broker and Acl file share property name and meaning
+ case PROP_NAME:
+ spm[SPECPROP_NAME]="";
+ break;
+ case PROP_DURABLE:
+ spm[SPECPROP_DURABLE]="";
+ break;
+ case PROP_OWNER:
+ spm[SPECPROP_OWNER]="";
+ break;
+ case PROP_ROUTINGKEY:
+ spm[SPECPROP_ROUTINGKEY]="";
+ break;
+ case PROP_AUTODELETE:
+ spm[SPECPROP_AUTODELETE]="";
+ break;
+ case PROP_EXCLUSIVE:
+ spm[SPECPROP_EXCLUSIVE]="";
+ break;
+ case PROP_TYPE:
+ spm[SPECPROP_TYPE]="";
+ break;
+ case PROP_ALTERNATE:
+ spm[SPECPROP_ALTERNATE]="";
+ break;
+ case PROP_QUEUENAME:
+ spm[SPECPROP_QUEUENAME]="";
+ break;
+ case PROP_EXCHANGENAME:
+ spm[SPECPROP_EXCHANGENAME]="";
+ break;
+ case PROP_SCHEMAPACKAGE:
+ spm[SPECPROP_SCHEMAPACKAGE]="";
+ break;
+ case PROP_SCHEMACLASS:
+ spm[SPECPROP_SCHEMACLASS]="";
+ break;
+ case PROP_POLICYTYPE:
+ spm[SPECPROP_POLICYTYPE]="";
+ break;
+ case PROP_PAGING:
+ spm[SPECPROP_PAGING]="";
+ break;
+ case PROP_HOST:
+ spm[SPECPROP_HOST]="";
+ break;
// Cases where broker supplies a property but Acl has upper/lower limit for it
case PROP_MAXPAGES:
spm[SPECPROP_MAXPAGESLOWERLIMIT]="";
@@ -478,10 +524,8 @@ namespace acl {
spm[SPECPROP_MAXFILECOUNTUPPERLIMIT]="";
break;
default:
- // Cases where broker supplies a property and Acl matches it directly
- SpecProperty sp = SpecProperty(prop);
- spm[ sp ]="";
- break;
+ throw Exception( "acl::RegisterProperties no case for property: " +
+ AclHelper::getPropertyStr(prop) );
}
}
AclData::Rule someProps(propertyIndex, acl::ALLOW, spm, source, description);