pc_files='libnet/netapi.pc',
vnum='0')
-bld.SAMBA3_LIBRARY('smbsharemodes',
- source='libsmb/smb_share_modes.c',
- public_deps='''talloc tdb_compat''',
- deps='''ccan-hash''',
- public_headers='include/smb_share_modes.h',
- pc_files='libsmb/smbsharemodes.pc',
- vnum='0')
-
-bld.SAMBA3_LIBRARY('nss_wins',
- source='../nsswitch/wins.c',
- deps='''param libsmb LIBTSOCKET''',
- realname='libnss_wins.so.2',
- soname='libnss_wins.so',
- vnum='2')
-
bld.SAMBA3_LIBRARY('gse',
source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
deps='krb5samba gensec param KRBCLIENT secrets3',
bld.SAMBA3_SUBSYSTEM('GROUPDB',
source='groupdb/mapping.c groupdb/mapping_tdb.c',
- deps='tdb_compat')
+ deps='tdb')
bld.SAMBA3_SUBSYSTEM('TLDAP',
source='''lib/tldap.c
lib/tldap_util.c
- lib/util_tsock.c''',
- deps='asn1util LIBTSOCKET')
+ ''',
+ deps='asn1util LIBTSOCKET samba3util')
# libpdb.so should not expose internal symbols that are only usable
# to the statically linked modules that are merged into libpdb.
# 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.append('!pdb_ldapsam_init*')
+private_pdb_match.append('!pdb_*_init')
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('samba-passdb',
+ source='',
+ deps='pdb',
+ private_library=False,
+ grouping_library=True,
+ 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.24.2')
-bld.SAMBA3_LIBRARY('pdb',
+bld.SAMBA3_SUBSYSTEM('pdb',
source='''passdb/pdb_get_set.c
passdb/passdb.c
lib/util_wellknown.c
passdb/pdb_interface.c
passdb/pdb_secrets.c
passdb/pdb_unixid.c''',
- deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
- 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.1.0')
+ deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping samba-credentials')
bld.SAMBA3_LIBRARY('smbldaphelper',
source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
lib/sharesec.c
lib/ldap_debug_handler.c
lib/util_names.c''',
- deps='samba-util PARAM_UTIL ldap lber LOADPARM_CTX samba3core smbconf param_local.h param_global.h cups''')
+ deps='''samba-util
+ PARAM_UTIL
+ ldap
+ lber
+ LOADPARM_CTX
+ samba3core
+ smbconf
+ param_local.h
+ param_global.h
+ cups''')
# this includes only the low level parse code, not stuff
# that requires knowledge of security contexts
lib/util_sid.c
lib/util_file.c
lib/util.c
+ lib/util_path.c
+ lib/util_procid.c
lib/util_sock.c
+ lib/util_tsock.c
lib/util_transfer_file.c
lib/sock_exec.c''',
- deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash')
+ deps='ndr LIBTSOCKET samba-security NDR_SECURITY samba-util util_tdb sys_rw iov_buf')
+if bld.env.with_ctdb:
+ SAMBA_CLUSTER_SUPPORT_SOURCES='''
+ lib/cluster_support.c
+ lib/dbwrap/dbwrap_ctdb.c
+ lib/messages_ctdbd.c
+ lib/ctdbd_conn.c
+ '''
+ SAMBA_CLUSTER_SUPPORT_DEPS='''
+ talloc
+ tevent
+ tdb
+ '''
+else:
+ SAMBA_CLUSTER_SUPPORT_SOURCES='''
+ lib/cluster_support.c
+ lib/ctdb_dummy.c
+ '''
+ SAMBA_CLUSTER_SUPPORT_DEPS='''
+ talloc
+ tevent
+ '''
+
+bld.SAMBA3_LIBRARY('samba-cluster-support',
+ source=SAMBA_CLUSTER_SUPPORT_SOURCES,
+ deps=SAMBA_CLUSTER_SUPPORT_DEPS,
+ allow_undefined_symbols=True,
+ private_library=True)
bld.SAMBA3_SUBSYSTEM('TDB_LIB',
source='''lib/dbwrap/dbwrap_open.c
- lib/dbwrap/dbwrap_ctdb.c
lib/dbwrap/dbwrap_watch.c
lib/g_lock.c''',
- deps='dbwrap')
+ deps='dbwrap samba-cluster-support')
+
+bld.SAMBA3_LIBRARY('messages_dgm',
+ source='''lib/messages_dgm.c lib/messages_dgm_ref.c''',
+ deps='''talloc UNIX_MSG POLL_FUNCS_TEVENT samba-debug
+ genrand''',
+ private_library=True)
+
+bld.SAMBA3_LIBRARY('messages_util',
+ source='''lib/messages_util.c''',
+ deps='samba-util',
+ private_library=True)
bld.SAMBA3_SUBSYSTEM('samba3core',
source='''lib/messages.c
- lib/messages_local.c
- lib/messages_ctdbd.c
- lib/ctdb_packet.c
- lib/ctdbd_conn.c
- lib/ctdb_conn.c
lib/util_cluster.c
lib/id_cache.c
lib/talloc_dict.c
lib/serverid.c
+ lib/server_id_db_util.c
lib/addrchange.c
../lib/util/debug_s3.c
lib/dumpcore.c
lib/audit.c
lib/tevent_wait.c
lib/idmap_cache.c
- lib/util_ea.c''',
+ lib/util_ea.c
+ lib/background.c''',
deps='''
samba3util
LIBTSOCKET
UTIL_PW
SAMBA_VERSION
PTHREADPOOL
+ UNIX_MSG
+ POLL_FUNCS_TEVENT
interfaces
param
dbwrap
samba3-util
errors3
+ server_id_db
+ messages_util
+ messages_dgm
+ talloc_report
TDB_LIB''')
bld.SAMBA3_LIBRARY('smbd_shim',
libsmb/clioplock.c
libsmb/clirap2.c
libsmb/async_smb.c
- libsmb/smb2cli_tcon.c
libsmb/reparse_symlink.c
libsmb/clisymlink.c
libsmb/smbsock_connect.c
SPNEGO_PARSE
LIBTSOCKET
KRBCLIENT
+ NDR_IOCTL
cli_smb_common
util_cmdline
tevent''',
source='libads/ldap_printer.c',
deps='samba-util krb5samba')
-bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
- source='lib/afs_settoken.c',
- deps='samba-util')
-
-bld.SAMBA3_SUBSYSTEM('LIBAFS',
- source='lib/afs.c',
- deps='samba-util LIBAFS_SETTOKEN')
-
bld.SAMBA3_LIBRARY('smbconf',
source='''lib/smbconf/smbconf_init.c
lib/smbconf/smbconf_reg.c''',
deps='samba3-util samba-util',
private_library=True)
+bld.SAMBA3_SUBSYSTEM('sysquotas',
+ source='''
+ lib/sysquotas.c
+ lib/sysquotas_linux.c
+ lib/sysquotas_xfs.c
+ lib/sysquotas_4A.c
+ lib/sysquotas_4B.c
+ lib/sysquotas_nfs.c
+ ''',
+ allow_warnings=True,
+ deps='samba3-util samba-util')
+
+NOTIFY_SOURCES=''
+NOTIFY_DEPS=''
+
+if bld.CONFIG_SET("HAVE_INOTIFY"):
+ NOTIFY_SOURCES += ' smbd/notify_inotify.c'
+
+if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
+ NOTIFY_SOURCES += ' smbd/notify_fam.c'
+ NOTIFY_DEPS += ' ' + bld.CONFIG_GET('SAMBA_FAM_LIBS')
+
bld.SAMBA3_LIBRARY('smbd_base',
source='''
smbd/server_reload.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_4B.c
- lib/sysquotas_nfs.c
- lib/background.c
lib/sessionid_tdb.c
lib/conn_tdb.c
smbd/fake_file.c
smbd/smb2_ioctl_named_pipe.c
smbd/smb2_ioctl_network_fs.c
smbd/smb2_keepalive.c
- smbd/smb2_find.c
+ smbd/smb2_query_directory.c
smbd/smb2_notify.c
smbd/smb2_getinfo.c
smbd/smb2_setinfo.c
smbd/oplock_irix.c
smbd/oplock_linux.c
smbd/notify.c
- smbd/notify_inotify.c
- smbd/notify_internal.c
- smbd/build_options.c''',
+ smbd/notify_msg.c
+ smbd/build_options.c''' + NOTIFY_SOURCES,
deps='''
talloc
tevent
LIBAFS
RPC_SERVICE
NDR_SMBXSRV
+ LEASES_DB
LIBASYS
- ccan-hash
+ sysquotas
NDR_SMB_ACL
netapi
NDR_IOCTL
- ''' + bld.env['dmapi_lib'],
+ notifyd
+ ''' +
+ bld.env['dmapi_lib'] +
+ NOTIFY_DEPS,
private_library=True)
bld.SAMBA3_SUBSYSTEM('LOCKING',
locking/posix.c
locking/share_mode_lock.c''',
deps='''
- tdb_compat
+ tdb
talloc
+ LEASES_DB
NDR_OPEN_FILES
FNAME_UTIL''')
-bld.SAMBA3_SUBSYSTEM('PROFILE',
- source='profile/profile.c',
- deps='samba-util')
+bld.SAMBA3_SUBSYSTEM('LEASES_DB',
+ source='locking/leases_db.c',
+ deps='NDR_LEASES_DB')
+
+if bld.CONFIG_GET("WITH_PROFILE"):
+ bld.SAMBA3_SUBSYSTEM('PROFILE',
+ source='profile/profile.c',
+ deps='samba-util')
+else:
+ bld.SAMBA3_SUBSYSTEM('PROFILE',
+ source='profile/profile_dummy.c',
+ deps='')
bld.SAMBA3_SUBSYSTEM('PRINTBASE',
source='''printing/notify.c printing/printing_db.c''',
- deps='samba-util tdb_compat')
+ deps='samba-util tdb')
bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
source='''printing/printing.c
printing/nt_printing_migrate_internal.c
printing/nt_printing_ads.c
printing/queue_process.c''',
- deps='PRINTBASE LIBADS_PRINTER tdb_compat printing_migrate')
+ deps='PRINTBASE LIBADS_PRINTER tdb printing_migrate')
bld.SAMBA3_LIBRARY('printing_migrate',
source='printing/nt_printing_migrate.c rpc_client/cli_winreg_spoolss.c printing/nt_printing_os2.c',
printing/print_standard.c
printing/print_iprint.c
printing/printer_list.c''',
- deps='NDR_PRINTCAP tdb_compat cups')
+ deps='NDR_PRINTCAP tdb cups')
bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
source='utils/passwd_util.c',
bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
source='lib/eventlog/eventlog.c',
- deps='NDR_EVENTLOG tdb_compat')
+ deps='NDR_EVENTLOG tdb')
bld.SAMBA3_SUBSYSTEM('LIBNMB',
source='''libsmb/unexpected.c
libsmb/namequery.c
libsmb/conncache.c
libads/sitename_cache.c''',
- deps='addns lmhosts resolv')
+ deps='LIBTSOCKET samba3util addns lmhosts resolv')
bld.SAMBA3_SUBSYSTEM('SERVICES',
source='''services/svc_spoolss.c
bld.SAMBA3_SUBSYSTEM('SLCACHE',
source='libsmb/samlogon_cache.c',
- deps='samba-util tdb_compat')
+ deps='samba-util tdb')
bld.SAMBA3_SUBSYSTEM('DCUTIL',
source='''libsmb/namequery_dc.c
bld.SAMBA3_LIBRARY('trusts_util',
source='libsmb/trusts_util.c',
- deps='libcli_netlogon3 msrpc3 pdb',
+ deps='libcli_netlogon3 msrpc3 samba-passdb',
private_library=True)
bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
source='lib/util_tdb.c',
deps='talloc samba3-util')
+bld.SAMBA3_LIBRARY('msghdr',
+ source='lib/msghdr.c',
+ deps='replace iov_buf',
+ private_library=True)
+
bld.SAMBA3_LIBRARY('samba3-util',
- source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/namearray.c lib/file_id.c''',
+ source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/namearray.c lib/file_id.c''',
deps='samba-util charset',
private_library=True)
source='rpc_client/init_samr.c',
deps='samba-util')
+bld.SAMBA3_SUBSYSTEM('LIBLSA',
+ source='lib/lsa.c')
+
########################## BINARIES #################################
bld.SAMBA3_BINARY('smbd/smbd',
- source='smbd/server.c',
- deps='smbd_base EPMD LSASD',
+ source='smbd/server.c smbd/smbd_cleanupd.c',
+ deps='smbd_base EPMD LSASD FSSD MDSSD',
install_path='${SBINDIR}')
bld.SAMBA3_BINARY('nmbd/nmbd',
param
libsmb
popt_samba3
- PROFILE''',
+ ''',
install_path='${SBINDIR}')
winbindd/wb_group_members.c
winbindd/wb_getgrsid.c
winbindd/wb_query_user_list.c
+ winbindd/wb_query_group_list.c
winbindd/wb_fill_pwent.c
winbindd/wb_next_pwent.c
winbindd/wb_next_grent.c
winbindd/winbindd_list_groups.c
winbindd/winbindd_check_machine_acct.c
winbindd/winbindd_change_machine_acct.c
+ winbindd/winbindd_irpc.c
winbindd/winbindd_ping_dc.c
winbindd/winbindd_pam_auth.c
winbindd/winbindd_pam_logoff.c
LIBCLI_SAMR
SLCACHE
RPC_NDR_DSSETUP
- RPC_NDR_WBINT
- SRV_NDR_WBINT
+ RPC_NDR_WINBIND
+ SRV_NDR_WINBIND
RPC_SAMR
RPC_LSARPC
RPC_SERVER
WB_REQTRANS
TDB_VALIDATE
+ MESSAGING
+ LIBLSA
''',
enabled=bld.env.build_winbind,
install_path='${SBINDIR}')
rpcclient/cmd_eventlog.c
rpcclient/cmd_winreg.c
rpcclient/cmd_fss.c
- rpcclient/cmd_witness.c''',
+ rpcclient/cmd_witness.c
+ rpcclient/cmd_clusapi.c''',
deps='''
talloc
popt_samba3
INIT_SAMR
RPC_NDR_FSRVP
RPC_NDR_WITNESS
+ RPC_NDR_CLUSAPI
''')
bld.SAMBA3_BINARY('client/smbclient',
source='''client/client.c
client/clitar.c
client/dnsbrowse.c''',
- ldflags='-larchive',
deps='''
talloc
popt_samba3
libsmb
msrpc3
RPC_NDR_SRVSVC
- cli_smb_common''')
+ cli_smb_common
+ archive
+ ''')
bld.SAMBA3_BINARY('net',
source='''utils/net.c
utils/net_printing.c
utils/net_rpc_trust.c
utils/net_rpc_conf.c
+ utils/net_afs.c
+ utils/net_notify.c
registry/reg_parse.c
registry/reg_format.c
registry/reg_import.c
param
popt_samba3''')
-bld.SAMBA3_BINARY('smbta-util',
- source='utils/smbta-util.c',
- deps='''
- talloc
- secrets3
- param''')
+smbstatus_source = 'utils/status.c smbd/notify_msg.c'
+
+if bld.CONFIG_GET("WITH_PROFILE"):
+ smbstatus_source += ' utils/status_profile.c'
+else:
+ smbstatus_source += ' utils/status_profile_dummy.c'
bld.SAMBA3_BINARY('smbstatus',
- source='''utils/status.c
- utils/status_profile.c
- smbd/notify_internal.c''',
+ source=smbstatus_source,
deps='''
talloc
param
libsmb
msrpc3
popt_samba3
- PROFILE
RPC_NDR_SRVSVC''')
bld.SAMBA3_BINARY('smbpasswd',
torture/test_authinfo_structs.c
torture/test_smbsock_any_connect.c
torture/test_cleanup.c
- torture/test_ctdbconn.c
torture/test_notify.c
lib/tevent_barrier.c
torture/test_dbwrap_watch.c
torture/test_idmap_tdb_common.c
torture/test_dbwrap_ctdb.c
torture/test_buffersize.c
+ torture/test_messaging_read.c
+ torture/test_messaging_fd_passing.c
+ torture/test_oplock_cancel.c
torture/t_strappend.c
+ torture/bench_pthreadpool.c
torture/wbc_async.c''',
deps='''
talloc
LOCKING
NDR_OPEN_FILES
idmap
+ IDMAP_TDB_COMMON
+ samba-cluster-support
''',
+ cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
install=False)
bld.SAMBA3_BINARY('smbconftort',
param''',
install=False)
+bld.SAMBA3_BINARY('msg_sink',
+ source='torture/msg_sink.c',
+ deps='''
+ talloc
+ param''',
+ install=False)
+
+bld.SAMBA3_BINARY('msg_source',
+ source='torture/msg_source.c',
+ deps='''
+ talloc
+ param''',
+ install=False)
+
bld.SAMBA3_BINARY('smbcacls',
- source='utils/smbcacls.c',
+ source='utils/smbcacls.c lib/util_sd.c',
deps='''
talloc
popt_samba3
LIBEVENTLOG''')
bld.SAMBA3_BINARY('sharesec',
- source='utils/sharesec.c',
+ source='utils/sharesec.c lib/util_sd.c',
deps='''
talloc
+ msrpc3
+ libcli_lsa3
popt_samba3''')
bld.SAMBA3_BINARY('pdbtest',
deps='''
talloc
krb5samba
- iniparser
+ tiniparser
libsmb
popt_samba3
LIBNTLMSSP gse gensec''')
source="""utils/regedit.c utils/regedit_samba3.c
utils/regedit_wrap.c utils/regedit_treeview.c
utils/regedit_valuelist.c utils/regedit_dialog.c
- utils/regedit_hexedit.c""",
+ utils/regedit_hexedit.c utils/regedit_list.c""",
deps='ncurses menu panel form registry param popt_samba3 smbregistry',
enabled=bld.env.build_regedit)
+bld.SAMBA3_BINARY('spotlight2sparql',
+ source='''
+ rpc_server/mdssvc/sparql_parser_test.c
+ rpc_server/mdssvc/sparql_parser.c
+ rpc_server/mdssvc/sparql_lexer.c
+ rpc_server/mdssvc/sparql_mapping.c''',
+ deps='samba3-util talloc ' + bld.env['libtracker'],
+ enabled=bld.env.with_spotlight,
+ install=False)
+
########################## INCLUDES #################################
bld.RECURSE('auth')
bld.RECURSE('libgpo/gpext')
bld.RECURSE('lib/pthreadpool')
bld.RECURSE('lib/asys')
+bld.RECURSE('lib/poll_funcs')
+bld.RECURSE('lib/unix_msg')
bld.RECURSE('librpc')
bld.RECURSE('librpc/idl')
bld.RECURSE('libsmb')
bld.RECURSE('modules')
-bld.RECURSE('pam_smbpass')
bld.RECURSE('param')
bld.RECURSE('passdb')
bld.RECURSE('rpc_server')
bld.RECURSE('../examples/VFS')
bld.RECURSE('lib/netapi/tests')
bld.RECURSE('lib/netapi/examples')
+bld.RECURSE('smbd/notifyd')
bld.ENFORCE_GROUP_ORDERING()
bld.CHECK_PROJECT_RULES()