Hi Igor,
> error detected while parsing ACL 'side2' : regex
> '\b(?:\d{1,3}\.){3}\d{1,3}\b' is invalid.
>
> The config works fine without JIT enable.
Yes, I can reproduce this. In fact, it does not work _at all_ and
fails even if the expression just contains a few letters, like
literally "justafewletters":
config:
> acl side2 hdr_reg(host) justafewletters
> use_backend side2be if side2
log:
[ALERT] 093/204028 (11204) : parsing [../cert/haproxy.cfg:28] : error detected
while parsing ACL 'side2' : regex 'justafewletters' is invalid.
[ALERT] 093/204028 (11204) : parsing [../cert/haproxy.cfg:36] : error detected
while parsing switching rule : no such ACL : 'side2'.
[ALERT] 093/204028 (11204) : Error(s) found in configuration file :
../cert/haproxy.cfg
[ALERT] 093/204028 (11204) : Fatal errors found in configuration.
You are using pcre 8.21, I'm using latest pcre 8.32, so its not
the libpcre either.
Without JIT, this works fine.
Hiroaki, since you are the original author, could you take a look at
this please?
Regards,
Lukas
--------
(for everyone interested and for my own reference:)
To build haproxy with a recent libpcre, without touching the system:
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
unp pcre-8.32.tar.gz; cd pcre-8.32;
./configure --enable-jit --enable-utf && make
and then from HAProxy:
make [...] USE_STATIC_PCRE=1 USE_PCRE_JIT=1 PCRE_INC=~/pcre-8.32/ \
PCRE_LIB=~/pcre-8.32/.libs
This way, haproxy is statically build with the most recent pcre,
but without installing it to your system (which would probably
break things).