1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-04 18:03:13 +02:00
Commit Graph

9791 Commits

Author SHA1 Message Date
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