bind9/fuzz/Makefile.am
Tony Finch 04f3000dfc Fuzzing and benchmarking for dns_name_fromwire()
Since this is very sensitive code which has often had security
problems in many DNS implementations, it needs a decent amount of
validation. This fuzzer ensures that the new code has the same output
as the old code, and that it doesn't take longer than a second.

The benchmark uses the fuzzer's copy of the old dns_name_fromwire()
code to compare a number of scenarios: many compression pointers, many
labels, long labels, random data, with/without downcasing.
2022-11-17 08:45:17 +00:00

58 lines
1.1 KiB
Makefile

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_name_fromwire \
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_name_fromwire.in \
dns_rdata_fromtext.in \
dns_rdata_fromwire_text.in \
isc_lex_getmastertoken.in \
isc_lex_gettoken.in
dns_name_fromwire_SOURCES = \
dns_name_fromwire.c \
old.c \
old.h
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