- Fixed a few wrong macro's (ircstrdup/ircfree) in s_conf.c causing
very weird behavior... This also fixes a bug where set::spamfilter::ban-reason
would have the value of ban-time.
- Improved spamfilter again.
- The new syntax is:
/spamfilter [what] [type] [action] [tkltime] [reason] [regex]
[tkltime] specifies the duration of any *lines placed by this rule.
[reason] specifies the *line, kill and/or block reason.. no spaces
allowed, but '_' will be escaped to a space.
In both cases you can simply use '-' to skip and use the default.
Ex: /spamfilter add p block - - Come watch me on my webcam
/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/
nicepage/virus=blah Come watch me on my webcam
- A message is now shown if the msg/notice/dcc is blocked.
- There are 2 new spamfilter action types:
'dccblock' will mark the user so (s)he's unable to send any files by DCC.
'viruschan' will part the user from all channels and join
set::spamfilter::virus-help-channel (default: #help).
this action might be improved to do more later.
- Internal: added EXTTKL PROTOCTL, this determinates if 10 parameters
instead of 8 are supported for m_tkl (used by spamfilter add).
This new system needs some testing... :)
value should now be one of EX_*:
EX_DENY : disallowed, except for oper override
EX_ALLOW : allowed
EX_ALWAYS_DENY : disallowed, even in case of operoverride (eg for
operlevel modes like +A).
Note that it's backward compatible since TRUE/EX_ALLOW=1 and FALSE/EX_DENY=0.
- Fixed a few bugs with oper override & extended chanmodes, for example
chanmode +T could not be set by a globop w/can_override and non-+hoaq.
by non-netadmin ircops in some (many) cases, reported by Zell (#0001541).
note: this fix is still "wrong", because the whole override/whatever
system is flawed ;p.
- Added snomasks 'S' (Spamfilter) which notifies you of any spamfilter matches.
- [internal] always return after spamfilter match, don't continue looping trough
targets list (eg in case of: /msg #a,#b,#c spamspam), otherwise you would get
duplicate notification msgs.
- Added SENDSNO server command, similar to SENDUMODE but for snomasks, this is
used by the spamfilter snomask (+S) so you get network-wide notifications.
- Added "compiled for.." versioning system, this way a beta17 module can't be loaded
on beta18, etc... People often forgot to recompile their modules or had old ones
somewhere by mistake, therefore crashing after upgrades... this should fix this
(in the future). Module coders don't have to do anything for making this work,
it's done automatically (via modules.h).
spamfilter::word to spamfilter::regex to make it even more clear (since we match
on the whole line and have nothing to do with words.. 'word' doesn't make sense).
- Updated docs with some better regex examples, reported by AngryWolf (#0001520).