]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Lowercase the name blocked by a SMT dynamic block 8524/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 12 Nov 2019 11:19:50 +0000 (12:19 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 12 Nov 2019 11:19:50 +0000 (12:19 +0100)
This does not change the existing behavior since we are doing a
case-insensitive comparison but it's nicer when generating metrics
about the dynamic block rules.

pdns/dnsdist-dynblocks.hh
pdns/dnsdist-lua.cc

index 5d9923fb07efafbd5b188d6fd767b53ce6b4a8ce..d2640e46280a57fb9ea4ee99ae28c1e45fc602ac 100644 (file)
@@ -444,6 +444,7 @@ private:
     unsigned int count = 0;
     const auto& got = blocks.lookup(name);
     bool expired = false;
+    DNSName domain(name.makeLowerCase());
 
     if (got) {
       if (until < got->until) {
@@ -460,13 +461,13 @@ private:
       }
     }
 
-    DynBlock db{rule.d_blockReason, until, name, rule.d_action};
+    DynBlock db{rule.d_blockReason, until, domain, rule.d_action};
     db.blocks = count;
 
     if (!d_beQuiet && (!got || expired)) {
-      warnlog("Inserting dynamic block for %s for %d seconds: %s", name, rule.d_blockDuration, rule.d_blockReason);
+      warnlog("Inserting dynamic block for %s for %d seconds: %s", domain, rule.d_blockDuration, rule.d_blockReason);
     }
-    blocks.add(name, db);
+    blocks.add(domain, db);
     updated = true;
   }
 
index 39ef2da24d2fa76a17cb827abf458326042b4b68..8908a2f8b9291fd8fa618e6640cf20e80053f799 100644 (file)
@@ -1132,6 +1132,7 @@ void setupLuaConfig(bool client)
                           for(const auto& capair : names) {
                             unsigned int count = 0;
                              DNSName domain(capair.second);
+                             domain.makeUsLowerCase();
                              auto got = slow.lookup(domain);
                              bool expired=false;
                             if(got) {