]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/delete.c
ITS#2368 - fix deleting key from range IDL
[openldap] / servers / slapd / delete.c
index a431c080ddeb022fb9c927f2ff43f39907a8c934..89d3a8d49f4616740a5fbf3c6e573bffd81cdf6a 100644 (file)
@@ -16,7 +16,6 @@
  */
 
 #include "portable.h"
-#include "slapi_common.h"
 
 #include <stdio.h>
 
 
 #include "ldap_pvt.h"
 #include "slap.h"
+
+#ifdef LDAP_SLAPI
 #include "slapi.h"
+#endif
 
 int
 do_delete(
@@ -41,7 +43,9 @@ do_delete(
        int rc;
        int manageDSAit;
 
+#ifdef LDAP_SLAPI
        Slapi_PBlock *pb = op->o_pb;
+#endif
 
 #ifdef NEW_LOGGING
        LDAP_LOG( OPERATION, ENTRY, 
@@ -154,15 +158,12 @@ do_delete(
                goto cleanup;
        }
 
-       /* deref suffix alias if appropriate */
-       suffix_alias( be, &ndn );
-
 #if defined( LDAP_SLAPI )
        slapi_x_backend_set_pb( pb, be );
        slapi_x_connection_set_pb( pb, conn );
        slapi_x_operation_set_pb( pb, op );
        slapi_pblock_set( pb, SLAPI_DELETE_TARGET, (void *)dn.bv_val );
-       slapi_pblock_set( pb, SLAPI_MANAGEDSAIT, (void *)(1) );
+       slapi_pblock_set( pb, SLAPI_MANAGEDSAIT, (void *)manageDSAit );
 
        rc = doPluginFNs( be, SLAPI_PLUGIN_PRE_DELETE_FN, pb );
        if ( rc != 0 ) {
@@ -178,7 +179,7 @@ do_delete(
                                0, 0, 0);
 #endif
                if ( slapi_pblock_get( pb, SLAPI_RESULT_CODE, (void *)&rc ) != 0 )
-                       rc = LDAP_OPERATIONS_ERROR;
+                       rc = LDAP_OTHER;
                goto cleanup;
        }
 #endif /* defined( LDAP_SLAPI ) */