unescaping binary string corrupts values
----------------------------------------
Key: DIRSERVER-1276
URL: https://issues.apache.org/jira/browse/DIRSERVER-1276
Project: Directory ApacheDS
Issue Type: Bug
Components: core
Affects Versions: 1.5.3
Environment: Windows running under JBOSS
Reporter: Steve hammond
When I pass in an escaped string into search, inside
ConcreteNameComponentNormalizer, it corrupts the binary values.
passed in
(&(2.5.4.0=person)(objectguid=\29\4C\04\B5\D4\ED\38\46\87\EE\77\58\5C\32\AD\91))
after normalization interceptor visitor it is:
(&(2.5.4.0=person)(1.2.840.113556.1.4.2='0x29 0x4C 0x04 0xEF 0xBE 0xB5 0xEF
0xBF 0x94 0xEF 0xBF 0xAD 0x38 0x46 0xEF 0xBE ...'))
looks like in ConcreteNameComponentNormalizer line129 byte[]
valBytes = unescaped.getBytes( "UTF-8" );
causes the corruption. The Variable unescaped seems correct and is 16 bytes,
valBytes gets created with 30 bytes with the extra data inserted.
The code I am using is:
SearchOperationContext opContext = new SearchOperationContext(
apacheds.getDirectoryService().getRegistries(),
baseDN,
AliasDerefMode.NEVER_DEREF_ALIASES,
FilterParser.parse("(&(objectClass=person)(objectguid=\29\4C\04\B5\D4\ED\38\46\87\EE\77\58\5C\32\AD\91))"),
new SearchControls (
SearchControls.SUBTREE_SCOPE,
0, // countlim
0, // timelim
retAttrs,
false, true));
NamingEnumeration<ServerSearchResult> res = nexus.search(opContext);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.