mirror of
https://gitlab.nic.cz/knot/knot-dns.git
synced 2026-02-03 18:49:28 -05:00
parent
e6a3f8a788
commit
b7a1769bbc
11 changed files with 72054 additions and 70939 deletions
|
|
@ -42,7 +42,7 @@ DNS features:
|
|||
TXT, RP, AFSDB, RT, KEY, AAAA, LOC, SRV, NAPTR, KX, CERT, DNAME, APL, DS,
|
||||
SSHFP, IPSECKEY, RRSIG, NSEC, DNSKEY, DHCID, NSEC3, NSEC3PARAM, TLSA, SMIMEA,
|
||||
CDS, CDNSKEY, OPENPGPKEY, CSYNC, ZONEMD, SVCB, HTTPS, SPF, NID, L32, L64, LP,
|
||||
DSYNC, EUI48, EUI64, URI, CAA, WALLET, and Unknown
|
||||
DSYNC, EUI48, EUI64, URI, CAA, RESINFO, WALLET, and Unknown
|
||||
|
||||
Server features:
|
||||
|
||||
|
|
|
|||
|
|
@ -143,6 +143,8 @@ static const knot_rdata_descriptor_t rdata_descriptors[] = {
|
|||
KNOT_RDATA_WF_END }, "URI" },
|
||||
[KNOT_RRTYPE_CAA] = { { KNOT_RDATA_WF_REMAINDER,
|
||||
KNOT_RDATA_WF_END }, "CAA" },
|
||||
[KNOT_RRTYPE_RESINFO] = { { KNOT_RDATA_WF_REMAINDER,
|
||||
KNOT_RDATA_WF_END }, "RESINFO" },
|
||||
[KNOT_RRTYPE_WALLET] = { { KNOT_RDATA_WF_REMAINDER,
|
||||
KNOT_RDATA_WF_END }, "WALLET" },
|
||||
};
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ enum knot_rr_type {
|
|||
KNOT_RRTYPE_URI = 256, /*!< Uniform resource identifier. */
|
||||
KNOT_RRTYPE_CAA = 257, /*!< Certification authority restriction. */
|
||||
|
||||
KNOT_RRTYPE_RESINFO = 261, /*!< Resolver information as key/value pairs. */
|
||||
KNOT_RRTYPE_WALLET = 262, /*!< Public wallet address. */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2306,6 +2306,7 @@ static int txt_dump_data(rrset_dump_params_t *p, uint16_t type)
|
|||
return dump_mx(p);
|
||||
case KNOT_RRTYPE_TXT:
|
||||
case KNOT_RRTYPE_SPF:
|
||||
case KNOT_RRTYPE_RESINFO:
|
||||
case KNOT_RRTYPE_WALLET:
|
||||
return dump_txt(p);
|
||||
case KNOT_RRTYPE_KEY:
|
||||
|
|
|
|||
131523
src/libzscanner/scanner.c.g2
131523
src/libzscanner/scanner.c.g2
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1420,6 +1420,7 @@
|
|||
| "SVCB"i %{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
|
||||
| "HTTPS"i %{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
|
||||
| "DSYNC"i %{ type_num(KNOT_RRTYPE_DSYNC, &rdata_tail); }
|
||||
| "RESINFO"i %{ type_num(KNOT_RRTYPE_RESINFO, &rdata_tail); }
|
||||
| "WALLET"i %{ type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
|
||||
| "TYPE"i . num16 # TYPE0-TYPE65535.
|
||||
) $!_type_error %_ret . all_wchar;
|
||||
|
|
@ -1489,6 +1490,7 @@
|
|||
| "SVCB"i %{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
|
||||
| "HTTPS"i %{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
|
||||
| "DSYNC"i %{ window_add_bit(KNOT_RRTYPE_DSYNC, s); }
|
||||
| "RESINFO"i %{ window_add_bit(KNOT_RRTYPE_RESINFO, s); }
|
||||
| "WALLET"i %{ window_add_bit(KNOT_RRTYPE_WALLET, s); }
|
||||
| "TYPE"i . type_bitmap # TYPE0-TYPE65535.
|
||||
);
|
||||
|
|
@ -2105,6 +2107,7 @@
|
|||
fcall r_data_mx;
|
||||
case KNOT_RRTYPE_TXT:
|
||||
case KNOT_RRTYPE_SPF:
|
||||
case KNOT_RRTYPE_RESINFO:
|
||||
case KNOT_RRTYPE_WALLET:
|
||||
fcall r_data_txt;
|
||||
case KNOT_RRTYPE_AAAA:
|
||||
|
|
@ -2222,6 +2225,7 @@
|
|||
case KNOT_RRTYPE_SVCB:
|
||||
case KNOT_RRTYPE_HTTPS:
|
||||
case KNOT_RRTYPE_DSYNC:
|
||||
case KNOT_RRTYPE_RESINFO:
|
||||
case KNOT_RRTYPE_WALLET:
|
||||
fcall nonempty_hex_r_data;
|
||||
// Next types can have empty rdata.
|
||||
|
|
@ -2308,6 +2312,7 @@
|
|||
| "SVCB"i %{ s->r_type = KNOT_RRTYPE_SVCB; }
|
||||
| "HTTPS"i %{ s->r_type = KNOT_RRTYPE_HTTPS; }
|
||||
| "DSYNC"i %{ s->r_type = KNOT_RRTYPE_DSYNC; }
|
||||
| "RESINFO"i %{ s->r_type = KNOT_RRTYPE_RESINFO; }
|
||||
| "WALLET"i %{ s->r_type = KNOT_RRTYPE_WALLET; }
|
||||
| "TYPE"i . type_number
|
||||
) $!_r_type_error;
|
||||
|
|
|
|||
|
|
@ -86,3 +86,4 @@
|
|||
58_HTTPS
|
||||
59_WALLET
|
||||
60_DSYNC
|
||||
61_RESINFO
|
||||
|
|
|
|||
14
tests/libzscanner/data/61_RESINFO.in
Normal file
14
tests/libzscanner/data/61_RESINFO.in
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
$ORIGIN .
|
||||
$TTL 1
|
||||
|
||||
; The RESINFO is the same as the TXT, so there are the differences and basics only.
|
||||
|
||||
; OK
|
||||
@ RESINFO "" "test1" "\255" test2 ; Array of text strings
|
||||
@ RESINFO \# 1 00 ; Hexadecimal rdata
|
||||
@ TYPE261 \# 1 00 ; TYPE + Hexadecimal rdata
|
||||
@ TYPE261 "" ; TYPE
|
||||
@ resinfo "" ; Type in lower-case
|
||||
|
||||
; KO
|
||||
@ RESINFO
|
||||
32
tests/libzscanner/data/61_RESINFO.out
Normal file
32
tests/libzscanner/data/61_RESINFO.out
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
OWNER=00
|
||||
CLASS=0001
|
||||
RRTTL=00000001
|
||||
RTYPE=0105
|
||||
RDATA=0005746573743101FF057465737432
|
||||
------
|
||||
OWNER=00
|
||||
CLASS=0001
|
||||
RRTTL=00000001
|
||||
RTYPE=0105
|
||||
RDATA=00
|
||||
------
|
||||
OWNER=00
|
||||
CLASS=0001
|
||||
RRTTL=00000001
|
||||
RTYPE=0105
|
||||
RDATA=00
|
||||
------
|
||||
OWNER=00
|
||||
CLASS=0001
|
||||
RRTTL=00000001
|
||||
RTYPE=0105
|
||||
RDATA=00
|
||||
------
|
||||
OWNER=00
|
||||
CLASS=0001
|
||||
RRTTL=00000001
|
||||
RTYPE=0105
|
||||
RDATA=00
|
||||
------
|
||||
WARNG=ZS_BAD_RDATA
|
||||
------
|
||||
|
|
@ -14,7 +14,7 @@ TMPDIR=$(test_tmpdir)
|
|||
TESTS_DIR="$SOURCE"/data
|
||||
ZSCANNER_TOOL="$BUILD"/zscanner-tool
|
||||
|
||||
plan 88
|
||||
plan 89
|
||||
|
||||
mkdir -p "$TMPDIR"/includes/
|
||||
for a in 1 2 3 4 5 6; do
|
||||
|
|
|
|||
Loading…
Reference in a new issue