Remove use of global_loadparm during initialization of gensec.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 2 Nov 2008 16:04:22 +0000 (17:04 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 2 Nov 2008 16:04:22 +0000 (17:04 +0100)
pidl/lib/Parse/Pidl/Samba4/Python.pm
source4/lib/registry/rpc.c
source4/lib/wmi/wmicore.c
source4/libcli/util/errormap.c
source4/librpc/rpc/dcerpc.c
source4/librpc/rpc/dcerpc.h
source4/torture/rpc/rpc.c
source4/utils/net/net.c

index 58e6910d3dffbd5bdea7e999755a8d7580ec7cf3..38aee2c9d16cd1d30bacb14fac3a943918457a33 100644 (file)
@@ -698,6 +698,14 @@ sub Interface($$$)
                $self->pidl("}");
                $self->pidl("");
 
+               $self->pidl("status = dcerpc_init(lp_ctx);");
+               $self->pidl("if (!NT_STATUS_IS_OK(status)) {");
+               $self->indent;
+               $self->pidl("PyErr_SetNTSTATUS(status);");
+               $self->pidl("return;");
+               $self->deindent;
+               $self->pidl("}");
+
                $self->pidl("credentials = cli_credentials_from_py_object(py_credentials);");
                $self->pidl("if (credentials == NULL) {");
                $self->indent;
@@ -1210,14 +1218,6 @@ sub Parse($$$$$)
        }
 
        $self->pidl("");
-       $self->pidl("status = dcerpc_init();");
-       $self->pidl("if (!NT_STATUS_IS_OK(status)) {");
-       $self->indent;
-       $self->pidl("PyErr_SetNTSTATUS(status);");
-       $self->pidl("return;");
-       $self->deindent;
-       $self->pidl("}");
-
        $self->deindent;
        $self->pidl("}");
     return ($self->{res_hdr}, $self->{res});
index 3a16ae1db59c56b875d95bee0bfabcafc8b7d303..117951ed03b2cdc95e299759f0badf2c77f0676e 100644 (file)
@@ -486,7 +486,7 @@ _PUBLIC_ WERROR reg_open_remote(struct registry_context **ctx,
        struct dcerpc_pipe *p;
        struct rpc_registry_context *rctx;
 
-       dcerpc_init();
+       dcerpc_init(lp_ctx);
 
        rctx = talloc(NULL, struct rpc_registry_context);
 
index a853f26035a4a74070ebed0fb3a02a09ac2e7991..762494653618d7eae944426669399022afea472a 100644 (file)
@@ -37,9 +37,10 @@ struct IWbemContext;
                             DEBUG(1, ("OK   : %s\n", msg)); \
                         }
 
-void wmi_init(struct com_context **ctx, struct cli_credentials *credentials)
+void wmi_init(struct com_context **ctx, struct cli_credentials *credentials,
+                         struct loadparm_context *lp_ctx)
 {
-       dcerpc_init();
+       dcerpc_init(lp_ctx);
        ndr_table_init();
 
        /* FIXME: Register DCOM proxies? */
index 2257955c76cbc431639b028e711211d1d7b7adc5..4260c0dd7dfee3eb31b3e02c69ab0db3b0787d24 100644 (file)
@@ -1157,8 +1157,8 @@ static const struct {
        {NT_STATUS(0x80000025), W_ERROR(0x962)},
        {NT_STATUS(0x80000288), W_ERROR(0x48d)},
        {NT_STATUS(0x80000289), W_ERROR(0x48e)},
-       {NT_STATUS_OK, WERR_OK}};
-
+       {NT_STATUS_OK, WERR_OK}
+};
 
 /*
   check if a DOS encoded NTSTATUS code maps to the given NTSTATUS code
index 042745d74d657cfc8a8803918765cd514a22224f..16ea51e6ff47205e47785acc9c3576c2aa63e7d8 100644 (file)
@@ -31,9 +31,9 @@
 #include "auth/gensec/gensec.h"
 #include "param/param.h"
 
-_PUBLIC_ NTSTATUS dcerpc_init(void)
+_PUBLIC_ NTSTATUS dcerpc_init(struct loadparm_context *lp_ctx)
 {
-       return gensec_init(global_loadparm);
+       return gensec_init(lp_ctx);
 }
 
 static void dcerpc_connection_dead(struct dcerpc_connection *conn, NTSTATUS status);
index dfbe6ee7a6a9a047f1ad2bffe72feb59c19c547b..6b9d61dd0fe46a3726d04b377defd1719cce6c6a 100644 (file)
@@ -309,7 +309,7 @@ NTSTATUS dcerpc_bind_auth_schannel(TALLOC_CTX *tmp_ctx,
                                   struct loadparm_context *lp_ctx,
                                   uint8_t auth_level);
 struct event_context *dcerpc_event_context(struct dcerpc_pipe *p);
-NTSTATUS dcerpc_init(void);
+NTSTATUS dcerpc_init(struct loadparm_context *lp_ctx);
 struct smbcli_tree *dcerpc_smb_tree(struct dcerpc_connection *c);
 uint16_t dcerpc_smb_fnum(struct dcerpc_connection *c);
 NTSTATUS dcerpc_secondary_context(struct dcerpc_pipe *p, 
index 3e5d2d4323e81b55161e0bc2fe018a55a17eee31..2fcf700c36bdc7b721b2d55d82bb2930198aef87 100644 (file)
@@ -77,6 +77,8 @@ _PUBLIC_ NTSTATUS torture_rpc_connection(struct torture_context *tctx,
        NTSTATUS status;
        struct dcerpc_binding *binding;
 
+       dcerpc_init(tctx->lp_ctx);
+
        status = torture_rpc_binding(tctx, &binding);
        if (NT_STATUS_IS_ERR(status))
                return status;
@@ -371,8 +373,6 @@ NTSTATUS torture_rpc_init(void)
 {
        struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), "RPC");
 
-       dcerpc_init();
-
        ndr_table_init();
 
        torture_suite_add_simple_test(suite, "LSA", torture_rpc_lsa);
index 1c834fe4f09da6ccd2e83424dc8dfa67baddbbdf..81584e439863751f07482ef646981e0dc2b78a39 100644 (file)
@@ -183,7 +183,7 @@ static int binary_net(int argc, const char **argv)
                return net_usage(ctx, argc, argv);
        }
 
-       dcerpc_init();
+       dcerpc_init(cmdline_lp_ctx);
 
        ev = s4_event_context_init(NULL);
        if (!ev) {