[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Distinguished name ++ (continued)



I'm really amazed by this behaviour. In my opinion, 'Hel\lo' (note that I'm
using single quotes and not double quotes) is not the same as 'Hello'.
'Hel\lo' is 6 characters long while 'hello' is 5 characters long. I'm
working with 3 different directory servers and openLDAP 2.0-alpha is the
first one to show this behaviour.
And no, I'm not able to store it using one syntax and search it using the
other one.
If I have to use 'foo\+\+\+' to store 'foo+++', what will I have to use to
store 'foo\+\+\+'?

Frederic Poels.

At 16:16 24/08/99 +0200, you wrote:
>Frédéric Poels writes:
>
>ldapadd ... "nod=TEST++++,o=HOME" ...
>-> ldap_add: Invalid DN syntax
>->        additional info: invalid DN
>-> ldapmod_rec() = -266698376
>
>Right.  Just like `,' in a DN separates the DN into (RDN) components,
>`+' separates the RDNs into "attrtype=value" components.  E.g.
>	dn: nod=TEST + uid=fpo, o=HOME
>The empty strings between your `+'s do not have syntax `type=value',
>thus the `invalid DN' error.
>
>> ldapadd ... "nod=TEST\+\+\+\+,o=HOME" ...
>> -> creates "nod=TEST\+\+\+\+,o=HOME" (with backslashes)!
>> 
>> [rfc1779] seems to indicate that "," "+" """ "\" "<" ">" and ";" are
>> valid characters that should be escaped...
>
>Yup.
>
>> nod="FOO+++",o=HOME
>> nod=FOO+++
>> objectclass=myNode
>> 
>> ldapadd of the above builds nod="FOO+++",o=HOME (with double quotes!)
>
>Yup.  "FOO+++" often looks nicer than FOO\+\+\+.
>
>Unfortunately slapd treats them as different DNs; I believe you should
>be able to store it using one syntax and look it up with the other.
>And of course we'll want support for rfc2253 \HH coding where HH are
>hexadecimal digits...
>
>-- 
>Hallvard
>
>