2017-05-30 14:44:22 +00:00
|
|
|
AM_CPPFLAGS = @CPPFLAGS@ \
|
2019-07-17 09:16:19 +00:00
|
|
|
@FUZZING_CFLAGS@ \
|
2017-03-08 10:00:22 +00:00
|
|
|
-I$(top_srcdir)/src/libstrongswan \
|
2018-03-02 12:35:30 +00:00
|
|
|
-I$(top_srcdir)/src/libimcv \
|
|
|
|
-I$(top_srcdir)/src/libtncif \
|
|
|
|
-I$(top_srcdir)/src/libtpmtss \
|
2018-03-09 13:40:00 +00:00
|
|
|
-I$(top_srcdir)/src/libtnccs \
|
|
|
|
-I$(top_srcdir)/src/libtnccs/plugins/tnccs_20 \
|
2017-03-08 10:00:22 +00:00
|
|
|
-DPLUGINDIR=\""$(abs_top_builddir)/src/libstrongswan/plugins\"" \
|
|
|
|
-DPLUGINS="\"${fuzz_plugins}\""
|
|
|
|
|
2017-05-30 14:44:22 +00:00
|
|
|
fuzz_ldflags = ${libfuzzer} \
|
2017-05-01 14:23:55 +00:00
|
|
|
$(top_builddir)/src/libstrongswan/.libs/libstrongswan.a \
|
|
|
|
-Wl,-Bstatic -lgmp -Wl,-Bdynamic \
|
2017-05-30 14:44:22 +00:00
|
|
|
@FUZZING_LDFLAGS@
|
2017-03-08 10:00:22 +00:00
|
|
|
|
2018-03-02 12:35:30 +00:00
|
|
|
pa_tnc_ldflags = \
|
|
|
|
$(top_builddir)/src/libimcv/.libs/libimcv.a \
|
|
|
|
$(top_builddir)/src/libtncif/.libs/libtncif.a \
|
|
|
|
$(top_builddir)/src/libtpmtss/.libs/libtpmtss.a \
|
|
|
|
$(fuzz_ldflags)
|
|
|
|
|
2018-03-09 13:40:00 +00:00
|
|
|
pb_tnc_ldflags = \
|
|
|
|
$(top_builddir)/src/libtnccs/.libs/libtnccs.a \
|
|
|
|
$(top_builddir)/src/libtncif/.libs/libtncif.a \
|
|
|
|
$(fuzz_ldflags)
|
|
|
|
|
2018-07-26 08:01:46 +00:00
|
|
|
FUZZ_TARGETS=fuzz_certs fuzz_crls fuzz_ids fuzz_pa_tnc fuzz_pb_tnc
|
2017-03-08 10:00:22 +00:00
|
|
|
|
2017-05-01 14:23:55 +00:00
|
|
|
all-local: $(FUZZ_TARGETS)
|
2017-03-08 10:00:22 +00:00
|
|
|
|
2017-05-01 14:23:55 +00:00
|
|
|
CLEANFILES=$(FUZZ_TARGETS)
|
|
|
|
|
2017-05-30 14:44:22 +00:00
|
|
|
fuzz_certs: fuzz_certs.c ${libfuzzer}
|
|
|
|
$(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(fuzz_ldflags)
|
|
|
|
|
2018-02-20 16:51:55 +00:00
|
|
|
fuzz_crls: fuzz_crls.c ${libfuzzer}
|
|
|
|
$(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(fuzz_ldflags)
|
|
|
|
|
2018-07-26 08:01:46 +00:00
|
|
|
fuzz_ids: fuzz_ids.c ${libfuzzer}
|
|
|
|
$(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(fuzz_ldflags)
|
|
|
|
|
2018-03-02 12:35:30 +00:00
|
|
|
fuzz_pa_tnc: fuzz_pa_tnc.c ${libfuzzer}
|
|
|
|
$(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(pa_tnc_ldflags)
|
|
|
|
|
2018-03-09 13:40:00 +00:00
|
|
|
fuzz_pb_tnc: fuzz_pb_tnc.c ${libfuzzer}
|
|
|
|
$(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(pb_tnc_ldflags)
|
|
|
|
|
2017-05-30 14:44:22 +00:00
|
|
|
noinst_LIBRARIES = libFuzzerLocal.a
|
|
|
|
libFuzzerLocal_a_SOURCES = libFuzzerLocal.c
|
|
|
|
libFuzzerLocal_a_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
|
2017-05-30 14:46:32 +00:00
|
|
|
|
|
|
|
check: all
|
|
|
|
for f in $(FUZZ_TARGETS); do \
|
|
|
|
corpus=$${f#fuzz_}; \
|
|
|
|
./$$f $(FUZZING_CORPORA)/$${corpus}/*; \
|
2017-05-31 12:37:27 +00:00
|
|
|
crashes=$(FUZZING_CORPORA)/$${corpus}-crash; \
|
|
|
|
test ! -d $${crashes} || ./$$f $${crashes}/*; \
|
2017-05-30 14:46:32 +00:00
|
|
|
done
|