directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Zoerner <>
Subject Re: [jira] Resolved: (DIREVE-216) Adding new object classes to an entry removes the old ones
Date Wed, 10 Aug 2005 19:02:02 GMT
Hi Alex!

Thank you for the fast fix. I rebuilded the server and the LDIF defect 
as described in DIREVE-216 disappeared. Great.
Thank you as well for integrating my little test case. I will use your 
modified (and more accurate, ctx.close() ...) class as a blueprint for 
simular situations in the future.

Currently I test all examples of my book against Apache Directory 
Server. I have to finish the book until mid September, therefore I must 
concentrate on the book (and my main job, unfortuantly). It would be 
more interesting for me to learn more about your server. Maybe it is 
possible to share your slides of the ApacheCon with us after the conference?

Anyway, if I find any incorrectness during my tests this week I will let 
you know. I do not hope so.

Test cases integrated in the project and its build are nice. But I think 
it would also interesting to have a test suite which runs the complete 
JNDI functionality against an arbitrary LDAP server (e.g. Apache 
Directory Server) and has no dependency on ApacheDS. Maybe it is 
possible to integrate this suite in the build later on like a black box 
test ...

Greetings from Hamburg, Stefan

Alex Karasulu (JIRA) wrote:

>     [ ]
>Alex Karasulu resolved DIREVE-216:
>    Resolution: Fixed
>Ok I think I've nipped this one in the bud once and for all.  I committed some changes
to the apache ber provider which incorrectly used the LockableAttributesImpl.put methods to
add objectClass attrbitute values on add operations.  I have committed your test case stefan
in revision 231287 here:
>Let me know how this latest fix works out.  If the issue morphs into something else we
can open a separate JIRA issue.  This issue is way too loaded :).  Thanks guys for all your
help both you Stefan and Ugo for finding and contributing the test cases.
>>Adding new object classes to an entry removes the old ones
>>         Key: DIREVE-216
>>         URL:
>>     Project: Directory Server
>>        Type: Bug
>>    Versions: 0.9.1
>> Environment: Server: ApacheDS 0.9.1 on Windows XP 
>>java version "1.5.0_03"
>>Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
>>Client: Windows XP
>>Command line tool ldapadd (from IBM Tivoli Directory Server)
>>or Softerra LDAP Administrator 3.2
>>    Reporter: Stefan Zoerner
>>    Assignee: Alex Karasulu
>>     Fix For: 0.9.2
>> Attachments:,, ldap.jar,
>>If additional objectclasses are added to an existing entry by a client, the old ones
are lost.
>> e.g. applying the following LDIF to ApacheDS
>># create an entry for a person
>>dn: cn=Tori Amos,ou=system
>>changetype: add
>>objectclass: top
>>objectclass: person
>>cn: Tori Amos
>>sn: Amos
>>description: an American singer-songwriter
>># add objectclasses and uid
>>dn: cn=Tori Amos,ou=system
>>changetype: modify
>>add: objectclass
>>objectclass: organizationalPerson
>>objectclass: inetOrgPerson
>>add: uid
>>uid: tamos
>>leaves an entry behind with only two (instead of all for objectclasses):
>>$ ldapadd -p 10389 -D uid=admin,ou=system -w *** -f addAndModifyObjectClasses.ldif
>>adding new entry cn=Tori Amos,ou=system
>>modifying entry cn=Tori Amos,ou=system
>>$ ldapsearch -p 10389 -b "ou=system" "(cn=Tori Amos)"
>>cn=Tori Amos,ou=system
>>cn=Tori Amos
>>description=an American singer-songwriter
>>Expected result would be:
>>cn=Tori Amos,ou=system
>>cn=Tori Amos
>>description=an American singer-songwriter

View raw message