]> git.proxmox.com Git - mirror_frr.git/commit - configure.ac
lib: Add PCRE2 support
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 31 Oct 2022 20:23:51 +0000 (22:23 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 7 Nov 2022 19:23:53 +0000 (21:23 +0200)
commit061f5d1cb43938c30847e0ebb49e2b43be3aa4c2
tree5651724c843b645650c1a025c4223f6b29eeddfe
parent54757dc1795c5fca93bed9a850be77baa36ff408
lib: Add PCRE2 support

Some results:

```
====
PCRE
====
% ./a.out "^65001" "65001"
comparing: ^65001 / 65001

ret status: 0
[14:31] donatas-pc donatas /home/donatas
% ./a.out "^65001_" "65001"
comparing: ^65001_ / 65001

ret status: 0

=====
PCRE2
=====
% ./a.out "^65001" "65001"
comparing: ^65001 / 65001

ret status: 0
[14:30] donatas-pc donatas /home/donatas
% ./a.out "^65001_" "65001"
comparing: ^65001_ / 65001

ret status: 1
```

Seems that if using PCRE2, we need to escape outer `()` chars and `|`. Sounds
like a bug.
But this is only with some older PCRE2 versions. With >= 10.36, I wasn't able
to reproduce this, everything is fine and working as expected.

Adding _FRR_PCRE2_POSIX definition because pcre2posix.h does not have
include's guard.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_regex.h
bgpd/bgp_routemap.c
configure.ac
doc/user/installation.rst
lib/frrstr.c
lib/frrstr.h
lib/vty.c
lib/vty.h