Advertisement
Guest User

Untitled

a guest
Dec 12th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. .../karaf/jaas/modules/ldap/LDAPLoginModule.java | 29 ++++++++++++++++++++++
  2. 1 file changed, 29 insertions(+)
  3.  
  4. diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/ldap/LDAPLoginModule.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/ldap/LDAPLoginModule.java
  5. index 6d759e1..49bd1c8 100644
  6. --- a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/ldap/LDAPLoginModule.java
  7. +++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/ldap/LDAPLoginModule.java
  8. @@ -72,6 +72,7 @@ public class LDAPLoginModule extends AbstractKarafLoginModule {
  9. }
  10.  
  11. user = ((NameCallback) callbacks[0]).getName();
  12. + user = doRFC2254Encoding(user);
  13.  
  14. char[] tmpPassword = ((PasswordCallback) callbacks[1]).getPassword();
  15.  
  16. @@ -159,6 +160,34 @@ public class LDAPLoginModule extends AbstractKarafLoginModule {
  17. return true;
  18. }
  19.  
  20. + protected String doRFC2254Encoding(String inputString) {
  21. + StringBuffer buf = new StringBuffer(inputString.length());
  22. + for (int i = 0; i < inputString.length(); i++) {
  23. + char c = inputString.charAt(i);
  24. + switch (c) {
  25. + case '\\':
  26. + buf.append("\\5c");
  27. + break;
  28. + case '*':
  29. + buf.append("\\2a");
  30. + break;
  31. + case '(':
  32. + buf.append("\\28");
  33. + break;
  34. + case ')':
  35. + buf.append("\\29");
  36. + break;
  37. + case '\0':
  38. + buf.append("\\00");
  39. + break;
  40. + default:
  41. + buf.append(c);
  42. + break;
  43. + }
  44. + }
  45. + return buf.toString();
  46. + }
  47. +
  48. public boolean abort() throws LoginException {
  49. return true;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement