1diff --git a/configure.in b/configure.in 2index b20aad0..eec5ba2 100644 3--- a/configure.in 4+++ b/configure.in 5@@ -725,7 +725,7 @@ AC_MSG_CHECKING([for Check to enable unit tests]) 6 if test "x$PKGCONFIG" != "x" && `$PKGCONFIG --atleast-version='0.9.12' check`; then 7 UNITTEST_CFLAGS=`$PKGCONFIG --cflags check` 8 UNITTEST_LIBS=`$PKGCONFIG --libs check` 9- other_targets="$other_targets test/httpdunit" 10+ other_targets="$other_targets" 11 12 AC_MSG_RESULT([yes]) 13 else 14diff --git a/hfuzz.compile_and_install.asan.sh b/hfuzz.compile_and_install.asan.sh 15new file mode 100755 16index 0000000..f8a9a41 17--- /dev/null 18+++ b/hfuzz.compile_and_install.asan.sh 19@@ -0,0 +1,63 @@ 20+#!/bin/sh 21+ 22+set -ex 23+ 24+# Directory with honggfuzz installation 25+HFUZZ_DIR="/home/jagger/src/honggfuzz" 26+# Change this to a directory where apache should be installed into 27+INSTALL_PREFIX="$(realpath "$PWD/../dist")" 28+NGHTTP2_VER=1.33.0 29+APR_VER=1.6.5 30+APR_UTIL_VER=1.6.1 31+CFLAGS_SAN="-fsanitize=address -O3 -ggdb" 32+# Another viable option: few 33+APACHE_MODULES=most 34+ 35+NGHTTP2_PATH="$(realpath "$PWD/../nghttp2-$NGHTTP2_VER")/" 36+APR_PATH="$(realpath "$PWD/../apr-$APR_VER")" 37+APR_UTIL_PATH="$(realpath "$PWD/../apr-util-$APR_UTIL_VER")/" 38+ 39+export CC="$HFUZZ_DIR/hfuzz_cc/hfuzz-clang" 40+export CXX="$HFUZZ_DIR/hfuzz_cc/hfuzz-clang++" 41+ 42+echo "Compiling APR" 43+cd "$APR_PATH" 44+CFLAGS="$CFLAGS_SAN" ./configure --disable-shared --enable-static 45+make clean 46+make -j$(nproc) 47+cd - 48+ 49+echo "Compiling APR-UTIL" 50+cd "$APR_UTIL_PATH" 51+CFLAGS="$CFLAGS_SAN" ./configure --with-apr="$APR_PATH" --disable-shared --enable-static 52+make clean 53+make -j$(nproc) 54+cd - 55+ 56+echo "Compiling NGHTTP2" 57+cd "$NGHTTP2_PATH" 58+CFLAGS="$CFLAGS_SAN" CXXFLAGS="$CFLAGS_SAN" ./configure --disable-shared --enable-static 59+make clean 60+make -j$(nproc) 61+cd - 62+ 63+echo "Install PATH: $INSTALL_PREFIX" 64+./buildconf --with-apr="$APR_PATH" --with-apr-util="$APR_UTIL_PATH" 65+ 66+echo "Compiling HTTPD" 67+CFLAGS="-I$NGHTTP2_PATH/lib/includes $CFLAGS_SAN -ggdb -O3" LDFLAGS="-L$NGHTTP2_PATH/lib -lpthread" \ 68+./configure \ 69+ --prefix="$INSTALL_PREFIX" \ 70+ --with-nghttp2="$NGHTTP2_PATH/" \ 71+ --enable-http2 \ 72+ --enable-nghttp2-staticlib-deps \ 73+ --with-mpm=event \ 74+ --enable-unixd \ 75+ --disable-pie \ 76+ --disable-ssl \ 77+ --enable-mods-static=$APACHE_MODULES \ 78+ --with-apr="$APR_PATH" \ 79+ --with-apr-util="$APR_UTIL_PATH" 80+make clean 81+make -j$(nproc) 82+make install 83diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c 84index c887056..1be2d16 100644 85--- a/modules/generators/mod_autoindex.c 86+++ b/modules/generators/mod_autoindex.c 87@@ -1907,6 +1907,8 @@ static void output_directories(struct ent **ar, int n, 88 89 static int dsortf(struct ent **e1, struct ent **e2) 90 { 91+ return 0; 92+ 93 struct ent *c1; 94 struct ent *c2; 95 int result = 0; 96diff --git a/server/request.c b/server/request.c 97index 70812fe..b62272e 100644 98--- a/server/request.c 99+++ b/server/request.c 100@@ -1393,7 +1393,7 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r) 101 return OK; 102 } 103 104- 105+__attribute__((no_sanitize("memory"))) 106 AP_DECLARE(int) ap_location_walk(request_rec *r) 107 { 108 ap_conf_vector_t *now_merged = NULL; 109diff --git a/server/util_pcre.c b/server/util_pcre.c 110index 8254cc4..ef70c43 100644 111--- a/server/util_pcre.c 112+++ b/server/util_pcre.c 113@@ -388,6 +388,7 @@ AP_DECLARE(int) ap_regexec_len(const ap_regex_t *preg, const char *buff, 114 } 115 } 116 117+__attribute__((no_sanitize("memory"))) 118 AP_DECLARE(int) ap_regname(const ap_regex_t *preg, 119 apr_array_header_t *names, const char *prefix, 120 int upper) 121