diff options
author | cvsadm <cvsadm> | 2005-01-21 00:44:34 +0000 |
---|---|---|
committer | cvsadm <cvsadm> | 2005-01-21 00:44:34 +0000 |
commit | b2093e3016027d6b5cf06b3f91f30769bfc099e2 (patch) | |
tree | cf58939393a9032182c4fbc4441164a9456e82f8 /ldap/servers/plugins/chainingdb/cb_abandon.c | |
download | ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.tar.gz ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.tar.xz ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.zip |
Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)ldapserver7x
Diffstat (limited to 'ldap/servers/plugins/chainingdb/cb_abandon.c')
-rw-r--r-- | ldap/servers/plugins/chainingdb/cb_abandon.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ldap/servers/plugins/chainingdb/cb_abandon.c b/ldap/servers/plugins/chainingdb/cb_abandon.c new file mode 100644 index 00000000..ca0cfc09 --- /dev/null +++ b/ldap/servers/plugins/chainingdb/cb_abandon.c @@ -0,0 +1,50 @@ +/** 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; +} |