| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /** BEGIN COPYRIGHT BLOCK
- * Copyright 2001 Sun Microsystems, Inc.
- * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
- #include "cb.h"
- /*
- * Perform an abandon operation
- *
- * Returns:
- * 0 - success
- * <0 - fail
- *
- */
- int
- chaining_back_abandon ( Slapi_PBlock *pb )
- {
- /*
- * Abandon forwarded to the farm server for scoped
- * searches only. Done in cb_search.c
- */
- return 0;
- }
- int cb_check_forward_abandon(cb_backend_instance * cb,Slapi_PBlock * pb, LDAP * ld, int msgid ) {
-
- int rc;
- LDAPControl ** ctrls=NULL;
- if (slapi_op_abandoned( pb )) {
- if ((rc=cb_forward_operation(pb)) != LDAP_SUCCESS ) {
- return 0;
- }
-
- if ((rc = cb_update_controls( pb,ld,&ctrls,CB_UPDATE_CONTROLS_ISABANDON )) != LDAP_SUCCESS ) {
- if ( NULL != ctrls)
- ldap_controls_free(ctrls);
- return 0;
- }
- rc = ldap_abandon_ext(ld, msgid, ctrls, NULL );
- cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
- if ( NULL != ctrls)
- ldap_controls_free(ctrls);
- return 1;
- }
- return 0;
- }
|