TDBBACKUP = @TDBBACKUP@
TDBTOOL = @TDBTOOL@
TDBDUMP = @TDBDUMP@
+TDBRESTORE = @TDBRESTORE@
TDBTORTURE = @TDBTORTURE@
INSTALLCMD=@INSTALL@
bin/smbta-util@EXEEXT@
BIN_PROGS2 = bin/smbcontrol@EXEEXT@ bin/smbtree@EXEEXT@ $(TDBBACKUP) \
bin/nmblookup@EXEEXT@ bin/pdbedit@EXEEXT@ $(TDBDUMP) \
+ $(TDBRESTORE) \
$(TDBTOOL)
BIN_PROGS3 = bin/smbpasswd@EXEEXT@ bin/rpcclient@EXEEXT@ bin/smbcacls@EXEEXT@ \
bin/profiles@EXEEXT@ bin/ntlm_auth@EXEEXT@ bin/sharesec@EXEEXT@ \
../lib/util/become_daemon.o ../lib/util/system.o \
../lib/util/tevent_unix.o ../lib/util/tevent_ntstatus.o \
../lib/util/smb_threads.o ../lib/util/util_id.o \
- ../lib/util/blocking.o ../lib/util/rfc1738.o
+ ../lib/util/blocking.o ../lib/util/rfc1738.o \
+ ../lib/util/select.o
CRYPTO_OBJ = ../lib/crypto/crc32.o ../lib/crypto/md5.o \
../lib/crypto/hmacmd5.o ../lib/crypto/arcfour.o \
lib/system.o lib/sendfile.o lib/recvfile.o lib/time.o \
lib/username.o \
../libds/common/flag_mapping.o \
- lib/util_pw.o lib/access.o lib/smbrun.o \
+ lib/access.o lib/smbrun.o \
lib/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
lib/wins_srv.o \
- lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_uuid.o \
+ lib/util_str.o lib/clobber.o lib/util_sid.o \
lib/util_unistr.o lib/util_file.o \
lib/util.o lib/util_names.o \
lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
lib/substitute.o lib/dbwrap_util.o \
- lib/ms_fnmatch.o lib/select.o lib/errmap_unix.o \
+ lib/ms_fnmatch.o lib/errmap_unix.o \
lib/tallocmsg.o lib/dmallocmsg.o \
libsmb/clisigning.o libsmb/smb_signing.o \
lib/iconv.o lib/pam_errors.o intl/lang_tdb.o \
lib/module.o lib/events.o @LIBTEVENT_OBJ0@ \
lib/server_contexts.o \
lib/ldap_escape.o @CHARSET_STATIC@ \
- lib/secdesc.o lib/util_seaccess.o ../libcli/security/secace.o \
+ lib/secdesc.o ../libcli/security/access_check.o \
+ ../libcli/security/secace.o ../libcli/security/object_tree.o \
../libcli/security/sddl.o \
../libcli/security/secacl.o @PTHREADPOOL_OBJ@ \
lib/fncall.o \
libads/krb5_errs.o lib/system_smbd.o lib/audit.o $(LIBNDR_OBJ) \
lib/file_id.o lib/idmap_cache.o \
- ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o
+ ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o \
+ ../libcli/security/security_token.o ../libcli/security/util_sid.o
LIB_DUMMY_OBJ = lib/dummysmbd.o lib/dummyroot.o
LIB_NONSMBD_OBJ = $(LIB_OBJ) $(LIB_DUMMY_OBJ)
-READLINE_OBJ = lib/readline.o
+READLINE_OBJ = ../libcli/smbreadline/smbreadline.o
# Also depends on $(SECRETS_OBJ) $(LIBSAMBA_OBJ)
# Be sure to include them into your application
LIBSMB_ERR_OBJ1 = ../libcli/auth/smbdes.o ../libcli/auth/smbencrypt.o ../libcli/auth/msrpc_parse.o ../libcli/auth/session.o
LIBSMB_ERR_OBJ = $(LIBSMB_ERR_OBJ0) $(LIBSMB_ERR_OBJ1) \
- $(REG_PARSE_PRS_OBJ) \
$(SECRETS_OBJ)
LIBSMB_OBJ0 = \
$(LIBSMB_ERR_OBJ)
LIBCLI_LDAP_MESSAGE_OBJ = ../libcli/ldap/ldap_message.o
-LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o
+LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o lib/ldb_compat.o
LIBTSOCKET_OBJ = ../lib/tsocket/tsocket.o \
../lib/tsocket/tsocket_helpers.o \
../lib/tsocket/tsocket_bsd.o
CLDAP_OBJ = libads/cldap.o \
- ../libcli/cldap/cldap.o lib/ldb_compat.o \
+ ../libcli/cldap/cldap.o \
../lib/util/idtree.o \
$(LIBCLI_LDAP_MESSAGE_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTSOCKET_OBJ)
LIBMSRPC_OBJ = $(SCHANNEL_OBJ) \
rpc_client/cli_pipe.o \
- librpc/rpc/dcerpc_krb5.o \
- librpc/rpc/dcerpc_gssapi.o \
- librpc/rpc/dcerpc_spnego.o \
+ librpc/crypto/gse_krb5.o \
+ librpc/crypto/gse.o \
+ librpc/crypto/cli_spnego.o \
librpc/rpc/rpc_common.o \
rpc_client/rpc_transport_np.o \
rpc_client/rpc_transport_sock.o \
+ rpc_client/rpc_transport_tstream.o \
../librpc/rpc/binding.o \
../librpc/rpc/dcerpc_util.o \
../librpc/rpc/binding_handle.o \
- librpc/rpc/dcerpc_helpers.o
+ librpc/rpc/dcerpc_helpers.o \
+ $(LIBCLI_EPMAPPER_OBJ)
-LIBMSRPC_GEN_OBJ = $(LIBCLI_EPMAPPER_OBJ) \
- $(LIBNDR_GEN_OBJ)
+LIBMSRPC_GEN_OBJ = $(LIBNDR_GEN_OBJ)
#
# registry-related objects
REG_INIT_SMBCONF_OBJ = registry/reg_init_smbconf.o
REG_INIT_FULL_OBJ = registry/reg_init_full.o
-REGFIO_OBJ = registry/regfio.o
+REGFIO_OBJ = registry/regfio.o \
+ $(REG_PARSE_PRS_OBJ)
+
+REG_API_REGF_OBJ = registry/reg_api_regf.o
REGOBJS_OBJ = registry/reg_objects.o
REG_BASE_OBJ = registry/reg_api.o \
registry/reg_dispatcher.o \
registry/reg_cachehook.o \
- $(REGFIO_OBJ) \
$(REGOBJS_OBJ) \
registry/reg_util_internal.o \
lib/util_nttoken.o \
REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \
registry/reg_util_token.o \
+ registry/reg_api_util.o \
$(REG_BACKENDS_SMBCONF_OBJ) \
$(REG_INIT_SMBCONF_OBJ)
$(REG_INIT_FULL_OBJ) \
registry/reg_eventlog.o \
registry/reg_perfcount.o \
- librpc/gen_ndr/ndr_perfcount.o \
- registry/reg_util_legacy.o
+ librpc/gen_ndr/ndr_perfcount.o
LIB_EVENTLOG_OBJ = lib/eventlog/eventlog.o
NPA_TSTREAM_OBJ = ../libcli/named_pipe_auth/npa_tstream.o \
librpc/gen_ndr/ndr_named_pipe_auth.o
-RPC_NCACN_NP_INTERNAL = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np_internal.o \
- rpc_server/rpc_handles.o
+RPC_NCACN_NP = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np.o \
+ rpc_server/rpc_handles.o
+
+RPC_SERVICE = rpc_server/rpc_server.o
+
+RPC_CRYPTO = rpc_server/dcesrv_ntlmssp.o \
+ rpc_server/dcesrv_gssapi.o \
+ rpc_server/dcesrv_spnego.o
RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \
- $(RPC_NCACN_NP_INTERNAL)
+ $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO)
RPC_RPCECHO_OBJ = rpc_server/srv_echo_nt.o librpc/gen_ndr/srv_echo.o
LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
-PRIVILEGES_BASIC_OBJ = lib/privileges_basic.o
+PRIVILEGES_BASIC_OBJ = ../libcli/security/privileges.o
PRIVILEGES_OBJ = lib/privileges.o
$(LIBSMB_ERR_OBJ) \
$(PARAM_OBJ) \
$(LIB_OBJ) $(LIB_DUMMY_OBJ) \
- $(POPT_LIB_OBJ)
+ $(POPT_LIB_OBJ) \
+ $(REGFIO_OBJ)
OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o \
smbd/oplock_onefs.o
$(SMBLDAP_OBJ) $(LIBNET_OBJ) \
$(LIBSMBCONF_OBJ) \
$(PRIVILEGES_BASIC_OBJ) \
+ $(REGFIO_OBJ) \
+ $(REG_API_REGF_OBJ) \
$(LIBNDR_XATTR_OBJ)
PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_aix.o \
printing/print_cups.o printing/print_generic.o \
printing/lpq_parse.o printing/load.o \
- printing/print_iprint.o printing/print_standard.o
+ printing/print_iprint.o printing/print_standard.o \
+ printing/printer_list.o
PRINTBASE_OBJ = printing/notify.o printing/printing_db.o
PRINTBACKEND_OBJ = printing/printing.o \
$(LIBSMB_ERR_OBJ)
SMBTA_UTIL_OBJ = utils/smbta-util.o $(PARAM_OBJ) $(POPT_LIB_OBJ) \
- $(LOCKING_OBJ) $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) \
+ $(LIB_NONSMBD_OBJ) \
$(LIBSMB_ERR_OBJ) $(FNAME_UTIL_OBJ)
TEST_LP_LOAD_OBJ = param/test_lp_load.o \
PDBEDIT_OBJ = utils/pdbedit.o $(PASSWD_UTIL_OBJ) $(PARAM_OBJ) $(PASSDB_OBJ) \
$(LIBSAMBA_OBJ) $(LIBTSOCKET_OBJ) \
$(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
+ $(LIBCLI_LDAP_NDR_OBJ) \
$(POPT_LIB_OBJ) $(SMBLDAP_OBJ) ../lib/util/asn1.o
SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ1)
rpcclient/cmd_shutdown.o rpcclient/cmd_test.o \
rpcclient/cmd_wkssvc.o rpcclient/cmd_ntsvcs.o \
rpcclient/cmd_drsuapi.o rpcclient/cmd_eventlog.o \
+ rpcclient/cmd_winreg.o \
$(DISPLAY_SEC_OBJ)
RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
$(LIBCLI_SRVSVC_OBJ) \
$(LIBCLI_LSA_OBJ) \
$(LIBCLI_SAMR_OBJ) \
+ $(LIBCLI_WINREG_OBJ) \
$(LIBCLI_NETLOGON_OBJ) \
$(RPC_CLIENT_SCHANNEL_OBJ) \
rpc_client/init_netlogon.o \
$(LIBCLI_NETLOGON_OBJ) \
$(RPC_CLIENT_SCHANNEL_OBJ) \
rpc_client/init_netlogon.o \
- rpc_client/init_samr.o
-
+ rpc_client/init_samr.o \
+ registry/reg_parse.o registry/reg_format.o \
+ registry/reg_parse_internal.o registry/reg_import.o \
+ lib/cbuf.o lib/srprs.o
# these are not processed by make proto
NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o
$(REG_SMBCONF_OBJ) \
$(LIBNET_OBJ) $(LIBNET_DSSYNC_OBJ) $(LIBNET_SAMSYNC_OBJ) \
$(LIBSMBCONF_OBJ) \
+ $(REGFIO_OBJ) \
$(PRIVILEGES_BASIC_OBJ) \
$(LIB_EVENTLOG_OBJ) localedir.o
SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \
torture/denytest.o torture/mangle_test.o \
torture/nbench.o \
+ torture/test_async_echo.o \
torture/test_posix_append.o
SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
@LIBWBCLIENT_STATIC@ \
../nsswitch/libwbclient/wbc_async.o \
../nsswitch/libwbclient/wb_reqtrans.o \
- $(LIBNDR_GEN_OBJ0)
+ $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBCLI_ECHO_OBJ)
MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
$(LIB_NONSMBD_OBJ) \
$(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \
$(LIBNDR_GEN_OBJ0) $(FNAME_UTIL_OBJ)
-NSSTEST_OBJ = torture/nsstest.o $(LIBSAMBAUTIL_OBJ)
+NSSTEST_OBJ = ../nsswitch/nsstest.o $(LIBSAMBAUTIL_OBJ)
PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
$(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
$(PROFILE_OBJ) $(SLCACHE_OBJ) $(SMBLDAP_OBJ) \
$(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
$(DCUTIL_OBJ) $(IDMAP_OBJ) $(NSS_INFO_OBJ) \
- $(RPC_NCACN_NP_INTERNAL) $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
+ $(RPC_NCACN_NP) $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \
+ $(NPA_TSTREAM_OBJ) \
$(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \
$(LIBADS_SERVER_OBJ) \
$(TDB_VALIDATE_OBJ) \
TDBDUMP_OBJ = @tdbdir@/tools/tdbdump.o $(LIBREPLACE_OBJ) \
$(SOCKET_WRAPPER_OBJ)
+TDBRESTORE_OBJ = @tdbdir@/tools/tdbrestore.o $(LIBREPLACE_OBJ) \
+ $(SOCKET_WRAPPER_OBJ)
+
TDBTORTURE_OBJ = @tdbdir@/tools/tdbtorture.o $(LIBREPLACE_OBJ) \
$(SOCKET_WRAPPER_OBJ)
NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \
../lib/util/asn1.o ../libcli/auth/spnego_parse.o libsmb/clikrb5.o libads/kerberos.o \
+ libsmb/samlogon_cache.o \
$(LIBADS_SERVER_OBJ) \
$(PASSDB_OBJ) $(LIBTSOCKET_OBJ) $(GROUPDB_OBJ) \
$(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
$(WBCOMMON_OBJ) \
+ $(LIBCLI_LDAP_NDR_OBJ) \
$(LIBNDR_GEN_OBJ0) $(LIBNDR_NETLOGON_OBJ) @BUILD_INIPARSER@
$(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) @INIPARSERLIBS@
-bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB)
+bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB)
@echo "Linking shared library $@"
- @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) -lpam $(DYNEXP) \
+ @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) -lpam $(DYNEXP) \
$(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS)
@$(CC) -o $@ $(LDFLAGS) $(TDBTOOL_OBJ) $(DYNEXP) \
$(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
-bin/tdbdump@EXEEXT@: $(BINARY_PREREQS) $(TDBDUMP_OBJ) $(LIBTALLOC) $(LIBTDB)
+bin/tdbdump@EXEEXT@: $(BINARY_PREREQS) $(TDBDUMP_OBJ) $(LIBTDB)
@echo Linking $@
- @$(CC) -o $@ $(LDFLAGS) $(TDBDUMP_OBJ) $(DYNEXP) \
- $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
+ @$(CC) -o $@ $(LDFLAGS) $(TDBDUMP_OBJ) $(DYNEXP) $(LIBTDB_LIBS) $(LIBREPLACE_LIBS)
+
+bin/tdbrestore@EXEEXT@: $(BINARY_PREREQS) $(TDBRESTORE_OBJ) $(LIBTDB)
+ @echo Linking $@
+ @$(CC) -o $@ $(LDFLAGS) $(TDBRESTORE_OBJ) $(DYNEXP) $(LIBTDB_LIBS) $(LIBREPLACE_LIBS)
bin/tdbtorture@EXEEXT@: $(BINARY_PREREQS) $(TDBTORTURE_OBJ) $(LIBTALLOC) $(LIBTDB)
@echo Linking $@
$(LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) \
$(LDAP_LIBS) $(KRB5LIBS) $(NSCD_LIBS)
-bin/test_lp_load@EXEEXT@: $(BINARY_PREREQS) $(TEST_LP_LOAD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
+bin/test_lp_load@EXEEXT@: $(BINARY_PREREQS) $(TEST_LP_LOAD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
@echo "Linking $@"
@$(CC) -o $@ $(TEST_LP_LOAD_OBJ) \
$(LDFLAGS) $(DYNEXP) $(LIBS) \
- $(LDAP_LIBS) \
+ $(LDAP_LIBS) $(LIBWBCLIENT_LIBS) \
$(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
bin/dbwrap_tool@EXEEXT@: $(DBWRAP_TOOL_OBJ) $(LIBTALLOC) $(LIBTDB)
install-dbwrap_torture:: bin/dbwrap_torture@EXEEXT@
@$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $<
-bin/split_tokens@EXEEXT@: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB)
+bin/split_tokens@EXEEXT@: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
@echo "Linking $@"
@$(CC) -o $@ $(SPLIT_TOKENS_OBJ) \
$(LDFLAGS) $(DYNEXP) \
$(LIBS) $(POPT_LIBS) \
- $(LDAP_LIBS) \
+ $(LDAP_LIBS) $(LIBWBCLIENT_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
install:: installservers installbin installman \
SELFTESTDIR="$(selftestdir)" SELFTESTPREFIX="$(selftest_prefix)" \
SOURCEDIR="$(srcdir)" \
RUN_FROM_BUILD_FARM="$(RUN_FROM_BUILD_FARM)" \
+ SUBUNIT_FORMATTER="$(SUBUNIT_FORMATTER)" \
PERL="$(PERL)" PYTHON="$(PYTHON)" \
- $(selftestdir)/s3-selftest.sh
+ $(srcdir)/selftest/s3-selftest.sh
test-%:
$(MAKE) test TESTS=$*
+buildfarm-test:
+ $(MAKE) test RUN_FROM_BUILD_FARM=yes
+
+subunit-test:
+ $(MAKE) test SUBUNIT_FORMATTER=cat
+
SELFTEST_TESTENV = dc
testenv:
.PHONY: samba4-configure
bin/smbtorture4: $(BINARY_PREREQS) samba4-configure
- cd ../source4 && ../buildtools/bin/waf build --targets=smbtorture
+ cd ../source4 && make bin/smbtorture
cp ../source4/bin/smbtorture bin/smbtorture4
bin/ndrdump4: $(BINARY_PREREQS) samba4-configure
- cd ../source4 && ../buildtools/bin/waf build --targets=ndrdump
+ cd ../source4 && make bin/ndrdump
cp ../source4/bin/ndrdump bin/ndrdump4
.PHONY: bin/smbtorture4