summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-11-19 20:21:13 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:06:01 -0500
commitd95a256d1b7f579666c852740d32ba0f446a4c66 (patch)
tree13cbb67f8da922ae2db861d59a70c6369029ba75
parentb307f188258e5a6991856e1b1f7f72f77007a36b (diff)
downloadsamba-d95a256d1b7f579666c852740d32ba0f446a4c66.tar.gz
samba-d95a256d1b7f579666c852740d32ba0f446a4c66.tar.bz2
samba-d95a256d1b7f579666c852740d32ba0f446a4c66.zip
r3881: Split up the LIBNDR_GEN subsystem into NDR_* and RPC_NDR_* subsystems.
This reduces the total size of the samba binaries from 119 Mb to 73 Mb. Next step will be to have the build system obtain some of this information by itself, so that we don't have to write ~10 lines per interface manually. (This used to be commit 16d905f6b0cbec591eebc44ee2ac9516a5730378)
-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
#################################