summaryrefslogtreecommitdiff
path: root/source3/passdb
diff options
context:
space:
mode:
Diffstat (limited to 'source3/passdb')
-rw-r--r--source3/passdb/pdb_ipa.c2
-rw-r--r--source3/passdb/pdb_ldap.c12
-rw-r--r--source3/passdb/pdb_ldap.h4
-rw-r--r--source3/passdb/pdb_nds.c2
-rw-r--r--source3/passdb/wscript_build8
5 files changed, 16 insertions, 12 deletions
diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c
index d31b37f224..a699aab870 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 6899b26464..dc6a9c3239 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -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();
diff --git a/source3/passdb/pdb_ldap.h b/source3/passdb/pdb_ldap.h
index 1372f33ce2..0420314044 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 cce4937ac9..d7c16daef4 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 03c8b56f7e..a6620cd7f4 100644
--- a/source3/passdb/wscript_build
+++ b/source3/passdb/wscript_build
@@ -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',