You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2014/11/13 18:01:16 UTC
svn commit: r1639394 -
/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java
Author: elecharny
Date: Thu Nov 13 17:01:16 2014
New Revision: 1639394
URL: http://svn.apache.org/r1639394
Log:
Fixed a race condition in the Bind handling
Modified:
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java?rev=1639394&r1=1639393&r2=1639394&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/BindRequestHandler.java Thu Nov 13 17:01:16 2014
@@ -162,7 +162,13 @@ public class BindRequestHandler extends
LdapResult result = bindRequest.getResultResponse().getLdapResult();
result.setDiagnosticMessage( "Bind principalDn points to referral." );
result.setResultCode( ResultCodeEnum.INVALID_CREDENTIALS );
+
+ // Reset the session now
+ ldapSession.setAnonymous();
+
+ // Write the response
ldapSession.getIoSession().write( bindRequest.getResultResponse() );
+
return;
}
@@ -246,6 +252,11 @@ public class BindRequestHandler extends
result.setDiagnosticMessage( msg );
bindRequest.getResultResponse().addAllControls( bindContext.getResponseControls() );
+
+ // Before writing the response, be sure the session is set to anonymous
+ ldapSession.setAnonymous();
+
+ // Write the response
ldapSession.getIoSession().write( bindRequest.getResultResponse() );
}
finally