From ec7004cd6f6e5ee54bef1a2227855f9162a9512c Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Fri, 12 Dec 2025 18:25:40 +0300 Subject: [PATCH] Close SSL on shutdown --- src/plugins/SSLPlugin/ssl_plugin.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/SSLPlugin/ssl_plugin.c b/src/plugins/SSLPlugin/ssl_plugin.c index 706571b..0aeddcf 100644 --- a/src/plugins/SSLPlugin/ssl_plugin.c +++ b/src/plugins/SSLPlugin/ssl_plugin.c @@ -211,6 +211,11 @@ static ssize_t ssl_recv(void *state, SOCKET s, void *msg, size_t len, int flags) return sso._recv(sso.state, s, msg, len, flags); } +static int WINAPI ssl_shutdown(void *state, SOCKET s, int how){ + delSSL(state, s); + return sso._shutdown(sso.state, s, how); +} + static int WINAPI ssl_closesocket(void *state, SOCKET s){ delSSL(state, s); return sso._closesocket(sso.state, s); @@ -501,6 +506,7 @@ static void* ssl_filter_open(void * idata, struct srvparam * srv){ srv->so._recv = ssl_recv; srv->so._sendto = ssl_sendto; srv->so._recvfrom = ssl_recvfrom; + srv->so._shutdown = ssl_shutdown; srv->so._closesocket = ssl_closesocket; srv->so._poll = ssl_poll; }