From fb7fe79022fcf895909c1410b0df73b62c517f07 Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 22 Jun 2024 20:59:26 +0300 Subject: [PATCH] winws: prevent multiple instances with the same filter --- binaries/win64/winws.exe | Bin 177152 -> 180224 bytes binaries/win64/zapret-winws/winws.exe | Bin 177152 -> 180224 bytes nfq/nfqws.c | 26 ++++++++++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index 5c7cb514b688ef762cde5899ca1203e9b77afee9..379774d5db4e988fdfe39c91026383dbaec66899 100644 GIT binary patch delta 27849 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Ÿ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

3Gi{i zY!TBZ_*~$ppepbVU^(bM_zGa?uUI?4hXWHpzIN0e`08zV0(=~Bg!4l+hUFoDSh^#)J44HON&09XUkgXi!T ztQp7vUJD!uiUl7B%mBrKHv#iK88-qvVLQA`9uGboI2^Cnr-Dxe-u7bLBJfpSc&C^(HTqhmiRQ$BB8hje?J&@Nv%>Vgdz5+Gehs3~ymUzPmJ`wmKC;)r`@G3|Pz6xk- z#kgSb`M@erIE4dqLKqhbJ{S1TON>h+9?11T1;7&)^+E-}JAgBdy%~2HLK?7FAI4n- z9}SEHRe>i=)}hp-0~|8|rQVOi0X>GIK;V6W?eS(J5_~wlrvSx)&jqSSp+cks>;sw# zJ{q_SG!wkB0L-TeXb%Vu;F>XL0`U33`ePZF2i_Mr3bYG+B5)h10DJ+kXdDQ<19)l@ zDg(X(_}&!8eGfh#=rNUX_rd!D=Y#$PZvu`;M*Dky4x`Cvqv>!v_$uI?8R&Gx13SNl z+JFxSJ_d~d&*4WZWuQdx6~H;O@B?@7X}~?8bnpehC3w@Z2)qe6U=BWa03Qdu16l>X zYL1a{VQGw84H)t35Xy9^C0r*_t=kwqd z@DAX@`S1#O6YwnP1o%qeX1qJEFha-&laKf3mBa%JK)1jX#xFoW0G|j8+;8=X(6bU{NNPoS!H+U^@2`Co4325})0QW*5OaV;=p9cIH zlnTBIxNsvn3nc)Gpfm~xPTK-klRj_}Xcg%ImxFS_=K_mBYrs2z$3g4CR{$@9@(y7B zuLLt|8$5uBG~gmo33wAQc{}3{P&jbp4vcZ|iNI9QVG0MX-o?0b@cF6!}p^7J-73g~|WwZm$r1%`lTe!<(5cHsb7yqND)Pvwbf^tH7&@ojA*P5c;k+P>Gs53fI& z{53T}X;n1!97mKjyQ65~PTUaW>(njI` z{-H6hM-=_rpn!Bhp)6*MWh zO2PFC<}0{M!4d^eD0or9>k8f?ME+d065u&TE}^f2S_L~Q7^$FM!8ipI6iihxT|twA zs}x+X;0^_gfRsPyPy)&oJf~o#f}}(LZYgquv2sCMDk#Td2d2ma6--btRl!9Hu2gWt zSPvTRSu&5ms_LXn*-Bd@{A=P<2rh9y3R$|nwSPsyILmXBwx z6Fs;czSOw#zx=rk@~iW?EnZuEw*+j_ZVBCj<0lt@IPJFZZPDA}wk2*$+h*F9yUkvj!Uwbe E2d`r3vH$=8 delta 24841 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 diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index 5c7cb514b688ef762cde5899ca1203e9b77afee9..379774d5db4e988fdfe39c91026383dbaec66899 100644 GIT binary patch delta 27849 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Ÿ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

3Gi{i zY!TBZ_*~$ppepbVU^(bM_zGa?uUI?4hXWHpzIN0e`08zV0(=~Bg!4l+hUFoDSh^#)J44HON&09XUkgXi!T ztQp7vUJD!uiUl7B%mBrKHv#iK88-qvVLQA`9uGboI2^Cnr-Dxe-u7bLBJfpSc&C^(HTqhmiRQ$BB8hje?J&@Nv%>Vgdz5+Gehs3~ymUzPmJ`wmKC;)r`@G3|Pz6xk- z#kgSb`M@erIE4dqLKqhbJ{S1TON>h+9?11T1;7&)^+E-}JAgBdy%~2HLK?7FAI4n- z9}SEHRe>i=)}hp-0~|8|rQVOi0X>GIK;V6W?eS(J5_~wlrvSx)&jqSSp+cks>;sw# zJ{q_SG!wkB0L-TeXb%Vu;F>XL0`U33`ePZF2i_Mr3bYG+B5)h10DJ+kXdDQ<19)l@ zDg(X(_}&!8eGfh#=rNUX_rd!D=Y#$PZvu`;M*Dky4x`Cvqv>!v_$uI?8R&Gx13SNl z+JFxSJ_d~d&*4WZWuQdx6~H;O@B?@7X}~?8bnpehC3w@Z2)qe6U=BWa03Qdu16l>X zYL1a{VQGw84H)t35Xy9^C0r*_t=kwqd z@DAX@`S1#O6YwnP1o%qeX1qJEFha-&laKf3mBa%JK)1jX#xFoW0G|j8+;8=X(6bU{NNPoS!H+U^@2`Co4325})0QW*5OaV;=p9cIH zlnTBIxNsvn3nc)Gpfm~xPTK-klRj_}Xcg%ImxFS_=K_mBYrs2z$3g4CR{$@9@(y7B zuLLt|8$5uBG~gmo33wAQc{}3{P&jbp4vcZ|iNI9QVG0MX-o?0b@cF6!}p^7J-73g~|WwZm$r1%`lTe!<(5cHsb7yqND)Pvwbf^tH7&@ojA*P5c;k+P>Gs53fI& z{53T}X;n1!97mKjyQ65~PTUaW>(njI` z{-H6hM-=_rpn!Bhp)6*MWh zO2PFC<}0{M!4d^eD0or9>k8f?ME+d065u&TE}^f2S_L~Q7^$FM!8ipI6iihxT|twA zs}x+X;0^_gfRsPyPy)&oJf~o#f}}(LZYgquv2sCMDk#Td2d2ma6--btRl!9Hu2gWt zSPvTRSu&5ms_LXn*-Bd@{A=P<2rh9y3R$|nwSPsyILmXBwx z6Fs;czSOw#zx=rk@~iW?EnZuEw*+j_ZVBCj<0lt@IPJFZZPDA}wk2*$+h*F9yUkvj!Uwbe E2d`r3vH$=8 delta 24841 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 diff --git a/nfq/nfqws.c b/nfq/nfqws.c index fd8ab9a..ca435e8 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -901,6 +901,7 @@ int main(int argc, char **argv) char windivert_filter[8192], wf_pf_tcp_src[256], wf_pf_tcp_dst[256], wf_pf_udp_src[256], wf_pf_udp_dst[256], wf_save_file[256]; bool wf_ipv4=true, wf_ipv6=true; unsigned int IfIdx=0, SubIfIdx=0; + unsigned int hash_wf_tcp=0,hash_wf_udp=0,hash_wf_raw=0,hash_ssid_filter=0; *windivert_filter = *wf_pf_tcp_src = *wf_pf_tcp_dst = *wf_pf_udp_src = *wf_pf_udp_dst = *wf_save_file = 0; #endif @@ -1502,6 +1503,7 @@ int main(int argc, char **argv) } break; case 52: /* wf-tcp */ + HASH_JEN(optarg,strlen(optarg),hash_wf_tcp); if (!wf_make_pf(optarg,"tcp","SrcPort",wf_pf_tcp_src,sizeof(wf_pf_tcp_src)) || !wf_make_pf(optarg,"tcp","DstPort",wf_pf_tcp_dst,sizeof(wf_pf_tcp_dst))) { @@ -1510,6 +1512,7 @@ int main(int argc, char **argv) } break; case 53: /* wf-udp */ + HASH_JEN(optarg,strlen(optarg),hash_wf_udp); if (!wf_make_pf(optarg,"udp","SrcPort",wf_pf_udp_src,sizeof(wf_pf_udp_src)) || !wf_make_pf(optarg,"udp","DstPort",wf_pf_udp_dst,sizeof(wf_pf_udp_dst))) { @@ -1518,6 +1521,7 @@ int main(int argc, char **argv) } break; case 54: /* wf-raw */ + HASH_JEN(optarg,strlen(optarg),hash_wf_raw); if (optarg[0]=='@') { size_t sz = sizeof(windivert_filter)-1; @@ -1535,6 +1539,7 @@ int main(int argc, char **argv) wf_save_file[sizeof(wf_save_file) - 1] = '\0'; break; case 56: /* ssid-filter */ + HASH_JEN(optarg,strlen(optarg),hash_ssid_filter); { char *e,*p = optarg; while (p) @@ -1596,6 +1601,20 @@ int main(int argc, char **argv) exit_clean(1); } } + HANDLE hMutexArg; + { + char mutex_name[128]; + snprintf(mutex_name,sizeof(mutex_name),"Global\\winws_arg_%u_%u_%u_%u_%u_%u_%u_%u",hash_wf_tcp,hash_wf_udp,hash_wf_raw,hash_ssid_filter,IfIdx,SubIfIdx,wf_ipv4,wf_ipv6); + + hMutexArg = CreateMutexA(NULL,TRUE,mutex_name); + if (hMutexArg && GetLastError()==ERROR_ALREADY_EXISTS) + { + CloseHandle(hMutexArg); + printf("A copy of winws is already running with the same filter\n"); + goto exiterr; + } + + } #endif // not specified - use desync_ttl value instead @@ -1644,6 +1663,13 @@ int main(int argc, char **argv) ex: rawsend_cleanup(); cleanup_params(); +#ifdef __CYGWIN__ + if (hMutexArg) + { + ReleaseMutex(hMutexArg); + CloseHandle(hMutexArg); + } +#endif return result; exiterr: result = 1;