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

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