You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/09/29 09:26:00 UTC

[1/2] qpid-broker-j git commit: QPID-7928: Rename method for clarity

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 5ab312f49 -> 16a186bab


QPID-7928: Rename method for clarity


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/1a9875c6
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/1a9875c6
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/1a9875c6

Branch: refs/heads/master
Commit: 1a9875c6bb1859e31d8cbd967aff303ab318d924
Parents: 5ab312f
Author: Keith Wall <kw...@apache.org>
Authored: Thu Sep 28 16:01:29 2017 +0100
Committer: Keith Wall <kw...@apache.org>
Committed: Fri Sep 29 09:45:29 2017 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/qpid/server/model/BrokerImpl.java     | 2 +-
 .../org/apache/qpid/server/model/CommonAccessControlProvider.java  | 2 +-
 .../qpid/server/security/AllowAllAccessControlProviderImpl.java    | 2 +-
 .../org/apache/qpid/server/virtualhost/AbstractVirtualHost.java    | 2 +-
 .../access/plugins/AbstractLegacyAccessControlProvider.java        | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a9875c6/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
index 7c1f5c9..5bc4aaf 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java
@@ -770,7 +770,7 @@ public class BrokerImpl extends AbstractContainer<BrokerImpl> implements Broker<
                 }
                 else if(prov.getState() == State.ACTIVE)
                 {
-                    accessControls.add(prov.getControl());
+                    accessControls.add(prov.getController());
                 }
 
             }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a9875c6/broker-core/src/main/java/org/apache/qpid/server/model/CommonAccessControlProvider.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/CommonAccessControlProvider.java b/broker-core/src/main/java/org/apache/qpid/server/model/CommonAccessControlProvider.java
index f94a808..b101cd2 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/CommonAccessControlProvider.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/CommonAccessControlProvider.java
@@ -51,5 +51,5 @@ public interface CommonAccessControlProvider<X> extends Comparable<X>
     String getName();
     int getPriority();
 
-    AccessControl<?> getControl();
+    AccessControl<?> getController();
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a9875c6/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java b/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
index a14918d..2ce0179 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
@@ -55,7 +55,7 @@ public class AllowAllAccessControlProviderImpl extends AbstractConfiguredObject<
     }
 
     @Override
-    public AccessControl getControl()
+    public AccessControl getController()
     {
         return AccessControl.ALWAYS_ALLOWED;
     }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a9875c6/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index c37bc78..f5580b3 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -328,7 +328,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
                 }
                 else if(prov.getState() == State.ACTIVE)
                 {
-                    accessControls.add(prov.getControl());
+                    accessControls.add(prov.getController());
                 }
 
             }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a9875c6/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractLegacyAccessControlProvider.java
----------------------------------------------------------------------
diff --git a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractLegacyAccessControlProvider.java b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractLegacyAccessControlProvider.java
index eb7085a..3de7b1c 100644
--- a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractLegacyAccessControlProvider.java
+++ b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractLegacyAccessControlProvider.java
@@ -118,7 +118,7 @@ abstract class AbstractLegacyAccessControlProvider<X extends AbstractLegacyAcces
 
 
     @Override
-    public AccessControl<?> getControl()
+    public AccessControl<?> getController()
     {
         return _accessControl;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/2] qpid-broker-j git commit: QPID-7935: [Java Broker] [ACL] Allow an ACL file format to convey a default result of DEFER

Posted by kw...@apache.org.
QPID-7935: [Java Broker] [ACL] Allow an ACL file format to convey a default result of DEFER

Changed AbstractCommonRuleBasedAccessControlProvider#extractRules to write a default decision CONFIG directive if the decision is not the default.

Required so that a user may use extractRules -> edit -> loadFromFile without the loss of the current default decision.


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/16a186ba
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/16a186ba
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/16a186ba

Branch: refs/heads/master
Commit: 16a186babfa8ec9383b247172e255dc6a2951346
Parents: 1a9875c
Author: Keith Wall <kw...@apache.org>
Authored: Thu Sep 28 13:03:49 2017 +0100
Committer: Keith Wall <kw...@apache.org>
Committed: Fri Sep 29 10:24:34 2017 +0100

----------------------------------------------------------------------
 .../security/access/config/AclFileParser.java   | 13 +++++++----
 ...actCommonRuleBasedAccessControlProvider.java | 10 ++++++++
 .../access/config/AclFileParserTest.java        | 24 ++++++++++++++++----
 3 files changed, 38 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/16a186ba/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclFileParser.java
----------------------------------------------------------------------
diff --git a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclFileParser.java b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclFileParser.java
index c071345..d5b61e5 100644
--- a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclFileParser.java
+++ b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclFileParser.java
@@ -45,8 +45,9 @@ import org.apache.qpid.server.security.access.plugins.RuleOutcome;
 public final class AclFileParser
 {
     private static final Logger _logger = LoggerFactory.getLogger(AclFileParser.class);
-    private static final String DEFAULT_ALLOW = "defaultallow";
-    private static final String DEFAULT_DENY = "defaultdeny";
+    public static final String DEFAULT_ALLOW = "defaultallow";
+    public static final String DEFAULT_DEFER = "defaultdefer";
+    public static final String DEFAULT_DENY = "defaultdeny";
 
     private static final Character COMMENT = '#';
     private static final Character CONTINUATION = '\\';
@@ -138,7 +139,7 @@ public final class AclFileParser
             tokenizer.wordChars(':', ':'); // colon
 
             // parse the acl file lines
-            Stack<String> stack = new Stack<String>();
+            Stack<String> stack = new Stack<>();
             int current;
             do {
                 current = tokenizer.nextToken();
@@ -301,6 +302,10 @@ public final class AclFileParser
         {
             ruleSetCreator.setDefaultResult(Result.ALLOWED);
         }
+        if (Boolean.TRUE.equals(properties.get(DEFAULT_DEFER)))
+        {
+            ruleSetCreator.setDefaultResult(Result.DEFER);
+        }
         if (Boolean.TRUE.equals(properties.get(DEFAULT_DENY)))
         {
             ruleSetCreator.setDefaultResult(Result.DENIED);
@@ -337,7 +342,7 @@ public final class AclFileParser
     /** Converts a {@link List} of "name", "=", "value" tokens into a {@link Map}. */
     private static Map<String, Boolean> toPluginProperties(List<String> args, final int line)
     {
-        Map<String, Boolean> properties = new HashMap<String, Boolean>();
+        Map<String, Boolean> properties = new HashMap<>();
         Iterator<String> i = args.iterator();
         while (i.hasNext())
         {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/16a186ba/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractCommonRuleBasedAccessControlProvider.java
----------------------------------------------------------------------
diff --git a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractCommonRuleBasedAccessControlProvider.java b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractCommonRuleBasedAccessControlProvider.java
index 43379ae..3b92c65 100644
--- a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractCommonRuleBasedAccessControlProvider.java
+++ b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/AbstractCommonRuleBasedAccessControlProvider.java
@@ -159,6 +159,16 @@ abstract class AbstractCommonRuleBasedAccessControlProvider<X extends AbstractCo
     public Content extractRules()
     {
         StringBuilder sb = new StringBuilder();
+        switch (_defaultResult)
+        {
+            case DENIED:
+                // This is the default assumed by ResultSet for ACL files without a CONFIG directive
+                break;
+            case ALLOWED:
+            case DEFER:
+                sb.append(String.format("CONFIG %s=true\n", _defaultResult == Result.ALLOWED ? AclFileParser.DEFAULT_ALLOW : AclFileParser.DEFAULT_DEFER));
+                break;
+        }
         for(AclRule rule : _rules)
         {
             sb.append("ACL ");

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/16a186ba/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/AclFileParserTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/AclFileParserTest.java b/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/AclFileParserTest.java
index e9b8b22..8359840 100644
--- a/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/AclFileParserTest.java
+++ b/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/AclFileParserTest.java
@@ -28,6 +28,7 @@ import java.util.List;
 
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.logging.EventLoggerProvider;
+import org.apache.qpid.server.security.Result;
 import org.apache.qpid.server.security.access.config.ObjectProperties.Property;
 import org.apache.qpid.test.utils.QpidTestCase;
 
@@ -39,18 +40,24 @@ public class AclFileParserTest extends QpidTestCase
         acl.deleteOnExit();
 
         // Write ACL file
-        PrintWriter aclWriter = new PrintWriter(new FileWriter(acl));
-        for (String line : aclData)
+        try (PrintWriter aclWriter = new PrintWriter(new FileWriter(acl)))
         {
-            aclWriter.println(line);
+            for (String line : aclData)
+            {
+                aclWriter.println(line);
+            }
         }
-        aclWriter.close();
 
         // Load ruleset
         return AclFileParser.parse(new FileReader(acl), mock(EventLoggerProvider.class));
-
     }
 
+    public void testEmptyRuleSetDefaults() throws Exception
+    {
+        RuleSet ruleSet = writeACLConfig();
+        assertEquals(0, ruleSet.getRuleCount());
+        assertEquals(Result.DENIED, ruleSet.getDefault());
+    }
     public void testACLFileSyntaxContinuation() throws Exception
     {
         try
@@ -157,6 +164,13 @@ public class AclFileParserTest extends QpidTestCase
         }
     }
 
+    public void testValidConfig() throws Exception
+    {
+        RuleSet ruleSet = writeACLConfig("CONFIG defaultdefer=true");
+        assertEquals("Unexpected number of rules", 0, ruleSet.getRuleCount());
+        assertEquals("Unexpected number of rules", Result.DEFER, ruleSet.getDefault());
+    }
+
     /**
      * Tests interpretation of an acl rule with no object properties.
      *


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org