mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-13 13:26:01 +03:00
Adds ssdeep support in our build system
ssdeep will be used with the @fuzzyHash operator which is under development
This commit is contained in:
parent
accb1820e0
commit
873c628b1a
@ -41,7 +41,8 @@ mod_security2_la_CFLAGS = @APR_CFLAGS@ \
|
||||
@LUA_CFLAGS@ \
|
||||
@MODSEC_EXTRA_CFLAGS@ \
|
||||
@PCRE_CFLAGS@ \
|
||||
@YAJL_CFLAGS@
|
||||
@YAJL_CFLAGS@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
|
||||
mod_security2_la_CPPFLAGS = @APR_CPPFLAGS@ \
|
||||
@ -63,7 +64,8 @@ mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if HPUX
|
||||
@ -74,7 +76,8 @@ mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if MACOSX
|
||||
@ -85,7 +88,8 @@ mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
@ -96,7 +100,8 @@ mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if LINUX
|
||||
@ -107,7 +112,8 @@ mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version -R @PCRE_LD_PATH
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if FREEBSD
|
||||
@ -118,7 +124,8 @@ mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if OPENBSD
|
||||
@ -129,7 +136,8 @@ mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if NETBSD
|
||||
@ -140,7 +148,8 @@ mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if LINUX
|
||||
|
84
build/find_ssdeep.m4
Normal file
84
build/find_ssdeep.m4
Normal file
@ -0,0 +1,84 @@
|
||||
dnl Check for SSDEEP Libraries
|
||||
dnl CHECK_SSDEEP(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
||||
dnl Sets:
|
||||
dnl SSDEEP_CFLAGS
|
||||
dnl SSDEEP_LDFLAGS
|
||||
|
||||
AC_DEFUN([CHECK_SSDEEP],
|
||||
[dnl
|
||||
|
||||
SSDEEP_CFLAGS=""
|
||||
SSDEEP_LDFLAGS=""
|
||||
SSDEEP_LDADD=""
|
||||
|
||||
AC_ARG_WITH(
|
||||
ssdeep,
|
||||
[AC_HELP_STRING([--with-ssdeep=PATH],[Path to ssdeep prefix])]
|
||||
,, with_ssdeep=yes)
|
||||
|
||||
AS_CASE(["${with_ssdeep}"],
|
||||
[no], [test_paths=],
|
||||
[yes], [test_paths="/usr/lib /usr/local/lib /usr/local/libfuzzy /usr/local/fuzzy /usr/local /opt/libfuzzy /opt/fuzzy /opt /usr"])
|
||||
[test_paths="${with_ssdeep}"],
|
||||
|
||||
AS_IF([test "x${test_paths}" != "x"], [
|
||||
AC_MSG_CHECKING([for ssdeep path])
|
||||
|
||||
SSDEEP_LIB_NAME="fuzzy"
|
||||
SSDEEP_LIB_FILENAME="lib$SSDEEP_LIB_NAME.so"
|
||||
|
||||
if test -z "$withssdeep" -o "$withssdeep" = "yes"; then
|
||||
for i in ${test_paths}; do
|
||||
if test -f "$i/$SSDEEP_LIB_FILENAME"; then
|
||||
SSDEEP_LIB_DIR="$i"
|
||||
fi
|
||||
done
|
||||
else
|
||||
if test -f "$withssdeep/$SSDEEP_LIB_FILENAME"; then
|
||||
SSDEEP_LIB_DIR="$withssdeep"
|
||||
else
|
||||
if test -f "$withssdeep/.libs/$SSDEEP_LIB_FILENAME"; then
|
||||
SSDEEP_LIB_DIR="$withssdeep/.libs/"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
SSDEEP_LDFLAGS="-l$SSDEEP_LIB_NAME"
|
||||
SSDEEP_LDADD="-l$SSDEEP_LIB_NAME"
|
||||
|
||||
if test -z "$withssdeep" -o "$withssdeep" = "yes"; then
|
||||
for i in /usr/include /usr/local/include; do
|
||||
if test -f "$i/$SSDEEP_LIB_NAME.h"; then
|
||||
SSDEEP_CFLAGS="-I$i"
|
||||
fi
|
||||
done
|
||||
else
|
||||
if test -f "$withssdeep/../$SSDEEP_LIB_NAME.h"; then
|
||||
SSDEEP_CFLAGS="-I$withssdeep/../"
|
||||
else
|
||||
if test -f "$withssdeep/$SSDEEP_LIB_NAME.h"; then
|
||||
SSDEEP_CFLAGS="-I$withssdeep"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
])
|
||||
|
||||
if test -z "${SSDEEP_CFLAGS}"; then
|
||||
AC_MSG_RESULT([no])
|
||||
SSDEEP_LDFLAGS=""
|
||||
SSDEEP_LDADD=""
|
||||
#ifelse([$2], , AC_MSG_NOTICE([optional ssdeep library not found]), $2)
|
||||
else
|
||||
SSDEEP_CFLAGS="-DWITH_SSDEEP ${SSDEEP_CFLAGS}"
|
||||
AC_MSG_RESULT([${SSDEEP_LDFLAGS} ${SSDEEP_CFLAGS}])
|
||||
#AC_MSG_NOTICE([using ssdeep: ${SSDEEP_CFLAGS} ${SSDEEP_LDFLAGS}])
|
||||
#ifelse([$1], , , $1)
|
||||
fi
|
||||
|
||||
AC_SUBST(SSDEEP_LDFLAGS)
|
||||
AC_SUBST(SSDEEP_LDADD)
|
||||
AC_SUBST(SSDEEP_CFLAGS)
|
||||
|
||||
|
||||
])
|
@ -701,6 +701,8 @@ fi
|
||||
# Check for YAJL libs (for JSON body processor)
|
||||
CHECK_YAJL()
|
||||
#AC_SEARCH_LIBS([yajl_alloc], [yajl])
|
||||
CHECK_SSDEEP()
|
||||
AC_SEARCH_LIBS([fuzzy_hash_buf], [fuzzy])
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_CONFIG_FILES([tools/Makefile])
|
||||
|
@ -4,7 +4,8 @@ EXT_CFLAGS = -I../apache2 \
|
||||
@APU_CFLAGS@ \
|
||||
@APXS_CFLAGS@ \
|
||||
@LIBXML2_CFLAGS@ \
|
||||
@LUA_CFLAGS@
|
||||
@LUA_CFLAGS@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
EXT_CPPFLAGS = @APR_CPPFLAGS@ \
|
||||
@LIBXML2_CPPFLAGS@
|
||||
@ -13,13 +14,14 @@ EXT_LIBADD = @APR_LDADD@ \
|
||||
@APU_LDADD@ \
|
||||
@LIBXML2_LDADD@ \
|
||||
@LUA_LDADD@
|
||||
|
||||
|
||||
EXT_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@APR_LDFLAGS@ \
|
||||
@APU_LDFLAGS@ \
|
||||
@APXS_LDFLAGS@ \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@
|
||||
@LUA_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
|
||||
pkglibdir = $(prefix)/lib
|
||||
|
||||
|
@ -8,7 +8,8 @@ CFLAGS="$CFLAGS \
|
||||
@LUA_CFLAGS@ \
|
||||
@MODSEC_EXTRA_CFLAGS@ \
|
||||
@PCRE_CFLAGS@ \
|
||||
@YAJL_CFLAGS@"
|
||||
@YAJL_CFLAGS@ \
|
||||
@SSDEEP_CFLAGS@"
|
||||
|
||||
|
||||
CORE_LIBS="$CORE_LIBS \
|
||||
@ -20,7 +21,8 @@ CORE_LIBS="$CORE_LIBS \
|
||||
@LUA_LDADD@ \
|
||||
@PCRE_LDADD@ \
|
||||
@APXS_LIBS@ \
|
||||
@YAJL_LIBS@"
|
||||
@YAJL_LIBS@ \
|
||||
@SSDEEP_LDFLAGS@"
|
||||
|
||||
ngx_addon_name=ngx_http_modsecurity
|
||||
|
||||
|
@ -51,7 +51,8 @@ standalone_la_CFLAGS = -DVERSION_NGINX \
|
||||
@LUA_CFLAGS@ \
|
||||
@MODSEC_EXTRA_CFLAGS@ \
|
||||
@PCRE_CFLAGS@ \
|
||||
@YAJL_CFLAGS@
|
||||
@YAJL_CFLAGS@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
standalone_la_CPPFLAGS = @APR_CPPFLAGS@ \
|
||||
@LIBXML2_CPPFLAGS@ \
|
||||
@ -62,7 +63,8 @@ standalone_la_LIBADD = @APR_LDADD@ \
|
||||
@LIBXML2_LDADD@ \
|
||||
@LUA_LDADD@ \
|
||||
@PCRE_LDADD@ \
|
||||
@YAJL_LDADD@
|
||||
@YAJL_LDADD@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
if AIX
|
||||
standalone_la_LDFLAGS = -module -avoid-version \
|
||||
@ -72,7 +74,8 @@ standalone_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if HPUX
|
||||
@ -83,7 +86,8 @@ standalone_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if MACOSX
|
||||
@ -94,7 +98,8 @@ standalone_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
@ -105,7 +110,8 @@ standalone_la_LDFLAGS = -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if LINUX
|
||||
@ -116,7 +122,8 @@ standalone_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if FREEBSD
|
||||
@ -127,7 +134,8 @@ standalone_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if OPENBSD
|
||||
@ -138,7 +146,8 @@ standalone_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
if NETBSD
|
||||
@ -149,5 +158,7 @@ standalone_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
endif
|
||||
|
||||
|
@ -36,7 +36,8 @@ msc_test_CFLAGS = @APR_CFLAGS@ \
|
||||
@LUA_CFLAGS@ \
|
||||
@MODSEC_EXTRA_CFLAGS@ \
|
||||
@PCRE_CFLAGS@ \
|
||||
@YAJL_CFLAGS@
|
||||
@YAJL_CFLAGS@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
msc_test_CPPFLAGS = -I$(top_srcdir)/apache2 \
|
||||
@APR_CPPFLAGS@ \
|
||||
@ -48,7 +49,8 @@ msc_test_LDADD = @APR_LDADD@ \
|
||||
@LIBXML2_LDADD@ \
|
||||
@LUA_LDADD@ \
|
||||
@PCRE_LDADD@ \
|
||||
@YAJL_LDADD@
|
||||
@YAJL_LDADD@ \
|
||||
@SSDEEP_CFLAGS@
|
||||
|
||||
msc_test_LDFLAGS = @APR_LDFLAGS@ \
|
||||
@APU_LDFLAGS@ \
|
||||
@ -56,7 +58,8 @@ msc_test_LDFLAGS = @APR_LDFLAGS@ \
|
||||
@LIBXML2_LDFLAGS@ \
|
||||
@LUA_LDFLAGS@ \
|
||||
@PCRE_LDFLAGS@ \
|
||||
@YAJL_LDFLAGS@
|
||||
@YAJL_LDFLAGS@ \
|
||||
@SSDEEP_LDFLAGS@
|
||||
|
||||
check_SCRIPTS = run-unit-tests.pl
|
||||
TESTS = $(check_SCRIPTS)
|
||||
|
Loading…
x
Reference in New Issue
Block a user