blob: 46316be62198bc2938eaa7c6f0ad6216a5150b02 [file] [log] [blame] [edit]
#!/bin/bash
set -e
cleanup() {
echo "Cleaning up..."
rm -r $CLIENT_DIR $SERVER_DIR
kill %1
}
trap cleanup EXIT
CLIENT_DIR=$(mktemp -d)
SERVER_DIR=$(mktemp -d)
# Build apps first.
cargo build --features fuzzing -p quiche_apps
# Run server in the background.
target/debug/quiche-server --cert fuzz/cert.crt --key fuzz/cert.key --dump-packets $SERVER_DIR &
# Wait for server to be ready.
sleep 1
# Run client.
RUST_LOG=trace target/debug/quiche-client --no-verify https://127.0.0.1:4433 --dump-packets $CLIENT_DIR
# Combine client-received packets into client's seed.
cat $CLIENT_DIR/*.pkt > fuzz/corpus/packet_recv_client/seed
# Combine server-received packets into client's seed.
cat $SERVER_DIR/*.pkt > fuzz/corpus/packet_recv_server/seed
# Minimize fuzz corpora.
cargo +nightly fuzz cmin -Oa packet_recv_client
cargo +nightly fuzz cmin -Oa packet_recv_server