From: Bert Hubert Date: Wed, 13 Apr 2011 08:36:02 +0000 (+0000) Subject: Early implementation of TLSA as described in draft-ietf-dane-protocol-06 using the... X-Git-Tag: auth-3.0~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07dbe87ec0825a9bcb4ab11ed51376e880adc62b;p=pdns Early implementation of TLSA as described in draft-ietf-dane-protocol-06 using the provisional code point 65468 git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2161 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/dnsrecords.cc b/pdns/dnsrecords.cc index 810259b53..e5c9573af 100644 --- a/pdns/dnsrecords.cc +++ b/pdns/dnsrecords.cc @@ -221,6 +221,13 @@ boilerplate_conv(CERT, 37, conv.xfr8BitInt(d_algorithm); conv.xfrBlob(d_certificate); ) + +boilerplate_conv(TLSA, 65468, + conv.xfr8BitInt(d_certtype); + conv.xfr8BitInt(d_hashtype); + conv.xfrBlob(d_cert); + ) + #undef DS DSRecordContent::DSRecordContent() : DNSRecordContent(43) {} boilerplate_conv(DS, 43, @@ -349,6 +356,7 @@ void reportOtherTypes() NSECRecordContent::report(); NSEC3RecordContent::report(); NSEC3PARAMRecordContent::report(); + TLSARecordContent::report(); DLVRecordContent::report(); DNSRecordContent::regist(0xff, QType::TSIG, &TSIGRecordContent::make, &TSIGRecordContent::make, "TSIG"); OPTRecordContent::report(); diff --git a/pdns/dnsrecords.hh b/pdns/dnsrecords.hh index 93cdceee2..d8b99240d 100644 --- a/pdns/dnsrecords.hh +++ b/pdns/dnsrecords.hh @@ -304,6 +304,17 @@ private: string d_certificate; }; +class TLSARecordContent : public DNSRecordContent +{ +public: + includeboilerplate(TLSA) + +private: + uint8_t d_certtype, d_hashtype; + string d_cert; +}; + + class RRSIGRecordContent : public DNSRecordContent { public: diff --git a/pdns/qtype.cc b/pdns/qtype.cc index 880027abf..b5b308730 100644 --- a/pdns/qtype.cc +++ b/pdns/qtype.cc @@ -75,6 +75,7 @@ QType::QType() insert("CURL",258); insert("ADDR",259); insert("DLV",32769); + insert("TLSA",65468); } }