You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/08/18 02:15:07 UTC

svn commit: r432441 - in /directory/trunks/apacheds: protocol-ldap/src/main/java/org/apache/directory/server/ldap/ server-unit/src/test/java/org/apache/directory/server/

Author: akarasulu
Date: Thu Aug 17 17:15:06 2006
New Revision: 432441

URL: http://svn.apache.org/viewvc?rev=432441&view=rev
Log:
Fix for DIRSERVER-609: Compare operations are performed without Authentication

Modified:
    directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/SessionRegistry.java
    directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddITest.java
    directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java

Modified: directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/SessionRegistry.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/SessionRegistry.java?rev=432441&r1=432440&r2=432441&view=diff
==============================================================================
--- directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/SessionRegistry.java (original)
+++ directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/SessionRegistry.java Thu Aug 17 17:15:06 2006
@@ -88,7 +88,7 @@
      *
      * @param env the properties associated with this SessionRegistry
      */
-    SessionRegistry(Hashtable env)
+    SessionRegistry( Hashtable env )
     {
         if ( s_singleton == null )
         {
@@ -266,7 +266,9 @@
         if ( ctx == null && allowAnonymous )
         {
             // if configuration says disable anonymous binds we throw exection
-            if ( env.containsKey( "server.disable.anonymous" ) )
+            StartupConfiguration config = ( StartupConfiguration ) Configuration.toConfiguration( env );
+            
+            if ( ! config.isAllowAnonymousAccess() )
             {
                 throw new LdapNoPermissionException( "Anonymous binds have been disabled!" );
             }

Modified: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddITest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddITest.java?rev=432441&r1=432440&r2=432441&view=diff
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddITest.java (original)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/AddITest.java Thu Aug 17 17:15:06 2006
@@ -211,7 +211,6 @@
      */
     public void testAddEntryWithTwoDescriptions() throws LDAPException
     {
-
         LDAPConnection con = new LDAPConnection();
         con.connect( 3, HOST, super.port, USER, PASSWORD );
         LDAPAttributeSet attrs = new LDAPAttributeSet();

Modified: directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java?rev=432441&r1=432440&r2=432441&view=diff
==============================================================================
--- directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java (original)
+++ directory/trunks/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java Thu Aug 17 17:15:06 2006
@@ -17,6 +17,10 @@
 package org.apache.directory.server;
 
 
+import netscape.ldap.LDAPAttribute;
+import netscape.ldap.LDAPConnection;
+import netscape.ldap.LDAPException;
+
 import org.apache.directory.server.core.configuration.MutablePartitionConfiguration;
 import org.apache.directory.server.unit.AbstractServerTest;
 import org.apache.directory.shared.asn1.util.Asn1StringUtils;
@@ -60,7 +64,8 @@
      */
     public void setUp() throws Exception
     {
-        if ( this.getName().equals( "testDisableAnonymousBinds" ) )
+        if ( this.getName().equals( "testDisableAnonymousBinds" ) ||
+             this.getName().equals( "testCompareWithoutAuthentication" ) )
         {
             configuration.setAllowAnonymousAccess( false );
         }
@@ -111,6 +116,23 @@
     }
 
 
+    public void testCompareWithoutAuthentication() throws LDAPException
+    {
+        LDAPConnection conn = new LDAPConnection();
+        conn.connect( "localhost", super.port );
+        LDAPAttribute attr = new LDAPAttribute( "uid", "admin" );
+        try
+        {
+            conn.compare( "uid=admin,ou=system", attr );
+            fail( "Compare success without authentication" );
+        }
+        catch( LDAPException e )
+        {
+            assertEquals( "no permission exception", 50, e.getLDAPResultCode() );
+        }
+    }
+    
+    
     /**
      * Test to make sure anonymous binds are disabled when going through
      * the wire protocol.