From: Bert Hubert Date: Sat, 8 Jan 2011 00:54:30 +0000 (+0000) Subject: make rest of powerdns RSASHA256 aware. Works too. X-Git-Tag: auth-3.0~410 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f96192e36e7b0f8667a799feb18d5f2192c62634;p=pdns make rest of powerdns RSASHA256 aware. Works too. git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1837 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/dbdnsseckeeper.cc b/pdns/dbdnsseckeeper.cc index 21496de4a..904847e4e 100644 --- a/pdns/dbdnsseckeeper.cc +++ b/pdns/dbdnsseckeeper.cc @@ -180,12 +180,15 @@ void DNSSECKeeper::secureZone(const std::string& name, int algorithm) addKey(name, true, algorithm); } -bool getSignerFor(DNSSECKeeper& dk, const std::string& qname, std::string &signer) +bool getSignerFor(DNSSECKeeper& dk, const std::string& qname, std::string &signer, uint8_t& algorithm) { signer=qname; + DNSSECPrivateKey dpk; do { - if(dk.haveActiveKSKFor(signer)) + if(dk.haveActiveKSKFor(signer, &dpk)) { + algorithm = dpk.d_algorithm; return true; + } } while(chopOff(signer)); return false; } @@ -233,9 +236,9 @@ int getRRSIGForRRSET(DNSSECKeeper& dk, const std::string signQName, uint16_t sig rrc.d_originalttl=signTTL; rrc.d_siginception=getCurrentInception();; rrc.d_sigexpire = rrc.d_siginception + 14*86400; // XXX should come from zone metadata - + rrc.d_tag=0; - if(!getSignerFor(dk, signQName, rrc.d_signer)) { + if(!getSignerFor(dk, signQName, rrc.d_signer, rrc.d_algorithm)) { cerr<<"No signer known for '"< >& toSign, bool withKSK=false); uint32_t getCurrentInception();