You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/03/23 13:59:19 UTC

svn commit: r521710 - in /incubator/qpid/branches/M2/java/broker: etc/ src/main/java/org/apache/qpid/server/handler/ src/main/java/org/apache/qpid/server/security/access/ src/main/java/org/apache/qpid/server/security/auth/database/

Author: ritchiem
Date: Fri Mar 23 05:59:18 2007
New Revision: 521710

URL: http://svn.apache.org/viewvc?view=rev&rev=521710
Log:
QPID-419 Access Control QPID-423 Authentication per virtualhost
Improved error handling when hostconfig is not specifed. Was NPE-ing

Modified:
    incubator/qpid/branches/M2/java/broker/etc/log4j.xml
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManager.java
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManagerImpl.java
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java

Modified: incubator/qpid/branches/M2/java/broker/etc/log4j.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/etc/log4j.xml?view=diff&rev=521710&r1=521709&r2=521710
==============================================================================
--- incubator/qpid/branches/M2/java/broker/etc/log4j.xml (original)
+++ incubator/qpid/branches/M2/java/broker/etc/log4j.xml Fri Mar 23 05:59:18 2007
@@ -50,8 +50,6 @@
     </appender>
 
         <appender name="FileAppender" class="org.apache.log4j.FileAppender">
-        <param name="staticLogFileName" value="false"/>
-
         <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
         <param name="Append" value="false"/>
 

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java?view=diff&rev=521710&r1=521709&r2=521710
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java Fri Mar 23 05:59:18 2007
@@ -75,7 +75,7 @@
 
         if (virtualHost == null)
         {
-            throw body.getConnectionException(AMQConstant.NOT_FOUND, "Unknown virtual host: " + virtualHostName);
+            throw body.getConnectionException(AMQConstant.NOT_FOUND, "Unknown virtual host: '" + virtualHostName+"'");
         }
         else
         {

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManager.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManager.java?view=diff&rev=521710&r1=521709&r2=521710
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManager.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManager.java Fri Mar 23 05:59:18 2007
@@ -22,6 +22,7 @@
 
 public interface AccessManager
 {
+    //AccessResult isAuthorized(Accessable accessObject, Principal username, AccessRights rights);
     AccessResult isAuthorized(Accessable accessObject, String username);
 
     String getName();

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManagerImpl.java?view=diff&rev=521710&r1=521709&r2=521710
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManagerImpl.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/access/AccessManagerImpl.java Fri Mar 23 05:59:18 2007
@@ -39,8 +39,13 @@
 
     public AccessManagerImpl(String name, Configuration hostConfig) throws ConfigurationException
     {
-        String accessClass = hostConfig.getString("security.access.class");
+        if (hostConfig == null)
+        {
+            _logger.warn("No Configuration specified. Using default access controls for VirtualHost:'" + name + "'");
+            return;
+        }
 
+        String accessClass = hostConfig.getString("security.access.class");
         if (accessClass == null)
         {
             _logger.warn("No access control specified. Using default access controls for VirtualHost:'" + name + "'");
@@ -111,7 +116,7 @@
             }
             catch (Exception e)
             {
-                throw new ConfigurationException(e.getCause());
+                throw new ConfigurationException(e.getMessage(), e.getCause());
             }
         }
     }
@@ -121,7 +126,15 @@
     {
         if (_accessManager == null)
         {
-            return ApplicationRegistry.getInstance().getAccessManager().isAuthorized(accessObject, username);
+            if (ApplicationRegistry.getInstance().getAccessManager() == this)
+            {
+                _logger.warn("No Default access manager specified DENYING ALL ACCESS");
+                return new AccessResult(this, AccessResult.AccessStatus.REFUSED);
+            }
+            else
+            {
+                return ApplicationRegistry.getInstance().getAccessManager().isAuthorized(accessObject, username);
+            }
         }
         else
         {
@@ -129,7 +142,8 @@
         }
     }
 
-    public String getName()
+    public String getName
+            ()
     {
         return "AccessManagerImpl";
     }

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java?view=diff&rev=521710&r1=521709&r2=521710
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java Fri Mar 23 05:59:18 2007
@@ -136,7 +136,14 @@
             }
             catch (Exception ite)
             {
-                throw new ConfigurationException(ite.getCause());
+                if (ite instanceof ConfigurationException)
+                {
+                    throw(ConfigurationException) ite;
+                }
+                else
+                {
+                    throw new ConfigurationException(ite.getMessage(), ite.getCause());
+                }
             }
         }
     }