]> granicus.if.org Git - pdns/commitdiff
add pdnssec test-algorithm X for easy testing. Patch by Aki Tuomi.
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 30 Apr 2012 08:23:53 +0000 (08:23 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Mon, 30 Apr 2012 08:23:53 +0000 (08:23 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2596 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnssecinfra.cc
pdns/dnssecinfra.hh
pdns/pdnssec.cc

index fd7757ba71dd6c738d989cf7d9901be63ae433c4..9ba521cd2a86c52897ae737b28677bcbfd73a7e0 100644 (file)
@@ -113,6 +113,23 @@ void DNSCryptoKeyEngine::testAll()
   }
 }
 
+void DNSCryptoKeyEngine::testOne(int algo)
+{
+    BOOST_FOREACH(maker_t* signer, getAllMakers()[algo]) {
+      // multi_map<unsigned int, maker_t*> bestSigner, bestVerifier;
+
+      BOOST_FOREACH(maker_t* verifier, getAllMakers()[algo]) {
+        try {
+          pair<unsigned int, unsigned int> res=testMakers(algo, signer, verifier);
+        }
+        catch(std::exception& e)
+        {
+          cerr<<e.what()<<endl;
+        }
+      }
+    }
+}
+
 pair<unsigned int, unsigned int> DNSCryptoKeyEngine::testMakers(unsigned int algo, maker_t* signer, maker_t* verifier)
 {
   shared_ptr<DNSCryptoKeyEngine> dckeSign(signer(algo));
index 512d0a122c4546e40fe6dc92ad4be28a1ef6f9c7..b155f678a20e4138ae93c8dd2c1013054ace3af1 100644 (file)
@@ -47,6 +47,7 @@ class DNSCryptoKeyEngine
     static void report(unsigned int algorithm, maker_t* maker, bool fallback=false);
     static std::pair<unsigned int, unsigned int> testMakers(unsigned int algorithm, maker_t* signer, maker_t* verifier);
     static void testAll();
+    static void testOne(int algo);
   private:
     
     typedef std::map<unsigned int, maker_t*> makers_t;
index 74ee302377b4cc02fc69ca16627fb63cb423d608..c3090a9f6016639a258aaadc5c2496b5aad79dec 100644 (file)
@@ -252,7 +252,10 @@ int checkAllZones(DNSSECKeeper &dk)
   return 0;
 }
 
-
+void testAlgorithm(int algo) 
+{
+  DNSCryptoKeyEngine::testOne(algo);
+}
 
 void testAlgorithms()
 {
@@ -511,6 +514,11 @@ try
     return 0;
   }
   
+  if (cmds[0] == "test-algorithm") {
+    testAlgorithm(lexical_cast<int>(cmds[1]));
+    return 0; 
+  }
+
   if(cmds[0] == "test-algorithms") {
     testAlgorithms();
     return 0;