From 81e2d0e2f45bebbdb79cc1005d908bfd79933e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yves=20R=C5=B1tschl=C3=A9?= Date: Fri, 15 Aug 2025 19:54:51 +0200 Subject: [PATCH] check udp timeouts on all new connections including TCP --- processes.c | 2 ++ udp-listener.c | 2 -- udp-listener.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/processes.c b/processes.c index 7117afb..65be5bc 100644 --- a/processes.c +++ b/processes.c @@ -99,6 +99,8 @@ struct connection* cnx_accept_process(struct loop_info* fd_info, struct listen_e int type = listen_socket->type; struct connection* cnx; + udp_timeouts(fd_info); + switch (type) { case SOCK_STREAM: cnx = accept_new_connection(listen_socket, fd_info); diff --git a/udp-listener.c b/udp-listener.c index 87930d9..de99f6e 100644 --- a/udp-listener.c +++ b/udp-listener.c @@ -271,8 +271,6 @@ struct connection* udp_c2s_forward(int sockfd, struct loop_info* fd_info) malloc/free overhead for each packet, when really 64K is not that much */ - udp_timeouts(fd_info); - addrlen = sizeof(src_addr); len = recvfrom(sockfd, data, sizeof(data), 0, (struct sockaddr*) &src_addr, &addrlen); if (len < 0) { diff --git a/udp-listener.h b/udp-listener.h index 51955a5..a250076 100644 --- a/udp-listener.h +++ b/udp-listener.h @@ -25,5 +25,6 @@ void udp_s2c_forward(struct connection* cnx); void udp_init(struct loop_info* fd_info); void udp_tidy(struct connection* cnx, struct loop_info* fd_info); +void udp_timeouts(struct loop_info* fd_info); #endif /* UDPLISTENER_H */