summaryrefslogtreecommitdiff
path: root/source4/ldap_server
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-20 15:13:36 +0200
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-20 18:52:31 +0200
commit449370db545f189449dbce75fd73271caf5ab187 (patch)
tree23d2704578975c11aef054d4a4b0d8cc782464b1 /source4/ldap_server
parent9803c89ee28b4b4d6e4514b362aa60adb7f93366 (diff)
downloadsamba-449370db545f189449dbce75fd73271caf5ab187.tar.gz
samba-449370db545f189449dbce75fd73271caf5ab187.tar.bz2
samba-449370db545f189449dbce75fd73271caf5ab187.zip
s4:ldap_backend.c - now also the LDAP server supports controls on delete operations
Diffstat (limited to 'source4/ldap_server')
-rw-r--r--source4/ldap_server/ldap_backend.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c
index e009641cdd..c1bd630a3a 100644
--- a/source4/ldap_server/ldap_backend.c
+++ b/source4/ldap_server/ldap_backend.c
@@ -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);
}