summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/passdb/ABI/pdb-0.sigs10
-rwxr-xr-xsource3/wscript_build28
2 files changed, 21 insertions, 17 deletions
diff --git a/source3/passdb/ABI/pdb-0.sigs b/source3/passdb/ABI/pdb-0.sigs
index d4a6b6acb0..2bccc0880e 100644
--- a/source3/passdb/ABI/pdb-0.sigs
+++ b/source3/passdb/ABI/pdb-0.sigs
@@ -43,8 +43,6 @@ grant_all_privileges: bool (const struct dom_sid *)
grant_privilege_by_name: bool (const struct dom_sid *, const char *)
grant_privilege_set: bool (const struct dom_sid *, struct lsa_PrivilegeSet *)
groupdb_tdb_init: const struct mapping_backend *(void)
-groupmap_attr_list: 0xXXXX
-groupmap_attr_list_to_delete: 0xXXXX
idpool_attr_list: {attrib = 2, name = 0xXXXX "uidNumber"}, {attrib = 3, name = 0xXXXX "gidNumber"}, {attrib = 24, name = 0xXXXX "objectClass"}, {attrib = 0, name = 0xXXXX}
init_account_policy: bool (void)
init_buffer_from_samu: uint32_t (uint8_t **, struct samu *, bool)
@@ -52,7 +50,6 @@ init_samu_from_buffer: bool (struct samu *, uint32_t, uint8_t *, uint32_t)
initialize_password_db: bool (bool, struct tevent_context *)
is_dc_trusted_domain_situation: bool (const char *)
is_privileged_sid: bool (const struct dom_sid *)
-ldapsam_search_suffix_by_name: int (struct ldapsam_privates *, const char *, LDAPMessage **, const char **)
local_password_change: NTSTATUS (const char *, int, const char *, char **, char **)
login_cache_delentry: bool (const struct samu *)
login_cache_init: bool (void)
@@ -183,13 +180,8 @@ pdb_getsampwsid: bool (struct samu *, const struct dom_sid *)
pdb_gid_to_sid: bool (gid_t, struct dom_sid *)
pdb_group_rid_to_gid: gid_t (uint32_t)
pdb_increment_bad_password_count: bool (struct samu *)
-pdb_init_ldapsam: NTSTATUS (struct pdb_methods **, const char *)
-pdb_ipa_init: NTSTATUS (void)
pdb_is_password_change_time_max: bool (time_t)
pdb_lookup_rids: NTSTATUS (const struct dom_sid *, int, uint32_t *, const char **, enum lsa_SidType *)
-pdb_nds_get_password: int (struct smbldap_state *, char *, size_t *, char *)
-pdb_nds_init: NTSTATUS (void)
-pdb_nds_set_password: int (struct smbldap_state *, char *, const char *)
pdb_new_rid: bool (uint32_t *)
pdb_nop_add_group_mapping_entry: NTSTATUS (struct pdb_methods *, GROUP_MAP *)
pdb_nop_delete_group_mapping_entry: NTSTATUS (struct pdb_methods *, struct dom_sid)
@@ -259,7 +251,6 @@ pdb_update_bad_password_count: bool (struct samu *, bool *)
pdb_update_group_mapping_entry: NTSTATUS (GROUP_MAP *)
pdb_update_login_attempts: NTSTATUS (struct samu *, bool)
pdb_update_sam_account: NTSTATUS (struct samu *)
-priv2ld: LDAP *(struct ldapsam_privates *)
privilege_create_account: NTSTATUS (const struct dom_sid *)
privilege_delete_account: NTSTATUS (const struct dom_sid *)
privilege_enum_sids: NTSTATUS (enum sec_privilege, TALLOC_CTX *, struct dom_sid **, int *)
@@ -292,7 +283,6 @@ smb_nscd_flush_group_cache: void (void)
smb_nscd_flush_user_cache: void (void)
smb_register_passdb: NTSTATUS (int, const char *, pdb_init_function)
smb_set_primary_group: int (const char *, const char *)
-smbldap_search_domain_info: NTSTATUS (struct smbldap_state *, LDAPMessage **, const char *, bool)
uid_to_sid: void (struct dom_sid *, uid_t)
uid_to_unix_users_sid: void (uid_t, struct dom_sid *)
unix_groups_domain_name: const char *(void)
diff --git a/source3/wscript_build b/source3/wscript_build
index 048875d66f..2903594f06 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -693,14 +693,28 @@ bld.SAMBA3_SUBSYSTEM('TLDAP',
source=TLDAP_SRC,
deps='asn1util LIBTSOCKET')
-static_pdb_modules = ['tdbsam', 'ldap', 'smbpasswd', 'wbc_sam']
-static_pdb_match = filter(lambda x: bld.SAMBA3_IS_STATIC_MODULE('pdb_%s' % x), static_pdb_modules)
+# libpdb.so should not expose internal symbols that are only usable
+# to the statically linked modules that are merged into libpdb.
+# Note that we always filter these symbols out in libpdb, even
+# when modules are not linked statically. In the latter case
+# symbols will not be present in the libpdb anyway so no hurt is
+# done to the version script.
+static_pdb_match = ['tdbsam', 'smbpasswd', 'wbc_sam']
private_pdb_match = []
-if bld.SAMBA3_IS_STATIC_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED():
- static_pdb_match.append('samba_dsdb')
- private_pdb_match.append('!idmap_init')
- private_pdb_match.append('!idmap_sids_to_xids')
- private_pdb_match.append('!idmap_xids_to_sids')
+
+# AD DC module when linked statically will pull in few source4/winbind
+# dependencies which are not used outside AD DC module
+static_pdb_match.append('samba_dsdb')
+private_pdb_match.append('!idmap_init')
+private_pdb_match.append('!idmap_sids_to_xids')
+private_pdb_match.append('!idmap_xids_to_sids')
+
+# ldap module is actually three modules merged together: ldapsam, ipa, and nds
+static_pdb_match = static_pdb_match + ['ldap', 'ipa', 'nds']
+ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info', '!ldapsam_*', '!groupmap_attr_list*']
+private_pdb_match.append('!pdb_nds_*')
+private_pdb_match.append('!pdb_init_ldapsam')
+private_pdb_match = private_pdb_match + ldapsam_pdb_match
private_pdb_match = private_pdb_match + map(lambda x: '!pdb_%s_init' % x, static_pdb_match)