[Date Prev][Date Next]
Re: Distinguished name ++ (continued)
At 04:32 PM 8/24/99 +0200, Frédéric Poels wrote:
>Adding nod=TEST+++ works with openLDAP 1.3.6 but does not work with
>OpenLDAP 2.0-alpha2. Is it normal?
OpenLDAP 1.x supports both DNS and X.500 style DNs. As pretty
much any string is a valid DNS DN, no checking is done.
Support for DNS style DNs was dropped from devel recently which
allowed X.500 DN checks to be implemented. The checks are
fairly simplistic... I liked to keep them that way... 'L' does
means lightweight after all.
>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...
>>> 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