From: Bert Hubert Date: Tue, 12 Apr 2011 16:22:39 +0000 (+0000) Subject: add AXFR testing to tsig-tests X-Git-Tag: auth-3.0~91 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e0416306aa53d952071511ef683c9617fe6d2d5;p=pdns add AXFR testing to tsig-tests git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2158 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/Makefile.am b/pdns/Makefile.am index f0c7ed202..cbdc9be14 100644 --- a/pdns/Makefile.am +++ b/pdns/Makefile.am @@ -111,7 +111,10 @@ toysdig_SOURCES=toysdig.cc sstuff.hh dnsparser.cc dnsparser.hh dnsrecords.cc dns tsig_tests_SOURCES=tsig-tests.cc sstuff.hh dnsparser.cc dnsparser.hh dnsrecords.cc dnswriter.cc dnslabeltext.cc dnswriter.hh \ misc.cc misc.hh rcpgenerator.cc rcpgenerator.hh base64.cc base64.hh unix_utility.cc \ logger.cc statbag.cc qtype.cc sillyrecords.cc md5.cc nsecrecords.cc base32.cc \ - dnssecinfra.cc + dnssecinfra.cc resolver.cc arguments.cc dns_random.hh aes/aescpp.h \ + aes/aescrypt.c aes/aes.h aes/aeskey.c aes/aes_modes.c aes/aesopt.h \ + aes/aestab.c aes/aestab.h aes/brg_endian.h aes/brg_types.h aes/dns_random.cc \ + randomhelper.cc dns.cc tsig_tests_LDFLAGS= -Lext/polarssl/library tsig_tests_LDADD= -lpolarssl diff --git a/pdns/tsig-tests.cc b/pdns/tsig-tests.cc index 8ba592ebe..6a3e17ef9 100644 --- a/pdns/tsig-tests.cc +++ b/pdns/tsig-tests.cc @@ -8,13 +8,24 @@ #include "md5.hh" #include "base64.hh" #include "dnssecinfra.hh" +#include "resolver.hh" +#include "arguments.hh" +#include "dns_random.hh" StatBag S; +ArgvMap& arg() +{ + static ArgvMap theArg; + return theArg; +} int main(int argc, char** argv) try { + ::arg().set("query-local-address","Source IP address for sending queries")="0.0.0.0"; + ::arg().set("query-local-address6","Source IPv6 address for sending queries")="::"; + reportAllTypes(); if(argc < 4) { @@ -30,7 +41,9 @@ try pw.getHeader()->id=htons(0x4831); string key; - B64Decode("kp4/24gyYsEzbuTVJRUMoqGFmN3LYgVDzJ/3oRSP7ys=", key); + B64Decode("Syq9L9WrBWdxBC+HxKok2g==", key); + + string keyname("pdns-b-aa"); TSIGRecordContent trc; trc.d_algoName="hmac-md5.sig-alg.reg.int."; @@ -39,11 +52,11 @@ try trc.d_origID=ntohs(pw.getHeader()->id); trc.d_eRcode=0; - addTSIG(pw, &trc, "test", key, "", false); + addTSIG(pw, &trc, keyname, key, "", false); Socket sock(InterNetwork, Datagram); ComboAddress dest(argv[1] + (*argv[1]=='@'), atoi(argv[2])); - +#if 0 sock.sendTo(string((char*)&*packet.begin(), (char*)&*packet.end()), dest); string reply; @@ -65,7 +78,7 @@ try } if(mdp.getTSIGPos()) { - string message = makeTSIGMessageFromTSIGPacket(reply, mdp.getTSIGPos(), "test", trc, trc.d_mac, false); // insert our question MAC + string message = makeTSIGMessageFromTSIGPacket(reply, mdp.getTSIGPos(), keyname, trc, trc.d_mac, false); // insert our question MAC string hmac2=calculateMD5HMAC(key, message); cerr<<"Calculated mac: "< res; + while(axfr.getChunk(res)) { + } + return 0; } catch(std::exception &e) { cerr<<"Fatal: "<