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());
+                }
             }
         }
     }


Reply via email to