From dbb076fdc1687ca8180d9b4e5697cf06cba480fc Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Thu, 13 Sep 2012 15:40:31 +0300 Subject: [PATCH] s3: make ldapsam-related functions a smbldaphelper subsystem Since these functions are used in pdb_ldap and idmap_ldap, and pdb_ldap might be statically linked to libpdb (default), it is better to keep them as separate subsystem to avoid polluting libpdb namespace. This is first step in refactoring libpdb. Right now I cannot move these functions into proper libsmbldaphelper as it uses more of libpdb-included functions and linking pdb_ldap against libsmbldaphelper library would have created a loop if pdb_ldap is included into libpdb. --- source3/passdb/wscript_build | 4 ++-- source3/winbindd/wscript_build | 2 +- source3/wscript_build | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source3/passdb/wscript_build b/source3/passdb/wscript_build index 1dfdfd0444a394df8f96d45643779f4882f65f5d..d26afc2a700fd2ae15e0c970199fbd705fa939eb 100644 --- a/source3/passdb/wscript_build +++ b/source3/passdb/wscript_build @@ -1,7 +1,7 @@ #!/usr/bin/env python PDB_TDBSAM_SRC = 'pdb_tdb.c' -PDB_LDAP_SRC = 'pdb_ldap.c pdb_nds.c pdb_ipa.c pdb_ldap_util.c' +PDB_LDAP_SRC = 'pdb_ldap.c pdb_nds.c pdb_ipa.c' PDB_SMBPASSWD_SRC = 'pdb_smbpasswd.c' PDB_WBC_SAM_SRC = 'pdb_wbc_sam.c' @@ -15,7 +15,7 @@ bld.SAMBA3_MODULE('pdb_tdbsam', bld.SAMBA3_MODULE('pdb_ldap', subsystem='pdb', - deps='smbldap', + deps='smbldap smbldaphelper', source=PDB_LDAP_SRC, init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'), diff --git a/source3/winbindd/wscript_build b/source3/winbindd/wscript_build index 9f11affcc994f049a0e911ca9cf9d5f4cea6cefd..af3741b0b91a595a10d5a652762daa673e087e24 100644 --- a/source3/winbindd/wscript_build +++ b/source3/winbindd/wscript_build @@ -62,7 +62,7 @@ bld.SAMBA3_MODULE('idmap_passdb', bld.SAMBA3_MODULE('idmap_ldap', subsystem='idmap', source=IDMAP_LDAP_SRC, - deps='smbldap', + deps='smbldap smbldaphelper', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ldap'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap') and bld.env.HAVE_LDAP) diff --git a/source3/wscript_build b/source3/wscript_build index c7395e765b0c51a8f8e3d115f9cb4f7698923ad9..c534ae6f762cfc5a3d32a856d951a814cc398935 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -215,7 +215,6 @@ PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c passdb/account_pol.c ${PRIVILEGES_SRC} lib/util_nscd.c lib/winbind_util.c passdb/pdb_util.c passdb/pdb_interface.c - passdb/pdb_ldap_schema.c passdb/pdb_secrets.c passdb/pdb_unixid.c''' #FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC @@ -733,6 +732,10 @@ bld.SAMBA3_LIBRARY('pdb', vnum='0', vars=locals()) +bld.SAMBA3_SUBSYSTEM('smbldaphelper', + source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c', + deps='smbldap secrets3 pdb') + bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX', source=SERVER_MUTEX_SRC, deps='talloc') -- 1.7.12