Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions projects/hpn-ssh/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
RUN apt-get update && apt-get install -y make autoconf automake libtool
RUN apt-get install -y libz-dev libssl1.1 libssl-dev libedit-dev zip libpkcs11
RUN apt-get update && apt-get install -y make autoconf automake libtool
RUN apt-get update && apt-get install -y libz-dev libssl1.1 libssl-dev libedit-dev zip
RUN git clone https://github.com/rapier1/hpn-ssh
RUN git clone --depth 1 https://github.com/djmdjm/openssh-fuzz-cases
WORKDIR hpn-ssh
Expand Down
23 changes: 12 additions & 11 deletions projects/hpn-ssh/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
#
################################################################################

#git pull --all
#git checkout oss_fuzz_tests
git pull --all
git checkout dev_minor

# Enable null cipher
sed -i 's/#define CFLAG_INTERNAL.*/#define CFLAG_INTERNAL 0/' cipher.c
Expand All @@ -41,11 +41,12 @@ fi
make -j$(nproc) all

# Build fuzzers
EXTRA_CFLAGS="-DCIPHER_NONE_AVAIL=1"
EXTRA_CFLAGS="-DCIPHER_NONE_AVAIL=1 -D_GNU_SOURCE -Iopenbsd-compat/include"
STATIC_CRYPTO="-Wl,-Bstatic -lcrypto -Wl,-Bdynamic"

SK_NULL=ssh-sk-null.o
SK_DUMMY=sk-dummy.o
COMMON_DEPS="ssh-pkcs11-client.o -lssh -lopenbsd-compat"

$CC $CFLAGS $EXTRA_CFLAGS -I. -g -c \
regress/misc/fuzz-harness/ssh-sk-null.cc -o ssh-sk-null.o
Expand All @@ -54,36 +55,36 @@ $CC $CFLAGS $EXTRA_CFLAGS -I. -g -c \

$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/pubkey_fuzz.cc -o $OUT/pubkey_fuzz \
-lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$COMMON_DEPS $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/privkey_fuzz.cc -o $OUT/privkey_fuzz \
-lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$COMMON_DEPS $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/sig_fuzz.cc -o $OUT/sig_fuzz \
-lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$COMMON_DEPS $SK_NULL $STATIC_CRYPTO $LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/authopt_fuzz.cc -o $OUT/authopt_fuzz \
auth-options.o -lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO \
auth-options.o $COMMON_DEPS $SK_NULL $STATIC_CRYPTO \
$LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/sshsig_fuzz.cc -o $OUT/sshsig_fuzz \
sshsig.o -lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO \
sshsig.o $COMMON_DEPS $SK_NULL $STATIC_CRYPTO \
$LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/sshsigopt_fuzz.cc -o $OUT/sshsigopt_fuzz \
sshsig.o -lssh -lopenbsd-compat $SK_NULL $STATIC_CRYPTO \
sshsig.o $COMMON_DEPS $SK_NULL $STATIC_CRYPTO \
$LIB_FUZZING_ENGINE
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/kex_fuzz.cc -o $OUT/kex_fuzz \
-lssh -lopenbsd-compat -lz $SK_NULL $STATIC_CRYPTO \
$COMMON_DEPS -lz $SK_NULL $STATIC_CRYPTO \
$LIB_FUZZING_ENGINE

$CC $CFLAGS $EXTRA_CFLAGS -I. -g -c \
regress/misc/fuzz-harness/agent_fuzz_helper.c -o agent_fuzz_helper.o
$CC $CFLAGS $EXTRA_CFLAGS -I. -g -c -DENABLE_SK_INTERNAL=1 ssh-sk.c -o ssh-sk.o
$CXX $CXXFLAGS -std=c++11 $EXTRA_CFLAGS -I. -L. -Lopenbsd-compat -g \
regress/misc/fuzz-harness/agent_fuzz.cc -o $OUT/agent_fuzz \
$SK_DUMMY agent_fuzz_helper.o ssh-sk.o -lssh -lopenbsd-compat -lz \
$SK_DUMMY agent_fuzz_helper.o ssh-sk.o $COMMON_DEPS -lz \
$STATIC_CRYPTO $LIB_FUZZING_ENGINE

# Prepare seed corpora
Expand Down