diff options
| author | Charles E. Rolke <chug@apache.org> | 2014-07-28 13:48:57 +0000 |
|---|---|---|
| committer | Charles E. Rolke <chug@apache.org> | 2014-07-28 13:48:57 +0000 |
| commit | d0ae3354dfc506c9c282f92969408b69b75919dc (patch) | |
| tree | ed67951b12fe753ec2e9a80b4db7fc90e5bd100c /qpid/cpp/src | |
| parent | 3d9b12074a603ffa71e0cba303a5b68d834edbd0 (diff) | |
| download | qpid-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/src')
| -rw-r--r-- | qpid/cpp/src/qpid/acl/AclValidator.cpp | 52 |
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); |
