From 1b65220878c3c7ad76c67a803d838ba7944cf2b0 Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 13 Jul 2024 19:04:10 +0300 Subject: [PATCH] winws: optimize network list search --- binaries/win64/winws.exe | Bin 231424 -> 231424 bytes binaries/win64/zapret-winws/winws.exe | Bin 231424 -> 231424 bytes nfq/darkmagic.c | 31 +++++++++++--------------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index a90a4f3ba31dded353b6ef366e8f23c8af307602..742883a3f27f67eddbd8ac73f541cf9a79973a1a 100644 GIT binary patch delta 16361 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 diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index a90a4f3ba31dded353b6ef366e8f23c8af307602..742883a3f27f67eddbd8ac73f541cf9a79973a1a 100644 GIT binary patch delta 16361 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 diff --git a/nfq/darkmagic.c b/nfq/darkmagic.c index 98df47d..1a26da1 100644 --- a/nfq/darkmagic.c +++ b/nfq/darkmagic.c @@ -977,7 +977,7 @@ static bool str2guid(const char* str, GUID *guid) { unsigned int u[11],k; - if (11 != sscanf(str, "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", u+0, u+1, u+2, u+3, u+4, u+5, u+6, u+7, u+8, u+9, u+10)) + if (36 != strlen(str) || 11 != sscanf(str, "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", u+0, u+1, u+2, u+3, u+4, u+5, u+6, u+7, u+8, u+9, u+10)) return false; guid->Data1 = u[0]; if ((u[1] & 0xFFFF0000) || (u[2] & 0xFFFF0000)) return false; @@ -1110,11 +1110,11 @@ static bool nlm_filter_match(const struct str_list_head *nlm_list) bool bRet = true, bMatch = false; IEnumNetworks* pEnum; - if (SUCCEEDED(w_win32_error = pNetworkListManager->lpVtbl->GetNetworks(pNetworkListManager, NLM_ENUM_NETWORK_ALL, &pEnum))) + if (SUCCEEDED(w_win32_error = pNetworkListManager->lpVtbl->GetNetworks(pNetworkListManager, NLM_ENUM_NETWORK_CONNECTED, &pEnum))) { INetwork* pNet; - VARIANT_BOOL bIsConnected; GUID idNet,g; + bool bIsGuid; BSTR bstrName; char Name[128]; struct str_list *nlm; @@ -1126,26 +1126,21 @@ static bool nlm_filter_match(const struct str_list_head *nlm_list) break; } if (!pNet) break; - if (SUCCEEDED(w_win32_error = pNet->lpVtbl->get_IsConnected(pNet, &bIsConnected)) && - SUCCEEDED(w_win32_error = pNet->lpVtbl->GetNetworkId(pNet, &idNet)) && + if (SUCCEEDED(w_win32_error = pNet->lpVtbl->GetNetworkId(pNet, &idNet)) && SUCCEEDED(w_win32_error = pNet->lpVtbl->GetName(pNet, &bstrName))) { - if (bIsConnected) + if (WideCharToMultiByte(CP_UTF8, 0, bstrName, -1, Name, sizeof(Name), NULL, NULL)) { - if (WideCharToMultiByte(CP_UTF8, 0, bstrName, -1, Name, sizeof(Name), NULL, NULL)) + LIST_FOREACH(nlm, nlm_list, next) { - LIST_FOREACH(nlm, nlm_list, next) - { - bMatch = !strcmp(Name,nlm->str) || str2guid(nlm->str,&g) && !memcmp(&idNet,&g,sizeof(GUID)); - if (bMatch) break; - } + bMatch = !strcmp(Name,nlm->str) || str2guid(nlm->str,&g) && !memcmp(&idNet,&g,sizeof(GUID)); + if (bMatch) break; } - else - { - w_win32_error = HRESULT_FROM_WIN32(GetLastError()); - bRet = false; - } - + } + else + { + w_win32_error = HRESULT_FROM_WIN32(GetLastError()); + bRet = false; } SysFreeString(bstrName); }