]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Ignore port mask for TCP limits if the v4 mask != 32
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 15 Apr 2025 14:39:17 +0000 (16:39 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 15 Apr 2025 14:39:17 +0000 (16:39 +0200)
pdns/dnsdistdist/dnsdist-concurrent-connections.cc

index 99e3cd75b39d7940828f1fa45c4a8cc801bf5b81..bf3169a168b6027b8bde732c6021f0b854c87ccc 100644 (file)
@@ -76,7 +76,7 @@ static std::vector<LockGuarded<map_t>> s_tcpClientsConnectionMetrics{10};
 static AddressAndPortRange getRange(const ComboAddress& from)
 {
   const auto& immutable = dnsdist::configuration::getImmutableConfiguration();
-  return AddressAndPortRange(from, from.isIPv4() ? immutable.d_tcpConnectionsMaskV4 : immutable.d_tcpConnectionsMaskV6, from.isIPv4() ? immutable.d_tcpConnectionsMaskV4Port : 0);
+  return AddressAndPortRange(from, from.isIPv4() ? immutable.d_tcpConnectionsMaskV4 : immutable.d_tcpConnectionsMaskV6, from.isIPv4() && immutable.d_tcpConnectionsMaskV4 == 32 ? immutable.d_tcpConnectionsMaskV4Port : 0);
 }
 
 static size_t getShardID(const AddressAndPortRange& from)