From ee42df4ceace0dc623814e5d7f959dba8d8f9757 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 18 Feb 2005 00:37:40 +0000 Subject: [PATCH] Always return SLAPD_ABANDON in response to op->o_abandon being set. --- servers/slapd/back-bdb/search.c | 2 +- servers/slapd/back-ldap/search.c | 6 ++++-- servers/slapd/back-ldbm/search.c | 2 +- servers/slapd/back-meta/search.c | 2 +- servers/slapd/back-passwd/search.c | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/servers/slapd/back-bdb/search.c b/servers/slapd/back-bdb/search.c index c770f8112b..297e179e6a 100644 --- a/servers/slapd/back-bdb/search.c +++ b/servers/slapd/back-bdb/search.c @@ -649,7 +649,7 @@ loop_begin: /* check for abandon */ if ( op->o_abandon ) { - rs->sr_err = LDAP_SUCCESS; + rs->sr_err = SLAPD_ABANDON; goto done; } diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index a2ad8a5df6..a9fc57fb75 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -138,7 +138,7 @@ fail:; /* check for abandon */ if ( op->o_abandon ) { ldap_abandon_ext( lc->lc_ld, msgid, NULL, NULL ); - rc = 0; + rc = SLAPD_ABANDON; goto finish; } @@ -291,7 +291,9 @@ fail:; } finish:; - send_ldap_result( op, rs ); + if ( rc != SLAPD_ABANDON ) { + send_ldap_result( op, rs ); + } (void)ldap_back_proxy_authz_ctrl_free( op, &ctrls ); diff --git a/servers/slapd/back-ldbm/search.c b/servers/slapd/back-ldbm/search.c index 3c09594ff1..1e414f6609 100644 --- a/servers/slapd/back-ldbm/search.c +++ b/servers/slapd/back-ldbm/search.c @@ -232,7 +232,7 @@ searchit: /* check for abandon */ if ( op->o_abandon ) { - rc = LDAP_SUCCESS; + rc = SLAPD_ABANDON; goto done; } diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index ae2ce94759..3dbd522a8b 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -303,7 +303,7 @@ new_candidate:; if ( ab ) { ldap_abandon_ext( lsc->msc_ld, msgid[ i ], NULL, NULL ); - rc = 0; + rc = SLAPD_ABANDON; break; } diff --git a/servers/slapd/back-passwd/search.c b/servers/slapd/back-passwd/search.c index cfb55531e5..ab2c7c1a22 100644 --- a/servers/slapd/back-passwd/search.c +++ b/servers/slapd/back-passwd/search.c @@ -143,7 +143,7 @@ passwd_back_search( if ( op->o_abandon ) { endpwent(); ldap_pvt_thread_mutex_unlock( &passwd_mutex ); - return( -1 ); + return( SLAPD_ABANDON ); } /* check time limit */ -- 2.39.5