From e432d46e15a138f786f20b690b12f130244d4cdc Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 1 May 2024 09:53:53 +0300 Subject: [PATCH] fix winws: possible crash on service stop --- binaries/win64/winws.exe | Bin 166912 -> 166912 bytes binaries/win64/zapret-winws/winws.exe | Bin 166912 -> 166912 bytes nfq/darkmagic.c | 18 ++++++++++-------- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index 6f1bf82ada764fda1599ec9ff9a14bf6df81923e..88b9446ffd60e5f034b1f86cd644e41049b6010b 100644 GIT binary patch delta 23374 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 AZvX%Q diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index 6f1bf82ada764fda1599ec9ff9a14bf6df81923e..88b9446ffd60e5f034b1f86cd644e41049b6010b 100644 GIT binary patch delta 23374 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 AZvX%Q diff --git a/nfq/darkmagic.c b/nfq/darkmagic.c index bfcfdf0..ea1f5f5 100644 --- a/nfq/darkmagic.c +++ b/nfq/darkmagic.c @@ -957,7 +957,9 @@ void tcp_rewrite_winsize(struct tcphdr *tcp, uint16_t winsize, uint8_t scale_fac #ifdef __CYGWIN__ -static HANDLE w_filter = NULL, w_event = NULL; +static HANDLE w_filter = NULL; +static OVERLAPPED ovl = { .hEvent = NULL }; +; static HANDLE windivert_init_filter(const char *filter, UINT64 flags) { @@ -983,13 +985,14 @@ void rawsend_cleanup(void) { if (w_filter) { + CancelIoEx(w_filter,&ovl); WinDivertClose(w_filter); w_filter=NULL; } - if (w_event) + if (ovl.hEvent) { - CloseHandle(w_event); - w_event=NULL; + CloseHandle(ovl.hEvent); + ovl.hEvent=NULL; } } bool windivert_init(const char *filter) @@ -998,8 +1001,8 @@ bool windivert_init(const char *filter) w_filter = windivert_init_filter(filter, 0); if (w_filter) { - w_event = CreateEventW(NULL,FALSE,FALSE,NULL); - if (!w_event) + ovl.hEvent = CreateEventW(NULL,FALSE,FALSE,NULL); + if (!ovl.hEvent) { rawsend_cleanup(); return false; @@ -1013,7 +1016,6 @@ static bool windivert_recv_filter(HANDLE hFilter, uint8_t *packet, size_t *len, { UINT recv_len; DWORD err; - OVERLAPPED ovl = { .hEvent = w_event }; DWORD rd; char c; @@ -1034,7 +1036,7 @@ static bool windivert_recv_filter(HANDLE hFilter, uint8_t *packet, size_t *len, { case ERROR_IO_PENDING: // make signals working - while (WaitForSingleObject(w_event,50)==WAIT_TIMEOUT) + while (WaitForSingleObject(ovl.hEvent,50)==WAIT_TIMEOUT) { if (bQuit) {