Hammond, Steve wrote:
> I am on the trunk of 1.5 (almost 1.5.3?) and I have created my own
> partition that uses SQL Server as the back end.
>
>
>
> When I create a dn of groupid=#g1,ou=local,ou=users,ou=rm it throws out
> of LdapDN.normalize.
Plain normal. Using # without escaping is accepted only for hex values.
'g' is valid in base 17, not 16 :)
> I have the # escaped (groupid=\#g1) but when it
> calls rdn.getUpValue in LdapDN.oidNormalize, it returns "#g1" the
> backslash is gone, so 3 lines later when it does
> DefalutStringNormalizer.normalizeString it sees the # at the front and
> assumes the g1 is hex, and decodes it to a strange character that can't
> be normalized and throws at
> org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer.normal
> ize(DeepTrimToLowerNormalizer.java:65)
>
There may be a bug in the way the getUpValue returns the value (ie,
without escaping the #), which has to be doubled checked. A piece of
code exhibiting the bad behaviour would save me time :)
> I did not enter this as a bug, as it is very possible that I am not
> creating an rdn value starting with a # correctly. Do I need to escape
> it out as hex or something weird like that?
>
groupid=\#g1 is supposed to be valid. Now, as this seems to be a filter,
there is another option : the filter's parser is different from the RDN
parser, so the bug may lay in a different place.
I think it's a good idea to fill a JIRA !
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org
|