Merge branch 'SpiderLabs:v2/master' into v2/master

This commit is contained in:
Marc Stern
2023-10-17 14:07:27 +02:00
committed by GitHub
3 changed files with 66 additions and 58 deletions

View File

@@ -1,6 +1,10 @@
DD mmm YYYY - 2.9.x (to be released) DD mmm YYYY - 2.9.x (to be released)
------------------- -------------------
* Allow lua version 5.4
[Issue #2996 - @3eka, @martinhsv]
* Configure: do not check for pcre1 if pcre2 requested
[Issue #2975 - @zhaoshikui, @martinhsv]
* Check return code of apr_procattr_io_set() * Check return code of apr_procattr_io_set()
[Issue #2958 - @marcstern] [Issue #2958 - @marcstern]
* Do not escape special chars in rx pattern with macro * Do not escape special chars in rx pattern with macro

View File

@@ -429,12 +429,12 @@ int lua_execute(msc_script *script, char *param, modsec_rec *msr, msre_rule *rul
#else #else
/* Create new state. */ /* Create new state. */
#if LUA_VERSION_NUM == 502 || LUA_VERSION_NUM == 503 || LUA_VERSION_NUM == 501 #if LUA_VERSION_NUM == 502 || LUA_VERSION_NUM == 503 || LUA_VERSION_NUM == 504 || LUA_VERSION_NUM == 501
L = luaL_newstate(); L = luaL_newstate();
#elif LUA_VERSION_NUM == 500 #elif LUA_VERSION_NUM == 500
L = lua_open(); L = lua_open();
#else #else
#error We are only tested under Lua 5.0, 5.1, 5.2, or 5.3. #error We are only tested under Lua 5.0, 5.1, 5.2, 5.3, or 5.4.
#endif #endif
luaL_openlibs(L); luaL_openlibs(L);
@@ -459,10 +459,10 @@ int lua_execute(msc_script *script, char *param, modsec_rec *msr, msre_rule *rul
/* Register functions. */ /* Register functions. */
#if LUA_VERSION_NUM == 500 || LUA_VERSION_NUM == 501 #if LUA_VERSION_NUM == 500 || LUA_VERSION_NUM == 501
luaL_register(L, "m", mylib); luaL_register(L, "m", mylib);
#elif LUA_VERSION_NUM == 502 || LUA_VERSION_NUM == 503 #elif LUA_VERSION_NUM == 502 || LUA_VERSION_NUM == 503 || LUA_VERSION_NUM == 504
luaL_setfuncs(L, mylib, 0); luaL_setfuncs(L, mylib, 0);
#else #else
#error We are only tested under Lua 5.0, 5.1, 5.2, or 5.3. #error We are only tested under Lua 5.0, 5.1, 5.2, 5.3, or 5.4.
#endif #endif
lua_setglobal(L, "m"); lua_setglobal(L, "m");

View File

@@ -21,69 +21,73 @@ AC_ARG_WITH(
[test_paths="${with_pcre}"], [test_paths="${with_pcre}"],
[test_paths="/usr/local/libpcre /usr/local/pcre /usr/local /opt/libpcre /opt/pcre /opt /usr"]) [test_paths="/usr/local/libpcre /usr/local/pcre /usr/local /opt/libpcre /opt/pcre /opt /usr"])
AC_MSG_CHECKING([for libpcre config script]) if test "x${with_pcre2}" != "x" && test "x${with_pcre2}" != "xno"; then
AC_MSG_NOTICE([pcre2 specified; omitting check for pcre])
dnl # Determine pcre lib directory
if test -z "${with_pcre}"; then
test_paths="/usr/local/pcre /usr/local /usr"
else else
test_paths="${with_pcre}" AC_MSG_CHECKING([for libpcre config script])
fi
for x in ${test_paths}; do dnl # Determine pcre lib directory
dnl # Determine if the script was specified and use it directly if test -z "${with_pcre}"; then
if test ! -d "$x" -a -e "$x"; then test_paths="/usr/local/pcre /usr/local /usr"
PCRE_CONFIG=$x else
pcre_path="no" test_paths="${with_pcre}"
break
fi fi
dnl # Try known config script names/locations for x in ${test_paths}; do
for PCRE_CONFIG in pcre-config; do dnl # Determine if the script was specified and use it directly
if test -e "${x}/bin/${PCRE_CONFIG}"; then if test ! -d "$x" -a -e "$x"; then
pcre_path="${x}/bin" PCRE_CONFIG=$x
pcre_path="no"
break break
elif test -e "${x}/${PCRE_CONFIG}"; then fi
pcre_path="${x}"
dnl # Try known config script names/locations
for PCRE_CONFIG in pcre-config; do
if test -e "${x}/bin/${PCRE_CONFIG}"; then
pcre_path="${x}/bin"
break
elif test -e "${x}/${PCRE_CONFIG}"; then
pcre_path="${x}"
break
else
pcre_path=""
fi
done
if test -n "$pcre_path"; then
break break
else
pcre_path=""
fi fi
done done
if test -n "$pcre_path"; then
break if test -n "${pcre_path}"; then
if test "${pcre_path}" != "no"; then
PCRE_CONFIG="${pcre_path}/${PCRE_CONFIG}"
fi
AC_MSG_RESULT([${PCRE_CONFIG}])
PCRE_VERSION="`${PCRE_CONFIG} --version`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre VERSION: $PCRE_VERSION); fi
PCRE_CFLAGS="`${PCRE_CONFIG} --cflags`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre CFLAGS: $PCRE_CFLAGS); fi
PCRE_LDADD="`${PCRE_CONFIG} --libs`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre LDADD: $PCRE_LDADD); fi
PCRE_LD_PATH="/`${PCRE_CONFIG} --libs | cut -d'/' -f2,3,4,5,6 | cut -d ' ' -f1`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre PCRE_LD_PATH: $PCRE_LD_PATH); fi
else
AC_MSG_RESULT([no])
fi fi
done
if test -n "${pcre_path}"; then AC_SUBST(PCRE_CONFIG)
if test "${pcre_path}" != "no"; then AC_SUBST(PCRE_VERSION)
PCRE_CONFIG="${pcre_path}/${PCRE_CONFIG}" AC_SUBST(PCRE_CPPFLAGS)
AC_SUBST(PCRE_CFLAGS)
AC_SUBST(PCRE_LDFLAGS)
AC_SUBST(PCRE_LDADD)
AC_SUBST(PCRE_LD_PATH)
if test -z "${PCRE_VERSION}"; then
AC_MSG_NOTICE([*** pcre library not found.])
else
AC_MSG_NOTICE([using pcre v${PCRE_VERSION}])
ifelse([$1], , , $1)
fi fi
AC_MSG_RESULT([${PCRE_CONFIG}])
PCRE_VERSION="`${PCRE_CONFIG} --version`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre VERSION: $PCRE_VERSION); fi
PCRE_CFLAGS="`${PCRE_CONFIG} --cflags`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre CFLAGS: $PCRE_CFLAGS); fi
PCRE_LDADD="`${PCRE_CONFIG} --libs`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre LDADD: $PCRE_LDADD); fi
PCRE_LD_PATH="/`${PCRE_CONFIG} --libs | cut -d'/' -f2,3,4,5,6 | cut -d ' ' -f1`"
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(pcre PCRE_LD_PATH: $PCRE_LD_PATH); fi
else
AC_MSG_RESULT([no])
fi
AC_SUBST(PCRE_CONFIG)
AC_SUBST(PCRE_VERSION)
AC_SUBST(PCRE_CPPFLAGS)
AC_SUBST(PCRE_CFLAGS)
AC_SUBST(PCRE_LDFLAGS)
AC_SUBST(PCRE_LDADD)
AC_SUBST(PCRE_LD_PATH)
if test -z "${PCRE_VERSION}"; then
AC_MSG_NOTICE([*** pcre library not found.])
else
AC_MSG_NOTICE([using pcre v${PCRE_VERSION}])
ifelse([$1], , , $1)
fi fi
]) ])