1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-12 17:14:46 +02:00

Commit Graph

  • a5f1aa7f34 Print a [BUG] line if register_user() is called twice. Deliberately crash when running in DEBUGMODE. Bram Matthys 2026-01-23 07:42:57 +01:00
  • eea4cfa762 Modulemanager: support compile-flags and always look at modulemanager block Bram Matthys 2026-01-19 09:36:23 +01:00
  • 34e3469f91 Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unreal60_dev Bram Matthys 2026-01-19 09:04:51 +01:00
  • 96f4954e2b Compile ALL 3rd party modules through modulemanager, including unmanaged. This gets rid of src/buildmod and unifies the process a little, which i need later. Bram Matthys 2026-01-19 09:00:56 +01:00
  • 1dd6e9b07b Fix indentation in sasl.c return statement (PR #333) Valerie Liu 2026-01-18 18:32:11 +00:00
  • 0cf0c0faa2 Wait for SASL to complete during handshake (success/fail/timeout). This is to guard against clients that do like CAP LS 302, NICK, USER, AUTHENTICATE, CAP END, without waiting for the SASL result. Bram Matthys 2026-01-18 18:59:35 +01:00
  • 275f04c76c Fix Y2038 bug on Windows in unreal_setfilemodtime (PR #332) Silent 2026-01-11 07:33:49 +01:00
  • 1c461db46d Call update_known_user_cache() right before HOOKTYPE_REMOTE_CONNECT. Bram Matthys 2026-01-10 10:35:19 +01:00
  • 0cf9fb1cb0 Also update_known_user_cache() from AllowClient(), just before calling HOOKTYPE_ALLOW_CLIENT and (potentially) allowing the client in. Bram Matthys 2026-01-10 10:31:28 +01:00
  • 4235a183e3 Call update_known_user_cache() when reputation score reaches known-users threshold. Bram Matthys 2026-01-10 10:15:09 +01:00
  • 76aa3a12a6 Add SecurityGroup *known_users, to more quickly fetch those settings. And use this in a couple of core routines. Bram Matthys 2026-01-10 10:09:30 +01:00
  • 7374fcc83f Add client->known_user_cached as a quick way to determine if the user is in known-users or in unknown-users. Not used anywhere yet. Bram Matthys 2026-01-10 09:51:56 +01:00
  • 34ab517d9e Fix possible problem with channel in config-file, such as security group or elsewhere. I don't think this is an actual problem, but at least the fix from 1abf73309a was inconsistent, if we check for b->client further down, then we should not be reading from it a few lines up. As said, don't think this code is reached in practice, but hey... Bram Matthys 2026-01-04 10:30:08 +01:00
  • de05bb9654 Bump version to 6.2.3-git and write some early release notes Bram Matthys 2026-01-04 10:20:46 +01:00
  • 21d58a7ebd Do the same as previous commit for the help.*.conf translations Bram Matthys 2026-01-04 09:47:37 +01:00
  • 2868c3fedb help.conf: try to be consistent by documenting only end-user commands, thus removing commands that are only supposed to be used by IRC clients. We don't intend to document things like CAP, PONG, etc here. Bram Matthys 2026-01-04 09:32:51 +01:00
  • 2ca1dd0000 Warn about something like ban user { mask { asn { 12 34; } } reason "go away"; } Where 12 34; is wrong and should have been 12; 34; Reported by roger. Bram Matthys 2026-01-03 20:16:01 +01:00
  • 4e3989f304 Add ban user { ....; soft yes; } as an easy way to add a soft-ban from the config file, without having to resort to things like mask %~asn:XXX; Now you can just use: ban user { asn { 11111; 22222; 33333; 44444; } soft yes; reason "This ASN is not allowed. If you have an account you can still bypass"; } Bram Matthys 2026-01-03 19:58:25 +01:00
  • d0a553790d Fix typo in Windows installation instructions link (PR #331) Pedro Catalão 2026-01-03 09:34:44 +00:00
  • 1abf73309a Fix crash when using Extended Server Ban with invalid syntax in config file. Reported for 'country', but also applied to 'asn', 'certfp' and 'channel'. Bram Matthys 2025-12-26 12:25:05 +01:00
  • c85c16f78c JSON-RPC: server_ban and server_ban_exception: expand mask/match items Previously these showed up as "name":"<match item>", now they show up properly like this: "match": { "account": "Syzop" }, Bram Matthys 2025-12-14 10:36:55 +01:00
  • ded89d1935 JSON-RPC: Make connthrottle.status use config::except and change "state". * I changed "state":"active" to "state":"monitoring" to make clear it is not throttling at that moment but actively monitoring the situation. * The config::except stuff was previously shown directly under config and only 3 particular items (that are most popular). Now we expand to sub-item "except" and use json_expand_security_group() to expand all the mask items, in a consistent way, just like for security groups. Bram Matthys 2025-12-14 10:18:52 +01:00
  • c990848d2f Make json_expand_security_groups() really expand all and reorder some. * Add some missing fields, such as destination, but mostly in the exclude- area where a bunch were missing (some of those are a bit far fetched, but hey, they exist, so should be shown if in use). * Re-order fields to more closely match the struct (still not 100%) * Extended fields, such as "account" and "country", now show up directly under the security group, just like the other fields, such as "reputation_score". This is also how they show up in the config file, so hide the the fact that internally in the struct it is stored differently. * Add a comment in SecurityGroup struct in include/struct.h to make it clear you have to add/update stuff at 7 places if you are adding something new. Bram Matthys 2025-12-14 10:03:51 +01:00
  • 426040d870 Move json_expand_security_group() from rpc/security_group to core and don't include name/priority if it is called for a match item (which don't have a name or priority). Bram Matthys 2025-12-14 09:43:01 +01:00
  • 806fa83dd7 ** UnrealIRCd 6.2.2 ** Bram Matthys 2025-12-12 12:16:31 +01:00
  • 65a1f657b9 Fix testssl profiles to match output of new version of testssl.sh. Bram Matthys 2025-12-12 11:57:42 +01:00
  • 94d4ded864 Update c-ares to 1.34.6 and update release notes. Bram Matthys 2025-12-12 10:13:49 +01:00
  • fd52b71081 Setting set::tls::certificate and set::tls::key did not override the default certificate or key. It added the cert/key to the list of certs, like a "dual cert" approach. Bram Matthys 2025-12-10 18:43:35 +01:00
  • bda03caf81 modules.default.conf: fix warning of comment in comment, due to rpc/* Change comment style. Counter-intuitive, but fits the rest of the file. Bram Matthys 2025-12-06 17:08:58 +01:00
  • 7964345c0b Add RPC methods for security_group and connthrottle (#328) Valerie Liu 2025-12-06 13:58:57 +00:00
  • d2586a4b9c Add a blob of text (comment) about JSON-RPC in modules.default.conf Bram Matthys 2025-12-06 09:52:15 +01:00
  • 65f85a1b28 JSON-RPC: Add message.* (PR #327 from Valware) Valerie Liu 2025-11-28 11:24:19 +00:00
  • a9ddc3768b Fix some lines ending with \r\r\n instead of \r\n with labeled-response. Reported by andymandias in https://bugs.unrealircd.org/view.php?id=6406 Bram Matthys 2025-11-20 11:27:29 +01:00
  • 8715e54059 Fix some wording in release notes [skip ci] Bram Matthys 2025-11-19 09:06:56 +01:00
  • 1cdf3594ba Make a start with the (very early) release notes [skip ci] Bram Matthys 2025-11-19 08:53:30 +01:00
  • 2653b5152e Fix crash if you don't load usermodes/bot or usermodes/noctcp. It should be perfectly fine if you choose not to load these modules but, while optimizing / speeding up the find_user_mode() function, i made it crash in case the hunted user mode does not exist. Oops. Bram Matthys 2025-11-19 08:17:19 +01:00
  • 242267c280 Fix github CI Bram Matthys 2025-11-15 18:40:59 +01:00
  • b1210024c6 Bump scratch buffer too, or we would overflow due to previous commit Bram Matthys 2025-11-15 18:40:04 +01:00
  • 6c5de62c18 Add CMD_BIGLINES support to SJOIN (incoming only) We still propagate in a non-biglines way, no plan to change that atm. This is just future-proofing. More testing/auditing needs to be done, especially to see if buffers are sufficient. Bram Matthys 2025-11-15 17:02:12 +01:00
  • 3c0046be8b Attempt to fix fight with Gottem's auditorium module. delayjoin was setting +d if there are invisible users still, but it should only do that if the channel was +D earlier and not in all cases (like if some other module is dealing with invisible users). Bram Matthys 2025-11-12 17:51:17 +01:00
  • 61ebd34a1e Fix compile error and add URL validation: valid UTF8, no spaces, no low ASCII Bram Matthys 2025-11-12 10:53:12 +01:00
  • 68f01814be Some minor updates to previous. * We try to keep the dynconf variables the same name as in the conf (well, with hyphens to underscores, and there are some exceptions) * Remove unnecessary but otherwise harmless second safe_free() * The URL could have been too long. It is now limited to 360 characters, which should be plenty. Bram Matthys 2025-11-12 10:11:57 +01:00
  • 557595fd1c Implement IRCv3 network icon support (PR #326) Valerie Liu 2025-11-12 09:01:42 +00:00
  • f7865140ad Allow '/' in ISUPPORT tokens (PR #325) Valerie Liu 2025-11-09 08:28:26 +00:00
  • c723292ec9 Add HOOKTYPE_MOTD so modules can add their own MOTD lines before RPL_ENDOFMOTD (PR #324) Valerie Liu 2025-11-09 08:16:23 +00:00
  • 6064fdb054 Small ./Config change to walk through older release directories Bram Matthys 2025-11-09 09:04:58 +01:00
  • d7a6868950 Bump version to 6.2.2-git Bram Matthys 2025-11-09 09:01:34 +01:00
  • 4e0eaecb33 Run ./configure for PCRE2 also with original CFLAGS (and not with the ones we add during ./Config like -Wall -Wextra etc...) Bram Matthys 2025-11-07 18:39:40 +01:00
  • 8e6ee0ba6a JSON: Make channel.kick check if the user is in channel and throw an error (JSON_RPC_ERROR_USERNOTINCHANNEL) if this is not the case. Previously we returned success. Bram Matthys 2025-11-04 17:54:45 +01:00
  • 09032ec868 ** UnrealIRCd 6.2.1 ** Bram Matthys 2025-11-02 16:10:26 +01:00
  • ced1382eab Fix channel messages not showing up on remote servers (6.1.2-rc2 bug). This required two members on the same server and channel mode +H to be set (or set::broadcast-channel-messages 'always', then also with -H). Bram Matthys 2025-11-02 15:43:10 +01:00
  • 89d8653583 Fix missing const in check_version() Bram Matthys 2025-10-31 09:54:36 +01:00
  • 3510722cef url_unreal: fix relative redirects not working Bram Matthys 2025-10-31 09:39:46 +01:00
  • 295d0932fb message-tags: Fix length checks (PR #323) Val Lorentz 2025-10-31 09:32:00 +01:00
  • 663a33e981 Update release notes a bit on webhooks and other recent improvements. [skip ci] Bram Matthys 2025-10-29 14:06:29 +01:00
  • 3a35689a43 Adjust the "To ensure UnrealIRCd automatically starts on system startup" text at the end of "make install". Previously it mentioned installing a Cron job, now it also mentions Systemd. Bram Matthys 2025-10-29 10:39:36 +01:00
  • fea1d2ab8b Add two systemd unit files in extras/startup: Bram Matthys 2025-10-29 10:06:30 +01:00
  • 82417d0cd2 Don't write PID file if running in foreground mode (-F) and error on ./unrealircd [start|stop|restart] commands if unrealircd is running but without a pid, which will be the case if running through systemd. Bram Matthys 2025-10-29 09:56:18 +01:00
  • 82f21df20b Make unrealircd binary mention at least -F Reported by henk in https://bugs.unrealircd.org/view.php?id=6424 Bram Matthys 2025-10-29 08:17:35 +01:00
  • c16d602cc2 Add webhooks functionality to log blocks (PR #322) Valerie Liu 2025-10-27 07:50:38 +00:00
  • b31c394cd0 When channel flood protection kicks in, tell chanops how to get more info, namely via "MODE #channel +F". Bram Matthys 2025-10-25 15:26:17 +02:00
  • 5b6037698a Forgot to add 3 modules in Windows makefile. [skip ci] Bram Matthys 2025-10-23 19:05:09 +02:00
  • 58c37b67f9 ** UnrealIRCd 6.2.1-rc2 ** Bram Matthys 2025-10-23 18:02:28 +02:00
  • 1feb7bbbfe Workaround gcc UBSan bug triggering -Wstringop-overread Bram Matthys 2025-10-17 17:03:26 +02:00
  • 23fc12c71c Update doc/unrealircd_wiki.zim (current wiki) Bram Matthys 2025-10-17 11:25:27 +02:00
  • f5a5dae4aa Make sanitizer question in ./Config not only enable ASan but also UBSan (both AddressSanitizer and UndefinedBehaviorSanitizer) Bram Matthys 2025-10-17 09:20:12 +02:00
  • ad991e9d0b Move "web" too from MODDATATYPE_CLIENT to MODDATATYPE_LOCAL_CLIENT Since this is always about a local connection Bram Matthys 2025-10-17 08:28:52 +02:00
  • 8067ee3ad2 Move some modules using MODDATATYPE_CLIENT to MODDATATYPE_LOCAL_CLIENT authprompt blacklist blacklistrecheck Bram Matthys 2025-10-17 08:21:02 +02:00
  • 1d774de862 Add MODDATATYPE_* to MODULE for IRCOps Bram Matthys 2025-10-17 08:18:56 +02:00
  • b3821c3c4f Code cleanup: now that MDInfo is split by [req.type], we don't need to check for type == req.type anymore. Bram Matthys 2025-10-15 08:32:28 +02:00
  • c1dff43c8d Make the "ModDataAdd: out of space" error message more helpful Bram Matthys 2025-10-15 08:30:51 +02:00
  • a52281dc28 Some more attempts to kill a proxy crash bug Bram Matthys 2025-10-14 19:52:57 +02:00
  • da703efdf4 Fix OOB write in message tag S2S parsing, introduced in 6.2.1-rc1. Bram Matthys 2025-10-14 16:49:49 +02:00
  • 5c587e6230 Fix crash in new ISUPPORT command (if sent by remote server) That is, trusted S2S traffic. Bram Matthys 2025-10-14 16:44:01 +02:00
  • 7f1d42856f Some minor rewording of release notes / adding links Bram Matthys 2025-10-12 15:20:59 +02:00
  • 15e367a822 ** UnrealIRCd 6.2.1-rc1 ** Bram Matthys 2025-10-12 15:10:32 +02:00
  • 058affe028 Fix crash with proxy { } block and if client is killed after parse_proxy_header(). Have not tried to reproduce but this could happen if the client is Z-Lined. Bram Matthys 2025-10-11 10:21:40 +02:00
  • 0607a63d91 Write a lot more in release notes Bram Matthys 2025-10-10 19:20:50 +02:00
  • 01ffa1c98f Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unreal60_dev Bram Matthys 2025-10-10 08:44:15 +02:00
  • 6a837bf669 inetntop() was using a wrong sizeof() which could trigger a message about an overflow with eg 'STATS maxperip' (IRCOp-only command). Also, STATS maxperip failed to return 1 in the hook, resulting in unnecessary STATS help output after the list. Bram Matthys 2025-10-10 08:40:06 +02:00
  • 1182bd4430 Fix ./Config printing a message about 'make' not installed on OpenBSD (PR #321) Rafael Grether 2025-10-08 04:11:47 -03:00
  • 32570ad2f8 And let's add an IsUser() here too. This isn't a problem atm, since it is only called from JOIN (so always a user), but you never know in the future... Bram Matthys 2025-10-07 18:35:16 +02:00
  • 789ef5aa4c Fix crash due to recent commits. Don't call invisible_user_in_channel for servers. Bram Matthys 2025-10-07 18:33:27 +02:00
  • 99ae01edf8 Fix tls-tests after last chgs Bram Matthys 2025-10-06 14:22:11 +02:00
  • be8e2f4764 CI: Add -slightlyfast so ban expiry test is skipped (that one runs in BuildBot anyway) This to keep the CI at GitHub reasonably fast. Bram Matthys 2025-10-06 11:52:52 +02:00
  • 7cb3b50737 run-test: add $RUNTESTFLAGS Bram Matthys 2025-10-06 11:52:04 +02:00
  • cfaae0533d Move testssl.sh cloning to tls-tests Bram Matthys 2025-10-06 11:32:32 +02:00
  • f0b6a648a3 Add CI badge to top of README Bram Matthys 2025-10-06 11:14:16 +02:00
  • acab7240c9 CI: Whoops.. missed the last line. Bram Matthys 2025-10-06 11:05:24 +02:00
  • 03423e155c GitHub Actions: add Linux CI (in addition to existing BuildBot) Bram Matthys 2025-10-06 10:50:57 +02:00
  • 573f65efb5 Add extras/tests/tls/tls-tests.bbwrapper which i use for BuildBot Bram Matthys 2025-10-06 10:06:23 +02:00
  • 85ce779f93 Use $NOSERVICES instead of $FREEBSD if we want to skip services tests Bram Matthys 2025-10-06 09:32:11 +02:00
  • 4a3d3bf72f extras/tests/tls/tls-tests: split these off in an additional step Bram Matthys 2025-10-06 08:57:14 +02:00
  • 07b99d1429 extras/build-tests/nix/build: support additional CPPFLAGS and output something more useful. Bram Matthys 2025-10-06 08:55:17 +02:00
  • 326b1cd349 quit_sendto_local_common_channels(): rename some variables Previous was way too confusing where user was actually a client and channels was actually a membership struct. And then you got like user->user and channels->channel. No, let's make this conform to the same style that we use elsewhere. Who the hell wrote this !?? Oh, it seems I did :D Bram Matthys 2025-10-05 16:20:05 +02:00
  • 301c7915a7 Optimize +D stuff in quit_sendto_local_common_channels() 1) Similar to sendto_local_common_channels() go through local_members instead of all channel members 2) We have the membership info, so use user_can_see_member_fast() Bram Matthys 2025-10-05 16:14:28 +02:00
  • ef8394c64d Optimization: avoid find_member_link()'s where possible Bram Matthys 2025-10-05 15:51:34 +02:00
  • 5f2f020183 Make unreal_copyfile() copy in 16k chunks instead of 1k Bram Matthys 2025-10-05 14:05:52 +02:00
  • aaa3179676 Avoid running make_cloakedhost() twice for remote clients. This saves around 5% unrealircd CPU in 100k remote clone tests. Bram Matthys 2025-10-05 11:16:23 +02:00
  • 9310c655b9 We can do the umode change by UID. Not that it matters much :D. And parv[0] is always NULL in UnrealIRCd. Bram Matthys 2025-10-05 11:01:46 +02:00