Skip to content
Snippets Groups Projects
Commit 941aa5be authored by Jan Kadlec's avatar Jan Kadlec
Browse files

Changed parsing of TXT. Added new WF item - for only one TXT item.

parent 1ec2fe7e
No related branches found
No related tags found
No related merge requests found
......@@ -248,6 +248,9 @@ int knot_rdata_from_wire(knot_rdata_t *rdata, const uint8_t *wire,
break;
case KNOT_RDATA_WF_TEXT:
// printf("Next item - text.\n");
item_size = rdlength - parsed;
break;
case KNOT_RDATA_WF_TEXT_SINGLE:
item_size = *(wire + *pos) + 1;
break;
case KNOT_RDATA_WF_A:
......
......@@ -134,7 +134,7 @@ static knot_rrtype_descriptor_t
{ KNOT_RDATA_ZF_DNAME }, true },
/* 13 */
{ KNOT_RRTYPE_HINFO, "HINFO", 2,
{ KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_WF_TEXT_SINGLE, KNOT_RDATA_WF_TEXT_SINGLE },
{ KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT }, true },
/* 14 */
{ KNOT_RRTYPE_MINFO, "MINFO", 2,
......@@ -146,55 +146,9 @@ static knot_rrtype_descriptor_t
{ KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_COMPRESSED_DNAME },
{ KNOT_RDATA_ZF_SHORT, KNOT_RDATA_ZF_DNAME }, true },
/* 16 */ /* This is obscure, but I guess there's no other way */
{ KNOT_RRTYPE_TXT, "TXT", KNOT_MAX_RDATA_ITEMS,
{ KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT },
{ KNOT_RRTYPE_TXT, "TXT", 1,
{ KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_ZF_TEXT },
false },
/* 17 */
{ KNOT_RRTYPE_RP, "RP", 2,
......@@ -207,11 +161,11 @@ static knot_rrtype_descriptor_t
{ KNOT_RDATA_ZF_SHORT, KNOT_RDATA_ZF_DNAME }, true },
/* 19 */
{ KNOT_RRTYPE_X25, "X25", 1,
{ KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_WF_TEXT_SINGLE },
{ KNOT_RDATA_ZF_TEXT }, true },
/* 20 */
{ KNOT_RRTYPE_ISDN, "ISDN", 2,
{ KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_WF_TEXT_SINGLE, KNOT_RDATA_WF_TEXT_SINGLE },
{ KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT }, false },
/* 21 */
{ KNOT_RRTYPE_RT, "RT", 2,
......@@ -274,8 +228,8 @@ static knot_rrtype_descriptor_t
{ 34, NULL, 1, { KNOT_RDATA_WF_BINARY }, { KNOT_RDATA_ZF_UNKNOWN }, true },
/* 35 */
{ KNOT_RRTYPE_NAPTR, "NAPTR", 6,
{ KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
{ KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_TEXT_SINGLE,
KNOT_RDATA_WF_TEXT_SINGLE, KNOT_RDATA_WF_TEXT_SINGLE,
KNOT_RDATA_WF_UNCOMPRESSED_DNAME },
{ KNOT_RDATA_ZF_SHORT, KNOT_RDATA_ZF_SHORT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_DNAME }, true },
......@@ -306,55 +260,9 @@ static knot_rrtype_descriptor_t
{ KNOT_RDATA_WF_BINARY },
{ KNOT_RDATA_ZF_UNKNOWN }, true },
/* 42 */
{ KNOT_RRTYPE_APL, "APL", KNOT_MAX_RDATA_ITEMS,
{ KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL,
KNOT_RDATA_WF_APL, KNOT_RDATA_WF_APL },
{ KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL,
KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL, KNOT_RDATA_ZF_APL }, false },
{ KNOT_RRTYPE_APL, "APL", 1,
{ KNOT_RDATA_WF_APL },
{ KNOT_RDATA_ZF_APL }, false },
/* 43 */
{ KNOT_RRTYPE_DS, "DS", 4,
{ KNOT_RDATA_WF_SHORT, KNOT_RDATA_WF_BYTE,
......@@ -428,56 +336,9 @@ static knot_rrtype_descriptor_t
/* There's a GNU extension that works like this: [first ... last] = value */
/* 99 */
[99] = { KNOT_RRTYPE_SPF, "SPF", KNOT_MAX_RDATA_ITEMS,
{ KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT,
KNOT_RDATA_WF_TEXT, KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT,
KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT, KNOT_RDATA_ZF_TEXT },
false },
[99] = { KNOT_RRTYPE_SPF, "SPF", 1,
{ KNOT_RDATA_WF_TEXT },
{ KNOT_RDATA_ZF_TEXT }, false },
/* TSIG pseudo RR. */
[250] = { KNOT_RRTYPE_TSIG, "TSIG", 7,
{ KNOT_RDATA_WF_UNCOMPRESSED_DNAME, KNOT_RDATA_WF_UINT48,
......
......@@ -212,7 +212,8 @@ enum knot_rdata_wireformat {
KNOT_RDATA_WF_BINARYWITHLENGTH = 55,
KNOT_RDATA_WF_APL = 56, /*!< APL data. */
KNOT_RDATA_WF_IPSECGATEWAY = 57, /*!< IPSECKEY gateway ip4, ip6 or dname. */
KNOT_RDATA_WF_BINARYWITHSHORT = 59
KNOT_RDATA_WF_BINARYWITHSHORT = 59,
KNOT_RDATA_WF_TEXT_SINGLE = 60 /*!< Text string. */
};
/*! \brief Constants characterising the format of RDATA items in zone file. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment