From 410b045c45006ae9c3f2bbcafb07d6ac8c615a56 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 28 Jan 2013 16:16:42 +0100 Subject: [PATCH 1/3] Rename pdb_ldap to pdb_ldapsam This patch moves pdb_ldap to pdb_ldapsam unconditionally and makes possible to load ldapsam.so dynamically Reviewed-by: Alexander Bokovoy --- source3/passdb/pdb_ipa.c | 2 +- source3/passdb/pdb_ldap.c | 12 +++++++++--- source3/passdb/pdb_ldap.h | 4 ++-- source3/passdb/pdb_nds.c | 2 +- source3/passdb/wscript_build | 6 +++--- source3/wscript | 2 +- 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c index d31b37f..a699aab 100644 --- a/source3/passdb/pdb_ipa.c +++ b/source3/passdb/pdb_ipa.c @@ -1446,7 +1446,7 @@ static NTSTATUS pdb_init_IPA_ldapsam(struct pdb_methods **pdb_method, const char struct ldapsam_privates *ldap_state; NTSTATUS status; - status = pdb_init_ldapsam(pdb_method, location); + status = pdb_ldapsam_init_common(pdb_method, location); if (!NT_STATUS_IS_OK(status)) { return status; } diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index ca35ef7..7ae9056 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -6462,7 +6462,8 @@ static NTSTATUS pdb_init_ldapsam_common(struct pdb_methods **pdb_method, const c Initialise the normal mode for pdb_ldap *********************************************************************/ -NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location) +NTSTATUS pdb_ldapsam_init_common(struct pdb_methods **pdb_method, + const char *location) { NTSTATUS nt_status; struct ldapsam_privates *ldap_state = NULL; @@ -6611,11 +6612,16 @@ NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location) return NT_STATUS_OK; } -NTSTATUS pdb_ldap_init(void) +NTSTATUS pdb_ldapsam_init(void) { NTSTATUS nt_status; - if (!NT_STATUS_IS_OK(nt_status = smb_register_passdb(PASSDB_INTERFACE_VERSION, "ldapsam", pdb_init_ldapsam))) + + nt_status = smb_register_passdb(PASSDB_INTERFACE_VERSION, + "ldapsam", + pdb_ldapsam_init_common); + if (!NT_STATUS_IS_OK(nt_status)) { return nt_status; + } /* Let pdb_nds register backends */ pdb_nds_init(); diff --git a/source3/passdb/pdb_ldap.h b/source3/passdb/pdb_ldap.h index 1372f33..0420314 100644 --- a/source3/passdb/pdb_ldap.h +++ b/source3/passdb/pdb_ldap.h @@ -29,8 +29,8 @@ /* The following definitions come from passdb/pdb_ldap.c */ const char** get_userattr_list( TALLOC_CTX *mem_ctx, int schema_ver ); -NTSTATUS pdb_init_ldapsam(struct pdb_methods **pdb_method, const char *location); -NTSTATUS pdb_ldap_init(void); +NTSTATUS pdb_ldapsam_init_common(struct pdb_methods **pdb_method, const char *location); +NTSTATUS pdb_ldapsam_init(void); int ldapsam_search_suffix_by_name(struct ldapsam_privates *ldap_state, const char *user, LDAPMessage ** result, diff --git a/source3/passdb/pdb_nds.c b/source3/passdb/pdb_nds.c index cce4937..d7c16da 100644 --- a/source3/passdb/pdb_nds.c +++ b/source3/passdb/pdb_nds.c @@ -878,7 +878,7 @@ static NTSTATUS pdb_init_NDS_ldapsam_common(struct pdb_methods **pdb_method, con static NTSTATUS pdb_init_NDS_ldapsam(struct pdb_methods **pdb_method, const char *location) { - NTSTATUS nt_status = pdb_init_ldapsam(pdb_method, location); + NTSTATUS nt_status = pdb_ldapsam_init_common(pdb_method, location); (*pdb_method)->name = "NDS_ldapsam"; diff --git a/source3/passdb/wscript_build b/source3/passdb/wscript_build index 03a0df4..a6620cd 100644 --- a/source3/passdb/wscript_build +++ b/source3/passdb/wscript_build @@ -13,13 +13,13 @@ bld.SAMBA3_MODULE('pdb_tdbsam', internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_tdbsam'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_tdbsam')) -bld.SAMBA3_MODULE('pdb_ldap', +bld.SAMBA3_MODULE('pdb_ldapsam', subsystem='pdb', deps='smbldap smbldaphelper', source=PDB_LDAP_SRC, init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldap') and bld.CONFIG_SET('HAVE_LDAP')) + internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldapsam'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldapsam') and bld.CONFIG_SET('HAVE_LDAP')) bld.SAMBA3_MODULE('pdb_smbpasswd', subsystem='pdb', diff --git a/source3/wscript b/source3/wscript index 097cd83..34fccb1 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1734,7 +1734,7 @@ main() { default_shared_modules.extend(TO_LIST('vfs_aio_linux')) if conf.CONFIG_SET('HAVE_LDAP'): - default_static_modules.extend(TO_LIST('pdb_ldap idmap_ldap')) + default_static_modules.extend(TO_LIST('pdb_ldapsam idmap_ldap')) if conf.CONFIG_SET('DARWINOS'): default_static_modules.extend(TO_LIST('charset_macosxfs')) -- 1.8.1.2