from samba_utils import *
import samba_version, samba3
-# enable building of public headers in the build tree
-bld.env.build_public_headers = 'include/public'
-
-# these are includes which appear in public headers, but with #ifdef conditional
-# compilation, so they are safe
-bld.env.public_headers_skip = ['lib/ldb_compat.h']
-
-# s3 public headers refer to non-public headers
-bld.env.public_headers_allow_broken = True
-
TDB_LIB_SRC = '''
lib/dbwrap/dbwrap_open.c
lib/dbwrap/dbwrap_tdb.c
LIBCLI_SPOOLSS_SRC = '''rpc_client/cli_spoolss.c
rpc_client/init_spoolss.c'''
-LIBCLI_LSA_SRC = '''rpc_client/cli_lsarpc.c'''
+LIBCLI_LSA_SRC = '''rpc_client/cli_lsarpc.c rpc_client/util_lsarpc.c'''
LIBCLI_SAMR_SRC = 'rpc_client/cli_samr.c'
lib/substitute.c lib/substitute_generic.c
lib/ms_fnmatch.c
lib/tallocmsg.c lib/dmallocmsg.c
- libsmb/clisigning.c libsmb/smb_signing.c
+ libsmb/smb_signing.c
intl/lang_tdb.c
lib/conn_tdb.c lib/gencache.c
lib/sessionid_tdb.c
- lib/module.c lib/events.c
+ lib/events.c
lib/server_contexts.c
lib/server_prefork.c
lib/server_prefork_util.c
libsmb/clitrans.c libsmb/clisecdesc.c libsmb/clidgram.c
libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
libsmb/clioplock.c libsmb/clirap2.c
- libsmb/smb_seal.c libsmb/async_smb.c libsmb/read_smb.c
+ libsmb/smb_seal.c libsmb/async_smb.c
+ libsmb/read_smb.c libsmb/clisigning.c
libsmb/smb2cli_base.c
libsmb/smb2cli_negprot.c
libsmb/smb2cli_session.c
smbd/file_access.c
smbd/dnsregister.c smbd/globals.c
smbd/smb2_server.c
- smbd/smb2_signing.c
smbd/smb2_glue.c
smbd/smb2_negprot.c
smbd/smb2_sesssetup.c
utils/net_rpc_join.c utils/net_time.c utils/net_lookup.c
utils/net_cache.c utils/net_groupmap.c
utils/net_idmap.c utils/net_idmap_check.c
+ utils/interact.c
utils/net_status.c utils/net_rpc_printer.c utils/net_rpc_rights.c
utils/net_rpc_service.c utils/net_rpc_registry.c utils/net_usershare.c
utils/netlookup.c utils/net_sam.c utils/net_rpc_shell.c
utils/net_dns.c utils/net_ads_gpo.c
utils/net_conf.c utils/net_join.c utils/net_user.c
utils/net_group.c utils/net_file.c utils/net_registry.c
+ utils/net_registry_check.c
utils/net_dom.c utils/net_share.c
utils/net_g_lock.c
utils/net_serverid.c
torture/test_addrchange.c
torture/test_posix_append.c
torture/test_nttrans_create.c
+ torture/test_nttrans_fsctl.c
torture/test_case_insensitive.c
torture/test_notify_online.c
torture/test_smb2.c
+ torture/test_authinfo_structs.c
torture/test_smbsock_any_connect.c'''
SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
WINBIND_WINS_NSS_SRC = '''../nsswitch/wins.c'''
-WBINFO_SRC = '''../nsswitch/wbinfo.c'''
-
NTLM_AUTH_SRC1 = '''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c'''
NTLM_AUTH_SRC = '''${NTLM_AUTH_SRC1}'''
LIBS='ICONV'
-if bld.env.toplevel_build:
- config_h = "../include/config.h"
-else:
- config_h = "include/config.h"
+config_h = "../include/config.h"
-bld.SAMBA_GENERATOR('build_options',
- source= config_h + ' script/mkbuildoptions-waf.awk',
- target='smbd/build_options.c',
- rule='${AWK} -f ${SRC[1].abspath(env)} > ${TGT} < ${SRC[0].abspath(env)}')
+bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
t = bld.SAMBA_GENERATOR('build_env.h',
source='script/build_env.sh',
bld.SETUP_BUILD_GROUPS()
-if not bld.env.toplevel_build:
- # when using a toplevel build, these are already supplied
- samba_version.load_version(bld.env)
- bld.SAMBA_MKVERSION('include/version.h')
- bld.RECURSE('../lib/replace')
- bld.RECURSE('../dynconfig')
- bld.env.suffix3 = ''
-
-
######################## SUBSYSTEMS #################################
bld.SAMBA3_LIBRARY('netapi',
source=LIBNETAPI_SRC,
public_deps='''talloc tdb_compat cap wbclient smbd_shim libsmb KRBCLIENT
- pdb SMBLDAP param samba-util
+ pdb param samba-util
LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
- RPC_CLIENT_SCHANNEL smbconf REG_SMBCONF TOKEN_UTIL
+ RPC_CLIENT_SCHANNEL smbconf REG_SMBCONF
LIBCLI_SAMR libcli_lsa3 LIBRPCCLI_NETLOGON
RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_INITSHUTDOWN
INIT_NETLOGON INIT_SAMR popt_samba3''',
vnum='0',
vars=locals())
-bld.SAMBA3_LIBRARY('libsmb/smbclient',
+bld.SAMBA3_LIBRARY('smbclient',
source=LIBSMBCLIENT_SRC,
- public_deps='''talloc tdb_compat wbclient cap param smbd_shim libsmb KRBCLIENT pdb SMBLDAP
+ public_deps='''talloc tdb_compat wbclient cap param smbd_shim libsmb KRBCLIENT pdb
LIBMSRPC_GEN msrpc3 libcli_lsa3 RPC_NDR_SRVSVC popt_samba3''',
public_headers='include/libsmbclient.h',
- vnum='0',
- pc_files=[],
+ abi_directory='libsmb/ABI',
+ abi_match='smbc_*',
+ vnum='0.1.0',
+ pc_files='libsmb/smbclient.pc',
vars=locals())
bld.SAMBA3_LIBRARY('smbsharemodes',
deps='''ndr-standard NDR_DSSETUP NDR_SPOOLSS''',
vars=locals())
-bld.SAMBA3_SUBSYSTEM('LIBGPO',
- source='${LIBGPO_SRC}',
- deps='gpext talloc',
- vars=locals())
+bld.SAMBA3_LIBRARY('libgpo',
+ source='${LIBGPO_SRC}',
+ deps='talloc ads TOKEN_UTIL gpext',
+ vars=locals(),
+ private_library=True)
bld.SAMBA3_SUBSYSTEM('AVAHI',
source=AVAHI_SRC,
source=PASSDB_SRC,
deps='SECRETS3 SMBLDAP GROUPDB wbclient LIBCLI_AUTH flag_mapping',
private_library=True,
+ public_headers='''
+ include/passdb.h
+ passdb/machine_sid.h
+ passdb/lookup_sid.h''',
+ pc_files=[],
+ vnum='0',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
source=PARAM_UTIL_SRC,
deps='samba-util')
-if bld.env.toplevel_build:
- bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
- source='param/loadparm_ctx.c',
- deps='''s3_param_h param''',
- vars=locals())
+bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
+ source='param/loadparm_ctx.c',
+ deps='''s3_param_h param''',
+ vars=locals())
bld.SAMBA_GENERATOR('param/param_global_h',
source= 'param/loadparm.c ../script/mkparamdefs.pl',
source=PARAM_WITHOUT_REG_SRC,
deps='samba-util PARAM_UTIL smbd_conn ldap lber LOADPARM_CTX samba3core smbconf param_local_h param/param_global_h''')
-if bld.env.toplevel_build:
- bld.SAMBA3_PYTHON('pys3param',
- source='param/pyparam.c',
- deps='param',
- public_deps='samba-hostconfig pytalloc-util talloc',
- realname='samba/samba3/param.so')
+bld.SAMBA3_PYTHON('pys3param',
+ source='param/pyparam.c',
+ deps='param',
+ public_deps='samba-hostconfig pytalloc-util talloc',
+ realname='samba/samba3/param.so')
bld.SAMBA3_SUBSYSTEM('param_service',
source='param/service.c',
bld.SAMBA3_SUBSYSTEM('REG_FULL',
source=REG_FULL_SRC,
- deps='REG_SMBCONF',
+ deps='REG_SMBCONF tdb-wrap3',
vars=locals())
bld.SAMBA3_LIBRARY('popt_samba3',
bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
source=KRBCLIENT_SRC,
- public_deps='KRB5_WRAP k5crypto',
+ public_deps='KRB5_WRAP k5crypto LIBTSOCKET CLDAP',
vars=locals())
bld.SAMBA3_SUBSYSTEM('samba3core',
source=LIB_SRC,
- deps='LIBTSOCKET LIBCRYPTO ndr security NDR_SECURITY samba-util NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 UTIL_TDB UTIL_PW SAMBA_VERSION KRB5_WRAP flag_mapping util_reg PTHREADPOOL interfaces cap string_init param util_str CHARSET3 namearray dbwrap util_sec util_malloc memcache ccan errors3',
+ deps='LIBTSOCKET LIBCRYPTO ndr security NDR_SECURITY samba-util NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 UTIL_TDB UTIL_PW SAMBA_VERSION KRB5_WRAP flag_mapping util_reg PTHREADPOOL interfaces cap string_init param util_str CHARSET3 namearray dbwrap util_sec util_malloc memcache ccan errors3 samba-modules uid_wrapper',
vars=locals())
bld.SAMBA3_LIBRARY('smbd_shim',
bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
source=LIBNTLMSSP_SRC,
- deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec_runtime',
+ deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec',
vars=locals())
bld.SAMBA3_LIBRARY('libsmb',
LIBCLI_SAMR libcli_lsa3 LIBRPCCLI_NETLOGON cli_spoolss
RPC_NDR_SRVSVC npa_tstream INIT_NETLOGON INIT_SAMR
cli_smb_common RPC_SERVER smbd_conn param_service
- smbd_shim
+ smbd_shim uid_wrapper NDR_DFSBLOBS
''',
private_library=True,
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
source=LIBNET_DSSYNC_SRC,
- deps='LIBNET LIBCLI_DRSUAPI',
+ deps='LIBNET LIBCLI_DRSUAPI tdb-wrap3',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
bld.SAMBA3_SUBSYSTEM('errors3',
source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
- deps='errors')
+ deps='errors gssapi')
bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
source=LIBCLI_SAMR_SRC,
source=CLIENT_SRC,
deps='''talloc tdb_compat cap popt_samba3 pdb libsmb smbd_shim
param wbclient param KRBCLIENT LIBMSRPC_GEN
- msrpc3 SMBREADLINE libsmb/smbclient RPC_NDR_SRVSVC INIT_LSA
+ msrpc3 SMBREADLINE smbclient RPC_NDR_SRVSVC INIT_LSA
cli_smb_common''',
vars=locals())
bld.SAMBA3_BINARY('net',
source=NET_SRC,
deps='''talloc tdb_compat netapi addns cap intl popt_samba3 pdb libsmb smbd_shim
- param wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 LIBGPO ads LIBADS_SERVER LIBADS_PRINTER
+ param wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 libgpo ads LIBADS_SERVER LIBADS_PRINTER
LIBAFS LIBAFS_SETTOKEN SMBREADLINE PASSWD_UTIL LIBNET
LIBNET_DSSYNC LIBNET_SAMSYNC LIBEVENTLOG DCUTIL
REGFIO NDR_NTPRINTING RPC_NDR_WINREG
bld.SAMBA3_BINARY('smbtree',
source=SMBTREE_SRC,
deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
- libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb SMBLDAP LIBMSRPC_GEN msrpc3 PROFILE
+ libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 PROFILE
RPC_NDR_SRVSVC''',
vars=locals())
bld.SAMBA3_BINARY('smbpasswd',
source=SMBPASSWD_SRC,
deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
- libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb SMBLDAP LIBMSRPC_GEN msrpc3 PASSWD_UTIL
+ libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 PASSWD_UTIL
LIBCLI_SAMR INIT_LSA PASSCHANGE''',
vars=locals())
bld.SAMBA3_BINARY('pdbedit',
source=PDBEDIT_SRC,
deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
- LIBNTLMSSP LIBSMB_ERR popt_samba3 pdb SMBLDAP
+ LIBNTLMSSP LIBSMB_ERR popt_samba3 pdb
PASSWD_UTIL cli-ldap-common''',
vars=locals())
bld.SAMBA3_BINARY('smbget',
source=SMBGET_SRC,
- deps='''talloc tdb_compat libsmb/smbclient popt_samba3''',
+ deps='''talloc tdb_compat smbclient popt_samba3''',
vars=locals())
bld.SAMBA3_BINARY('nmblookup' + bld.env.suffix3,
bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
source=SMBTORTURE_SRC,
deps='''talloc tdb_compat tevent cap wbclient param libsmb KRBCLIENT TLDAP
- smbd_shim popt_samba3 asn1util LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS''',
+ smbd_shim popt_samba3 asn1util LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS libcli_lsa3''',
vars=locals())
bld.SAMBA3_BINARY('smbconftort',
bld.SAMBA3_BINARY('smbcacls',
source=SMBCACLS_SRC,
deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT
- smbd_shim pdb popt_samba3 SMBLDAP LIBMSRPC_GEN
+ smbd_shim pdb popt_samba3 LIBMSRPC_GEN
msrpc3 libcli_lsa3''',
vars=locals())
bld.SAMBA3_BINARY('smbcquotas',
source=SMBCQUOTAS_SRC,
deps='''talloc tdb_compat cap wbclient param smbd_shim libsmb KRBCLIENT
- popt_samba3 pdb SMBLDAP LIBMSRPC_GEN msrpc3
+ popt_samba3 pdb LIBMSRPC_GEN msrpc3
libcli_lsa3''',
vars=locals())
bld.SAMBA3_BINARY('pdbtest',
source=PDBTEST_SRC,
deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT smbd_shim pdb
- SMBLDAP popt_samba3 NDR_SAMR NDR_LSA''',
+ popt_samba3 NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('vfstest',
deps='SAMBA_VERSION samba3core param',
vars=locals())
-bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
- source=WBINFO_SRC,
- deps='''talloc wbclient tevent cap
- asn1util LIBTSOCKET pdb ldap param smbd_shim
- LIBNTLMSSP popt_samba3 LIBAFS_SETTOKEN''',
- vars=locals())
-
bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
source=NTLM_AUTH_SRC,
deps='''tdb_compat talloc cap KRB5_WRAP k5crypto wbclient param smbd_shim
samba3core LIBNTLMSSP popt_samba3 asn1util LIBTSOCKET
- pdb SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
+ pdb winbind-client LIBINIPARSER LIBADS_SERVER
NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
vars=locals())
bld.SAMBA3_BINARY('dbwrap_tool',
source=DBWRAP_TOOL_SRC,
- deps='''talloc tdb_compat tevent cap param smbd_shim LIBSMB_ERR''',
+ deps='''talloc tdb_compat tevent cap param smbd_shim LIBSMB_ERR
+ popt_samba3''',
vars=locals())
bld.SAMBA3_BINARY('dbwrap_torture',
swat_files = recursive_dirlist(swat_dir, swat_dir, '*')
bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')
-# additional compatibility rules.
-# these rules allow us to have a common set of waf rules for toplevel and source3
-# builds. Effectively these are build rule aliases
-
-if not bld.env.toplevel_build:
- bld.SAMBA3_SUBSYSTEM('POPT_SAMBA', source='', deps='popt_samba3')
- bld.SAMBA3_SUBSYSTEM('ldb3',
- source='lib/ldb_compat.c',
- deps='samba-util')
- bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
- bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='tevent-util')
- bld.SAMBA3_SUBSYSTEM('cli-ldap', '', deps='tevent-util')
- bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX', '')
-
########################## INCLUDES #################################
-bld.RECURSE('../lib/util/charset')
-bld.RECURSE('../auth')
-bld.RECURSE('../auth/kerberos')
-bld.RECURSE('../lib/addns')
-bld.RECURSE('../lib/async_req')
-bld.RECURSE('../lib/ccan')
-bld.RECURSE('../lib/socket')
-bld.RECURSE('../lib/param')
-bld.RECURSE('../libcli/auth')
-bld.RECURSE('../libcli/drsuapi')
-bld.RECURSE('../libcli/ldap')
-bld.RECURSE('../libcli/cldap')
-bld.RECURSE('../libcli/named_pipe_auth')
-bld.RECURSE('../libcli/netlogon')
-bld.RECURSE('../libcli/samsync')
-bld.RECURSE('../libcli/security')
-bld.RECURSE('../libcli/smb')
-bld.RECURSE('../libcli/util')
-bld.RECURSE('../libcli/smbreadline')
-bld.RECURSE('../libcli/nbt')
-bld.RECURSE('../libcli/registry')
-bld.RECURSE('../lib/crypto')
-bld.RECURSE('../lib/iniparser/src')
-bld.RECURSE('../lib/nss_wrapper')
-bld.RECURSE('../lib/popt')
-bld.RECURSE('../librpc')
-bld.RECURSE('../lib/smbconf')
-bld.RECURSE('../lib/socket_wrapper')
-bld.RECURSE('../lib/uid_wrapper')
-bld.RECURSE('../lib/talloc')
-bld.RECURSE('../lib/tdb_compat')
-bld.RECURSE('../lib/util')
-bld.RECURSE('../lib/tevent')
-bld.RECURSE('../lib/tsocket')
-bld.RECURSE('../lib/zlib')
-bld.RECURSE('../libds/common')
-bld.RECURSE('../nsswitch')
-bld.RECURSE('../nsswitch/libwbclient')
bld.RECURSE('auth')
bld.RECURSE('libgpo/gpext')
bld.RECURSE('lib/pthreadpool')
bld.RECURSE('passdb')
bld.RECURSE('rpc_server')
bld.RECURSE('winbindd')
-
+bld.RECURSE('../examples/auth')
+bld.RECURSE('../examples/libsmbclient')
+bld.RECURSE('../examples/pdb')
+bld.RECURSE('../examples/VFS')
+bld.RECURSE('lib/netapi/tests')
bld.ENFORCE_GROUP_ORDERING()
bld.CHECK_PROJECT_RULES()