From 3e0399793307c1d4fa98f91f323561284caa718a Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 1 Jan 2004 19:21:58 +0000 Subject: [PATCH] Import syncrepl psearch add bug fix --- CHANGES | 4 ++-- servers/slapd/back-bdb/add.c | 3 ++- servers/slapd/back-bdb/search.c | 11 +++-------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/CHANGES b/CHANGES index 4137e9a041..24eac715c4 100644 --- a/CHANGES +++ b/CHANGES @@ -1,7 +1,7 @@ OpenLDAP 2.2 Change Log -OpenLDAP 2.2.4 Engineering - +OpenLDAP 2.2.5 Engineering + Fix back-bdb syncrepl psearch add bug OpenLDAP 2.2.4 Release Initial release for "general" use. diff --git a/servers/slapd/back-bdb/add.c b/servers/slapd/back-bdb/add.c index 01c619833c..6b30fed39a 100644 --- a/servers/slapd/back-bdb/add.c +++ b/servers/slapd/back-bdb/add.c @@ -496,8 +496,9 @@ retry: /* transaction retry */ if ( rs->sr_err == LDAP_SUCCESS && !op->o_no_psearch ) { ldap_pvt_thread_rdwr_rlock( &bdb->bi_pslist_rwlock ); + assert( BEI(e) ); LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) { - bdb_psearch( op, rs, ps_list, op->oq_add.rs_e, + bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_ADD ); } ldap_pvt_thread_rdwr_runlock( &bdb->bi_pslist_rwlock ); diff --git a/servers/slapd/back-bdb/search.c b/servers/slapd/back-bdb/search.c index 9f753492a1..2ec854b91c 100644 --- a/servers/slapd/back-bdb/search.c +++ b/servers/slapd/back-bdb/search.c @@ -1001,9 +1001,6 @@ id2entry_retry: } else { e = ps_e; } -#if 0 - assert( BEI(e) ); -#endif rs->sr_entry = e; @@ -1054,15 +1051,13 @@ id2entry_retry: break; case LDAP_SCOPE_SUBTREE: { - EntryInfo *tmp = BEI(e); - if ( tmp ) for (; tmp->bei_parent; tmp = tmp->bei_parent ) { + EntryInfo *tmp; + for (tmp = BEI(e); tmp->bei_parent; + tmp = tmp->bei_parent ) { if ( tmp->bei_id == base.e_id ) { scopeok = 1; break; } - } else { - /* FIXME */ - scopeok = 1; } } break; } -- 2.39.5