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

Strange naming attributes



Hi *,
 
Using openLDAP 2.1.4, BDB Backend, I noticed that I can create an organizationalUnit named "uid=myorg,o=myroot" although uid is actually not an attribute of the organizationalUnit class.
 
To make it append, I only omitted the naming attribute in the creation request. In LDIF for example :
 
dn:uid=myorg,o=myroot
objectclass: top
objectclass: organizationalUnit
ou: myorg
 
I known that LDAPv3 states that I should have included an "uid:myorg" line at the end of the previous LDIF record, and that in this case, OpenLDAP would have complained about an objetclass violation or something like that. But I found rather strange that OpenLDAP lets such weird entries be created (If I try to modrdn the entry with deleteoldrdn=false, I do get the objectclass violation error !)
 
Now, let's assume I'm in a trouble with an LDAP client application which is not so LDAPv3 compliant as it claims, delivered without source code (it happens).
As this application has been developped, tested and is anyway intented to work with an iPlanet directory, the applciation creates LDAP entries without repeating the naming attribute in the entry attributes. No problem from iPlanet point of view : it automatically extracts the naming attribute from the dname and adds it to the attributes of the entry ; no way to create uid=myorg,o=myroot" on it without disabling schema check, for example !
 
When trying this application in front of an OpenLDAP, slapd complains about object class violation since the application  does not include the 'ou' in the entry attributes when creating an organizationalUnit unit.
 
I wonder whether this OpenLDAP behavior about naming attributes is correct (sounds correct for me, but a little bit strange too), and whether a code modification allowing an iPlanet-like behavior would be a good thing (or maybe already exists : I dream of a SLAPD_IPLANET_NAMING_COMPATIBLE define or whatever)
 
Has anybody here got a solution ?
 
Thanks in advance
 
Bruno Spieler