Bram Matthys
3250c7c0b4
Add some temporary safety mechanism if too many HTTP(S) requests in progress.
...
Will allow tweaking in config later. This is separate from rate-limit btw,
which also still needs to be done.
2023-07-09 13:21:16 +02:00
Bram Matthys
93ea44680f
Oh yeah... typo reported by BlackBishop... :D
...
[skip ci]
2023-07-09 13:08:52 +02:00
Bram Matthys
dec9aa0341
Reporting spam to DroneBL now works, see https://www.unrealircd.org/docs/Spamreport_block
...
This uses the RPC2 API. Tested with staging.
Note that there are likely some bugs here or there, like memory leaks,
but the functionality is there.
Also still need to implement various stuff, including spamreport::rate-limit
2023-07-09 13:07:29 +02:00
Bram Matthys
2b14ee3de5
Prepare for future spamfilter::match -> spamfilter::match-string
...
[skip ci]
2023-07-08 20:14:25 +02:00
Bram Matthys
5d65e4a400
Rename place_host_ban() to take_action() since it is not only about banning...
2023-07-08 19:54:40 +02:00
Bram Matthys
8f4a19978a
Deal properly with multi actions in spamfilter (untested)
2023-07-08 19:48:15 +02:00
Bram Matthys
64f57ae243
Add spamfilter::action report (work in progress)
2023-07-08 19:24:15 +02:00
Bram Matthys
bee2853ded
Add spamreport::type dronebl, actually reports to unrealircd.org atm for testing
2023-07-08 18:13:14 +02:00
Bram Matthys
84786cc005
Add flags argument to buildvarstring_nvp, and add BUILDVARSTRING_URLENCODE
...
[skip ci]
2023-07-08 18:12:24 +02:00
Bram Matthys
28df14ad43
Add duplicate_nvplist_append()
...
[skip ci]
2023-07-08 18:10:41 +02:00
Bram Matthys
5f71adeb4d
Add urlencode()
2023-07-08 18:10:16 +02:00
Bram Matthys
8b158d214c
Fix for change earlier today to buildvarstring/buildvarstring_nvp,
...
it would stop writing the string after the first variable, not good.
[skip ci]
2023-07-08 17:44:31 +02:00
Bram Matthys
38771b6761
Spamreport: implement POST requests
2023-07-08 16:46:21 +02:00
Bram Matthys
7741065518
Probably helps if i add src/modules/spamreport.c as well
2023-07-08 15:36:10 +02:00
Bram Matthys
def77c4d52
Initial work on spamreport { } block. Not really useful yet.
...
Early commit before i make it actually work and implement the rest
and hunting for memory leaks etc...
2023-07-08 15:35:08 +02:00
Bram Matthys
01dd042089
Add support for spamfilter::id (currently not used or displayed anywhere)
...
For config-file only atm.
2023-07-08 12:34:21 +02:00
Bram Matthys
d1877ae100
Add conditional config defines:
...
UNREALIRCD_VERSION
UNREALIRCD_VERSION_GENERATION
UNREALIRCD_VERSION_MAJOR
UNREALIRCD_VERSION_MINOR
UNREALIRCD_VERSION_SUFFIX
https://www.unrealircd.org/docs/Defines_and_conditional_config
2023-07-07 21:05:38 +02:00
Bram Matthys
a7ab8f7710
Update early release notes a bit (still work in progress)
...
[skip ci]
2023-07-07 20:28:46 +02:00
Bram Matthys
1006292681
Initial work on central spamfilter with auto refreshing URL / rules
2023-07-07 18:43:29 +02:00
Bram Matthys
c6e83be412
Release notes: fix "turn off" to be set { spamfilter { utf8 no; } }
...
Reported by BlackBishop
[skip ci]
2023-07-07 16:47:45 +02:00
Bram Matthys
caf4708597
Update early release notes a bit
...
[skip ci]
2023-07-07 16:46:56 +02:00
Bram Matthys
662acb2442
Bump UNREAL_VERSION_TIME
...
[skip ci]
2023-07-07 11:34:16 +02:00
Bram Matthys
c8c2657904
Fix build problem with current git due to HOOKTYPE_PLACE_HOST_BAN mismatch
2023-07-07 10:58:06 +02:00
Bram Matthys
d998846c64
Support setting tags via spamfilter { } blocks
2023-07-06 18:25:43 +02:00
Bram Matthys
cafb180955
Change default of set::spamfilter::stop-on-first-match to 'no'
...
(Apparently an undocumented feature, by the way)
2023-07-06 18:24:32 +02:00
Bram Matthys
c04c185c0b
Hmm, why is '=' special in the conf? It isn't!
2023-07-06 18:24:00 +02:00
Bram Matthys
6bbcdfd1b3
Add spamfilter::rule (preconditions), add context to crule parser,
...
and add the first functions: online_time() and reputation().
The more interesting stuff will follow later...
2023-07-06 16:14:26 +02:00
Bram Matthys
1e572e25b9
Add comparisson operator support to crule (< > ==)
...
Should probably add >= and <= as well :D
2023-07-06 14:31:36 +02:00
Bram Matthys
656ea105da
First go at multi actions...
2023-07-06 11:51:55 +02:00
Bram Matthys
0af88581d3
Add support for restricting config file blocks.
2023-07-06 08:47:02 +02:00
Bram Matthys
5b04177ad7
Update early release notes a bit
...
[skip ci]
2023-07-06 07:59:16 +02:00
Bram Matthys
41fcdb3264
Set set::spamfilter::utf8 to 'yes' by default.
2023-07-06 07:57:49 +02:00
Bram Matthys
f636e114a8
Update antimixedutf8 with a complete list of UTF8 blocks, counter more spam.
2023-07-05 17:21:17 +02:00
Bram Matthys
ecad4e32ec
Fix rejected_deletes setting in history_delete()
...
The former didn't make much sense:
if (!rejected_deletes && *rejected_deletes > max_rejected_deletes)
The most simple fix would have been removing the '!' there.
However, i chose to rewrite part of the function so we only set
*rejected_deletes once, and use normal integers (not pointer to integers)
in all the preceding code. Less room for error.
2023-07-02 10:18:26 +02:00
Bram Matthys
f932c21751
Bump MODDATA_MAX_LOCAL_CLIENT from 12 to 24.
2023-06-30 20:34:10 +02:00
Bram Matthys
8d50efd29e
Fix documentation confusing regarding rpc-user::match vs ::mask.
...
Only match was working earlier, and for now both are accepted,
like everywhere else. Reported by BlackBishop.
Also, added a missing check for unknown rpc-user items, so a
proper "Unknown directive" error is thrown.
(this missing check made the first issue worse)
2023-06-30 15:20:10 +02:00
Bram Matthys
3c82dd61e2
Remove UnrealIRCd 5 from supported versions
2023-06-27 20:00:14 +02:00
Bram Matthys
0cc800e736
Fix crash on invalid badword { } block in config file (one without type)
2023-06-27 18:31:53 +02:00
Bram Matthys
89f9659158
Fix doc\conf\aliases\* being twice in unrealinst.iss
...
[skip ci]
2023-06-25 16:43:57 +02:00
Bram Matthys
a8695dfe0b
Whoops, removed an important backslash, fix compile error :D
2023-06-17 18:26:42 +02:00
Val Lorentz
d5ceb664bc
Add 'history_delete' method to HistoryBackend ( #253 )
...
This will allow modules to implement deletion of specific messages
(unlike history_destroy, which removes the entire history of a channel)
2023-06-17 16:10:10 +00:00
Bram Matthys
280a1ddb1d
Update this file too :D
...
[skip ci]
2023-06-17 18:09:38 +02:00
Bram Matthys
407bd84c11
Bump version to 6.1.2-git
2023-06-17 18:08:51 +02:00
Bram Matthys
7bce73a697
Some changes to HOOKTYPE_RECONFIGURE_WEB_LISTENER hack from earlier,
...
that was added late in 6.1.1 development to fix a crash with removing
websocket listeners. Now replaced with a generic HOOKTYPE_CONFIG_LISTENER
that is not only called for removed listeners, but for all listeners.
2023-06-17 18:04:12 +02:00
Bram Matthys
4b23596b4c
Code cleanup: some strncmp -> str_starts_with* replaces (less chance of mistakes)
2023-06-17 17:50:37 +02:00
Bram Matthys
4c2bb2ff21
** UnrealIRCd 6.1.1.1 **
2023-06-16 18:06:44 +02:00
Bram Matthys
cca19fa7f0
Fix maxperip bug when using a WEBIRC proxy/gateway with IPv4 vs IPv6 mismatch.
...
(more info to follow)
This also adds "/stats maxperip" for debugging purposes (ircop-only).
[skip ci]
2023-06-16 18:03:03 +02:00
Bram Matthys
65da3d7ccd
Mention ./unrealircd upgrade
...
[skip ci]
2023-06-14 09:14:21 +02:00
Bram Matthys
6e2569a9b7
** UnrealIRCd 6.1.1 **
2023-06-14 08:53:07 +02:00
Bram Matthys
fd7a715e17
Don't use slow socket closing (w/TLS handshake) for (G)ZLINE.
...
The whole point of (G)ZLINEs is that it rejects instantly upon
accept, that's what makes them different from KLINE/GLINE.
Commit 89075e532a made it
accidentally use the slow path for this as well.
2023-06-07 15:14:00 +02:00