Sadie Powell
beaf09de7b
Rework sending global notices.
...
Admins can now queue multiple messages and send them when they are
ready. This is fully compatible with the previous global behaviour.
Admins can now also send messages to individual servers. This is
useful for informing users of maintenance due to downtime.
2024-03-14 21:35:17 +00:00
Sadie Powell
11edba04fe
Add command handlers for encap commands on InspIRCd.
2024-03-12 21:57:06 +00:00
Sadie Powell
22ba54b00d
Show the full command in CONFIRM_DROP.
2024-03-12 19:24:31 +00:00
Sadie Powell
b8cd00b412
Merge branch '2.0' into 2.1.
2024-03-12 16:50:30 +00:00
Sadie Powell
f4bd43e898
Add a workaround for users matching expired sqlines.
...
I'll fix this properly in 2.1 because I don't want to make big
changes to 2.0.
Closes #384 .
2024-03-12 16:47:57 +00:00
Sadie Powell
7d7664444a
Fix expiring forbids.
2024-03-12 16:26:33 +00:00
Sadie Powell
1a8bbd6004
Respect --noexpire in cs_suspend and ns_suspend.
2024-03-12 14:43:12 +00:00
Sadie Powell
e725c880a9
Fix expiring channel suspensions.
...
Closes #386 .
2024-03-12 14:12:37 +00:00
Sadie Powell
f5abcd1c4c
Fix expiring nick suspensions.
...
Closes #376 .
2024-03-12 14:02:16 +00:00
Sadie Powell
1986aa6581
Fix duplicate messages when synconset/syncongroup is set.
...
Closes #366 .
2024-03-12 13:26:25 +00:00
Sadie Powell
b52e1b2b02
Implement support for challenge authentication on InspIRCd.
2024-03-12 13:19:20 +00:00
Sadie Powell
54719fbfc6
Allow protocol modules to declare that they have no line/mode limit.
...
InspIRCd allows us to send infinite length lines and mode changes
and will restack before sending to users.
2024-03-12 12:39:33 +00:00
Sadie Powell
06add0e5fc
Simplify limit extraction code.
2024-03-12 12:24:02 +00:00
Sadie Powell
63d682314b
Merge branch '2.0' into 2.1.
2024-03-12 11:53:14 +00:00
Sadie Powell
1a6060ac5b
Fix sending SVSTOPIC when topiclock is loaded on InspIRCd.
2024-03-12 11:46:41 +00:00
Sadie Powell
a302f8f1be
Refactor sending vhosts in the InspIRCd protocol module.
2024-03-12 11:43:21 +00:00
Sadie Powell
04e1a4f5c8
Add a protocol module function for extracting timestamps.
2024-03-12 11:02:08 +00:00
Sadie Powell
1538909ac0
Add ProtocolException and use it to send fatal errors.
2024-03-12 00:17:49 +00:00
Sadie Powell
a15f165a1d
Fix an inverted condition in enc_bcrypt.
2024-03-12 00:17:49 +00:00
Sadie Powell
77435dd0d9
Merge branch '2.0' into 2.1.
2024-03-11 22:43:29 +00:00
Sadie Powell
6f57907416
Fix the TIME message on InspIRCd.
2024-03-11 22:38:15 +00:00
Sadie Powell
7c1cfd2849
Fix comparing passwords in enc_sha256.
2024-03-11 21:07:39 +00:00
Sadie Powell
259b10b83a
Fix some InspIRCd 1206 protocol compatibility issues.
2024-03-11 20:27:30 +00:00
Sadie Powell
02355546ff
Reject registrations and password changes if password encryption fails.
2024-03-11 19:39:47 +00:00
Sadie Powell
6ad3430ac4
Clean up some dead code in ns_register.
2024-03-11 19:30:57 +00:00
Sadie Powell
29e7674e56
Replace convertTo/stringify with non-throwing alternatives.
...
Having these throw is terrible for ergonomics and there are loads
of places where the exception was either silently ignored or not
handled at all. Having a function which returns an optional and
another that returns a default works a lot better imo.
2024-03-11 19:17:29 +00:00
Bram Matthys
b09632d1c3
Fix OS SQLINE expiry with UnrealIRCd
2024-03-11 18:30:55 +00:00
Sadie Powell
e2df7d4d01
Ensure that verify-only encryption modules can never encrypt passwords.
...
If another module was loaded first and then later unloaded it was
possible for a deprecated module to encrypt passwords.
2024-03-10 20:46:03 +00:00
Sadie Powell
9a984a8148
Implement verify-only support for raw SHA-2 passwords.
2024-03-10 20:46:03 +00:00
Sadie Powell
fb9c8950ed
Refactor the enc_bcrypt module and expose an encryption provider.
2024-03-10 20:46:03 +00:00
Sadie Powell
a849a81ac3
Refactor the enc_old module.
2024-03-10 20:28:00 +00:00
Sadie Powell
f919bb0748
Add self-tests to the encryption providers.
2024-03-10 20:20:24 +00:00
Sadie Powell
9a8cac060d
Add support for encrypting passwords with the Argon2 algorithm.
...
Closes #369 .
2024-03-10 15:09:38 +00:00
Sadie Powell
0353338436
Replace the custom SHA-2 implementation in enc_sha256.
2024-03-10 12:27:49 +00:00
Sadie Powell
defb8348a7
Move the HMAC function to the encryption header.
...
This will be useful for doing challenge authentication on InspIRCd.
2024-03-09 22:51:23 +00:00
Sadie Powell
1b86665d81
Add a stats category for password encryption algorithms.
2024-03-09 22:22:56 +00:00
Sadie Powell
6e0f0b8896
Add the enc_sha2 module which hashes passwords with HMAC-SHA-2.
...
Using HMAC instead of changing the IV is a lot safer.
2024-03-09 22:22:56 +00:00
Sadie Powell
2c5b2c649e
Convert enc_md5 to use a vendored MD5 library.
2024-03-09 22:22:56 +00:00
Sadie Powell
a6bc4cab9d
Misc improvements to the encryption API.
2024-03-09 22:22:56 +00:00
Sadie Powell
39d288f99f
Rename hash_map to unordered_map to match the underlying container.
2024-03-09 22:22:56 +00:00
Bram Matthys
51e95d72e3
Enable message-tags support for UnrealIRCd
2024-03-09 14:53:38 +00:00
Sadie Powell
12486f6cee
Tweak the config default limits slightly.
2024-03-09 11:43:38 +00:00
Sadie Powell
891375baca
Use a separate CAPAB handler on InspIRCd to avoid pollution.
2024-03-08 19:05:12 +00:00
Sadie Powell
41a295202e
Only enable InspIRCd parser logging when using --protocoldebug.
2024-03-08 18:17:17 +00:00
Sadie Powell
722c5b7d61
Implement support for the InspIRCd 1206 protocol.
2024-03-08 17:12:44 +00:00
Sadie Powell
52216b56a1
Merge branch '2.0' into 2.1.
2024-03-08 17:05:49 +00:00
Sadie Powell
cd614831de
Fix feature detection on InspIRCd.
2024-03-08 16:49:55 +00:00
Sadie Powell
46b7064834
Keep the InspIRCd protocol version around for later use.
2024-03-08 11:07:30 +00:00
Sadie Powell
bb8df01e25
Move some modules which can be built by default out of extra.
2024-03-07 23:18:08 +00:00
Sadie Powell
16700b0e30
Remove a guarantee that may not necessarily be correct.
2024-03-07 23:09:25 +00:00