[
https://issues.apache.org/jira/browse/DIRSERVER-1276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny resolved DIRSERVER-1276.
------------------------------------------
Resolution: Fixed
Fixed.
A test has been added in testSearchByBinaryAttribute() :
http://svn.apache.org/viewvc?rev=798604&view=rev
> 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
> Assignee: Emmanuel Lecharny
> Fix For: 1.5.5
>
>
> 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.