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:
Andrei Belov
2016-09-20 15:52:09 +03:00
committed by Felipe Zimmerle
parent 13b6a3ecf6
commit ae8698d8cf
3 changed files with 47 additions and 2 deletions

View File

@@ -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 &param2, 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) {
/*