diff options
author | Andrew Tridgell <tridge@samba.org> | 2011-09-28 14:36:00 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-10-04 15:08:57 +1100 |
commit | 278e44cf9f6e0ba0c4f45dd6e7127ab7936f3ed7 (patch) | |
tree | a048c25a88fadedf230e1c9e9daf0fea134ca2ca /source4/dsdb | |
parent | f469369fdf71b52930fdcc1f68632a727db38fc1 (diff) | |
download | samba-278e44cf9f6e0ba0c4f45dd6e7127ab7936f3ed7.tar.gz samba-278e44cf9f6e0ba0c4f45dd6e7127ab7936f3ed7.tar.bz2 samba-278e44cf9f6e0ba0c4f45dd6e7127ab7936f3ed7.zip |
s4-dsdb: simplify samdb_is_gc()
we already have a function for returning the NTDS options
Diffstat (limited to 'source4/dsdb')
-rw-r--r-- | source4/dsdb/common/util.c | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 3a55a55306..106e261db9 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -1860,37 +1860,11 @@ failed: */ bool samdb_is_gc(struct ldb_context *ldb) { - const char *attrs[] = { "options", NULL }; uint32_t options; - int ret; - struct ldb_result *res; - TALLOC_CTX *tmp_ctx; - - tmp_ctx = talloc_new(ldb); - if (tmp_ctx == NULL) { - DEBUG(1, ("talloc_new failed in samdb_is_pdc")); - return false; - } - - /* Query cn=ntds settings,.... */ - ret = ldb_search(ldb, tmp_ctx, &res, samdb_ntds_settings_dn(ldb), LDB_SCOPE_BASE, attrs, NULL); - if (ret != LDB_SUCCESS) { - talloc_free(tmp_ctx); - return false; - } - if (res->count != 1) { - talloc_free(tmp_ctx); + if (samdb_ntds_options(ldb, &options) != LDB_SUCCESS) { return false; } - - options = ldb_msg_find_attr_as_uint(res->msgs[0], "options", 0); - talloc_free(tmp_ctx); - - /* if options attribute has the 0x00000001 flag set, then enable the global catlog */ - if (options & DS_NTDSDSA_OPT_IS_GC) { - return true; - } - return false; + return (options & DS_NTDSDSA_OPT_IS_GC) != 0; } /* Find a domain object in the parents of a particular DN. */ |