From: Stefan Metzmacher Date: Fri, 4 Apr 2025 11:48:54 +0000 (+0200) Subject: s3:lib: remove unused open_socket_out_defer_send/recv X-Git-Tag: tevent-0.17.0~280 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9725668d632e71156a4b4031342ceec14ba4f9cf;p=thirdparty%2Fsamba.git s3:lib: remove unused open_socket_out_defer_send/recv Signed-off-by: Stefan Metzmacher Reviewed-by: Volker Lendecke --- diff --git a/source3/include/proto.h b/source3/include/proto.h index 016e0657bb3..70df8b78847 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -503,13 +503,6 @@ struct tevent_req *open_socket_out_send(TALLOC_CTX *mem_ctx, uint16_t port, int timeout); NTSTATUS open_socket_out_recv(struct tevent_req *req, int *pfd); -struct tevent_req *open_socket_out_defer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct timeval wait_time, - const struct sockaddr_storage *pss, - uint16_t port, - int timeout); -NTSTATUS open_socket_out_defer_recv(struct tevent_req *req, int *pfd); const char *get_peer_addr(int fd, char *addr, size_t addr_len); struct tsocket_address; diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index d4f05b84ce9..3b543ebba15 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -554,108 +554,6 @@ NTSTATUS open_socket_out(const struct sockaddr_storage *pss, uint16_t port, return status; } -struct open_socket_out_defer_state { - struct tevent_context *ev; - struct sockaddr_storage ss; - uint16_t port; - int timeout; - int fd; -}; - -static void open_socket_out_defer_waited(struct tevent_req *subreq); -static void open_socket_out_defer_connected(struct tevent_req *subreq); - -struct tevent_req *open_socket_out_defer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct timeval wait_time, - const struct sockaddr_storage *pss, - uint16_t port, - int timeout) -{ - struct tevent_req *req, *subreq; - struct open_socket_out_defer_state *state; - - req = tevent_req_create(mem_ctx, &state, - struct open_socket_out_defer_state); - if (req == NULL) { - return NULL; - } - state->ev = ev; - state->ss = *pss; - state->port = port; - state->timeout = timeout; - - subreq = tevent_wakeup_send( - state, ev, - timeval_current_ofs(wait_time.tv_sec, wait_time.tv_usec)); - if (subreq == NULL) { - goto fail; - } - tevent_req_set_callback(subreq, open_socket_out_defer_waited, req); - return req; - fail: - TALLOC_FREE(req); - return NULL; -} - -static void open_socket_out_defer_waited(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct open_socket_out_defer_state *state = tevent_req_data( - req, struct open_socket_out_defer_state); - bool ret; - - ret = tevent_wakeup_recv(subreq); - TALLOC_FREE(subreq); - if (!ret) { - tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR); - return; - } - - subreq = open_socket_out_send(state, - state->ev, - IPPROTO_TCP, - &state->ss, - state->port, - state->timeout); - if (tevent_req_nomem(subreq, req)) { - return; - } - tevent_req_set_callback(subreq, open_socket_out_defer_connected, req); -} - -static void open_socket_out_defer_connected(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct open_socket_out_defer_state *state = tevent_req_data( - req, struct open_socket_out_defer_state); - NTSTATUS status; - - status = open_socket_out_recv(subreq, &state->fd); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - tevent_req_done(req); -} - -NTSTATUS open_socket_out_defer_recv(struct tevent_req *req, int *pfd) -{ - struct open_socket_out_defer_state *state = tevent_req_data( - req, struct open_socket_out_defer_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - return status; - } - *pfd = state->fd; - state->fd = -1; - return NT_STATUS_OK; -} - /******************************************************************* Return the IP addr of the remote end of a socket as a string. Optionally return the struct sockaddr_storage.