Previously, the bin/system/wire_test.c was optionally used as a fuzzer, this commit extracts the parts relevant to the fuzzing into a specialized fuzzer that can be used in oss-fuzz project. The fuzzer parses the input as UDP DNS message, then prints parsed DNS message, then renders the DNS message and then prints the rendered DNS message. No part of the code should cause a assertion failure.
43 lines
792 B
Makefile
43 lines
792 B
Makefile
include $(top_srcdir)/Makefile.top
|
|
|
|
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_message_parse \
|
|
dns_name_fromtext_target \
|
|
dns_rdata_fromwire_text \
|
|
isc_lex_getmastertoken \
|
|
isc_lex_gettoken
|
|
|
|
EXTRA_DIST = \
|
|
dns_message_parse.in \
|
|
dns_name_fromtext_target.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
|