From cb6ec16977ca23375f5fae413f5f31ed7ae49481 Mon Sep 17 00:00:00 2001 From: Lubos Slovak <lubos.slovak@nic.cz> Date: Tue, 16 Nov 2010 16:20:03 +0100 Subject: [PATCH] Descriptors fixes + minor change. Fixed missing comma. MAXRDATALEN -> MAX_RDATA_ITEMS + added two other constants: - MAX_RDATA_ITEM_SIZE - MAX_RDATA_WIRE_SIZE --- CuteDNS.files | 2 ++ src/dnslib/descriptor.c | 8 ++++---- src/dnslib/descriptor.h | 9 +++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CuteDNS.files b/CuteDNS.files index a09c50bc5..c1a6b4428 100644 --- a/CuteDNS.files +++ b/CuteDNS.files @@ -66,3 +66,5 @@ src/dnslib/consts.h src/tests/dnslib/dnslib_dname_tests.c src/tests/dnslib/dnslib_rdata_tests.c src/tests/dnslib/dnslib_rrset_tests.c +src/dnslib/descriptor.h +src/dnslib/descriptor.c diff --git a/src/dnslib/descriptor.c b/src/dnslib/descriptor.c index 070bc2841..91e2cd16a 100644 --- a/src/dnslib/descriptor.c +++ b/src/dnslib/descriptor.c @@ -61,7 +61,7 @@ static dnslib_rrtype_descriptor_t dnslib_rrtype_descriptors[DNSLIB_RRTYPE_DESCRI { DNSLIB_RDATA_WF_BINARY }, true }, /* 11 */ { DNSLIB_RRTYPE_WKS, "WKS", 2, - { DNSLIB_RDATA_WF_A, DNSLIB_RDATA_WF_BINARY }, true }, + { DNSLIB_RDATA_WF_A, DNSLIB_RDATA_WF_BINARY }, true }, /* 12 */ { DNSLIB_RRTYPE_PTR, "PTR", 1, { DNSLIB_RDATA_WF_COMPRESSED_DNAME }, true }, @@ -75,7 +75,7 @@ static dnslib_rrtype_descriptor_t dnslib_rrtype_descriptors[DNSLIB_RRTYPE_DESCRI { DNSLIB_RRTYPE_MX, "MX", 2, { DNSLIB_RDATA_WF_SHORT, DNSLIB_RDATA_WF_COMPRESSED_DNAME }, true }, /* 16 */ /* This is obscure, but I guess there's no other way */ - { DNSLIB_RRTYPE_TXT, "TXT", MAXRDATALEN, + { DNSLIB_RRTYPE_TXT, "TXT", MAX_RDATA_ITEMS, { DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, @@ -166,7 +166,7 @@ static dnslib_rrtype_descriptor_t dnslib_rrtype_descriptors[DNSLIB_RRTYPE_DESCRI { DNSLIB_RRTYPE_OPT, "OPT", 1, { DNSLIB_RDATA_WF_BINARY }, true }, /* 42 */ - { DNSLIB_RRTYPE_APL, "APL", MAXRDATALEN, + { DNSLIB_RRTYPE_APL, "APL", MAX_RDATA_ITEMS, { DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, DNSLIB_RDATA_WF_APL, @@ -229,7 +229,7 @@ static dnslib_rrtype_descriptor_t dnslib_rrtype_descriptors[DNSLIB_RRTYPE_DESCRI /* There's a GNU extension that works like this: [first ... last] = value */ /* 99 */ - [99] = { DNSLIB_RRTYPE_SPF, "SPF", MAXRDATALEN, + [99] = { DNSLIB_RRTYPE_SPF, "SPF", MAX_RDATA_ITEMS, { DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, DNSLIB_RDATA_WF_TEXT, diff --git a/src/dnslib/descriptor.h b/src/dnslib/descriptor.h index 95b00350f..465a9a359 100644 --- a/src/dnslib/descriptor.h +++ b/src/dnslib/descriptor.h @@ -15,7 +15,12 @@ #include "common.h" -enum mxrdtln { MAXRDATALEN = 64 }; +enum mxrdtln +{ + MAX_RDATA_ITEMS = 64, + MAX_RDATA_ITEM_SIZE = 255, + MAX_RDATA_WIRE_SIZE = MAX_RDATA_ITEMS * MAX_RDATA_ITEM_SIZE +}; //#define MAXRDATALEN 64 /* 64 is in NSD. Seems a little too much, but I'd say it's not a real issue. */ @@ -154,7 +159,7 @@ struct dnslib_rrtype_descriptor uint16_t type; /* RR type */ const char *name; /* Textual name. */ uint8_t length; /* Maximum number of RDATA items. */ - uint8_t wireformat[MAXRDATALEN]; /* rdata_wireformat_type */ + uint8_t wireformat[MAX_RDATA_ITEMS]; /* rdata_wireformat_type */ bool fixed_items; /* Has fixed number of RDATA items? */ }; -- GitLab