]> granicus.if.org Git - pdns/commitdiff
fix hmac-md5 TSIG key lookup
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 3 Dec 2013 23:34:39 +0000 (00:34 +0100)
committermind04 <mind04@monshouwer.org>
Tue, 3 Dec 2013 23:34:39 +0000 (00:34 +0100)
pdns/dnspacket.cc

index e68d8d524cab17809a7483fe8e99d7912f2b0477..0d2e0008b311eadbd68eca996f1bda1d6a342848 100644 (file)
@@ -608,9 +608,13 @@ bool checkForCorrectTSIG(const DNSPacket* q, DNSBackend* B, string* keyname, str
     return false;
   }
 
+  string algoName = trc->d_algoName;
+  if (stripDot(algoName) == "hmac-md5.sig-alg.reg.int")
+    algoName = "hmac-md5";
+
   string secret64;
-  if(!B->getTSIGKey(*keyname, &trc->d_algoName, &secret64)) {
-    L<<Logger::Error<<"Packet for domain '"<<q->qdomain<<"' denied: can't find TSIG key with name '"<<*keyname<<"' and algorithm '"<<trc->d_algoName<<"'"<<endl;
+  if(!B->getTSIGKey(*keyname, &algoName, &secret64)) {
+    L<<Logger::Error<<"Packet for domain '"<<q->qdomain<<"' denied: can't find TSIG key with name '"<<*keyname<<"' and algorithm '"<<algoName<<"'"<<endl;
     return false;
   }
   if (trc->d_algoName == "hmac-md5")