AFS_SETTOKEN_SRC = 'lib/afs_settoken.c'
-AVAHI_SRC = '' # TODO: fix
+AVAHI_SRC = 'lib/avahi.c smbd/avahi_register.c'
SERVER_MUTEX_SRC = 'lib/server_mutex.c'
../librpc/gen_ndr/ndr_misc.c
../librpc/gen_ndr/ndr_security.c
../librpc/ndr/ndr_sec_helper.c
- librpc/ndr/ndr_string.c
+ ../librpc/ndr/ndr_string.c
../librpc/ndr/uuid.c
librpc/ndr/util.c
../librpc/gen_ndr/ndr_dcerpc.c'''
LIBNDR_GEN_SRC0 = '''../librpc/gen_ndr/ndr_samr.c
../librpc/gen_ndr/ndr_lsa.c'''
-LIBNDR_GEN_SRC1 = '''../librpc/gen_ndr/ndr_netlogon.c
+LIBNDR_NETLOGON_SRC = '''../librpc/gen_ndr/ndr_netlogon.c
../librpc/ndr/ndr_netlogon.c'''
-LIBNDR_GEN_SRC2 = '''../librpc/gen_ndr/ndr_spoolss.c
+LIBNDR_SPOOLSS_SRC = '''../librpc/gen_ndr/ndr_spoolss.c
../librpc/ndr/ndr_spoolss_buf.c'''
LIBNDR_GEN_SRC = '''../librpc/gen_ndr/ndr_wkssvc.c
../librpc/gen_ndr/ndr_initshutdown.c
../librpc/gen_ndr/ndr_srvsvc.c
../librpc/gen_ndr/ndr_eventlog.c
- ${LIBNDR_GEN_SRC1}
+ ${LIBNDR_NETLOGON_SRC}
../librpc/gen_ndr/ndr_dssetup.c
librpc/gen_ndr/ndr_notify.c
../librpc/gen_ndr/ndr_xattr.c
../librpc/gen_ndr/ndr_epmapper.c
../librpc/gen_ndr/ndr_named_pipe_auth.c
../librpc/gen_ndr/ndr_ntsvcs.c
- ${LIBNDR_GEN_SRC2}'''
-
-RPC_PARSE_SRC0 = '''rpc_parse/parse_prs.c rpc_parse/parse_misc.c'''
+ ${LIBNDR_SPOOLSS_SRC}'''
# this includes only the low level parse code, not stuff
# that requires knowledge of security contexts
-RPC_PARSE_SRC1 = '''${RPC_PARSE_SRC0}'''
+RPC_PARSE_SRC1 = '''rpc_parse/parse_prs.c rpc_parse/parse_misc.c'''
RPC_PARSE_SRC2 = '''rpc_parse/parse_rpc.c
rpc_client/init_netlogon.c
lib/bitmap.c lib/dprintf.c ${UTIL_REG_SRC}
lib/wins_srv.c
lib/util_str.c lib/clobber.c lib/util_sid.c lib/util_uuid.c
- lib/util_unistr.c lib/util_file.c
+ lib/util_unistr.c lib/util_file.c lib/util_names.c
lib/util.c lib/util_sock.c lib/sock_exec.c lib/util_sec.c
lib/substitute.c lib/dbwrap_util.c
lib/ms_fnmatch.c lib/select.c lib/errmap_unix.c
lib/conn_tdb.c lib/adt_tree.c lib/gencache.c
lib/sessionid_tdb.c
lib/module.c lib/events.c ${LIBTEVENT_SRC0}
+ lib/server_contexts.c
lib/ldap_escape.c ${CHARSET_STATIC}
lib/secdesc.c lib/util_seaccess.c ../libcli/security/secace.c
../libcli/security/sddl.c
POPT_LIB_SRC = '''lib/popt_common.c'''
-PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/util.c lib/sharesec.c lib/ldap_debug_handler.c'''
+PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/util.c param/loadparm_server_role.c
+ lib/sharesec.c lib/ldap_debug_handler.c'''
PARAM_REG_ADD_SRC = '''${REG_SMBCONF_SRC} ${LIBSMBCONF_SRC} ${PRIVILEGES_BASIC_SRC}'''
PARAM_SRC = '''${PARAM_REG_ADD_SRC}'''
LIBSMB_SRC0 = '''
../libcli/auth/ntlm_check.c
libsmb/ntlmssp.c
- libsmb/ntlmssp_sign.c
+ ../libcli/auth/ntlmssp.c
+ ../libcli/auth/ntlmssp_sign.c
${LIBNDR_NTLMSSP_SRC}
../libcli/auth/ntlmssp_ndr.c'''
LIBCLI_LDAP_NDR_SRC = '''../libcli/ldap/ldap_ndr.c'''
CLDAP_SRC = '''libads/cldap.c
- ../libcli/cldap/cldap.c
+ ../libcli/cldap/cldap.c lib/ldb_compat.c
../lib/util/idtree.c
${LIBCLI_LDAP_MESSAGE_SRC} ${LIBCLI_LDAP_NDR_SRC}'''
#
# registry-related objects
#
-UTIL_REG_SRC = '''lib/util_reg.c'''
-UTIL_REG_API_SRC = '''lib/util_reg_api.c'''
+UTIL_REG_SRC = '''../libcli/registry/util_reg.c'''
+REG_UTIL_MARSHALLING_SRC = '''registry/reg_util_marshalling.c'''
REG_INIT_BASIC_SRC = '''registry/reg_init_basic.c'''
REG_INIT_SMBCONF_SRC = '''registry/reg_init_smbconf.c'''
registry/reg_cachehook.c
${REGFIO_SRC}
${REGSRCS_SRC}
- registry/reg_util.c
- ${UTIL_REG_API_SRC}
+ registry/reg_util_internal.c
+ ${REG_UTIL_MARSHALLING_SRC}
lib/util_nttoken.c
${REG_BACKENDS_BASE_SRC}
${REG_INIT_BASIC_SRC}'''
REG_SMBCONF_SRC = '''${REG_BASE_SRC}
${REG_BACKENDS_SMBCONF_SRC}
- ${REG_INIT_SMBCONF_SRC}'''
+ ${REG_INIT_SMBCONF_SRC}
+ registry/reg_util_token.c'''
REG_FULL_SRC = '''${REG_SMBCONF_SRC}
${REG_BACKENDS_EXTRA_SRC}
RPC_SAMR_SRC = '''rpc_server/srv_samr_nt.c
rpc_server/srv_samr_util.c
+ rpc_server/srv_samr_chgpasswd.c
../librpc/gen_ndr/srv_samr.c'''
RPC_INITSHUTDOWN_SRC = ''' ../librpc/gen_ndr/srv_initshutdown.c rpc_server/srv_initshutdown_nt.c'''
RPC_DFS_SRC = ''' ../librpc/gen_ndr/srv_dfs.c rpc_server/srv_dfs_nt.c'''
RPC_SPOOLSS_SRC = '''rpc_server/srv_spoolss_nt.c
+ rpc_server/srv_spoolss_util.c
../librpc/gen_ndr/srv_spoolss.c'''
RPC_EVENTLOG_SRC = '''rpc_server/srv_eventlog_nt.c
${LIB_EVENTLOG_SRC} ../librpc/gen_ndr/srv_eventlog.c'''
-RPC_PIPE_SRC = '''rpc_server/srv_pipe_hnd.c
- rpc_server/srv_pipe.c rpc_server/srv_lsa_hnd.c'''
+NPA_TSTREAM_SRC = '''../libcli/named_pipe_auth/npa_tstream.c'''
+
+RPC_NCACN_NP_INTERNAL = '''rpc_server/srv_pipe_register.c rpc_server/rpc_ncacn_np_internal.c
+ rpc_server/rpc_handles.c'''
+
+RPC_PIPE_SRC = '''rpc_server/srv_pipe_hnd.c rpc_server/srv_pipe.c
+ ${RPC_NCACN_NP_INTERNAL}'''
RPC_ECHO_SRC = '''rpc_server/srv_echo_nt.c ../librpc/gen_ndr/srv_echo.c'''
#TODO: RPC_SERVER_SRC used to include RPC_STATIC modules
-RPC_SERVER_SRC = '''${RPC_PIPE_SRC}'''
+RPC_SERVER_SRC = '''${RPC_PIPE_SRC} ${NPA_TSTREAM_SRC}'''
RPC_PARSE_SRC = '''${RPC_PARSE_SRC2}'''
PDB_SMBPASSWD_SRC = 'passdb/pdb_smbpasswd.c'
PDB_WBC_SAM_SRC = 'passdb/pdb_wbc_sam.c'
-SECRETS_SRC = 'passdb/secrets.c passdb/machine_sid.c librpc/gen_ndr/ndr_secrets.c'
+SECRETS_SRC = '''passdb/secrets.c passdb/machine_account_secrets.c
+ passdb/machine_sid.c librpc/gen_ndr/ndr_secrets.c'''
PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c passdb/pdb_interface.c
passdb/util_wellknown.c passdb/util_builtin.c passdb/pdb_compat.c
passdb/util_unixsids.c passdb/lookup_sid.c
passdb/login_cache.c ${PDB_STATIC}
- lib/account_pol.c ${PRIVILEGES_SRC}
+ passdb/account_pol.c ${PRIVILEGES_SRC}
lib/util_nscd.c lib/winbind_util.c ${SERVER_MUTEX_SRC}'''
#FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
AUTH_STATIC = ''
AUTH_SRC = '''${AUTH_STATIC} auth/auth.c auth/auth_util.c auth/token_util.c
auth/auth_compat.c auth/auth_ntlmssp.c auth/user_info.c auth/check_samsec.c
- auth/server_info.c auth/server_info_sam.c
+ auth/user_util.c auth/server_info.c auth/server_info_sam.c
${PLAINTEXT_AUTH_SRC} ${SLCACHE_SRC} ${DCUTIL_SRC}'''
#FIXME: set IDMAP_STATIC during configuration
winbindd/winbindd_pam_logoff.c
winbindd/winbindd_pam_chauthtok.c
winbindd/winbindd_pam_auth_crap.c
+ winbindd/winbindd_pam_chng_pswd_auth_crap.c
auth/token_util.c
auth/check_samsec.c
auth/server_info.c
auth/server_info_sam.c
auth/user_info.c
- smbd/chgpasswd.c
+ auth/user_util.c
+ rpc_server/srv_samr_chgpasswd.c
../nsswitch/libwbclient/wb_reqtrans.c'''
WINBINDD_SRC = '''${WINBINDD_SRC1}
${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
- ${PROFILE_SRC} ${SLCACHE_SRC} ${SMBLDAP_SRC}
+ ${PROFILE_SRC} ${SLCACHE_SRC}
${LIBADS_SRC}
${DCUTIL_SRC} ${IDMAP_SRC} ${NSS_INFO_SRC}
${AFS_SRC} ${AFS_SETTOKEN_SRC}
${LIBADS_SERVER_SRC}
${TDB_VALIDATE_SRC}'''
-LDB_COMMON_SRC = '''lib/ldb/common/ldb.c lib/ldb/common/ldb_ldif.c lib/ldb/common/ldb_parse.c
- lib/ldb/common/ldb_msg.c lib/ldb/common/ldb_utf8.c lib/ldb/common/ldb_debug.c
- lib/ldb/common/ldb_modules.c lib/ldb/common/ldb_dn.c lib/ldb/common/ldb_match.c
- lib/ldb/common/ldb_attributes.c lib/ldb/common/attrib_handlers.c
- lib/ldb/common/ldb_controls.c lib/ldb/common/qsort.c'''
-
-LDB_TDB_SRC = '''lib/ldb/ldb_tdb/ldb_tdb.c lib/ldb/ldb_tdb/ldb_pack.c lib/ldb/ldb_tdb/ldb_search.c
- lib/ldb/ldb_tdb/ldb_index.c lib/ldb/ldb_tdb/ldb_cache.c lib/ldb/ldb_tdb/ldb_tdb_wrap.c'''
-
-LDB_MODULES_SRC = '''lib/ldb/modules/operational.c lib/ldb/modules/rdn_name.c
- lib/ldb/modules/objectclass.c lib/ldb/modules/paged_results.c
- lib/ldb/modules/sort.c lib/ldb/modules/asq.c'''
-
-# Todo, check for this during configuration
-LDB_LDAP_SRC = ''
-
-LDB_SRC = '${LDB_COMMON_SRC} ${LDB_TDB_SRC} ${LDB_LDAP_SRC} ${LDB_MODULES_SRC}'
-
-LDB_CMDLINE_SRC = '''${PARAM_SRC} ${LIB_SRC} ${LIB_DUMMY_SRC} ${LIBSMB_ERR_SRC0}
- ${LIBSMB_ERR_SRC1} ${RPC_PARSE_SRC1} ${SECRETS_SRC} ${LDB_SRC}
- lib/ldb/tools/cmdline.c'''
-
-LDBEDIT_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbedit.c'
-LDBSEARCH_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbsearch.c'
-LDBADD_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbadd.c'
-LDBDEL_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbdel.c'
-LDBMODIFY_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbmodify.c'
-LDBRENAME_SRC = '${LDB_CMDLINE_SRC} lib/ldb/tools/ldbrename.c'
-
LIBNET_SRC = 'libnet/libnet_join.c libnet/libnet_keytab.c librpc/gen_ndr/ndr_libnet_join.c'
LIBSMBCONF_SRC = '''../lib/smbconf/smbconf.c ../lib/smbconf/smbconf_util.c
MANGLE_SRC = '''smbd/mangle.c smbd/mangle_hash.c smbd/mangle_hash2.c'''
-SMBD_SRC_MAIN = '''smbd/server.c'''
+SMBD_SRC_MAIN = '''smbd/server.c smbd/server_exit.c'''
BUILDOPT_SRC = '''smbd/build_options.c'''
-SMBD_SRC_SRV = '''smbd/files.c smbd/chgpasswd.c smbd/connection.c
- smbd/utmp.c smbd/session.c smbd/map_username.c
+SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
+ smbd/utmp.c smbd/session.c
smbd/dfree.c smbd/dir.c smbd/password.c smbd/conn.c
smbd/share_access.c smbd/fileio.c
smbd/ipc.c smbd/lanman.c smbd/negprot.c
smbd/process.c smbd/service.c smbd/error.c
printing/printfsp.c lib/sysquotas.c lib/sysquotas_linux.c
lib/sysquotas_xfs.c lib/sysquotas_4A.c
- smbd/change_trust_pw.c smbd/fake_file.c
+ smbd/fake_file.c
smbd/quotas.c smbd/ntquotas.c ${AFS_SRC} smbd/msdfs.c
${AFS_SETTOKEN_SRC} smbd/aio.c smbd/statvfs.c
smbd/dmapi.c smbd/signing.c
${PROFILE_SRC} ${PRINTBACKEND_SRC}
${OPLOCK_SRC} ${NOTIFY_SRC} ${FNAME_UTIL_SRC}
${LIBMSRPC_SRC}
- ${LIBMSRPC_GEN_SRC} ${AVAHI_SRC} ${LIBADS_SRC}
+ ${LIBMSRPC_GEN_SRC} ${LIBADS_SRC}
${LIBADS_SERVER_SRC} ${REG_FULL_SRC}
- ${BUILDOPT_SRC} ${SMBLDAP_SRC}
+ ${BUILDOPT_SRC}
${LIBNET_SRC} ${LIBSMBCONF_SRC}
${RPC_LSA_SRC}
${RPC_NETLOG_SRC} ${RPC_SAMR_SRC}
PRINTING_SRC = '''printing/pcap.c printing/print_svid.c printing/print_aix.c
printing/print_cups.c printing/print_generic.c
- printing/lpq_parse.c printing/load.c
+ printing/lpq_parse.c printing/load.c printing/print_standard.c
printing/print_iprint.c'''
PRINTBASE_SRC = '''printing/notify.c printing/printing_db.c'''
SWAT_SRC = '''${SWAT_SRC1} ${PRINTING_SRC} ${PRINTBASE_SRC}
${LOCKING_SRC}
${PLAINTEXT_AUTH_SRC}
- ${SMBLDAP_SRC} ${RPC_PARSE_SRC} ${LIBMSRPC_GEN_SRC} ${LIBMSRPC_SRC}
+ ${RPC_PARSE_SRC} ${LIBMSRPC_GEN_SRC} ${LIBMSRPC_SRC}
${PASSCHANGE_SRC} ${FNAME_UTIL_SRC}'''
WBINFO_SRC = '../nsswitch/wbinfo.c ${AFS_SETTOKEN_SRC}'
../librpc/gen_ndr/ndr_eventlog.c
../librpc/gen_ndr/ndr_lsa.c'''
-LIBS='ICONV'
+DISPLAY_SEC_SRC= '../libcli/security/display_sec.c'
+
+CLIENT_SRC1 = '''client/client.c client/clitar.c ${RPC_CLIENT_SRC}
+ ../librpc/rpc/binding.c client/dnsbrowse.c
+ ${RPC_CLIENT_SRC1} ${RPC_PARSE_SRC2}'''
-bld.env.AWK = 'gawk'
+CLIENT_SRC = '''${CLIENT_SRC1} ${LIBMSRPC_GEN_SRC}
+ ${READLINE_SRC} ${DISPLAY_SEC_SRC}'''
+
+
+LIBS='ICONV'
bld.SAMBA_GENERATOR('build_options',
source='include/config.h script/mkbuildoptions.awk',
print "SBINDIR=%s" % bld.env.SBINDIR
bld.RECURSE('build')
+bld.RECURSE('../librpc/idl')
+bld.RECURSE('librpc/idl')
+
bld.SAMBA_MKVERSION('include/version.h')
for prefix in bld.env.MODULE_PREFIXES:
deps='talloc',
local_include=False)
+bld.SAMBA_SUBSYSTEM('AVAHI',
+ source=AVAHI_SRC,
+ deps='avahi-common avahi-client',
+ enabled=bld.env.with_avahi)
+
bld.SAMBA_SUBSYSTEM('GROUPDB',
source=GROUPDB_SRC)
deps='GROUPDB TLDAP SECRETS',
vars=locals())
-bld.SAMBA_SUBSYSTEM('LDB',
- source=LDB_SRC,
- includes='lib',
- vars=locals())
-
bld.SAMBA_SUBSYSTEM('PARAM_WITHOUT_REG',
source=PARAM_WITHOUT_REG_SRC)
bld.SAMBA_SUBSYSTEM('KRBCLIENT',
source=KRBCLIENT_SRC,
+ deps='krb5 gssapi gssapi_krb5',
vars=locals())
bld.SAMBA_SUBSYSTEM('LIBS',
source=LIB_SRC,
- deps='NSS_WRAPPER',
+ deps='NSS_WRAPPER iconv',
vars=locals())
bld.SAMBA_SUBSYSTEM('LIB_NONSMBD',
bld.SAMBA_SUBSYSTEM('LIBSMB_ERR',
source=LIBSMB_ERR_SRC,
- deps='SECRETS',
+ deps='SECRETS SMBLDAP',
vars=locals())
bld.SAMBA_SUBSYSTEM('LIBSAMBA',
source=SECRETS_SRC,
vars=locals())
+bld.SAMBA_SUBSYSTEM('SMBLDAP',
+ source=SMBLDAP_SRC,
+ deps='ldap lber',
+ vars=locals())
+
########################## BINARIES #################################
bld.SAMBA_BINARY('smbd/smbd',
source=SMBD_SRC,
deps='''tdb DYNCONFIG tevent dl krb5 ldap gssapi gssapi_krb5
- NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv ZLIB PASSDB LDB
- PARAM_WITHOUT_REG LIBS LIBSMB POPT_SAMBA KRBCLIENT''',
+ NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv ZLIB PASSDB
+ PARAM_WITHOUT_REG LIBS LIBSMB POPT_SAMBA KRBCLIENT AVAHI''',
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('nmbd/nmbd',
source=NMBD_SRC,
deps='''talloc tdb tevent ZLIB cap resolv LIBWBCLIENT dl
- NSS_WRAPPER DYNCONFIG PASSDB LDB PARAM ldap LIB_NONSMBD LIBSMB
+ NSS_WRAPPER DYNCONFIG PASSDB PARAM ldap LIB_NONSMBD LIBSMB
POPT_SAMBA KRBCLIENT''',
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('winbindd/winbindd',
source=WINBINDD_SRC,
deps='''talloc tdb tevent cap dl DYNCONFIG ZLIB NSS_WRAPPER
- LIBWBCLIENT PASSDB ldap resolv LDB PARAM LIB_NONSMBD LIBSMB
+ LIBWBCLIENT PASSDB ldap resolv PARAM LIB_NONSMBD LIBSMB
POPT_SAMBA KRBCLIENT''',
- enabled=Options.options.with_winbind,
+ enabled=bld.env.build_winbind,
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('web/swat',
source=SWAT_SRC,
- deps='''talloc tevent DYNCONFIG LIBS LIBSMB LIBWBCLIENT PARAM
- LIB_NONSMBD resolv LDB PASSDB POPT_SAMBA KRBCLIENT''',
- enabled=Options.options.with_swat,
+ deps='''talloc tevent cap DYNCONFIG LIBS LIBSMB LIBWBCLIENT PARAM
+ LIB_NONSMBD resolv PASSDB POPT_SAMBA KRBCLIENT cups''',
+ enabled=bld.env.build_swat,
install_path='${SBINDIR}',
vars=locals())
+bld.SAMBA_BINARY('smbclient',
+ source=CLIENT_SRC,
+ deps='''talloc tdb cap resolv POPT_SAMBA PASSDB LIBSMB LIB_NONSMBD
+ PARAM_WITHOUT_REG LIBWBCLIENT DYNCONFIG PARAM KRBCLIENT''',
+ vars=locals())
+
bld.SAMBA_BINARY('wbinfo',
source=WBINFO_SRC,
deps='''talloc LIBWBCLIENT DYNCONFIG tevent cap
bld.SAMBA_BINARY('eventlogadm',
source=EVTLOGADM_SRC,
- deps='''talloc tevent POPT_SAMBA DYNCONFIG LIBS PARAM
+ deps='''talloc tevent cap POPT_SAMBA DYNCONFIG LIBS PARAM
LIB_NONSMBD LIBSMB_ERR PASSDB LIBWBCLIENT''',
vars=locals())