1# Copyright 2019 Google Inc. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15################################################################################ 16 17FROM gcr.io/oss-fuzz-base/base-builder-rust 18ENV GOPATH /root/go 19ENV PATH $PATH:/root/.go/bin:$GOPATH/bin 20RUN install_go.sh 21 22RUN apt-get update && \ 23 apt-get install -y software-properties-common wget make autoconf automake libtool build-essential cmake mercurial gyp ninja-build zlib1g-dev libsqlite3-dev bison flex texinfo 24 25RUN git clone --depth 1 https://github.com/guidovranken/cryptofuzz 26RUN git clone --depth 1 https://github.com/guidovranken/cryptofuzz-corpora 27RUN git clone --depth 1 https://github.com/openssl/openssl 28RUN git clone --depth 1 https://boringssl.googlesource.com/boringssl 29RUN git clone --depth 1 https://github.com/libressl-portable/portable libressl 30RUN cd $SRC/libressl && ./update.sh 31RUN git clone --depth 1 https://github.com/weidai11/cryptopp/ 32RUN git clone --depth 1 git://git.gnupg.org/libgcrypt.git 33RUN wget https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.bz2 34RUN git clone --depth 1 -b oss-fuzz https://github.com/project-everest/hacl-star evercrypt 35RUN git clone --depth 1 https://github.com/google/cityhash.git 36RUN git clone --depth 1 https://github.com/randombit/botan.git 37RUN git clone --depth 1 https://github.com/wolfSSL/wolfssl.git 38RUN git clone --depth 1 -b development_2.x https://github.com/ARMmbed/mbedtls.git 39RUN hg clone https://hg.mozilla.org/projects/nspr 40#RUN hg clone https://hg.mozilla.org/projects/nss 41RUN git clone --depth 1 https://github.com/jedisct1/libsodium.git 42RUN git clone --depth 1 https://github.com/libtom/libtomcrypt.git 43#RUN git clone --depth 1 https://github.com/microsoft/SymCrypt.git 44RUN hg clone https://gmplib.org/repo/gmp/ libgmp/ 45RUN wget https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.5.1.tar.gz 46RUN git clone --depth 1 https://github.com/indutny/bn.js.git 47RUN git clone --depth 1 https://github.com/MikeMcl/bignumber.js.git 48RUN git clone --depth 1 https://github.com/guidovranken/libfuzzer-js.git 49RUN git clone --depth 1 https://github.com/brix/crypto-js.git 50RUN git clone --depth 1 https://github.com/LoupVaillant/Monocypher.git 51RUN git clone --depth 1 https://github.com/trezor/trezor-firmware.git 52RUN git clone --depth 1 https://github.com/Cyan4973/xxHash.git 53RUN git clone --depth 1 https://github.com/paulmillr/noble-ed25519.git 54RUN git clone --depth 1 https://github.com/paulmillr/noble-bls12-381.git 55RUN git clone --depth 1 https://github.com/paulmillr/noble-secp256k1.git 56RUN git clone --depth 1 https://github.com/supranational/blst.git 57RUN git clone --depth 1 https://github.com/bitcoin-core/secp256k1.git 58RUN apt-get remove -y libunwind8 59RUN apt-get install -y libssl-dev 60RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.bz2 61RUN wget https://nodejs.org/dist/v14.17.1/node-v14.17.1-linux-x64.tar.xz 62 63COPY build.sh xxd.c $SRC/ 64