]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
fix hmac-md5 TSIG key lookup 1154/head
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 3 Dec 2013 23:34:39 +0000 (00:34 +0100)
committermind04 <mind04@monshouwer.org>
Thu, 5 Dec 2013 19:49:39 +0000 (20:49 +0100)
Conflicts:
pdns/dnspacket.cc

pdns/dnspacket.cc

index 327ff15ddf71e5b59e883975c018115127196e91..96bfde51a9784620a8863558748c195b38aad5df 100644 (file)
@@ -597,11 +597,14 @@ bool checkForCorrectTSIG(const DNSPacket* q, DNSBackend* B, string* keyname, str
     L<<Logger::Error<<"Packet for '"<<q->qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< abs(trc->d_time - now)<<" > 'fudge' "<<trc->d_fudge<<endl;
     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;
   }