]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
TSIG payload: use canonical (lowercase) name format 15518/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Sun, 4 May 2025 14:21:38 +0000 (16:21 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Sun, 4 May 2025 14:41:44 +0000 (16:41 +0200)
pdns/dnssecinfra.cc
pdns/test-tsig.cc

index e6f063d3a24c2a015ae2d01f8dc85fbd72023524..53309fbc40dd28028ae628ab8c5094e2dbc65087 100644 (file)
@@ -782,7 +782,7 @@ static string makeTSIGPayload(const string& previous, const char* packetBegin, s
   DNSPacketWriter dw(signVect, DNSName(), 0);
   auto pos=signVect.size();
   if(!timersonly) {
-    dw.xfrName(tsigKeyName, false);
+    dw.xfrName(tsigKeyName.makeLowerCase(), false);
     dw.xfr16BitInt(QClass::ANY); // class
     dw.xfr32BitInt(0);    // TTL
     dw.xfrName(trc.d_algoName.makeLowerCase(), false);
index 55e92936d01da050c55c96e7a2bd4836dfe55de7..38aa7cc7d11c8aa59a2a25d7693fc7aa0e278165 100644 (file)
@@ -141,6 +141,17 @@ BOOST_AUTO_TEST_CASE(test_TSIG_different_case_algo) {
   checkTSIG(tsigName, tsigAlgo.makeLowerCase(), tsigSecret, packet);
 }
 
+BOOST_AUTO_TEST_CASE(test_TSIG_different_case_name) {
+  DNSName tsigName("tsig.Name");
+  DNSName tsigAlgo("HMAC-MD5.SIG-ALG.REG.INT");
+  DNSName qname("test.valid.tsig");
+  string tsigSecret("verysecret");
+
+  vector<uint8_t> packet = generateTSIGQuery(qname, tsigName, tsigAlgo, tsigSecret);
+
+  checkTSIG(tsigName.makeLowerCase(), tsigAlgo.makeLowerCase(), tsigSecret, packet);
+}
+
 BOOST_AUTO_TEST_CASE(test_TSIG_different_name_same_algo) {
   DNSName tsigName("tsig.name");
   DNSName tsigAlgo("HMAC-MD5.SIG-ALG.REG.INT");