• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash -eu
2#
3# Copyright 2020 Google Inc.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17################################################################################
18
19TARGETS_DIR=Tests/Fuzzers/Bin
20
21# Build libpcap
22cd $SRC/libpcap/
23./configure
24make -j$(nproc)
25
26# Build PcapPlusPlus linking statically against the built libpcap
27cd $SRC/PcapPlusPlus
28./configure-fuzzing.sh --libpcap-static-lib-dir $SRC/libpcap/
29make clean
30make -j$(nproc) fuzzers
31
32# Copy target and options
33cp $TARGETS_DIR/FuzzTarget $OUT
34cp $(ldd $OUT/FuzzTarget | cut -d" " -f3) $OUT
35cp $SRC/default.options $OUT/FuzzTarget.options
36
37# Copy corpora
38cd $SRC/tcpdump
39zip -jr FuzzTarget_seed_corpus.zip tests/*.pcap
40cp FuzzTarget_seed_corpus.zip $OUT/
41