lib/ms_fnmatch.c
lib/tallocmsg.c lib/dmallocmsg.c
intl/lang_tdb.c
- lib/conn_tdb.c lib/gencache.c
- lib/sessionid_tdb.c
+ lib/gencache.c
lib/events.c
lib/server_contexts.c
lib/server_prefork.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
smbd/process.c smbd/service.c smbd/error.c
printing/printspoolss.c printing/spoolssd.c
lib/sysquotas.c lib/sysquotas_linux.c
- lib/sysquotas_xfs.c lib/sysquotas_4A.c
+ lib/sysquotas_xfs.c lib/sysquotas_4A.c lib/sysquotas_4B.c
lib/sysquotas_nfs.c
lib/background.c
+ lib/sessionid_tdb.c
+ lib/conn_tdb.c
smbd/fake_file.c
smbd/quotas.c smbd/ntquotas.c smbd/msdfs.c
smbd/aio.c smbd/statvfs.c
smbd/smbXsrv_tcon.c
smbd/smbXsrv_open.c
smbd/server_exit.c
+ smbd/durable.c
${MANGLE_SRC}'''
SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
STATUS_SRC = '''utils/status.c utils/status_profile.c smbd/notify_internal.c'''
-CCLEAN_SRC = '''utils/cclean.c utils/interact.c'''
-
SMBCONTROL_SRC = '''utils/smbcontrol.c'''
SMBTREE_SRC = '''utils/smbtree.c'''
lib/tevent_barrier.c
torture/test_dbwrap_watch.c
torture/test_idmap_tdb_common.c
+ torture/test_dbwrap_ctdb.c
torture/t_strappend.c'''
SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
torture/wbc_async.c'''
-MASKTEST_SRC = '''torture/masktest.c'''
-
MSGTEST_SRC = '''torture/msgtest.c'''
-LOCKTEST_SRC = '''torture/locktest.c'''
-
PDBTEST_SRC = '''torture/pdbtest.c'''
VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c
libcli_netlogon3
LIBCLI_SAMR
INIT_SAMR
+ auth
''',
public_headers='../source3/lib/netapi/netapi.h',
pc_files='libnet/netapi.pc',
source=WINBIND_WINS_NSS_SRC,
deps='''param libsmb LIBTSOCKET''',
realname='libnss_wins.so.2',
+ soname='libnss_wins.so',
vnum='2')
bld.SAMBA3_LIBRARY('gse',
bld.SAMBA3_LIBRARY('gpo',
source='${LIBGPO_SRC}',
- deps='talloc ads TOKEN_UTIL gpext',
+ deps='talloc ads TOKEN_UTIL gpext auth',
vars=locals(),
private_library=True)
source=TLDAP_SRC,
deps='asn1util LIBTSOCKET')
+# 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 = []
+
+# 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*', '!get_userattr_list',
+ '!dominfo_attr_list', '!get_attr_key2string',
+ '!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
+ '!get_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)
+
bld.SAMBA3_LIBRARY('pdb',
source=PASSDB_SRC,
deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
- private_library=True,
+ private_library=False,
+ pc_files=[],
+ public_headers_install=True,
public_headers='''
include/passdb.h
passdb/machine_sid.h
passdb/lookup_sid.h''',
+ abi_match=private_pdb_match + ['*'],
+ abi_directory='passdb/ABI',
+ vnum='0',
vars=locals())
+bld.SAMBA3_LIBRARY('smbldaphelper',
+ source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
+ deps='smbldap secrets3',
+ allow_undefined_symbols=True,
+ enabled=bld.CONFIG_SET('HAVE_LDAP'),
+ private_library=True)
+
bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
source=SERVER_MUTEX_SRC,
deps='talloc')
bld.SAMBA3_LIBRARY('smbregistry',
source=REG_BASE_SRC,
deps='''smbd_shim tdb-wrap3 NDR_SECURITY util_tdb talloc
- replace util_reg samba-util security
+ replace util_reg samba-util samba-security
errors3 dbwrap samba3-util''',
allow_undefined_symbols=True,
private_library=True)
bld.SAMBA3_SUBSYSTEM('samba3util',
source=LIB_UTIL_SRC,
- deps='ndr security NDR_SECURITY samba-util util_tdb ccan-hash',
+ deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash',
vars=locals())
bld.SAMBA3_SUBSYSTEM('samba3core',
source=SMBLDAP_SRC,
deps='ldap lber samba-util param',
vars=locals(),
- enabled=bld.env.HAVE_LDAP,
- private_library=True,
+ enabled=bld.CONFIG_SET("HAVE_LDAP"),
+ private_library=False,
+ abi_directory='lib/ABI',
+ abi_match='smbldap_*',
+ pc_files=[],
+ vnum='0',
public_headers='include/smbldap.h include/smb_ldap.h')
bld.SAMBA3_LIBRARY('ads',
NDR_SMBXSRV
LIBASYS
ccan-hash
- ''',
+ NDR_SMB_ACL
+ netapi
+ ''' + bld.env['dmapi_lib'],
private_library=True,
vars=locals())
param
pdb
popt_samba3
+ smbd_base
LOCKING
PLAINTEXT_AUTH
PASSCHANGE
msrpc3
gpo
ads
+ smbd_base
LIBADS_SERVER
LIBADS_PRINTER
SMBREADLINE
talloc
param
popt_samba3
- LOCKING
- PROFILE''',
- vars=locals())
-
-bld.SAMBA3_BINARY('cclean',
- source=CCLEAN_SRC,
- deps='''
- talloc
- param
- popt_samba3
+ smbd_base
LOCKING
PROFILE''',
vars=locals())
NDR_OPEN_FILES
idmap
''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('smbconftort',
talloc
param
popt_samba3''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('replacetort',
deps='replace replace-test',
install=False)
-bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
- source=MASKTEST_SRC,
- deps='''
- talloc
- param
- libsmb''',
- vars=locals())
-
bld.SAMBA3_BINARY('msgtest',
source=MSGTEST_SRC,
deps='''
talloc
param''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('smbcacls',
popt_samba3''',
vars=locals())
-bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
- source=LOCKTEST_SRC,
- deps='''
- talloc
- param
- libsmb
- LOCKING''',
- vars=locals())
-
bld.SAMBA3_BINARY('pdbtest',
source=PDBTEST_SRC,
deps='''
talloc
pdb
- popt_samba3''',
+ popt_samba3
+ AUTH_COMMON
+ auth''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('vfstest',
vfs
popt_samba3
SMBREADLINE''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('log2pcap',
source=LOG2PCAP_SRC,
deps='''talloc popt''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('locktest2',
param
libsmb
LOCKING''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('debug2html',
source=DEBUG2HTML_SRC,
deps='''talloc popt''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('smbfilter',
talloc
param
LIBNMB''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('versiontest',
deps='''
SAMBA_VERSION
param''',
+ install=False,
vars=locals())
-bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
+bld.SAMBA3_BINARY('ntlm_auth',
source=NTLM_AUTH_SRC,
deps='''
talloc
bld.SAMBA3_BINARY('timelimit',
source='script/tests/timelimit.c',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('rpc_open_tcp',
deps='''
talloc
msrpc3''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('test_lp_load',
talloc
param
popt_samba3''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('dbwrap_tool',
deps='''
talloc
popt_samba3''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('split_tokens',
deps='''
talloc
popt_samba3''',
+ install=False,
vars=locals())
bld.SAMBA3_BINARY('vlp',
deps='''
talloc
param''',
+ install=False,
vars=locals())
bld.SAMBA3_PYTHON('pysmbd',
realname='samba/samba3/smbd.so'
)
+bld.SAMBA3_PYTHON('pylibsmb',
+ source='libsmb/pylibsmb.c',
+ deps='smbclient samba-credentials',
+ realname='samba/samba3/libsmb_samba_internal.so'
+ )
+
swat_dir = os.path.join(bld.curdir, '../swat')
swat_files = recursive_dirlist(swat_dir, swat_dir, '*')
bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')