From 108c8b758ad23cd83630b2f8adf21171e815589a Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 14 Aug 2012 19:48:32 +1000 Subject: s4-dsdb: Use samdb_dn_is_our_ntdsa() This uses a GUID based comparison, and avoids re-fetching the samdb_ntds_settings_dn each time. Andrew Bartlett --- source4/dsdb/common/util.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'source4/dsdb/common') diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index fd8ba62aab..5d73df2ec3 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -1658,21 +1658,10 @@ int samdb_reference_dn_is_our_ntdsa(struct ldb_context *ldb, struct ldb_dn *base return ret; } - status = dsdb_get_extended_dn_guid(referenced_dn, &referenced_guid, "GUID"); + ret = samdb_dn_is_our_ntdsa(ldb, referenced_dn, is_ntdsa); + talloc_free(tmp_ctx); - if (!NT_STATUS_IS_OK(status)) { - return LDB_ERR_OPERATIONS_ERROR; - } - - - our_ntds_guid = samdb_ntds_objectGUID(ldb); - if (!our_ntds_guid) { - DEBUG(0, ("Failed to find our NTDS Settings GUID for comparison with %s on %s - %s\n", attribute, ldb_dn_get_linearized(base), ldb_errstring(ldb))); - return LDB_ERR_OPERATIONS_ERROR; - } - - *is_ntdsa = GUID_equal(&referenced_guid, our_ntds_guid); - return LDB_SUCCESS; + return ret; } /* -- cgit