1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-12 15:34:47 +02:00

Commit Graph

  • e2ed1ceca2 Load multiline by default and update release notes a little. unreal60_dev Bram Matthys 2026-06-11 19:57:53 +02:00
  • 57ca415c26 Add whitespace deletion in buildvarstring() so template can have a space. Bram Matthys 2026-06-11 19:18:34 +02:00
  • 5850ec9434 Show TKL IDs (and related spamfilter TKL ID, if any) in TKL_ADD, TKL_DEL, TKL_EXPIRE and SPAMFILTER_MATCH messages. Bram Matthys 2026-06-10 19:27:20 +02:00
  • 62f3cda8f2 Make spamfilter IDs start with "SPAM" to be more visible. And this also means shun IDs now start with "H". Update release notes. Bram Matthys 2026-06-10 15:29:26 +02:00
  • faecdd66cd Config-file based *LINES/Spamfilter: preserve hit counters between rehashes. Bram Matthys 2026-06-10 14:27:42 +02:00
  • d5b799d3de Server bans and Spamfilters now track how often they are hit and the time of the last hit, eg in STATS gline for GLINEs. These counts happen on each individual server and are not network-wide. This allows IRCOps to see which entries never get any hits and can potentially be removed. * Important exception: config-based spamfilters/bans lose their counters on REHASH and restart atm. * For non-config TKLs, the hit count and last hit timestamp are preserved across reboots (via tkldb). * Again, see *Developers and protocol* for the exact STATS field. Bram Matthys 2026-06-08 13:27:00 +02:00
  • 74557f2378 help.fr.conf: translation update, include eline, tline, new snomasks (#342) LeCoyote 2026-06-08 12:21:35 +02:00
  • 27a086b03a Add TKL IDs via message tags in S2S. Bram Matthys 2026-06-07 16:54:34 +02:00
  • b19573d562 Update release notes [skip ci] Bram Matthys 2026-06-05 18:29:57 +02:00
  • 3571c9e75b Create BASEDIR with 0700. Just like we already did for almost all subdirs. Only for ~/unrealircd/lib/ we had this ommision, and for ~/unrealircd itself. I doubt this means a change for users, as all subdirs were already 0700 so then tightening of ~/unrealircd is not very important. And only upsides... making things safer.. Bram Matthys 2026-06-05 17:03:33 +02:00
  • be08bc2e33 Let's call it "./unrealircd mkcert" instead (like mkpasswd). Fix test suite. Bram Matthys 2026-06-05 16:41:33 +02:00
  • 982325fc82 Move "make pem" to "./unrealircd makecert" and make tools use this and refer to this as well. Bram Matthys 2026-06-05 16:06:47 +02:00
  • cbc9213d5e Similarly to previous, fix allow channel::except and spamfilter::except so they actually work. Bram Matthys 2026-06-05 10:36:46 +02:00
  • 425a9b978a Fix deny channel::mask not working if security group. Reported by PeGaSuS. Bram Matthys 2026-06-05 10:06:33 +02:00
  • dee26e2e12 Add const to third argument of unreal_create_match() Bram Matthys 2026-06-05 09:58:16 +02:00
  • f0c0feff4f Set PCRE2 limits explicitly (to more sensible defaults), reported by Link420. Bram Matthys 2026-06-05 09:43:22 +02:00
  • caa01c9c8c Call update_known_user_cache() right before "Client connecting" log. This is after PRE_LOCAL_CONNECT hook and can be useful in case some module in there did something to the user that made them known-users. Bram Matthys 2026-05-20 10:10:34 +02:00
  • 5e8a859102 Bump version and add placeholder empty release notes Bram Matthys 2026-05-17 10:52:29 +02:00
  • cfa1d7614c Another fix in url_unreal for rogue HTTPS servers (not super important) Bram Matthys 2026-05-17 10:51:32 +02:00
  • b46c0f20ab OutgoingWebRequest max_size is now also obeyed for file-backed URL API. And the defines are more clear now (if .max_size is not set by caller. Bram Matthys 2026-05-17 10:28:06 +02:00
  • 8b93339e42 url_unreal: limit chunked transfer header length (hardening) Bram Matthys 2026-05-17 10:07:14 +02:00
  • 1250b7f014 ** UnrealIRCd 6.2.5 ** Bram Matthys 2026-05-15 13:35:12 +02:00
  • 75bd6e87d3 Fix set::antimixedutf8::except not working Reported by Le_Coyote in https://bugs.unrealircd.org/view.php?id=6625 Bram Matthys 2026-05-15 09:23:19 +02:00
  • 9ba54b7eb3 Add +x to HELPOP SNOMASKS Bram Matthys 2026-05-15 09:15:04 +02:00
  • 69b2116826 Fix typo in linking message, mentioned by Gottem. Bram Matthys 2026-05-14 11:24:49 +02:00
  • 0f62b20972 Bump maxperip and connthrottle module version to 2.0.0 Bram Matthys 2026-05-13 15:40:50 +02:00
  • 0007ccda47 Connthrottle has a start delay, but this makes no sense for the ipv6 stuff. The start delay is there for the rate limit (since lots of users may connect after starting the server). The IPv6 is not a ratelimit but a limit. Bram Matthys 2026-05-13 13:34:21 +02:00
  • 80771ac3b4 Handle some invalid values. Not an issue now, but if some caller screws up. Bram Matthys 2026-05-13 13:09:48 +02:00
  • 4af3695347 Show BUG_CT_NEGATIVE_COUNTER also in non-DEBUGMODE and limit to 5:60. Not only that one, but all BUG_CT_* connthrottle "something isn't right here" messages. Bram Matthys 2026-05-13 13:08:38 +02:00
  • 31b43dcb08 Fix CONNTHROTTLE_CHECK and use <addr>/<prefix> in 'STATS maxperip' just like we do in 'STATS connthrottle'. Bram Matthys 2026-05-13 08:30:45 +02:00
  • 4c0d830ae1 Write release notes. Bram Matthys 2026-05-08 19:24:07 +02:00
  • a4361b7c90 Add set::known-cloud-services [yes|no] (enabled by default) Bram Matthys 2026-05-07 07:58:47 +02:00
  • 05ef211900 For connthrottle rate limiting (new-users) now check except tkl type 'c' (connect-flood). Those users are exempt and not counted towards new users. Bram Matthys 2026-05-06 18:54:10 +02:00
  • 8bafd33286 Update example.conf with the new set::connthrottle::ipv6-unknown-users-limit functionality. [skip ci] Bram Matthys 2026-05-06 10:28:32 +02:00
  • 3e6f9f06e2 set::connthrottle::disabled-when::reputation-gathering default of 1 week was stated in docs at https://www.unrealircd.org/docs/Connthrottle but if this item was not there then the default was actually zero (0). Now, that isn't too common, since we ship with example.conf with the connthrottle block as shown there, so lots of users have the proper default, but just in case someone hand-writes or removed that connthrottle settings block ("because they are the default)"... :) Bram Matthys 2026-05-06 09:39:40 +02:00
  • e5be93a9f8 Suppress high rate events via set::log-throttle (similar to Linux kernel) And ship with these by default (no need to copy this set block): Bram Matthys 2026-05-05 18:59:50 +02:00
  • f765905b15 New snomask 'x' (set by default): maxperip/connthrottle connect rejections Bram Matthys 2026-05-05 16:30:11 +02:00
  • 0940ed5d13 Update the messages regarding too many (new) connections. Bram Matthys 2026-05-05 13:17:55 +02:00
  • 32e7dbfb3c Add connthrottle self-test that (only) runs in DEBUGMODE. This verifies state every second. Obviously not for production. Bram Matthys 2026-05-04 20:17:21 +02:00
  • 2ae69be391 Implement IPv6 CIDR restrictions for unknown-users Bram Matthys 2026-05-04 15:36:16 +02:00
  • 46e404f95f Remove setting that never worked and refer to set::default-ipv6-clone-mask Bram Matthys 2026-05-03 19:32:11 +02:00
  • 3a429dbd42 Add helper functions and start the IPv6 /128 to /64 transition in connect-flood and maxperip module. This so they actually take set::default-ipv6-clone-mask into account. Bram Matthys 2026-05-03 19:21:06 +02:00
  • 4adaddeee1 set_client_ip() was not updating client->sockhost. That meant in WEBIRC situations connect-flood may not be working (it used the webirc ip, which is almost always exempt, instead of the spoofed IP). Bram Matthys 2026-05-05 09:48:19 +02:00
  • 665d01b7ea Update release notes [skip ci] Bram Matthys 2026-05-02 19:34:30 +02:00
  • 99f1f6a047 Update libsodium to 1.0.22. They may have fixed that arm64 compile issue ;) We previously upgraded to 1.0.21 and then downgraded to 1.0.20. Bram Matthys 2026-05-02 19:15:07 +02:00
  • b96c1d2d1e Add autoconf/m4/pkg.m4 for now because otherwise my Ubuntu 26.04 uses their pkg.m4 which made pkg-config a hard requirement. Such a hard requirement is probably fine later, but.. i don't want to suddenly require that of users during UnrealIRCd 6 series. Bram Matthys 2026-05-02 19:14:10 +02:00
  • c0f68bfd08 Deprecate link::verify-certificate, as 'Client Authentication EKU' is being dropped by public certificate authorities (as per Chrome Root Program). Bram Matthys 2026-05-01 19:47:28 +02:00
  • 17f78de265 Bump version to 6.2.5-git Bram Matthys 2026-05-01 19:47:03 +02:00
  • 717c9cbfa5 Fix OOB write on URL callback with 2GB+ response. Add new size limit. Bram Matthys 2026-04-21 19:46:21 +02:00
  • abbbcd16a9 ** UnrealIRCd 6.2.4 ** Bram Matthys 2026-04-17 06:06:26 +02:00
  • bd0dea4a0e Compile fixes for OpenSSL 4.0.0 Bram Matthys 2026-04-15 09:39:49 +02:00
  • a89f098a22 Fix mmdb library on Windows and use it by default Bram Matthys 2026-04-10 17:44:36 +02:00
  • 3c71a03781 Update subdomain URL Bram Matthys 2026-04-10 17:25:30 +02:00
  • e39ea1f483 Add file_get_contents function (not used atm yet) Bram Matthys 2026-04-10 16:53:52 +02:00
  • dbc3182462 Update -DTESTSUITE +f/+F exemption. Bram Matthys 2026-04-08 17:50:16 +02:00
  • babb86818f S2S: Fix memory leak on RRPC with wrong source (either rogue server or very rare) Bram Matthys 2026-04-07 17:58:09 +02:00
  • 35974ee46d Fix silly missing bufsize-- in xmlescape(). Not exploitable. This XML code is only used for DroneBL submission with no user- controlled variables (except $ip). Still, silly mistake to make and who knows what other XML stuff will happen in the future. Bram Matthys 2026-04-06 08:36:07 +02:00
  • bc086e3ffe Add and update doxygen docs for module API Bram Matthys 2026-04-04 19:00:14 +02:00
  • c0597aa82a Another Windows fix Bram Matthys 2026-04-04 09:57:40 +02:00
  • 945fb65759 Error when using CommandOverrideAdd() before MOD_LOAD, since in MOD_INIT the command may not have been added yet thus then you get silly module-load-order issues, such as in previous commit 281d0cce9b Bram Matthys 2026-04-04 09:07:36 +02:00
  • 281d0cce9b multiline: mv CommandOverrideAdd() to MOD_LOAD so module order doesn't matter Bram Matthys 2026-04-04 08:51:25 +02:00
  • 1334304426 Sigh... [skip ci] Bram Matthys 2026-04-04 08:17:34 +02:00
  • 778cf4de82 ** UnrealIRCd 6.2.4-rc1 ** Bram Matthys 2026-04-04 08:00:48 +02:00
  • f47396a7db Keep using geoip_classic on Windows for this rc1. geoip_mmdb doesn't compile on Windows, will look at it after rc1. Also almost forgot to set this GEOIP_ENGINE ;) Bram Matthys 2026-04-04 07:54:48 +02:00
  • 0931008874 Fix Windows compile Bram Matthys 2026-04-04 07:37:44 +02:00
  • dc6740bfb7 Small code cleanup (identical branches) Bram Matthys 2026-04-04 07:06:18 +02:00
  • 7aa1157474 Downgrade libsodium to 1.0.20 to fix arm64 compile issue Bram Matthys 2026-04-04 06:51:41 +02:00
  • 70a05cb591 Update release notes a bit [skip ci] Bram Matthys 2026-04-03 19:23:33 +02:00
  • 781aecf95a Fix batch reference length. We had two with different sizes. Bram Matthys 2026-04-03 16:31:32 +02:00
  • 71fe07b445 Update release notes (fix link) [skip ci] Bram Matthys 2026-04-03 09:58:22 +02:00
  • fa2f78fe94 Optimize multiline delivery to channels (use LineCache) Bram Matthys 2026-04-03 08:50:58 +02:00
  • 36baf946a3 Guard against multiline+history amplification attacks in CHATHISTORY. Bram Matthys 2026-04-03 07:48:24 +02:00
  • a1dc459a33 Update +H limit and write release notes regarding draft/multiline support. Bram Matthys 2026-04-02 18:33:18 +02:00
  • 04ffe335f1 Send CAP NEW multiline=max-lines=.. on unknown-users<->known-users transition Bram Matthys 2026-04-02 18:27:42 +02:00
  • 46be05d42f Multiline: fix memory leaks and missing inner tags Bram Matthys 2026-04-02 17:33:10 +02:00
  • 8c0590cda2 Add multiline support in history. Bram Matthys 2026-03-30 18:43:18 +02:00
  • 72de809548 Add auto-generated translations for HELPOP CHMODEF about 'p'. To be honest i don't even like the Dutch one myself but at least it is a placeholder. Translators are free to fix it ;). Bram Matthys 2026-03-30 16:28:27 +02:00
  • 143882a358 Add a BUG_EFUNCTIONADD_NOT_OFFICIAL if trying to add efunctions from modules that are not marked as official. Bram Matthys 2026-03-30 14:59:25 +02:00
  • 1df465a6a5 Add +f subtype 'p' (for 'paste'). So [2p]:15 means max 2 pastes per 15s. This way you can limit the number of pastes going on in a channel, as this is from everyone in that channel (like 'm') not individual (like 't'). If it is exceeded then we will simply reject the BATCH, similar to how action d(rop) works for some other subtypes. You won't see the paste on the channel, only the sending user receives an error (MULTILINE_PASTE_LIMIT). Bram Matthys 2026-03-30 14:40:16 +02:00
  • b0dba4bede Add draft/multiline support with a default max-lines of 15 for known-users and 7 for unknown-users (with max-bytes 5250 and 1500 respectively). This allows pasting a short snippet of code, config file, text from a site, etc. Bram Matthys 2026-03-29 19:30:45 +02:00
  • 8bfc599697 Guard against EfunctionAdd() from outside MOD_TEST. As this can keep someone busy for half an hour wondering why things crash... Bram Matthys 2026-03-28 10:35:05 +01:00
  • eb798510fd Pass the fake lag added msec in ClientContext and add subtract_fake_lag() Bram Matthys 2026-03-27 07:46:29 +01:00
  • f329a64991 The IsFloodLimit() used a hardcoded channel parameter. This was not a problem. But is dangerous if the macro would be used where it mattered. Bram Matthys 2026-03-26 17:28:51 +01:00
  • 14cb15c632 Don't call -m upgrade or -m compile-all if zero src/modules/third/*.c Bram Matthys 2026-03-25 14:01:42 +01:00
  • 6ad7f7dccf And use binary search now that we have so many crule functions... Bram Matthys 2026-03-24 19:37:12 +01:00
  • ed16dad40e Add a bunch of crule functions: * Boolean checks: is_oper, is_local, has_swhois * Match functions: match_class, match_server, match_vhost, match_realhost, match_away, match_asname, match_operlogin, match_operclass, match_sni, match_tls_cipher * Numeric counters: connections_from_ip, channel_count, channel_member_count, idle_time * Traffic stats: messages_sent, messages_received, bytes_sent, bytes_received * Text analysis: text_byte_count, text_character_count, word_count, uppercase_percentage, digit_percentage, non_ascii_percentage, max_repeat_count, mixed_utf8_score, unicode_block_count Bram Matthys 2026-03-24 19:32:45 +01:00
  • 3dd449139b Conditional Config: add @warning "aaa" and @error "bbb" Bram Matthys 2026-03-23 18:34:50 +01:00
  • 8adfdf95a0 Little code cleanup in config preprocessor. Bram Matthys 2026-03-23 18:13:14 +01:00
  • 3521d96f9d This adds module-version("examplemod") and using functions in $define, such as $define ADMIN environment("ADMIN") Bram Matthys 2026-03-23 17:58:36 +01:00
  • cf101ca114 Conditional Config: add @if environment("VARNAME") == "something" to check environment variables. Bram Matthys 2026-03-23 07:21:03 +01:00
  • 93a485db21 Conditional Config: add support for @else Bram Matthys 2026-03-22 19:36:39 +01:00
  • 100abaa82d Conditional Config: add support for <, >, <= and >= in @if $SOMETHING ... And also don't require double quotes on the right hand side. Bram Matthys 2026-03-22 19:15:35 +01:00
  • 2346aa3977 Code cleanup in conf_preprocessor.c (Conditional Config) Bram Matthys 2026-03-22 18:59:13 +01:00
  • 17a8182efc Condition Config: add minimum-version() and file-exists(). So: @if minimum-version("6.2.4") and @if file-exists("filename"). Bram Matthys 2026-03-22 18:41:30 +01:00
  • 9258875d0f Add @if module-exists("third/coolmod") so you can conditionally loadmodule + set config items Bram Matthys 2026-03-22 18:20:36 +01:00
  • 27864e8d0e Add new variables in Conditional Config (https://www.unrealircd.org/docs/Conditional_config): $CONFDIR, $DATADIR, $LOGDIR, $TMPDIR, $DOCDIR, $MODULESDIR, $MAXCONNECTIONS. Bram Matthys 2026-03-22 18:05:23 +01:00
  • 82481cc083 NO_GEOIP_CONFIG => NO_DEFAULT_GEOIP to make it consistent As we also have NO_DEFAULT_RPC_SOCKET and NO_DEFAULT_LOG_MEMORY_BLOCK Bram Matthys 2026-03-22 17:58:36 +01:00
  • ba3fa1d7b6 Update GeoIP question in ./Config and use some magic to support both geoip_classic and geoip_mmdb in modules.default.conf with Conditional Config, a dynamic loadmodule line, and auto-updates. Bram Matthys 2026-03-22 17:48:38 +01:00
  • b7cd383186 Fix nested @if blocks in config file not working correctly Bram Matthys 2026-03-22 17:36:28 +01:00
  • 9b83fc0db9 Allow @if with loadmodule, just not module-loaded(). We need this. Bram Matthys 2026-03-22 17:07:46 +01:00