-
Bug
-
Resolution: Done
-
Major
-
JBossAS-4.0.3 SP1
-
None
File: /jbosssx/src/main/org/jboss/security/auth/spi/LdapExtLoginModule.java (revision 1.7)
Method: protected void rolesSearch(InitialLdapContext ctx, SearchControls constraints, String user, String userDN, int recursionMax, int nesting)
Line: 407 "String dn = sr.getName() + "," + rolesCtxDN;"
Summary:
Under some conditions the string returned by sr.getName() may include inverted commas ("). When the dn variable is created by concatenating sr.getName() with rolesCtxDN the inverted comma is placed in the middle of the dn string. When ctx.getAttributes(dn, attrNames) is called (on line 409) an InvalidNameException is thrown. The exception is generated by the javax.naming.NameImpl, reporting "close quote appears before end of component".
Conditions:
This problem seems to occur when a '/' character is present in the name of the search result. In other words, under MS active directory if the name is of the form 'abc/def' it will be returned surrounded by inverted commas ie '"abc/def"'.