[go-ethereum] Initial integration (#4515)

* [go-ethereum] Initial integration

* Updated primary contact
This commit is contained in:
AdamKorcz 2020-10-19 19:31:01 +01:00 committed by GitHub
parent 8daba1a1a1
commit 02455a7def
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 98 additions and 0 deletions

View File

@ -0,0 +1,43 @@
# Copyright 2020 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
RUN go get github.com/ethereum/go-ethereum
RUN go get golang.org/x/sys/cpu
RUN go get github.com/go-stack/stack
RUN go get github.com/deckarep/golang-set
RUN go get github.com/golang/snappy
RUN go get github.com/gorilla/websocket
RUN go get github.com/hashicorp/golang-lru
RUN go get github.com/holiman/uint256
RUN go get github.com/olekukonko/tablewriter
RUN go get github.com/prometheus/tsdb/fileutil
RUN go get github.com/shirou/gopsutil/cpu
RUN go get github.com/steakknife/bloomfilter
RUN go get github.com/syndtr/goleveldb/leveldb
RUN go get github.com/syndtr/goleveldb/leveldb/errors
RUN go get github.com/syndtr/goleveldb/leveldb/filter
RUN go get github.com/syndtr/goleveldb/leveldb/opt
RUN go get github.com/syndtr/goleveldb/leveldb/util
RUN go get github.com/VictoriaMetrics/fastcache
RUN go get github.com/aristanetworks/goarista/monotime
RUN go get github.com/pborman/uuid
RUN go get github.com/rjeczalik/notify
RUN go get github.com/google/gofuzz
COPY build.sh $SRC/
WORKDIR $SRC/

44
projects/go-ethereum/build.sh Executable file
View File

@ -0,0 +1,44 @@
#/bin/bash -eu
# Copyright 2020 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.
#
################################################################################
function compile_fuzzer {
path=$1
function=$2
fuzzer=$3
go-fuzz -func $function -o $fuzzer.a $path
$CXX $CXXFLAGS $LIB_FUZZING_ENGINE $fuzzer.a -o $OUT/$fuzzer
}
cd $GOPATH/src/github.com/ethereum/go-ethereum
make all
cd $SRC
compile_fuzzer github.com/ethereum/go-ethereum/common/bitutil Fuzz fuzzBitutilCompress
compile_fuzzer github.com/ethereum/go-ethereum/crypto/bn256 FuzzAdd fuzzAdd
compile_fuzzer github.com/ethereum/go-ethereum/crypto/bn256 FuzzMul fuzzMul
compile_fuzzer github.com/ethereum/go-ethereum/crypto/bn256 FuzzPair fuzzPair
compile_fuzzer github.com/ethereum/go-ethereum/core/vm/runtime Fuzz fuzzVmRuntime
compile_fuzzer github.com/ethereum/go-ethereum/crypto/blake2b Fuzz fuzzBlake2b
compile_fuzzer github.com/ethereum/go-ethereum/tests/fuzzers/keystore Fuzz fuzzKeystore
compile_fuzzer github.com/ethereum/go-ethereum/tests/fuzzers/txfetcher Fuzz fuzzTxfetcher
#compile_fuzzer github.com/ethereum/go-ethereum/tests/fuzzers/abi Fuzz fuzzAbi
compile_fuzzer github.com/ethereum/go-ethereum/tests/fuzzers/rlp Fuzz fuzzRlp
compile_fuzzer github.com/ethereum/go-ethereum/tests/fuzzers/trie Fuzz fuzzTrie

View File

@ -0,0 +1,11 @@
homepage: "https://github.com/ethereum/go-ethereum"
primary_contact: "peter@ethereum.org"
auto_ccs :
- "adam@adalogics.com"
- "fjl@ethereum.org"
- "martin.swende@ethereum.org"
language: go
fuzzing_engines:
- libfuzzer
sanitizers:
- address