summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2018-01-12 00:00:24 +0100
committerRobert Swiecki <robert@swiecki.net>2018-01-12 00:00:24 +0100
commite3bc89ea96668a873a7cf90d2adda55a3bdd768f (patch)
treeb476087690831fe168d264b0b547fb8abfe693e7 /examples
parent89d444ab9038fe79a1a1f757a9e701c2fd887e8f (diff)
downloadhonggfuzz-e3bc89ea96668a873a7cf90d2adda55a3bdd768f.tar.gz
examples/apache-httpd: readme
Diffstat (limited to 'examples')
-rw-r--r--examples/apache-httpd/README.md31
1 files changed, 18 insertions, 13 deletions
diff --git a/examples/apache-httpd/README.md b/examples/apache-httpd/README.md
index a6901609..2710736e 100644
--- a/examples/apache-httpd/README.md
+++ b/examples/apache-httpd/README.md
@@ -2,44 +2,49 @@
**Requirements**
- * honggfuzz (1.0 or from the master branch)
+ * honggfuzz
* clang-4.0, or newer (5.0 works as well)
- * apache (e.g.: 2.4.25 or the master branch from git)
+ * apache (e.g. 2.4.29 or from githubs' master branch)
+ * apr, apr-utils, nghttp2
**Preparation**
-Note: The examples provided below use hardcoded paths (here to _/home/swiecki/_) and
+Note: The examples provided below use hardcoded paths (here to _/home/$USER/_) 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.
1. Compile honggfuzz
2. Download and unpack the following packages: apr, apr-util, ngttp2, and Apache's httpd
3. Patch Apache's httpd
- ```
+
+```shell
$ cd httpd-master
$ patch -p1 < httpd-master.honggfuzz.patch
- ```
+```
4. Configure, compile and install Apache
- * edit compile_and_install.sh to contain valid versions/paths
- ```
-$ ./compile_and_install.sh
- ```
+ * edit ```compile_and_install.asan.sh``` so it contains valid versions/paths
+
+```shell
+$ ./compile_and_install.asan.sh
+```
-5. Copy the custom configuration files to ```/home/swiecki/fuzz/apache/apache2/conf/``` (i.e. to your apache dist directory)
+5. Copy custom configuration files (```httpd.conf.h1``` and ```httpd.conf.h2```) to ```/home/$USER/fuzz/apache/apache2/conf/``` (i.e. to your apache dist directory)
```
-$ cp httpd.conf.h1 httpd.conf.h2 /home/swiecki/fuzz/apache/apache2/conf/
+$ cp httpd.conf.h1 httpd.conf.h2 /home/$USER/fuzz/apache/apache2/conf/
```
+6. Edit ```httpd.conf.h1``` and ```httpd.conf.h2```, so they contain valid configuration paths
+
**Fuzzing**
* HTTP/1
```
-$ honggfuzz/honggfuzz -P -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h1
+$ honggfuzz/honggfuzz -f corpus_http1 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h1
```
* HTTP/2
```
-$ honggfuzz/honggfuzz -P -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/swiecki/fuzz/apache/apache2/conf/httpd.conf.h2
+$ honggfuzz/honggfuzz -f corpus_http2 -w ./httpd.wordlist -- ./apache2/bin/httpd -DFOREGROUND -f /home/$USER/fuzz/apache/apache2/conf/httpd.conf.h2
```