Full_Name: Dave Gress Version: 1.2.9 OS: sun URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (161.44.224.244) ldapdelete always returns "removed" if a entry is referred to a consumer database. Entry however is not removed. ex: ldapdelete -v -D "cn=Directory Manager" -p389 -hsystem1 -wmypass "billingnumber=1234567890,uniqueidentifier=Test#0000001234567890,o=Test,c=US" ldap_send_initial_request open_ldap_connection ldap_connect_to_host: sgi-supptm1:389 sd 5 connected to: 1.2.3.4 ldap_delayed_open successful, ld_host is (null) ldap_send_server_request ber_flush: 45 bytes to sd 5 0 + 02 01 01 ` & 02 01 02 04 14 c n = D i r e c t o r y 20 M a n a g e r 80 0b m y p a s s ldap_result wait4msg (infinite timeout) ** Connections: * host: system1 port: 389 (default) refcnt: 2 status: Connected last used: Thu Jun 1 09:15:42 2000 ** Outstanding Requests: * msgid 1, origid 1, status InProgress outstanding referrals 0, parent count 0 ** Response Queue: Empty do_ldap_select read1msg ber_get_next ber_get_next: tag 0x30 len 12 contents: ber_dump: buf 0x2c960, ptr 0x2c960, end 0x2c96c current len 12, contents: 02 01 01 a 07 0a 01 00 04 00 04 00 got result msgid 1, original id 1 new result: res_errno: 0, res_error: <>, res_matched: <> read1msg: 0 new referrals request 1 done res_errno: 0, res_error: <>, res_matched: <> ldap_free_request (origid 1, msgid 1) ldap_result2error ldap_msgfree ldap_delete ldap_send_initial_request ldap_send_server_request ber_flush: 86 bytes to sd 5 0 T 02 01 02 J O b i l l i n g n u m b e r = 1 2 3 4 5 6 7 8 9 0 , u n i q u e i d e n t i f i e r = T e s t # 0 1 2 3 4 5 6 7 8 9 0 , o = T e s t , c = U S ldap_result wait4msg (infinite timeout) ** Connections: * host: system1 port: 389 (default) refcnt: 2 status: Connected last used: Thu Jun 1 09:15:42 2000 ** Outstanding Requests: * msgid 2, origid 2, status InProgress outstanding referrals 0, parent count 0 ** Response Queue: Empty do_ldap_select read1msg ber_get_next ber_get_next: tag 0x30 len 53 contents: ber_dump: buf 0x32b68, ptr 0x32b68, end 0x32b9d current len 53, contents: 02 01 02 k 0 0a 01 09 04 00 04 ) R e f e r r a l : 0a l d a p : / / s g i - s y s t s t . d a v e g . c o m : 3 8 9 got result msgid 2, original id 2 re_encode_request: new msgid 3, new dn <NONE> new result: res_errno: 9, res_error: <>, res_matched: <> read1msg: -1 new referrals ldap_unbind ldap_free_request (origid 2, msgid 2) ldap_free_connection ldap_send_unbind ber_flush: 7 bytes to sd 5 0 05 02 01 04 B 00 ldap_free_connection: actually freed deleting entry "billingnumber=1234567890,uniqueidentifier=Test#0000001234567890 6,o=Test,c=US" removed + Additional info: ber_get_stringa returns LBER_DEFAULT at 240 (gdb) bt #0 ber_get_stringa (ber=0xefffdf08, buf=0xefffdefc) at decode.c:239 #1 0x13ddc in re_encode_request (ld=0x2ce88, origber=0x2d1c0, msgid=3, dnp=0xefffdfb0) at request.c:844 #2 0x13a44 in ldap_chase_referrals (ld=0x2ce88, lr=0x2e550, errstrp=0x2e56c, hadrefp=0xefffe028) at request.c:715 #3 0x15094 in read1msg (ld=0x2ce88, msgid=2, all=1, sb=0x2e550, lc=0x2d608, result=0xefffe1f4) at result.c:338 #4 0x14db4 in wait4msg (ld=0x2ce88, msgid=2, all=1, timeout=0x2d608, result=0xefffe1f4) at result.c:232 #5 0x14af4 in ldap_result (ld=0x2ce88, msgid=2, all=1, timeout=0x0, result=0xefffe1f4) at result.c:117 #6 0x120e8 in ldap_delete_s (ld=0x2ce88, dn=0xeffff52d "billingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US ") at delete.c:71 #7 0x116c4 in dodelete (ld=0x2ce88, dn=0xeffff52d "billingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US ") at ldapdelete.c:170 #8 0x115b4 in main (argc=10, argv=0xeffff34c) at ldapdelete.c:136 234 if ( (*buf = (char *) malloc( (size_t)datalen + 1 )) == NULL ) 235 return( LBER_DEFAULT ); 236 237 if ( (unsigned long) ber_read( ber, *buf, datalen ) != datalen ) { 238 free( *buf ); 239 *buf = NULL; 240 return( LBER_DEFAULT ); 241 } (gdb) p *buf $1 = 0x2e648 "llingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US\" services\". The \"-\" may be replaced" (gdb) p *ber $2 = { ber_buf = 0x2d1f8 "0T\002\001\002JObillingnumber=8035550096,uniqueidentifier=Amteva#00000000055500 96,o=Amteva,c=USc=US", ber_ptr = 0x2d24e "c=US", ber_end = 0x2d24e "c=US", ber_sos = 0x0, ber_tag = 4294967295, ber_len = 0, ber_usertag = 0, ber_options = 1 '\001', ber_rwptr = 0x2d24e "c=US", ber_encode_translate_proc = 0, ber_decode_translate_proc = 0} (gdb) (gdb) p datalen $3 = 105 ~ (gdb) p datalen $3 = 105 ~
I believe this was fixed in OpenLDAP 1.2.10. See ITS#471 for details. Please test. Kurt At 01:37 PM 6/1/00 GMT, dgress@cisco.com wrote: >Full_Name: Dave Gress >Version: 1.2.9 >OS: sun >URL: ftp://ftp.openldap.org/incoming/ >Submission from: (NULL) (161.44.224.244) > > >ldapdelete always returns "removed" if a entry is referred to a consumer >database. >Entry however is not removed. > >ex: >ldapdelete -v -D "cn=Directory Manager" -p389 -hsystem1 -wmypass >"billingnumber=1234567890,uniqueidentifier=Test#0000001234567890,o=Test,c=US" > > >ldap_send_initial_request >open_ldap_connection >ldap_connect_to_host: sgi-supptm1:389 >sd 5 connected to: 1.2.3.4 >ldap_delayed_open successful, ld_host is (null) >ldap_send_server_request >ber_flush: 45 bytes to sd 5 > 0 + 02 01 01 ` & 02 01 02 04 14 c n = D > i r e c t o r y 20 M a n a g e r > 80 0b m y p a s s >ldap_result >wait4msg (infinite timeout) >** Connections: >* host: system1 port: 389 (default) > refcnt: 2 status: Connected > last used: Thu Jun 1 09:15:42 2000 > >** Outstanding Requests: > * msgid 1, origid 1, status InProgress > outstanding referrals 0, parent count 0 >** Response Queue: > Empty >do_ldap_select >read1msg >ber_get_next >ber_get_next: tag 0x30 len 12 contents: >ber_dump: buf 0x2c960, ptr 0x2c960, end 0x2c96c > current len 12, contents: > 02 01 01 a 07 0a 01 00 04 00 04 00 >got result msgid 1, original id 1 >new result: res_errno: 0, res_error: <>, res_matched: <> >read1msg: 0 new referrals >request 1 done >res_errno: 0, res_error: <>, res_matched: <> >ldap_free_request (origid 1, msgid 1) >ldap_result2error >ldap_msgfree >ldap_delete >ldap_send_initial_request >ldap_send_server_request >ber_flush: 86 bytes to sd 5 > 0 T 02 01 02 J O b i l l i n g n u > m b e r = 1 2 3 4 5 6 7 8 9 0 , > u n i q u e i d e n t i f i e r > = T e s t # 0 1 2 3 4 5 6 7 8 9 > 0 , o = T e s t , c = U S >ldap_result >wait4msg (infinite timeout) >** Connections: >* host: system1 port: 389 (default) > refcnt: 2 status: Connected > last used: Thu Jun 1 09:15:42 2000 > >** Outstanding Requests: > * msgid 2, origid 2, status InProgress > outstanding referrals 0, parent count 0 >** Response Queue: > Empty >do_ldap_select >read1msg >ber_get_next >ber_get_next: tag 0x30 len 53 contents: >ber_dump: buf 0x32b68, ptr 0x32b68, end 0x32b9d > current len 53, contents: > 02 01 02 k 0 0a 01 09 04 00 04 ) R e f e > r r a l : 0a l d a p : / / s g i > - s y s t s t . d a v e g . c o > m : 3 8 9 >got result msgid 2, original id 2 >re_encode_request: new msgid 3, new dn <NONE> >new result: res_errno: 9, res_error: <>, res_matched: <> >read1msg: -1 new referrals >ldap_unbind >ldap_free_request (origid 2, msgid 2) >ldap_free_connection >ldap_send_unbind >ber_flush: 7 bytes to sd 5 > 0 05 02 01 04 B 00 >ldap_free_connection: actually freed >deleting entry "billingnumber=1234567890,uniqueidentifier=Test#0000001234567890 >6,o=Test,c=US" > removed > > > > >+ > >Additional info: ber_get_stringa returns LBER_DEFAULT at 240 > >(gdb) bt >#0 ber_get_stringa (ber=0xefffdf08, buf=0xefffdefc) at decode.c:239 >#1 0x13ddc in re_encode_request (ld=0x2ce88, origber=0x2d1c0, msgid=3, >dnp=0xefffdfb0) > at request.c:844 >#2 0x13a44 in ldap_chase_referrals (ld=0x2ce88, lr=0x2e550, errstrp=0x2e56c, > hadrefp=0xefffe028) at request.c:715 >#3 0x15094 in read1msg (ld=0x2ce88, msgid=2, all=1, sb=0x2e550, lc=0x2d608, > result=0xefffe1f4) at result.c:338 >#4 0x14db4 in wait4msg (ld=0x2ce88, msgid=2, all=1, timeout=0x2d608, >result=0xefffe1f4) > at result.c:232 >#5 0x14af4 in ldap_result (ld=0x2ce88, msgid=2, all=1, timeout=0x0, >result=0xefffe1f4) > at result.c:117 >#6 0x120e8 in ldap_delete_s (ld=0x2ce88, > dn=0xeffff52d >"billingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US >") >at delete.c:71 >#7 0x116c4 in dodelete (ld=0x2ce88, > dn=0xeffff52d >"billingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US >") >at ldapdelete.c:170 >#8 0x115b4 in main (argc=10, argv=0xeffff34c) at ldapdelete.c:136 > > > > >234 if ( (*buf = (char *) malloc( (size_t)datalen + 1 )) == NULL ) >235 return( LBER_DEFAULT ); >236 >237 if ( (unsigned long) ber_read( ber, *buf, datalen ) != datalen >) { >238 free( *buf ); >239 *buf = NULL; >240 return( LBER_DEFAULT ); >241 } > > > >(gdb) p *buf >$1 = 0x2e648 >"llingnumber=8035550096,uniqueidentifier=Amteva#0000000005550096,o=Amteva,c=US\" >services\". >The \"-\" may be replaced" > > >(gdb) p *ber >$2 = { > ber_buf = 0x2d1f8 >"0T\002\001\002JObillingnumber=8035550096,uniqueidentifier=Amteva#00000000055500 >96,o=Amteva,c=USc=US", >ber_ptr = 0x2d24e "c=US", ber_end = 0x2d24e "c=US", > ber_sos = 0x0, ber_tag = 4294967295, ber_len = 0, ber_usertag = 0, >ber_options = 1 '\001', > ber_rwptr = 0x2d24e "c=US", ber_encode_translate_proc = 0, >ber_decode_translate_proc = 0} >(gdb) > > >(gdb) p datalen >$3 = 105 >~~ > >(gdb) p datalen >$3 = 105 >~~ > > > >
changed notes changed state Open to Closed
previously fixed.