]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Return early when a rule chain is empty 15917/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 22 Jul 2025 09:19:19 +0000 (11:19 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 24 Jul 2025 14:08:08 +0000 (16:08 +0200)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist.cc

index e858d66ca5e9e4ed4186510b0b02119220dc8d0e..35e489979853efca27a8862aee62ae4e9f55fe67 100644 (file)
@@ -443,6 +443,10 @@ static bool encryptResponse(PacketBuffer& response, size_t maximumSize, bool tcp
 
 bool applyRulesToResponse(const std::vector<dnsdist::rules::ResponseRuleAction>& respRuleActions, DNSResponse& dnsResponse)
 {
+  if (respRuleActions.empty()) {
+    return true;
+  }
+
   DNSResponseAction::Action action = DNSResponseAction::Action::None;
   std::string ruleresult;
   for (const auto& rrule : respRuleActions) {
@@ -983,6 +987,10 @@ bool processRulesResult(const DNSAction::Action& action, DNSQuestion& dnsQuestio
 
 static bool applyRulesChainToQuery(const std::vector<dnsdist::rules::RuleAction>& rules, DNSQuestion& dnsQuestion)
 {
+  if (rules.empty()) {
+    return true;
+  }
+
   DNSAction::Action action = DNSAction::Action::None;
   string ruleresult;
   bool drop = false;