Author: tmortagne
Date: 2008-02-21 17:23:21 +0100 (Thu, 21 Feb 2008)
New Revision: 7905

Modified:
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
Log:
XWIKI-2139: Can't log in LDAP with user id containing space
XWIKI-2140: bind_DN and bind_pass are not correctly converted using 
MessageFormat
Also added integration tests for theses issues.

Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
   2008-02-21 16:23:17 UTC (rev 7904)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConfig.java
   2008-02-21 16:23:21 UTC (rev 7905)
@@ -224,7 +224,9 @@
 
                     userMappings.put(ldapattr, xwikiattr);
 
-                    attrListToFill.add(ldapattr);
+                    if (attrListToFill != null) {
+                        attrListToFill.add(ldapattr);
+                    }
                 } else {
                     LOG.error("Error parsing ldap_fields_mapping attribute in 
xwiki.cfg: "
                         + fields[j]);

Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
       2008-02-21 16:23:17 UTC (rev 7904)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/ldap/XWikiLDAPConnection.java
       2008-02-21 16:23:21 UTC (rev 7905)
@@ -21,6 +21,7 @@
 
 package com.xpn.xwiki.plugin.ldap;
 
+import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
@@ -84,14 +85,14 @@
         // open LDAP
         int ldapPort = config.getLDAPPort(context);
         String ldapHost = config.getLDAPParam("ldap_server", "localhost", 
context);
-        String bindDNFormat = config.getLDAPParam("ldap_bind_DN", "", context);
+        String bindDNFormat = config.getLDAPParam("ldap_bind_DN", "{0}", 
context);
         String bindPasswordFormat = config.getLDAPParam("ldap_bind_pass", 
"{1}", context);
 
         Object[] arguments = {ldapUserName, password};
 
         // allow to use the given user and password also as the LDAP bind user 
and password
-        String bindDN = String.format(bindDNFormat, arguments);
-        String bindPassword = String.format(bindPasswordFormat, arguments);
+        String bindDN = MessageFormat.format(bindDNFormat, arguments);
+        String bindPassword = MessageFormat.format(bindPasswordFormat, 
arguments);
 
         boolean bind;
         if ("1".equals(config.getLDAPParam("ldap_ssl", "0", context))) {

Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
       2008-02-21 16:23:17 UTC (rev 7904)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/user/impl/LDAP/XWikiLDAPAuthServiceImpl.java
       2008-02-21 16:23:21 UTC (rev 7905)
@@ -103,11 +103,12 @@
             return null;
         }
 
-        String userName = login.replaceAll(" ", "");
         if ((password == null) || (password.trim().length() == 0)) {
             return null;
         }
 
+        String userName = login;
+        
         // strip possible "XWiki."
         // ATTENTION: Possible incompatibility to before now user is NEVER 
located with
         // "XWiki.username" in LDAP

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to