directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve hammond (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DIRSERVER-1276) unescaping binary string corrupts values
Date Wed, 08 Oct 2008 15:17:44 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-1276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637955#action_12637955
] 

Steve hammond commented on DIRSERVER-1276:
------------------------------------------

Copy paste error, the filter is created with:

FilterParser.parse("(&(objectClass=person)(objectguid=\\29\\4C\\04\\B5\\D4\\ED\\38\\46\\87\\EE\\77\58\\5C\\32\\AD\\91))"),


> 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.


Mime
View raw message