librpc: Get transport out of tstream_npa_accept_existing_recv()
authorVolker Lendecke <vl@samba.org>
Sun, 28 Nov 2021 07:48:58 +0000 (08:48 +0100)
committerVolker Lendecke <vl@samba.org>
Fri, 10 Dec 2021 14:02:30 +0000 (14:02 +0000)
To be used by the RPC servers in the next commit

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
libcli/named_pipe_auth/npa_tstream.c
libcli/named_pipe_auth/npa_tstream.h
source3/rpc_server/rpc_server.c
source4/samba/service_named_pipe.c

index fefab2d1a07e89c4c877413a3314654b6fa087df..85d0aa482d3c858579add521313717bd4cab8712 100644 (file)
@@ -1295,6 +1295,7 @@ int _tstream_npa_accept_existing_recv(
        TALLOC_CTX *mem_ctx,
        struct tstream_context **stream,
        struct named_pipe_auth_req_info5 **info5,
+       enum dcerpc_transport_t *transport,
        struct tsocket_address **remote_client_addr,
        char **_remote_client_name,
        struct tsocket_address **local_server_addr,
@@ -1361,6 +1362,9 @@ int _tstream_npa_accept_existing_recv(
                *info5 = dst;
        }
 
+       if (transport != NULL) {
+               *transport = i5->transport;
+       }
        if (remote_client_addr != NULL) {
                *remote_client_addr = talloc_move(
                        mem_ctx, &state->remote_client_addr);
index 3253e66a9f3f346b21d0cc8d7b6c561601f480df..5b08a40b6722d12aafac8f54376ea6ebc9f5ccbb 100644 (file)
@@ -115,6 +115,7 @@ int _tstream_npa_accept_existing_recv(
        TALLOC_CTX *mem_ctx,
        struct tstream_context **stream,
        struct named_pipe_auth_req_info5 **info5,
+       enum dcerpc_transport_t *transport,
        struct tsocket_address **remote_client_addr,
        char **_remote_client_name,
        struct tsocket_address **local_server_addr,
@@ -124,6 +125,7 @@ int _tstream_npa_accept_existing_recv(
 #define tstream_npa_accept_existing_recv(req, perrno, \
                                         mem_ctx, stream, \
                                         info4, \
+                                        transport, \
                                         remote_client_addr, \
                                         remote_client_name,  \
                                         local_server_addr, \
@@ -132,6 +134,7 @@ int _tstream_npa_accept_existing_recv(
        _tstream_npa_accept_existing_recv(req, perrno, \
                                          mem_ctx, stream, \
                                          info4, \
+                                         transport, \
                                          remote_client_addr, \
                                          remote_client_name,  \
                                          local_server_addr, \
index b96bd90daf0b6a3b523ef246aa1a93fff6bf3670..1919fcd3650d2752ac192ebac8868d49ba526736 100644 (file)
@@ -369,6 +369,7 @@ static void dcesrv_ncacn_np_accept_done(struct tevent_req *subreq)
        ret = tstream_npa_accept_existing_recv(subreq, &error, ncacn_conn,
                                               &ncacn_conn->tstream,
                                               NULL,
+                                              NULL,
                                               &ncacn_conn->remote_client_addr,
                                               &ncacn_conn->remote_client_name,
                                               &ncacn_conn->local_server_addr,
index de7d61b47eb79236763e5e701b17354ea2d496d6..e12d96b13cc1cc98eaabf1a7d93ed932bcb6b4d2 100644 (file)
@@ -88,6 +88,7 @@ static void named_pipe_accept_done(struct tevent_req *subreq)
        struct named_pipe_socket *pipe_sock =
                                talloc_get_type(conn->private_data,
                                                struct named_pipe_socket);
+       enum dcerpc_transport_t transport;
        struct tsocket_address *remote_client_addr;
        char *remote_client_name;
        struct tsocket_address *local_server_addr;
@@ -107,6 +108,7 @@ static void named_pipe_accept_done(struct tevent_req *subreq)
        ret = tstream_npa_accept_existing_recv(subreq, &error, tmp_ctx,
                                               &conn->tstream,
                                               NULL,
+                                              &transport,
                                               &remote_client_addr,
                                               &remote_client_name,
                                               &local_server_addr,