From: Petr Špaček Date: Thu, 1 Feb 2024 09:17:43 +0000 (+0100) Subject: Import fuzzers from bind-9.18 branch X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6acd062497dc4ef15e2680abd6df33b2c66e64e;p=thirdparty%2Fbind9.git Import fuzzers from bind-9.18 branch It required minor resync of other auxiliary files in fuzz/ directory. --- diff --git a/fuzz/.gitignore b/fuzz/.gitignore index 8edb50ea2f3..7d03848c638 100644 --- a/fuzz/.gitignore +++ b/fuzz/.gitignore @@ -1,4 +1,10 @@ /*.dSYM/ -dns_name_fromtext_target -dns_rdata_fromwire_text /*.out/ +/dns_master_load +/dns_message_checksig +/dns_message_parse +/dns_name_fromtext_target +/dns_rdata_fromtext +/dns_rdata_fromwire_text +/isc_lex_getmastertoken +/isc_lex_gettoken diff --git a/fuzz/FUZZING.md b/fuzz/FUZZING.md index 65363e1ac13..357b323b7de 100644 --- a/fuzz/FUZZING.md +++ b/fuzz/FUZZING.md @@ -18,10 +18,10 @@ The tests in this directory can be operated in three modes: * non-fuzzing - the test just runs over all input located in `.in/` directory by compiling with mock main.c that walks through the directory and runs `LLVMFuzzerTestOneInput()` over the input files -* AFL - `./configure --with-fuzzing=afl` will either feed the stdin to +* AFL - `./configure --enable-fuzzing=afl` will either feed the stdin to `LLVMFuzzerTestOneInput()` or run the `__AFL_LOOP(10000)` if compiled with - `afl-clang-fast` -* LibFuzzer - `./configure --with-fuzzing=libfuzzer` will disable `main.c` + `afl-clang-fast`. You have to compile using `CC=afl-`. +* LibFuzzer - `./configure --enable-fuzzing=libfuzzer` will disable `main.c` completely and it uses the standard LibFuzzer mechanims to feed `LLVMFuzzerTestOneInput` with the fuzzer diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am new file mode 100644 index 00000000000..eb4a2f4ad64 --- /dev/null +++ b/fuzz/Makefile.am @@ -0,0 +1,51 @@ +include $(top_srcdir)/Makefile.top + +AM_CFLAGS += \ + $(TEST_CFLAGS) + +AM_CPPFLAGS += \ + $(LIBISC_CFLAGS) \ + $(LIBDNS_CFLAGS) \ + -DFUZZDIR=\"$(abs_srcdir)\" + +AM_LDFLAGS += \ + $(FUZZ_LDFLAGS) + +LDADD += \ + libfuzzmain.la \ + $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) + +check_LTLIBRARIES = libfuzzmain.la +libfuzzmain_la_SOURCES = \ + fuzz.h \ + main.c + +check_PROGRAMS = \ + dns_master_load \ + dns_message_checksig \ + dns_message_parse \ + dns_name_fromtext_target \ + dns_rdata_fromtext \ + dns_rdata_fromwire_text \ + isc_lex_getmastertoken \ + isc_lex_gettoken + +EXTRA_DIST = \ + dns_master_load.in \ + dns_message_checksig.in \ + dns_message_parse.in \ + dns_name_fromtext_target.in \ + dns_rdata_fromtext.in \ + dns_rdata_fromwire_text.in \ + isc_lex_getmastertoken.in \ + isc_lex_gettoken.in + +TESTS = $(check_PROGRAMS) + +if HAVE_FUZZ_LOG_COMPILER +LOG_COMPILER = $(srcdir)/$(FUZZ_LOG_COMPILER) +AM_LOG_FLAGS = $(srcdir) +endif HAVE_FUZZ_LOG_COMPILER + +unit-local: check diff --git a/fuzz/Makefile.in b/fuzz/Makefile.in index e62ed1514a3..082508c054a 100644 --- a/fuzz/Makefile.in +++ b/fuzz/Makefile.in @@ -28,22 +28,52 @@ DNSDEPLIBS = ../lib/dns/libdns.@A@ LIBS = @LIBS@ OBJS = main.@O@ -SRCS = main.c dns_name_fromtext_target.c dns_rdata_fromwire_text.c +SRCS = main.c dns_master_load.c dns_message_checksig.c dns_message_parse.c dns_name_fromtext_target.c dns_rdata_fromtext.c dns_rdata_fromwire_text.c isc_lex_getmastertoken.c isc_lex_gettoken.c SUBDIRS = -TARGETS = dns_name_fromtext_target@EXEEXT@ \ - dns_rdata_fromwire_text@EXEEXT@ +TARGETS = dns_master_load@EXEEXT@ \ + dns_message_checksig@EXEEXT@ \ + dns_message_parse@EXEEXT@ \ + dns_name_fromtext_target@EXEEXT@ \ + dns_rdata_fromtext@EXEEXT@ \ + dns_rdata_fromwire_text@EXEEXT@ \ + isc_lex_getmastertoken@EXEEXT@ \ + isc_lex_gettoken@EXEEXT@ @BIND9_MAKE_RULES@ +dns_master_load@EXEEXT@: dns_master_load.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_master_load.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +dns_message_checksig@EXEEXT@: dns_message_checksig.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_message_checksig.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +dns_message_parse@EXEEXT@: dns_message_parse.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_message_parse.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + dns_name_fromtext_target@EXEEXT@: dns_name_fromtext_target.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ dns_name_fromtext_target.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} +dns_rdata_fromtext@EXEEXT@: dns_rdata_fromtext.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_rdata_fromtext.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + dns_rdata_fromwire_text@EXEEXT@: dns_rdata_fromwire_text.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ dns_rdata_fromwire_text.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} +isc_lex_getmastertoken@EXEEXT@: isc_lex_getmastertoken.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + isc_lex_getmastertoken.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +isc_lex_gettoken@EXEEXT@: isc_lex_gettoken.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + isc_lex_gettoken.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + check: ${TARGETS} for fuzzer in ${TARGETS}; do \ ./$${fuzzer} ; \ diff --git a/fuzz/afl.sh b/fuzz/afl.sh new file mode 100755 index 00000000000..88ac6eaeb01 --- /dev/null +++ b/fuzz/afl.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +echo "The AFL log compiler is not implemented yet." + +exit 1 diff --git a/fuzz/dns_master_load.c b/fuzz/dns_master_load.c new file mode 100644 index 00000000000..016cc880e5d --- /dev/null +++ b/fuzz/dns_master_load.c @@ -0,0 +1,78 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include "fuzz.h" + +bool debug = false; + +int +LLVMFuzzerInitialize(int *argc, char ***argv) { + UNUSED(argc); + UNUSED(argv); + return (0); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buf; + isc_result_t result; + isc_mem_t *mctx = NULL; + + isc_buffer_constinit(&buf, data, size); + isc_buffer_add(&buf, size); + isc_buffer_setactive(&buf, size); + + dns_rdatacallbacks_t callbacks; + dns_rdatacallbacks_init(&callbacks); + dns_db_t *db = NULL; + + isc_mem_create(&mctx); + result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone, + dns_rdataclass_in, 0, NULL, &db); + if (result != ISC_R_SUCCESS) { + return 0; + } + + result = dns_db_beginload(db, &callbacks); + if (result != ISC_R_SUCCESS) { + goto end; + } + + result = dns_master_loadbuffer(&buf, &db->origin, &db->origin, + db->rdclass, DNS_MASTER_ZONE, &callbacks, + db->mctx); + if (debug) { + fprintf(stderr, "loadbuffer: %s\n", isc_result_totext(result)); + } + result = dns_db_endload(db, &callbacks); + if (debug) { + fprintf(stderr, "endload: %s\n", isc_result_totext(result)); + } + +end: + dns_db_detach(&db); + isc_mem_destroy(&mctx); + return (0); +} diff --git a/fuzz/dns_master_load.in/date.db b/fuzz/dns_master_load.in/date.db new file mode 100644 index 00000000000..62dd4566acf --- /dev/null +++ b/fuzz/dns_master_load.in/date.db @@ -0,0 +1,21 @@ +$TTL 300 ; 5 minutes +@ SOA mname1. . ( + 2000062101 ; serial + 20 ; refresh (20 seconds) + 20 ; retry (20 seconds) + 1814400 ; expire (3 weeks) + 3600 ; minimum (1 hour) + ) + NS a1 +$DATE 20210101000000 + +a1 123 A \# 4 0A000001 +a2 456 A \# 4 0A000001 + +txt1 TXT \# 6 0568656C6C6F +txt2 TXT "hello" +txt3 TXT \# 6 0568656C6C6F +txt4 TXT "hello" + +unk1 TYPE123 \# 1 00 +unk2 TYPE123 \# 1 00 diff --git a/fuzz/dns_master_load.in/generate.db b/fuzz/dns_master_load.in/generate.db new file mode 100644 index 00000000000..8c2053dfbc7 --- /dev/null +++ b/fuzz/dns_master_load.in/generate.db @@ -0,0 +1,10 @@ +$ORIGIN . +$TTL 120 +@ SOA tld4. hostmaster.ns.tld4. ( 1 3600 1200 604800 60 ) + NS ns +ns A 10.53.0.2 +$GENERATE 11-18 all$.a9 A 192.0.2.8 +$GENERATE 1-2 @ PTR SERVER$.EXAMPLE. +$GENERATE 1-7 $ CNAME $.0 +$GENERATE 17-27 HOST-$ A 1.2.3.$ +$GENERATE 277-288 HOST-$ MX "0 ." diff --git a/fuzz/dns_master_load.in/include.db b/fuzz/dns_master_load.in/include.db new file mode 100644 index 00000000000..b83d7546f9f --- /dev/null +++ b/fuzz/dns_master_load.in/include.db @@ -0,0 +1,8 @@ +$ORIGIN . +$TTL 120 +@ SOA tld4. hostmaster.ns.tld4. ( 1 3600 1200 604800 60 ) + NS ns +ns A 10.53.0.2 +$INCLUDE withoutorigin +$INCLUDE withoutorigin origin + diff --git a/fuzz/dns_master_load.in/minimal.db b/fuzz/dns_master_load.in/minimal.db new file mode 100644 index 00000000000..54177a6845f --- /dev/null +++ b/fuzz/dns_master_load.in/minimal.db @@ -0,0 +1,4 @@ +. SOA ns1. hostmaster.warn.example. ( + 1 3600 1200 604800 3600 ) + NS ns1. +ns1. 555 IN A 10.53.0.1 diff --git a/fuzz/dns_message_checksig.c b/fuzz/dns_message_checksig.c new file mode 100644 index 00000000000..74eaf9c5684 --- /dev/null +++ b/fuzz/dns_message_checksig.c @@ -0,0 +1,542 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "fuzz.h" + +bool debug = false; + +static isc_mem_t *mctx = NULL; + +/* + * Packet dumps of validily signed request ./IN/SOA + * requests. + * + * TSIG: + * + * 0x0000: 600b 0900 006a 1140 0000 0000 0000 0000 + * 0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 + * 0x0020: 0000 0000 0000 0001 cc88 0035 006a 007d + * 0x0030: 1dfa 0000 0001 0000 0000 0001 0000 0600 + * 0x0040: 0108 7473 6967 2d6b 6579 0000 fa00 ff00 + * 0x0050: 0000 0000 3d0b 686d 6163 2d73 6861 3235 + * 0x0060: 3600 0000 622a cce1 012c 0020 224d 5807 + * 0x0070: 648d 1400 9d8e fc1c d049 55e9 cc90 2187 + * 0x0080: 3b5f af5c 8899 dc27 c8df b34b 1dfa 0000 + * 0x0090: 0000 + * + * SIG(0): + * + * 0x0000: 6004 0e00 013f 1140 0000 0000 0000 0000 + * 0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 + * 0x0020: 0000 0000 0000 0001 c0a7 0035 013f 0152 + * 0x0030: 0000 0000 0001 0000 0000 0001 0000 0600 + * 0x0040: 0100 0018 00ff 0000 0000 011b 0000 0800 + * 0x0050: 0000 0000 622a ce0d 622a cbb5 da71 0773 + * 0x0060: 6967 306b 6579 0068 988b 27bf 5c89 5270 + * 0x0070: c5ba ea8b 2e10 0512 9b44 48d3 69de b7ec + * 0x0080: 7c67 15f3 6bc7 b0dc 277b e8f1 6979 4c89 + * 0x0090: 149a 0203 30a1 c0b7 a711 ee8a 8d90 ebb9 + * 0x00a0: 9e33 dd65 33d5 5d1d 90db cf9c bb6a b346 + * 0x00b0: 568f a399 71d7 c877 616d 2fb7 0f86 963f + * 0x00c0: aa00 850d 180a 9f83 cd4b d115 c79f 64c9 + * 0x00d0: ff05 e751 6810 28b3 2249 c4ba 2d8d 57ba + * 0x00e0: 9aad f1fc b34e c237 9465 04fd fe4d 19c9 + * 0x00f0: 2368 ec8e 7097 eaea e067 2b9c 06eb c383 + * 0x0100: e901 a11e 606b 4cce c12a 0e57 8c09 b7cb + * 0x0110: 23bb ec05 b68b 1852 9288 b665 fe89 cf62 + * 0x0120: 0a41 5e5a acbe 6903 cbb7 e7b6 cab4 e4a2 + * 0x0130: b98f 884f c09d 5b39 c695 c84c 9a92 f110 + * 0x0140: ccc3 f2ee 313f a2a1 1cda 5aa2 faec d593 + * 0x0150: 4514 724a 868f 94b9 0547 4dc9 7b73 c85e + * 0x0160: 544c 73d4 e892 f9 + */ + +#define HMACSHA256 "\x0bhmac-sha256" + +static isc_stdtime_t fuzztime = 0x622acce1; +static dns_view_t *view = NULL; +static dns_tsigkey_t *tsigkey = NULL; +static dns_tsig_keyring_t *ring = NULL; +static dns_tsig_keyring_t *emptyring = NULL; +static char *wd = NULL; +static char template[] = "/tmp/dns-message-checksig-XXXXXX"; + +static char f1[] = "Ksig0key.+008+55921.key"; +static char c1[] = "sig0key. IN KEY 512 3 8 " + "AwEAAa22lgHi1vAbQvu5ETdTrm2H8rwga9tvyMa6LFiSDyevLvSv0Uo5 " + "uvfrXnxaLdtBMts6e1Ly2piSH9JRbOGMNibOK4EXWhWAn8MII4SWgQAs " + "bFwtiz4HyPn2wScrUQdo8DocKiQJBanesr7vDO8fdA6Rg1e0yAtSeNti " + "e8avx46/HJa6CFs3CoE0sf6oOFSxM954AgCBTXOGNBt1Nt3Bhfqt2qyA " + "TLFii5K1jLDTZDVkoiyDXL1M7wcTwKf9METgj1eQmH3GGlRM/OJ/j8xk " + "ZiFGbL3cipWdiH48031jiV2hlc92mKn8Ya0d9AN6c44piza/JSFydZXw " + "sY32nxzjDbs=\n"; + +static char f2[] = "Ksig0key.+008+55921.private"; +static char c2[] = "Private-key-format: v1.3\n\ +Algorithm: 8 (RSASHA256)\n\ +Modulus: rbaWAeLW8BtC+7kRN1OubYfyvCBr22/IxrosWJIPJ68u9K/RSjm69+tefFot20Ey2zp7UvLamJIf0lFs4Yw2Js4rgRdaFYCfwwgjhJaBACxsXC2LPgfI+fbBJytRB2jwOhwqJAkFqd6yvu8M7x90DpGDV7TIC1J422J7xq/Hjr8clroIWzcKgTSx/qg4VLEz3ngCAIFNc4Y0G3U23cGF+q3arIBMsWKLkrWMsNNkNWSiLINcvUzvBxPAp/0wROCPV5CYfcYaVEz84n+PzGRmIUZsvdyKlZ2IfjzTfWOJXaGVz3aYqfxhrR30A3pzjimLNr8lIXJ1lfCxjfafHOMNuw==\n\ +PublicExponent: AQAB\n\ +PrivateExponent: GDfclFkR5ToFGH9rMTRMnP73Q5dzjLgkx4vyHcuzKtxcvAans4+hNj+NazckAy2E+mpzV2j95TJ4wZjSM2RvB5xLwBIc4Dg6oyAHL6Ikoae6gw64cHFOaYb808n8CyqWqfX+QWAz9sRSVZXnTuPViX3A+svR7ejVak9Bzr1NTDm0DFlrhaKVCYA++dKVZerfuNiXT/jQvrc4wMCa7WWsfLsFO8aTNkEhqUnmS9c5VYgr7MkCV4ENDBcISpQc9wElI0hl12QPaSj8iSdk9liYp+HTiOxOyp6BGGuecKAoQijMwrZy4qExdOxvowptll8+nZLtwGRn/un/xvIZY5OLAQ==\n\ +Prime1: ww3C6jwnrLQik/zxSgC0KuqgHq68cCjiRjwK2/euzs7NkMevFpXvV0cWO8x1/wKC1mszVLsUaKTvH6fzRsXfz5MPihzNzUYFwvobKVLserSxEwHNk+FKUU+q07Kf8WWnCqX5nX9QzVG1q4J8Q44N49I5S480jHLGYbyLZrEYMQE=\n\ +Prime2: 4/3Ozq/8vRgcO4bieFs4CbZR7C98HiTi65SiLBIKY09mDfCleZI0uurAYBluZJgHS5AC5cdyHFuJr3uKxvD+Mgdlru40U6cSCEdK7HAhyUGZUndWl28wyMEB6Kke1/owxVn0S4RKLPOgFI2668H6JObaqXf0wyY89RdVQP6VQrs=\n\ +Exponent1: Tbr9MyVX1j5PDVSev5P6OKQZvUB7PeM9ESo6VaCl3CqTxx+cic6ke86LcLcxSrewdkxwP1LydiVMWfwvOcP/RhRf+/Uwmp5OC35qNpSiQuAhNObiCw2b9T1fYU/s52FQKTEtgXNMOxZV5IxyguVoaaLMTG08TsAqiKZ/kyP99QE=\n\ +Exponent2: Q4qSNKrwLbixzHS2LL+hR0dK17RtiaSV0QKUVIf3qdoAusp6yxwkIOegnBeMm6JqLtl38kh2pq37iRAJWcxVEc8dMYiB2fJZpjgwmwDREYUsfcC611vqUN7UyO8pIwSMZDq045ZKPyzhVJV0NZmemEYHq0LNMO7oCheiewGwiDc=\n\ +Coefficient: T2u/J4NgyO+OqoLpXBIpTBzqrvDk8tb0feYgsp5d16hHvbXxNkMUR8cI07RdbI9HnEldtmhAnbQ6SvFiy2YYjpw/1Fz2WwdxRqLaDV7UlhrT+CqltvU9d/N/xThBNKDa23Wf5Vat+HRiLHSgzsY1PseVCWN+g4azuK2D8+DLeHE=\n\ +Created: 20220311073606\n\ +Publish: 20220311073606\n\ +Activate: 20220311073606\n"; + +static char f3[] = "sig0key.db"; +static char c3[] = "sig0key. 0 IN SOA . . 0 0 0 0 0\n\ +sig0key. 0 IN NS .\n\ +sig0key. 0 IN KEY 512 3 8 AwEAAa22lgHi1vAbQvu5ETdTrm2H8rwga9tvyMa6LFiSDyevLvSv0Uo5 uvfrXnxaLdtBMts6e1Ly2piSH9JRbOGMNibOK4EXWhWAn8MII4SWgQAs bFwtiz4HyPn2wScrUQdo8DocKiQJBanesr7vDO8fdA6Rg1e0yAtSeNti e8avx46/HJa6CFs3CoE0sf6oOFSxM954AgCBTXOGNBt1Nt3Bhfqt2qyA TLFii5K1jLDTZDVkoiyDXL1M7wcTwKf9METgj1eQmH3GGlRM/OJ/j8xk ZiFGbL3cipWdiH48031jiV2hlc92mKn8Ya0d9AN6c44piza/JSFydZXw sY32nxzjDbs=\n"; + +static bool destroy_dst = false; + +static void +cleanup(void) { + char pathbuf[PATH_MAX]; + char *pwd = getcwd(pathbuf, sizeof(pathbuf)); + + if (view != NULL) { + dns_view_detach(&view); + } + if (tsigkey != NULL) { + dns_tsigkey_detach(&tsigkey); + } + if (ring != NULL) { + dns_tsigkeyring_detach(&ring); + } + if (emptyring != NULL) { + dns_tsigkeyring_detach(&emptyring); + } + if (destroy_dst) { + dst_lib_destroy(); + } + if (mctx != NULL) { + isc_mem_detach(&mctx); + } + if (wd != NULL && chdir(wd) == 0) { + if (remove(f1) != 0) { + fprintf(stderr, "remove(%s) failed\n", f1); + } + if (remove(f2) != 0) { + fprintf(stderr, "remove(%s) failed\n", f2); + } + if (remove(f3) != 0) { + fprintf(stderr, "remove(%s) failed\n", f3); + } + /* + * Restore working directory if possible before cleaning + * up the key directory. This will help with any other + * cleanup routines and if this code is ever run under + * Windows as the directory should not be in use when + * rmdir() is called. + */ + if (pwd != NULL && chdir(pwd) != 0) { + fprintf(stderr, "can't restore working directory: %s\n", + pwd); + } + if (rmdir(wd) != 0) { + fprintf(stderr, "rmdir(%s) failed\n", wd); + } + } else { + fprintf(stderr, "cleanup of %s failed\n", wd ? wd : "(null)"); + } +} + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_result_t result; + dns_fixedname_t fixed; + dns_name_t *name = dns_fixedname_initname(&fixed); + unsigned char secret[16] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff }; + dns_zone_t *zone = NULL; + char pathbuf[PATH_MAX]; + FILE *fd; + + atexit(cleanup); + + wd = mkdtemp(template); + if (wd == NULL) { + fprintf(stderr, "mkdtemp failed\n"); + return (1); + } + + snprintf(pathbuf, sizeof(pathbuf), "%s/%s", wd, f1); + fd = fopen(pathbuf, "w"); + if (fd == NULL) { + fprintf(stderr, "fopen(%s) failed\n", pathbuf); + return (1); + } + fputs(c1, fd); + fclose(fd); + + snprintf(pathbuf, sizeof(pathbuf), "%s/%s", wd, f2); + fd = fopen(pathbuf, "w"); + if (fd == NULL) { + fprintf(stderr, "fopen(%s) failed\n", pathbuf); + return (1); + } + fputs(c2, fd); + fclose(fd); + + snprintf(pathbuf, sizeof(pathbuf), "%s/%s", wd, f3); + fd = fopen(pathbuf, "w"); + if (fd == NULL) { + fprintf(stderr, "fopen(%s) failed\n", pathbuf); + return (1); + } + fputs(c3, fd); + fclose(fd); + + isc_mem_create(&mctx); + + result = dst_lib_init(mctx, NULL); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dst_lib_init failed: %s\n", + isc_result_totext(result)); + return (1); + } + destroy_dst = true; + + result = dns_view_create(mctx, dns_rdataclass_in, "view", &view); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_view_create failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_tsigkeyring_create(mctx, &ring); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_tsigkeyring_create failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_tsigkeyring_create(mctx, &emptyring); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_tsigkeyring_create failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_name_fromstring(name, "tsig-key", 0, NULL); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_name_fromstring failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_tsigkey_create(name, dns_tsig_hmacsha256_name, secret, + sizeof(secret), false, NULL, 0, 0, mctx, + ring, &tsigkey); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_tsigkey_create failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_name_fromstring(name, "sig0key", 0, NULL); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_name_fromstring failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_zone_create(&zone, mctx); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_zone_create failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_zone_setorigin(zone, name); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_zone_setorigin failed: %s\n", + isc_result_totext(result)); + return (1); + } + + dns_zone_setclass(zone, view->rdclass); + dns_zone_settype(zone, dns_zone_primary); + + result = dns_zone_setkeydirectory(zone, wd); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_zone_setkeydirectory failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_zone_setfile(zone, pathbuf, dns_masterformat_text, + &dns_master_style_default); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_zone_setfile failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_zone_load(zone, false); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_zone_load failed: %s\n", + isc_result_totext(result)); + return (1); + } + + result = dns_view_addzone(view, zone); + if (result != ISC_R_SUCCESS) { + fprintf(stderr, "dns_view_addzone failed: %s\n", + isc_result_totext(result)); + return (1); + } + + dns_view_freeze(view); + + dns_zone_detach(&zone); + + return (0); +} + +static isc_result_t +create_message(dns_message_t **messagep, const uint8_t *data, size_t size, + bool addasig, bool addtsig) { + isc_result_t result; + dns_message_t *message = NULL; + isc_buffer_t b; + static unsigned char buf[65535]; + + isc_buffer_init(&b, buf, sizeof(buf)); + + /* Message ID */ + isc_buffer_putuint16(&b, 0); + + /* QR, Opcode, other flags = 0, rcode = 0 */ + isc_buffer_putuint16(&b, (*data & 0x1f) << 11); + /* Counts */ + isc_buffer_putuint16(&b, 1); + isc_buffer_putuint16(&b, 0); + isc_buffer_putuint16(&b, 0); + isc_buffer_putuint16(&b, addasig ? 1 : 0); + + /* Question ./IN/SOA */ + isc_buffer_putuint8(&b, 0); + isc_buffer_putuint16(&b, 6); + isc_buffer_putuint16(&b, 1); + + if (addasig) { + /* Signature */ + if (addtsig) { + const unsigned char keyname[] = "\x08tsig-key"; + isc_buffer_putmem(&b, keyname, sizeof(keyname)); + isc_buffer_putuint16(&b, dns_rdatatype_tsig); + isc_buffer_putuint16(&b, dns_rdataclass_any); + } else { + isc_buffer_putuint8(&b, 0); /* '.' */ + isc_buffer_putuint16(&b, dns_rdatatype_sig); + isc_buffer_putuint16(&b, dns_rdataclass_in); + } + isc_buffer_putuint32(&b, 0); /* ttl */ + data++; + size--; + if (size > isc_buffer_availablelength(&b) - 2) { + size = isc_buffer_availablelength(&b) - 2; + } + isc_buffer_putuint16(&b, size); + isc_buffer_putmem(&b, data, size); + } + + dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message); + + result = dns_message_parse(message, &b, 0); + if (debug) { + fprintf(stderr, "dns_message_parse => %s\n", + isc_result_totext(result)); + } + if (result != ISC_R_SUCCESS) { + dns_message_detach(&message); + } else { + if (debug) { + char text[200000]; + isc_buffer_init(&b, text, sizeof(text)); + + result = dns_message_totext( + message, &dns_master_style_debug, 0, &b); + if (result == ISC_R_SUCCESS) { + fprintf(stderr, "%.*s", (int)b.used, text); + } else { + fprintf(stderr, "dns_message_totext => %s\n", + isc_result_totext(result)); + } + } + *messagep = message; + } + return (result); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_result_t result; + dns_message_t *message = NULL; + unsigned char query_tsig[23 + 32 + 6] = { 0 }; + bool addasig = false; + bool addtime = false; + bool addtsig = false; + bool setquerytsig = false; + bool settsigkey = false; + bool subtime = false; + bool withring = false; + bool withview = false; + + /* + * The first 2 octets affect setup. + * Octet 1 determines whether a signature is added and which type + * (addasig, addtsig), whether time should be adjusted (addtime, + * subtime), whether dns_message_setquerytsig and dns_message_settsigkey + * have been called, whether there is a keyring available with the + * TSIG key or a view is defined. + * + * The second octet defines if the message is a response and the + * opcode. + */ + if (size > 65535 || size < 2) { + return (0); + } + + addasig = (*data & 0x80) != 0; + addtime = (*data & 0x40) != 0; + addtsig = (*data & 0x20) != 0; + setquerytsig = (*data & 0x10) != 0; + settsigkey = (*data & 0x08) != 0; + subtime = (*data & 0x04) != 0; + withring = (*data & 0x02) != 0; + withview = (*data & 0x01) != 0; + + data++; + size--; + + if (debug) { + fprintf(stderr, + "addasig=%u addtime=%u addtsig=%u setquerytsig=%u " + "settsigkey=%u subtime=%u withring=%u\nwithview=%u\n", + addasig, addtime, addtsig, setquerytsig, settsigkey, + subtime, withring, withview); + } + + result = create_message(&message, data, size, addasig, addtsig); + if (result != ISC_R_SUCCESS) { + return (0); + } + + /* + * Make time calculations consistent. + */ + message->fuzzing = 1; + message->fuzztime = fuzztime; + if (addtime) { + message->fuzztime += 1200; + } + if (subtime) { + message->fuzztime -= 1200; + } + + if ((message->flags & DNS_MESSAGEFLAG_QR) != 0) { + if (setquerytsig) { + isc_buffer_t b; + unsigned char hmacname[] = HMACSHA256; + unsigned char hmacvalue[32] = { + 0x22, 0x4d, 0x58, 0x07, 0x64, 0x8d, 0x14, 0x00, + 0x9d, 0x8e, 0xfc, 0x1c, 0xd0, 0x49, 0x55, 0xe9, + 0xcc, 0x90, 0x21, 0x87, 0x3b, 0x5f, 0xaf, 0x5c, + 0x88, 0x99, 0xdc, 0x27, 0xc8, 0xdf, 0xb3, 0x4b + }; + + /* + * Valid TSIG rdata for tsig-key over a plain + * DNS QUERY for ./SOA/IN with no flags set. + */ + isc_buffer_init(&b, query_tsig, sizeof(query_tsig)); + isc_buffer_putmem(&b, hmacname, sizeof(hmacname)); + isc_buffer_putuint16(&b, 0); /* time high */ + isc_buffer_putuint32(&b, 0x622abec0); /* time low */ + isc_buffer_putuint16(&b, 300); /* Fudge */ + isc_buffer_putuint16(&b, 32); /* Mac Length */ + /* Mac */ + isc_buffer_putmem(&b, hmacvalue, 32); + isc_buffer_putuint16(&b, 7674); /* Original Id */ + isc_buffer_putuint16(&b, 0); /* Error */ + isc_buffer_putuint16(&b, 0); /* Other len */ + + dns_message_setquerytsig(message, &b); + } + } + + if (settsigkey) { + result = dns_message_settsigkey(message, tsigkey); + if (debug) { + fprintf(stderr, "dns_message_settsigkey => %s\n", + isc_result_totext(result)); + } + } + + dns_view_setkeyring(view, withring ? ring : emptyring); + + result = dns_message_checksig(message, withview ? view : NULL); + if (debug) { + char textbuf[64]; + isc_buffer_t b; + + fprintf(stderr, "dns_message_checksig => %s\n", + isc_result_totext(result)); + isc_buffer_init(&b, textbuf, sizeof(textbuf)); + dns_tsigrcode_totext(message->tsigstatus, &b); + fprintf(stderr, "tsigstatus=%.*s\n", (int)b.used, textbuf); + isc_buffer_init(&b, textbuf, sizeof(textbuf)); + dns_tsigrcode_totext(message->sig0status, &b); + fprintf(stderr, "sig0status=%.*s\n", (int)b.used, textbuf); + } + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + +cleanup: + if (message != NULL) { + dns_message_detach(&message); + } + + return (0); +} diff --git a/fuzz/dns_message_checksig.in/issue-3547 b/fuzz/dns_message_checksig.in/issue-3547 new file mode 100644 index 00000000000..238442775eb Binary files /dev/null and b/fuzz/dns_message_checksig.in/issue-3547 differ diff --git a/fuzz/dns_message_checksig.in/sig0 b/fuzz/dns_message_checksig.in/sig0 new file mode 100644 index 00000000000..61fbeb3b658 Binary files /dev/null and b/fuzz/dns_message_checksig.in/sig0 differ diff --git a/fuzz/dns_message_checksig.in/tsig b/fuzz/dns_message_checksig.in/tsig new file mode 100644 index 00000000000..38d040b8cb8 Binary files /dev/null and b/fuzz/dns_message_checksig.in/tsig differ diff --git a/fuzz/dns_message_checksig.in/tsig-reply b/fuzz/dns_message_checksig.in/tsig-reply new file mode 100644 index 00000000000..f9fe2378a9d Binary files /dev/null and b/fuzz/dns_message_checksig.in/tsig-reply differ diff --git a/fuzz/dns_message_parse.c b/fuzz/dns_message_parse.c new file mode 100644 index 00000000000..c4a8fcacde1 --- /dev/null +++ b/fuzz/dns_message_parse.c @@ -0,0 +1,190 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "fuzz.h" + +bool debug = false; + +static isc_mem_t *mctx = NULL; +static uint8_t *output = NULL; +static size_t output_len = 1024; +static uint8_t render_buf[64 * 1024 - 1]; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_mem_create(&mctx); + output = isc_mem_get(mctx, output_len); + + return (0); +} + +static isc_result_t +parse_message(isc_buffer_t *input, dns_message_t **messagep) { + isc_result_t result; + dns_message_t *message = NULL; + + dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message); + + result = dns_message_parse(message, input, DNS_MESSAGEPARSE_BESTEFFORT); + if (result == DNS_R_RECOVERABLE) { + result = ISC_R_SUCCESS; + } + + if (result == ISC_R_SUCCESS && messagep != NULL) { + *messagep = message; + } else { + dns_message_detach(&message); + } + + return (result); +} + +static isc_result_t +print_message(dns_message_t *message) { + isc_result_t result; + isc_buffer_t buffer; + + do { + isc_buffer_init(&buffer, output, output_len); + result = dns_message_totext(message, &dns_master_style_debug, 0, + &buffer); + if (result == ISC_R_NOSPACE) { + isc_mem_put(mctx, output, output_len); + output_len *= 2; + output = isc_mem_get(mctx, output_len); + continue; + } + } while (result == ISC_R_NOSPACE); + + if (debug) { + fprintf(stderr, "%.*s\n", (int)isc_buffer_usedlength(&buffer), + output); + } + + return (result); +} + +#define CHECKRESULT(r, f) \ + { \ + r = (f); \ + if (r != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ + } + +static isc_result_t +render_message(dns_message_t **messagep) { + isc_result_t result; + dns_message_t *message = *messagep; + isc_buffer_t buffer; + dns_compress_t cctx; + + isc_buffer_init(&buffer, render_buf, sizeof(render_buf)); + + message->from_to_wire = DNS_MESSAGE_INTENTRENDER; + for (size_t i = 0; i < DNS_SECTION_MAX; i++) { + message->counts[i] = 0; + } + + result = dns_compress_init(&cctx, -1, mctx); + if (result != ISC_R_SUCCESS) { + return (result); + } + CHECKRESULT(result, dns_message_renderbegin(message, &cctx, &buffer)); + + CHECKRESULT(result, dns_message_rendersection(message, + DNS_SECTION_QUESTION, 0)); + + CHECKRESULT(result, + dns_message_rendersection(message, DNS_SECTION_ANSWER, 0)); + CHECKRESULT(result, dns_message_rendersection( + message, DNS_SECTION_AUTHORITY, 0)); + + CHECKRESULT(result, dns_message_rendersection( + message, DNS_SECTION_ADDITIONAL, 0)); + + dns_message_renderend(message); + + dns_compress_invalidate(&cctx); + + message->from_to_wire = DNS_MESSAGE_INTENTPARSE; + + dns_message_detach(messagep); + + result = parse_message(&buffer, messagep); + + return (result); + +cleanup: + dns_compress_invalidate(&cctx); + return (result); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buffer; + isc_result_t result; + dns_message_t *message = NULL; + + if (size > 65535) { + return (0); + } + + isc_buffer_constinit(&buffer, data, size); + isc_buffer_add(&buffer, size); + isc_buffer_setactive(&buffer, size); + + result = parse_message(&buffer, &message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = print_message(message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = render_message(&message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = print_message(message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + +cleanup: + if (message != NULL) { + dns_message_detach(&message); + } + + return (0); +} diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt new file mode 100644 index 00000000000..fa241be90ad Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt new file mode 100644 index 00000000000..8b26d523e01 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt new file mode 100644 index 00000000000..23714ac58d0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt new file mode 100644 index 00000000000..6df746945f0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt new file mode 100644 index 00000000000..412026d2d94 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt new file mode 100644 index 00000000000..e6ea06ebe04 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt new file mode 100644 index 00000000000..ac32a239b6d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt new file mode 100644 index 00000000000..513080f1e42 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt new file mode 100644 index 00000000000..05296895fef Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt new file mode 100644 index 00000000000..7067548c476 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt new file mode 100644 index 00000000000..ce2be9b0af2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt new file mode 100644 index 00000000000..9b28729ea37 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt new file mode 100644 index 00000000000..76c2f36a5be Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt new file mode 100644 index 00000000000..9f8f50c00eb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt new file mode 100644 index 00000000000..baa9ffcfbbf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt new file mode 100644 index 00000000000..0bb9f909b3d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt new file mode 100644 index 00000000000..b8a8732c741 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt new file mode 100644 index 00000000000..3016eab29dc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt new file mode 100644 index 00000000000..0468373a29c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt new file mode 100644 index 00000000000..6658f4e004a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt new file mode 100644 index 00000000000..cea967e0459 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt new file mode 100644 index 00000000000..4179a68a896 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt new file mode 100644 index 00000000000..1d602fb3112 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt new file mode 100644 index 00000000000..a4ed4a4b7f6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt new file mode 100644 index 00000000000..20ed67404aa Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt new file mode 100644 index 00000000000..51511cee9b9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt new file mode 100644 index 00000000000..b6813eed6e1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt new file mode 100644 index 00000000000..a89e600a749 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt new file mode 100644 index 00000000000..e44e67abf82 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt new file mode 100644 index 00000000000..fbd0266b06d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt new file mode 100644 index 00000000000..10c9fb8f4f2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt new file mode 100644 index 00000000000..87d11f77dc8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt new file mode 100644 index 00000000000..b53d9016bd6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt new file mode 100644 index 00000000000..ed4ac065731 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt new file mode 100644 index 00000000000..8e6483c4670 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt new file mode 100644 index 00000000000..152221ea456 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt new file mode 100644 index 00000000000..d04af0613a9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt new file mode 100644 index 00000000000..731cbbb52c2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt new file mode 100644 index 00000000000..3599fe41663 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt new file mode 100644 index 00000000000..1a881cdcff9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt new file mode 100644 index 00000000000..4ea06bb1344 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt new file mode 100644 index 00000000000..99747d85878 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt new file mode 100644 index 00000000000..ad14dcfedb2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt new file mode 100644 index 00000000000..b2b121e58c0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt new file mode 100644 index 00000000000..d62ec403790 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt new file mode 100644 index 00000000000..1f48c36c2c9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt new file mode 100644 index 00000000000..5bca44e6489 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt new file mode 100644 index 00000000000..18f3eeb2207 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt new file mode 100644 index 00000000000..31eb4895133 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt new file mode 100644 index 00000000000..047755c9594 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt new file mode 100644 index 00000000000..52e4284e100 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt new file mode 100644 index 00000000000..48ec1d6c84c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt new file mode 100644 index 00000000000..ea41ef60fd2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt new file mode 100644 index 00000000000..8edd7645836 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt new file mode 100644 index 00000000000..5eb1018ed06 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt new file mode 100644 index 00000000000..33adf07e55c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt new file mode 100644 index 00000000000..f66e4ad8dce Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt new file mode 100644 index 00000000000..167fb856b38 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt new file mode 100644 index 00000000000..3b42c12c03a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt new file mode 100644 index 00000000000..cfff240ab0b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt new file mode 100644 index 00000000000..6add1d7b428 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt new file mode 100644 index 00000000000..6bdb9983562 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt new file mode 100644 index 00000000000..13f1f942949 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt new file mode 100644 index 00000000000..1c7559d1921 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt new file mode 100644 index 00000000000..6534975e634 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt new file mode 100644 index 00000000000..612f2636e31 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt new file mode 100644 index 00000000000..551a8a1454c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt new file mode 100644 index 00000000000..5c3e1528639 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt new file mode 100644 index 00000000000..b9f3a12dbd8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt new file mode 100644 index 00000000000..cc7883c4363 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt new file mode 100644 index 00000000000..667b3fbf2c8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt new file mode 100644 index 00000000000..a2b448e0f55 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt new file mode 100644 index 00000000000..7848ce134c3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt new file mode 100644 index 00000000000..ca94795565d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt new file mode 100644 index 00000000000..ae0ed2793ef Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt new file mode 100644 index 00000000000..94549cd37f7 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt new file mode 100644 index 00000000000..3596183f08e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt new file mode 100644 index 00000000000..a094b9fc6b4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt new file mode 100644 index 00000000000..bf212e055eb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt new file mode 100644 index 00000000000..13f1d6b8da2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt new file mode 100644 index 00000000000..88d1b1a1ba0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt new file mode 100644 index 00000000000..43ef8a595b2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt new file mode 100644 index 00000000000..7a23e5a230f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt new file mode 100644 index 00000000000..4c81487550f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt new file mode 100644 index 00000000000..1b6584bbfd5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt new file mode 100644 index 00000000000..e26f2a5d111 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt new file mode 100644 index 00000000000..247cd196614 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt new file mode 100644 index 00000000000..80cf80518d0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt new file mode 100644 index 00000000000..04abe16998c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt new file mode 100644 index 00000000000..4df93239708 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt new file mode 100644 index 00000000000..2f3ad474474 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt new file mode 100644 index 00000000000..6ab46acdcf9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt new file mode 100644 index 00000000000..f8142403359 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt new file mode 100644 index 00000000000..1b671da668f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt new file mode 100644 index 00000000000..3f61b466367 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt new file mode 100644 index 00000000000..d8b9495321c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt new file mode 100644 index 00000000000..93b8cdb6d30 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt new file mode 100644 index 00000000000..af5294a996f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt new file mode 100644 index 00000000000..edfdccfc780 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt new file mode 100644 index 00000000000..015fd6c2655 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt new file mode 100644 index 00000000000..697332e7f27 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt new file mode 100644 index 00000000000..e7d49062393 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt new file mode 100644 index 00000000000..6e88f20b4d2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt new file mode 100644 index 00000000000..3a9b9513c75 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt new file mode 100644 index 00000000000..62dbf0204cd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt new file mode 100644 index 00000000000..37bd51ed498 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt new file mode 100644 index 00000000000..48694199e12 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt new file mode 100644 index 00000000000..c05a0880956 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt new file mode 100644 index 00000000000..3b0a251d3dc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt new file mode 100644 index 00000000000..f34993f19be Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt new file mode 100644 index 00000000000..bf6d4238932 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt new file mode 100644 index 00000000000..56ae6611f8b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt new file mode 100644 index 00000000000..7c434a970fd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt new file mode 100644 index 00000000000..07f776efff6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt new file mode 100644 index 00000000000..6645aaf6e6a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt new file mode 100644 index 00000000000..de65fa13178 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt new file mode 100644 index 00000000000..fd10d4f7535 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt new file mode 100644 index 00000000000..ce544060319 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt new file mode 100644 index 00000000000..a3731cb947e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt new file mode 100644 index 00000000000..eb854a9c3cc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt new file mode 100644 index 00000000000..902fb973e4a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt new file mode 100644 index 00000000000..efe015a3672 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt new file mode 100644 index 00000000000..3b6c61b7b19 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt new file mode 100644 index 00000000000..a6067d3650e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt new file mode 100644 index 00000000000..3e9fc2f24a9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt new file mode 100644 index 00000000000..4d7c29c0aaf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt new file mode 100644 index 00000000000..8292d37f76f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt new file mode 100644 index 00000000000..23fc0879573 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt new file mode 100644 index 00000000000..c505745b349 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt new file mode 100644 index 00000000000..de74dcda721 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt new file mode 100644 index 00000000000..b63d219d717 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt new file mode 100644 index 00000000000..df2909b1cf9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt new file mode 100644 index 00000000000..21a967b43bd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt new file mode 100644 index 00000000000..5fb3abb15ab Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt new file mode 100644 index 00000000000..04d2fe25fa9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt new file mode 100644 index 00000000000..cdfdfe593d4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt new file mode 100644 index 00000000000..16db8e8a595 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt new file mode 100644 index 00000000000..f35e0b8f124 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt new file mode 100644 index 00000000000..f4982ab419d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt new file mode 100644 index 00000000000..98c71c7df18 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt new file mode 100644 index 00000000000..85458b2ea36 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt new file mode 100644 index 00000000000..444c7a8d666 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt new file mode 100644 index 00000000000..160dda0e41b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt new file mode 100644 index 00000000000..56e0e58792a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt new file mode 100644 index 00000000000..0692541ed10 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt new file mode 100644 index 00000000000..d73829b0c4f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt new file mode 100644 index 00000000000..a1c2948def0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt new file mode 100644 index 00000000000..8b3a08f8ab5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt new file mode 100644 index 00000000000..e55ce791938 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt new file mode 100644 index 00000000000..bffde447e04 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt new file mode 100644 index 00000000000..67573905da8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt new file mode 100644 index 00000000000..8d580d50819 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt new file mode 100644 index 00000000000..05f4a956cb0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt new file mode 100644 index 00000000000..ff6d56b1dff Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt new file mode 100644 index 00000000000..0c4b33854e1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt new file mode 100644 index 00000000000..287ce05ba49 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt new file mode 100644 index 00000000000..8516ec2ff93 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt new file mode 100644 index 00000000000..644f594e1db Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt new file mode 100644 index 00000000000..ea908065051 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt new file mode 100644 index 00000000000..fb7507255d6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt new file mode 100644 index 00000000000..d5a7728db8b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt new file mode 100644 index 00000000000..43b46f2052e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt new file mode 100644 index 00000000000..544be048029 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt new file mode 100644 index 00000000000..6a47f988d69 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt new file mode 100644 index 00000000000..fc80325332b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt new file mode 100644 index 00000000000..6080965c05c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt new file mode 100644 index 00000000000..44d7574b6b8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt new file mode 100644 index 00000000000..41deba507ab Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt new file mode 100644 index 00000000000..bd4c83b911a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt new file mode 100644 index 00000000000..f20a74bc14c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt new file mode 100644 index 00000000000..e98672f1d0e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt new file mode 100644 index 00000000000..4cddff82d2f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt new file mode 100644 index 00000000000..7819f57ffd9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt new file mode 100644 index 00000000000..eae53d97bd9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt new file mode 100644 index 00000000000..b2b22de1e23 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt new file mode 100644 index 00000000000..37d0abac720 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt new file mode 100644 index 00000000000..adfeee4c780 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt new file mode 100644 index 00000000000..3ed111aae20 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt new file mode 100644 index 00000000000..05945b19584 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt new file mode 100644 index 00000000000..0d6cee6c8b4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt new file mode 100644 index 00000000000..317ad1be218 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt new file mode 100644 index 00000000000..a717dc04974 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt new file mode 100644 index 00000000000..577c1340238 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt new file mode 100644 index 00000000000..ad3c709aeb6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt new file mode 100644 index 00000000000..9466c992eb6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt new file mode 100644 index 00000000000..af14c7f3419 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt new file mode 100644 index 00000000000..3e5557ba624 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt new file mode 100644 index 00000000000..20977119b7c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt new file mode 100644 index 00000000000..9805704406f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt new file mode 100644 index 00000000000..6ffca56061c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt new file mode 100644 index 00000000000..9db2d21943e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt new file mode 100644 index 00000000000..00710b88d10 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt new file mode 100644 index 00000000000..f409e0d48c9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt new file mode 100644 index 00000000000..5709f85d6b9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt new file mode 100644 index 00000000000..e999c5947f9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt new file mode 100644 index 00000000000..fe423f03dfe Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt new file mode 100644 index 00000000000..631dfdbf545 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt new file mode 100644 index 00000000000..8fd1172eefb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt new file mode 100644 index 00000000000..f8ee4ff9874 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt new file mode 100644 index 00000000000..973fb58a319 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt new file mode 100644 index 00000000000..66a25b62611 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt new file mode 100644 index 00000000000..1a1e98d6658 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt new file mode 100644 index 00000000000..b0b1716173d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt new file mode 100644 index 00000000000..bb1ef20f135 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt new file mode 100644 index 00000000000..35b2eeb9924 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt new file mode 100644 index 00000000000..5a6c9516948 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt new file mode 100644 index 00000000000..563c1a72109 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt new file mode 100644 index 00000000000..f85d2b140cd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt new file mode 100644 index 00000000000..ae7b3e0535b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt new file mode 100644 index 00000000000..1d1f7416516 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt new file mode 100644 index 00000000000..5972fac1f92 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt new file mode 100644 index 00000000000..d920d910b47 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt new file mode 100644 index 00000000000..c96dd3be024 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt new file mode 100644 index 00000000000..978aaf83828 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt new file mode 100644 index 00000000000..86b24e7d086 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt new file mode 100644 index 00000000000..40a17f3d140 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt new file mode 100644 index 00000000000..eca00b34aff Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt new file mode 100644 index 00000000000..08b5623fc2b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt new file mode 100644 index 00000000000..6279e0697fa Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt new file mode 100644 index 00000000000..b5d1f3663aa Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt new file mode 100644 index 00000000000..4e47d01b6ce Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt new file mode 100644 index 00000000000..11888283139 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt new file mode 100644 index 00000000000..5a695348f67 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt new file mode 100644 index 00000000000..2c609f6ed5a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt new file mode 100644 index 00000000000..b40767ec694 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt new file mode 100644 index 00000000000..cc7bf5ff7bd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt new file mode 100644 index 00000000000..5ae2c5d767a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt new file mode 100644 index 00000000000..d005c8949bc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt new file mode 100644 index 00000000000..4c7006c9670 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt new file mode 100644 index 00000000000..81c7e717c0f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt new file mode 100644 index 00000000000..e020220c9f5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt new file mode 100644 index 00000000000..0b82b2ac38f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt new file mode 100644 index 00000000000..8900e1d2729 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt new file mode 100644 index 00000000000..cd03fd4177c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt new file mode 100644 index 00000000000..1d47304d779 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt new file mode 100644 index 00000000000..9cc7d9982fb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt new file mode 100644 index 00000000000..1d28aaf49ac Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt new file mode 100644 index 00000000000..d6489875499 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt new file mode 100644 index 00000000000..6a1a59deba1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt new file mode 100644 index 00000000000..a7e2533693a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt new file mode 100644 index 00000000000..66c2e407b54 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt new file mode 100644 index 00000000000..f6c9c4f4daf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt new file mode 100644 index 00000000000..ae85d3596d5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt new file mode 100644 index 00000000000..0f7355b73de Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt new file mode 100644 index 00000000000..1544e6ac5d2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt new file mode 100644 index 00000000000..392001e6b1e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt new file mode 100644 index 00000000000..d23fe2bd354 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt new file mode 100644 index 00000000000..a1d1c45f2a7 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt new file mode 100644 index 00000000000..430983ec8cf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt new file mode 100644 index 00000000000..1dca9a48f29 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt new file mode 100644 index 00000000000..6660777e30c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt new file mode 100644 index 00000000000..76dbd47d70a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt new file mode 100644 index 00000000000..c1d1efdc65b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt new file mode 100644 index 00000000000..613fab2732a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt new file mode 100644 index 00000000000..f30ada3939b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt new file mode 100644 index 00000000000..d65c4fc1e51 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt new file mode 100644 index 00000000000..8900030e951 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt new file mode 100644 index 00000000000..8f9651d98a3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt new file mode 100644 index 00000000000..e170d6abe0d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt new file mode 100644 index 00000000000..dd06110ed26 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt new file mode 100644 index 00000000000..7ae0a618c13 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt new file mode 100644 index 00000000000..61663c87a17 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt new file mode 100644 index 00000000000..239cd44ba83 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt new file mode 100644 index 00000000000..de046263edf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt new file mode 100644 index 00000000000..3a47fefda2c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt new file mode 100644 index 00000000000..5b7f450736b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt new file mode 100644 index 00000000000..814775b82c3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt new file mode 100644 index 00000000000..a435c3f88c2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt new file mode 100644 index 00000000000..0a6c56fa7f1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt new file mode 100644 index 00000000000..fd7efe9f727 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt new file mode 100644 index 00000000000..bedcd9d5455 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt new file mode 100644 index 00000000000..9afb8989e63 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt new file mode 100644 index 00000000000..5ef82fe4598 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-24.pkt b/fuzz/dns_message_parse.in/cz.nic-24.pkt new file mode 100644 index 00000000000..1ec4877a63f Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-24.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-25.pkt b/fuzz/dns_message_parse.in/cz.nic-25.pkt new file mode 100644 index 00000000000..f4193855a65 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-25.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-26.pkt b/fuzz/dns_message_parse.in/cz.nic-26.pkt new file mode 100644 index 00000000000..cc8e2369962 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-26.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-3.pkt b/fuzz/dns_message_parse.in/cz.nic-3.pkt new file mode 100644 index 00000000000..dfa0076e827 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-3.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-176998.pkt b/fuzz/dns_message_parse.in/seed-176998.pkt new file mode 100644 index 00000000000..32820d16400 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-176998.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-209207.pkt b/fuzz/dns_message_parse.in/seed-209207.pkt new file mode 100644 index 00000000000..ed8ab50fe4f Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-209207.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-27166.pkt b/fuzz/dns_message_parse.in/seed-27166.pkt new file mode 100644 index 00000000000..147b87ecb2b Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-27166.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-289417.pkt b/fuzz/dns_message_parse.in/seed-289417.pkt new file mode 100644 index 00000000000..3912fc11028 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-289417.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-345158.pkt b/fuzz/dns_message_parse.in/seed-345158.pkt new file mode 100644 index 00000000000..0f57f4cffb6 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-345158.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-357147.pkt b/fuzz/dns_message_parse.in/seed-357147.pkt new file mode 100644 index 00000000000..f659629cfc5 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-357147.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-438052.pkt b/fuzz/dns_message_parse.in/seed-438052.pkt new file mode 100644 index 00000000000..08fde3a4a42 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-438052.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-443089.pkt b/fuzz/dns_message_parse.in/seed-443089.pkt new file mode 100644 index 00000000000..bcac48a84ed Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-443089.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-553818.pkt b/fuzz/dns_message_parse.in/seed-553818.pkt new file mode 100644 index 00000000000..54b04fc91f0 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-553818.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-577278.pkt b/fuzz/dns_message_parse.in/seed-577278.pkt new file mode 100644 index 00000000000..4bb211ce25c Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-577278.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-608943.pkt b/fuzz/dns_message_parse.in/seed-608943.pkt new file mode 100644 index 00000000000..b6eb429525f Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-608943.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-735918.pkt b/fuzz/dns_message_parse.in/seed-735918.pkt new file mode 100644 index 00000000000..c7f95c80716 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-735918.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-738261.pkt b/fuzz/dns_message_parse.in/seed-738261.pkt new file mode 100644 index 00000000000..9cdbcd003d4 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-738261.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-743121.pkt b/fuzz/dns_message_parse.in/seed-743121.pkt new file mode 100644 index 00000000000..588f13a2977 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-743121.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-782674.pkt b/fuzz/dns_message_parse.in/seed-782674.pkt new file mode 100644 index 00000000000..ca4ad5fc339 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-782674.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-818733.pkt b/fuzz/dns_message_parse.in/seed-818733.pkt new file mode 100644 index 00000000000..b561586935f Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-818733.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-868934.pkt b/fuzz/dns_message_parse.in/seed-868934.pkt new file mode 100644 index 00000000000..2e256c3d467 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-868934.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-893515.pkt b/fuzz/dns_message_parse.in/seed-893515.pkt new file mode 100644 index 00000000000..73a554ea26b Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-893515.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-894122.pkt b/fuzz/dns_message_parse.in/seed-894122.pkt new file mode 100644 index 00000000000..8e05c893a28 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-894122.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-928203.pkt b/fuzz/dns_message_parse.in/seed-928203.pkt new file mode 100644 index 00000000000..5ca89681a17 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-928203.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-94044.pkt b/fuzz/dns_message_parse.in/seed-94044.pkt new file mode 100644 index 00000000000..7f7f716baff Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-94044.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-951706.pkt b/fuzz/dns_message_parse.in/seed-951706.pkt new file mode 100644 index 00000000000..0d905dce3d3 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-951706.pkt differ diff --git a/fuzz/dns_name_fromtext_target.c b/fuzz/dns_name_fromtext_target.c index a9db90f16f6..ba9c7ab2a21 100644 --- a/fuzz/dns_name_fromtext_target.c +++ b/fuzz/dns_name_fromtext_target.c @@ -20,26 +20,33 @@ #include #include +#include "fuzz.h" + +bool debug = false; + int -LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + return (0); +} int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { isc_buffer_t buf; isc_result_t result; dns_fixedname_t origin; - char *de_const; - - if (size < 5) { - return (0); - } dns_fixedname_init(&origin); - DE_CONST(data, de_const); - isc_buffer_init(&buf, (void *)de_const, size); + + isc_buffer_constinit(&buf, data, size); isc_buffer_add(&buf, size); + isc_buffer_setactive(&buf, size); + result = dns_name_fromtext(dns_fixedname_name(&origin), &buf, dns_rootname, 0, NULL); - UNUSED(result); + if (debug) { + fprintf(stderr, "dns_name_fromtext: %s\n", + isc_result_totext(result)); + } return (0); } diff --git a/fuzz/dns_rdata_fromtext.c b/fuzz/dns_rdata_fromtext.c new file mode 100644 index 00000000000..82adc21623f --- /dev/null +++ b/fuzz/dns_rdata_fromtext.c @@ -0,0 +1,150 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "fuzz.h" + +bool debug = false; + +int +LLVMFuzzerInitialize(int *argc, char ***argv) { + UNUSED(argc); + UNUSED(argv); + return (0); +} + +/* following code was copied from named-rrchecker */ +isc_lexspecials_t specials = { ['('] = 1, [')'] = 1, ['"'] = 1 }; + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_mem_t *mctx = NULL; + isc_mem_create(&mctx); + + isc_lex_t *lex = NULL; + isc_token_t token; + + isc_result_t result; + unsigned int options = 0; + dns_rdatatype_t rdtype; + dns_rdataclass_t rdclass; + + char wiredata[64 * 1024]; + isc_buffer_t wirebuf; + isc_buffer_init(&wirebuf, wiredata, sizeof(wiredata)); + + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_name_t *name = NULL; + + isc_buffer_t inbuf; + isc_buffer_constinit(&inbuf, data, size); + isc_buffer_add(&inbuf, size); + isc_buffer_setactive(&inbuf, size); + + RUNTIME_CHECK(isc_lex_create(mctx, 256, &lex) == ISC_R_SUCCESS); + + /* + * Set up to lex DNS master file. + */ + isc_lex_setspecials(lex, specials); + options = ISC_LEXOPT_EOL; + isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE); + + RUNTIME_CHECK(isc_lex_openbuffer(lex, &inbuf) == ISC_R_SUCCESS); + + result = isc_lex_gettoken(lex, options | ISC_LEXOPT_NUMBER, &token); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + if (token.type == isc_tokentype_eof) { + goto cleanup; + } + if (token.type == isc_tokentype_eol) { + goto cleanup; + } + /* + * Get class. + */ + if (token.type == isc_tokentype_number) { + if (token.value.as_ulong > 0xffff) { + goto cleanup; + } + rdclass = (dns_rdataclass_t)token.value.as_ulong; + } else if (token.type == isc_tokentype_string) { + result = dns_rdataclass_fromtext(&rdclass, + &token.value.as_textregion); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + } else { + goto cleanup; + } + result = isc_lex_gettoken(lex, options | ISC_LEXOPT_NUMBER, &token); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + if (token.type == isc_tokentype_eol) { + goto cleanup; + } + if (token.type == isc_tokentype_eof) { + goto cleanup; + } + + /* + * Get type. + */ + if (token.type == isc_tokentype_number) { + if (token.value.as_ulong > 0xffff) { + goto cleanup; + } + rdtype = (dns_rdatatype_t)token.value.as_ulong; + } else if (token.type == isc_tokentype_string) { + result = dns_rdatatype_fromtext(&rdtype, + &token.value.as_textregion); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + } else { + goto cleanup; + } + + result = dns_rdata_fromtext(&rdata, rdclass, rdtype, lex, name, 0, mctx, + &wirebuf, NULL); + if (debug) { + fprintf(stderr, "dns_rdata_fromtext: %s\n", + isc_result_totext(result)); + } + +cleanup: + isc_lex_close(lex); + isc_lex_destroy(&lex); + isc_mem_destroy(&mctx); + return (0); +} diff --git a/fuzz/dns_rdata_fromtext.in/afsdb b/fuzz/dns_rdata_fromtext.in/afsdb new file mode 100644 index 00000000000..8fec03d3d8d --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/afsdb @@ -0,0 +1 @@ +IN AFSDB 0 hostname diff --git a/fuzz/dns_rdata_fromtext.in/amtrelay b/fuzz/dns_rdata_fromtext.in/amtrelay new file mode 100644 index 00000000000..d43121dfaf5 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/amtrelay @@ -0,0 +1 @@ +IN AMTRELAY 0 0 3 example.net. diff --git a/fuzz/dns_rdata_fromtext.in/any_tsig b/fuzz/dns_rdata_fromtext.in/any_tsig new file mode 100644 index 00000000000..bcf7fae27dd --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/any_tsig @@ -0,0 +1 @@ +ANY TSIG SAMPLE-ALG.EXAMPLE. 853804800 300 4 MTIzNA== 666 0 2 MDA= diff --git a/fuzz/dns_rdata_fromtext.in/avc b/fuzz/dns_rdata_fromtext.in/avc new file mode 100644 index 00000000000..362efcaee2c --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/avc @@ -0,0 +1 @@ +IN AVC foo:bar diff --git a/fuzz/dns_rdata_fromtext.in/caa b/fuzz/dns_rdata_fromtext.in/caa new file mode 100644 index 00000000000..fa09a60ddd4 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/caa @@ -0,0 +1 @@ +IN CAA 128 tbs "Unknown" diff --git a/fuzz/dns_rdata_fromtext.in/cdnskey b/fuzz/dns_rdata_fromtext.in/cdnskey new file mode 100644 index 00000000000..0f9fac73541 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/cdnskey @@ -0,0 +1 @@ +IN CDNSKEY 512 ( 255 1 AQMFD5raczCJHViKtLYhWGz8hMY 9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= ) diff --git a/fuzz/dns_rdata_fromtext.in/cds b/fuzz/dns_rdata_fromtext.in/cds new file mode 100644 index 00000000000..88d6121c2ea --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/cds @@ -0,0 +1 @@ +IN CDS 30795 1 1 ( 310D27F4D82C1FC2400704EA9939FE6E1CEA A3B9 ) diff --git a/fuzz/dns_rdata_fromtext.in/cert b/fuzz/dns_rdata_fromtext.in/cert new file mode 100644 index 00000000000..669ff44df44 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/cert @@ -0,0 +1 @@ +IN CERT 65534 65535 254 ( MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45I kskceFGgiWCn/GxHhai6VAuHAoNUz4YoU1t VfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= ) diff --git a/fuzz/dns_rdata_fromtext.in/ch_a b/fuzz/dns_rdata_fromtext.in/ch_a new file mode 100644 index 00000000000..bbadbf37aa9 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ch_a @@ -0,0 +1 @@ +CH A hostname. 1234 diff --git a/fuzz/dns_rdata_fromtext.in/class1234_type65533 b/fuzz/dns_rdata_fromtext.in/class1234_type65533 new file mode 100644 index 00000000000..ed30fb31f32 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/class1234_type65533 @@ -0,0 +1 @@ +CLASS1234 TYPE65533 \# 6 010203040506 diff --git a/fuzz/dns_rdata_fromtext.in/cname b/fuzz/dns_rdata_fromtext.in/cname new file mode 100644 index 00000000000..c9e00bf15ff --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/cname @@ -0,0 +1 @@ +IN CNAME cname-target diff --git a/fuzz/dns_rdata_fromtext.in/csync b/fuzz/dns_rdata_fromtext.in/csync new file mode 100644 index 00000000000..8d440f835a8 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/csync @@ -0,0 +1 @@ +IN CSYNC 0 0 A NS AAAA diff --git a/fuzz/dns_rdata_fromtext.in/dlv b/fuzz/dns_rdata_fromtext.in/dlv new file mode 100644 index 00000000000..9e39e6f023b --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/dlv @@ -0,0 +1 @@ +IN DLV 30795 1 1 ( 310D27F4D82C1FC2400704EA9939FE6E1CEA A3B9 ) diff --git a/fuzz/dns_rdata_fromtext.in/dname b/fuzz/dns_rdata_fromtext.in/dname new file mode 100644 index 00000000000..227404320b4 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/dname @@ -0,0 +1 @@ +IN DNAME dname-target. diff --git a/fuzz/dns_rdata_fromtext.in/dnskey b/fuzz/dns_rdata_fromtext.in/dnskey new file mode 100644 index 00000000000..93e85c30816 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/dnskey @@ -0,0 +1 @@ +IN DNSKEY 512 ( 255 1 AQMFD5raczCJHViKtLYhWGz8hMY 9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= ) diff --git a/fuzz/dns_rdata_fromtext.in/doa b/fuzz/dns_rdata_fromtext.in/doa new file mode 100644 index 00000000000..13b2b9b2562 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/doa @@ -0,0 +1 @@ +IN DOA 0 1 2 "" aHR0cHM6Ly93d3cuaXNjLm9yZy8= diff --git a/fuzz/dns_rdata_fromtext.in/ds b/fuzz/dns_rdata_fromtext.in/ds new file mode 100644 index 00000000000..616ae14239e --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ds @@ -0,0 +1 @@ +IN DS 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390 diff --git a/fuzz/dns_rdata_fromtext.in/eui48 b/fuzz/dns_rdata_fromtext.in/eui48 new file mode 100644 index 00000000000..9a506bda6f0 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/eui48 @@ -0,0 +1 @@ +IN EUI48 01-23-45-67-89-ab diff --git a/fuzz/dns_rdata_fromtext.in/eui64 b/fuzz/dns_rdata_fromtext.in/eui64 new file mode 100644 index 00000000000..ce06023f540 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/eui64 @@ -0,0 +1 @@ +IN EUI64 01-23-45-67-89-ab-cd-ef diff --git a/fuzz/dns_rdata_fromtext.in/gid b/fuzz/dns_rdata_fromtext.in/gid new file mode 100644 index 00000000000..c72ccf986fe --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/gid @@ -0,0 +1 @@ +IN GID \# 1 03 diff --git a/fuzz/dns_rdata_fromtext.in/gpos b/fuzz/dns_rdata_fromtext.in/gpos new file mode 100644 index 00000000000..7c4c050dd4c --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/gpos @@ -0,0 +1 @@ +IN GPOS -22.6882 116.8652 250.0 diff --git a/fuzz/dns_rdata_fromtext.in/hinfo b/fuzz/dns_rdata_fromtext.in/hinfo new file mode 100644 index 00000000000..c43de49ea37 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/hinfo @@ -0,0 +1 @@ +IN HINFO "Generic PC clone" "NetBSD-1.4" diff --git a/fuzz/dns_rdata_fromtext.in/hip b/fuzz/dns_rdata_fromtext.in/hip new file mode 100644 index 00000000000..385a522a2c0 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/hip @@ -0,0 +1 @@ +IN HIP ( 2 200100107B1A74DF365639CC39F1D578 AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D ) diff --git a/fuzz/dns_rdata_fromtext.in/hs_a b/fuzz/dns_rdata_fromtext.in/hs_a new file mode 100644 index 00000000000..4d9da2c4382 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/hs_a @@ -0,0 +1 @@ +HS A 192.0.2.1 diff --git a/fuzz/dns_rdata_fromtext.in/in_a b/fuzz/dns_rdata_fromtext.in/in_a new file mode 100644 index 00000000000..f9ffd67355a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_a @@ -0,0 +1 @@ +IN A 255.255.255.255 diff --git a/fuzz/dns_rdata_fromtext.in/in_a6 b/fuzz/dns_rdata_fromtext.in/in_a6 new file mode 100644 index 00000000000..8e91e2a6053 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_a6 @@ -0,0 +1 @@ +IN A6 127 ::1 foo. diff --git a/fuzz/dns_rdata_fromtext.in/in_aaaa b/fuzz/dns_rdata_fromtext.in/in_aaaa new file mode 100644 index 00000000000..2341d4f1064 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_aaaa @@ -0,0 +1 @@ +IN AAAA fd92:7065:b8e:ffff::5 diff --git a/fuzz/dns_rdata_fromtext.in/in_apl b/fuzz/dns_rdata_fromtext.in/in_apl new file mode 100644 index 00000000000..dc32bd0a359 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_apl @@ -0,0 +1 @@ +IN APL !1:10.0.0.1/32 1:10.0.0.0/24 diff --git a/fuzz/dns_rdata_fromtext.in/in_atma b/fuzz/dns_rdata_fromtext.in/in_atma new file mode 100644 index 00000000000..1febbf4c6da --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_atma @@ -0,0 +1 @@ +IN ATMA +61.2.0000.0000 diff --git a/fuzz/dns_rdata_fromtext.in/in_dhcid b/fuzz/dns_rdata_fromtext.in/in_dhcid new file mode 100644 index 00000000000..07321529806 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_dhcid @@ -0,0 +1 @@ +IN DHCID ( AAABxLmlskllE0MVjd57zHcWmEH3pCQ6V ytcKD//7es/deY= ) diff --git a/fuzz/dns_rdata_fromtext.in/in_eid b/fuzz/dns_rdata_fromtext.in/in_eid new file mode 100644 index 00000000000..e18f2258318 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_eid @@ -0,0 +1 @@ +IN EID 12 89 AB diff --git a/fuzz/dns_rdata_fromtext.in/in_kx b/fuzz/dns_rdata_fromtext.in/in_kx new file mode 100644 index 00000000000..48c0e155b96 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_kx @@ -0,0 +1 @@ +IN KX 10 kdc diff --git a/fuzz/dns_rdata_fromtext.in/in_nimloc b/fuzz/dns_rdata_fromtext.in/in_nimloc new file mode 100644 index 00000000000..41c6f7b502e --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_nimloc @@ -0,0 +1 @@ +IN NIMLOC 12 89 AB diff --git a/fuzz/dns_rdata_fromtext.in/in_nsap b/fuzz/dns_rdata_fromtext.in/in_nsap new file mode 100644 index 00000000000..8a7a92705a3 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_nsap @@ -0,0 +1 @@ +IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000164.00 diff --git a/fuzz/dns_rdata_fromtext.in/in_nsap_ptr b/fuzz/dns_rdata_fromtext.in/in_nsap_ptr new file mode 100644 index 00000000000..dc683c7470a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_nsap_ptr @@ -0,0 +1 @@ +IN NSAP-PTR foo. diff --git a/fuzz/dns_rdata_fromtext.in/in_px b/fuzz/dns_rdata_fromtext.in/in_px new file mode 100644 index 00000000000..1e6c98b0116 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_px @@ -0,0 +1 @@ +IN PX 65535 foo. bar. diff --git a/fuzz/dns_rdata_fromtext.in/in_srv b/fuzz/dns_rdata_fromtext.in/in_srv new file mode 100644 index 00000000000..ed3f929f0ed --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_srv @@ -0,0 +1 @@ +IN SRV 65535 65535 65535 old-slow-box diff --git a/fuzz/dns_rdata_fromtext.in/in_wks b/fuzz/dns_rdata_fromtext.in/in_wks new file mode 100644 index 00000000000..a9c96580a74 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/in_wks @@ -0,0 +1 @@ +IN WKS 10.0.0.1 tcp telnet ftp 0 1 2 diff --git a/fuzz/dns_rdata_fromtext.in/ipseckey b/fuzz/dns_rdata_fromtext.in/ipseckey new file mode 100644 index 00000000000..14dbb7f4427 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ipseckey @@ -0,0 +1 @@ +IN IPSECKEY ( 10 3 2 mygateway.example.com. AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ== ) diff --git a/fuzz/dns_rdata_fromtext.in/isdn b/fuzz/dns_rdata_fromtext.in/isdn new file mode 100644 index 00000000000..c3cc968c188 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/isdn @@ -0,0 +1 @@ +IN ISDN "isdn-address" "subaddress" diff --git a/fuzz/dns_rdata_fromtext.in/key b/fuzz/dns_rdata_fromtext.in/key new file mode 100644 index 00000000000..91323a8f77e --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/key @@ -0,0 +1 @@ +IN KEY 512 ( 255 1 AQMFD5raczCJHViKtLYhWGz8hMY 9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= ) diff --git a/fuzz/dns_rdata_fromtext.in/keydata b/fuzz/dns_rdata_fromtext.in/keydata new file mode 100644 index 00000000000..b67e3aa6a86 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/keydata @@ -0,0 +1 @@ +IN KEYDATA 20210101000000 20380101000000 20380101000000 KSK DNSSEC ED448 ZXh0cmE= diff --git a/fuzz/dns_rdata_fromtext.in/l32 b/fuzz/dns_rdata_fromtext.in/l32 new file mode 100644 index 00000000000..c315e9cea4f --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/l32 @@ -0,0 +1 @@ +IN L32 10 1.2.3.4 diff --git a/fuzz/dns_rdata_fromtext.in/l64 b/fuzz/dns_rdata_fromtext.in/l64 new file mode 100644 index 00000000000..673f0a2d4ad --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/l64 @@ -0,0 +1 @@ +IN L64 10 0014:4fff:ff20:ee64 diff --git a/fuzz/dns_rdata_fromtext.in/loc b/fuzz/dns_rdata_fromtext.in/loc new file mode 100644 index 00000000000..413a5a81d8d --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/loc @@ -0,0 +1 @@ +IN LOC 60 09 00.000 N 24 39 00.000 E 10.00m 20.00m ( 2000.00m 20.00m ) diff --git a/fuzz/dns_rdata_fromtext.in/lp b/fuzz/dns_rdata_fromtext.in/lp new file mode 100644 index 00000000000..1b217522157 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/lp @@ -0,0 +1 @@ +IN LP 10 example.net. diff --git a/fuzz/dns_rdata_fromtext.in/mb b/fuzz/dns_rdata_fromtext.in/mb new file mode 100644 index 00000000000..adc9470a3b3 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/mb @@ -0,0 +1 @@ +IN MB madname. diff --git a/fuzz/dns_rdata_fromtext.in/md b/fuzz/dns_rdata_fromtext.in/md new file mode 100644 index 00000000000..f6996e028ac --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/md @@ -0,0 +1 @@ +IN MD madname diff --git a/fuzz/dns_rdata_fromtext.in/mf b/fuzz/dns_rdata_fromtext.in/mf new file mode 100644 index 00000000000..3dc3bc206e8 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/mf @@ -0,0 +1 @@ +IN MF madname diff --git a/fuzz/dns_rdata_fromtext.in/mg b/fuzz/dns_rdata_fromtext.in/mg new file mode 100644 index 00000000000..83ff2bc2f28 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/mg @@ -0,0 +1 @@ +IN MG mgmname diff --git a/fuzz/dns_rdata_fromtext.in/minfo b/fuzz/dns_rdata_fromtext.in/minfo new file mode 100644 index 00000000000..e64d9253c0a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/minfo @@ -0,0 +1 @@ +IN MINFO rmailbx emailbx diff --git a/fuzz/dns_rdata_fromtext.in/mr b/fuzz/dns_rdata_fromtext.in/mr new file mode 100644 index 00000000000..ca058b81247 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/mr @@ -0,0 +1 @@ +IN MR mrname diff --git a/fuzz/dns_rdata_fromtext.in/mx b/fuzz/dns_rdata_fromtext.in/mx new file mode 100644 index 00000000000..3d1dcdbf7f2 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/mx @@ -0,0 +1 @@ +IN MX 10 mail diff --git a/fuzz/dns_rdata_fromtext.in/naptr b/fuzz/dns_rdata_fromtext.in/naptr new file mode 100644 index 00000000000..248960098c2 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/naptr @@ -0,0 +1 @@ +IN NAPTR 65535 65535 "blurgh" "blorf" "blllbb" foo. diff --git a/fuzz/dns_rdata_fromtext.in/nid b/fuzz/dns_rdata_fromtext.in/nid new file mode 100644 index 00000000000..f011125ae95 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/nid @@ -0,0 +1 @@ +IN NID 10 0014:4fff:ff20:ee64 diff --git a/fuzz/dns_rdata_fromtext.in/ninfo b/fuzz/dns_rdata_fromtext.in/ninfo new file mode 100644 index 00000000000..4d58d28a70a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ninfo @@ -0,0 +1 @@ +IN NINFO "foo\032bar" diff --git a/fuzz/dns_rdata_fromtext.in/ns b/fuzz/dns_rdata_fromtext.in/ns new file mode 100644 index 00000000000..da0bca2d4f0 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ns @@ -0,0 +1 @@ +IN NS ns43 diff --git a/fuzz/dns_rdata_fromtext.in/nsec b/fuzz/dns_rdata_fromtext.in/nsec new file mode 100644 index 00000000000..8cbd1e8c344 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/nsec @@ -0,0 +1 @@ +IN NSEC a.secure.nil. ( NS SOA MX RRSIG DNSKEY LOC NSEC ) diff --git a/fuzz/dns_rdata_fromtext.in/nsec3 b/fuzz/dns_rdata_fromtext.in/nsec3 new file mode 100644 index 00000000000..bc615a115dd --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/nsec3 @@ -0,0 +1 @@ +IN NSEC3 1 0 10 D2CF0294C020CE6C 8FPNS2UCT7FBS643THP2B77PEQ77K6IU A NS SOA MX AAAA RRSIG DNSKEY NSEC3PARAM diff --git a/fuzz/dns_rdata_fromtext.in/nsec3param b/fuzz/dns_rdata_fromtext.in/nsec3param new file mode 100644 index 00000000000..414f44ddf35 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/nsec3param @@ -0,0 +1 @@ +IN NSEC3PARAM 1 0 1 868BCF7ED4108929 diff --git a/fuzz/dns_rdata_fromtext.in/null b/fuzz/dns_rdata_fromtext.in/null new file mode 100644 index 00000000000..bebe0696385 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/null @@ -0,0 +1 @@ +IN NULL diff --git a/fuzz/dns_rdata_fromtext.in/nxt b/fuzz/dns_rdata_fromtext.in/nxt new file mode 100644 index 00000000000..9f4d243a493 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/nxt @@ -0,0 +1 @@ +IN NXT a.secure.nil. ( NS SOA MX RRSIG KEY LOC NXT ) diff --git a/fuzz/dns_rdata_fromtext.in/openpgpkey b/fuzz/dns_rdata_fromtext.in/openpgpkey new file mode 100644 index 00000000000..4c99b65b72d --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/openpgpkey @@ -0,0 +1 @@ +IN OPENPGPKEY ( AQMFD5raczCJHViKtLYhWGz8hMY 9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= ) diff --git a/fuzz/dns_rdata_fromtext.in/opt b/fuzz/dns_rdata_fromtext.in/opt new file mode 100644 index 00000000000..b391304bda2 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/opt @@ -0,0 +1 @@ +ANY OPT unsupported diff --git a/fuzz/dns_rdata_fromtext.in/ptr b/fuzz/dns_rdata_fromtext.in/ptr new file mode 100644 index 00000000000..040dc3b3bb2 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ptr @@ -0,0 +1 @@ +IN PTR @ diff --git a/fuzz/dns_rdata_fromtext.in/rkey b/fuzz/dns_rdata_fromtext.in/rkey new file mode 100644 index 00000000000..fc59f3ac7ad --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/rkey @@ -0,0 +1 @@ +IN RKEY 0 ( 255 1 AQMFD5raczCJHViKtLYhWGz8hMY 9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= ) diff --git a/fuzz/dns_rdata_fromtext.in/rp b/fuzz/dns_rdata_fromtext.in/rp new file mode 100644 index 00000000000..04e65c2f784 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/rp @@ -0,0 +1 @@ +IN RP mbox-dname txt-dname diff --git a/fuzz/dns_rdata_fromtext.in/rrsig b/fuzz/dns_rdata_fromtext.in/rrsig new file mode 100644 index 00000000000..53819d018ec --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/rrsig @@ -0,0 +1 @@ +IN RRSIG NSEC 1 3 ( 3600 20000102030405 19961211100908 2143 foo.nil. MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45I kskceFGgiWCn/GxHhai6VAuHAoNUz4YoU1t VfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= ) diff --git a/fuzz/dns_rdata_fromtext.in/rt b/fuzz/dns_rdata_fromtext.in/rt new file mode 100644 index 00000000000..32686381f7a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/rt @@ -0,0 +1 @@ +IN RT 0 intermediate-host diff --git a/fuzz/dns_rdata_fromtext.in/sig b/fuzz/dns_rdata_fromtext.in/sig new file mode 100644 index 00000000000..f92bd7083ba --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/sig @@ -0,0 +1 @@ +IN SIG NXT 1 3 ( 3600 20000102030405 19961211100908 2143 foo.nil. MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45I kskceFGgiWCn/GxHhai6VAuHAoNUz4YoU1t VfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= ) diff --git a/fuzz/dns_rdata_fromtext.in/sink b/fuzz/dns_rdata_fromtext.in/sink new file mode 100644 index 00000000000..a85cc45ea4f --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/sink @@ -0,0 +1 @@ +IN SINK 8 0 2 l4ik diff --git a/fuzz/dns_rdata_fromtext.in/smimea b/fuzz/dns_rdata_fromtext.in/smimea new file mode 100644 index 00000000000..95107a1bcc2 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/smimea @@ -0,0 +1 @@ +IN SMIMEA ( 1 1 2 92003ba34942dc74152e2f2c408d29ec a5a520e7f2e06bb944f4dca346baf63c 1b177615d466f6c4b71c216a50292bd5 8c9ebdd2f74e38fe51ffd48c43326cbc ) diff --git a/fuzz/dns_rdata_fromtext.in/soa b/fuzz/dns_rdata_fromtext.in/soa new file mode 100644 index 00000000000..d3a677c4b1e --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/soa @@ -0,0 +1 @@ +IN SOA a.test. hostmaster.null. 1613723740 900 300 604800 900 diff --git a/fuzz/dns_rdata_fromtext.in/spf b/fuzz/dns_rdata_fromtext.in/spf new file mode 100644 index 00000000000..a15ca1616ce --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/spf @@ -0,0 +1 @@ +IN SPF "v=spf1" " -all" diff --git a/fuzz/dns_rdata_fromtext.in/sshfp b/fuzz/dns_rdata_fromtext.in/sshfp new file mode 100644 index 00000000000..bc15aa464f4 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/sshfp @@ -0,0 +1 @@ +IN SSHFP 4 2 C76D8329954DA2835751E371544E963EFDA099080D6C58DD2BFD9A31 6E162C83 diff --git a/fuzz/dns_rdata_fromtext.in/ta b/fuzz/dns_rdata_fromtext.in/ta new file mode 100644 index 00000000000..429d4263f34 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/ta @@ -0,0 +1 @@ +IN TA 30795 1 1 ( 310D27F4D82C1FC2400704EA9939FE6E1CEA A3B9 ) diff --git a/fuzz/dns_rdata_fromtext.in/talink b/fuzz/dns_rdata_fromtext.in/talink new file mode 100644 index 00000000000..1788a622835 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/talink @@ -0,0 +1 @@ +IN TALINK . talink1 diff --git a/fuzz/dns_rdata_fromtext.in/tkey b/fuzz/dns_rdata_fromtext.in/tkey new file mode 100644 index 00000000000..eb38e20181a --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/tkey @@ -0,0 +1 @@ +IN TKEY algo.test. 0 0 0 0 2 MjI= 1 MQ== diff --git a/fuzz/dns_rdata_fromtext.in/tlsa b/fuzz/dns_rdata_fromtext.in/tlsa new file mode 100644 index 00000000000..0b65f21abec --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/tlsa @@ -0,0 +1 @@ +IN TLSA ( 0 0 1 d2abde240d7cd3ee6b4b28c54df034b9 7983a1d16e8a410e4561cb106618e971 ) diff --git a/fuzz/dns_rdata_fromtext.in/txt b/fuzz/dns_rdata_fromtext.in/txt new file mode 100644 index 00000000000..a20b12871ad --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/txt @@ -0,0 +1 @@ +IN TXT "\"foo\010bar\"" diff --git a/fuzz/dns_rdata_fromtext.in/uid b/fuzz/dns_rdata_fromtext.in/uid new file mode 100644 index 00000000000..7f662f1bbcb --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/uid @@ -0,0 +1 @@ +IN UID \# 1 02 diff --git a/fuzz/dns_rdata_fromtext.in/uinfo b/fuzz/dns_rdata_fromtext.in/uinfo new file mode 100644 index 00000000000..ec979be2559 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/uinfo @@ -0,0 +1 @@ +IN UINFO \# 1 01 diff --git a/fuzz/dns_rdata_fromtext.in/unspec b/fuzz/dns_rdata_fromtext.in/unspec new file mode 100644 index 00000000000..579eea635a8 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/unspec @@ -0,0 +1 @@ +IN UNSPEC \# 1 04 diff --git a/fuzz/dns_rdata_fromtext.in/uri b/fuzz/dns_rdata_fromtext.in/uri new file mode 100644 index 00000000000..94971091f00 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/uri @@ -0,0 +1 @@ +IN URI 10 20 "https://www.isc.org/" diff --git a/fuzz/dns_rdata_fromtext.in/x25 b/fuzz/dns_rdata_fromtext.in/x25 new file mode 100644 index 00000000000..1a60ed71554 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/x25 @@ -0,0 +1 @@ +IN X25 "123456789" diff --git a/fuzz/dns_rdata_fromtext.in/zonemd b/fuzz/dns_rdata_fromtext.in/zonemd new file mode 100644 index 00000000000..539bb5ef4e8 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/zonemd @@ -0,0 +1 @@ +IN ZONEMD 2019020700 1 0 ( C220B8A6ED5728A971902F7E3D4FD93A DEEA88B0453C2E8E8C863D465AB06CF3 4EB95B266398C98B59124FA239CB7EEB ) diff --git a/fuzz/dns_rdata_fromwire_text.c b/fuzz/dns_rdata_fromwire_text.c index d60d3700b33..f05ddd4be5f 100644 --- a/fuzz/dns_rdata_fromwire_text.c +++ b/fuzz/dns_rdata_fromwire_text.c @@ -28,13 +28,9 @@ #include #include -#define CHECK(x) \ - ({ \ - if ((result = (x)) != ISC_R_SUCCESS) \ - goto done; \ - }) +#include "fuzz.h" -extern bool debug; +bool debug = false; /* * Fuzz input to dns_rdata_fromwire(). Then convert the result @@ -42,8 +38,27 @@ extern bool debug; * format again, checking for consistency throughout the sequence. */ +static isc_mem_t *mctx = NULL; +static isc_lex_t *lex = NULL; + int -LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_lexspecials_t specials; + + isc_mem_create(&mctx); + CHECK(isc_lex_create(mctx, 64, &lex)); + + memset(specials, 0, sizeof(specials)); + specials[0] = 1; + specials['('] = 1; + specials[')'] = 1; + specials['"'] = 1; + isc_lex_setspecials(lex, specials); + isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE); + + return (0); +} static void nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) { @@ -74,9 +89,6 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { rdata3 = DNS_RDATA_INIT; dns_rdatacallbacks_t callbacks; isc_buffer_t source, target; - isc_lex_t *lex = NULL; - isc_lexspecials_t specials; - isc_mem_t *mctx = NULL; isc_result_t result; unsigned char fromtext[1024]; unsigned char fromwire[1024]; @@ -116,17 +128,6 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { rdclass = classlist[(*data++) % classes]; size--; - isc_mem_create(&mctx); - - CHECK(isc_lex_create(mctx, 64, &lex)); - memset(specials, 0, sizeof(specials)); - specials[0] = 1; - specials['('] = 1; - specials[')'] = 1; - specials['"'] = 1; - isc_lex_setspecials(lex, specials); - isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE); - if (debug) { fprintf(stderr, "type=%u, class=%u\n", rdtype, rdclass); } @@ -214,12 +215,5 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { assert(target.used == size); assert(!memcmp(target.base, data, size)); -done: - if (lex != NULL) { - isc_lex_destroy(&lex); - } - if (lex != NULL) { - isc_mem_detach(&mctx); - } return (0); } diff --git a/fuzz/dns_rdata_fromwire_text.in/cdnskey b/fuzz/dns_rdata_fromwire_text.in/cdnskey index 9eb47d5691e..deed8429ac6 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/cdnskey and b/fuzz/dns_rdata_fromwire_text.in/cdnskey differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-0 b/fuzz/dns_rdata_fromwire_text.in/input-0 deleted file mode 100644 index 67264cfff8f..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-0 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-1 b/fuzz/dns_rdata_fromwire_text.in/input-1 deleted file mode 100644 index ae8e0b9aa0a..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-1 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-10 b/fuzz/dns_rdata_fromwire_text.in/input-10 deleted file mode 100644 index 2a393486d32..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-10 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-100 b/fuzz/dns_rdata_fromwire_text.in/input-100 deleted file mode 100644 index 5a527cd45c3..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-100 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-101 b/fuzz/dns_rdata_fromwire_text.in/input-101 index 1d3d6a2ced4..a4f256bcb18 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-101 and b/fuzz/dns_rdata_fromwire_text.in/input-101 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-102 b/fuzz/dns_rdata_fromwire_text.in/input-102 index b800c4c6298..a8c81c0cbc1 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-102 and b/fuzz/dns_rdata_fromwire_text.in/input-102 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-103 b/fuzz/dns_rdata_fromwire_text.in/input-103 index c0ca9c0485d..37ca50eeead 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-103 and b/fuzz/dns_rdata_fromwire_text.in/input-103 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-104 b/fuzz/dns_rdata_fromwire_text.in/input-104 deleted file mode 100644 index 5c39be46744..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-104 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-105 b/fuzz/dns_rdata_fromwire_text.in/input-105 deleted file mode 100644 index 754d0f2e96f..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-105 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-106 b/fuzz/dns_rdata_fromwire_text.in/input-106 deleted file mode 100644 index af4bdc5de0c..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-106 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-107 b/fuzz/dns_rdata_fromwire_text.in/input-107 deleted file mode 100644 index 8ddc50251d5..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-107 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-108 b/fuzz/dns_rdata_fromwire_text.in/input-108 index a328093ddf8..935b3a7fb15 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-108 and b/fuzz/dns_rdata_fromwire_text.in/input-108 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-109 b/fuzz/dns_rdata_fromwire_text.in/input-109 deleted file mode 100644 index b566c0b9e77..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-109 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-11 b/fuzz/dns_rdata_fromwire_text.in/input-11 deleted file mode 100644 index 21ca6193e56..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-11 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-110 b/fuzz/dns_rdata_fromwire_text.in/input-110 deleted file mode 100644 index b55551a084e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-110 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-111 b/fuzz/dns_rdata_fromwire_text.in/input-111 deleted file mode 100644 index 7e4fcd14fdb..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-111 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-112 b/fuzz/dns_rdata_fromwire_text.in/input-112 deleted file mode 100644 index c351052fa15..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-112 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-113 b/fuzz/dns_rdata_fromwire_text.in/input-113 deleted file mode 100644 index 6159786a7d9..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-113 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-114 b/fuzz/dns_rdata_fromwire_text.in/input-114 deleted file mode 100644 index a709d515570..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-114 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-115 b/fuzz/dns_rdata_fromwire_text.in/input-115 deleted file mode 100644 index a6a21c1d1d4..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-115 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-116 b/fuzz/dns_rdata_fromwire_text.in/input-116 deleted file mode 100644 index 248105bff65..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-116 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-117 b/fuzz/dns_rdata_fromwire_text.in/input-117 deleted file mode 100644 index 82fe40395c6..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-117 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-118 b/fuzz/dns_rdata_fromwire_text.in/input-118 deleted file mode 100644 index 0b6136e7357..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-118 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-119 b/fuzz/dns_rdata_fromwire_text.in/input-119 deleted file mode 100644 index bb8cd988a9e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-119 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-12 b/fuzz/dns_rdata_fromwire_text.in/input-12 index e51156bdae4..ed6219671af 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-12 and b/fuzz/dns_rdata_fromwire_text.in/input-12 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-120 b/fuzz/dns_rdata_fromwire_text.in/input-120 deleted file mode 100644 index 0e0b607a18f..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-120 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-121 b/fuzz/dns_rdata_fromwire_text.in/input-121 deleted file mode 100644 index 8671167ea44..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-121 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-122 b/fuzz/dns_rdata_fromwire_text.in/input-122 deleted file mode 100644 index 90d058c86a9..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-122 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-123 b/fuzz/dns_rdata_fromwire_text.in/input-123 index 9728ae93f29..bd71cfa4bad 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-123 and b/fuzz/dns_rdata_fromwire_text.in/input-123 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-124 b/fuzz/dns_rdata_fromwire_text.in/input-124 deleted file mode 100644 index 7a548018a09..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-124 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-125 b/fuzz/dns_rdata_fromwire_text.in/input-125 deleted file mode 100644 index 90e21755ef8..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-125 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-126 b/fuzz/dns_rdata_fromwire_text.in/input-126 deleted file mode 100644 index 04a84f4273e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-126 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-127 b/fuzz/dns_rdata_fromwire_text.in/input-127 deleted file mode 100644 index b7b8446bcd9..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-127 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-128 b/fuzz/dns_rdata_fromwire_text.in/input-128 index bd581cd68ec..9c80f95128e 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-128 and b/fuzz/dns_rdata_fromwire_text.in/input-128 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-129 b/fuzz/dns_rdata_fromwire_text.in/input-129 deleted file mode 100644 index f80c6690223..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-129 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-13 b/fuzz/dns_rdata_fromwire_text.in/input-13 deleted file mode 100644 index 0c4f452f8ca..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-13 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-130 b/fuzz/dns_rdata_fromwire_text.in/input-130 index 00d9438a81f..ae6604ce094 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-130 and b/fuzz/dns_rdata_fromwire_text.in/input-130 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-131 b/fuzz/dns_rdata_fromwire_text.in/input-131 deleted file mode 100644 index b5377d3ec79..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-131 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-132 b/fuzz/dns_rdata_fromwire_text.in/input-132 deleted file mode 100644 index 2866ed09135..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-132 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-133 b/fuzz/dns_rdata_fromwire_text.in/input-133 deleted file mode 100644 index d6ca8c88b5e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-133 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-134 b/fuzz/dns_rdata_fromwire_text.in/input-134 index bee8307e74a..7e9b9a1966d 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-134 and b/fuzz/dns_rdata_fromwire_text.in/input-134 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-135 b/fuzz/dns_rdata_fromwire_text.in/input-135 deleted file mode 100644 index 91efead9317..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-135 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-136 b/fuzz/dns_rdata_fromwire_text.in/input-136 deleted file mode 100644 index f7b184300f2..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-136 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-137 b/fuzz/dns_rdata_fromwire_text.in/input-137 deleted file mode 100644 index 2bd706657da..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-137 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-138 b/fuzz/dns_rdata_fromwire_text.in/input-138 deleted file mode 100644 index ea083403233..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-138 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-139 b/fuzz/dns_rdata_fromwire_text.in/input-139 deleted file mode 100644 index e95cbf5df10..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-139 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-14 b/fuzz/dns_rdata_fromwire_text.in/input-14 deleted file mode 100644 index bde6b15aeff..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-14 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-140 b/fuzz/dns_rdata_fromwire_text.in/input-140 deleted file mode 100644 index 25be40891da..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-140 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-141 b/fuzz/dns_rdata_fromwire_text.in/input-141 deleted file mode 100644 index 0b2d0d6b740..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-141 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-142 b/fuzz/dns_rdata_fromwire_text.in/input-142 deleted file mode 100644 index ca87de0eb38..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-142 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-143 b/fuzz/dns_rdata_fromwire_text.in/input-143 index 1a3e0ac308b..40d79d04b60 100644 --- a/fuzz/dns_rdata_fromwire_text.in/input-143 +++ b/fuzz/dns_rdata_fromwire_text.in/input-143 @@ -1 +1 @@ -d$3ÿê \ No newline at end of file +d000ÿê \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-15 b/fuzz/dns_rdata_fromwire_text.in/input-15 index 72df49cc28a..b0c21b317eb 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-15 and b/fuzz/dns_rdata_fromwire_text.in/input-15 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-16 b/fuzz/dns_rdata_fromwire_text.in/input-16 index b80f63ff253..18226487d49 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-16 and b/fuzz/dns_rdata_fromwire_text.in/input-16 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-17 b/fuzz/dns_rdata_fromwire_text.in/input-17 deleted file mode 100644 index cc63d40d531..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-17 +++ /dev/null @@ -1 +0,0 @@ -d®#®®®®®®®®®®®®®®®®®®®®®Ä®®®®®d®®®®®d \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-18 b/fuzz/dns_rdata_fromwire_text.in/input-18 deleted file mode 100644 index 4a0d214a9b7..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-18 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-19 b/fuzz/dns_rdata_fromwire_text.in/input-19 deleted file mode 100644 index 4ef39ef10a8..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-19 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-2 b/fuzz/dns_rdata_fromwire_text.in/input-2 deleted file mode 100644 index cecf9233942..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-2 +++ /dev/null @@ -1 +0,0 @@ -4A-ò \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-20 b/fuzz/dns_rdata_fromwire_text.in/input-20 deleted file mode 100644 index 52c3851a3cf..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-20 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-21 b/fuzz/dns_rdata_fromwire_text.in/input-21 deleted file mode 100644 index 0cc97d6dde7..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-21 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-22 b/fuzz/dns_rdata_fromwire_text.in/input-22 index d993d4821ce..7459c2753e9 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-22 and b/fuzz/dns_rdata_fromwire_text.in/input-22 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-23 b/fuzz/dns_rdata_fromwire_text.in/input-23 index 38cbee653b7..0a8a5b11338 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-23 and b/fuzz/dns_rdata_fromwire_text.in/input-23 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-24 b/fuzz/dns_rdata_fromwire_text.in/input-24 index a45779ed7cf..e2352e83f20 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-24 and b/fuzz/dns_rdata_fromwire_text.in/input-24 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-25 b/fuzz/dns_rdata_fromwire_text.in/input-25 index 2d9f2cea3dd..3f9f2697ac8 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-25 and b/fuzz/dns_rdata_fromwire_text.in/input-25 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-26 b/fuzz/dns_rdata_fromwire_text.in/input-26 index a392076a7dd..01f9b44ee76 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-26 and b/fuzz/dns_rdata_fromwire_text.in/input-26 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-27 b/fuzz/dns_rdata_fromwire_text.in/input-27 index f75f8d9da51..a0e69dcae0b 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-27 and b/fuzz/dns_rdata_fromwire_text.in/input-27 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-28 b/fuzz/dns_rdata_fromwire_text.in/input-28 deleted file mode 100644 index 005ae77884d..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-28 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-29 b/fuzz/dns_rdata_fromwire_text.in/input-29 deleted file mode 100644 index b9c69e13f57..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-29 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-3 b/fuzz/dns_rdata_fromwire_text.in/input-3 deleted file mode 100644 index 606dc1b33b4..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-3 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-30 b/fuzz/dns_rdata_fromwire_text.in/input-30 deleted file mode 100644 index e106d542ecf..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-30 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-31 b/fuzz/dns_rdata_fromwire_text.in/input-31 deleted file mode 100644 index dc5bf2bd28e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-31 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-32 b/fuzz/dns_rdata_fromwire_text.in/input-32 deleted file mode 100644 index 1297a7eb18d..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-32 +++ /dev/null @@ -1 +0,0 @@ -déé \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-33 b/fuzz/dns_rdata_fromwire_text.in/input-33 index b6d57bb935f..958f3f6b258 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-33 and b/fuzz/dns_rdata_fromwire_text.in/input-33 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-34 b/fuzz/dns_rdata_fromwire_text.in/input-34 index fef669d311b..f00f99ebc98 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-34 and b/fuzz/dns_rdata_fromwire_text.in/input-34 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-35 b/fuzz/dns_rdata_fromwire_text.in/input-35 index 94a4a376ebe..871ac3b37fa 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-35 and b/fuzz/dns_rdata_fromwire_text.in/input-35 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-36 b/fuzz/dns_rdata_fromwire_text.in/input-36 index dab603cc986..a69afb75c8c 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-36 and b/fuzz/dns_rdata_fromwire_text.in/input-36 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-37 b/fuzz/dns_rdata_fromwire_text.in/input-37 deleted file mode 100644 index 51f41247982..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-37 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-38 b/fuzz/dns_rdata_fromwire_text.in/input-38 deleted file mode 100644 index 1ad3023e592..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-38 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-39 b/fuzz/dns_rdata_fromwire_text.in/input-39 deleted file mode 100644 index b8dfecd851d..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-39 +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-4 b/fuzz/dns_rdata_fromwire_text.in/input-4 deleted file mode 100644 index ae6730e3df4..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-4 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-40 b/fuzz/dns_rdata_fromwire_text.in/input-40 deleted file mode 100644 index 5ab35573b31..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-40 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-41 b/fuzz/dns_rdata_fromwire_text.in/input-41 deleted file mode 100644 index ea33ca74720..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-41 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-42 b/fuzz/dns_rdata_fromwire_text.in/input-42 deleted file mode 100644 index eb63067e584..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-42 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-43 b/fuzz/dns_rdata_fromwire_text.in/input-43 deleted file mode 100644 index 9aa3747ab2f..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-43 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-44 b/fuzz/dns_rdata_fromwire_text.in/input-44 deleted file mode 100644 index bdc8b9d3459..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-44 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-45 b/fuzz/dns_rdata_fromwire_text.in/input-45 deleted file mode 100644 index e6966b51bc7..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-45 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-46 b/fuzz/dns_rdata_fromwire_text.in/input-46 deleted file mode 100644 index 11564242757..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-46 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-47 b/fuzz/dns_rdata_fromwire_text.in/input-47 index b499172b0c9..876dcc826fd 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-47 and b/fuzz/dns_rdata_fromwire_text.in/input-47 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-48 b/fuzz/dns_rdata_fromwire_text.in/input-48 deleted file mode 100644 index 7ab447b3735..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-48 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-49 b/fuzz/dns_rdata_fromwire_text.in/input-49 index ab5e3b0873f..a970d77d2e8 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-49 and b/fuzz/dns_rdata_fromwire_text.in/input-49 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-5 b/fuzz/dns_rdata_fromwire_text.in/input-5 index 4f0acdc444a..0dfa9ed36aa 100644 --- a/fuzz/dns_rdata_fromwire_text.in/input-5 +++ b/fuzz/dns_rdata_fromwire_text.in/input-5 @@ -1 +1 @@ -„Ë›› \ No newline at end of file +„00 \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-50 b/fuzz/dns_rdata_fromwire_text.in/input-50 index 5f43a46747d..c28c3da8717 100644 --- a/fuzz/dns_rdata_fromwire_text.in/input-50 +++ b/fuzz/dns_rdata_fromwire_text.in/input-50 @@ -1 +1 @@ -µ|8‡‡¶|¶|8¶|¶|8 \ No newline at end of file +µ000| \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-51 b/fuzz/dns_rdata_fromwire_text.in/input-51 index 880c12c49a1..3f62457ae60 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-51 and b/fuzz/dns_rdata_fromwire_text.in/input-51 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-52 b/fuzz/dns_rdata_fromwire_text.in/input-52 deleted file mode 100644 index 50a22afb18a..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-52 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-53 b/fuzz/dns_rdata_fromwire_text.in/input-53 index 95243a67b45..36eeb64f52d 100644 --- a/fuzz/dns_rdata_fromwire_text.in/input-53 +++ b/fuzz/dns_rdata_fromwire_text.in/input-53 @@ -1 +1 @@ -ñ( \ No newline at end of file +0000 \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-54 b/fuzz/dns_rdata_fromwire_text.in/input-54 deleted file mode 100644 index b5019204f14..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-54 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-55 b/fuzz/dns_rdata_fromwire_text.in/input-55 deleted file mode 100644 index 59b9f030b65..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-55 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-56 b/fuzz/dns_rdata_fromwire_text.in/input-56 deleted file mode 100644 index b0beba002fb..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-56 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-57 b/fuzz/dns_rdata_fromwire_text.in/input-57 index 24f40a53fdf..0bac8c5445e 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-57 and b/fuzz/dns_rdata_fromwire_text.in/input-57 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-58 b/fuzz/dns_rdata_fromwire_text.in/input-58 deleted file mode 100644 index aca62bb62ce..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-58 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-59 b/fuzz/dns_rdata_fromwire_text.in/input-59 deleted file mode 100644 index 3388b2d26a6..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-59 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-6 b/fuzz/dns_rdata_fromwire_text.in/input-6 index 889a2bd246a..868030d2b6d 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-6 and b/fuzz/dns_rdata_fromwire_text.in/input-6 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-60 b/fuzz/dns_rdata_fromwire_text.in/input-60 deleted file mode 100644 index ac328d98bb7..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-60 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-61 b/fuzz/dns_rdata_fromwire_text.in/input-61 deleted file mode 100644 index 08ad070c7e3..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-61 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-62 b/fuzz/dns_rdata_fromwire_text.in/input-62 deleted file mode 100644 index 18a05e576ca..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-62 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-63 b/fuzz/dns_rdata_fromwire_text.in/input-63 deleted file mode 100644 index 959fdaf6009..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-63 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-64 b/fuzz/dns_rdata_fromwire_text.in/input-64 deleted file mode 100644 index 5d9c5691d42..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-64 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-65 b/fuzz/dns_rdata_fromwire_text.in/input-65 deleted file mode 100644 index 2d9c1fc2aff..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-65 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-66 b/fuzz/dns_rdata_fromwire_text.in/input-66 deleted file mode 100644 index f78d3931234..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-66 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-67 b/fuzz/dns_rdata_fromwire_text.in/input-67 deleted file mode 100644 index 95efb965dc2..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-67 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-68 b/fuzz/dns_rdata_fromwire_text.in/input-68 deleted file mode 100644 index e913515bed7..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-68 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-69 b/fuzz/dns_rdata_fromwire_text.in/input-69 deleted file mode 100644 index c8046b5e7a8..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-69 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-7 b/fuzz/dns_rdata_fromwire_text.in/input-7 index e52f4605a60..f4b83927ce6 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-7 and b/fuzz/dns_rdata_fromwire_text.in/input-7 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-70 b/fuzz/dns_rdata_fromwire_text.in/input-70 deleted file mode 100644 index 92a712862e4..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-70 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-71 b/fuzz/dns_rdata_fromwire_text.in/input-71 deleted file mode 100644 index 5fc383e5c24..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-71 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-72 b/fuzz/dns_rdata_fromwire_text.in/input-72 index 7759c47ab9f..56a21f61abf 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-72 and b/fuzz/dns_rdata_fromwire_text.in/input-72 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-73 b/fuzz/dns_rdata_fromwire_text.in/input-73 deleted file mode 100644 index 872fee928ce..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-73 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-74 b/fuzz/dns_rdata_fromwire_text.in/input-74 deleted file mode 100644 index 6d6ec9302e9..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-74 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-75 b/fuzz/dns_rdata_fromwire_text.in/input-75 deleted file mode 100644 index 47a9f2bcd78..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-75 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-76 b/fuzz/dns_rdata_fromwire_text.in/input-76 deleted file mode 100644 index 0a0276171e3..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-76 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-77 b/fuzz/dns_rdata_fromwire_text.in/input-77 index 44d445abb5f..2755ea38683 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-77 and b/fuzz/dns_rdata_fromwire_text.in/input-77 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-78 b/fuzz/dns_rdata_fromwire_text.in/input-78 deleted file mode 100644 index 2893517a853..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-78 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-79 b/fuzz/dns_rdata_fromwire_text.in/input-79 deleted file mode 100644 index c83c4bd0a47..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-79 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-8 b/fuzz/dns_rdata_fromwire_text.in/input-8 index 4d60fdfc631..38bff026b12 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-8 and b/fuzz/dns_rdata_fromwire_text.in/input-8 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-80 b/fuzz/dns_rdata_fromwire_text.in/input-80 deleted file mode 100644 index 5da0971d2c5..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-80 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-81 b/fuzz/dns_rdata_fromwire_text.in/input-81 index c3b5aff67f8..5a7495d8f7c 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-81 and b/fuzz/dns_rdata_fromwire_text.in/input-81 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-82 b/fuzz/dns_rdata_fromwire_text.in/input-82 deleted file mode 100644 index 0e862c62a40..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-82 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-83 b/fuzz/dns_rdata_fromwire_text.in/input-83 index 7f49b5f2500..c58e2588710 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-83 and b/fuzz/dns_rdata_fromwire_text.in/input-83 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-84 b/fuzz/dns_rdata_fromwire_text.in/input-84 index 417471dfe36..ffcd7fbad37 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-84 and b/fuzz/dns_rdata_fromwire_text.in/input-84 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-85 b/fuzz/dns_rdata_fromwire_text.in/input-85 index 2e6a9ea1f18..45c74654538 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-85 and b/fuzz/dns_rdata_fromwire_text.in/input-85 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-86 b/fuzz/dns_rdata_fromwire_text.in/input-86 deleted file mode 100644 index 1eb09ccf55d..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-86 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-87 b/fuzz/dns_rdata_fromwire_text.in/input-87 index 4c29c23db7e..24df2ea9c0a 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-87 and b/fuzz/dns_rdata_fromwire_text.in/input-87 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-88 b/fuzz/dns_rdata_fromwire_text.in/input-88 deleted file mode 100644 index 28ac529ba80..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-88 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-89 b/fuzz/dns_rdata_fromwire_text.in/input-89 index 8119bf0a46b..4498467d886 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-89 and b/fuzz/dns_rdata_fromwire_text.in/input-89 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-9 b/fuzz/dns_rdata_fromwire_text.in/input-9 deleted file mode 100644 index 72a140c84af..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-9 +++ /dev/null @@ -1 +0,0 @@ -222222'œœœœœœœœœœœœœœœœœ222222222'œœœœœœœœœœœœœœœœ \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-90 b/fuzz/dns_rdata_fromwire_text.in/input-90 deleted file mode 100644 index 6ae07bda3bf..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-90 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-91 b/fuzz/dns_rdata_fromwire_text.in/input-91 deleted file mode 100644 index 28a0c7fcd1b..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-91 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-92 b/fuzz/dns_rdata_fromwire_text.in/input-92 deleted file mode 100644 index 6b7efe59d21..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-92 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-93 b/fuzz/dns_rdata_fromwire_text.in/input-93 deleted file mode 100644 index a5395e17d7e..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-93 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-94 b/fuzz/dns_rdata_fromwire_text.in/input-94 deleted file mode 100644 index 43fbdaef7b4..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-94 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-95 b/fuzz/dns_rdata_fromwire_text.in/input-95 deleted file mode 100644 index 742afd781e5..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-95 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-96 b/fuzz/dns_rdata_fromwire_text.in/input-96 index bb8bb8a803c..7e3d057233b 100644 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-96 and b/fuzz/dns_rdata_fromwire_text.in/input-96 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-97 b/fuzz/dns_rdata_fromwire_text.in/input-97 deleted file mode 100644 index 03d79aebb01..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-97 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-98 b/fuzz/dns_rdata_fromwire_text.in/input-98 deleted file mode 100644 index 0cc1f0105ff..00000000000 Binary files a/fuzz/dns_rdata_fromwire_text.in/input-98 and /dev/null differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-99 b/fuzz/dns_rdata_fromwire_text.in/input-99 deleted file mode 100644 index 1490fa00d79..00000000000 --- a/fuzz/dns_rdata_fromwire_text.in/input-99 +++ /dev/null @@ -1 +0,0 @@ -d"éé \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/smimea b/fuzz/dns_rdata_fromwire_text.in/smimea index 528472da19c..40c7514632b 100644 --- a/fuzz/dns_rdata_fromwire_text.in/smimea +++ b/fuzz/dns_rdata_fromwire_text.in/smimea @@ -1 +1 @@ -…-Òeœ< \ No newline at end of file +…00000 \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/sshfp b/fuzz/dns_rdata_fromwire_text.in/sshfp index b3007cdb0f1..55db5f38f4d 100644 --- a/fuzz/dns_rdata_fromwire_text.in/sshfp +++ b/fuzz/dns_rdata_fromwire_text.in/sshfp @@ -1 +1 @@ -|‡°|8 \ No newline at end of file +|0000 \ No newline at end of file diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h index b5645a99c30..769f8468154 100644 --- a/fuzz/fuzz.h +++ b/fuzz/fuzz.h @@ -11,10 +11,13 @@ * information regarding copyright ownership. */ +#pragma once + #include #include #include +#include #include #include #include @@ -27,7 +30,16 @@ ISC_LANG_BEGINDECLS extern bool debug; +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))); + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); +#define CHECK(x) \ + if ((x) != ISC_R_SUCCESS) { \ + return 0; \ + } + ISC_LANG_ENDDECLS diff --git a/fuzz/isc_lex_getmastertoken.c b/fuzz/isc_lex_getmastertoken.c new file mode 100644 index 00000000000..5931e1814fc --- /dev/null +++ b/fuzz/isc_lex_getmastertoken.c @@ -0,0 +1,81 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include + +#include +#include +#include +#include +#include + +#include "fuzz.h" + +bool debug = false; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))); + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +static isc_mem_t *mctx = NULL; +static isc_lex_t *lex = NULL; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_result_t result; + + isc_mem_create(&mctx); + + result = isc_lex_create(mctx, 1024, &lex); + REQUIRE(result == ISC_R_SUCCESS); + + return (0); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buf; + isc_result_t result; + isc_token_t token; + isc_tokentype_t expect; + bool eol; + + if (size < sizeof(expect) + sizeof(eol)) { + return (0); + } + + (void)memmove(&expect, data, sizeof(expect)); + data += sizeof(expect); + size -= sizeof(expect); + + eol = *data != 0; + data += 1; + size -= 1; + + isc_buffer_constinit(&buf, data, size); + isc_buffer_add(&buf, size); + isc_buffer_setactive(&buf, size); + + CHECK(isc_lex_openbuffer(lex, &buf)); + + do { + result = isc_lex_getmastertoken(lex, &token, expect, eol); + } while (result == ISC_R_SUCCESS && token.type != isc_tokentype_eof); + + return (0); +} diff --git a/fuzz/isc_lex_getmastertoken.in/named.conf b/fuzz/isc_lex_getmastertoken.in/named.conf new file mode 100644 index 00000000000..9cbde3521cf Binary files /dev/null and b/fuzz/isc_lex_getmastertoken.in/named.conf differ diff --git a/fuzz/isc_lex_getmastertoken.in/simple b/fuzz/isc_lex_getmastertoken.in/simple new file mode 100644 index 00000000000..a5eb98cd6f6 Binary files /dev/null and b/fuzz/isc_lex_getmastertoken.in/simple differ diff --git a/fuzz/isc_lex_gettoken.c b/fuzz/isc_lex_gettoken.c new file mode 100644 index 00000000000..c295145e427 --- /dev/null +++ b/fuzz/isc_lex_gettoken.c @@ -0,0 +1,59 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include + +#include +#include +#include +#include + +#include "fuzz.h" + +bool debug = false; + +static isc_mem_t *mctx = NULL; +static isc_lex_t *lex = NULL; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_result_t result; + + isc_mem_create(&mctx); + + result = isc_lex_create(mctx, 1024, &lex); + REQUIRE(result == ISC_R_SUCCESS); + + return (0); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buf; + isc_result_t result; + + isc_buffer_constinit(&buf, data, size); + isc_buffer_add(&buf, size); + isc_buffer_setactive(&buf, size); + + CHECK(isc_lex_openbuffer(lex, &buf)); + + do { + isc_token_t token; + result = isc_lex_gettoken(lex, 0, &token); + } while (result == ISC_R_SUCCESS); + + return (0); +} diff --git a/fuzz/isc_lex_gettoken.in/named.conf b/fuzz/isc_lex_gettoken.in/named.conf new file mode 100644 index 00000000000..dd46100b6b6 --- /dev/null +++ b/fuzz/isc_lex_gettoken.in/named.conf @@ -0,0 +1,644 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +/* + * This is a worthless, nonrunnable example of a named.conf file that has + * every conceivable syntax element in use. We use it to test the parser. + * It could also be used as a conceptual template for users of new features. + */ + +/* + * C-style comments are OK + */ + +// So are C++-style comments + +#So are shell - style comments + +// watch out for ";" -- it's important! + +options { + additional - from - auth true; + additional - from - cache false; + + version "my version string"; + random - device "/dev/random"; + directory "/tmp"; + + port 666; + + sig - validity - interval 33; + +#Obsolete + named - xfer "/usr/libexec/named-xfer"; // _PATH_XFER + + dump - file "named_dump.db"; // _PATH_DUMPFILE + pid - file "/var/run/named.pid"; // _PATH_PIDFILE + statistics - file "named.stats"; // _PATH_STATS + memstatistics - file "named.memstats"; // _PATH_MEMSTATS + + max - cache - ttl 999; + min - cache - ttl 66; + auth - nxdomain yes; // always set AA on NXDOMAIN. + // don't set this to 'no' unless + // you know what you're doing -- older + // servers won't like it. + +#Obsolete + deallocate - on - exit no; + + dialup yes; + +#Obsolete + fake - iquery no; + + fetch - glue yes; + has - old - clients yes; + host - statistics no; + +#Obsolete + multiple - cnames no; // if yes, then a name my have more + // than one CNAME RR. This use + // is non-standard and is not + // recommended, but it is available + // because previous releases supported + // it and it was used by large sites + // for load balancing. + + notify yes; // send NOTIFY messages. You can set + // notify on a zone-by-zone + // basis in the "zone" statement + // see (below) + recursion yes; + rfc2308 - type1 no; + +#Obsolete + use - id - pool yes; + +#Obsolete + treat - cr - as - space yes; + + also - notify { 10.0.2.3; }; + + // The "forward" option is only meaningful if you've defined + // forwarders. "first" gives the normal BIND + // forwarding behavior, i.e. ask the forwarders first, and if that + // doesn't work then do the full lookup. You can also say + // "forward only;" which is what used to be specified with + // "secondary" or "options forward-only". "only" will never attempt + // a full lookup; only the forwarders will be used. + forward first; + forwarders { + 1.2.3.4; + 5.6.7.8; + }; + + check - names primary fail; + check - names secondary warn; + check - names response ignore; + + allow - query { any; }; + allow - transfer { any; }; + allow - recursion { !any; }; + blackhole { 45 / 24; }; + keep - response - order { 46 / 24; }; + + listen - on { + 10 / 24; + 10.0.0.3; + }; + + listen - on port 53 { any; }; + + listen - on { 5.6.7.8; }; + + listen - on port 1234 { + !1.2.3.4; + 1.2.3 / 24; + }; + + listen - on - v6 { 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1; }; + + listen - on - v6 port 777 { 2 : 2 : 2 : 2 : 2 : 2 : 2 : 2; }; + + query - source - v6 address 8 : 7 : 6 : 5 : 4 : 3 : 2 : 1 port *; + query - source port *address 10.0.0.54; + + lame - ttl 444; + + max - transfer - time - in 300; + max - transfer - time - out 10; + max - transfer - idle - in 100; + max - transfer - idle - out 11; + + max - retry - time 1234; + min - retry - time 1111; + max - refresh - time 888; + min - refresh - time 777; + + max - ncache - ttl 333; + min - ncache - ttl 22; + min - roots 15; + serial - queries 34; + + transfer - format one - answer; + + transfers - in 10; + transfers - per - ns 2; + transfers - out 0; + + transfer - source 10.0.0.5; + transfer - source - v6 4 : 3 : 2 : 1 : 5 : 6 : 7 : 8; + + request - ixfr yes; + provide - ixfr yes; + +#Now called 'provide-ixfr' +#maintain - ixfr - base no; // If yes, keep transaction log file for IXFR + + max - ixfr - log - size 20m; + coresize 100; + datasize 101; + files 230; + max - cache - size 1m; + stacksize 231; + heartbeat - interval 1001; + interface - interval 1002; + statistics - interval 1003; + + topology { + 10 / 8; + + !1.2.3 / 24; + + { + 1.2 / 16; + 3 / 8; + }; + }; + + sortlist { + 10 / 8; + 11 / 8; + }; + + tkey - domain "foo.com"; + tkey - dhkey "xyz" 666; + + rrset - order { + class IN type A name "foo" order random; + order cyclic; + }; +}; + +/* + * Control listeners, for "ndc". Every nameserver needs at least one. + */ +controls { + // 'inet' lines without a 'port' defaults to 'port 953' + // 'keys' must be used and the list must have at least one entry + inet *port 52 allow { any; } + keys { "key2"; }; + unix "/var/run/ndc" perm 0600 owner 0 group 0; // ignored by named. + inet 10.0.0.1 allow { + any; + key foo; + } + keys { "key4"; }; + inet 10.0.0.2 allow { none; } + keys { + "key-1"; + "key-2"; + }; + inet 10.0.0.2 allow { none; }; +}; + +zone "primary.demo.zone" { + type primaryr; + database "somedb -option1 -option2 arg1 arg2 arg3"; + file "primary.demo.zone"; + check - names fail; + allow - update { none; }; + allow - update - forwarding { + 10.0.0.5; + !any; + }; + allow - transfer { any; }; + allow - query { any; }; + sig - validity - interval 990; + notify explicit; + also - notify { + 1.0.0.1; + }; // don't notify any nameservers other + // than those on the NS list for this + // zone + forward first; + forwarders { + 10.0.0.3; + 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8; + }; +}; + +zone "secondary.demo.zone" { + type secondary; + file "secondary.demo.zone"; + ixfr - base "secondary.demo.zone.ixfr"; // File name for IXFR transaction + // log file + primaries { + 1.2.3.4 port 10 key "foo"; // where to zone transfer from + 5.6.7.8; + 6.7.8.9 key "zippo"; + }; + transfer - source 10.0.0.53; // fixes multihoming problems + check - names warn; + allow - update { none; }; + allow - transfer { any; }; + allow - update - forwarding { any; }; + allow - query { any; }; + max - transfer - time - in 120; // if not set, global option is used. + max - transfer - time - out 1; // if not set, global option is used. + max - transfer - idle - in 2; // if not set, global option is used. + max - transfer - idle - out 3; // if not set, global option is used. + also - notify { 1.0.0.2; }; + forward only; + forwarders { + 10.45.45.45; + 10.0.0.3; + 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8; + }; +}; + +key "non-viewkey" { + secret "YWFh"; + algorithm "zzz"; +}; + +view "test-view" in { + key "viewkey" { + algorithm "xxx"; + secret "eXl5"; + }; + also - notify { 10.2.2.3; }; + managed - keys { foo.com.static 4 3 2 "abdefghijklmnopqrstuvwxyz"; }; + sig - validity - interval 45; + max - cache - size 100000; + allow - query { 10.0.0.30; }; + additional - from - cache false; + additional - from - auth no; + match - clients { 10.0.0.1; }; + check - names primary warn; + check - names secondary ignore; + check - names response fail; + auth - nxdomain false; + recursion true; + provide - ixfr false; + request - ixfr true; + fetch - glue true; + notify false; + rfc2308 - type1 false; + transfer - source 10.0.0.55; + transfer - source - v6 4 : 3 : 8 : 1 : 5 : 6 : 7 : 8; + query - source port *address 10.0.0.54; + query - source - v6 address 6 : 6 : 6 : 6 : 6 : 6 : 6 : 6 port *; + max - transfer - time - out 45; + max - transfer - idle - out 55; + min - roots 3; + lame - ttl 477; + max - ncache - ttl 333; + max - cache - ttl 777; + transfer - format many - answers; + max - retry - time 7; + min - retry - time 4; + max - refresh - time 999; + min - refresh - time 111; + + zone "view-zone.com" { + type primary; + allow - update - forwarding { 10.0.0.34; }; + file "view-zone-primary"; + }; + + server 5.6.7.8 { keys "viewkey"; }; + + server 10.9.8.7 { keys "non-viewkey"; }; + dialup yes; +}; + +zone "stub.demo.zone" { + type stub; // stub zones are like secondary zones, + // except that only the NS records + // are transferred. + dialup yes; + file "stub.demo.zone"; + primaries { + 1.2.3.4; // where to zone transfer from + 5.6.7.8 port 999; + }; + check - names warn; + allow - update { none; }; + allow - transfer { any; }; + allow - query { any; }; + + max - retry - time 10; + min - retry - time 11; + max - refresh - time 12; + min - refresh - time 13; + + max - transfer - time - in 120; // if not set, global option is used. + pubkey 257 255 1 "a useless key"; + pubkey 257 255 1 "another useless key"; +}; + +zone "." { + type hint; // used to be specified w/ "cache" + file "cache.db"; + // pubkey 257 255 1 + //"AQP2fHpZ4VMpKo/jc9Fod821uyfY5p8j5h/Am0V/KpBTMZjdXmp9QJe6yFRoIIzkaNCgTIftASdpXGgCwFB2j2KXP/rick6gvEer5VcDEkLR5Q=="; +}; + +managed - keys { + "." static 257 255 1 "AQP2fHpZ4VMpKo/jc9Fod821uyfY5p8j5h/Am0V/" + "KpBTMZjdXmp9QJe6yFRoIIzkaNCgTIftASdpXGgCwFB2j2KXP" + "/rick6gvEer5VcDEkLR5Q=="; +}; + +acl can_query { + !1.2.3 / 24; + any; +}; // network 1.2.3.0 mask 255.255.255.0 + // is disallowed; rest are OK +acl can_axfr { + 1.2.3.4; + can_query; +}; // host 1.2.3.4 and any host allowed + // by can_query are OK + +zone "disabled-zone.com" { + type primary; + file "bar"; + + max - retry - time 100; + min - retry - time 110; + max - refresh - time 120; + min - refresh - time 130; +}; + +zone "non-default-acl.demo.zone" { + type primary; + file "foo"; + allow - query { can_query; }; + allow - transfer { can_axfr; }; + allow - update { + 1.2.3.4; + 5.6.7.8; + }; + pubkey 666 665 664 "key of the beast"; + // Errors trapped by parser: + // identity or name not absolute + // 'wildcard' match type and no wildcard character in name + // + // issues: + // - certain rdatatype values (such as "key") are config file + // keywords and + // must be quoted or a syntax error will occur. + // + + update - policy { + grant root.domain.subdomain host.domain.A MX CNAME; + grant sub.root.domain.wildcard *.host.domain.A; + grant root.domain.name host.domain.a ns md mf cname soa mb mg mr + "null" wks ptr hinfo minfo mx txt rp afsdb x25 isdn rt + nsap sig "key" px gpos aaaa loc nxt srv naptr kx + cert a6 dname opt unspec uri tkey tsig; + grant foo.bar.com.self foo.bar.com.a; + }; +}; + +key sample_key { // for TSIG; supported by parser + algorithm hmac - md5; // but not yet implemented in the + secret "eW91ciBzZWNyZXQgaGVyZQ=="; // rest of the server +}; + +key key2 { + algorithm hmac - md5; + secret "ZXJlaCB0ZXJjZXMgcm91eQ=="; +}; + +acl key_acl { key sample_key; }; // a request signed with sample_key + +server 1.2.3.4 { + request - ixfr no; + provide - ixfr no; + bogus no; // if yes, we won't query or listen + // to this server + transfer - format one - answer; // set transfer format for this + // server (see the description of + // 'transfer-format' above) + // if not specified, the global option + // will be used + transfers 0; // not implemented + keys{ "sample_key" }; // for TSIG; supported by the parser + // but not yet implemented in the + // rest of the server +#Now called 'request-ixfr' +#support - ixfr yes; // for IXFR supported by server + // if yes, the listed server talks IXFR +}; + +logging { + /* + * All log output goes to one or more "channels"; you can make as + * many of them as you want. + */ + + channel syslog_errors { // this channel will send errors or + syslog user; // or worse to syslog (user facility) + severity error; + }; + + channel stderr_errors { stderr; }; + + /* + * Channels have a severity level. Messages at severity levels + * greater than or equal to the channel's level will be logged on + * the channel. In order of decreasing severity, the levels are: + * + * critical a fatal error + * error + * warning + * notice a normal, but significant event + * info an informational message + * debug 1 the least detailed debugging info + * ... + * debug 99 the most detailed debugging info + */ + + /* + * Here are the built-in channels: + * + * channel default_syslog { + * syslog daemon; + * severity info; + * }; + * + * channel default_debug { + * file "named.run"; // note: stderr is used instead + * // of "named.run" if the server + * // is started with the "-f" + * // option. + * severity dynamic; // this means log debugging + * // at whatever debugging level + * // the server is at, and don't + * // log anything if not + * // debugging. + * }; + * + * channel null { // this is the bit bucket; + * file "/dev/null"; // any logging to this channel + * // is discarded. + * }; + * + * channel default_stderr { // writes to stderr + * file ""; // this is illustrative only; + * // there's currently no way + * // of saying "stderr" in the + * // configuration language. + * // i.e. don't try this at home. + * severity info; + * }; + * + * default_stderr only works before the server daemonizes (i.e. + * during initial startup) or when it is running in foreground + * mode (-f command line option). + */ + + /* + * There are many categories, so you can send the logs + * you want to see wherever you want, without seeing logs you + * don't want. Right now the categories are + * + * default the catch-all. many things still + * aren't classified into categories, and + * they all end up here. also, if you + * don't specify any channels for a + * category, the default category is used + * instead. + * config high-level configuration file + * processing + * parser low-level configuration file processing + * queries what used to be called "query logging" + * lame-servers messages like "Lame server on ..." + * statistics + * panic if the server has to shut itself + * down due to an internal problem, it + * logs the problem here (as well as + * in the problem's native category) + * update dynamic update + * ncache negative caching + * xfer-in zone transfers we're receiving + * xfer-out zone transfers we're sending + * db all database operations + * eventlib debugging info from the event system + * (see below) + * packet dumps of packets received and sent + * (see below) + * notify the NOTIFY protocol + * cname messages like "XX points to a CNAME" + * security approved/unapproved requests + * os operating system problems + * insist consistency check failures + * maintenance periodic maintenance + * load zone loading + * response-checks messages like + * "Malformed response ..." + * "wrong ans. name ..." + * "unrelated additional info ..." + * "invalid RR type ..." + * "bad referral ..." + */ + + category parser { + syslog_errors; // you can log to as many channels + default_syslog; // as you want + }; + + category lame - servers { null; }; // don't log these at all + + channel moderate_debug { + file "foo"; // foo + severity debug 3; // level 3 debugging to file + print - time yes; // timestamp log entries + print - category yes; // print category name + print - severity yes; // print severity level + /* + * Note that debugging must have been turned on either + * on the command line or with a signal to get debugging + * output (non-debugging output will still be written to + * this channel). + */ + }; + + channel another { + file "bar" versions 99 size 10M; + severity info; + }; + + channel third { + file "bar" size 100000 versions unlimited; + severity debug; // use default debug level + }; + + /* + * If you don't want to see "zone XXXX loaded" messages but do + * want to see any problems, you could do the following. + */ + channel no_info_messages { + syslog; + severity notice; + }; + + category load { no_info_messages; }; + + /* + * You can also define category "default"; it gets used when no + * "category" statement has been given for a category. + */ + category default { + default_syslog; + moderate_debug; + }; + + /* + * If you don't define category default yourself, the default + * default category will be used. It is + * + * category default { default_syslog; default_debug; }; + */ + + /* + * If you don't define category panic yourself, the default + * panic category will be used. It is + * + * category panic { default_syslog; default_stderr; }; + */ + + /* + * Two categories, 'packet' and 'eventlib', are special. Only one + * channel may be assigned to each of them, and it must be a + * file channel. If you don't define them yourself, they default to + * + * category eventlib { default_debug; }; + * + * category packet { default_debug; }; + */ +}; + +#include "filename"; // can't do within a statement diff --git a/fuzz/isc_lex_gettoken.in/simple b/fuzz/isc_lex_gettoken.in/simple new file mode 100644 index 00000000000..105e53a3dcf --- /dev/null +++ b/fuzz/isc_lex_gettoken.in/simple @@ -0,0 +1,6 @@ +text +to +be +processed +by +lexer diff --git a/fuzz/libfuzzer.sh b/fuzz/libfuzzer.sh new file mode 100755 index 00000000000..a28d86af21f --- /dev/null +++ b/fuzz/libfuzzer.sh @@ -0,0 +1,14 @@ +#!/bin/sh -ex + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +exec "${2}" "${1}/$(basename "${2}").in" -max_total_time=5 -print_pcs=1 -print_final_stats=1 -print_corpus_stats=1 -print_coverage=1 diff --git a/fuzz/main.c b/fuzz/main.c index 79689d9b99b..335197f06e0 100644 --- a/fuzz/main.c +++ b/fuzz/main.c @@ -26,7 +26,47 @@ #include -bool debug = false; +static void +test_one_file(const char *filename) { + int fd; + struct stat st; + char *data; + ssize_t n; + + if ((fd = open(filename, O_RDONLY)) == -1) { + fprintf(stderr, "Failed to open %s: %s\n", filename, + strerror(errno)); + return; + } + + if (fstat(fd, &st) != 0) { + fprintf(stderr, "Failed to stat %s: %s\n", filename, + strerror(errno)); + goto closefd; + } + + data = malloc(st.st_size); + n = read(fd, data, st.st_size); + if (n == st.st_size) { + printf("testing %zd bytes from %s\n", n, filename); + fflush(stdout); + LLVMFuzzerTestOneInput((const uint8_t *)data, n); + fflush(stderr); + } else { + if (n < 0) { + fprintf(stderr, + "Failed to read %zd bytes from %s: %s\n", + (ssize_t)st.st_size, filename, strerror(errno)); + } else { + fprintf(stderr, + "Failed to read %zd bytes from %s, got %zd\n", + (ssize_t)st.st_size, filename, n); + } + } + free(data); +closefd: + close(fd); +} static void test_all_from(const char *dirname) { @@ -40,53 +80,13 @@ test_all_from(const char *dirname) { while ((dp = readdir(dirp)) != NULL) { char filename[strlen(dirname) + strlen(dp->d_name) + 2]; - int fd; - struct stat st; - char *data; - ssize_t n; if (dp->d_name[0] == '.') { continue; } snprintf(filename, sizeof(filename), "%s/%s", dirname, dp->d_name); - - if ((fd = open(filename, O_RDONLY)) == -1) { - fprintf(stderr, "Failed to open %s: %s\n", filename, - strerror(errno)); - continue; - } - - if (fstat(fd, &st) != 0) { - fprintf(stderr, "Failed to stat %s: %s\n", filename, - strerror(errno)); - goto closefd; - } - - data = malloc(st.st_size); - n = read(fd, data, st.st_size); - if (n == st.st_size) { - printf("testing %zd bytes from %s\n", n, filename); - fflush(stdout); - LLVMFuzzerTestOneInput((const uint8_t *)data, n); - fflush(stderr); - } else { - if (n < 0) { - fprintf(stderr, - "Failed to read %zd bytes from %s: " - "%s\n", - (ssize_t)st.st_size, filename, - strerror(errno)); - } else { - fprintf(stderr, - "Failed to read %zd bytes from %s" - ", got %zd\n", - (ssize_t)st.st_size, filename, n); - } - } - free(data); - closefd: - close(fd); + test_one_file(filename); } closedir(dirp); @@ -94,14 +94,30 @@ test_all_from(const char *dirname) { int main(int argc, char **argv) { + int ret; char corpusdir[PATH_MAX]; const char *target = strrchr(argv[0], '/'); - UNUSED(argc); - UNUSED(argv); + ret = LLVMFuzzerInitialize(&argc, &argv); + if (ret != 0) { + fprintf(stderr, "LLVMFuzzerInitialize failure: %d\n", ret); + return 1; + } - if (argc != 1) { + if (argv[1] != NULL && strcmp(argv[1], "-d") == 0) { debug = true; + argv++; + argc--; + } + + if (argv[1] != NULL) { + while (argv[1] != NULL) { + test_one_file(argv[1]); + argv++; + argc--; + } + POST(argc); + return (0); } target = (target != NULL) ? target + 1 : argv[0]; @@ -123,8 +139,11 @@ main(int argc, char **argv) { int ret; unsigned char buf[64 * 1024]; - UNUSED(argc); - UNUSED(argv); + ret = LLVMFuzzerInitialize(&argc, &argv); + if (ret != 0) { + fprintf(stderr, "LLVMFuzzerInitialize failure: %d\n", ret); + return 1; + } #ifdef __AFL_LOOP while (__AFL_LOOP(10000)) { /* only works with afl-clang-fast */