diff --git a/configure.in b/configure.in
|
index b20aad0..eec5ba2 100644
|
--- a/configure.in
|
+++ b/configure.in
|
@@ -725,7 +725,7 @@ AC_MSG_CHECKING([for Check to enable unit tests])
|
if test "x$PKGCONFIG" != "x" && `$PKGCONFIG --atleast-version='0.9.12' check`; then
|
UNITTEST_CFLAGS=`$PKGCONFIG --cflags check`
|
UNITTEST_LIBS=`$PKGCONFIG --libs check`
|
- other_targets="$other_targets test/httpdunit"
|
+ other_targets="$other_targets"
|
|
AC_MSG_RESULT([yes])
|
else
|
diff --git a/hfuzz.compile_and_install.asan.sh b/hfuzz.compile_and_install.asan.sh
|
new file mode 100755
|
index 0000000..f8a9a41
|
--- /dev/null
|
+++ b/hfuzz.compile_and_install.asan.sh
|
@@ -0,0 +1,63 @@
|
+#!/bin/sh
|
+
|
+set -ex
|
+
|
+# Directory with honggfuzz installation
|
+HFUZZ_DIR="/home/jagger/src/honggfuzz"
|
+# Change this to a directory where apache should be installed into
|
+INSTALL_PREFIX="$(realpath "$PWD/../dist")"
|
+NGHTTP2_VER=1.33.0
|
+APR_VER=1.6.5
|
+APR_UTIL_VER=1.6.1
|
+CFLAGS_SAN="-fsanitize=address -O3 -ggdb"
|
+# Another viable option: few
|
+APACHE_MODULES=most
|
+
|
+NGHTTP2_PATH="$(realpath "$PWD/../nghttp2-$NGHTTP2_VER")/"
|
+APR_PATH="$(realpath "$PWD/../apr-$APR_VER")"
|
+APR_UTIL_PATH="$(realpath "$PWD/../apr-util-$APR_UTIL_VER")/"
|
+
|
+export CC="$HFUZZ_DIR/hfuzz_cc/hfuzz-clang"
|
+export CXX="$HFUZZ_DIR/hfuzz_cc/hfuzz-clang++"
|
+
|
+echo "Compiling APR"
|
+cd "$APR_PATH"
|
+CFLAGS="$CFLAGS_SAN" ./configure --disable-shared --enable-static
|
+make clean
|
+make -j$(nproc)
|
+cd -
|
+
|
+echo "Compiling APR-UTIL"
|
+cd "$APR_UTIL_PATH"
|
+CFLAGS="$CFLAGS_SAN" ./configure --with-apr="$APR_PATH" --disable-shared --enable-static
|
+make clean
|
+make -j$(nproc)
|
+cd -
|
+
|
+echo "Compiling NGHTTP2"
|
+cd "$NGHTTP2_PATH"
|
+CFLAGS="$CFLAGS_SAN" CXXFLAGS="$CFLAGS_SAN" ./configure --disable-shared --enable-static
|
+make clean
|
+make -j$(nproc)
|
+cd -
|
+
|
+echo "Install PATH: $INSTALL_PREFIX"
|
+./buildconf --with-apr="$APR_PATH" --with-apr-util="$APR_UTIL_PATH"
|
+
|
+echo "Compiling HTTPD"
|
+CFLAGS="-I$NGHTTP2_PATH/lib/includes $CFLAGS_SAN -ggdb -O3" LDFLAGS="-L$NGHTTP2_PATH/lib -lpthread" \
|
+./configure \
|
+ --prefix="$INSTALL_PREFIX" \
|
+ --with-nghttp2="$NGHTTP2_PATH/" \
|
+ --enable-http2 \
|
+ --enable-nghttp2-staticlib-deps \
|
+ --with-mpm=event \
|
+ --enable-unixd \
|
+ --disable-pie \
|
+ --disable-ssl \
|
+ --enable-mods-static=$APACHE_MODULES \
|
+ --with-apr="$APR_PATH" \
|
+ --with-apr-util="$APR_UTIL_PATH"
|
+make clean
|
+make -j$(nproc)
|
+make install
|
diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c
|
index c887056..1be2d16 100644
|
--- a/modules/generators/mod_autoindex.c
|
+++ b/modules/generators/mod_autoindex.c
|
@@ -1907,6 +1907,8 @@ static void output_directories(struct ent **ar, int n,
|
|
static int dsortf(struct ent **e1, struct ent **e2)
|
{
|
+ return 0;
|
+
|
struct ent *c1;
|
struct ent *c2;
|
int result = 0;
|
diff --git a/server/request.c b/server/request.c
|
index 70812fe..b62272e 100644
|
--- a/server/request.c
|
+++ b/server/request.c
|
@@ -1393,7 +1393,7 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r)
|
return OK;
|
}
|
|
-
|
+__attribute__((no_sanitize("memory")))
|
AP_DECLARE(int) ap_location_walk(request_rec *r)
|
{
|
ap_conf_vector_t *now_merged = NULL;
|
diff --git a/server/util_pcre.c b/server/util_pcre.c
|
index 8254cc4..ef70c43 100644
|
--- a/server/util_pcre.c
|
+++ b/server/util_pcre.c
|
@@ -388,6 +388,7 @@ AP_DECLARE(int) ap_regexec_len(const ap_regex_t *preg, const char *buff,
|
}
|
}
|
|
+__attribute__((no_sanitize("memory")))
|
AP_DECLARE(int) ap_regname(const ap_regex_t *preg,
|
apr_array_header_t *names, const char *prefix,
|
int upper)
|