diff options
Diffstat (limited to 'fuzz')
458 files changed, 3771 insertions, 0 deletions
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am new file mode 100644 index 0000000..eb4a2f4 --- /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 new file mode 100644 index 0000000..96cfe07 --- /dev/null +++ b/fuzz/Makefile.in @@ -0,0 +1,1333 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Hey Emacs, this is -*- makefile-automake -*- file! +# vim: filetype=automake +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +@HOST_MACOS_TRUE@am__append_1 = \ +@HOST_MACOS_TRUE@ -Wl,-flat_namespace + +check_PROGRAMS = 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) +subdir = fuzz +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_link_flag.m4 \ + $(top_srcdir)/m4/ax_check_openssl.m4 \ + $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/m4/ax_jemalloc.m4 \ + $(top_srcdir)/m4/ax_lib_lmdb.m4 \ + $(top_srcdir)/m4/ax_perl_module.m4 \ + $(top_srcdir)/m4/ax_posix_shell.m4 \ + $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \ + $(top_srcdir)/m4/ax_pthread.m4 \ + $(top_srcdir)/m4/ax_python_module.m4 \ + $(top_srcdir)/m4/ax_restore_flags.m4 \ + $(top_srcdir)/m4/ax_save_flags.m4 $(top_srcdir)/m4/ax_tls.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +libfuzzmain_la_LIBADD = +am_libfuzzmain_la_OBJECTS = main.lo +libfuzzmain_la_OBJECTS = $(am_libfuzzmain_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +dns_master_load_SOURCES = dns_master_load.c +dns_master_load_OBJECTS = dns_master_load.$(OBJEXT) +dns_master_load_LDADD = $(LDADD) +dns_master_load_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +dns_message_checksig_SOURCES = dns_message_checksig.c +dns_message_checksig_OBJECTS = dns_message_checksig.$(OBJEXT) +dns_message_checksig_LDADD = $(LDADD) +dns_message_checksig_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +dns_message_parse_SOURCES = dns_message_parse.c +dns_message_parse_OBJECTS = dns_message_parse.$(OBJEXT) +dns_message_parse_LDADD = $(LDADD) +dns_message_parse_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +dns_name_fromtext_target_SOURCES = dns_name_fromtext_target.c +dns_name_fromtext_target_OBJECTS = dns_name_fromtext_target.$(OBJEXT) +dns_name_fromtext_target_LDADD = $(LDADD) +dns_name_fromtext_target_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +dns_rdata_fromtext_SOURCES = dns_rdata_fromtext.c +dns_rdata_fromtext_OBJECTS = dns_rdata_fromtext.$(OBJEXT) +dns_rdata_fromtext_LDADD = $(LDADD) +dns_rdata_fromtext_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +dns_rdata_fromwire_text_SOURCES = dns_rdata_fromwire_text.c +dns_rdata_fromwire_text_OBJECTS = dns_rdata_fromwire_text.$(OBJEXT) +dns_rdata_fromwire_text_LDADD = $(LDADD) +dns_rdata_fromwire_text_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +isc_lex_getmastertoken_SOURCES = isc_lex_getmastertoken.c +isc_lex_getmastertoken_OBJECTS = isc_lex_getmastertoken.$(OBJEXT) +isc_lex_getmastertoken_LDADD = $(LDADD) +isc_lex_getmastertoken_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +isc_lex_gettoken_SOURCES = isc_lex_gettoken.c +isc_lex_gettoken_OBJECTS = isc_lex_gettoken.$(OBJEXT) +isc_lex_gettoken_LDADD = $(LDADD) +isc_lex_gettoken_DEPENDENCIES = libfuzzmain.la $(LIBISC_LIBS) \ + $(LIBDNS_LIBS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/dns_master_load.Po \ + ./$(DEPDIR)/dns_message_checksig.Po \ + ./$(DEPDIR)/dns_message_parse.Po \ + ./$(DEPDIR)/dns_name_fromtext_target.Po \ + ./$(DEPDIR)/dns_rdata_fromtext.Po \ + ./$(DEPDIR)/dns_rdata_fromwire_text.Po \ + ./$(DEPDIR)/isc_lex_getmastertoken.Po \ + ./$(DEPDIR)/isc_lex_gettoken.Po ./$(DEPDIR)/main.Plo +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libfuzzmain_la_SOURCES) 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 +DIST_SOURCES = $(libfuzzmain_la_SOURCES) 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 +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__extra_recursive_targets = test-recursive unit-recursive \ + doc-recursive +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red='[0;31m'; \ + grn='[0;32m'; \ + lgn='[1;32m'; \ + blu='[1;34m'; \ + mgn='[0;35m'; \ + brg='[1m'; \ + std='[m'; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.top \ + $(top_srcdir)/depcomp $(top_srcdir)/test-driver +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_EXEEXT = @BUILD_EXEEXT@ +BUILD_OBJEXT = @BUILD_OBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ +CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ +CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CURL = @CURL@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEVELOPER_MODE = @DEVELOPER_MODE@ +DLLTOOL = @DLLTOOL@ +DNSTAP_CFLAGS = @DNSTAP_CFLAGS@ +DNSTAP_LIBS = @DNSTAP_LIBS@ +DOXYGEN = @DOXYGEN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +FSTRM_CAPTURE = @FSTRM_CAPTURE@ +FUZZ_LDFLAGS = @FUZZ_LDFLAGS@ +FUZZ_LOG_COMPILER = @FUZZ_LOG_COMPILER@ +GREP = @GREP@ +GSSAPI_CFLAGS = @GSSAPI_CFLAGS@ +GSSAPI_LIBS = @GSSAPI_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JEMALLOC_CFLAGS = @JEMALLOC_CFLAGS@ +JEMALLOC_LIBS = @JEMALLOC_LIBS@ +JSON_C_CFLAGS = @JSON_C_CFLAGS@ +JSON_C_LIBS = @JSON_C_LIBS@ +KRB5_CFLAGS = @KRB5_CFLAGS@ +KRB5_CONFIG = @KRB5_CONFIG@ +KRB5_LIBS = @KRB5_LIBS@ +LATEXMK = @LATEXMK@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ +LIBCAP_LIBS = @LIBCAP_LIBS@ +LIBIDN2_CFLAGS = @LIBIDN2_CFLAGS@ +LIBIDN2_LIBS = @LIBIDN2_LIBS@ +LIBNGHTTP2_CFLAGS = @LIBNGHTTP2_CFLAGS@ +LIBNGHTTP2_LIBS = @LIBNGHTTP2_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUV_CFLAGS = @LIBUV_CFLAGS@ +LIBUV_LIBS = @LIBUV_LIBS@ +LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ +LIBXML2_LIBS = @LIBXML2_LIBS@ +LIPO = @LIPO@ +LMDB_CFLAGS = @LMDB_CFLAGS@ +LMDB_LIBS = @LMDB_LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAXMINDDB_CFLAGS = @MAXMINDDB_CFLAGS@ +MAXMINDDB_LIBS = @MAXMINDDB_LIBS@ +MAXMINDDB_PREFIX = @MAXMINDDB_PREFIX@ +MKDIR_P = @MKDIR_P@ +NC = @NC@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROTOC_C = @PROTOC_C@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_CXX = @PTHREAD_CXX@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYTEST = @PYTEST@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +READLINE_CFLAGS = @READLINE_CFLAGS@ +READLINE_LIBS = @READLINE_LIBS@ +RELEASE_DATE = @RELEASE_DATE@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SPHINX_BUILD = @SPHINX_BUILD@ +STD_CFLAGS = @STD_CFLAGS@ +STD_CPPFLAGS = @STD_CPPFLAGS@ +STD_LDFLAGS = @STD_LDFLAGS@ +STRIP = @STRIP@ +TEST_CFLAGS = @TEST_CFLAGS@ +VERSION = @VERSION@ +XELATEX = @XELATEX@ +XSLTPROC = @XSLTPROC@ +ZLIB_CFLAGS = @ZLIB_CFLAGS@ +ZLIB_LIBS = @ZLIB_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CC_FOR_BUILD = @ac_ct_CC_FOR_BUILD@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +ax_pthread_config = @ax_pthread_config@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4 +AM_CFLAGS = $(STD_CFLAGS) $(TEST_CFLAGS) +AM_CPPFLAGS = $(STD_CPPFLAGS) -include $(top_builddir)/config.h \ + -I$(srcdir)/include $(LIBISC_CFLAGS) $(LIBDNS_CFLAGS) \ + -DFUZZDIR=\"$(abs_srcdir)\" +AM_LDFLAGS = $(STD_LDFLAGS) $(am__append_1) $(FUZZ_LDFLAGS) +LDADD = libfuzzmain.la $(LIBISC_LIBS) $(LIBDNS_LIBS) +LIBISC_CFLAGS = \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/lib/isc/include \ + -I$(top_builddir)/lib/isc/include + +LIBISC_LIBS = $(top_builddir)/lib/isc/libisc.la +LIBDNS_CFLAGS = \ + -I$(top_srcdir)/lib/dns/include \ + -I$(top_builddir)/lib/dns/include + +LIBDNS_LIBS = \ + $(top_builddir)/lib/dns/libdns.la + +LIBNS_CFLAGS = \ + -I$(top_srcdir)/lib/ns/include + +LIBNS_LIBS = \ + $(top_builddir)/lib/ns/libns.la + +LIBIRS_CFLAGS = \ + -I$(top_srcdir)/lib/irs/include + +LIBIRS_LIBS = \ + $(top_builddir)/lib/irs/libirs.la + +LIBISCCFG_CFLAGS = \ + -I$(top_srcdir)/lib/isccfg/include + +LIBISCCFG_LIBS = \ + $(top_builddir)/lib/isccfg/libisccfg.la + +LIBISCCC_CFLAGS = \ + -I$(top_srcdir)/lib/isccc/include/ + +LIBISCCC_LIBS = \ + $(top_builddir)/lib/isccc/libisccc.la + +LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +LIBBIND9_LIBS = \ + $(top_builddir)/lib/bind9/libbind9.la + +check_LTLIBRARIES = libfuzzmain.la +libfuzzmain_la_SOURCES = \ + fuzz.h \ + main.c + +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) +@HAVE_FUZZ_LOG_COMPILER_TRUE@LOG_COMPILER = $(srcdir)/$(FUZZ_LOG_COMPILER) +@HAVE_FUZZ_LOG_COMPILER_TRUE@AM_LOG_FLAGS = $(srcdir) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.top $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign fuzz/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign fuzz/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; +$(top_srcdir)/Makefile.top $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-checkLTLIBRARIES: + -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) + @list='$(check_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libfuzzmain.la: $(libfuzzmain_la_OBJECTS) $(libfuzzmain_la_DEPENDENCIES) $(EXTRA_libfuzzmain_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libfuzzmain_la_OBJECTS) $(libfuzzmain_la_LIBADD) $(LIBS) + +dns_master_load$(EXEEXT): $(dns_master_load_OBJECTS) $(dns_master_load_DEPENDENCIES) $(EXTRA_dns_master_load_DEPENDENCIES) + @rm -f dns_master_load$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_master_load_OBJECTS) $(dns_master_load_LDADD) $(LIBS) + +dns_message_checksig$(EXEEXT): $(dns_message_checksig_OBJECTS) $(dns_message_checksig_DEPENDENCIES) $(EXTRA_dns_message_checksig_DEPENDENCIES) + @rm -f dns_message_checksig$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_message_checksig_OBJECTS) $(dns_message_checksig_LDADD) $(LIBS) + +dns_message_parse$(EXEEXT): $(dns_message_parse_OBJECTS) $(dns_message_parse_DEPENDENCIES) $(EXTRA_dns_message_parse_DEPENDENCIES) + @rm -f dns_message_parse$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_message_parse_OBJECTS) $(dns_message_parse_LDADD) $(LIBS) + +dns_name_fromtext_target$(EXEEXT): $(dns_name_fromtext_target_OBJECTS) $(dns_name_fromtext_target_DEPENDENCIES) $(EXTRA_dns_name_fromtext_target_DEPENDENCIES) + @rm -f dns_name_fromtext_target$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_name_fromtext_target_OBJECTS) $(dns_name_fromtext_target_LDADD) $(LIBS) + +dns_rdata_fromtext$(EXEEXT): $(dns_rdata_fromtext_OBJECTS) $(dns_rdata_fromtext_DEPENDENCIES) $(EXTRA_dns_rdata_fromtext_DEPENDENCIES) + @rm -f dns_rdata_fromtext$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_rdata_fromtext_OBJECTS) $(dns_rdata_fromtext_LDADD) $(LIBS) + +dns_rdata_fromwire_text$(EXEEXT): $(dns_rdata_fromwire_text_OBJECTS) $(dns_rdata_fromwire_text_DEPENDENCIES) $(EXTRA_dns_rdata_fromwire_text_DEPENDENCIES) + @rm -f dns_rdata_fromwire_text$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(dns_rdata_fromwire_text_OBJECTS) $(dns_rdata_fromwire_text_LDADD) $(LIBS) + +isc_lex_getmastertoken$(EXEEXT): $(isc_lex_getmastertoken_OBJECTS) $(isc_lex_getmastertoken_DEPENDENCIES) $(EXTRA_isc_lex_getmastertoken_DEPENDENCIES) + @rm -f isc_lex_getmastertoken$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isc_lex_getmastertoken_OBJECTS) $(isc_lex_getmastertoken_LDADD) $(LIBS) + +isc_lex_gettoken$(EXEEXT): $(isc_lex_gettoken_OBJECTS) $(isc_lex_gettoken_DEPENDENCIES) $(EXTRA_isc_lex_gettoken_DEPENDENCIES) + @rm -f isc_lex_gettoken$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isc_lex_gettoken_OBJECTS) $(isc_lex_gettoken_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_master_load.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_message_checksig.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_message_parse.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_name_fromtext_target.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_rdata_fromtext.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_rdata_fromwire_text.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isc_lex_getmastertoken.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isc_lex_gettoken.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +test-local: +unit-local: +doc-local: + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: $(check_PROGRAMS) $(check_LTLIBRARIES) + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) $(check_LTLIBRARIES) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +dns_master_load.log: dns_master_load$(EXEEXT) + @p='dns_master_load$(EXEEXT)'; \ + b='dns_master_load'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +dns_message_checksig.log: dns_message_checksig$(EXEEXT) + @p='dns_message_checksig$(EXEEXT)'; \ + b='dns_message_checksig'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +dns_message_parse.log: dns_message_parse$(EXEEXT) + @p='dns_message_parse$(EXEEXT)'; \ + b='dns_message_parse'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +dns_name_fromtext_target.log: dns_name_fromtext_target$(EXEEXT) + @p='dns_name_fromtext_target$(EXEEXT)'; \ + b='dns_name_fromtext_target'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +dns_rdata_fromtext.log: dns_rdata_fromtext$(EXEEXT) + @p='dns_rdata_fromtext$(EXEEXT)'; \ + b='dns_rdata_fromtext'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +dns_rdata_fromwire_text.log: dns_rdata_fromwire_text$(EXEEXT) + @p='dns_rdata_fromwire_text$(EXEEXT)'; \ + b='dns_rdata_fromwire_text'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +isc_lex_getmastertoken.log: isc_lex_getmastertoken$(EXEEXT) + @p='isc_lex_getmastertoken$(EXEEXT)'; \ + b='isc_lex_getmastertoken'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +isc_lex_gettoken.log: isc_lex_gettoken$(EXEEXT) + @p='isc_lex_gettoken$(EXEEXT)'; \ + b='isc_lex_gettoken'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LTLIBRARIES) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ + clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/dns_master_load.Po + -rm -f ./$(DEPDIR)/dns_message_checksig.Po + -rm -f ./$(DEPDIR)/dns_message_parse.Po + -rm -f ./$(DEPDIR)/dns_name_fromtext_target.Po + -rm -f ./$(DEPDIR)/dns_rdata_fromtext.Po + -rm -f ./$(DEPDIR)/dns_rdata_fromwire_text.Po + -rm -f ./$(DEPDIR)/isc_lex_getmastertoken.Po + -rm -f ./$(DEPDIR)/isc_lex_gettoken.Po + -rm -f ./$(DEPDIR)/main.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +doc: doc-am + +doc-am: doc-local + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/dns_master_load.Po + -rm -f ./$(DEPDIR)/dns_message_checksig.Po + -rm -f ./$(DEPDIR)/dns_message_parse.Po + -rm -f ./$(DEPDIR)/dns_name_fromtext_target.Po + -rm -f ./$(DEPDIR)/dns_rdata_fromtext.Po + -rm -f ./$(DEPDIR)/dns_rdata_fromwire_text.Po + -rm -f ./$(DEPDIR)/isc_lex_getmastertoken.Po + -rm -f ./$(DEPDIR)/isc_lex_gettoken.Po + -rm -f ./$(DEPDIR)/main.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +test: test-am + +test-am: test-local + +uninstall-am: + +unit: unit-am + +unit-am: unit-local + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkLTLIBRARIES clean-checkPROGRAMS \ + clean-generic clean-libtool cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir doc-am doc-local dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + recheck tags tags-am test-am test-local uninstall uninstall-am \ + unit-am unit-local + +.PRECIOUS: Makefile + + +unit-local: check + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/fuzz/dns_master_load.c b/fuzz/dns_master_load.c new file mode 100644 index 0000000..016cc88 --- /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 <stdbool.h> +#include <stdlib.h> + +#include <isc/buffer.h> +#include <isc/mem.h> +#include <isc/util.h> + +#include <dns/callbacks.h> +#include <dns/db.h> +#include <dns/master.h> +#include <dns/types.h> + +#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 0000000..62dd456 --- /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-counter-overflow.db b/fuzz/dns_master_load.in/generate-counter-overflow.db Binary files differnew file mode 100644 index 0000000..590c0d5 --- /dev/null +++ b/fuzz/dns_master_load.in/generate-counter-overflow.db diff --git a/fuzz/dns_master_load.in/generate.db b/fuzz/dns_master_load.in/generate.db new file mode 100644 index 0000000..8c2053d --- /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 0000000..b83d754 --- /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 0000000..54177a6 --- /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 0000000..dfbd18e --- /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 <inttypes.h> +#include <stdbool.h> +#include <stdlib.h> +#include <unistd.h> + +#include <isc/buffer.h> +#include <isc/commandline.h> +#include <isc/file.h> +#include <isc/mem.h> +#include <isc/print.h> +#include <isc/result.h> +#include <isc/string.h> +#include <isc/util.h> + +#include <dns/fixedname.h> +#include <dns/message.h> +#include <dns/name.h> +#include <dns/rcode.h> +#include <dns/tsig.h> +#include <dns/view.h> +#include <dns/zone.h> + +#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 hmac[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, hmac, 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 Binary files differnew file mode 100644 index 0000000..2384427 --- /dev/null +++ b/fuzz/dns_message_checksig.in/issue-3547 diff --git a/fuzz/dns_message_checksig.in/sig0 b/fuzz/dns_message_checksig.in/sig0 Binary files differnew file mode 100644 index 0000000..61fbeb3 --- /dev/null +++ b/fuzz/dns_message_checksig.in/sig0 diff --git a/fuzz/dns_message_checksig.in/tsig b/fuzz/dns_message_checksig.in/tsig Binary files differnew file mode 100644 index 0000000..38d040b --- /dev/null +++ b/fuzz/dns_message_checksig.in/tsig diff --git a/fuzz/dns_message_checksig.in/tsig-reply b/fuzz/dns_message_checksig.in/tsig-reply Binary files differnew file mode 100644 index 0000000..f9fe237 --- /dev/null +++ b/fuzz/dns_message_checksig.in/tsig-reply diff --git a/fuzz/dns_message_parse.c b/fuzz/dns_message_parse.c new file mode 100644 index 0000000..02006a8 --- /dev/null +++ b/fuzz/dns_message_parse.c @@ -0,0 +1,189 @@ +/* + * 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 <inttypes.h> +#include <stdbool.h> +#include <stdlib.h> + +#include <isc/buffer.h> +#include <isc/commandline.h> +#include <isc/file.h> +#include <isc/mem.h> +#include <isc/print.h> +#include <isc/result.h> +#include <isc/string.h> +#include <isc/util.h> + +#include <dns/message.h> + +#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 Binary files differnew file mode 100644 index 0000000..fa241be --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt Binary files differnew file mode 100644 index 0000000..8b26d52 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt Binary files differnew file mode 100644 index 0000000..23714ac --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt Binary files differnew file mode 100644 index 0000000..6df7469 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt Binary files differnew file mode 100644 index 0000000..412026d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt Binary files differnew file mode 100644 index 0000000..e6ea06e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt Binary files differnew file mode 100644 index 0000000..ac32a23 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt Binary files differnew file mode 100644 index 0000000..513080f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt Binary files differnew file mode 100644 index 0000000..0529689 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt Binary files differnew file mode 100644 index 0000000..7067548 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt Binary files differnew file mode 100644 index 0000000..ce2be9b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt Binary files differnew file mode 100644 index 0000000..9b28729 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt Binary files differnew file mode 100644 index 0000000..76c2f36 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt Binary files differnew file mode 100644 index 0000000..9f8f50c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt Binary files differnew file mode 100644 index 0000000..baa9ffc --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt Binary files differnew file mode 100644 index 0000000..0bb9f90 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt Binary files differnew file mode 100644 index 0000000..b8a8732 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt Binary files differnew file mode 100644 index 0000000..3016eab --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt Binary files differnew file mode 100644 index 0000000..0468373 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt Binary files differnew file mode 100644 index 0000000..6658f4e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt Binary files differnew file mode 100644 index 0000000..cea967e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt Binary files differnew file mode 100644 index 0000000..4179a68 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt Binary files differnew file mode 100644 index 0000000..1d602fb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt Binary files differnew file mode 100644 index 0000000..a4ed4a4 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt Binary files differnew file mode 100644 index 0000000..20ed674 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt Binary files differnew file mode 100644 index 0000000..51511ce --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt Binary files differnew file mode 100644 index 0000000..b6813ee --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt Binary files differnew file mode 100644 index 0000000..a89e600 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt Binary files differnew file mode 100644 index 0000000..e44e67a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt Binary files differnew file mode 100644 index 0000000..fbd0266 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt Binary files differnew file mode 100644 index 0000000..10c9fb8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt Binary files differnew file mode 100644 index 0000000..87d11f7 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt Binary files differnew file mode 100644 index 0000000..b53d901 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt Binary files differnew file mode 100644 index 0000000..ed4ac06 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt Binary files differnew file mode 100644 index 0000000..8e6483c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt Binary files differnew file mode 100644 index 0000000..152221e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt Binary files differnew file mode 100644 index 0000000..d04af06 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt Binary files differnew file mode 100644 index 0000000..731cbbb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt Binary files differnew file mode 100644 index 0000000..3599fe4 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt Binary files differnew file mode 100644 index 0000000..1a881cd --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt Binary files differnew file mode 100644 index 0000000..4ea06bb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt Binary files differnew file mode 100644 index 0000000..99747d8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt Binary files differnew file mode 100644 index 0000000..ad14dcf --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt Binary files differnew file mode 100644 index 0000000..b2b121e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt Binary files differnew file mode 100644 index 0000000..d62ec40 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt Binary files differnew file mode 100644 index 0000000..1f48c36 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt Binary files differnew file mode 100644 index 0000000..5bca44e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt Binary files differnew file mode 100644 index 0000000..18f3eeb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt Binary files differnew file mode 100644 index 0000000..31eb489 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt Binary files differnew file mode 100644 index 0000000..047755c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt Binary files differnew file mode 100644 index 0000000..52e4284 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt Binary files differnew file mode 100644 index 0000000..48ec1d6 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt Binary files differnew file mode 100644 index 0000000..ea41ef6 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt Binary files differnew file mode 100644 index 0000000..8edd764 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt Binary files differnew file mode 100644 index 0000000..5eb1018 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt Binary files differnew file mode 100644 index 0000000..33adf07 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt Binary files differnew file mode 100644 index 0000000..f66e4ad --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt Binary files differnew file mode 100644 index 0000000..167fb85 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt Binary files differnew file mode 100644 index 0000000..3b42c12 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt Binary files differnew file mode 100644 index 0000000..cfff240 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt Binary files differnew file mode 100644 index 0000000..6add1d7 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt Binary files differnew file mode 100644 index 0000000..6bdb998 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt Binary files differnew file mode 100644 index 0000000..13f1f94 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt Binary files differnew file mode 100644 index 0000000..1c7559d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt Binary files differnew file mode 100644 index 0000000..6534975 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt Binary files differnew file mode 100644 index 0000000..612f263 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt Binary files differnew file mode 100644 index 0000000..551a8a1 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt Binary files differnew file mode 100644 index 0000000..5c3e152 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt Binary files differnew file mode 100644 index 0000000..b9f3a12 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt Binary files differnew file mode 100644 index 0000000..cc7883c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt Binary files differnew file mode 100644 index 0000000..667b3fb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt Binary files differnew file mode 100644 index 0000000..a2b448e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt Binary files differnew file mode 100644 index 0000000..7848ce1 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt Binary files differnew file mode 100644 index 0000000..ca94795 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt Binary files differnew file mode 100644 index 0000000..ae0ed27 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt Binary files differnew file mode 100644 index 0000000..94549cd --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt Binary files differnew file mode 100644 index 0000000..3596183 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt Binary files differnew file mode 100644 index 0000000..a094b9f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt Binary files differnew file mode 100644 index 0000000..bf212e0 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt Binary files differnew file mode 100644 index 0000000..13f1d6b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt Binary files differnew file mode 100644 index 0000000..88d1b1a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt Binary files differnew file mode 100644 index 0000000..43ef8a5 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt Binary files differnew file mode 100644 index 0000000..7a23e5a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt Binary files differnew file mode 100644 index 0000000..4c81487 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt Binary files differnew file mode 100644 index 0000000..1b6584b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt Binary files differnew file mode 100644 index 0000000..e26f2a5 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt Binary files differnew file mode 100644 index 0000000..247cd19 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt Binary files differnew file mode 100644 index 0000000..80cf805 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt Binary files differnew file mode 100644 index 0000000..04abe16 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt Binary files differnew file mode 100644 index 0000000..4df9323 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt Binary files differnew file mode 100644 index 0000000..2f3ad47 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt Binary files differnew file mode 100644 index 0000000..6ab46ac --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt Binary files differnew file mode 100644 index 0000000..f814240 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt Binary files differnew file mode 100644 index 0000000..1b671da --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt Binary files differnew file mode 100644 index 0000000..3f61b46 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt Binary files differnew file mode 100644 index 0000000..d8b9495 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt Binary files differnew file mode 100644 index 0000000..93b8cdb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt Binary files differnew file mode 100644 index 0000000..af5294a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt Binary files differnew file mode 100644 index 0000000..edfdccf --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt Binary files differnew file mode 100644 index 0000000..015fd6c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt Binary files differnew file mode 100644 index 0000000..697332e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt Binary files differnew file mode 100644 index 0000000..e7d4906 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt Binary files differnew file mode 100644 index 0000000..6e88f20 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt Binary files differnew file mode 100644 index 0000000..3a9b951 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt Binary files differnew file mode 100644 index 0000000..62dbf02 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt Binary files differnew file mode 100644 index 0000000..37bd51e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt Binary files differnew file mode 100644 index 0000000..4869419 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt Binary files differnew file mode 100644 index 0000000..c05a088 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt Binary files differnew file mode 100644 index 0000000..3b0a251 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt Binary files differnew file mode 100644 index 0000000..f34993f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt Binary files differnew file mode 100644 index 0000000..bf6d423 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt Binary files differnew file mode 100644 index 0000000..56ae661 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt Binary files differnew file mode 100644 index 0000000..7c434a9 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt Binary files differnew file mode 100644 index 0000000..07f776e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt Binary files differnew file mode 100644 index 0000000..6645aaf --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt Binary files differnew file mode 100644 index 0000000..de65fa1 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt Binary files differnew file mode 100644 index 0000000..fd10d4f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt Binary files differnew file mode 100644 index 0000000..ce54406 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt Binary files differnew file mode 100644 index 0000000..a3731cb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt Binary files differnew file mode 100644 index 0000000..eb854a9 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt Binary files differnew file mode 100644 index 0000000..902fb97 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt Binary files differnew file mode 100644 index 0000000..efe015a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt Binary files differnew file mode 100644 index 0000000..3b6c61b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt Binary files differnew file mode 100644 index 0000000..a6067d3 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt Binary files differnew file mode 100644 index 0000000..3e9fc2f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt Binary files differnew file mode 100644 index 0000000..4d7c29c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt Binary files differnew file mode 100644 index 0000000..8292d37 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt Binary files differnew file mode 100644 index 0000000..23fc087 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt Binary files differnew file mode 100644 index 0000000..c505745 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt Binary files differnew file mode 100644 index 0000000..de74dcd --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt Binary files differnew file mode 100644 index 0000000..b63d219 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt Binary files differnew file mode 100644 index 0000000..df2909b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt Binary files differnew file mode 100644 index 0000000..21a967b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt Binary files differnew file mode 100644 index 0000000..5fb3abb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt Binary files differnew file mode 100644 index 0000000..04d2fe2 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt Binary files differnew file mode 100644 index 0000000..cdfdfe5 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt Binary files differnew file mode 100644 index 0000000..16db8e8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt Binary files differnew file mode 100644 index 0000000..f35e0b8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt Binary files differnew file mode 100644 index 0000000..f4982ab --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt Binary files differnew file mode 100644 index 0000000..98c71c7 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt Binary files differnew file mode 100644 index 0000000..85458b2 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt Binary files differnew file mode 100644 index 0000000..444c7a8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt Binary files differnew file mode 100644 index 0000000..160dda0 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt Binary files differnew file mode 100644 index 0000000..56e0e58 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt Binary files differnew file mode 100644 index 0000000..0692541 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt Binary files differnew file mode 100644 index 0000000..d73829b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt Binary files differnew file mode 100644 index 0000000..a1c2948 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt Binary files differnew file mode 100644 index 0000000..8b3a08f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt Binary files differnew file mode 100644 index 0000000..e55ce79 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt Binary files differnew file mode 100644 index 0000000..bffde44 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt Binary files differnew file mode 100644 index 0000000..6757390 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt Binary files differnew file mode 100644 index 0000000..8d580d5 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt Binary files differnew file mode 100644 index 0000000..05f4a95 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt Binary files differnew file mode 100644 index 0000000..ff6d56b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt Binary files differnew file mode 100644 index 0000000..0c4b338 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt Binary files differnew file mode 100644 index 0000000..287ce05 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt Binary files differnew file mode 100644 index 0000000..8516ec2 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt Binary files differnew file mode 100644 index 0000000..644f594 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt Binary files differnew file mode 100644 index 0000000..ea90806 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt Binary files differnew file mode 100644 index 0000000..fb75072 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt Binary files differnew file mode 100644 index 0000000..d5a7728 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt Binary files differnew file mode 100644 index 0000000..43b46f2 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt Binary files differnew file mode 100644 index 0000000..544be04 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt Binary files differnew file mode 100644 index 0000000..6a47f98 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt Binary files differnew file mode 100644 index 0000000..fc80325 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt Binary files differnew file mode 100644 index 0000000..6080965 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt Binary files differnew file mode 100644 index 0000000..44d7574 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt Binary files differnew file mode 100644 index 0000000..41deba5 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt Binary files differnew file mode 100644 index 0000000..bd4c83b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt Binary files differnew file mode 100644 index 0000000..f20a74b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt Binary files differnew file mode 100644 index 0000000..e98672f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt Binary files differnew file mode 100644 index 0000000..4cddff8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt Binary files differnew file mode 100644 index 0000000..7819f57 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt Binary files differnew file mode 100644 index 0000000..eae53d9 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt Binary files differnew file mode 100644 index 0000000..b2b22de --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt Binary files differnew file mode 100644 index 0000000..37d0aba --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt Binary files differnew file mode 100644 index 0000000..adfeee4 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt Binary files differnew file mode 100644 index 0000000..3ed111a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt Binary files differnew file mode 100644 index 0000000..05945b1 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt Binary files differnew file mode 100644 index 0000000..0d6cee6 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt Binary files differnew file mode 100644 index 0000000..317ad1b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt Binary files differnew file mode 100644 index 0000000..a717dc0 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt Binary files differnew file mode 100644 index 0000000..577c134 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt Binary files differnew file mode 100644 index 0000000..ad3c709 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt Binary files differnew file mode 100644 index 0000000..9466c99 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt Binary files differnew file mode 100644 index 0000000..af14c7f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt Binary files differnew file mode 100644 index 0000000..3e5557b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt Binary files differnew file mode 100644 index 0000000..2097711 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt Binary files differnew file mode 100644 index 0000000..9805704 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt Binary files differnew file mode 100644 index 0000000..6ffca56 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt Binary files differnew file mode 100644 index 0000000..9db2d21 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt Binary files differnew file mode 100644 index 0000000..00710b8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt Binary files differnew file mode 100644 index 0000000..f409e0d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt Binary files differnew file mode 100644 index 0000000..5709f85 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt Binary files differnew file mode 100644 index 0000000..e999c59 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt Binary files differnew file mode 100644 index 0000000..fe423f0 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt Binary files differnew file mode 100644 index 0000000..631dfdb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt Binary files differnew file mode 100644 index 0000000..8fd1172 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt Binary files differnew file mode 100644 index 0000000..f8ee4ff --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt Binary files differnew file mode 100644 index 0000000..973fb58 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt Binary files differnew file mode 100644 index 0000000..66a25b6 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt Binary files differnew file mode 100644 index 0000000..1a1e98d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt Binary files differnew file mode 100644 index 0000000..b0b1716 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt Binary files differnew file mode 100644 index 0000000..bb1ef20 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt Binary files differnew file mode 100644 index 0000000..35b2eeb --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt Binary files differnew file mode 100644 index 0000000..5a6c951 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt Binary files differnew file mode 100644 index 0000000..563c1a7 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt Binary files differnew file mode 100644 index 0000000..f85d2b1 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt Binary files differnew file mode 100644 index 0000000..ae7b3e0 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt Binary files differnew file mode 100644 index 0000000..1d1f741 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt Binary files differnew file mode 100644 index 0000000..5972fac --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt Binary files differnew file mode 100644 index 0000000..d920d91 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt Binary files differnew file mode 100644 index 0000000..c96dd3b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt Binary files differnew file mode 100644 index 0000000..978aaf8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt Binary files differnew file mode 100644 index 0000000..86b24e7 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt Binary files differnew file mode 100644 index 0000000..40a17f3 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt Binary files differnew file mode 100644 index 0000000..eca00b3 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt Binary files differnew file mode 100644 index 0000000..08b5623 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt Binary files differnew file mode 100644 index 0000000..6279e06 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt Binary files differnew file mode 100644 index 0000000..b5d1f36 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt Binary files differnew file mode 100644 index 0000000..4e47d01 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt Binary files differnew file mode 100644 index 0000000..1188828 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt Binary files differnew file mode 100644 index 0000000..5a69534 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt Binary files differnew file mode 100644 index 0000000..2c609f6 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt Binary files differnew file mode 100644 index 0000000..b40767e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt Binary files differnew file mode 100644 index 0000000..cc7bf5f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt Binary files differnew file mode 100644 index 0000000..5ae2c5d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt Binary files differnew file mode 100644 index 0000000..d005c89 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt Binary files differnew file mode 100644 index 0000000..4c7006c --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt Binary files differnew file mode 100644 index 0000000..81c7e71 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt Binary files differnew file mode 100644 index 0000000..e020220 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt Binary files differnew file mode 100644 index 0000000..0b82b2a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt Binary files differnew file mode 100644 index 0000000..8900e1d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt Binary files differnew file mode 100644 index 0000000..cd03fd4 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt Binary files differnew file mode 100644 index 0000000..1d47304 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt Binary files differnew file mode 100644 index 0000000..9cc7d99 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt Binary files differnew file mode 100644 index 0000000..1d28aaf --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt Binary files differnew file mode 100644 index 0000000..d648987 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt Binary files differnew file mode 100644 index 0000000..6a1a59d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt Binary files differnew file mode 100644 index 0000000..a7e2533 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt Binary files differnew file mode 100644 index 0000000..66c2e40 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt Binary files differnew file mode 100644 index 0000000..f6c9c4f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt Binary files differnew file mode 100644 index 0000000..ae85d35 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt Binary files differnew file mode 100644 index 0000000..0f7355b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt Binary files differnew file mode 100644 index 0000000..1544e6a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt Binary files differnew file mode 100644 index 0000000..392001e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt Binary files differnew file mode 100644 index 0000000..d23fe2b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt Binary files differnew file mode 100644 index 0000000..a1d1c45 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt Binary files differnew file mode 100644 index 0000000..430983e --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt Binary files differnew file mode 100644 index 0000000..1dca9a4 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt Binary files differnew file mode 100644 index 0000000..6660777 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt Binary files differnew file mode 100644 index 0000000..76dbd47 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt Binary files differnew file mode 100644 index 0000000..c1d1efd --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt Binary files differnew file mode 100644 index 0000000..613fab2 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt Binary files differnew file mode 100644 index 0000000..f30ada3 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt Binary files differnew file mode 100644 index 0000000..d65c4fc --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt Binary files differnew file mode 100644 index 0000000..8900030 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt Binary files differnew file mode 100644 index 0000000..8f9651d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt Binary files differnew file mode 100644 index 0000000..e170d6a --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt Binary files differnew file mode 100644 index 0000000..dd06110 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt Binary files differnew file mode 100644 index 0000000..7ae0a61 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt Binary files differnew file mode 100644 index 0000000..61663c8 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt Binary files differnew file mode 100644 index 0000000..239cd44 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt Binary files differnew file mode 100644 index 0000000..de04626 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt Binary files differnew file mode 100644 index 0000000..3a47fef --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt Binary files differnew file mode 100644 index 0000000..5b7f450 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt Binary files differnew file mode 100644 index 0000000..814775b --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt Binary files differnew file mode 100644 index 0000000..a435c3f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt Binary files differnew file mode 100644 index 0000000..0a6c56f --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt Binary files differnew file mode 100644 index 0000000..fd7efe9 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt Binary files differnew file mode 100644 index 0000000..bedcd9d --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt Binary files differnew file mode 100644 index 0000000..9afb898 --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt Binary files differnew file mode 100644 index 0000000..5ef82fe --- /dev/null +++ b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt diff --git a/fuzz/dns_message_parse.in/cz.nic-24.pkt b/fuzz/dns_message_parse.in/cz.nic-24.pkt Binary files differnew file mode 100644 index 0000000..1ec4877 --- /dev/null +++ b/fuzz/dns_message_parse.in/cz.nic-24.pkt diff --git a/fuzz/dns_message_parse.in/cz.nic-25.pkt b/fuzz/dns_message_parse.in/cz.nic-25.pkt Binary files differnew file mode 100644 index 0000000..f419385 --- /dev/null +++ b/fuzz/dns_message_parse.in/cz.nic-25.pkt diff --git a/fuzz/dns_message_parse.in/cz.nic-26.pkt b/fuzz/dns_message_parse.in/cz.nic-26.pkt Binary files differnew file mode 100644 index 0000000..cc8e236 --- /dev/null +++ b/fuzz/dns_message_parse.in/cz.nic-26.pkt diff --git a/fuzz/dns_message_parse.in/cz.nic-3.pkt b/fuzz/dns_message_parse.in/cz.nic-3.pkt Binary files differnew file mode 100644 index 0000000..dfa0076 --- /dev/null +++ b/fuzz/dns_message_parse.in/cz.nic-3.pkt diff --git a/fuzz/dns_message_parse.in/issue-4189.pkt b/fuzz/dns_message_parse.in/issue-4189.pkt Binary files differnew file mode 100644 index 0000000..23a2b43 --- /dev/null +++ b/fuzz/dns_message_parse.in/issue-4189.pkt diff --git a/fuzz/dns_message_parse.in/seed-176998.pkt b/fuzz/dns_message_parse.in/seed-176998.pkt Binary files differnew file mode 100644 index 0000000..32820d1 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-176998.pkt diff --git a/fuzz/dns_message_parse.in/seed-209207.pkt b/fuzz/dns_message_parse.in/seed-209207.pkt Binary files differnew file mode 100644 index 0000000..ed8ab50 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-209207.pkt diff --git a/fuzz/dns_message_parse.in/seed-27166.pkt b/fuzz/dns_message_parse.in/seed-27166.pkt Binary files differnew file mode 100644 index 0000000..147b87e --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-27166.pkt diff --git a/fuzz/dns_message_parse.in/seed-289417.pkt b/fuzz/dns_message_parse.in/seed-289417.pkt Binary files differnew file mode 100644 index 0000000..3912fc1 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-289417.pkt diff --git a/fuzz/dns_message_parse.in/seed-345158.pkt b/fuzz/dns_message_parse.in/seed-345158.pkt Binary files differnew file mode 100644 index 0000000..0f57f4c --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-345158.pkt diff --git a/fuzz/dns_message_parse.in/seed-357147.pkt b/fuzz/dns_message_parse.in/seed-357147.pkt Binary files differnew file mode 100644 index 0000000..f659629 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-357147.pkt diff --git a/fuzz/dns_message_parse.in/seed-438052.pkt b/fuzz/dns_message_parse.in/seed-438052.pkt Binary files differnew file mode 100644 index 0000000..08fde3a --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-438052.pkt diff --git a/fuzz/dns_message_parse.in/seed-443089.pkt b/fuzz/dns_message_parse.in/seed-443089.pkt Binary files differnew file mode 100644 index 0000000..bcac48a --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-443089.pkt diff --git a/fuzz/dns_message_parse.in/seed-553818.pkt b/fuzz/dns_message_parse.in/seed-553818.pkt Binary files differnew file mode 100644 index 0000000..54b04fc --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-553818.pkt diff --git a/fuzz/dns_message_parse.in/seed-577278.pkt b/fuzz/dns_message_parse.in/seed-577278.pkt Binary files differnew file mode 100644 index 0000000..4bb211c --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-577278.pkt diff --git a/fuzz/dns_message_parse.in/seed-608943.pkt b/fuzz/dns_message_parse.in/seed-608943.pkt Binary files differnew file mode 100644 index 0000000..b6eb429 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-608943.pkt diff --git a/fuzz/dns_message_parse.in/seed-735918.pkt b/fuzz/dns_message_parse.in/seed-735918.pkt Binary files differnew file mode 100644 index 0000000..c7f95c8 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-735918.pkt diff --git a/fuzz/dns_message_parse.in/seed-738261.pkt b/fuzz/dns_message_parse.in/seed-738261.pkt Binary files differnew file mode 100644 index 0000000..9cdbcd0 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-738261.pkt diff --git a/fuzz/dns_message_parse.in/seed-743121.pkt b/fuzz/dns_message_parse.in/seed-743121.pkt Binary files differnew file mode 100644 index 0000000..588f13a --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-743121.pkt diff --git a/fuzz/dns_message_parse.in/seed-782674.pkt b/fuzz/dns_message_parse.in/seed-782674.pkt Binary files differnew file mode 100644 index 0000000..ca4ad5f --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-782674.pkt diff --git a/fuzz/dns_message_parse.in/seed-818733.pkt b/fuzz/dns_message_parse.in/seed-818733.pkt Binary files differnew file mode 100644 index 0000000..b561586 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-818733.pkt diff --git a/fuzz/dns_message_parse.in/seed-868934.pkt b/fuzz/dns_message_parse.in/seed-868934.pkt Binary files differnew file mode 100644 index 0000000..2e256c3 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-868934.pkt diff --git a/fuzz/dns_message_parse.in/seed-893515.pkt b/fuzz/dns_message_parse.in/seed-893515.pkt Binary files differnew file mode 100644 index 0000000..73a554e --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-893515.pkt diff --git a/fuzz/dns_message_parse.in/seed-894122.pkt b/fuzz/dns_message_parse.in/seed-894122.pkt Binary files differnew file mode 100644 index 0000000..8e05c89 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-894122.pkt diff --git a/fuzz/dns_message_parse.in/seed-928203.pkt b/fuzz/dns_message_parse.in/seed-928203.pkt Binary files differnew file mode 100644 index 0000000..5ca8968 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-928203.pkt diff --git a/fuzz/dns_message_parse.in/seed-94044.pkt b/fuzz/dns_message_parse.in/seed-94044.pkt Binary files differnew file mode 100644 index 0000000..7f7f716 --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-94044.pkt diff --git a/fuzz/dns_message_parse.in/seed-951706.pkt b/fuzz/dns_message_parse.in/seed-951706.pkt Binary files differnew file mode 100644 index 0000000..0d905dc --- /dev/null +++ b/fuzz/dns_message_parse.in/seed-951706.pkt diff --git a/fuzz/dns_name_fromtext_target.c b/fuzz/dns_name_fromtext_target.c new file mode 100644 index 0000000..ba9c7ab --- /dev/null +++ b/fuzz/dns_name_fromtext_target.c @@ -0,0 +1,52 @@ +/* + * 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 <stddef.h> +#include <stdint.h> + +#include <isc/buffer.h> +#include <isc/util.h> + +#include <dns/fixedname.h> +#include <dns/name.h> + +#include "fuzz.h" + +bool debug = false; + +int +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; + + dns_fixedname_init(&origin); + + 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); + if (debug) { + fprintf(stderr, "dns_name_fromtext: %s\n", + isc_result_totext(result)); + } + return (0); +} diff --git a/fuzz/dns_name_fromtext_target.in/example.com b/fuzz/dns_name_fromtext_target.in/example.com new file mode 100644 index 0000000..de54ac6 --- /dev/null +++ b/fuzz/dns_name_fromtext_target.in/example.com @@ -0,0 +1 @@ +example.com diff --git a/fuzz/dns_rdata_fromtext.c b/fuzz/dns_rdata_fromtext.c new file mode 100644 index 0000000..b52a18f --- /dev/null +++ b/fuzz/dns_rdata_fromtext.c @@ -0,0 +1,151 @@ +/* + * 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 <stdbool.h> +#include <stdlib.h> + +#include <isc/attributes.h> +#include <isc/buffer.h> +#include <isc/commandline.h> +#include <isc/lex.h> +#include <isc/mem.h> +#include <isc/print.h> +#include <isc/string.h> +#include <isc/util.h> + +#include <dns/fixedname.h> +#include <dns/name.h> +#include <dns/rdata.h> +#include <dns/rdataclass.h> +#include <dns/rdatatype.h> +#include <dns/result.h> + +#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 0000000..8fec03d --- /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 0000000..d43121d --- /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 0000000..bcf7fae --- /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 0000000..362efca --- /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 0000000..fa09a60 --- /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 0000000..0f9fac7 --- /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 0000000..88d6121 --- /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 0000000..669ff44 --- /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 0000000..bbadbf3 --- /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 0000000..ed30fb3 --- /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 0000000..c9e00bf --- /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 0000000..8d440f8 --- /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 0000000..9e39e6f --- /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 0000000..2274043 --- /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 0000000..93e85c3 --- /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 0000000..13b2b9b --- /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 0000000..616ae14 --- /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 0000000..9a506bd --- /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 0000000..ce06023 --- /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 0000000..c72ccf9 --- /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 0000000..7c4c050 --- /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 0000000..c43de49 --- /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 0000000..385a522 --- /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 0000000..4d9da2c --- /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 0000000..f9ffd67 --- /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 0000000..8e91e2a --- /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 0000000..2341d4f --- /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 0000000..dc32bd0 --- /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 0000000..1febbf4 --- /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 0000000..0732152 --- /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 0000000..e18f225 --- /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 0000000..48c0e15 --- /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 0000000..41c6f7b --- /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 0000000..8a7a927 --- /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 0000000..dc683c7 --- /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 0000000..1e6c98b --- /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 0000000..ed3f929 --- /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 0000000..a9c9658 --- /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 0000000..14dbb7f --- /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 0000000..c3cc968 --- /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 0000000..91323a8 --- /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 0000000..b67e3aa --- /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 0000000..c315e9c --- /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 0000000..673f0a2 --- /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 0000000..413a5a8 --- /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 0000000..1b21752 --- /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 0000000..adc9470 --- /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 0000000..f6996e0 --- /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 0000000..3dc3bc2 --- /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 0000000..83ff2bc --- /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 0000000..e64d925 --- /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 0000000..ca058b8 --- /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 0000000..3d1dcdb --- /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 0000000..2489600 --- /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 0000000..f011125 --- /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 0000000..4d58d28 --- /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 0000000..da0bca2 --- /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 0000000..8cbd1e8 --- /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 0000000..bc615a1 --- /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 0000000..414f44d --- /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 0000000..bebe069 --- /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 0000000..9f4d243 --- /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 0000000..4c99b65 --- /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 0000000..b391304 --- /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 0000000..040dc3b --- /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 0000000..fc59f3a --- /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 0000000..04e65c2 --- /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 0000000..53819d0 --- /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 0000000..3268638 --- /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 0000000..f92bd70 --- /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 0000000..a85cc45 --- /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 0000000..95107a1 --- /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 0000000..d3a677c --- /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 0000000..a15ca16 --- /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 0000000..bc15aa4 --- /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/svbc-max-token b/fuzz/dns_rdata_fromtext.in/svbc-max-token new file mode 100644 index 0000000..6d1a265 --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/svbc-max-token @@ -0,0 +1 @@ +1 65 8 . aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa= diff --git a/fuzz/dns_rdata_fromtext.in/ta b/fuzz/dns_rdata_fromtext.in/ta new file mode 100644 index 0000000..429d426 --- /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 0000000..1788a62 --- /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 0000000..eb38e20 --- /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 0000000..0b65f21 --- /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 0000000..a20b128 --- /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 0000000..7f662f1 --- /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 0000000..ec979be --- /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 0000000..579eea6 --- /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 0000000..9497109 --- /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 0000000..1a60ed7 --- /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 0000000..539bb5e --- /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 new file mode 100644 index 0000000..f05ddd4 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.c @@ -0,0 +1,219 @@ +/* + * 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 <assert.h> +#include <stddef.h> +#include <stdint.h> +#include <string.h> + +#include <isc/buffer.h> +#include <isc/lex.h> +#include <isc/mem.h> +#include <isc/result.h> +#include <isc/util.h> + +#include <dns/callbacks.h> +#include <dns/compress.h> +#include <dns/master.h> +#include <dns/rdata.h> +#include <dns/rdatatype.h> + +#include "fuzz.h" + +bool debug = false; + +/* + * Fuzz input to dns_rdata_fromwire(). Then convert the result + * to text, back to wire format, to multiline text, and back to wire + * format again, checking for consistency throughout the sequence. + */ + +static isc_mem_t *mctx = NULL; +static isc_lex_t *lex = NULL; + +int +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, ...) { + va_list args; + + UNUSED(cb); + + if (debug) { + va_start(args, fmt); + vfprintf(stderr, fmt, args); + fprintf(stderr, "\n"); + va_end(args); + } +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + char totext[64 * 1044 * 4]; + dns_compress_t cctx; + dns_decompress_t dctx; + dns_rdatatype_t rdtype; + dns_rdataclass_t rdclass; + dns_rdatatype_t typelist[256] = { 1000 }; /* unknown */ + dns_rdataclass_t classlist[] = { dns_rdataclass_in, dns_rdataclass_hs, + dns_rdataclass_ch, dns_rdataclass_any, + 60 }; + dns_rdata_t rdata1 = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT, + rdata3 = DNS_RDATA_INIT; + dns_rdatacallbacks_t callbacks; + isc_buffer_t source, target; + isc_result_t result; + unsigned char fromtext[1024]; + unsigned char fromwire[1024]; + unsigned char towire[1024]; + unsigned int classes = (sizeof(classlist) / sizeof(classlist[0])); + unsigned int types = 1, flags, t; + + /* + * First 2 bytes are used to select type and class. + * dns_rdata_fromwire() only accepts input up to 2^16-1 octets. + */ + if (size < 2 || size > 0xffff + 2) { + return (0); + } + + /* + * Append known types to list. + */ + for (t = 1; t <= 0x10000; t++) { + char typebuf[256]; + if (dns_rdatatype_ismeta(t)) { + continue; + } + dns_rdatatype_format(t, typebuf, sizeof(typebuf)); + if (strncmp(typebuf, "TYPE", 4) != 0) { + /* Assert when we need to grow typelist. */ + assert(types < sizeof(typelist) / sizeof(typelist[0])); + typelist[types++] = t; + } + } + + /* + * Random type and class from a limited set. + */ + rdtype = typelist[(*data++) % types]; + size--; + rdclass = classlist[(*data++) % classes]; + size--; + + if (debug) { + fprintf(stderr, "type=%u, class=%u\n", rdtype, rdclass); + } + + dns_rdatacallbacks_init(&callbacks); + callbacks.warn = callbacks.error = nullmsg; + + /* Disallow decompression as we are reading a packet */ + dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); + + isc_buffer_constinit(&source, data, size); + isc_buffer_add(&source, size); + isc_buffer_setactive(&source, size); + + isc_buffer_init(&target, fromwire, sizeof(fromwire)); + + /* + * Reject invalid rdata. + */ + CHECK(dns_rdata_fromwire(&rdata1, rdclass, rdtype, &source, &dctx, 0, + &target)); + assert(rdata1.length == size); + + /* + * Convert to text from wire. + */ + isc_buffer_init(&target, totext, sizeof(totext) - 1); + result = dns_rdata_totext(&rdata1, NULL, &target); + assert(result == ISC_R_SUCCESS); + + /* + * Make debugging easier by NUL terminating. + */ + totext[isc_buffer_usedlength(&target)] = 0; + + /* + * Convert to wire from text. + */ + isc_buffer_constinit(&source, totext, isc_buffer_usedlength(&target)); + isc_buffer_add(&source, isc_buffer_usedlength(&target)); + CHECK(isc_lex_openbuffer(lex, &source)); + + isc_buffer_init(&target, fromtext, sizeof(fromtext)); + result = dns_rdata_fromtext(&rdata2, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); + if (debug && result != ISC_R_SUCCESS) { + fprintf(stderr, "'%s'\n", totext); + } + assert(result == ISC_R_SUCCESS); + assert(rdata2.length == size); + assert(!memcmp(rdata2.data, data, size)); + + /* + * Convert to multi-line text from wire. + */ + isc_buffer_init(&target, totext, sizeof(totext)); + flags = dns_master_styleflags(&dns_master_style_default); + result = dns_rdata_tofmttext(&rdata1, dns_rootname, flags, 80 - 32, 4, + "\n", &target); + assert(result == ISC_R_SUCCESS); + + /* + * Convert to wire from text. + */ + isc_buffer_constinit(&source, totext, isc_buffer_usedlength(&target)); + isc_buffer_add(&source, isc_buffer_usedlength(&target)); + CHECK(isc_lex_openbuffer(lex, &source)); + + isc_buffer_init(&target, fromtext, sizeof(fromtext)); + result = dns_rdata_fromtext(&rdata3, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); + assert(result == ISC_R_SUCCESS); + assert(rdata3.length == size); + assert(!memcmp(rdata3.data, data, size)); + + /* + * Convert rdata back to wire. + */ + CHECK(dns_compress_init(&cctx, -1, mctx)); + dns_compress_disable(&cctx); + isc_buffer_init(&target, towire, sizeof(towire)); + result = dns_rdata_towire(&rdata1, &cctx, &target); + dns_compress_invalidate(&cctx); + assert(result == ISC_R_SUCCESS); + assert(target.used == size); + assert(!memcmp(target.base, data, size)); + + return (0); +} diff --git a/fuzz/dns_rdata_fromwire_text.in/cdnskey b/fuzz/dns_rdata_fromwire_text.in/cdnskey new file mode 100644 index 0000000..deed842 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/cdnskey @@ -0,0 +1 @@ +:00¿00Ò00000000000ò0
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-101 b/fuzz/dns_rdata_fromwire_text.in/input-101 Binary files differnew file mode 100644 index 0000000..a4f256b --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-101 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-102 b/fuzz/dns_rdata_fromwire_text.in/input-102 Binary files differnew file mode 100644 index 0000000..a8c81c0 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-102 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-103 b/fuzz/dns_rdata_fromwire_text.in/input-103 Binary files differnew file mode 100644 index 0000000..37ca50e --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-103 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-108 b/fuzz/dns_rdata_fromwire_text.in/input-108 new file mode 100644 index 0000000..935b3a7 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-108 @@ -0,0 +1 @@ +,000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-12 b/fuzz/dns_rdata_fromwire_text.in/input-12 new file mode 100644 index 0000000..ed62196 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-12 @@ -0,0 +1 @@ +Ó0µ0àë00
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-123 b/fuzz/dns_rdata_fromwire_text.in/input-123 new file mode 100644 index 0000000..bd71cfa --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-123 @@ -0,0 +1 @@ +0000000000000000000À
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-128 b/fuzz/dns_rdata_fromwire_text.in/input-128 Binary files differnew file mode 100644 index 0000000..9c80f95 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-128 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-130 b/fuzz/dns_rdata_fromwire_text.in/input-130 new file mode 100644 index 0000000..ae6604c --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-130 @@ -0,0 +1 @@ +º000000000000000000000000ÿÿ00¬0ú00000000000000000000ê00ß0000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-134 b/fuzz/dns_rdata_fromwire_text.in/input-134 Binary files differnew file mode 100644 index 0000000..7e9b9a1 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-134 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-143 b/fuzz/dns_rdata_fromwire_text.in/input-143 new file mode 100644 index 0000000..40d79d0 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-143 @@ -0,0 +1 @@ +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 Binary files differnew file mode 100644 index 0000000..b0c21b3 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-15 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-16 b/fuzz/dns_rdata_fromwire_text.in/input-16 new file mode 100644 index 0000000..1822648 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-16 @@ -0,0 +1 @@ +Î0€
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-22 b/fuzz/dns_rdata_fromwire_text.in/input-22 Binary files differnew file mode 100644 index 0000000..7459c27 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-22 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-23 b/fuzz/dns_rdata_fromwire_text.in/input-23 Binary files differnew file mode 100644 index 0000000..0a8a5b1 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-23 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-24 b/fuzz/dns_rdata_fromwire_text.in/input-24 new file mode 100644 index 0000000..e2352e8 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-24 @@ -0,0 +1 @@ +þ0ÿ
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-25 b/fuzz/dns_rdata_fromwire_text.in/input-25 new file mode 100644 index 0000000..3f9f269 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-25 @@ -0,0 +1 @@ +À000000000ÿÿ000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-26 b/fuzz/dns_rdata_fromwire_text.in/input-26 new file mode 100644 index 0000000..01f9b44 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-26 @@ -0,0 +1 @@ +i00000000000000000000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-27 b/fuzz/dns_rdata_fromwire_text.in/input-27 new file mode 100644 index 0000000..a0e69dc --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-27 @@ -0,0 +1 @@ +%00
\ 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 new file mode 100644 index 0000000..958f3f6 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-33 @@ -0,0 +1 @@ +Þ00
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-34 b/fuzz/dns_rdata_fromwire_text.in/input-34 new file mode 100644 index 0000000..f00f99e --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-34 @@ -0,0 +1 @@ +Ç0‰
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-35 b/fuzz/dns_rdata_fromwire_text.in/input-35 Binary files differnew file mode 100644 index 0000000..871ac3b --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-35 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-36 b/fuzz/dns_rdata_fromwire_text.in/input-36 Binary files differnew file mode 100644 index 0000000..a69afb7 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-36 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-47 b/fuzz/dns_rdata_fromwire_text.in/input-47 Binary files differnew file mode 100644 index 0000000..876dcc8 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-47 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-49 b/fuzz/dns_rdata_fromwire_text.in/input-49 Binary files differnew file mode 100644 index 0000000..a970d77 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-49 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-5 b/fuzz/dns_rdata_fromwire_text.in/input-5 new file mode 100644 index 0000000..0dfa9ed --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-5 @@ -0,0 +1 @@ +„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 new file mode 100644 index 0000000..c28c3da --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-50 @@ -0,0 +1 @@ +µ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 new file mode 100644 index 0000000..3f62457 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-51 @@ -0,0 +1 @@ +‚000000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-53 b/fuzz/dns_rdata_fromwire_text.in/input-53 new file mode 100644 index 0000000..36eeb64 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-53 @@ -0,0 +1 @@ +0000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-57 b/fuzz/dns_rdata_fromwire_text.in/input-57 new file mode 100644 index 0000000..0bac8c5 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-57 @@ -0,0 +1 @@ +º00ð00000000000000000000000000000000ý000000000000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-6 b/fuzz/dns_rdata_fromwire_text.in/input-6 new file mode 100644 index 0000000..868030d --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-6 @@ -0,0 +1 @@ +…00
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-7 b/fuzz/dns_rdata_fromwire_text.in/input-7 Binary files differnew file mode 100644 index 0000000..f4b8392 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-7 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-72 b/fuzz/dns_rdata_fromwire_text.in/input-72 new file mode 100644 index 0000000..56a21f6 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-72 @@ -0,0 +1 @@ +º‘0000000000000000000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-77 b/fuzz/dns_rdata_fromwire_text.in/input-77 Binary files differnew file mode 100644 index 0000000..2755ea3 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-77 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-8 b/fuzz/dns_rdata_fromwire_text.in/input-8 new file mode 100644 index 0000000..38bff02 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-8 @@ -0,0 +1 @@ +o0000000000000000000000000000»µ00000000000â000ï0»00»0è°ïÿ000ÿÿ000ÿ0
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-81 b/fuzz/dns_rdata_fromwire_text.in/input-81 new file mode 100644 index 0000000..5a7495d --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-81 @@ -0,0 +1 @@ +Ó0Ä00ø0000ß
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-83 b/fuzz/dns_rdata_fromwire_text.in/input-83 Binary files differnew file mode 100644 index 0000000..c58e258 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-83 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-84 b/fuzz/dns_rdata_fromwire_text.in/input-84 new file mode 100644 index 0000000..ffcd7fb --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-84 @@ -0,0 +1 @@ +,000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-85 b/fuzz/dns_rdata_fromwire_text.in/input-85 Binary files differnew file mode 100644 index 0000000..45c7465 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-85 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-87 b/fuzz/dns_rdata_fromwire_text.in/input-87 Binary files differnew file mode 100644 index 0000000..24df2ea --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-87 diff --git a/fuzz/dns_rdata_fromwire_text.in/input-89 b/fuzz/dns_rdata_fromwire_text.in/input-89 new file mode 100644 index 0000000..4498467 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-89 @@ -0,0 +1 @@ +10000000000000000000000000000000000000000000ûÌÌÌÌÌÌÌÌÌÌÌÌ
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-96 b/fuzz/dns_rdata_fromwire_text.in/input-96 Binary files differnew file mode 100644 index 0000000..7e3d057 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-96 diff --git a/fuzz/dns_rdata_fromwire_text.in/smimea b/fuzz/dns_rdata_fromwire_text.in/smimea new file mode 100644 index 0000000..40c7514 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/smimea @@ -0,0 +1 @@ +…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 new file mode 100644 index 0000000..55db5f3 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/sshfp @@ -0,0 +1 @@ +|0000
\ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/svcb b/fuzz/dns_rdata_fromwire_text.in/svcb Binary files differnew file mode 100644 index 0000000..800a616 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/svcb diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h new file mode 100644 index 0000000..769f846 --- /dev/null +++ b/fuzz/fuzz.h @@ -0,0 +1,45 @@ +/* + * 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. + */ + +#pragma once + +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> + +#include <isc/dir.h> +#include <isc/lang.h> +#include <isc/mem.h> +#include <isc/once.h> +#include <isc/types.h> +#include <isc/util.h> + +#include <dst/dst.h> + +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 0000000..5931e18 --- /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 <stddef.h> +#include <stdint.h> + +#include <isc/buffer.h> +#include <isc/lex.h> +#include <isc/mem.h> +#include <isc/string.h> +#include <isc/util.h> + +#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 Binary files differnew file mode 100644 index 0000000..9cbde35 --- /dev/null +++ b/fuzz/isc_lex_getmastertoken.in/named.conf diff --git a/fuzz/isc_lex_getmastertoken.in/simple b/fuzz/isc_lex_getmastertoken.in/simple Binary files differnew file mode 100644 index 0000000..a5eb98c --- /dev/null +++ b/fuzz/isc_lex_getmastertoken.in/simple diff --git a/fuzz/isc_lex_gettoken.c b/fuzz/isc_lex_gettoken.c new file mode 100644 index 0000000..c295145 --- /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 <stddef.h> +#include <stdint.h> + +#include <isc/buffer.h> +#include <isc/lex.h> +#include <isc/mem.h> +#include <isc/util.h> + +#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 0000000..dd46100 --- /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 "<stderr>"; // 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 0000000..105e53a --- /dev/null +++ b/fuzz/isc_lex_gettoken.in/simple @@ -0,0 +1,6 @@ +text +to +be +processed +by +lexer diff --git a/fuzz/main.c b/fuzz/main.c new file mode 100644 index 0000000..4bfc66e --- /dev/null +++ b/fuzz/main.c @@ -0,0 +1,164 @@ +/* + * 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 <errno.h> +#include <fcntl.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <unistd.h> + +#include "fuzz.h" + +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + +#include <dirent.h> + +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) { + DIR *dirp; + struct dirent *dp; + + dirp = opendir(dirname); + if (dirp == NULL) { + return; + } + + while ((dp = readdir(dirp)) != NULL) { + char filename[strlen(dirname) + strlen(dp->d_name) + 2]; + + if (dp->d_name[0] == '.') { + continue; + } + snprintf(filename, sizeof(filename), "%s/%s", dirname, + dp->d_name); + test_one_file(filename); + } + + closedir(dirp); +} + +int +main(int argc, char **argv) { + int ret; + char corpusdir[PATH_MAX]; + const char *target = strrchr(argv[0], '/'); + + ret = LLVMFuzzerInitialize(&argc, &argv); + if (ret != 0) { + fprintf(stderr, "LLVMFuzzerInitialize failure: %d\n", ret); + return 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]; + if (strncmp(target, "lt-", 3) == 0) { + target += 3; + } + + snprintf(corpusdir, sizeof(corpusdir), FUZZDIR "/%s.in", target); + + test_all_from(corpusdir); + + return (0); +} + +#elif __AFL_COMPILER + +int +main(int argc, char **argv) { + int ret; + unsigned char buf[64 * 1024]; + + 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 */ +#else /* ifdef __AFL_LOOP */ + { +#endif /* ifdef __AFL_LOOP */ + ret = fread(buf, 1, sizeof(buf), stdin); + if (ret < 0) { + return (0); + } + + LLVMFuzzerTestOneInput(buf, ret); + } + + return (0); +} + +#endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */ |