From: Volker Lendecke Date: Tue, 12 Jan 2021 16:03:42 +0000 (+0100) Subject: rpc_server: Move setting ip-based socket options X-Git-Tag: samba-4.14.0rc1~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6482bee22fe421266ea493d18367aa2a0444ef76;p=thirdparty%2Fsamba.git rpc_server: Move setting ip-based socket options All ncacn_ip_tcp listener sockets are created via dcesrv_create_ncacn_ip_tcp_socket(). Moving setting the socket options out of dcesrv_setup_ncacn_ip_tcp_socket() to remove a special case for TCP from the dcesrv_setup_* family of routines. Signed-off-by: Volker Lendecke Reviewed-by: Samuel Cabrero --- diff --git a/source3/rpc_server/rpc_server.c b/source3/rpc_server/rpc_server.c index a2a2115ab81..c58d76a947d 100644 --- a/source3/rpc_server/rpc_server.c +++ b/source3/rpc_server/rpc_server.c @@ -300,6 +300,10 @@ NTSTATUS dcesrv_create_ncacn_ip_tcp_socket(const struct sockaddr_storage *ifss, return NT_STATUS_UNSUCCESSFUL; } + /* ready to listen */ + set_socket_options(fd, "SO_KEEPALIVE"); + set_socket_options(fd, lp_socket_options()); + DBG_DEBUG("Opened ncacn_ip_tcp socket fd %d for port %u\n", fd, *port); *out_fd = fd; @@ -337,10 +341,6 @@ NTSTATUS dcesrv_setup_ncacn_ip_tcp_socket(struct tevent_context *ev_ctx, state->termination_fn = term_fn; state->termination_data = term_data; - /* ready to listen */ - set_socket_options(state->fd, "SO_KEEPALIVE"); - set_socket_options(state->fd, lp_socket_options()); - /* Set server socket to non-blocking for the accept. */ rc = set_blocking(state->fd, false); if (rc < 0) {