From 3eb9eb8c290070e29d53f1ae731e878398b1885f Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Wed, 23 Jun 2010 12:01:47 +0200 Subject: [PATCH] s3:idmap_tdb2: add rw_ops to idmap_tdb2_context and initialize in idmap_tdb2_db_init --- source3/Makefile.in | 4 ++-- source3/winbindd/idmap_tdb2.c | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/source3/Makefile.in b/source3/Makefile.in index e05266726d57..f81604784b7b 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -2481,9 +2481,9 @@ bin/adex.@SHLIBEXT@: $(BINARY_PREREQS) $(IDMAP_ADEX_OBJ) @echo "Building plugin $@" @$(SHLD_MODULE) $(IDMAP_ADEX_OBJ) -bin/tdb2.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_tdb2.o +bin/tdb2.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_tdb2.o winbindd/idmap_rw.o @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_tdb2.o + @$(SHLD_MODULE) winbindd/idmap_tdb2.o winbindd/idmap_rw.o bin/ldap.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ldap.o @echo "Building plugin $@" diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c index a27d3c78e01d..cb295ba00365 100644 --- a/source3/winbindd/idmap_tdb2.c +++ b/source3/winbindd/idmap_tdb2.c @@ -33,6 +33,7 @@ #include "includes.h" #include "winbindd.h" +#include "idmap_rw.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_IDMAP @@ -40,6 +41,7 @@ struct idmap_tdb2_context { struct db_context *db; const char *script; /* script to provide idmaps */ + struct idmap_rw_ops *rw_ops; }; /* High water mark keys */ @@ -299,6 +301,16 @@ static NTSTATUS idmap_tdb2_db_init(struct idmap_domain *dom, talloc_free(config_option); } + ctx->rw_ops = talloc_zero(ctx, struct idmap_rw_ops); + if (ctx->rw_ops == NULL) { + DEBUG(0, ("Out of memory!\n")); + ret = NT_STATUS_NO_MEMORY; + goto failed; + } + + ctx->rw_ops->get_new_id = idmap_tdb2_get_new_id; + ctx->rw_ops->set_mapping = idmap_tdb2_set_mapping; + dom->private_data = ctx; ret = idmap_tdb2_open_db(dom); -- 2.34.1