STEP03c: HACK s3:rpc_client: gensec
authorStefan Metzmacher <metze@samba.org>
Sat, 11 Jan 2014 17:18:16 +0000 (18:18 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 10:45:39 +0000 (12:45 +0200)
source3/rpc_client/cli_pipe.c

index 93fb387a49d4dcf093e1a65d20a20e5a048aa31e..b06858c8e3360ba860c94a24f58f2b12d95f940e 100644 (file)
@@ -2133,6 +2133,8 @@ NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
        NTSTATUS status = NT_STATUS_OK;
        struct dcerpc_call *call;
        struct tevent_req *subreq;
+       struct auth_generic_state *auth_generic_ctx;
+       struct gensec_security *gensec = NULL;
        struct dcerpc_presentation *pres[1];
 
        ev = samba_tevent_context_init(frame);
@@ -2141,10 +2143,16 @@ NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
                goto fail;
        }
 
+       auth_generic_ctx = auth->auth_ctx;
+       if (auth_generic_ctx) {
+               gensec = auth_generic_ctx->gensec_security;
+               auth_generic_ctx->gensec_security = NULL;
+       }
+
        cli->sec = dcerpc_security_allocate(cli, cli->conn,
                                           auth->auth_type,
                                           auth->auth_level,
-                                          auth->auth_ctx);
+                                          &gensec);
 
        call = dcerpc_call_allocate(frame, cli->assoc, NULL, NULL);