]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix minimum and maximum number of rdata fields in TSIG
authorWillem Toorop <willem@NLnetLabs.nl>
Wed, 24 Aug 2011 19:46:20 +0000 (19:46 +0000)
committerWillem Toorop <willem@NLnetLabs.nl>
Wed, 24 Aug 2011 19:46:20 +0000 (19:46 +0000)
rr.c

diff --git a/rr.c b/rr.c
index 672525e37fee8a75aae8c2b6b3c5b989e4fb35d2..464a62c826b080bd8712499379d60a34d3644171 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -2244,7 +2244,11 @@ static ldns_rr_descriptor rdata_field_descriptors[] = {
 {LDNS_RR_TYPE_NULL, "TYPE247", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
 {LDNS_RR_TYPE_NULL, "TYPE248", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
 {LDNS_RR_TYPE_NULL, "TYPE249", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
-{LDNS_RR_TYPE_TSIG, "TSIG", 8, 9, type_tsig_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
+/* LDNS_RDF_TYPE_INT16_DATA essentially takes two fields (length and data) and
+ * makes them into one. So, while in rfc 2845 is specified that a TSIG may have 
+ * 8 or 9 rdata fields, by this implementation, the min/max are 7 each. 
+ */
+{LDNS_RR_TYPE_TSIG, "TSIG", 7, 7, type_tsig_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
 /* split in array, no longer contiguous */
 {LDNS_RR_TYPE_DLV, "DLV", 4, 4, type_ds_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 }
 };