Skip to content
Snippets Groups Projects
Commit cb6ec169 authored by Lubos Slovak's avatar Lubos Slovak
Browse files

Descriptors fixes + minor change.

Fixed missing comma.
MAXRDATALEN -> MAX_RDATA_ITEMS
+ added two other constants:
  - MAX_RDATA_ITEM_SIZE
  - MAX_RDATA_WIRE_SIZE
parent 56b2003e
Branches
Tags
No related merge requests found
......@@ -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
......@@ -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,
......
......@@ -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? */
};
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment