]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/delete.c
Add LDAPsubentry (without OID).
[openldap] / servers / slapd / delete.c
index 1b32dd9a0d0669436dfc4fae4931065a8be83c90..03d9c16ab58578b981b92ab38258d2bf8be76e4d 100644 (file)
@@ -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 );