]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add dns_rdata_fromtext() fuzzer
authorPetr Špaček <pspacek@isc.org>
Thu, 18 Feb 2021 20:29:33 +0000 (21:29 +0100)
committerPetr Špaček <pspacek@isc.org>
Thu, 24 Feb 2022 10:12:06 +0000 (11:12 +0100)
commitdc9ba2d3ef4772bd926e1660cd25b50a5d7d41ab
tree4c68db2849e538039361d4d98c8082b2e8fb5e5a
parent759ad04eb80261e597695a491ef8c59395b1ef87
Add dns_rdata_fromtext() fuzzer

... along with dns_rdataclass_fromtext and dns_rdatatype_fromtext

Most of the test binary is modified named-rrchecker. Main differences:
- reads single RR and exists
- does not refuse meta classes and rr types
We actually do have some fromtext code for meta-things so erroring out
in named-rrchecker would prevent us from testing this code.

Corpus has examples of all currently supported RR types. I did not do
any minimization.

In future use command

    diff -U0 \
<(sed -n -e 's/^.*fromtext_\(.*\)(.*$/\1/p' lib/dns/code.h | \
sort) \
<(ls fuzz/dns_rdata_fromtext.in/)

to check for missing RR types.
91 files changed:
fuzz/.gitignore
fuzz/Makefile.am
fuzz/dns_name_fromtext_target.c
fuzz/dns_rdata_fromtext.c [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/afsdb [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/amtrelay [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/any_tsig [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/avc [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/caa [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/cdnskey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/cds [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/cert [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ch_a [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/class1234_type65533 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/cname [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/csync [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/dlv [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/dname [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/dnskey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/doa [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ds [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/eui48 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/eui64 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/gid [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/gpos [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/hinfo [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/hip [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/hs_a [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_a [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_a6 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_aaaa [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_apl [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_atma [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_dhcid [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_eid [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_kx [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_nimloc [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_nsap [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_nsap_ptr [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_px [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_srv [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/in_wks [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ipseckey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/isdn [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/key [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/keydata [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/l32 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/l64 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/loc [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/lp [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/mb [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/md [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/mf [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/mg [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/minfo [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/mr [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/mx [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/naptr [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/nid [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ninfo [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ns [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/nsec [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/nsec3 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/nsec3param [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/null [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/nxt [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/openpgpkey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/opt [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ptr [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/rkey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/rp [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/rrsig [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/rt [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/sig [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/sink [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/smimea [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/soa [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/spf [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/sshfp [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/ta [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/talink [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/tkey [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/tlsa [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/txt [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/uid [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/uinfo [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/unspec [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/uri [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/x25 [new file with mode: 0644]
fuzz/dns_rdata_fromtext.in/zonemd [new file with mode: 0644]
fuzz/dns_rdata_fromwire_text.c