diff options
author | Catena cyber <35799796+catenacyber@users.noreply.github.com> | 2018-10-12 21:33:44 +0200 |
---|---|---|
committer | jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com> | 2018-10-12 12:33:44 -0700 |
commit | fc4da53b7725469d50054d11bac8f48ed9e2b310 (patch) | |
tree | 0211ee21b6e4d1b85b103db5d90bb0042c647b04 /projects/libpcap | |
parent | 7f8c385c8fc0602d15d652ba02459da2a1351105 (diff) | |
download | oss-fuzz-fc4da53b7725469d50054d11bac8f48ed9e2b310.tar.gz |
[libpcap] Add project (#1756)
Adds libpcap project
Diffstat (limited to 'projects/libpcap')
-rw-r--r-- | projects/libpcap/Dockerfile | 24 | ||||
-rwxr-xr-x | projects/libpcap/build.sh | 44 | ||||
-rw-r--r-- | projects/libpcap/project.yaml | 8 |
3 files changed, 76 insertions, 0 deletions
diff --git a/projects/libpcap/Dockerfile b/projects/libpcap/Dockerfile new file mode 100644 index 000000000..91d870e75 --- /dev/null +++ b/projects/libpcap/Dockerfile @@ -0,0 +1,24 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +MAINTAINER security@tcpdump.org +RUN apt-get update && apt-get install -y make cmake flex bison +RUN git clone --depth 1 https://github.com/the-tcpdump-group/libpcap.git libpcap +# for corpus as wireshark +RUN git clone --depth=1 https://github.com/the-tcpdump-group/tcpdump.git tcpdump +WORKDIR $SRC +COPY build.sh $SRC/ diff --git a/projects/libpcap/build.sh b/projects/libpcap/build.sh new file mode 100755 index 000000000..97cf4aa55 --- /dev/null +++ b/projects/libpcap/build.sh @@ -0,0 +1,44 @@ +#!/bin/bash -eu +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +cd libpcap +# build project +mkdir build +cd build +cmake .. +make + + +# build fuzz targets +for target in pcap filter both +do + $CC $CFLAGS -I.. -c ../testprogs/fuzz/fuzz_$target.c -o fuzz_$target.o + $CXX $CXXFLAGS fuzz_$target.o -o $OUT/fuzz_$target libpcap.a -lFuzzingEngine +done + +# export other associated stuff +cd .. +cp testprogs/fuzz/fuzz_*.options $OUT/ +# builds corpus +cd $SRC/tcpdump/ +zip -r fuzz_pcap_seed_corpus.zip tests/ +cp fuzz_pcap_seed_corpus.zip $OUT/ +cd $SRC/libpcap/testprogs/BPF +mkdir corpus +ls *.txt | while read i; do tail -1 $i > corpus/$i; done +zip -r fuzz_filter_seed_corpus.zip corpus/ +cp fuzz_filter_seed_corpus.zip $OUT/ diff --git a/projects/libpcap/project.yaml b/projects/libpcap/project.yaml new file mode 100644 index 000000000..3333315d1 --- /dev/null +++ b/projects/libpcap/project.yaml @@ -0,0 +1,8 @@ +homepage: "https://www.tcpdump.org" +primary_contact: "security@tcpdump.org" +auto_ccs : "p.antoine@catenacyber.fr" + +sanitizers: +- address +- memory +- undefined |