From 4659b07eb9608acaf5b49d8919c98e224d2b805c Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Wed, 10 Aug 2011 01:36:01 +0400 Subject: s4-drs: In dcesrv_drsuapi_DsRemoveDSServer use the subtree control to delete the NTDS entry This entry has most of the time subelements (connections between DCs) that will forbid a simple (non recursive) delete --- source4/rpc_server/drsuapi/dcesrv_drsuapi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source4/rpc_server/drsuapi') diff --git a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c index 5dbb238f02..b170ec3e23 100644 --- a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c +++ b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c @@ -25,6 +25,7 @@ #include "rpc_server/dcerpc_server.h" #include "rpc_server/common/common.h" #include "dsdb/samdb/samdb.h" +#include "dsdb/common/util.h" #include "libcli/security/security.h" #include "libcli/security/session.h" #include "rpc_server/drsuapi/dcesrv_drsuapi.h" @@ -502,7 +503,7 @@ static WERROR dcesrv_drsuapi_DsRemoveDSServer(struct dcesrv_call_state *dce_call } if (r->in.req->req1.commit) { - ret = ldb_delete(b_state->sam_ctx, ntds_dn); + ret = dsdb_delete(b_state->sam_ctx, ntds_dn, DSDB_TREE_DELETE); if (ret != LDB_SUCCESS) { return WERR_FOOBAR; } -- cgit