Commit graph

  • 32701e6f99
    Central spamfilter: don't stop processing on 1 bad spamfilter block. Bram Matthys 2023-07-11 13:34:28 +02:00
  • 018efd8366
    Fix crash in spamfilter { } block handling due to unitialized variable Bram Matthys 2023-07-11 12:15:01 +02:00
  • f333aa0c09
    New option set::spamfilter::show-message-content-on-hit: you can now configure to hide the message content in spamfilter hit messages. Generally it is very useful to see if a spamfilter hit is correct or not, so the default is 'always', but it also has privacy implications so there is now this option to disable it. Bram Matthys 2023-07-11 11:50:28 +02:00
  • 4df6ed7f9a
    Get rid of duplicate "spamfilter hit" code. Bram Matthys 2023-07-11 11:40:06 +02:00
  • f277880fb3
    Add set::central-spamfilter::limit-ban-action and ::limit-ban-time to limit actions to limit-ban-action as the highest, and limit ban times to limit-ban-time the highest, see https://www.unrealircd.org/docs/Central_Spamfilter Bram Matthys 2023-07-11 10:16:49 +02:00
  • 95902979dc
    Central spamfilter: now every 1hr and a default set::central-spamfilter::except policy is added. This may be tweaked later. Bram Matthys 2023-07-10 20:16:59 +02:00
  • fa73b6217a
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-07-10 19:56:40 +02:00
  • 15b9255b0e
    Add spamfilter::except as an alternative for spamfilter::rule and upd rls notes Bram Matthys 2023-07-10 12:12:25 +02:00
  • c18c79e88b
    Add spamfilter hits and hits for exempted users. * This means we always run spamfilters, even if users are exempts * This way we can gather hits for exempted users on individual spamfilter entries, and possibly detect false positives (which relies on the assumption that those users are innocent) * The hit counters are shown in in RPL_STATSSPAMF and also exposed via the JSON-RCP API. * This commit also adds set::central-spamfilter::except but more on that later since i still want to set a default for that in a future commit. * This also changes take_action() to take flags and adds the option TAKE_ACTION_SIMULATE_USER_ACTION which i intended to use but didn't in the end... not sure if i should keep it :D Bram Matthys 2023-07-10 11:28:20 +02:00
  • 0c622c0a73
    Minor code cleanup and remove weird check for cep->name after a CheckNull() [skip ci] Bram Matthys 2023-07-10 09:59:37 +02:00
  • 3fecb779a5
    Fix double free in url_unreal.c if HTTPS write failed early. Not sure if that could possibly get triggered, actually, as it would mean the (async) SSL_connect() would have to succeed instantly and then the SSL_write() would have to fail, but better safe than sorry. Bram Matthys 2023-07-10 09:48:58 +02:00
  • 01893dbc55
    Be nice to people using hybrid-like config syntax...... for now..... ;D Bram Matthys 2023-07-09 21:18:41 +02:00
  • 1073c6289f
    And some more crule reformatting/cleanups, could not resist Bram Matthys 2023-07-09 17:00:43 +02:00
  • c67488573a
    Some other reformating [skip ci] Bram Matthys 2023-07-09 16:52:34 +02:00
  • 349e7a2e51
    src/crule.c: re-indent this monster (whitespace changes only, except 1 line) Bram Matthys 2023-07-09 16:50:15 +02:00
  • d25fdeb950
    Some more BanAction fixes/improvements: * stats S one thingy (multi-actions) * STATS spamfilter (multi-actions) * warn w/user target ('u') if using multi-actions * moving some code Bram Matthys 2023-07-09 16:27:40 +02:00
  • e26ff1e9cf
    Add antimixedutf8::action warn handling, and fix generic handling in git version. Bram Matthys 2023-07-09 16:20:42 +02:00
  • 51a97602ee
    Fix antirandom::action warn handling in current git. Reported by Han`. Bram Matthys 2023-07-09 16:12:19 +02:00
  • fb74a981d8
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-07-09 15:27:02 +02:00
  • 9e2232ef72
    For DroneBL spam submissions use "Content-Type: text/xml". This also bumps the request size limit a bit. Bram Matthys 2023-07-09 14:03:35 +02:00
  • 0618495962
    No comment :D :D Bram Matthys 2023-07-09 13:40:37 +02:00
  • a68fa03ab5
    Fix some small memory leaks on REHASH and fix compile warning w/gcc. Bram Matthys 2023-07-09 13:36:22 +02:00
  • 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. Bram Matthys 2023-07-09 13:20:26 +02:00
  • 93ea44680f
    Oh yeah... typo reported by BlackBishop... :D [skip ci] Bram Matthys 2023-07-09 13:08:40 +02:00
  • dec9aa0341
    Reporting spam to DroneBL now works, see https://www.unrealircd.org/docs/Spamreport_block This uses the RPC2 API. Tested with staging. Bram Matthys 2023-07-09 12:53:28 +02:00
  • 2b14ee3de5
    Prepare for future spamfilter::match -> spamfilter::match-string [skip ci] Bram Matthys 2023-07-08 20:14:08 +02:00
  • 5d65e4a400
    Rename place_host_ban() to take_action() since it is not only about banning... Bram Matthys 2023-07-08 19:54:40 +02:00
  • 8f4a19978a
    Deal properly with multi actions in spamfilter (untested) Bram Matthys 2023-07-08 19:48:15 +02:00
  • 64f57ae243
    Add spamfilter::action report (work in progress) Bram Matthys 2023-07-08 19:23:58 +02:00
  • bee2853ded
    Add spamreport::type dronebl, actually reports to unrealircd.org atm for testing Bram Matthys 2023-07-08 18:13:14 +02:00
  • 84786cc005
    Add flags argument to buildvarstring_nvp, and add BUILDVARSTRING_URLENCODE [skip ci] Bram Matthys 2023-07-08 18:11:58 +02:00
  • 28df14ad43
    Add duplicate_nvplist_append() [skip ci] Bram Matthys 2023-07-08 18:10:34 +02:00
  • 5f71adeb4d
    Add urlencode() Bram Matthys 2023-07-08 18:10:16 +02:00
  • 8b158d214c
    Fix for change earlier today to buildvarstring/buildvarstring_nvp, it would stop writing the string after the first variable, not good. [skip ci] Bram Matthys 2023-07-08 17:44:31 +02:00
  • 38771b6761
    Spamreport: implement POST requests Bram Matthys 2023-07-08 16:46:21 +02:00
  • 7741065518
    Probably helps if i add src/modules/spamreport.c as well Bram Matthys 2023-07-08 15:36:10 +02:00
  • def77c4d52
    Initial work on spamreport { } block. Not really useful yet. Bram Matthys 2023-07-08 15:34:27 +02:00
  • 01dd042089
    Add support for spamfilter::id (currently not used or displayed anywhere) For config-file only atm. Bram Matthys 2023-07-08 12:34:09 +02:00
  • d1877ae100
    Add conditional config defines: UNREALIRCD_VERSION UNREALIRCD_VERSION_GENERATION UNREALIRCD_VERSION_MAJOR UNREALIRCD_VERSION_MINOR UNREALIRCD_VERSION_SUFFIX Bram Matthys 2023-07-07 21:05:38 +02:00
  • a7ab8f7710
    Update early release notes a bit (still work in progress) [skip ci] Bram Matthys 2023-07-07 20:28:46 +02:00
  • 1006292681
    Initial work on central spamfilter with auto refreshing URL / rules Bram Matthys 2023-07-07 18:37:02 +02:00
  • c6e83be412
    Release notes: fix "turn off" to be set { spamfilter { utf8 no; } } Reported by BlackBishop [skip ci] Bram Matthys 2023-07-07 16:47:29 +02:00
  • caf4708597
    Update early release notes a bit [skip ci] Bram Matthys 2023-07-07 16:46:56 +02:00
  • 662acb2442
    Bump UNREAL_VERSION_TIME [skip ci] Bram Matthys 2023-07-07 11:34:16 +02:00
  • c8c2657904
    Fix build problem with current git due to HOOKTYPE_PLACE_HOST_BAN mismatch Bram Matthys 2023-07-07 10:58:06 +02:00
  • d998846c64
    Support setting tags via spamfilter { } blocks Bram Matthys 2023-07-06 18:25:43 +02:00
  • cafb180955
    Change default of set::spamfilter::stop-on-first-match to 'no' (Apparently an undocumented feature, by the way) Bram Matthys 2023-07-06 18:24:32 +02:00
  • c04c185c0b
    Hmm, why is '=' special in the conf? It isn't! Bram Matthys 2023-07-06 18:24:00 +02:00
  • 6bbcdfd1b3
    Add spamfilter::rule (preconditions), add context to crule parser, and add the first functions: online_time() and reputation(). Bram Matthys 2023-07-06 15:43:12 +02:00
  • 1e572e25b9
    Add comparisson operator support to crule (< > ==) Should probably add >= and <= as well :D Bram Matthys 2023-07-06 14:31:36 +02:00
  • 656ea105da
    First go at multi actions... Bram Matthys 2023-07-06 11:48:38 +02:00
  • 0af88581d3
    Add support for restricting config file blocks. Bram Matthys 2023-07-06 08:47:02 +02:00
  • 5b04177ad7
    Update early release notes a bit [skip ci] Bram Matthys 2023-07-06 07:59:16 +02:00
  • 41fcdb3264
    Set set::spamfilter::utf8 to 'yes' by default. Bram Matthys 2023-07-06 07:57:49 +02:00
  • f636e114a8
    Update antimixedutf8 with a complete list of UTF8 blocks, counter more spam. Bram Matthys 2023-07-05 17:21:17 +02:00
  • 4aea854189
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-07-03 12:46:54 +02:00
  • ecad4e32ec
    Fix rejected_deletes setting in history_delete() Bram Matthys 2023-07-02 10:11:01 +02:00
  • f932c21751
    Bump MODDATA_MAX_LOCAL_CLIENT from 12 to 24. Bram Matthys 2023-06-30 20:34:10 +02:00
  • 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. Bram Matthys 2023-06-30 15:17:20 +02:00
  • c0f4b17aee
    Add new hook type for remote-to-local kills craftxbox 2023-06-29 23:55:36 +00:00
  • 45616d87ab Merge branch 'unrealircd-unreal60_dev' into piss60 angryce 2023-06-29 05:48:26 +02:00
  • d09ab8601f Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unrealircd-unreal60_dev angryce 2023-06-29 05:47:50 +02:00
  • 3c82dd61e2
    Remove UnrealIRCd 5 from supported versions Bram Matthys 2023-06-27 20:00:14 +02:00
  • 0cc800e736
    Fix crash on invalid badword { } block in config file (one without type) Bram Matthys 2023-06-27 18:31:25 +02:00
  • 89f9659158
    Fix doc\conf\aliases\* being twice in unrealinst.iss [skip ci] Bram Matthys 2023-06-25 16:43:57 +02:00
  • a8695dfe0b
    Whoops, removed an important backslash, fix compile error :D Bram Matthys 2023-06-17 18:26:42 +02:00
  • d5ceb664bc
    Add 'history_delete' method to HistoryBackend (#253) Val Lorentz 2023-06-17 18:10:10 +02:00
  • 280a1ddb1d
    Update this file too :D [skip ci] Bram Matthys 2023-06-17 18:09:38 +02:00
  • 407bd84c11
    Bump version to 6.1.2-git Bram Matthys 2023-06-17 18:08:51 +02:00
  • 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. Bram Matthys 2023-06-17 18:04:12 +02:00
  • 4b23596b4c
    Code cleanup: some strncmp -> str_starts_with* replaces (less chance of mistakes) Bram Matthys 2023-06-17 17:44:26 +02:00
  • 4c2bb2ff21
    ** UnrealIRCd 6.1.1.1 ** Bram Matthys 2023-06-16 18:06:44 +02:00
  • cca19fa7f0
    Fix maxperip bug when using a WEBIRC proxy/gateway with IPv4 vs IPv6 mismatch. (more info to follow) Bram Matthys 2023-06-16 18:03:03 +02:00
  • 65da3d7ccd
    Mention ./unrealircd upgrade [skip ci] Bram Matthys 2023-06-14 09:14:21 +02:00
  • 6e2569a9b7
    ** UnrealIRCd 6.1.1 ** Bram Matthys 2023-06-14 08:53:07 +02:00
  • 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. Bram Matthys 2023-06-07 15:10:14 +02:00
  • c315751c2e
    Fix crash with log destination 'syslog'. Bram Matthys 2023-06-04 15:11:58 +02:00
  • acbedd5938
    Also trigger hi connection warning when near maxconnection limit Bram Matthys 2023-06-04 10:06:12 +02:00
  • a94884c6a9
    Mention that hbm_return_after actually implements BETWEEN (#252) Val Lorentz 2023-06-04 09:58:57 +02:00
  • 635c4e22dc
    README: Sync "About UnrealIRCd" with the text on the site [skip ci] Bram Matthys 2023-05-31 18:20:46 +02:00
  • 61cd88c710
    Update market share percentage in README to match IRCStats Dec'2022 Bram Matthys 2023-05-31 16:09:56 +02:00
  • f1a5e30e8a
    ** UnrealIRCd 6.1.1-rc1 ** Bram Matthys 2023-05-31 08:03:20 +02:00
  • 0816cf79bc
    TOPIC does not need CMD_BIGLINES anymore after commit c32ff22a3e [skip ci] Bram Matthys 2023-05-31 07:33:08 +02:00
  • e3bd914ad8
    Add a link in release notes [skip ci] Bram Matthys 2023-05-29 19:18:33 +02:00
  • c32ff22a3e
    Change the meaning of CMD_BIGLINES of yesterday. Without CMD_BIGLINES: parameters to commands can be 510 bytes max (but eg. strlen(parv[1])+strlen(parv[2]) can be >510, like 510*2, when received from servers with BIGLINES support). If someone does set CMD_BIGLINES in their CommandAdd() then the parameter(s) size is not limited an can be up to 16k. Bram Matthys 2023-05-29 15:12:15 +02:00
  • bb419b95d1
    Remove set::maxbanlength as it is not useful and only confusing. https://www.unrealircd.org/docs/Set_block#set::maxbanlength Bram Matthys 2023-05-28 20:25:02 +02:00
  • 23bddde416
    Server w/o BIGLINES: fix line cutting at wrong place in parse2() Bram Matthys 2023-05-28 18:36:13 +02:00
  • 7820676616
    SetDeadSocket() in close_connection() to avoid a crash in todays code which was like: 1) exit_client gets called 2) close_connection() sets client->direction to NULL 3) a bit further it calls remove_dependents() 4) a sendto is attempted and the new code accesses client->direction which is unexpected to be NULL Bram Matthys 2023-05-28 18:13:34 +02:00
  • e3262c6bd8
    Change default for set::topic-setter and set::ban-setter to 'nick-user-host', previously it was set to 'nick' Bram Matthys 2023-05-28 17:51:17 +02:00
  • 82dd83f7dc
    Use BIGLINES in RRPC when possible (and deal with splitting up again when it is not possible, mixed server scenario). Now a big RRPC response like server.module_list for a remote server (44KB) fits in only 3 lines, instead of almost 100 lines. Bram Matthys 2023-05-28 16:09:07 +02:00
  • 2fcb5b4669
    * Server to server lines can now be 16384 bytes in size when PROTOCTL BIGLINES is set. This will allow us to do things more efficiently and possibly raise some other limits in the future. This 16k is the size of the complete line, including sender, message tags, content and \r\n. Also, in server-to-server traffic we now allow 30 parameters (MAXPARA*2). The original input size limits for non-servers remain the same: the complete line can be 4k+512, with the non-mtag portion limit set at 512 bytes (including \r\n), and MAXPARA is still 15 as well. * I chose 16k because I don't want to first raise it to like 8k and then realize later that 16k would be better and raise it again. * To receive BIGLINES in a command, you need to CommandAdd() with flags CMD_BIGLINES, without it you still get regular 512 max. This is so, because a lot of the code does not expect longer than 512 bytes lines or in parameters, so we can gradually change that (where needed). Bram Matthys 2023-05-28 15:01:10 +02:00
  • 5e64991296
    Fix CHATHISTORY BETWEEN accidentally including a message too much Reported by progval in https://bugs.unrealircd.org/view.php?id=5952 Bram Matthys 2023-05-28 11:07:10 +02:00
  • a4d7ca022e
    Update CHATHISTORY AROUND to include middle message Reported by progval in https://bugs.unrealircd.org/view.php?id=5953 Bram Matthys 2023-05-28 10:15:51 +02:00
  • f768b34050
    chathistory: Advertize MSGREFTYPES ISUPPORT token (#251) Val Lorentz 2023-05-28 07:57:36 +02:00
  • b6179d87d0
    Update release notes a bit [skip ci] Bram Matthys 2023-05-27 19:21:59 +02:00
  • 1a8653de19
    Fix require module not working on one side, sending SMOD too early. Has to do with running HOOKTYPE_SERVER_CONNECT too soon, before introducing ourselves to the other side. This bug was created in commit ddf639836b so exists in all UnrealIRCd 6 versions (-beta1 and up). Bram Matthys 2023-05-27 19:13:07 +02:00
  • 8e2527741b
    Update shipped libraries: c-ares to 1.19.1 Bram Matthys 2023-05-27 16:03:59 +02:00
  • e0bce86445
    Fix config check for old webirc { } block (if missing password) Bram Matthys 2023-05-27 08:44:17 +02:00
  • 55670c5865
    Fix memory leak created today on REHASH (free the proxy blocks) Bram Matthys 2023-05-26 16:39:02 +02:00
  • 257ec35931
    Require proxy blocks to have a name, like proxy nginx { } Not sure yet where/when this will be used or displayed (WHOIS? connect line?), but better require it straight from the start. Bram Matthys 2023-05-26 16:31:28 +02:00