diff --git a/include/common/regex.h b/include/common/regex.h
index 60c7f42..bab1a55 100644
--- a/include/common/regex.h
+++ b/include/common/regex.h
@@ -27,8 +27,20 @@
 #ifdef USE_PCRE
 #include <pcre.h>
 #include <pcreposix.h>
-#else
+
+#ifdef USE_PCRE_JIT
+struct jit_regex {
+    pcre *reg;
+    pcre_extra *extra;
+};
+typedef struct jit_regex regex;
+#else /* no PCRE_JIT */
+typedef regex_t regex;
+#endif
+
+#else /* no PCRE */
 #include <regex.h>
+typedef regex_t regex;
 #endif
 
 /* what to do when a header matches a regex */
@@ -55,6 +67,24 @@
 const char *chain_regex(struct hdr_exp **head, const regex_t *preg,
 			int action, const char *replace, void *cond);
 
+static inline int regex_exec(const regex *preg, const char *subject, int length) {
+#ifdef USE_PCRE_JIT
+	return pcre_exec(preg->reg, preg->extra, subject, length, 0, 0, NULL, 0);
+#else
+	return regexec(preg, subject, 0, NULL, 0);
+#endif
+}
+
+static inline void regex_free(regex *preg) {
+#ifdef USE_PCRE_JIT
+	pcre_free_study(preg->extra);
+	pcre_free(preg->reg);
+	free(preg);
+#else
+	regfree(preg);
+#endif
+}
+
 #endif /* _COMMON_REGEX_H */
 
 /*
diff --git a/include/types/acl.h b/include/types/acl.h
index bf5537f..2b0de0c 100644
--- a/include/types/acl.h
+++ b/include/types/acl.h
@@ -213,7 +213,7 @@
 	union {
 		void *ptr;              /* any data */
 		char *str;              /* any string  */
-		regex_t *reg;           /* a compiled regex */
+		regex *reg;             /* a compiled regex */
 	} ptr;                          /* indirect values, allocated */
 	void(*freeptrbuf)(void *ptr);	/* a destructor able to free objects from the ptr */
 	int len;                        /* data length when required  */
