-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55764/
-----------------------------------------------------------
Review request for Ambari, Eugene Chekanskiy, Jonathan Hurley, Laszlo Puskas,
Oliver Szabo, and Sebastian Toader.
Bugs: AMBARI-19632
https://issues.apache.org/jira/browse/AMBARI-19632
Repository: ambari
Description
-------
Ldap sync fails when there are special characters in distinguished names.
For example if there was a user with the distinguished name of
{{OU=test/test,OU=users,DC=EXAMPLE,DC=COM}} and that user was a member of a
synced group, then the lookup of the user using the membership attribute in the
group would fail due to the special character.
The error would look something like
```
REASON: Caught exception running LDAP sync. Uncategorized exception occured
during LDAP processing; nested exception is javax.naming.NamingException:
[LDAP: error code 1 - 000020D6: SvcErr: DSID-031007DB, problem 5012
(DIR_ERROR), data 0
]; remaining name 'OU=test/test,OU=users,DC=EXAMPLE,DC=COM'
```
#Solution
Update the library versionf for Spring LDAP
- {{org.springframework.security/spring-security-ldap}} to {{4.0.4.RELEASE}}
- {{org.springframework.ldap/spring-ldap-core}} to {{2.0.4.RELEASE}}
Then use {{LdapUtils.newLdapName}} to convert a String representing a DN into a
{{javax.naming.ldap.LdapName}} and use that object in the search facility
executed in
{{org.apache.ambari.server.security.ldap.AmbariLdapDataPopulator#getFilteredLdapUsers(java.lang.String,
org.springframework.ldap.filter.Filter)}}.
Diffs
-----
ambari-project/pom.xml 16ea2af
ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapBindAuthenticator.java
b4ef889
ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapUtils.java
a64ab3d
ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java
2dccf11
ambari-server/src/test/java/org/apache/ambari/server/security/AmbariLdapUtilsTest.java
5629913
ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapBindAuthenticatorTest.java
fcaae37
ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
6143cf8
Diff: https://reviews.apache.org/r/55764/diff/
Testing
-------
manually test syncing LDAP and authentication.
Thanks,
Robert Levas