From: Howard Chu Date: Mon, 27 Feb 2006 09:20:55 +0000 (+0000) Subject: ITS#4417 backglue must pass intermediate responses transparently. X-Git-Tag: OPENLDAP_REL_ENG_2_4_BP~166 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7b5528d68bd2ce658c9994652a775e545eea5e41;p=openldap ITS#4417 backglue must pass intermediate responses transparently. syncprov must prevent send_ldap_result from being called for an in-progress persistent search. --- diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index e05412f462..e2fa8a2ff8 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -93,6 +93,7 @@ glue_op_response ( Operation *op, SlapReply *rs ) switch(rs->sr_type) { case REP_SEARCH: case REP_SEARCHREF: + case REP_INTERMEDIATE: return SLAP_CB_CONTINUE; default: diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index ae7780700f..f697131834 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -1784,6 +1784,9 @@ syncprov_detach_op( Operation *op, syncops *so, slap_overinst *on ) LDAP_STAILQ_INSERT_TAIL( &op->o_conn->c_ops, op2, o_next ); so->s_flags |= PS_IS_DETACHED; ldap_pvt_thread_mutex_unlock( &op->o_conn->c_mutex ); + + /* Prevent anyone else from trying to send a result for this op */ + op->o_abandon = 1; } static int