[Jboss-cvs] JBossAS SVN: r56026 - branches/Branch_4_0/security/src/main/org/jboss/security/auth/spi

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 17 10:14:11 EDT 2006


Author: anil.saldhana at jboss.com
Date: 2006-08-17 10:14:10 -0400 (Thu, 17 Aug 2006)
New Revision: 56026

Modified:
   branches/Branch_4_0/security/src/main/org/jboss/security/auth/spi/LdapExtLoginModule.java
Log:
JBAS-3438: Handle / in the middle of SearchResult properly

Modified: branches/Branch_4_0/security/src/main/org/jboss/security/auth/spi/LdapExtLoginModule.java
===================================================================
--- branches/Branch_4_0/security/src/main/org/jboss/security/auth/spi/LdapExtLoginModule.java	2006-08-17 13:49:01 UTC (rev 56025)
+++ branches/Branch_4_0/security/src/main/org/jboss/security/auth/spi/LdapExtLoginModule.java	2006-08-17 14:14:10 UTC (rev 56026)
@@ -412,7 +412,7 @@
       while (results.hasMore())
       {
          SearchResult sr = (SearchResult) results.next();
-         String dn = sr.getName() + "," + rolesCtxDN;
+         String dn = canonicalize(sr.getName());
          String[] attrNames = {roleAttributeID};
          Attributes result = ctx.getAttributes(dn, attrNames);
          if( result != null && result.size() > 0 )
@@ -505,4 +505,22 @@
          log.trace("Logging into LDAP server, env=" + tmp.toString()); 
       }
    } 
+   
+   //JBAS-3438 : Handle "/" correctly
+   private String canonicalize(String searchResult)
+   {
+      String result = searchResult;
+      int len = searchResult.length();
+      
+      if (searchResult.endsWith("\""))
+      {
+         result = searchResult.substring(0,len - 1) 
+                            + "," + rolesCtxDN + "\"";
+      }
+      else
+      {
+         result = searchResult + "," + rolesCtxDN;
+       }
+      return result;
+   }
 }




More information about the jboss-cvs-commits mailing list