Following RFC2849 (LDIF), it seems the multiple attributes on a single line isn't supported.
mod-spec = ("add:" / "delete:" / "replace:") FILL AttributeDescription SEP *attrval-spec "-" SEP
AttributeDescription = AttributeType [";" options]
AttributeType = ldap-oid / (ALPHA *(attr-type-chars))
attrval-spec = AttributeDescription value-spec SEP
value-spec = ":" ( FILL 0*1(SAFE-STRING) / ":" FILL (BASE64-STRING) / "<" FILL url)
FILL = *SPACE
SEP = (CR LF / LF)
2013/3/13 infirit infirit@gmail.com
Hi, I am working through a book (Mastering OpenLDAP, Packtpub) which is based on openldap 2.3.
The book talks in chapter 3 how to modify/add/delete attributes for a dn. It instructs to put the bellow in an ldif file and read it with ldapmodify. The writerś point here is that I am supposed to add both a "description" and "title" without separating out the additions with a dash (-).
It never works for me and always comes with a syntax error.
non working ldif file: dn: uid=nicholas,ou=Users,dc=home changetype: modify add: description title # <- 2 attributes description: This is a test title: Cartesian philosopher
Error: ldapmodify: wrong attributeType at line 4, entry "uid=nicholas,ou=Users,dc=home"
The ldif file that does work is below.
Working ldif file: dn: uid=nicholas,ou=Users,dc=home changetype: modify add: description description: This is a test
add: title title: Cartesian philosopher
Now am I doing something wrong, is the book using functionality that is not available in openldap version 2.4 or something else?
Any pointers and help much appreciated.
Thx infirit