From ad89155aefdc8cc757657a5c57da6624d8e8b25d Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 13 Jun 2013 09:58:56 +0200 Subject: Escape DNs in Path, so special characters can be used in Path components. Fixes #125 --- src/main/java/com/c2kernel/lookup/Path.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/c2kernel/lookup/Path.java') diff --git a/src/main/java/com/c2kernel/lookup/Path.java b/src/main/java/com/c2kernel/lookup/Path.java index 16d4f07..4bec43a 100644 --- a/src/main/java/com/c2kernel/lookup/Path.java +++ b/src/main/java/com/c2kernel/lookup/Path.java @@ -176,7 +176,7 @@ public abstract class Path implements Serializable while (tok.hasMoreTokens()) { String nextPath = tok.nextToken(); if (nextPath.indexOf("cn=") == 0) - newPath.add(0, nextPath.substring(3)); + newPath.add(0, LDAPLookupUtils.unescapeDN(nextPath.substring(3))); else break; } @@ -188,6 +188,7 @@ public abstract class Path implements Serializable /*************************************************************************/ + /* * Getter Methods */ @@ -215,7 +216,7 @@ public abstract class Path implements Serializable if (mDN == null) { StringBuffer dnBuffer = new StringBuffer(); for (int i=mPath.length-1; i>=0; i--) - dnBuffer.append("cn=").append(mPath[i]).append(","); + dnBuffer.append("cn=").append(LDAPLookupUtils.escapeDN(mPath[i])).append(","); dnBuffer.append("cn="+getRoot()+","); mDN = dnBuffer.toString(); } -- cgit v1.2.3