From b039be360cd70832363b56d91843066fd6cb9475 Mon Sep 17 00:00:00 2001 From: Martin Natano Date: Sun, 1 May 2022 17:33:52 +0200 Subject: [PATCH] Fix subdomain matching --- src/NetworkManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/NetworkManager.cpp b/src/NetworkManager.cpp index efee531e6c..2c423e5a21 100644 --- a/src/NetworkManager.cpp +++ b/src/NetworkManager.cpp @@ -108,13 +108,15 @@ bool NetworkManager::IsUrlAllowed(const std::string& url) for (const auto& allowedHost : allowedHosts) { - if (allowedHost.substr(0, 2) == "*.") + // subdomain wildcards; ".domain" doesn't match "*.domain", but "a.domain" does + if (allowedHost.substr(0, 2) == "*." && host.length() >= allowedHost.length()) { size_t pos = host.length() - allowedHost.length() + 1; if (host.substr(pos) == allowedHost.substr(1)) return true; } + // literal match if (host == allowedHost) return true; }