View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006002||unreal||ircd||public||2021-11-17 17:47||2021-12-01 09:02|
|Fixed in Version||6.0.0-rc2|
|Summary||0006002: SPAMFILTER regex fails to match|
|Description||Similarly to 0005913 I had trouble getting spamfilters to match, including the very example given in the helpop output. I finally tried using the regex ".*come to irc\..+\..+.*" instead of the provided "/come to irc\..+\..+/" and was able to make it work properly. I then edited the regex to make it slightly more complex which also worked. It seems like the PCRE '/.../' delimiters aren't working perhaps? I tried to trace through the code to look more but my C is quite rusty anymore.|
|Steps To Reproduce||* /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/|
* say "come to irc.foo.bar" in channel
* nothing happens
* /spamfilter add -regex cN gzline 1d No_advertising_please .*come to irc\..+\..+.*
* say "come to irc.foo.bar" in channel
|Tags||No tags attached.|
|3rd party modules|
Could not find something quickly in https://www.pcre.org/changelog.txt but I may have glanced over it.
Which PCRE2 version are you using? You can tell from the boot screen (eg "./unrealircd configtest")
* PCRE2 10.36 2020-12-04
Looking through config.log I think it was packaged with the git clone? The system version on the machine is pcre-8.32-17.el7.x86_64 so I don't think it linked to that one:
Have not looked at this yet, but, for what its worth, the PCRE2 versions in UnrealIRCd 5 and UnrealIRCd 6 are currently both at 10.36.
It is at 10.36 since March 8 2021, which is 5.0.9.
Ah ok, now that I actually read and try what you do I understand what you mean. I don't think anywhere we tell people to use / at start and end. And the behavior is also not new, it also exists in UnrealIRCd 5.
So yeah, let's close this :). Thanks for going through everything though, who knows you may catch some real U6 issue.. always good to have people test!
Ok, glad it's not a code issue then - but it is spelled out that way in doc/conf/help/help.conf:
" /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
So knowing PCRE expressions are often delimited with /.../ I copied and pasted that which failed. Seems inconsistent between the languages:
doc/conf/help/help.conf: " /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
doc/conf/help/help.de.conf: " /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+";
doc/conf/help/help.fr.conf: " /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
doc/conf/help/help.it.conf: " /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
doc/conf/help/help.nl.conf: " /spamfilter voeg -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
doc/conf/help/help.pl.conf: " /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
doc/conf/help/help.ru.conf: " /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+";
||Ugh.. I think I put that in the wrong place, not used to this bug tracker :/|
You did perfectly fine :)
I see... HELPOP is wrong then indeed. I traced back how that change in HELPOP happened. Apparently when I introduced the -simple option, and thus -regex for regex, I changed the examples for regex to include slashes at start and end. I think I did that to make it look more like a regex and make it immediately clear that it is different from -simple with wildcards. I totally did not remember that.
I have now removed those slashes again as you are right that they are not working so that is rather confusing. Thanks again for the report :)
commit d77a5be834fc89a33311c6fecdb4190953a32526 (HEAD -> unreal60_dev, origin/unreal60_dev)
Author: Bram Matthys <firstname.lastname@example.org>
Date: Wed Dec 1 08:59:35 2021 +0100
Don't use slashes at start and end in SPAMFILTER example in HELPOP.
Reported by srhuston in https://bugs.unrealircd.org/view.php?id=6002
|2021-11-17 17:47||srhuston||New Issue|
|2021-11-18 16:00||syzop||Severity||minor => major|
|2021-11-18 17:03||syzop||Note Added: 0022192|
|2021-11-18 18:20||srhuston||Note Added: 0022193|
|2021-11-19 19:30||syzop||Note Added: 0022194|
|2021-11-29 18:30||syzop||Assigned To||=> syzop|
|2021-11-29 18:30||syzop||Status||new => closed|
|2021-11-29 18:30||syzop||Resolution||open => no change required|
|2021-11-29 18:30||syzop||Note Added: 0022224|
|2021-11-29 18:57||srhuston||Status||closed => feedback|
|2021-11-29 18:57||srhuston||Resolution||no change required => reopened|
|2021-11-29 18:57||srhuston||Note Added: 0022226|
|2021-11-29 18:58||srhuston||Note Added: 0022227|
|2021-12-01 09:02||syzop||Status||feedback => resolved|
|2021-12-01 09:02||syzop||Resolution||reopened => fixed|
|2021-12-01 09:02||syzop||Fixed in Version||=> 6.0.0-rc2|
|2021-12-01 09:02||syzop||Note Added: 0022233|