X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fdelete.c;h=03d9c16ab58578b981b92ab38258d2bf8be76e4d;hb=740f1b422edc48c9eeed8346c45872a63b683370;hp=1b32dd9a0d0669436dfc4fae4931065a8be83c90;hpb=17a975b6fbccec9e215d090cb3646cb914dd8241;p=openldap diff --git a/servers/slapd/delete.c b/servers/slapd/delete.c index 1b32dd9a0d..03d9c16ab5 100644 --- a/servers/slapd/delete.c +++ b/servers/slapd/delete.c @@ -1,3 +1,7 @@ +/* + * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ /* * Copyright (c) 1995 Regents of the University of Michigan. * All rights reserved. @@ -92,16 +96,27 @@ do_delete( */ if ( be->be_delete ) { /* do the update here */ +#ifndef SLAPD_MULTIMASTER if ( be->be_update_ndn == NULL || strcmp( be->be_update_ndn, op->o_ndn ) == 0 ) +#endif { if ( (*be->be_delete)( be, conn, op, ndn ) == 0 ) { - replog( be, op, ndn, NULL ); +#ifdef SLAPD_MULTIMASTER + if (be->be_update_ndn == NULL || + strcmp( be->be_update_ndn, op->o_ndn )) +#endif + { + replog( be, op, ndn, NULL ); + } } +#ifndef SLAPD_MULTIMASTER } else { send_ldap_result( conn, op, rc = LDAP_REFERRAL, NULL, NULL, be->be_update_refs ? be->be_update_refs : default_referral, NULL ); +#endif } + } else { send_ldap_result( conn, op, rc = LDAP_UNWILLING_TO_PERFORM, NULL, "Function not implemented", NULL, NULL );