s4:ldap_backend.c - now also the LDAP server supports controls on delete operations
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 20 Jun 2010 13:13:36 +0000 (15:13 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 20 Jun 2010 16:52:31 +0000 (18:52 +0200)
source4/ldap_server/ldap_backend.c

index e009641cdd76cee9741876ea3041b43f151468c2..c1bd630a3ac7fce99e872898cbd1926894c9d2ae 100644 (file)
@@ -363,16 +363,18 @@ static int ldb_mod_req_with_controls(struct ldb_context *ldb,
        return ret;
 }
 
-static int ldb_delete_with_context(struct ldb_context *ldb,
-                                  struct ldb_dn *dn,
-                                  void *context)
+/* create and execute a delete request */
+static int ldb_del_req_with_controls(struct ldb_context *ldb,
+                                    struct ldb_dn *dn,
+                                    struct ldb_control **controls,
+                                    void *context)
 {
        struct ldb_request *req;
        int ret;
 
        ret = ldb_build_del_req(&req, ldb, ldb,
                                        dn,
-                                       NULL,
+                                       controls,
                                        context,
                                        ldb_modify_default_callback,
                                        NULL);
@@ -886,7 +888,7 @@ reply:
        if (result == LDAP_SUCCESS) {
                res = talloc_zero(local_ctx, struct ldb_result);
                NT_STATUS_HAVE_NO_MEMORY(res);
-               ldb_ret = ldb_delete_with_context(samdb, dn, res);
+               ldb_ret = ldb_del_req_with_controls(samdb, dn, call->request->controls, res);
                result = map_ldb_error(local_ctx, ldb_ret, ldb_errstring(samdb),
                                       &errstr);
        }