From 4a3ef3d32ec1bb314cdcc4911639a457dbb4d574 Mon Sep 17 00:00:00 2001 From: Max Moroz Date: Wed, 5 Feb 2020 08:07:24 -0800 Subject: [PATCH] [unbound] Fix the build. (#3333) Inspired by https://github.com/google/oss-fuzz/pull/3318 --- projects/unbound/build.sh | 72 +++++++-------------------------------- 1 file changed, 13 insertions(+), 59 deletions(-) diff --git a/projects/unbound/build.sh b/projects/unbound/build.sh index 68cda38c9..cd539d8e1 100755 --- a/projects/unbound/build.sh +++ b/projects/unbound/build.sh @@ -30,12 +30,7 @@ $CC $CFLAGS -I. -DSRCDIR=. -c -o fuzz_4.o fuzz_4.c # get the LIBOBJS with the replaced functions needed for linking. LIBOBJS=`make --eval 'echolibobjs: ; @echo "$(LIBOBJS)"' echolibobjs` -$CXX $CXXFLAGS -std=c++11 \ - $LIB_FUZZING_ENGINE \ - -lssl -lcrypto -pthread \ - -o $OUT/parse_packet_fuzzer \ - parse_packet_fuzzer.o \ - dns.o infra.o rrset.o dname.o \ +OBJECTS_TO_LINK="dns.o infra.o rrset.o dname.o \ msgencode.o as112.o msgparse.o msgreply.o packed_rrset.o iterator.o \ iter_delegpt.o iter_donotq.o iter_fwd.o iter_hints.o iter_priv.o \ iter_resptype.o iter_scrub.o iter_utils.o localzone.o mesh.o modstack.o view.o \ @@ -47,7 +42,14 @@ $CXX $CXXFLAGS -std=c++11 \ val_secalgo.o val_sigcrypt.o val_utils.o dns64.o cachedb.o redis.o authzone.o \ respip.o netevent.o listen_dnsport.o outside_network.o ub_event.o keyraw.o \ sbuffer.o wire2str.o parse.o parseutil.o rrdef.o str2wire.o libunbound.o \ - libworker.o context.o \ + libworker.o context.o rpz.o" + +$CXX $CXXFLAGS -std=c++11 \ + $LIB_FUZZING_ENGINE \ + -lssl -lcrypto -pthread \ + -o $OUT/parse_packet_fuzzer \ + parse_packet_fuzzer.o \ + $OBJECTS_TO_LINK \ $LIBOBJS $CXX $CXXFLAGS -std=c++11 \ @@ -55,19 +57,7 @@ $CXX $CXXFLAGS -std=c++11 \ -lssl -lcrypto -pthread \ -o $OUT/fuzz_1_fuzzer \ fuzz_1.o \ - dns.o infra.o rrset.o dname.o \ - msgencode.o as112.o msgparse.o msgreply.o packed_rrset.o iterator.o \ - iter_delegpt.o iter_donotq.o iter_fwd.o iter_hints.o iter_priv.o \ - iter_resptype.o iter_scrub.o iter_utils.o localzone.o mesh.o modstack.o view.o \ - outbound_list.o alloc.o config_file.o configlexer.o configparser.o \ - fptr_wlist.o edns.o locks.o log.o mini_event.o module.o net_help.o random.o \ - rbtree.o regional.o rtt.o dnstree.o lookup3.o lruhash.o slabhash.o \ - tcp_conn_limit.o timehist.o tube.o winsock_event.o autotrust.o val_anchor.o \ - validator.o val_kcache.o val_kentry.o val_neg.o val_nsec3.o val_nsec.o \ - val_secalgo.o val_sigcrypt.o val_utils.o dns64.o cachedb.o redis.o authzone.o \ - respip.o netevent.o listen_dnsport.o outside_network.o ub_event.o keyraw.o \ - sbuffer.o wire2str.o parse.o parseutil.o rrdef.o str2wire.o libunbound.o \ - libworker.o context.o \ + $OBJECTS_TO_LINK \ $LIBOBJS $CXX $CXXFLAGS -std=c++11 \ @@ -75,19 +65,7 @@ $CXX $CXXFLAGS -std=c++11 \ -lssl -lcrypto -pthread \ -o $OUT/fuzz_2_fuzzer \ fuzz_2.o \ - dns.o infra.o rrset.o dname.o \ - msgencode.o as112.o msgparse.o msgreply.o packed_rrset.o iterator.o \ - iter_delegpt.o iter_donotq.o iter_fwd.o iter_hints.o iter_priv.o \ - iter_resptype.o iter_scrub.o iter_utils.o localzone.o mesh.o modstack.o view.o \ - outbound_list.o alloc.o config_file.o configlexer.o configparser.o \ - fptr_wlist.o edns.o locks.o log.o mini_event.o module.o net_help.o random.o \ - rbtree.o regional.o rtt.o dnstree.o lookup3.o lruhash.o slabhash.o \ - tcp_conn_limit.o timehist.o tube.o winsock_event.o autotrust.o val_anchor.o \ - validator.o val_kcache.o val_kentry.o val_neg.o val_nsec3.o val_nsec.o \ - val_secalgo.o val_sigcrypt.o val_utils.o dns64.o cachedb.o redis.o authzone.o \ - respip.o netevent.o listen_dnsport.o outside_network.o ub_event.o keyraw.o \ - sbuffer.o wire2str.o parse.o parseutil.o rrdef.o str2wire.o libunbound.o \ - libworker.o context.o \ + $OBJECTS_TO_LINK \ $LIBOBJS $CXX $CXXFLAGS -std=c++11 \ @@ -95,19 +73,7 @@ $CXX $CXXFLAGS -std=c++11 \ -lssl -lcrypto -pthread \ -o $OUT/fuzz_3_fuzzer \ fuzz_3.o \ - dns.o infra.o rrset.o dname.o \ - msgencode.o as112.o msgparse.o msgreply.o packed_rrset.o iterator.o \ - iter_delegpt.o iter_donotq.o iter_fwd.o iter_hints.o iter_priv.o \ - iter_resptype.o iter_scrub.o iter_utils.o localzone.o mesh.o modstack.o view.o \ - outbound_list.o alloc.o config_file.o configlexer.o configparser.o \ - fptr_wlist.o edns.o locks.o log.o mini_event.o module.o net_help.o random.o \ - rbtree.o regional.o rtt.o dnstree.o lookup3.o lruhash.o slabhash.o \ - tcp_conn_limit.o timehist.o tube.o winsock_event.o autotrust.o val_anchor.o \ - validator.o val_kcache.o val_kentry.o val_neg.o val_nsec3.o val_nsec.o \ - val_secalgo.o val_sigcrypt.o val_utils.o dns64.o cachedb.o redis.o authzone.o \ - respip.o netevent.o listen_dnsport.o outside_network.o ub_event.o keyraw.o \ - sbuffer.o wire2str.o parse.o parseutil.o rrdef.o str2wire.o libunbound.o \ - libworker.o context.o \ + $OBJECTS_TO_LINK \ $LIBOBJS $CXX $CXXFLAGS -std=c++11 \ @@ -115,19 +81,7 @@ $CXX $CXXFLAGS -std=c++11 \ -lssl -lcrypto -pthread \ -o $OUT/fuzz_4_fuzzer \ fuzz_4.o \ - dns.o infra.o rrset.o dname.o \ - msgencode.o as112.o msgparse.o msgreply.o packed_rrset.o iterator.o \ - iter_delegpt.o iter_donotq.o iter_fwd.o iter_hints.o iter_priv.o \ - iter_resptype.o iter_scrub.o iter_utils.o localzone.o mesh.o modstack.o view.o \ - outbound_list.o alloc.o config_file.o configlexer.o configparser.o \ - fptr_wlist.o edns.o locks.o log.o mini_event.o module.o net_help.o random.o \ - rbtree.o regional.o rtt.o dnstree.o lookup3.o lruhash.o slabhash.o \ - tcp_conn_limit.o timehist.o tube.o winsock_event.o autotrust.o val_anchor.o \ - validator.o val_kcache.o val_kentry.o val_neg.o val_nsec3.o val_nsec.o \ - val_secalgo.o val_sigcrypt.o val_utils.o dns64.o cachedb.o redis.o authzone.o \ - respip.o netevent.o listen_dnsport.o outside_network.o ub_event.o keyraw.o \ - sbuffer.o wire2str.o parse.o parseutil.o rrdef.o str2wire.o libunbound.o \ - libworker.o context.o \ + $OBJECTS_TO_LINK \ $LIBOBJS wget --directory-prefix $OUT https://github.com/jsha/unbound/raw/fuzzing-corpora/testdata/parse_packet_fuzzer_seed_corpus.zip