diff options
author | 2016-12-09 10:36:42 -0500 | |
---|---|---|
committer | 2016-12-09 07:36:42 -0800 | |
commit | ed2ee1adacc6ff6647d72bbe1a08ad2404869f1b (patch) | |
tree | 00376703dde4f5f75b8b535f1197a51220df72d2 /projects/gnutls/Dockerfile | |
parent | 2dfb5a675e10084af5fb8471a12c51c2cc886de1 (diff) |
[In progress] Fuzzer for GNUTLS (#135)
* First cut at gnutls. Doesn't actually find coverage.
* link everything right
* pipes are not sockets
* send not write
* these are not used
* stick this here
* this doesn't exit
* remove jenkinsfile
* move to the right dir
* project file
* update for more recent conventions
* ugh, typo
* new lib
* docs take forever
* name it client fuzzer
* stick a cert store on there!
* add a timeout, ugh
* Shtudown the right side instead of using a timeout
* Use boringssl's test corpus
* simplify grabbing the tarballs
* statically link things. pthread is still dynamically linked because I was not able to make it work
* Added an x509 parser fuzzer
* update for the lastest convention
Diffstat (limited to 'projects/gnutls/Dockerfile')
-rw-r--r-- | projects/gnutls/Dockerfile | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/projects/gnutls/Dockerfile b/projects/gnutls/Dockerfile new file mode 100644 index 00000000..6daadb56 --- /dev/null +++ b/projects/gnutls/Dockerfile @@ -0,0 +1,31 @@ +# Copyright 2016 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 ossfuzz/base-libfuzzer +MAINTAINER alex.gaynor@gmail.com +RUN apt-get install -y make autoconf automake libtool autopoint libnettle6 nettle-dev pkg-config gperf bison autogen texinfo curl + +RUN git clone https://gitlab.com/gnutls/gnutls.git +RUN cd gnutls && git submodule update --init + +# Using the client_corpus transcripts from boringssl, they're a decent starting point. +RUN mkdir boringssl-testcases +RUN cd boringssl-testcases/ && curl https://boringssl.googlesource.com/boringssl/+archive/master/fuzz/client_corpus.tar.gz | tar -zx +RUN cd boringssl-testcases/ && curl https://boringssl.googlesource.com/boringssl/+archive/master/fuzz/client_corpus_no_fuzzer_mode.tar.gz | tar -zx +RUN zip gnutls_client_fuzzer_seed_corpus.zip boringssl-testcases/* + +WORKDIR gnutls +COPY build.sh gnutls_client_fuzzer.cc gnutls_x509_parser_fuzzer.cc $SRC/ |