Commit graph

  • 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 +0200
  • a7ab8f7710
    Update early release notes a bit (still work in progress) [skip ci] Bram Matthys 2023-07-07 20:28:46 +0200
  • 1006292681
    Initial work on central spamfilter with auto refreshing URL / rules Bram Matthys 2023-07-07 18:37:02 +0200
  • 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 +0200
  • caf4708597
    Update early release notes a bit [skip ci] Bram Matthys 2023-07-07 16:46:56 +0200
  • 662acb2442
    Bump UNREAL_VERSION_TIME [skip ci] Bram Matthys 2023-07-07 11:34:16 +0200
  • c8c2657904
    Fix build problem with current git due to HOOKTYPE_PLACE_HOST_BAN mismatch Bram Matthys 2023-07-07 10:58:06 +0200
  • d998846c64
    Support setting tags via spamfilter { } blocks Bram Matthys 2023-07-06 18:25:43 +0200
  • 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 +0200
  • c04c185c0b
    Hmm, why is '=' special in the conf? It isn't! Bram Matthys 2023-07-06 18:24:00 +0200
  • 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 +0200
  • 1e572e25b9
    Add comparisson operator support to crule (< > ==) Should probably add >= and <= as well :D Bram Matthys 2023-07-06 14:31:36 +0200
  • 656ea105da
    First go at multi actions... Bram Matthys 2023-07-06 11:48:38 +0200
  • 0af88581d3
    Add support for restricting config file blocks. Bram Matthys 2023-07-06 08:47:02 +0200
  • 5b04177ad7
    Update early release notes a bit [skip ci] Bram Matthys 2023-07-06 07:59:16 +0200
  • 41fcdb3264
    Set set::spamfilter::utf8 to 'yes' by default. Bram Matthys 2023-07-06 07:57:49 +0200
  • f636e114a8
    Update antimixedutf8 with a complete list of UTF8 blocks, counter more spam. Bram Matthys 2023-07-05 17:21:17 +0200
  • 4aea854189
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-07-03 12:46:54 +0200
  • ecad4e32ec
    Fix rejected_deletes setting in history_delete() Bram Matthys 2023-07-02 10:11:01 +0200
  • f932c21751
    Bump MODDATA_MAX_LOCAL_CLIENT from 12 to 24. Bram Matthys 2023-06-30 20:34:10 +0200
  • 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 +0200
  • c0f4b17aee
    Add new hook type for remote-to-local kills craftxbox 2023-06-29 23:55:36 +0000
  • 45616d87ab Merge branch 'unrealircd-unreal60_dev' into piss60 angryce 2023-06-29 05:48:26 +0200
  • d09ab8601f Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unrealircd-unreal60_dev angryce 2023-06-29 05:47:50 +0200
  • 3c82dd61e2
    Remove UnrealIRCd 5 from supported versions Bram Matthys 2023-06-27 20:00:14 +0200
  • 0cc800e736
    Fix crash on invalid badword { } block in config file (one without type) Bram Matthys 2023-06-27 18:31:25 +0200
  • 89f9659158
    Fix doc\conf\aliases\* being twice in unrealinst.iss [skip ci] Bram Matthys 2023-06-25 16:43:57 +0200
  • a8695dfe0b
    Whoops, removed an important backslash, fix compile error :D Bram Matthys 2023-06-17 18:26:42 +0200
  • d5ceb664bc
    Add 'history_delete' method to HistoryBackend (#253) Val Lorentz 2023-06-17 18:10:10 +0200
  • 280a1ddb1d
    Update this file too :D [skip ci] Bram Matthys 2023-06-17 18:09:38 +0200
  • 407bd84c11
    Bump version to 6.1.2-git Bram Matthys 2023-06-17 18:08:51 +0200
  • 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 +0200
  • 4b23596b4c
    Code cleanup: some strncmp -> str_starts_with* replaces (less chance of mistakes) Bram Matthys 2023-06-17 17:44:26 +0200
  • 4c2bb2ff21
    ** UnrealIRCd 6.1.1.1 ** Bram Matthys 2023-06-16 18:06:44 +0200
  • 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 +0200
  • 65da3d7ccd
    Mention ./unrealircd upgrade [skip ci] Bram Matthys 2023-06-14 09:14:21 +0200
  • 6e2569a9b7
    ** UnrealIRCd 6.1.1 ** Bram Matthys 2023-06-14 08:53:07 +0200
  • 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 +0200
  • c315751c2e
    Fix crash with log destination 'syslog'. Bram Matthys 2023-06-04 15:11:58 +0200
  • acbedd5938
    Also trigger hi connection warning when near maxconnection limit Bram Matthys 2023-06-04 10:06:12 +0200
  • a94884c6a9
    Mention that hbm_return_after actually implements BETWEEN (#252) Val Lorentz 2023-06-04 09:58:57 +0200
  • 635c4e22dc
    README: Sync "About UnrealIRCd" with the text on the site [skip ci] Bram Matthys 2023-05-31 18:20:46 +0200
  • 61cd88c710
    Update market share percentage in README to match IRCStats Dec'2022 Bram Matthys 2023-05-31 16:09:56 +0200
  • f1a5e30e8a
    ** UnrealIRCd 6.1.1-rc1 ** Bram Matthys 2023-05-31 08:03:20 +0200
  • 0816cf79bc
    TOPIC does not need CMD_BIGLINES anymore after commit c32ff22a3e [skip ci] Bram Matthys 2023-05-31 07:33:08 +0200
  • e3bd914ad8
    Add a link in release notes [skip ci] Bram Matthys 2023-05-29 19:18:33 +0200
  • 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 +0200
  • 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 +0200
  • 23bddde416
    Server w/o BIGLINES: fix line cutting at wrong place in parse2() Bram Matthys 2023-05-28 18:36:13 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • f768b34050
    chathistory: Advertize MSGREFTYPES ISUPPORT token (#251) Val Lorentz 2023-05-28 07:57:36 +0200
  • b6179d87d0
    Update release notes a bit [skip ci] Bram Matthys 2023-05-27 19:21:59 +0200
  • 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 +0200
  • 8e2527741b
    Update shipped libraries: c-ares to 1.19.1 Bram Matthys 2023-05-27 16:03:59 +0200
  • e0bce86445
    Fix config check for old webirc { } block (if missing password) Bram Matthys 2023-05-27 08:44:17 +0200
  • 55670c5865
    Fix memory leak created today on REHASH (free the proxy blocks) Bram Matthys 2023-05-26 16:39:02 +0200
  • 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 +0200
  • 995d28cacb
    Add duplicate_security_group() function, and also: unreal_duplicate_masks() duplicate_nvplist() duplicate_name_list() Bram Matthys 2023-05-26 16:15:09 +0200
  • f241fef575
    For proxy::type web, automatically add proxy::mask to exceptions for blacklist, connect-flood, handshake-data-flood (Well, unless mask::ip is used with a wildcard, due to current technical limitations, that will be resolved later) Bram Matthys 2023-05-26 15:54:09 +0200
  • fa4b39d4aa
    Fix "function returns an aggregate" to make GCC happy. Actually I don't think this was really wrong as this is an enum, which is probably why clang does not complain... but still... whatever.... Bram Matthys 2023-05-26 14:39:01 +0200
  • cf5808dc44
    Error on listen::options::websocket::forward and tell to use proxy { } block. [skip ci] Bram Matthys 2023-05-26 14:34:22 +0200
  • a7cf24c45d
    Mention new https://www.unrealircd.org/docs/Proxy_block in release notes and also for safety when redoing DNS and ident due to IP change, we now: ClearIdentLookupSent(client); ClearIdentLookup(client); ClearDNSLookup(client); Bram Matthys 2023-05-26 14:26:26 +0200
  • fb54d4a2c6
    Replace do_parse_forwarded_header() and set WEB(client)->forwarded depending on what we get from the proxy, so it can be used later in the websocket module for setting the user secure or not (the latter similar to what k4be already did in the old code). Bram Matthys 2023-05-26 13:31:01 +0200
  • d2f45fcaaf
    Move webserver proxy handling from the websocket to the webserver module. This now requires a proxy { } block -- docs follow soon Bram Matthys 2023-05-26 13:04:51 +0200
  • c537a72c10
    Make proxy::mask and webirc::mask a generic mask item almost all others in the config - https://www.unrealircd.org/docs/Mask_item Bram Matthys 2023-05-26 12:38:51 +0200
  • 9aafdb7f9c
    Move handling of webirc { } block into new proxy { } block (allow the old name) This is untested, as I'm first working on the rest... Bram Matthys 2023-05-26 12:23:51 +0200
  • c2d465c5dd
    Move chunk of code from start_of_normal_client_handshake() to a function called start_dns_and_ident_lookup(). This can then be easily called from other places as well, like the code k4be did in src/modules/websocket.c to handle proxies. Bram Matthys 2023-05-26 11:24:01 +0200
  • be95182031
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-05-22 18:32:02 +0200
  • 52472a9a88
    Add support for set unknown-users { } and the like: Bram Matthys 2023-05-22 12:07:43 +0200
  • e575d0ea05
    Update modules.default.conf with more examples of what can go wrong if you decide to go with your own modules.custom.conf, and why blacklist-module is a safer approach. [skip ci] Bram Matthys 2023-05-22 08:01:41 +0200
  • 58228e28b3
    Prevent people from using an old modules.default.conf. That file has such a clear warning in it but still people manage to load old ones. That being said, usually it is not deliberate, like an cp ../unrealircd.old/conf/* conf/ Bram Matthys 2023-05-22 07:44:17 +0200
  • 6bbb5dee37
    Add str_starts_with* and str_ends_with* functions: int str_starts_with_case_sensitive(const char *haystack, const char *needle); int str_ends_with_case_sensitive(const char *haystack, const char *needle); int str_starts_with_case_insensitive(const char *haystack, const char *needle); int str_ends_with_case_insensitive(const char *haystack, const char *needle); [skip ci] Bram Matthys 2023-05-22 07:41:54 +0200
  • 3652940c2c
    Add set::anti-flood::<secgroup>::max-channels-per-user setting to override the default set::max-channels-per-user (also called set::maxchannelsperuser). Bram Matthys 2023-05-19 21:40:33 +0200
  • f2015ad865
    Fix crash when removing a listen { } block with websocket or rpc (or changing the port number). Reported by Nini. Bram Matthys 2023-05-19 19:27:28 +0200
  • 9ea1e0e99c
    Update release notes a bit [skip ci] Bram Matthys 2023-05-18 13:23:22 +0200
  • 815c97c81e
    Update release notes on the new functionality of today. [skip ci] Bram Matthys 2023-05-18 13:21:44 +0200
  • f804c5ed65
    Add detection and set the high connect rate to 1000 per seconds. https://www.unrealircd.org/docs/FAQ#hi-conn-rate This finishes https://bugs.unrealircd.org/view.php?id=5532 Bram Matthys 2023-05-18 13:15:17 +0200
  • 82dbc4a297
    Add except ban { } for IRCCloud for maxperip & connect-flood. In both the release notes to illustrate and in example*.conf because this is generally a good idea. Bram Matthys 2023-05-18 11:57:24 +0200
  • 9b9434e442
    Delay throttling check until IP is resolved or failed to resolve. This so you can use throttling exceptions (eg in ELINE) on hostnames. Bram Matthys 2023-05-18 11:48:44 +0200
  • 89075e532a
    Send throttling and some other error messages to SSL/TLS users (encrypted). This is the start of "be more friendly to TLS users with disconnect error messages" from https://bugs.unrealircd.org/view.php?id=5532 Bram Matthys 2023-05-18 11:14:34 +0200
  • 40bdef6cd9
    Make exceeds_maxperip() use a hash table (performance improvement) Bram Matthys 2023-05-17 19:08:39 +0200
  • 63cfe56208
    Use LineCache in sendto_local_common_channels() Bram Matthys 2023-05-15 17:11:37 +0200
  • b19b70e876
    Speed up invisibility checks for delayjoin mode (and when not used too). This adds user_can_see_member_fast() which is used in at least 3 places now, more places may follow later. It has extra paramters for membership and membership modes that is very likely already looked up by the caller (or if not, it is worth doing so by the caller). Bram Matthys 2023-05-15 16:55:09 +0200
  • 0874e376bc
    Add LineCache which is used when sending a message to a channel. When sending to channel members this will cache full IRC protocol lines, including message tags and \r\n, for similar clients. This avoid the need for many mtags_to_string() calls and also entire parts of sendbuf_to_one() can be skipped as well. The "Similar clients" cache entries are defined as clients that: 1) Are of the same type: normal local client, ircop local client or remote client. 2) Have the same CAPs set, that is: we only look at CAPs that actually have anything to do with message tags ('clicaps_affecting_mtag') 3) Optionally there can be an explicit line_opts. It is not used yet but could be used when there are different type of lines sent depending on other criteria, such as chanop status or something else that doesn't fit in #1 and #2. Bram Matthys 2023-05-15 15:18:56 +0200
  • e6b068f47d
    Create modules.default.conf angryce 2023-05-10 04:49:49 +0200
  • ec800857ea Merge branch 'unrealircd-unreal60_dev' into piss60 angryce 2023-05-10 04:48:21 +0200
  • c637a2f7a4 Merge branch 'unreal60_dev' of https://github.com/unrealircd/unrealircd into unrealircd-unreal60_dev angryce 2023-05-10 04:47:55 +0200
  • 14d82bbd49
    Delete modules.default.conf angryce 2023-05-10 04:42:59 +0200
  • 5b071d7bfd
    Change return value of add_listmode() / add_listmode_ex(). This fixes a bug when two servers merge, you could see +beI items being set that already exist, if the timestamp or setter differed between servers. Now they are updated but no +beI is shown. https://bugs.unrealircd.org/view.php?id=5681 Bram Matthys 2023-05-08 18:49:25 +0200
  • 2c73a37ac7
    * New setting set::handshake-boot-delay https://www.unrealircd.org/docs/Set_block#set%3A%3Ahandshake-boot-delay which allows server linking autoconnects to kick in (and incoming servers on serversonly ports), before allowing clients in. This potentially avoids part of the mess when initially linking on-boot. This option is not turned on by default, you have to set it explicitly. * This is not a useful feature on hubs, as they don't have clients. * It can be useful on client servers, if you autoconnect to your hub. * If you connect services to a server with clients this can be useful as well, especially in single-server setups. You would have to set a low retrywait in your anope conf (or similar services package) of like 5s instead of the default 60s. Then after an IRCd restart, your services link in before your clients and your IRC users have SASL available straight from the start. Bram Matthys 2023-05-07 11:21:22 +0200
  • be7d1cbed9
    Minor update of early release notes [skip ci] Bram Matthys 2023-05-07 10:09:39 +0200
  • a2324268da
    Update early release notes for 6.1.1-git [skip ci] Bram Matthys 2023-05-07 09:54:54 +0200
  • 8f3db7ba1b
    Fix crash on FreeBSD/NetBSD when using JSON-RPC interface. Bram Matthys 2023-05-07 09:28:48 +0200
  • c352cc2d5f
    Fix missing 'issued-by-tag' module in windows build. Oops... [skip ci] Bram Matthys 2023-05-06 11:27:35 +0200
  • ef6ba9c0cc
    Bump max number of DNS cached entries from 241 to 4096. This may help a little during mass connects. Bram Matthys 2023-05-06 11:13:16 +0200