From d19d895e17873b8659d40023e1278cb7499463bc Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Fri, 16 Jul 1999 02:18:03 +0000 Subject: [PATCH] Fix BDB2 (apparently broken before I started adding referrals) --- servers/slapd/back-bdb2/modify.c | 3 +-- servers/slapd/back-bdb2/modrdn.c | 1 + tests/data/slapd-bdb2-ref-slave.conf | 28 ++++++++++++++++++++++++++++ tests/scripts/defines.sh | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 tests/data/slapd-bdb2-ref-slave.conf diff --git a/servers/slapd/back-bdb2/modify.c b/servers/slapd/back-bdb2/modify.c index 98f9a8782d..6dee5eeace 100644 --- a/servers/slapd/back-bdb2/modify.c +++ b/servers/slapd/back-bdb2/modify.c @@ -188,11 +188,9 @@ bdb2i_back_modify_internal( send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL, NULL, NULL ); - bdb2i_cache_return_entry_w( &li->li_cache, e ); return( 0 ); error_return:; - bdb2i_cache_return_entry_w( &li->li_cache, e ); return( -1 ); } @@ -278,6 +276,7 @@ bdb2_back_modify( } ret = bdb2i_back_modify_internal( be, conn, op, dn, modlist, e ); + bdb2i_cache_return_entry_w( &li->li_cache, e ); done: (void) bdb2i_leave_backend_w( lock ); diff --git a/servers/slapd/back-bdb2/modrdn.c b/servers/slapd/back-bdb2/modrdn.c index 97c16ddfe3..8054eed2c1 100644 --- a/servers/slapd/back-bdb2/modrdn.c +++ b/servers/slapd/back-bdb2/modrdn.c @@ -425,6 +425,7 @@ bdb2i_back_modrdn_internal( return_results: if( new_dn != NULL ) free( new_dn ); if( new_ndn != NULL ) free( new_ndn ); + return_results_after: /* NOTE: * new_dn and new_ndn are not deallocated because they are used by diff --git a/tests/data/slapd-bdb2-ref-slave.conf b/tests/data/slapd-bdb2-ref-slave.conf new file mode 100644 index 0000000000..1495bfd337 --- /dev/null +++ b/tests/data/slapd-bdb2-ref-slave.conf @@ -0,0 +1,28 @@ +# +# slave slapd config -- for default referral testing +# +include ./data/slapd.at.conf +include ./data/slapd.oc.conf +schemacheck off +pidfile ./test-repl/slapd.pid +argsfile ./test-repl/slapd.args + +####################################################################### +# ldbm database definitions +####################################################################### + +referral "ldap://localhost:9009/" + +backend bdb2 +home ./test-db + +database bdb2 +cachesize 0 +suffix "o=University of Mich, c=US" +directory ./test-repl +rootdn "cn=Manager, o=University of Mich, c=US" +rootpw secret +index cn,sn,uid pres,eq,approx +index default none +# index default pres,eq,approx +lastmod on diff --git a/tests/scripts/defines.sh b/tests/scripts/defines.sh index a3d12a1e6e..4f5256e0d2 100755 --- a/tests/scripts/defines.sh +++ b/tests/scripts/defines.sh @@ -8,6 +8,7 @@ if test "$BACKEND" = "bdb2" ; then ACLCONF=$DATADIR/slapd-bdb2-acl.conf MASTERCONF=$DATADIR/slapd-bdb2-repl-master.conf SLAVECONF=$DATADIR/slapd-bdb2-repl-slave.conf + REFSLAVECONF=$DATADIR/slapd-bdb2-ref-slave.conf TIMING="-t" else LDIF2LDBM=../servers/slapd/tools/ldif2ldbm -- 2.39.5