From: Matthijs Mekking Date: Mon, 16 Apr 2012 12:17:43 +0000 (+0000) Subject: TLSA X-Git-Tag: release-1.6.13rc1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb256e377f66b17205f68841c4c9cfbfc15dc4e4;p=thirdparty%2Fldns.git TLSA --- diff --git a/Changelog b/Changelog index 3af325e7..279ceba5 100644 --- a/Changelog +++ b/Changelog @@ -17,6 +17,7 @@ * bugfix #429: fix doxyparse.pl fails on NetBSD because specified path to perl. * New ECDSA support (RFC 6605), use --disable-ecdsa for older openssl. + * New TLSA support (draft-ietf-dane-protocol). 1.6.12 * bugfix #413: Fix manpage source for srcdir != builddir diff --git a/ldns/rr.h b/ldns/rr.h index 2e1dd76b..11aab392 100644 --- a/ldns/rr.h +++ b/ldns/rr.h @@ -37,7 +37,7 @@ extern "C" { #define LDNS_RR_OVERHEAD 10 /* The first fields are 'common' and can be referenced instantly */ -#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON 52 +#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON 53 @@ -166,19 +166,21 @@ enum ldns_enum_rr_type /** draft-ietf-dnsext-delegation */ LDNS_RR_TYPE_DS = 43, /** SSH Key Fingerprint */ - LDNS_RR_TYPE_SSHFP = 44, - /** draft-richardson-ipseckey-rr-11.txt */ - LDNS_RR_TYPE_IPSECKEY = 45, - /** draft-ietf-dnsext-dnssec-25 */ - LDNS_RR_TYPE_RRSIG = 46, - LDNS_RR_TYPE_NSEC = 47, - LDNS_RR_TYPE_DNSKEY = 48, - LDNS_RR_TYPE_DHCID = 49, - - LDNS_RR_TYPE_NSEC3 = 50, - LDNS_RR_TYPE_NSEC3PARAM = 51, + LDNS_RR_TYPE_SSHFP = 44, /* RFC 4255 */ + /** IPsec Key */ + LDNS_RR_TYPE_IPSECKEY = 45, /* RFC 4025 */ + /** DNSSEC */ + LDNS_RR_TYPE_RRSIG = 46, /* RFC 4034 */ + LDNS_RR_TYPE_NSEC = 47, /* RFC 4034 */ + LDNS_RR_TYPE_DNSKEY = 48, /* RFC 4034 */ + + LDNS_RR_TYPE_DHCID = 49, /* RFC 4701 */ + /* NSEC3 */ + LDNS_RR_TYPE_NSEC3 = 50, /* RFC 5155 */ + LDNS_RR_TYPE_NSEC3PARAM = 51, /* RFC 5155 */ LDNS_RR_TYPE_NSEC3PARAMS = 51, - + /* draft-ieft-dane-protocol */ + LDNS_RR_TYPE_TLSA = 52, /** draft-ietf-dnsop-trust-history */ LDNS_RR_TYPE_TALINK = 58, diff --git a/rr.c b/rr.c index 09f4ad86..230d1891 100644 --- a/rr.c +++ b/rr.c @@ -1941,6 +1941,10 @@ static const ldns_rdf_type type_tsig_wireformat[] = { LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16_DATA }; + +static const ldns_rdf_type type_tlsa_wireformat[] = { + LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_HEX +}; /** \endcond */ /** \cond */ @@ -2054,12 +2058,14 @@ static ldns_rr_descriptor rdata_field_descriptors[] = { /* 51 */ {LDNS_RR_TYPE_NSEC3PARAM, "NSEC3PARAM", 4, 4, type_nsec3param_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, /* 52 */ -{LDNS_RR_TYPE_NULL, "TYPE52", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, +{LDNS_RR_TYPE_TLSA, "TLSA", 4, 4, type_tlsa_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, + {LDNS_RR_TYPE_NULL, "TYPE53", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, {LDNS_RR_TYPE_NULL, "TYPE54", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, {LDNS_RR_TYPE_NULL, "TYPE55", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, {LDNS_RR_TYPE_NULL, "TYPE56", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, {LDNS_RR_TYPE_NULL, "TYPE57", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, + /* 58 */ {LDNS_RR_TYPE_TALINK, "TALINK", 2, 2, type_talink_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 2 }, {LDNS_RR_TYPE_NULL, "TYPE59", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }, {LDNS_RR_TYPE_NULL, "TYPE60", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },