summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-12-30 22:46:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:49:06 -0500
commitaa9f67163cd2df2a815ef585edad1951343b82c8 (patch)
tree88058f98a5681563c745a9e3239469b61e11648f /source4/librpc
parent5a26b2d72b63f0b3d8d4aa151044521fdf8c2064 (diff)
downloadsamba-aa9f67163cd2df2a815ef585edad1951343b82c8.tar.gz
samba-aa9f67163cd2df2a815ef585edad1951343b82c8.tar.bz2
samba-aa9f67163cd2df2a815ef585edad1951343b82c8.zip
r12620: Get rid of automatically generated lists of init functions of subsystems.
This allows Samba libraries to be used by other projects (and parts of Samba to be built as shared libraries). (This used to be commit 44f0aba715bfedc7e1ee3d07e9a101a91dbd84b3)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/config.mk9
-rw-r--r--source4/librpc/rpc/dcerpc.c7
-rw-r--r--source4/librpc/tables.pl5
3 files changed, 14 insertions, 7 deletions
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 06254a6748..03367bdf17 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -302,14 +302,9 @@ librpc/gen_ndr/tables.c: librpc/gen_ndr/ndr_*.h
@$(PERL) librpc/tables.pl --output=librpc/gen_ndr/tables.c \
librpc/gen_ndr/ndr_*.h
-[SUBSYSTEM::NDR_IFACE_TABLE]
-NOPROTO = YES
-OBJ_FILES = gen_ndr/tables.o
-
[SUBSYSTEM::NDR_ALL]
-INIT_FUNCTION = dcerpc_table_init
-OBJ_FILES = rpc/table.o
-REQUIRED_SUBSYSTEMS = NDR_IFACE_TABLE NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
+OBJ_FILES = rpc/table.o gen_ndr/tables.o
+REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_DFS NDR_DRSUAPI \
NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index df71be7651..0269eb9919 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -29,6 +29,13 @@
#include "libcli/composite/composite.h"
#include "auth/gensec/gensec.h"
+NTSTATUS dcerpc_init(void)
+{
+ gensec_init();
+
+ return NT_STATUS_OK;
+}
+
static void dcerpc_ship_next_request(struct dcerpc_connection *c);
/* destroy a dcerpc connection */
diff --git a/source4/librpc/tables.pl b/source4/librpc/tables.pl
index 5757dc000a..7ef1dbd14a 100644
--- a/source4/librpc/tables.pl
+++ b/source4/librpc/tables.pl
@@ -82,6 +82,11 @@ print TABLEC <<EOF;
NTSTATUS dcerpc_table_init(void)
{
+ static BOOL initialized = False;
+
+ if (initialized) return NT_STATUS_OK;
+ initialized = True;
+
$init_fns
return NT_STATUS_OK;