summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/auth/config.mk3
-rwxr-xr-xsource4/build/pidl/pidl.pl27
-rw-r--r--source4/build/pidl/stub.pm12
-rw-r--r--source4/client/config.mk2
-rw-r--r--source4/gtk/config.mk8
-rw-r--r--source4/lib/dcom/common/rot.c29
-rw-r--r--source4/lib/dcom/config.mk6
-rw-r--r--source4/lib/registry/config.mk3
-rw-r--r--source4/libnet/config.mk2
-rw-r--r--source4/librpc/config.mk582
-rw-r--r--source4/ntvfs/posix/config.mk1
-rw-r--r--source4/rpc_server/config.mk37
-rw-r--r--source4/torture/config.mk8
-rw-r--r--source4/utils/config.mk10
14 files changed, 552 insertions, 178 deletions
diff --git a/source4/auth/config.mk b/source4/auth/config.mk
index b84880bcca..131828ae63 100644
--- a/source4/auth/config.mk
+++ b/source4/auth/config.mk
@@ -31,7 +31,8 @@ SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth/auth_winbind.o
REQUIRED_SUBSYSTEMS = \
- LIB_WINBIND_CLIENT
+ LIB_WINBIND_CLIENT \
+ NDR_NETLOGON LIBNDR
# End MODULE auth_builtin
#######################
diff --git a/source4/build/pidl/pidl.pl b/source4/build/pidl/pidl.pl
index 8388bcfd4c..c430c75236 100755
--- a/source4/build/pidl/pidl.pl
+++ b/source4/build/pidl/pidl.pl
@@ -168,18 +168,35 @@ sub process_file($)
}
if ($opt_server) {
- my($server) = util::ChangeExtension($output, "_s.c");
- my $res = "";
+ my $h_filename = util::ChangeExtension($output, ".h");
+ my $plain = "";
+ my $dcom = "";
+
foreach my $x (@{$pidl}) {
next if ($x->{TYPE} ne "INTERFACE");
if (util::has_property($x, "object")) {
- $res .= IdlStub::ParseInterface($x);
+ $dcom .= IdlStub::ParseInterface($x);
} else {
- $res .= IdlServer::ParseInterface($x);
+ $plain .= IdlServer::ParseInterface($x);
}
}
- util::FileSave($server, $res);
+
+ if ($plain ne "") {
+ util::FileSave(util::ChangeExtension($output, "_s.c"), $plain);
+ }
+
+ if ($dcom ne "") {
+ $dcom = "
+#include \"includes.h\"
+#include \"$h_filename\"
+#include \"rpc_server/dcerpc_server.h\"
+#include \"rpc_server/common/common.h\"
+
+$dcom
+";
+ util::FileSave(util::ChangeExtension($output, "_d.c"), $dcom);
+ }
}
if ($opt_parser) {
diff --git a/source4/build/pidl/stub.pm b/source4/build/pidl/stub.pm
index 1cfb3cb11e..2bcece8416 100644
--- a/source4/build/pidl/stub.pm
+++ b/source4/build/pidl/stub.pm
@@ -27,12 +27,13 @@ sub gen_dispatch_switch($)
next if ($d->{TYPE} ne "FUNCTION");
pidl "\tcase $count: {\n";
+ pidl "\t\tNTSTATUS result;\n";
pidl "\t\tstruct $d->{NAME} *r2 = r;\n";
pidl "\t\tif (DEBUGLEVEL > 10) {\n";
pidl "\t\t\tNDR_PRINT_FUNCTION_DEBUG($d->{NAME}, NDR_IN, r2);\n";
pidl "\t\t}\n";
if ($d->{RETURN_TYPE} && $d->{RETURN_TYPE} ne "void") {
- pidl "\t\tr2->out.result = vtable->$d->{NAME}(iface, mem_ctx, r2);\n";
+ pidl "\t\tresult = vtable->$d->{NAME}(iface, mem_ctx, r2);\n";
} else {
pidl "\t\tvtable->$d->{NAME}(iface, mem_ctx, r2);\n";
}
@@ -89,8 +90,8 @@ static NTSTATUS $name\__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_C
{
uint16 opnum = dce_call->pkt.u.request.opnum;
struct GUID ipid = dce_call->pkt.u.request.object.object;
- struct dcom_interface_p *iface = dcoms_get_ifacep(&ipid);
- struct dcom_$name\_vtable *vtable = if->vtable;
+ struct dcom_interface_p *iface = dcom_get_iface_p(&ipid);
+ const struct dcom_$name\_vtable *vtable = iface->vtable;
dce_call->fault_code = 0;
@@ -193,7 +194,7 @@ NTSTATUS dcerpc_server_$name\_init(void)
ep_server.interface_by_name = $name\__op_interface_by_name;
/* register ourselves with the DCERPC subsystem. */
- ret = register_backend(\"dcerpc\", &ep_server);
+ ret = dcerpc_register_ep_server(&ep_server);
if (!NT_STATUS_IS_OK(ret)) {
DEBUG(0,(\"Failed to register \'$name\' endpoint server!\\n\"));
@@ -209,7 +210,7 @@ NTSTATUS dcerpc_server_$name\_init(void)
sub ParseInterface($)
{
my($interface) = shift;
- $res = "/* dcerpc server boilerplate generated by pidl */\n\n";
+ $res = "/* dcom interface stub generated by pidl */\n\n";
Boilerplate_Iface($interface);
Boilerplate_Ep_Server($interface);
@@ -218,4 +219,3 @@ sub ParseInterface($)
}
1;
-
diff --git a/source4/client/config.mk b/source4/client/config.mk
index 5be1c9f20b..f3dc35f030 100644
--- a/source4/client/config.mk
+++ b/source4/client/config.mk
@@ -11,6 +11,6 @@ REQUIRED_SUBSYSTEMS = \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
- LIBRPC
+ RPC_NDR_SRVSVC
# End BINARY smbclient
#################################
diff --git a/source4/gtk/config.mk b/source4/gtk/config.mk
index 720fc635d6..72040c6882 100644
--- a/source4/gtk/config.mk
+++ b/source4/gtk/config.mk
@@ -6,7 +6,7 @@
NOPROTO = YES
INIT_OBJ_FILES = gtk/common/gtk-smb.o
ADD_OBJ_FILES = gtk/common/select.o
-REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk RPC_NDR_SAMR
# End SUBSYSTEM GTKSMB
##############################
@@ -22,7 +22,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE REGISTRY GTKSMB
# Start BINARY gepdump
[BINARY::gepdump]
OBJ_FILES = gtk/tools/gepdump.o
-REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
+REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_EPMAPPER RPC_NDR_MGMT
# End BINARY gepdump
################################################
@@ -30,7 +30,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
# Start BINARY gwcrontab
[BINARY::gwcrontab]
OBJ_FILES = gtk/tools/gwcrontab.o
-REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
+REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_ATSVC
# End BINARY gwcrontab
################################################
@@ -38,6 +38,6 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
# Start BINARY gwsam
[BINARY::gwsam]
OBJ_FILES = gtk/tools/gwsam.o gtk/tools/gwsam_user.o
-REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE LIBRPC GTKSMB
+REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE RPC_NDR_SAMR GTKSMB
# End BINARY gwsam
################################################
diff --git a/source4/lib/dcom/common/rot.c b/source4/lib/dcom/common/rot.c
new file mode 100644
index 0000000000..291022f925
--- /dev/null
+++ b/source4/lib/dcom/common/rot.c
@@ -0,0 +1,29 @@
+/*
+ Unix SMB/CIFS implementation.
+
+ Running object table functions
+
+ Copyright (C) Jelmer Vernooij 2004
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "includes.h"
+
+struct dcom_interface_p *dcom_get_iface_p(struct GUID *ipid)
+{
+ /* FIXME */
+ return NULL;
+}
diff --git a/source4/lib/dcom/config.mk b/source4/lib/dcom/config.mk
index f0b4031fc1..9fda924881 100644
--- a/source4/lib/dcom/config.mk
+++ b/source4/lib/dcom/config.mk
@@ -3,8 +3,10 @@
[SUBSYSTEM::LIBDCOM]
INIT_OBJ_FILES = \
lib/dcom/common/main.o \
- lib/dcom/common/tables.o
-REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBNDR_GEN LIBRPC_RAW
+ lib/dcom/common/tables.o \
+ lib/dcom/common/rot.o
+REQUIRED_SUBSYSTEMS = DCOM_PROXY_DCOM RPC_NDR_REMACT \
+ RPC_NDR_OXIDRESOLVER
#
# End SUBSYSTEM LIBDCOM
################################################
diff --git a/source4/lib/registry/config.mk b/source4/lib/registry/config.mk
index ec9dbec7db..b91ec647a0 100644
--- a/source4/lib/registry/config.mk
+++ b/source4/lib/registry/config.mk
@@ -37,8 +37,7 @@ INIT_FUNCTION = registry_rpc_init
SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_rpc/reg_backend_rpc.o
-REQUIRED_SUBSYSTEMS = \
- LIBRPC
+REQUIRED_SUBSYSTEMS = RPC_NDR_WINREG
# End MODULE registry_rpc
################################################
diff --git a/source4/libnet/config.mk b/source4/libnet/config.mk
index b2c0c04387..969a2bbd34 100644
--- a/source4/libnet/config.mk
+++ b/source4/libnet/config.mk
@@ -7,6 +7,6 @@ ADD_OBJ_FILES = \
libnet/libnet_passwd.o \
libnet/libnet_time.o \
libnet/libnet_rpc.o
-REQUIRED_SUBSYSTEMS = LIBRPC
+REQUIRED_SUBSYSTEMS = RPC_NDR_SAMR RPC_NDR_SRVSVC
# End SUBSYSTEM LIBNET
#################################
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index f720264046..276a146a94 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -4,12 +4,14 @@
INIT_OBJ_FILES = \
librpc/ndr/ndr.o
ADD_OBJ_FILES = \
- librpc/ndr/ndr_basic.o \
- librpc/ndr/ndr_spoolss_buf.o \
- librpc/ndr/ndr_dcom.o
+ librpc/ndr/ndr_basic.o
+REQUIRED_SUBSYSTEMS = LIBCLI_UTILS
# End SUBSYSTEM LIBNDR_RAW
################################################
+[SUBSYSTEM::LIBNDR]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW
+
################################################
# Start SUBSYSTEM LIBRPC_RAW
[SUBSYSTEM::LIBRPC_RAW]
@@ -28,144 +30,452 @@ REQUIRED_SUBSYSTEMS = SOCKET
# End SUBSYSTEM LIBRPC_RAW
################################################
-################################################
-# Start SUBSYSTEM LIBNDR_GEN
-[SUBSYSTEM::LIBNDR_GEN]
-INIT_FUNCTION = \
- dcerpc_audiosrv_init \
- dcerpc_dcerpc_init \
- dcerpc_echo_init \
- dcerpc_exchange_init \
- dcerpc_dsbackup_init \
- dcerpc_efs_init \
- dcerpc_misc_init \
- dcerpc_lsa_init \
- dcerpc_lsads_init \
- dcerpc_dfs_init \
- dcerpc_drsuapi_init \
- dcerpc_policyagent_init \
- dcerpc_samr_init \
- dcerpc_spoolss_init \
- dcerpc_wkssvc_init \
- dcerpc_srvsvc_init \
- dcerpc_svcctl_init \
- dcerpc_atsvc_init \
- dcerpc_eventlog_init \
- dcerpc_epmapper_init \
- dcerpc_dbgidl_init \
- dcerpc_dssetup_init \
- dcerpc_msgsvc_init \
- dcerpc_wins_init \
- dcerpc_winreg_init \
- dcerpc_mgmt_init \
- dcerpc_protected_storage_init \
- dcerpc_dcom_init \
- dcom_dcom_init \
- dcerpc_oxidresolver_init \
- dcerpc_remact_init \
- dcerpc_wzcsvc_init \
- dcerpc_browser_init \
- dcerpc_w32time_init \
- dcerpc_scerpc_init \
- dcerpc_ntsvcs_init \
- dcerpc_netlogon_init \
- dcerpc_trkwks_init \
- dcerpc_keysvc_init \
- dcerpc_krb5pac_init \
- dcerpc_xattr_init \
- dcerpc_schannel_init
+[SUBSYSTEM::NDR_AUDIOSRV]
+INIT_FUNCTION = dcerpc_audiosrv_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+[SUBSYSTEM::NDR_DCERPC]
+INIT_FUNCTION = dcerpc_dcerpc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dcerpc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_ECHO]
+INIT_FUNCTION = dcerpc_echo_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_echo.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_EXCHANGE]
+INIT_FUNCTION = dcerpc_exchange_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_exchange.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DSBACKUP]
+INIT_FUNCTION = dcerpc_dsbackup_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_EFS]
+INIT_FUNCTION = dcerpc_efs_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_efs.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_MISC]
+INIT_FUNCTION = dcerpc_misc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_misc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_LSA]
+INIT_FUNCTION = dcerpc_lsa_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_lsa.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_LSADS]
+INIT_FUNCTION = dcerpc_lsads_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_lsads.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DFS]
+INIT_FUNCTION = dcerpc_dfs_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dfs.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DRSUAPI]
+INIT_FUNCTION = dcerpc_drsuapi_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_POLICYAGENT]
+INIT_FUNCTION = dcerpc_policyagent_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SAMR]
+INIT_FUNCTION = dcerpc_samr_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_samr.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SPOOLSS]
+INIT_FUNCTION = dcerpc_spoolss_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_spoolss.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_SPOOLSS_BUF
+
+[SUBSYSTEM::NDR_SPOOLSS_BUF]
+INIT_OBJ_FILES = librpc/ndr/ndr_spoolss_buf.o
+
+[SUBSYSTEM::NDR_WKSSVC]
+INIT_FUNCTION = dcerpc_wkssvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SRVSVC]
+INIT_FUNCTION = dcerpc_srvsvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SVCCTL]
+INIT_FUNCTION = dcerpc_svcctl_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_svcctl.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_ATSVC]
+INIT_FUNCTION = dcerpc_atsvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_atsvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_EVENTLOG]
+INIT_FUNCTION = dcerpc_eventlog_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_eventlog.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_EPMAPPER]
+INIT_FUNCTION = dcerpc_epmapper_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_epmapper.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DBGIDL]
+INIT_FUNCTION = dcerpc_dbgidl_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DSSETUP]
+INIT_FUNCTION = dcerpc_dssetup_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dssetup.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_MSGSVC]
+INIT_FUNCTION = dcerpc_msgsvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_WINS]
+INIT_FUNCTION = dcerpc_wins_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_wins.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_WINREG]
+INIT_FUNCTION = dcerpc_winreg_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_winreg.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_MGMT]
+INIT_FUNCTION = dcerpc_mgmt_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_mgmt.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_PROTECTED_STORAGE]
+INIT_FUNCTION = dcerpc_protected_storage_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_DCOM_MANUAL]
+INIT_OBJ_FILES = librpc/ndr/ndr_dcom.o
+
+[SUBSYSTEM::NDR_DCOM]
+INIT_FUNCTION = dcerpc_dcom_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_dcom.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM_MANUAL
+
+[SUBSYSTEM::NDR_OXIDRESOLVER]
+INIT_FUNCTION = dcerpc_oxidresolver_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM
+
+[SUBSYSTEM::NDR_REMACT]
+INIT_FUNCTION = dcerpc_remact_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_remact.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM
+
+[SUBSYSTEM::NDR_WZCSVC]
+INIT_FUNCTION = dcerpc_wzcsvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_BROWSER]
+INIT_FUNCTION = dcerpc_browser_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_browser.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_W32TIME]
+INIT_FUNCTION = dcerpc_w32time_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_w32time.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SCERPC]
+INIT_FUNCTION = dcerpc_scerpc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_scerpc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_NTSVCS]
+INIT_FUNCTION = dcerpc_ntsvcs_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_NETLOGON]
+INIT_FUNCTION = dcerpc_netlogon_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_netlogon.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_TRKWKS]
+INIT_FUNCTION = dcerpc_trkwks_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_trkwks.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_KEYSVC]
+INIT_FUNCTION = dcerpc_keysvc_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_keysvc.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_KRB5PAC]
+INIT_FUNCTION = dcerpc_krb5pac_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_krb5pac.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_XATTR]
+INIT_FUNCTION = dcerpc_xattr_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_xattr.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_SCHANNEL]
+INIT_FUNCTION = dcerpc_schannel_init
+INIT_OBJ_FILES = librpc/gen_ndr/ndr_schannel.o
+NOPROTO = YES
+REQUIRED_SUBSYSTEMS = LIBNDR
+
+[SUBSYSTEM::NDR_ALL]
+REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
+ NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_LSADS NDR_DFS NDR_DRSUAPI \
+ NDR_POLICYAGENT NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
+ NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
+ NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_DCOM NDR_OXIDRESOLVER \
+ NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \
+ NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL
+
+
+[SUBSYSTEM::RPC_NDR_AUDIOSRV]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv_c.o
+REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV LIBRPC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_ECHO]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_echo_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_ECHO
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_EXCHANGE]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_exchange_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EXCHANGE
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_DSBACKUP]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSBACKUP
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_EFS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_efs_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EFS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_LSA]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_lsa_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSA
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_LSADS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_lsads_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSADS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_DFS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_dfs_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DFS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_DRSUAPI]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSUAPI
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_POLICYAGENT]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_policyagent_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_POLICYAGENT
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_SAMR]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_samr_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SAMR
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_SPOOLSS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_spoolss_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SPOOLSS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_WKSSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WKSSVC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_SRVSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SRVSVC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_SVCCTL]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_svcctl_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SVCCTL
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_ATSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_atsvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_ATSVC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_EVENTLOG]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_eventlog_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EVENTLOG
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_EPMAPPER]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_epmapper_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EPMAPPER
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_DBGIDL]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DBGIDL
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_DSSETUP]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_dssetup_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSSETUP
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_MSGSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_MSGSVC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_WINS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_wins_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_WINREG]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_winreg_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINREG
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_MGMT]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_mgmt_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_MGMT
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_PROTECTED_STORAGE
+NOPROTO = YES
+
+[SUBSYSTEM::DCOM_PROXY_DCOM]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_dcom_c.o
+INIT_FUNCTION = dcom_dcom_init
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DCOM
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_OXIDRESOLVER
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_REMACT]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_remact_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_REMACT
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_WZCSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WZCSVC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_BROWSER]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_browser_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_BROWSER
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_W32TIME]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_w32time_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_W32TIME
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_SCERPC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_scerpc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SCERPC
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_NTSVCS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_NTSVCS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_NETLOGON]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_netlogon_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_NETLOGON
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_TRKWKS]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_trkwks_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_TRKWKS
+NOPROTO = YES
+
+[SUBSYSTEM::RPC_NDR_KEYSVC]
+ADD_OBJ_FILES = librpc/gen_ndr/ndr_keysvc_c.o
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_KEYSVC
NOPROTO = YES
-ADD_OBJ_FILES = \
- librpc/gen_ndr/ndr_audiosrv.o \
- librpc/gen_ndr/ndr_dcerpc.o \
- librpc/gen_ndr/ndr_echo.o \
- librpc/gen_ndr/ndr_exchange.o \
- librpc/gen_ndr/ndr_dsbackup.o \
- librpc/gen_ndr/ndr_efs.o \
- librpc/gen_ndr/ndr_misc.o \
- librpc/gen_ndr/ndr_lsa.o \
- librpc/gen_ndr/ndr_lsads.o \
- librpc/gen_ndr/ndr_dfs.o \
- librpc/gen_ndr/ndr_drsuapi.o \
- librpc/gen_ndr/ndr_policyagent.o \
- librpc/gen_ndr/ndr_samr.o \
- librpc/gen_ndr/ndr_spoolss.o \
- librpc/gen_ndr/ndr_wkssvc.o \
- librpc/gen_ndr/ndr_srvsvc.o \
- librpc/gen_ndr/ndr_svcctl.o \
- librpc/gen_ndr/ndr_atsvc.o \
- librpc/gen_ndr/ndr_eventlog.o \
- librpc/gen_ndr/ndr_epmapper.o \
- librpc/gen_ndr/ndr_dbgidl.o \
- librpc/gen_ndr/ndr_dssetup.o \
- librpc/gen_ndr/ndr_msgsvc.o \
- librpc/gen_ndr/ndr_wins.o \
- librpc/gen_ndr/ndr_winreg.o \
- librpc/gen_ndr/ndr_mgmt.o \
- librpc/gen_ndr/ndr_protected_storage.o \
- librpc/gen_ndr/ndr_dcom.o \
- librpc/gen_ndr/ndr_oxidresolver.o \
- librpc/gen_ndr/ndr_remact.o \
- librpc/gen_ndr/ndr_wzcsvc.o \
- librpc/gen_ndr/ndr_browser.o \
- librpc/gen_ndr/ndr_w32time.o \
- librpc/gen_ndr/ndr_scerpc.o \
- librpc/gen_ndr/ndr_ntsvcs.o \
- librpc/gen_ndr/ndr_netlogon.o \
- librpc/gen_ndr/ndr_trkwks.o \
- librpc/gen_ndr/ndr_keysvc.o \
- librpc/gen_ndr/ndr_krb5pac.o \
- librpc/gen_ndr/ndr_xattr.o \
- librpc/gen_ndr/ndr_schannel.o \
- librpc/gen_ndr/ndr_audiosrv_c.o \
- librpc/gen_ndr/ndr_dcerpc_c.o \
- librpc/gen_ndr/ndr_echo_c.o \
- librpc/gen_ndr/ndr_exchange_c.o \
- librpc/gen_ndr/ndr_dsbackup_c.o \
- librpc/gen_ndr/ndr_efs_c.o \
- librpc/gen_ndr/ndr_misc_c.o \
- librpc/gen_ndr/ndr_lsa_c.o \
- librpc/gen_ndr/ndr_lsads_c.o \
- librpc/gen_ndr/ndr_dfs_c.o \
- librpc/gen_ndr/ndr_drsuapi_c.o \
- librpc/gen_ndr/ndr_policyagent_c.o \
- librpc/gen_ndr/ndr_samr_c.o \
- librpc/gen_ndr/ndr_spoolss_c.o \
- librpc/gen_ndr/ndr_wkssvc_c.o \
- librpc/gen_ndr/ndr_srvsvc_c.o \
- librpc/gen_ndr/ndr_svcctl_c.o \
- librpc/gen_ndr/ndr_atsvc_c.o \
- librpc/gen_ndr/ndr_eventlog_c.o \
- librpc/gen_ndr/ndr_epmapper_c.o \
- librpc/gen_ndr/ndr_dbgidl_c.o \
- librpc/gen_ndr/ndr_dssetup_c.o \
- librpc/gen_ndr/ndr_msgsvc_c.o \
- librpc/gen_ndr/ndr_wins_c.o \
- librpc/gen_ndr/ndr_winreg_c.o \
- librpc/gen_ndr/ndr_mgmt_c.o \
- librpc/gen_ndr/ndr_protected_storage_c.o \
- librpc/gen_ndr/ndr_dcom_c.o \
- librpc/gen_ndr/ndr_oxidresolver_c.o \
- librpc/gen_ndr/ndr_remact_c.o \
- librpc/gen_ndr/ndr_wzcsvc_c.o \
- librpc/gen_ndr/ndr_browser_c.o \
- librpc/gen_ndr/ndr_w32time_c.o \
- librpc/gen_ndr/ndr_scerpc_c.o \
- librpc/gen_ndr/ndr_ntsvcs_c.o \
- librpc/gen_ndr/ndr_netlogon_c.o \
- librpc/gen_ndr/ndr_trkwks_c.o \
- librpc/gen_ndr/ndr_keysvc_c.o \
- librpc/gen_ndr/ndr_krb5pac_c.o \
- librpc/gen_ndr/ndr_xattr_c.o \
- librpc/gen_ndr/ndr_schannel_c.o
-
-# End SUBSYSTEM LIBNDR_GEN
-################################################
################################################
# Start SUBSYSTEM LIBRPC
[SUBSYSTEM::LIBRPC]
-REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBNDR_GEN LIBRPC_RAW LIBSMB LIBDCOM
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
# End SUBSYSTEM LIBRPC
################################################
diff --git a/source4/ntvfs/posix/config.mk b/source4/ntvfs/posix/config.mk
index 7999a32741..44857feda3 100644
--- a/source4/ntvfs/posix/config.mk
+++ b/source4/ntvfs/posix/config.mk
@@ -31,5 +31,6 @@ ADD_OBJ_FILES = \
ntvfs/posix/pvfs_acl.o \
ntvfs/common/opendb.o \
ntvfs/common/brlock.o
+REQUIRED_SUBSYSTEMS = NDR_XATTR
# End MODULE ntvfs_posix
################################################
diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk
index 401d8c62fb..34e1f4c62c 100644
--- a/source4/rpc_server/config.mk
+++ b/source4/rpc_server/config.mk
@@ -12,7 +12,7 @@ ADD_OBJ_FILES = \
################################################
################################################
-# Start MODULE dcerpc_DCOM
+# Start MODULE dcerpc_dcom
[MODULE::dcerpc_dcom]
INIT_FUNCTION = dcerpc_server_dcom_init
SUBSYSTEM = DCERPC
@@ -21,8 +21,11 @@ INIT_OBJ_FILES = \
rpc_server/dcom/rot.o \
rpc_server/dcom/remact.o
REQUIRED_SUBSYSTEMS = \
- DCERPC_COMMON
-# End MODULE dcerpc_IRemoteActivation
+ DCERPC_COMMON \
+ NDR_OXIDRESOLVER \
+ NDR_REMACT \
+ LIBDCOM
+# End MODULE dcerpc_dcom
################################################
@@ -57,6 +60,7 @@ INIT_FUNCTION = dcerpc_server_rpcecho_init
SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/echo/rpc_echo.o
+REQUIRED_SUBSYSTEMS = NDR_ECHO
# End MODULE dcerpc_rpcecho
################################################
@@ -67,6 +71,7 @@ INIT_FUNCTION = dcerpc_server_epmapper_init
SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/epmapper/rpc_epmapper.o
+REQUIRED_SUBSYSTEMS = NDR_EPMAPPER
# End MODULE dcerpc_epmapper
################################################
@@ -78,7 +83,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/remote/dcesrv_remote.o
REQUIRED_SUBSYSTEMS = \
- LIBSMB
+ LIBSMB NDR_ALL
# End MODULE dcerpc_remote
################################################
@@ -90,7 +95,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/srvsvc/dcesrv_srvsvc.o
REQUIRED_SUBSYSTEMS = \
- DCERPC_COMMON
+ DCERPC_COMMON NDR_SRVSVC
# End MODULE dcerpc_srvsvc
################################################
@@ -102,7 +107,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/wkssvc/dcesrv_wkssvc.o
REQUIRED_SUBSYSTEMS = \
- DCERPC_COMMON
+ DCERPC_COMMON NDR_WKSSVC
# End MODULE dcerpc_wkssvc
################################################
@@ -117,7 +122,8 @@ ADD_OBJ_FILES = \
rpc_server/samr/samr_password.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
- DCERPC_COMMON
+ DCERPC_COMMON \
+ NDR_SAMR
# End MODULE dcerpc_samr
################################################
@@ -129,7 +135,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/winreg/rpc_winreg.o
REQUIRED_SUBSYSTEMS = \
- REGISTRY
+ REGISTRY NDR_WINREG
# End MODULE dcerpc_winreg
################################################
@@ -142,7 +148,8 @@ INIT_OBJ_FILES = \
rpc_server/netlogon/dcerpc_netlogon.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON \
- SCHANNELDB
+ SCHANNELDB \
+ NDR_NETLOGON
# End MODULE dcerpc_netlogon
################################################
@@ -155,7 +162,8 @@ INIT_OBJ_FILES = \
rpc_server/lsa/dcesrv_lsa.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
- DCERPC_COMMON
+ DCERPC_COMMON \
+ NDR_LSA
# End MODULE dcerpc_lsa
################################################
@@ -168,7 +176,8 @@ INIT_OBJ_FILES = \
rpc_server/spoolss/dcesrv_spoolss.o \
rpc_server/spoolss/spoolssdb.o
REQUIRED_SUBSYSTEMS = \
- DCERPC_COMMON
+ DCERPC_COMMON \
+ NDR_SPOOLSS
# End MODULE dcerpc_lsa
################################################
@@ -183,7 +192,8 @@ ADD_OBJ_FILES = \
rpc_server/drsuapi/drsuapi_cracknames.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
- DCERPC_COMMON
+ DCERPC_COMMON \
+ NDR_DRSUAPI
# End MODULE dcerpc_drsuapi
################################################
@@ -197,7 +207,8 @@ ADD_OBJ_FILES = \
rpc_server/dcesrv_auth.o \
rpc_server/handles.o
REQUIRED_SUBSYSTEMS = \
- LIBCLI_AUTH
+ LIBCLI_AUTH \
+ LIBNDR
#
# End SUBSYSTEM DCERPC
################################################
diff --git a/source4/torture/config.mk b/source4/torture/config.mk
index d7e99db0d0..17e8556ff1 100644
--- a/source4/torture/config.mk
+++ b/source4/torture/config.mk
@@ -20,7 +20,7 @@ ADD_OBJ_FILES = \
torture/basic/delaywrite.o \
torture/basic/attr.o
REQUIRED_SUBSYSTEMS = \
- LIBSMB LIBRPC
+ LIBSMB
# End SUBSYSTEM TORTURE_BASIC
#################################
@@ -97,7 +97,11 @@ ADD_OBJ_FILES = \
torture/rpc/samsync.o \
torture/rpc/bind.o
REQUIRED_SUBSYSTEMS = \
- LIBSMB
+ NDR_ALL RPC_NDR_SAMR RPC_NDR_WINREG RPC_NDR_OXIDRESOLVER \
+ RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
+ RPC_NDR_MGMT RPC_NDR_NETLOGON RPC_NDR_ATSVC RPC_NDR_DRSUAPI \
+ RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_SPOOLSS \
+ RPC_NDR_SRVSVC RPC_NDR_WKSSVC
# End SUBSYSTEM TORTURE_RPC
#################################
diff --git a/source4/utils/config.mk b/source4/utils/config.mk
index 1e901e1d87..eb2b150af9 100644
--- a/source4/utils/config.mk
+++ b/source4/utils/config.mk
@@ -9,8 +9,9 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- LIBSMB \
+ NDR_ALL \
LIBRPC
+# FIXME: ndrdump shouldn't have to depend on LIBRPC...
# End BINARY ndrdump
#################################
@@ -37,7 +38,6 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- LIBSMB \
LIBRPC
# End BINARY getntacl
#################################
@@ -51,7 +51,6 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- LIBSMB \
LIBRPC
# End BINARY setntacl
#################################
@@ -65,7 +64,8 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- LIBSMB \
- LIBRPC
+ LIBRPC \
+ NDR_XATTR \
+ NDR_SAMR
# End BINARY setnttoken
#################################