Rename pdb_ldap to pdb_ldapsam
authorAndreas Schneider <asn@samba.org>
Mon, 28 Jan 2013 15:16:42 +0000 (16:16 +0100)
committerAlexander Bokovoy <ab@samba.org>
Wed, 6 Feb 2013 10:51:11 +0000 (11:51 +0100)
This patch moves pdb_ldap to pdb_ldapsam unconditionally
and makes possible to load ldapsam.so dynamically

Reviewed-by: Alexander Bokovoy <ab@samba.org>
source3/passdb/pdb_ipa.c
source3/passdb/pdb_ldap.c
source3/passdb/pdb_ldap.h
source3/passdb/pdb_nds.c
source3/passdb/wscript_build
source3/wscript

index d31b37f22434889a52d395bdf3da1487bf870006..a699aab870c22fe65dc0cb28e6fab208c372c191 100644 (file)
@@ -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;
        }
index 6899b26464684d3c991d945d6a9d8dd81ce48095..dc6a9c3239ae0e2d80853b4ea8e287bbc973ae17 100644 (file)
@@ -6439,7 +6439,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;
@@ -6588,11 +6589,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();
index 1372f33ce20bdda926fe9570aa461d9a612d4863..04203140443282b6ce374d66d47fea0c3c29e728 100644 (file)
@@ -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,
index cce4937ac9d110d209b0151bb99e1c232ebc2034..d7c16daef42e4a28cf34ee3adfdee9384eec88e7 100644 (file)
@@ -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";
 
index 03c8b56f7e6575e24fa5d2de20d7c70379e4d174..a6620cd7f4b25280b45a8be8b08dd18327e0a2f2 100644 (file)
@@ -13,15 +13,13 @@ bld.SAMBA3_MODULE('pdb_tdbsam',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_tdbsam'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_tdbsam'))
 
-# This cannot be built as a shared module cause it has two init functions. The
-# code needs to be cleaned up and split to allow this.
-bld.SAMBA3_MODULE('pdb_ldap',
+bld.SAMBA3_MODULE('pdb_ldapsam',
                  subsystem='pdb',
                  deps='smbldap smbldaphelper',
                  source=PDB_LDAP_SRC,
                  init_function='',
-                 internal_module=True,
-                 enabled=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',
index 7c63a9cdba2bb7aabc080d88ef550b1f659e7334..d223316a3b03e5bd86c8b0415fca689eece63998 100644 (file)
@@ -1730,7 +1730,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'))