From: Peter van Dijk Date: Mon, 30 Apr 2012 08:23:53 +0000 (+0000) Subject: add pdnssec test-algorithm X for easy testing. Patch by Aki Tuomi. X-Git-Tag: auth-3.1-rc3~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cbb0025bb3887aa03e4392a9f3eb12af7a903cac;p=pdns add pdnssec test-algorithm X for easy testing. Patch by Aki Tuomi. git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2596 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/dnssecinfra.cc b/pdns/dnssecinfra.cc index fd7757ba7..9ba521cd2 100644 --- a/pdns/dnssecinfra.cc +++ b/pdns/dnssecinfra.cc @@ -113,6 +113,23 @@ void DNSCryptoKeyEngine::testAll() } } +void DNSCryptoKeyEngine::testOne(int algo) +{ + BOOST_FOREACH(maker_t* signer, getAllMakers()[algo]) { + // multi_map bestSigner, bestVerifier; + + BOOST_FOREACH(maker_t* verifier, getAllMakers()[algo]) { + try { + pair res=testMakers(algo, signer, verifier); + } + catch(std::exception& e) + { + cerr< DNSCryptoKeyEngine::testMakers(unsigned int algo, maker_t* signer, maker_t* verifier) { shared_ptr dckeSign(signer(algo)); diff --git a/pdns/dnssecinfra.hh b/pdns/dnssecinfra.hh index 512d0a122..b155f678a 100644 --- a/pdns/dnssecinfra.hh +++ b/pdns/dnssecinfra.hh @@ -47,6 +47,7 @@ class DNSCryptoKeyEngine static void report(unsigned int algorithm, maker_t* maker, bool fallback=false); static std::pair testMakers(unsigned int algorithm, maker_t* signer, maker_t* verifier); static void testAll(); + static void testOne(int algo); private: typedef std::map makers_t; diff --git a/pdns/pdnssec.cc b/pdns/pdnssec.cc index 74ee30237..c3090a9f6 100644 --- a/pdns/pdnssec.cc +++ b/pdns/pdnssec.cc @@ -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(cmds[1])); + return 0; + } + if(cmds[0] == "test-algorithms") { testAlgorithms(); return 0;