mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-30 03:34:29 +03:00
Makes JIT support in PCRE to be optional
In particular, this change allows to build libmodsecurity on some old but still supported systems such as RHEL/CentOS 6.
This commit is contained in:
committed by
Felipe Zimmerle
parent
13b6a3ecf6
commit
ae8698d8cf
@@ -22,6 +22,12 @@
|
||||
|
||||
#include "operators/operator.h"
|
||||
|
||||
#if PCRE_HAVE_JIT
|
||||
#define pcre_study_opt PCRE_STUDY_JIT_COMPILE
|
||||
#else
|
||||
#define pcre_study_opt 0
|
||||
#endif
|
||||
|
||||
|
||||
namespace modsecurity {
|
||||
namespace operators {
|
||||
@@ -32,7 +38,11 @@ VerifyCC::~VerifyCC() {
|
||||
m_pc = NULL;
|
||||
}
|
||||
if (m_pce != NULL) {
|
||||
#if PCRE_HAVE_JIT
|
||||
pcre_free_study(m_pce);
|
||||
#else
|
||||
pcre_free(m_pce);
|
||||
#endif
|
||||
m_pce = NULL;
|
||||
}
|
||||
}
|
||||
@@ -90,7 +100,7 @@ bool VerifyCC::init(const std::string ¶m2, std::string *error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_pce = pcre_study(m_pc, PCRE_STUDY_JIT_COMPILE, &errptr);
|
||||
m_pce = pcre_study(m_pc, pcre_study_opt, &errptr);
|
||||
if (m_pce == NULL) {
|
||||
if (errptr == NULL) {
|
||||
/*
|
||||
|
@@ -27,6 +27,12 @@
|
||||
|
||||
#include "utils/geo_lookup.h"
|
||||
|
||||
#if PCRE_HAVE_JIT
|
||||
#define pcre_study_opt PCRE_STUDY_JIT_COMPILE
|
||||
#else
|
||||
#define pcre_study_opt 0
|
||||
#endif
|
||||
|
||||
namespace modsecurity {
|
||||
namespace Utils {
|
||||
|
||||
@@ -42,7 +48,7 @@ Regex::Regex(const std::string& pattern_)
|
||||
|
||||
m_pc = pcre_compile(pattern.c_str(), PCRE_DOTALL|PCRE_MULTILINE,
|
||||
&errptr, &erroffset, NULL);
|
||||
m_pce = pcre_study(m_pc, PCRE_STUDY_JIT_COMPILE, &errptr);
|
||||
m_pce = pcre_study(m_pc, pcre_study_opt, &errptr);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +58,11 @@ Regex::~Regex() {
|
||||
m_pc = NULL;
|
||||
}
|
||||
if (m_pce != NULL) {
|
||||
#if PCRE_HAVE_JIT
|
||||
pcre_free_study(m_pce);
|
||||
#else
|
||||
pcre_free(m_pce);
|
||||
#endif
|
||||
m_pce = NULL;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user