mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-29 17:46:37 +02:00
bc70882bd3
version or newer on the sytem, otherwise we fall back to shipped version. This fixes https://bugs.unrealircd.org/view.php?id=5187 among others. It means: * Case insensitive matches work better in UTF8 now, such as extended Latin. For example, a spamfilter on "ę" now also matches "Ę", while previously it did not catch this. * Other PCRE2 features such as https://www.pcre.org/current/doc/html/pcre2syntax.html#SEC5 are now available. For example you can now set a spamfilter with the regex \p{Arabic} to block all Arabic script, or \p{Cyrillic} to block all Cyrillic script (such as Russian) Use these new tools with care, of course. Blocking an entire language, or script, is quite a drastic measure. All of this was possible because of the new PCRE2_MATCH_INVALID_UTF compile time option which was introduced in PCRE2 10.34. This also means we now require at least that PCRE2 version so everyone can benefit from this new spamfilter UTF8 feature. Many systems come with older PCRE2 versions so this means we will fall back to the shipped PCRE2 version in UnrealIRCd. This means ./Config will take a little longer to compile things. Although there is no indication as of now, but if this feature would break things heavily then it might get reverted or configurable. This is also why it was added just after 5.0.4 release and not right before it, it needs some heavy testing.