]> git.sur5r.net Git - openldap/commitdiff
fix dn2id delete bug... breaks modrdn.
authorKurt Zeilenga <kurt@openldap.org>
Thu, 26 Aug 1999 00:51:27 +0000 (00:51 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 26 Aug 1999 00:51:27 +0000 (00:51 +0000)
servers/slapd/back-ldbm/proto-back-ldbm.h
servers/slapd/back-ldbm/search.c
servers/slapd/back-ldbm/tools.c
tests/scripts/defines.sh
tests/scripts/test005-modrdn

index 641c52d2b194f25942e188ff33dafc5305d7bdf2..030a34d2f80199197b1c808d08bf1b1e26bf85bc 100644 (file)
@@ -74,7 +74,7 @@ int ldbm_cache_delete LDAP_P(( DBCache *db, Datum key ));
 int dn2id_add LDAP_P(( Backend *be, const char *dn, ID id ));
 ID dn2id LDAP_P(( Backend *be, const char *dn ));
 ID_BLOCK *dn2idl LDAP_P(( Backend *be, const char *dn, int prefix ));
-int dn2id_delete LDAP_P(( Backend *be, const char *dn ));
+int dn2id_delete LDAP_P(( Backend *be, const char *dn, ID id ));
 
 Entry * dn2entry_rw LDAP_P(( Backend *be, const char *dn, Entry **matched, int rw ));
 #define dn2entry_r(be, dn, m) dn2entry_rw((be), (dn), (m), 0)
index 32028a6544532332576a8554b654736351a32431..720e73ab280e966a6007c7ab0e6cc105809d9958 100644 (file)
@@ -317,7 +317,8 @@ loop_continue:
        rc = 0;
 
 done:
-       idl_free( candidates );
+       if( candidates != NULL )
+               idl_free( candidates );
 
        ber_bvecfree( v2refs );
        if( realbase ) free( realbase );
index 889be2508e366bf1fb6308c061ad7786fabda293..188211f39681ac7420fe97ed2cce6956ffe5fbd0 100644 (file)
@@ -184,7 +184,7 @@ ID ldbm_tool_entry_put(
        rc = ldbm_cache_store( id2entry, key, data, LDBM_REPLACE );
 
        if( rc != 0 ) {
-               (void) dn2id_delete( be, e->e_ndn );
+               (void) dn2id_delete( be, e->e_ndn, e->e_id );
                return NOID;
        }
 
index 8e3f6b1ed3f29440e09015db0e3def652e2dd6ee..f5855c6209222ea62fc333bb8c169b34eda489b6 100755 (executable)
@@ -60,6 +60,7 @@ LDIFFLT=$DBDIR/ldif.flt
 MASTEROUT=$DBDIR/master.out
 SLAVEOUT=$DBDIR/slave.out
 TESTOUT=$DBDIR/test.out
+INITOUT=$DBDIR/init.out
 SEARCHOUTMASTER=$DATADIR/search.out.master
 MODIFYOUTMASTER=$DATADIR/modify.out.master
 ADDDELOUTMASTER=$DATADIR/adddel.out.master
index 5eabb65b3656286df13dbf90e50758579cce475e..f28aa712375b055898a8919be6cb81c4beea32c9 100755 (executable)
@@ -31,8 +31,8 @@ echo "Testing slapd modrdn operations..."
 
 # Make sure we can search the database
 for i in 0 1 2 3 4 5; do
-       $LDAPSEARCH -s base -b "$MONITOR" -h localhost -p $PORT \
-               'objectclass=*' > /dev/null 2>&1
+       $LDAPSEARCH -S "" -b "$BASEDN" -h localhost -p $PORT \
+           'objectClass=*' > $INITOUT 2>&1
        RC=$?
        if test $RC = 1 ; then
                echo "Waiting 5 seconds for slapd to start..."