From aa8fa8fc28087d27af5874a68aa1e7acbc250f96 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 10 Jul 2024 11:00:22 +0330 Subject: [PATCH] fix: Fix dns rules when there is no direct domain rule needed --- db/ConfigBuilder.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/db/ConfigBuilder.cpp b/db/ConfigBuilder.cpp index 55a7c13..4a9f2b7 100644 --- a/db/ConfigBuilder.cpp +++ b/db/ConfigBuilder.cpp @@ -570,6 +570,7 @@ namespace NekoGui { } // Direct dns domains + bool needDirectDnsRules = false; QJsonArray directDnsDomains; QJsonArray directDnsRuleSets; QJsonArray directDnsSuffixes; @@ -579,6 +580,7 @@ namespace NekoGui { // server addresses for (const auto &item: status->domainListDNSDirect) { directDnsDomains.append(item); + needDirectDnsRules = true; } auto sets = routeChain->get_direct_sites(); @@ -598,15 +600,18 @@ namespace NekoGui { if (item.startsWith("regex:")) { directDnsRegexes << item.mid(6); } + needDirectDnsRules = true; + } + if (needDirectDnsRules) { + dnsRules += QJsonObject{ + {"rule_set", directDnsRuleSets}, + {"domain", directDnsDomains}, + {"domain_suffix", directDnsSuffixes}, + {"domain_keyword", directDnsKeywords}, + {"domain_regex", directDnsRegexes}, + {"server", "dns-direct"}, + }; } - dnsRules += QJsonObject{ - {"rule_set", directDnsRuleSets}, - {"domain", directDnsDomains}, - {"domain_suffix", directDnsSuffixes}, - {"domain_keyword", directDnsKeywords}, - {"domain_regex", directDnsRegexes}, - {"server", "dns-direct"}, - }; // Underlying 100% Working DNS dnsServers += QJsonObject{