ldb/samba3: Support event context argument to ldb_init().
authorJelmer Vernooij <jelmer@samba.org>
Thu, 23 Apr 2009 12:27:59 +0000 (14:27 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 23 Apr 2009 16:27:31 +0000 (18:27 +0200)
This argument is ignored (Samba3's LDB is synchronous) but having it
there is useful for API compatibility with the LDB used by Samba 4 and
available on some systems.

source3/groupdb/mapping_ldb.c
source3/lib/ldb/common/ldb.c
source3/lib/ldb/include/ldb.h
source3/lib/ldb/tools/ldbadd.c
source3/lib/ldb/tools/ldbdel.c
source3/lib/ldb/tools/ldbedit.c
source3/lib/ldb/tools/ldbmodify.c
source3/lib/ldb/tools/ldbrename.c
source3/lib/ldb/tools/ldbsearch.c
source3/libads/ldap.c

index a162c194d6e353264d1cd53effed393f7442c941..143f4ed6cfd21cb236ccd0168d6cedfa14bd02a6 100644 (file)
@@ -57,7 +57,7 @@ static bool init_group_mapping(void)
 
        db_path = state_path("group_mapping.ldb");
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
        if (ldb == NULL) goto failed;
 
        /* Ensure this db is created read/write for root only. */
index cef7373c2674526315d2d404983c94b84d225626..0ea80fecfcf8abaf67bc7d2175939c716190b81e 100644 (file)
@@ -39,7 +39,7 @@
    initialise a ldb context
    The mem_ctx is optional
 */
-struct ldb_context *ldb_init(void *mem_ctx)
+struct ldb_context *ldb_init(void *mem_ctx, struct tevent_context *tev_ctx)
 {
        struct ldb_context *ldb = talloc_zero(mem_ctx, struct ldb_context);
        int ret;
index 113652a1a7d8d85412a2121bf9e8080f17c6032f..466e4a21eec8c53fba7df4a0c525e31881c1a070 100644 (file)
@@ -795,10 +795,13 @@ int ldb_global_init(void);
   \param mem_ctx pointer to a talloc memory context. Pass NULL if there is
   no suitable context available.
 
+  \param ev_ctx Event context. This is here for API compatibility 
+  with the Samba 4 version of LDB and ignored in this version of LDB.
+
   \return pointer to ldb_context that should be free'd (using talloc_free())
   at the end of the program.
 */
-struct ldb_context *ldb_init(void *mem_ctx);
+struct ldb_context *ldb_init(void *mem_ctx, struct tevent_context *ev_ctx);
 
 /**
    Connect to a database.
@@ -1275,7 +1278,9 @@ int ldb_attrib_add_handlers(struct ldb_context *ldb,
 int ldb_dn_is_special(const struct ldb_dn *dn);
 int ldb_dn_check_special(const struct ldb_dn *dn, const char *check);
 char *ldb_dn_escape_value(void *mem_ctx, struct ldb_val value);
-struct ldb_dn *ldb_dn_new(void *mem_ctx);
+struct ldb_dn *ldb_dn_new(TALLOC_CTX *mem_ctx, struct ldb_context *ldb, const char *dn);
+bool ldb_dn_validate(struct ldb_dn *dn);
+struct ldb_dn *ldb_dn_new_fmt(void *mem_ctx, struct ldb_context *ldb, const char *new_fmt, ...);
 struct ldb_dn *ldb_dn_explode(void *mem_ctx, const char *dn);
 struct ldb_dn *ldb_dn_explode_or_special(void *mem_ctx, const char *dn);
 char *ldb_dn_linearize(void *mem_ctx, const struct ldb_dn *edn);
index 155395e065ae957576a0d9cf070d71ac6cc60abe..c23a13ab3c0325f2fdab2d45f1edc6216b92e430 100644 (file)
@@ -90,7 +90,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index c58a82a523d3c5fb10cfe3dd333633156e9a808d..bdd1b60014fce3ba2f10bd99505e2912bc7db310 100644 (file)
@@ -80,7 +80,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index a33e6ae704267e137d1282a6f7d2bd0f9d7225fe..6b9eaec11164e31ec08a4d62f8406a06c317573e 100644 (file)
@@ -282,7 +282,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index f12387a8f645216ff06258b767e6db0fbc5ed997..e3552b4ea3ac578e16053520475b62354350da8a 100644 (file)
@@ -92,7 +92,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index d6c3a4ab629c3f1c79b168b206725e3fa58ac9c5..d66d4b93c3140981550ca62b702bc5a6cc87274c 100644 (file)
@@ -59,7 +59,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index e5cec0fa66f6e3a5ca02b0de185a49459c49660e..f1c88d580b7774129c27a275af4f4ce41cf4ec89 100644 (file)
@@ -279,7 +279,7 @@ int main(int argc, const char **argv)
 
        ldb_global_init();
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
index cc72d81b86c16ae40e39ad929132125ed9b49004..44a73cbfdbb616bd9966e1613a0394f6c63808f9 100644 (file)
@@ -3858,6 +3858,7 @@ ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx,
        struct ldb_dn *name_dn = NULL;
        const char *name = NULL;
        char *ou_string = NULL;
+       struct ldb_context *ldb = ldb_init(mem_ctx, NULL);
 
        name_dn = ldb_dn_explode(mem_ctx, *account_ou);
        if (name_dn) {
@@ -3883,9 +3884,11 @@ ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx,
 
        *account_ou = talloc_strdup(mem_ctx, name);
        if (!*account_ou) {
+               talloc_free(ldb);
                return ADS_ERROR_LDAP(LDAP_NO_MEMORY);
        }
 
+       talloc_free(ldb);
        return ADS_SUCCESS;
 }