Full_Name: Michael Str�der Version: REL_ENG_2 OS: SuSE Linux 7.1 URL: Submission from: (NULL) (217.1.24.112) I noticed that it's possible in OpenLDAP REL_ENG_2 to store the same attribute value multiple times. AFAIK this violates the X.500 data model. LDAP servers of other vendors return a LDAP_TYPE_OR_VALUE_EXISTS if a client tries to e.g. add or modify an entry like this: objectClass: person cn: Michael Stroeder cn: Michael Stroeder sn: Stroeder My application uses python-ldap which is a simple C wrapper module around the OpenLDAP 2 libs for Python. You probably should be able to reproduce the issue with a few lines of C code.
"Kurt D. Zeilenga" wrote: > > When I'm ready to investigate, I'll likely just try to > duplicate the problem with ldapadd(1). > However, I'd still > like to see the BER for the request as you aren't using > ldapadd(1) and hence may actually be doing something > unexpected. Used "ldapmodify -a" with this: -------------- snip --------------- dn: ou=Test,ou=Testing,dc=stroeder,dc=com objectClass: organizationalUnit ou: Test ou: Test -------------- snip --------------- BER dump: ber_dump: buf=0x0813c858 ptr=0x0813c858 end=0x0813c8bf len=103 0000: 02 01 02 68 62 04 25 6f 75 3d 54 65 73 74 2c 6f ...hb.%ou=Test,o 0010: 75 3d 54 65 73 74 69 6e 67 2c 64 63 3d 73 74 72 u=Testing,dc=str 0020: 6f 65 64 65 72 2c 64 63 3d 63 6f 6d 30 39 30 23 oeder,dc=com090# 0030: 04 0b 6f 62 6a 65 63 74 43 6c 61 73 73 31 14 04 ..objectClass1.. 0040: 12 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 61 6c 55 .organizationalU 0050: 6e 69 74 30 12 04 02 6f 75 31 0c 04 04 54 65 73 nit0...ou1...Tes 0060: 74 04 04 54 65 73 74 t..Test ber_dump: buf=0x0813c858 ptr=0x0813c85b end=0x0813c8bf len=100 0000: 68 62 04 25 6f 75 3d 54 65 73 74 2c 6f 75 3d 54 hb.%ou=Test,ou=T 0010: 65 73 74 69 6e 67 2c 64 63 3d 73 74 72 6f 65 64 esting,dc=stroed 0020: 65 72 2c 64 63 3d 63 6f 6d 30 39 30 23 04 0b 6f er,dc=com090#..o 0030: 62 6a 65 63 74 43 6c 61 73 73 31 14 04 12 6f 72 bjectClass1...or 0040: 67 61 6e 69 7a 61 74 69 6f 6e 61 6c 55 6e 69 74 ganizationalUnit 0050: 30 12 04 02 6f 75 31 0c 04 04 54 65 73 74 04 04 0...ou1...Test.. 0060: 54 65 73 74 Test ber_dump: buf=0x0813c858 ptr=0x0813c886 end=0x0813c8bf len=57 0000: 30 23 04 0b 6f 62 6a 65 63 74 43 6c 61 73 73 31 0#..objectClass1 0010: 14 04 12 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 61 ...organizationa 0020: 6c 55 6e 69 74 30 12 04 02 6f 75 31 0c 04 04 54 lUnit0...ou1...T 0030: 65 73 74 04 04 54 65 73 74 est..Test ber_dump: buf=0x0813c858 ptr=0x0813c8ab end=0x0813c8bf len=20 0000: 30 12 04 02 6f 75 31 0c 04 04 54 65 73 74 04 04 0...ou1...Test.. 0010: 54 65 73 74 Test ber_dump: buf=0x0813c858 ptr=0x0813c8bf end=0x0813c8bf len=0 ber_flush: 14 bytes to sd 15 ber_dump: buf=0x0813df58 ptr=0x0813df58 end=0x0813df5d len=5 0000: 02 01 03 42 00 ...B. Used "ldapmodify" with this: -------------- snip --------------- dn: ou=Test,ou=Testing,dc=stroeder,dc=com changetype: modify add: description description: The very same description: The very same -------------- snip --------------- BER dump: ber_dump: buf=0x08130108 ptr=0x08130108 end=0x0813016a len=98 0000: 02 01 02 66 5d 04 25 6f 75 3d 54 65 73 74 2c 6f ...f].%ou=Test,o 0010: 75 3d 54 65 73 74 69 6e 67 2c 64 63 3d 73 74 72 u=Testing,dc=str 0020: 6f 65 64 65 72 2c 64 63 3d 63 6f 6d 30 34 30 32 oeder,dc=com0402 0030: 0a 01 00 30 2d 04 0b 64 65 73 63 72 69 70 74 69 ...0-..descripti 0040: 6f 6e 31 1e 04 0d 54 68 65 20 76 65 72 79 20 73 on1...The very s 0050: 61 6d 65 04 0d 54 68 65 20 76 65 72 79 20 73 61 ame..The very sa 0060: 6d 65 me ber_dump: buf=0x08130108 ptr=0x0813010b end=0x0813016a len=95 0000: 66 5d 04 25 6f 75 3d 54 65 73 74 2c 6f 75 3d 54 f].%ou=Test,ou=T 0010: 65 73 74 69 6e 67 2c 64 63 3d 73 74 72 6f 65 64 esting,dc=stroed 0020: 65 72 2c 64 63 3d 63 6f 6d 30 34 30 32 0a 01 00 er,dc=com0402... 0030: 30 2d 04 0b 64 65 73 63 72 69 70 74 69 6f 6e 31 0-..description1 0040: 1e 04 0d 54 68 65 20 76 65 72 79 20 73 61 6d 65 ...The very same 0050: 04 0d 54 68 65 20 76 65 72 79 20 73 61 6d 65 ..The very same ber_dump: buf=0x08130108 ptr=0x08130136 end=0x0813016a len=52 0000: 30 32 0a 01 00 30 2d 04 0b 64 65 73 63 72 69 70 02...0-..descrip 0010: 74 69 6f 6e 31 1e 04 0d 54 68 65 20 76 65 72 79 tion1...The very 0020: 20 73 61 6d 65 04 0d 54 68 65 20 76 65 72 79 20 same..The very 0030: 73 61 6d 65 same ber_flush: 14 bytes to sd 15 ber_dump: buf=0x081301e8 ptr=0x081301e8 end=0x081301ed len=5 0000: 02 01 03 42 00 ...B. Result exported: -------------- snip --------------- dn: ou=Test,ou=Testing,dc=stroeder,dc=com description: The very same description: The very same objectClass: organizationalUnit ou: Test ou: Test -------------- snip --------------- Ciao, Michael.
moved from Incoming to Software Bugs
This should now be resolved in HEAD... Kurt
changed notes changed state Open to Test
changed notes changed state Test to Closed
fixed in HEAD will not be backported