On 3 janv. 2012, at 09:01, Pierre-Arnaud Marcelot wrote: > > On 3 janv. 2012, at 08:49, Kiran Ayyagari wrote: > >> On Tue, Jan 3, 2012 at 5:55 AM, Emmanuel Lecharny <[email protected]> >> wrote: >>> Hi, >>> >>> I'm facing an interesting issue : >>> - we are trying to add a new entry >>> - this entry has a RDN which is a SingleValue AT (DisplayName) >>> - there already is a DisplayName Attribute present >>> - the RDN and the present value are different. >>> >>> Here is the entry : >>> dn: displayName=test,ou=system >>> objectClass: top >>> objectClass: person >>> objectClass: inetOrgPerson >>> objectClass: organizationalPerson >>> displayName: Michael >>> sn: Michael Jackson >>> cn: Jackson >>> >>> (displayName is a SingleValue AT) >>> >>> In trunks, the entry is added, and the existing Attribute is removed, and >>> replaced by displayName: test >>> >>> In Selcuk's branch, due to some modifications I've done recently in the way >>> we normalize added entries, we get an exception. >>> >>> Now, it leads a question : should we accept the entry, modifying it on the >>> fly, or should we reject the addition ? >>> >>> IMHO, I do think that accepting the entry as is would lead to a violation of >>> the user's will : ie, the risk is that the user has made a mistake when >>> describing the entry, and should be informed about this mistake, instead of >>> 'reparing' the mistake. >>> >>> wdyt ? >>> >> +1, it should fail, OTOH I assume that this is already the case when >> added using Studio (haven't tried now, but I remember experiencing >> this situation) > > +1
Quick followup. I did the test with the current Apache Directory Studio (trunk): - On Apache DS (trunk) the addition of the entry is successful. The value used in the DN is chosen and replaces the value in the entry. Here's the LDIF used: > dn: displayName=test,ou=system > objectClass: top > objectClass: person > objectClass: inetOrgPerson > objectClass: organizationalPerson > displayName: Michael > sn: Michael Jackson > cn: Jackson And the output in Studio's Modification Logs view: > #!RESULT OK > #!CONNECTION ldap://localhost:10389 > #!DATE 2012-01-03T08:06:09.661 > dn: displayName=test,ou=system > changetype: add > displayName: Michael > objectClass: top > objectClass: person > objectClass: inetOrgPerson > objectClass: organizationalPerson > sn: Michael Jackson > cn: Jackson - On OpenLDAP (2.4.24) the addition of the entry is not successful. Here's the LDIF used: > dn: c=TE,dc=my-domain,dc=com > objectClass: top > objectClass: country > c: FR And the output in Studio's Modification Logs view: > #!RESULT ERROR > #!CONNECTION ldap://10.211.55.4:10389 > #!DATE 2012-01-03T08:40:57.117 > #!ERROR [LDAP: error code 64 - value of single-valued naming attribute 'c' > conflicts with value present in entry] > dn: c=TE,dc=my-domain,dc=com > changetype: add > objectClass: top > objectClass: country > c: FR The result on OpenLDAP makes more sense I guess. > Regards, > Pierre-Arnaud > >>> (FYI, the failing test is in server-integ, AddIT, >>> testAddEntryDifferentRDNSingleValuedInEntry()) >>> >>> -- >>> Regards, >>> Cordialement, >>> Emmanuel Lécharny >>> www.iktek.com >>> >> >> >> >> -- >> Kiran Ayyagari >
