From 6320cface96baba061b4d097ddbd17d63c663346 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Mon, 4 Oct 2010 17:18:19 +0200 Subject: s4:dsdb/common/util.c - change the usage of the RECYCLED control MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use it only in conjunction with the DELETE one to allow the functions to work also against Windows < 2008R2. This is really important for the vampire operation. Also mark the RECYCLED control as non-critical (so that it's simply ignored by older Windows'es). Autobuild-User: Matthias Dieter Wallnöfer Autobuild-Date: Mon Oct 4 16:10:11 UTC 2010 on sn-devel-104 --- source4/dsdb/common/util.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source4/dsdb/common/util.c') diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 523dd8ef8e..faf2fb5f96 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -2517,6 +2517,7 @@ int dsdb_find_guid_attr_by_dn(struct ldb_context *ldb, attrs[1] = NULL; ret = dsdb_search_dn(ldb, tmp_ctx, &res, dn, attrs, + DSDB_SEARCH_SHOW_DELETED | DSDB_SEARCH_SHOW_RECYCLED); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); @@ -2592,6 +2593,7 @@ int dsdb_find_sid_by_dn(struct ldb_context *ldb, ZERO_STRUCTP(sid); ret = dsdb_search_dn(ldb, tmp_ctx, &res, dn, attrs, + DSDB_SEARCH_SHOW_DELETED | DSDB_SEARCH_SHOW_RECYCLED); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); @@ -3275,6 +3277,7 @@ int dsdb_wellknown_dn(struct ldb_context *samdb, TALLOC_CTX *mem_ctx, } ret = dsdb_search_dn(samdb, tmp_ctx, &res, dn, attrs, + DSDB_SEARCH_SHOW_DELETED | DSDB_SEARCH_SHOW_RECYCLED); if (ret != LDB_SUCCESS) { talloc_free(tmp_ctx); @@ -3574,7 +3577,7 @@ int dsdb_request_add_controls(struct ldb_request *req, uint32_t dsdb_flags) } if (dsdb_flags & DSDB_SEARCH_SHOW_RECYCLED) { - ret = ldb_request_add_control(req, LDB_CONTROL_SHOW_RECYCLED_OID, true, NULL); + ret = ldb_request_add_control(req, LDB_CONTROL_SHOW_RECYCLED_OID, false, NULL); if (ret != LDB_SUCCESS) { return ret; } -- cgit