From 04574d5738bb6a3bed3f6ee536b93068517263d8 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 30 Oct 2010 11:41:11 +1100 Subject: s4-ldbwrap: split ldb-wrap out from the LDBSAMBA subsystem ldb-wrap and the ldif-handlers are not really related, and this allows us to remove another dependency loop Pair-Programmed-With: Andrew Bartlett --- source4/dsdb/samdb/samdb.c | 1 + source4/dsdb/wscript_build | 2 +- source4/lib/ldb-samba/ldb_wrap.h | 3 +++ source4/lib/ldb-samba/wscript_build | 25 ++++++++++++++++--------- source4/param/wscript_build | 4 ++-- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c index c7d2c3085d..2c890a7d6f 100644 --- a/source4/dsdb/samdb/samdb.c +++ b/source4/dsdb/samdb/samdb.c @@ -26,6 +26,7 @@ #include "librpc/gen_ndr/ndr_misc.h" #include "librpc/gen_ndr/ndr_security.h" #include "lib/events/events.h" +#include "lib/ldb-samba/ldb_wrap.h" #include "lib/ldb/include/ldb.h" #include "lib/ldb/include/ldb_errors.h" #include "libcli/security/security.h" diff --git a/source4/dsdb/wscript_build b/source4/dsdb/wscript_build index 269aa951c0..0bff37728a 100644 --- a/source4/dsdb/wscript_build +++ b/source4/dsdb/wscript_build @@ -6,7 +6,7 @@ bld.SAMBA_LIBRARY('SAMDB', source='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c', autoproto='samdb/samdb_proto.h', public_deps='krb5', - deps='ndr NDR_DRSUAPI NDR_DRSBLOBS auth_system_session LIBCLI_AUTH ndr SAMDB_SCHEMA LDBSAMBA samdb-common LIBCLI_DRSUAPI LIBCLI_LDAP_NDR samba-util com_err KERBEROS CREDENTIALS CREDENTIALS_SECRETS', + deps='ndr NDR_DRSUAPI NDR_DRSBLOBS auth_system_session LIBCLI_AUTH ndr SAMDB_SCHEMA LDBSAMBA samdb-common LIBCLI_DRSUAPI LIBCLI_LDAP_NDR samba-util com_err authkrb5 CREDENTIALS ldbwrap', vnum='0.0.1' ) diff --git a/source4/lib/ldb-samba/ldb_wrap.h b/source4/lib/ldb-samba/ldb_wrap.h index 531aa9ac70..4d2539fff5 100644 --- a/source4/lib/ldb-samba/ldb_wrap.h +++ b/source4/lib/ldb-samba/ldb_wrap.h @@ -64,4 +64,7 @@ char *ldb_relative_path(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, const char *name); +int samba_ldb_connect(struct ldb_context *ldb, struct loadparm_context *lp_ctx, + const char *url, int flags); + #endif /* _LDB_WRAP_H_ */ diff --git a/source4/lib/ldb-samba/wscript_build b/source4/lib/ldb-samba/wscript_build index adfd949fcb..7a07bc524e 100644 --- a/source4/lib/ldb-samba/wscript_build +++ b/source4/lib/ldb-samba/wscript_build @@ -4,15 +4,22 @@ # as a built-in module and this delutes the symbols in the ldb library with # the symbols of all of ldb_ildap's dependencies. -bld.SAMBA_SUBSYSTEM('LDBSAMBA', - source='ldif_handlers.c ldb_wrap.c', - autoproto='ldif_handlers_proto.h', - public_deps='ldb', - public_headers='ldb_wrap.h', - deps='security ndr NDR_DRSBLOBS CREDENTIALS NDR_DNSP SAMDB' - ) +bld.SAMBA_LIBRARY('LDBSAMBA', + source='ldif_handlers.c', + autoproto='ldif_handlers_proto.h', + public_deps='ldb', + public_headers='ldb_wrap.h', + deps='security ndr NDR_DRSBLOBS NDR_DNSP ldbwrap samdb-common SAMDB_SCHEMA', + private_library=True + ) + +bld.SAMBA_SUBSYSTEM('ldbwrap', + source='ldb_wrap.c', + public_headers='ldb_wrap.h', + deps='ldb samba-util LDBSAMBA samba-hostconfig' + ) bld.SAMBA_PYTHON('python_samba__ldb', 'pyldb.c', - deps='LDBSAMBA pyparam_util', - realname='samba/_ldb.so') + deps='LDBSAMBA pyparam_util ldbwrap', + realname='samba/_ldb.so') diff --git a/source4/param/wscript_build b/source4/param/wscript_build index a6c2bff080..62e14c4529 100644 --- a/source4/param/wscript_build +++ b/source4/param/wscript_build @@ -37,13 +37,13 @@ bld.SAMBA_MODULE('share_ldb', source='share_ldb.c', subsystem='share', init_function='share_ldb_init', - deps='LDBSAMBA' + deps='LDBSAMBA auth_system_session' ) bld.SAMBA_SUBSYSTEM('SECRETS', source='secrets.c', - deps='ldb TDB_WRAP UTIL_TDB NDR_SECURITY tevent LDBSAMBA' + deps='ldb TDB_WRAP UTIL_TDB NDR_SECURITY tevent ldbwrap' ) -- cgit