You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2013/12/16 10:52:36 UTC
svn commit: r1551143 -
/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java
Author: kwright
Date: Mon Dec 16 09:52:36 2013
New Revision: 1551143
URL: http://svn.apache.org/r1551143
Log:
Encode the other characters that zookeeper doesn't handle. Part of CONNECTORS-838
Modified:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java
Modified: manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java?rev=1551143&r1=1551142&r2=1551143&view=diff
==============================================================================
--- manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java (original)
+++ manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/lockmanager/ZooKeeperConnection.java Mon Dec 16 09:52:36 2013
@@ -520,8 +520,14 @@ public class ZooKeeperConnection
char x = input.charAt(i);
if (x == '/')
sb.append('\\').append('0');
+ else if (x == '\u007f')
+ sb.append('\\').append('1');
else if (x == '\\')
sb.append('\\').append('\\');
+ else if (x >= '\u0000' && x < '\u0020')
+ sb.append('\\').append(x + '\u0040');
+ else if (x >= '\u0080' && x < '\u00a0')
+ sb.append('\\').append(x + '\u0060' - '\u0080');
else
sb.append(x);
}
@@ -544,8 +550,14 @@ public class ZooKeeperConnection
x = input.charAt(i);
if (x == '0')
sb.append('/');
+ else if (x == '1')
+ sb.append('\u007f');
else if (x == '\\')
sb.append('\\');
+ else if (x >= '\u0040' && x < '\u0060')
+ sb.append(x - '\u0040');
+ else if (x >= '\u0060' && x < '\u0080')
+ sb.append(x - '\u0060' + '\u0080');
else
throw new RuntimeException("Supposedly safe zookeeper name is not properly encoded!!");
}