summaryrefslogtreecommitdiff
path: root/source4/dsdb/common/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/dsdb/common/util.c')
-rw-r--r--source4/dsdb/common/util.c87
1 files changed, 1 insertions, 86 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c
index b7f6b69fce..9e6ccbc911 100644
--- a/source4/dsdb/common/util.c
+++ b/source4/dsdb/common/util.c
@@ -26,6 +26,7 @@
#include "ldb.h"
#include "ldb_module.h"
#include "ldb_errors.h"
+#include "../lib/util/util_ldb.h"
#include "../lib/crypto/crypto.h"
#include "dsdb/samdb/samdb.h"
#include "libcli/security/security.h"
@@ -44,92 +45,6 @@
#include "librpc/gen_ndr/irpc.h"
/*
- * search the SAMDB for the specified attributes - va_list variant
- */
-int gendb_search_v(struct ldb_context *ldb,
- TALLOC_CTX *mem_ctx,
- struct ldb_dn *basedn,
- struct ldb_message ***msgs,
- const char * const *attrs,
- const char *format,
- va_list ap)
-{
- enum ldb_scope scope = LDB_SCOPE_SUBTREE;
- struct ldb_result *res;
- char *expr = NULL;
- int ret;
-
- if (format) {
- expr = talloc_vasprintf(mem_ctx, format, ap);
- if (expr == NULL) {
- return -1;
- }
- } else {
- scope = LDB_SCOPE_BASE;
- }
-
- res = NULL;
-
- ret = ldb_search(ldb, mem_ctx, &res, basedn, scope, attrs,
- expr?"%s":NULL, expr);
-
- if (ret == LDB_SUCCESS) {
- talloc_steal(mem_ctx, res->msgs);
-
- DEBUG(6,("gendb_search_v: %s %s -> %d\n",
- basedn?ldb_dn_get_linearized(basedn):"NULL",
- expr?expr:"NULL", res->count));
-
- ret = res->count;
- *msgs = res->msgs;
- talloc_free(res);
- } else if (scope == LDB_SCOPE_BASE && ret == LDB_ERR_NO_SUCH_OBJECT) {
- ret = 0;
- *msgs = NULL;
- } else {
- DEBUG(4,("gendb_search_v: search failed: %s\n",
- ldb_errstring(ldb)));
- ret = -1;
- }
-
- talloc_free(expr);
-
- return ret;
-}
-
-/*
- * search the SAMDB for the specified attributes - varargs variant
- */
-int gendb_search(struct ldb_context *ldb,
- TALLOC_CTX *mem_ctx,
- struct ldb_dn *basedn,
- struct ldb_message ***res,
- const char * const *attrs,
- const char *format, ...)
-{
- va_list ap;
- int count;
-
- va_start(ap, format);
- count = gendb_search_v(ldb, mem_ctx, basedn, res, attrs, format, ap);
- va_end(ap);
-
- return count;
-}
-
-/*
- * search the SAMDB for a specified record (by DN)
- */
-int gendb_search_dn(struct ldb_context *ldb,
- TALLOC_CTX *mem_ctx,
- struct ldb_dn *dn,
- struct ldb_message ***res,
- const char * const *attrs)
-{
- return gendb_search(ldb, mem_ctx, dn, res, attrs, NULL);
-}
-
-/*
search the sam for the specified attributes in a specific domain, filter on
objectSid being in domain_sid.
*/