summaryrefslogtreecommitdiff
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
parent5a26b2d72b63f0b3d8d4aa151044521fdf8c2064 (diff)
downloadsamba-aa9f67163cd2df2a815ef585edad1951343b82c8.tar.gz
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)
-rw-r--r--source4/auth/gensec/gensec.c5
-rw-r--r--source4/build/smb_build/config_mk.pm2
-rw-r--r--source4/build/smb_build/smb_build_h.pm31
-rw-r--r--source4/client/client.c4
-rw-r--r--source4/gtk/tools/gepdump.c3
-rw-r--r--source4/gtk/tools/gregedit.c3
-rw-r--r--source4/gtk/tools/gwcrontab.c6
-rw-r--r--source4/gtk/tools/gwsam.c6
-rw-r--r--source4/lib/com/config.mk1
-rw-r--r--source4/lib/com/main.c11
-rw-r--r--source4/lib/ldb/tools/cmdline.c4
-rw-r--r--source4/lib/registry/reg_backend_rpc.c1
-rw-r--r--source4/lib/registry/tools/regdiff.c3
-rw-r--r--source4/lib/registry/tools/regpatch.c3
-rw-r--r--source4/lib/registry/tools/regshell.c3
-rw-r--r--source4/lib/registry/tools/regtree.c3
-rw-r--r--source4/librpc/config.mk9
-rw-r--r--source4/librpc/rpc/dcerpc.c7
-rw-r--r--source4/librpc/tables.pl5
-rw-r--r--source4/rpc_server/remote/dcesrv_remote.c3
-rw-r--r--source4/scripting/ejs/smbcalls_rpc.c2
-rw-r--r--source4/scripting/ejs/smbscript.c4
-rw-r--r--source4/smbd/server.c3
-rw-r--r--source4/torture/com/simple.c2
-rw-r--r--source4/torture/gentest.c4
-rw-r--r--source4/torture/locktest.c4
-rw-r--r--source4/torture/masktest.c4
-rw-r--r--source4/torture/torture.c3
-rw-r--r--source4/utils/ndrdump.c1
-rw-r--r--source4/utils/net/net.c3
-rw-r--r--source4/utils/ntlm_auth.c4
31 files changed, 58 insertions, 89 deletions
diff --git a/source4/auth/gensec/gensec.c b/source4/auth/gensec/gensec.c
index aaac3ef78cb..5ff925c078b 100644
--- a/source4/auth/gensec/gensec.c
+++ b/source4/auth/gensec/gensec.c
@@ -943,9 +943,14 @@ const struct gensec_critical_sizes *gensec_interface_version(void)
*/
NTSTATUS gensec_init(void)
{
+ static BOOL initialized = False;
+
init_module_fn static_init[] = STATIC_GENSEC_MODULES;
init_module_fn *shared_init = load_samba_modules(NULL, "gensec");
+ if (initialized) return NT_STATUS_OK;
+ initialized = False;
+
run_init_functions(static_init);
run_init_functions(shared_init);
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm
index 405298eef24..b7c4ff572ae 100644
--- a/source4/build/smb_build/config_mk.pm
+++ b/source4/build/smb_build/config_mk.pm
@@ -20,7 +20,6 @@ my $section_types = {
"LDFLAGS" => "list",
},
"SUBSYSTEM" => {
- "INIT_FUNCTION" => "string",
"OBJ_FILES" => "list",
"REQUIRED_SUBSYSTEMS" => "list",
@@ -64,7 +63,6 @@ my $section_types = {
"MINOR_VERSION" => "string",
"RELEASE_VERSION" => "string",
- "INIT_FUNCTION" => "string",
"OBJ_FILES" => "list",
"DESCRIPTION" => "string",
diff --git a/source4/build/smb_build/smb_build_h.pm b/source4/build/smb_build/smb_build_h.pm
index 2bb9f35c539..52fe0da6da4 100644
--- a/source4/build/smb_build/smb_build_h.pm
+++ b/source4/build/smb_build/smb_build_h.pm
@@ -24,39 +24,8 @@ sub _prepare_smb_build_h($)
{
my $depend = shift;
my @defines = ();
- my %declared = ();
my $output = "";
- #
- # loop over all binaries
- #
- foreach my $key (values %{$depend}) {
- next if ($key->{TYPE} ne "BINARY");
-
- my $NAME = $key->{NAME};
- my $DEFINE = ();
- my $name = lc($NAME);
-
- #
- # Static modules
- #
- $DEFINE->{COMMENT} = "BINARY $NAME INIT";
- $DEFINE->{KEY} = $name . "_init_subsystems";
- $DEFINE->{VAL} = "do { \\\n";
- foreach my $subkey (@{$key->{SUBSYSTEM_INIT_FUNCTIONS}}) {
- next if defined($declared{$subkey});
- $output .= "NTSTATUS $subkey(void);\n";
- $declared{$subkey} = 1;
- }
-
- foreach my $subkey (@{$key->{SUBSYSTEM_INIT_FUNCTIONS}}) {
- $DEFINE->{VAL} .= "\t\tif (NT_STATUS_IS_ERR($subkey())) exit(1); \\\n";
- }
- $DEFINE->{VAL} .= "\t} while(0)";
-
- push(@defines,$DEFINE);
- }
-
foreach my $key (values %{$depend}) {
my $DEFINE = ();
next if ($key->{TYPE} ne "LIBRARY" and $key->{TYPE} ne "SUBSYSTEM");
diff --git a/source4/client/client.c b/source4/client/client.c
index fef847e8b2e..fb070424960 100644
--- a/source4/client/client.c
+++ b/source4/client/client.c
@@ -33,7 +33,7 @@
#include "dlinklist.h"
#include "system/readline.h"
#include "pstring.h"
-#include "smb_build.h"
+#include "auth/gensec/gensec.h"
static struct smbcli_state *cli;
static int port = 0;
@@ -3402,7 +3402,7 @@ static void remember_query_host(const char *arg,
}
}
- smbclient_init_subsystems;
+ gensec_init();
if(poptPeekArg(pc)) {
pstrcpy(service,poptGetArg(pc));
diff --git a/source4/gtk/tools/gepdump.c b/source4/gtk/tools/gepdump.c
index ea77b193852..eab3987a9a6 100644
--- a/source4/gtk/tools/gepdump.c
+++ b/source4/gtk/tools/gepdump.c
@@ -24,7 +24,6 @@
#include "librpc/gen_ndr/ndr_mgmt.h"
#include "gtk/common/gtk-smb.h"
#include "auth/gensec/gensec.h"
-#include "smb_build.h"
/*
* Show:
@@ -461,7 +460,7 @@ static GtkWidget* create_mainwindow (void)
int main(int argc, char **argv)
{
- gepdump_init_subsystems;
+ dcerpc_init();
lp_load();
setup_logging(argv[0], DEBUG_STDERR);
diff --git a/source4/gtk/tools/gregedit.c b/source4/gtk/tools/gregedit.c
index 8c243873ca4..5dd5ec1a92a 100644
--- a/source4/gtk/tools/gregedit.c
+++ b/source4/gtk/tools/gregedit.c
@@ -22,7 +22,6 @@
#include "includes.h"
#include "lib/registry/registry.h"
#include "gtk/common/gtk-smb.h"
-#include "smb_build.h"
static GtkTreeStore *store_keys;
static GtkListStore *store_vals;
@@ -964,8 +963,8 @@ int main(int argc, char *argv[])
{
int ret;
- gregedit_init_subsystems;
registry_init();
+
lp_load();
setup_logging(argv[0], DEBUG_STDERR);
diff --git a/source4/gtk/tools/gwcrontab.c b/source4/gtk/tools/gwcrontab.c
index f294e843923..9ebc7f43fdc 100644
--- a/source4/gtk/tools/gwcrontab.c
+++ b/source4/gtk/tools/gwcrontab.c
@@ -22,7 +22,6 @@
#include "includes.h"
#include "librpc/gen_ndr/ndr_atsvc.h"
#include "gtk/common/gtk-smb.h"
-#include "smb_build.h"
static struct dcerpc_pipe *at_pipe = NULL;
static GtkWidget *mainwin;
@@ -489,10 +488,9 @@ static GtkWidget*create_new_job_dialog (void)
}
-
- int main(int argc, char **argv)
+int main(int argc, char **argv)
{
- gwcrontab_init_subsystems;
+ dcerpc_init();
lp_load();
setup_logging(argv[0], DEBUG_STDERR);
diff --git a/source4/gtk/tools/gwsam.c b/source4/gtk/tools/gwsam.c
index 963397810c0..3764afe0467 100644
--- a/source4/gtk/tools/gwsam.c
+++ b/source4/gtk/tools/gwsam.c
@@ -23,7 +23,6 @@
#include "librpc/gen_ndr/ndr_samr.h"
#include "gtk/common/select.h"
#include "gtk/common/gtk-smb.h"
-#include "smb_build.h"
struct policy_handle sam_handle;
struct dcerpc_pipe *sam_pipe = NULL;
@@ -398,11 +397,8 @@ static GtkWidget* create_mainwindow (void)
return mainwin;
}
-
-
- int main(int argc, char **argv)
+int main(int argc, char **argv)
{
- gwsam_init_subsystems;
lp_load();
setup_logging(argv[0], DEBUG_STDERR);
diff --git a/source4/lib/com/config.mk b/source4/lib/com/config.mk
index 9e66502046c..12f0481b0f8 100644
--- a/source4/lib/com/config.mk
+++ b/source4/lib/com/config.mk
@@ -1,5 +1,4 @@
[SUBSYSTEM::COM]
-INIT_FUNCTION = com_init
OBJ_FILES = \
tables.o \
rot.o \
diff --git a/source4/lib/com/main.c b/source4/lib/com/main.c
index 123ba49b09f..f2e4f6473ad 100644
--- a/source4/lib/com/main.c
+++ b/source4/lib/com/main.c
@@ -92,8 +92,15 @@ WERROR com_get_class_object(struct com_context *ctx, struct GUID *clsid, struct
NTSTATUS com_init(void)
{
- init_module_fn static_init[] = STATIC_COM_MODULES;
- init_module_fn *shared_init = load_samba_modules(NULL, "com");
+ static BOOL initialized = False;
+
+ init_module_fn static_init[] = STATIC_COM_MODULES;
+ init_module_fn *shared_init;
+
+ if (initialized) return NT_STATUS_OK;
+ initialized = True;
+
+ shared_init = load_samba_modules(NULL, "com");
run_init_functions(static_init);
run_init_functions(shared_init);
diff --git a/source4/lib/ldb/tools/cmdline.c b/source4/lib/ldb/tools/cmdline.c
index a14434622fd..c134c3befd1 100644
--- a/source4/lib/ldb/tools/cmdline.c
+++ b/source4/lib/ldb/tools/cmdline.c
@@ -28,7 +28,6 @@
#include "ldb/tools/cmdline.h"
#ifdef _SAMBA_BUILD_
#include "lib/cmdline/popt_common.h"
-#include "smb_build.h"
#include "auth/auth.h"
#endif
@@ -72,7 +71,8 @@ struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const
};
#ifdef _SAMBA_BUILD_
- ldbsearch_init_subsystems;
+ gensec_init();
+
r = ldb_register_samba_handlers(ldb);
if (r != 0) {
goto failed;
diff --git a/source4/lib/registry/reg_backend_rpc.c b/source4/lib/registry/reg_backend_rpc.c
index e799b3a8e4a..32ecbec6c6c 100644
--- a/source4/lib/registry/reg_backend_rpc.c
+++ b/source4/lib/registry/reg_backend_rpc.c
@@ -389,5 +389,6 @@ WERROR reg_open_remote(struct registry_context **ctx, struct cli_credentials *cr
NTSTATUS registry_rpc_init(void)
{
+ dcerpc_init();
return registry_register(&reg_backend_rpc);
}
diff --git a/source4/lib/registry/tools/regdiff.c b/source4/lib/registry/tools/regdiff.c
index 68cc56f9dd3..5b876ca0250 100644
--- a/source4/lib/registry/tools/regdiff.c
+++ b/source4/lib/registry/tools/regdiff.c
@@ -22,7 +22,6 @@
#include "includes.h"
#include "lib/registry/registry.h"
#include "lib/cmdline/popt_common.h"
-#include "smb_build.h"
int main(int argc, char **argv)
{
@@ -45,8 +44,6 @@ int main(int argc, char **argv)
POPT_TABLEEND
};
- regdiff_init_subsystems;
-
registry_init();
pc = poptGetContext(argv[0], argc, (const char **) argv, long_options,0);
diff --git a/source4/lib/registry/tools/regpatch.c b/source4/lib/registry/tools/regpatch.c
index b8b88054863..6f5c79bc0eb 100644
--- a/source4/lib/registry/tools/regpatch.c
+++ b/source4/lib/registry/tools/regpatch.c
@@ -22,7 +22,6 @@
#include "includes.h"
#include "lib/registry/registry.h"
#include "lib/cmdline/popt_common.h"
-#include "smb_build.h"
int main(int argc, char **argv)
{
@@ -41,8 +40,6 @@ int main(int argc, char **argv)
POPT_TABLEEND
};
- regpatch_init_subsystems;
-
registry_init();
pc = poptGetContext(argv[0], argc, (const char **) argv, long_options,0);
diff --git a/source4/lib/registry/tools/regshell.c b/source4/lib/registry/tools/regshell.c
index c858b37f4a1..89493c761e0 100644
--- a/source4/lib/registry/tools/regshell.c
+++ b/source4/lib/registry/tools/regshell.c
@@ -23,7 +23,6 @@
#include "lib/registry/registry.h"
#include "lib/cmdline/popt_common.h"
#include "system/time.h"
-#include "smb_build.h"
/*
* ck/cd - change key
@@ -415,8 +414,6 @@ static char **reg_completion(const char *text, int start, int end)
POPT_TABLEEND
};
- regshell_init_subsystems;
-
registry_init();
pc = poptGetContext(argv[0], argc, (const char **) argv, long_options,0);
diff --git a/source4/lib/registry/tools/regtree.c b/source4/lib/registry/tools/regtree.c
index 9a9121379b9..d8f5d68a947 100644
--- a/source4/lib/registry/tools/regtree.c
+++ b/source4/lib/registry/tools/regtree.c
@@ -22,7 +22,6 @@
#include "includes.h"
#include "lib/registry/registry.h"
#include "lib/cmdline/popt_common.h"
-#include "smb_build.h"
static void print_tree(int l, struct registry_key *p, int fullpath, int novals)
{
@@ -98,8 +97,6 @@ int main(int argc, char **argv)
POPT_TABLEEND
};
- regtree_init_subsystems;
-
registry_init();
pc = poptGetContext(argv[0], argc, (const char **) argv, long_options,0);
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 06254a67482..03367bdf174 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 df71be76513..0269eb9919a 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 5757dc000a3..7ef1dbd14af 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;
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c
index 4cd4b2b507f..f7de3031cea 100644
--- a/source4/rpc_server/remote/dcesrv_remote.c
+++ b/source4/rpc_server/remote/dcesrv_remote.c
@@ -309,5 +309,8 @@ NTSTATUS dcerpc_server_remote_init(void)
return ret;
}
+ /* We need the full DCE/RPC interface table */
+ dcerpc_table_init();
+
return ret;
}
diff --git a/source4/scripting/ejs/smbcalls_rpc.c b/source4/scripting/ejs/smbcalls_rpc.c
index dff04a4c404..a104f0eb16c 100644
--- a/source4/scripting/ejs/smbcalls_rpc.c
+++ b/source4/scripting/ejs/smbcalls_rpc.c
@@ -367,6 +367,8 @@ done:
*/
int ejs_rpc_init(struct MprVar *obj, const char *name)
{
+ dcerpc_table_init();
+
mprSetStringCFunction(obj, "connect", ejs_rpc_connect);
if (mprGetProperty(obj, "pipe_name", NULL) == NULL) {
mprSetVar(obj, "pipe_name", mprString(name));
diff --git a/source4/scripting/ejs/smbscript.c b/source4/scripting/ejs/smbscript.c
index 0e131e0ba53..20675dadf90 100644
--- a/source4/scripting/ejs/smbscript.c
+++ b/source4/scripting/ejs/smbscript.c
@@ -25,7 +25,7 @@
#include "lib/appweb/ejs/ejs.h"
#include "lib/appweb/ejs/ejsInternal.h"
#include "scripting/ejs/smbcalls.h"
-#include "smb_build.h"
+#include "auth/gensec/gensec.h"
static EjsId eid;
@@ -50,7 +50,7 @@ void ejs_exception(const char *reason)
int exit_status, i;
fault_setup(argv[0]);
- smbscript_init_subsystems;
+ gensec_init();
mprSetCtx(mem_ctx);
lp_load();
diff --git a/source4/smbd/server.c b/source4/smbd/server.c
index e09c993f3c8..513fa19c428 100644
--- a/source4/smbd/server.c
+++ b/source4/smbd/server.c
@@ -33,6 +33,7 @@
#include "registry/registry.h"
#include "ntvfs/ntvfs.h"
#include "ntptr/ntptr.h"
+#include "auth/gensec/gensec.h"
/*
recursively delete a directory tree
@@ -217,7 +218,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
exit(1);
}
- smbd_init_subsystems;
+ gensec_init();
registry_init(); /* FIXME: maybe run this in the initialization function
of the winreg RPC server instead? */
diff --git a/source4/torture/com/simple.c b/source4/torture/com/simple.c
index 09061422f5f..5d3c6250c47 100644
--- a/source4/torture/com/simple.c
+++ b/source4/torture/com/simple.c
@@ -38,6 +38,8 @@ static BOOL test_readwrite(TALLOC_CTX *mem_ctx, const char *host)
char test_data[5];
int i;
+ com_init();
+
com_init_ctx(&ctx, NULL);
dcom_client_init(ctx, cmdline_credentials);
diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c
index d4666712523..a576b574585 100644
--- a/source4/torture/gentest.c
+++ b/source4/torture/gentest.c
@@ -24,7 +24,7 @@
#include "request.h"
#include "libcli/raw/libcliraw.h"
#include "librpc/gen_ndr/ndr_security.h"
-#include "smb_build.h"
+#include "auth/gensec/gensec.h"
#define NSERVERS 2
#define NINSTANCES 2
@@ -2234,7 +2234,7 @@ static void usage(void)
}
}
- gentest_init_subsystems;
+ gensec_init();
if (username_count == 0) {
usage();
diff --git a/source4/torture/locktest.c b/source4/torture/locktest.c
index a94a6f1ec9e..be2d3022da5 100644
--- a/source4/torture/locktest.c
+++ b/source4/torture/locktest.c
@@ -22,7 +22,7 @@
#include "system/filesys.h"
#include "system/time.h"
#include "pstring.h"
-#include "smb_build.h"
+#include "auth/gensec/gensec.h"
static int numops = 1000;
static BOOL showall;
@@ -550,7 +550,7 @@ static void usage(void)
servers[1] = servers[0];
}
- locktest_init_subsystems;
+ gensec_init();
argc -= optind;
argv += optind;
diff --git a/source4/torture/masktest.c b/source4/torture/masktest.c
index 5e8f973c4c7..ca5bdf7c21e 100644
--- a/source4/torture/masktest.c
+++ b/source4/torture/masktest.c
@@ -24,7 +24,7 @@
#include "libcli/raw/libcliraw.h"
#include "system/time.h"
#include "pstring.h"
-#include "smb_build.h"
+#include "auth/gensec/gensec.h"
static struct cli_credentials *credentials;
static BOOL showall = False;
@@ -353,7 +353,7 @@ static void usage(void)
}
}
- masktest_init_subsystems;
+ gensec_init();
argc -= optind;
argv += optind;
diff --git a/source4/torture/torture.c b/source4/torture/torture.c
index 149ee78065c..82fda0d4ff5 100644
--- a/source4/torture/torture.c
+++ b/source4/torture/torture.c
@@ -25,7 +25,6 @@
#include "system/wait.h"
#include "system/filesys.h"
#include "ioctl.h"
-#include "smb_build.h"
int torture_nprocs=4;
int torture_numops=10;
@@ -2609,7 +2608,7 @@ static void max_runtime_handler(int sig)
alarm(max_runtime);
}
- smbtorture_init_subsystems;
+ dcerpc_init();
dcerpc_table_init();
diff --git a/source4/utils/ndrdump.c b/source4/utils/ndrdump.c
index 33bffe77b58..497726279b9 100644
--- a/source4/utils/ndrdump.c
+++ b/source4/utils/ndrdump.c
@@ -22,7 +22,6 @@
#include "lib/cmdline/popt_common.h"
#include "system/iconv.h"
#include "system/filesys.h"
-#include "smb_build.h"
static const struct dcerpc_interface_call *find_function(
const struct dcerpc_interface_table *p,
diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c
index 17b12b7103d..f82eddb7636 100644
--- a/source4/utils/net/net.c
+++ b/source4/utils/net/net.c
@@ -44,7 +44,6 @@
#include "includes.h"
#include "utils/net/net.h"
#include "lib/cmdline/popt_common.h"
-#include "smb_build.h"
/*
run a function from a function table. If not found then
@@ -186,7 +185,7 @@ static int binary_net(int argc, const char **argv)
return net_usage(ctx, argc, argv);
}
- net_init_subsystems;
+ dcerpc_init();
mem_ctx = talloc_init("net_context");
ctx = talloc(mem_ctx, struct net_context);
diff --git a/source4/utils/ntlm_auth.c b/source4/utils/ntlm_auth.c
index ffdbd2f2f68..d6b65d75d7d 100644
--- a/source4/utils/ntlm_auth.c
+++ b/source4/utils/ntlm_auth.c
@@ -27,7 +27,6 @@
#include "lib/cmdline/popt_common.h"
#include "auth/auth.h"
#include "pstring.h"
-#include "smb_build.h"
#define SQUID_BUFFER_SIZE 2010
@@ -931,8 +930,7 @@ int main(int argc, const char **argv)
return 1;
}
- ntlm_auth_init_subsystems;
-
+ gensec_init();
if (opt_domain == NULL) {
opt_domain = lp_workgroup();