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

Re: Distinguished name ++ (continued)



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