Requirements
Preparation
Note: The examples provided below use hardcoded paths (here to /home/swiecki/) and version strings of the libraries (e.g. apr-1.5.2). These will have to be modified, so they reflect your actual build environment.
$ cd httpd-master $ patch -p1 < httpd-master.honggfuzz.patch
$ ./compile_and_install.sh
/home/swiecki/fuzz/apache/apache2/conf/
(i.e. to your apache dist directory)$ cp httpd.conf.h1 httpd.conf.h2 /home/swiecki/fuzz/apache/apache2/conf/
Fuzzing
$ honggfuzz/honggfuzz -z -P -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -X -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h1
$ honggfuzz/honggfuzz -z -P -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -X -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h2