From: Volker Lendecke Date: Sat, 16 Jan 2021 19:32:38 +0000 (+0100) Subject: rpc_server: Pass dcerpc_binding to dcesrv_create_ncacn_ip_tcp_sockets() X-Git-Tag: tevent-0.11.0~1988 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e74d52085543eb0a5f2fe91ef5973f1eace84a5a;p=thirdparty%2Fsamba.git rpc_server: Pass dcerpc_binding to dcesrv_create_ncacn_ip_tcp_sockets() It does not need a dcesrv_endpoint. Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- diff --git a/source3/rpc_server/rpc_service_setup.c b/source3/rpc_server/rpc_service_setup.c index c82e28be4a7..3fd4eeb96c8 100644 --- a/source3/rpc_server/rpc_service_setup.c +++ b/source3/rpc_server/rpc_service_setup.c @@ -121,7 +121,7 @@ NTSTATUS dcesrv_create_endpoint_sockets(struct tevent_context *ev_ctx, TALLOC_FREE(fds); status = dcesrv_create_ncacn_ip_tcp_sockets( - e, talloc_tos(), &num_fds, &fds); + e->ep_description, talloc_tos(), &num_fds, &fds); break; } @@ -274,7 +274,7 @@ NTSTATUS dcesrv_setup_endpoint_sockets(struct tevent_context *ev_ctx, case NCACN_IP_TCP: status = dcesrv_create_ncacn_ip_tcp_sockets( - e, frame, &num_fds, &fds); + e->ep_description, frame, &num_fds, &fds); break; case NCACN_NP: diff --git a/source3/rpc_server/rpc_sock_helper.c b/source3/rpc_server/rpc_sock_helper.c index 27d5cda9c4e..75a432fb15b 100644 --- a/source3/rpc_server/rpc_sock_helper.c +++ b/source3/rpc_server/rpc_sock_helper.c @@ -33,7 +33,7 @@ #define DBGC_CLASS DBGC_RPC_SRV NTSTATUS dcesrv_create_ncacn_ip_tcp_sockets( - struct dcesrv_endpoint *e, + struct dcerpc_binding *b, TALLOC_CTX *mem_ctx, size_t *pnum_fds, int **pfds) @@ -47,8 +47,7 @@ NTSTATUS dcesrv_create_ncacn_ip_tcp_sockets( NTSTATUS status = NT_STATUS_INVALID_PARAMETER; bool ok; - endpoint = dcerpc_binding_get_string_option( - e->ep_description, "endpoint"); + endpoint = dcerpc_binding_get_string_option(b, "endpoint"); if (endpoint != NULL) { port = atoi(endpoint); } @@ -129,8 +128,7 @@ NTSTATUS dcesrv_create_ncacn_ip_tcp_sockets( /* Set the port in the endpoint */ snprintf(port_str, sizeof(port_str), "%u", port); - status = dcerpc_binding_set_string_option( - e->ep_description, "endpoint", port_str); + status = dcerpc_binding_set_string_option(b, "endpoint", port_str); if (!NT_STATUS_IS_OK(status)) { DBG_ERR("Failed to set binding endpoint '%s': %s\n", port_str, nt_errstr(status)); diff --git a/source3/rpc_server/rpc_sock_helper.h b/source3/rpc_server/rpc_sock_helper.h index 6adb34baa20..0d673eb4959 100644 --- a/source3/rpc_server/rpc_sock_helper.h +++ b/source3/rpc_server/rpc_sock_helper.h @@ -28,7 +28,7 @@ struct pf_listen_fd; NTSTATUS dcesrv_create_ncacn_ip_tcp_sockets( - struct dcesrv_endpoint *e, + struct dcerpc_binding *b, TALLOC_CTX *mem_ctx, size_t *pnum_fds, int **pfds);