make sure dcerpc is always initialized.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 30 Sep 2008 04:05:05 +0000 (06:05 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 30 Sep 2008 04:05:05 +0000 (06:05 +0200)
pidl/lib/Parse/Pidl/Samba4/Python.pm
source4/librpc/rpc/dcerpc.c

index 74cec5a8274c3427371f61f29d3777fa1e354770..fc64c35fca1858da2f57f42cf684c4e316d6f26b 100644 (file)
@@ -1173,6 +1173,7 @@ sub Parse($$$$$)
        $self->pidl("{");
        $self->indent;
        $self->pidl("PyObject *m;");
+       $self->pidl("NTSTATUS status;");
        $self->pidl("");
 
        foreach (@{$self->{ready_types}}) {
@@ -1208,6 +1209,15 @@ sub Parse($$$$$)
                $self->pidl("PyModule_AddObject(m, \"$object_name\", $c_name);");
        }
 
+       $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 5bbcc5e91c81bb4c45acedc9f4a8fede62a489f8..5cee9f27ad4cd6ac44c141218570b42b0ec60c2a 100644 (file)
@@ -33,9 +33,7 @@
 
 _PUBLIC_ NTSTATUS dcerpc_init(void)
 {
-       gensec_init(global_loadparm);
-
-       return NT_STATUS_OK;
+       return gensec_init(global_loadparm);
 }
 
 static void dcerpc_connection_dead(struct dcerpc_connection *conn, NTSTATUS status);