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
Sadie Powell
4e04a11995
Consistently use email instead of e-mail.
2024-03-07 22:52:41 +00:00
Sadie Powell
464e6b8010
Use the C++11 random number generator instead of rand().
...
This is safer, faster, and doesn't require seeding.
2024-03-07 22:52:41 +00:00
Sadie Powell
3272c1bbc6
Require new accounts to have email addresses.
2024-03-07 22:25:32 +00:00
Sadie Powell
bb94f286f5
Also use drop confirmation codes for nicknames.
2024-03-07 21:18:06 +00:00
Sadie Powell
86e3556438
Fix some misc bugs in the InspIRCd protocol module.
...
Closes #373 .
2024-03-07 20:55:22 +00:00
Sadie Powell
12214bee72
Add the initial version of the Atheme database importer.
2024-03-07 18:50:36 +00:00
Sadie Powell
08a35231ef
Merge branch '2.0' into 2.1.
2024-03-04 12:10:22 +00:00
Sadie Powell
9649dc78a1
When using ldap/sql auth prevent displays expiring before their group.
...
This prevents zombie accounts from being left around that can't be
authenticated to.
Closes #355 .
2024-03-04 12:08:28 +00:00
Sadie Powell
1a8ae513b4
Add NickAlias::GetVhostMask for getting the vident@vhost.
2024-03-04 11:09:50 +00:00
Sadie Powell
e0ac5509b4
Consolidate some header files.
2024-02-29 19:32:44 +00:00
Sadie Powell
893bbf9251
Fix some oversights.
2024-02-29 17:15:15 +00:00
Sadie Powell
5441093211
Merge branch '2.0' into 2.1.
2024-02-29 16:32:14 +00:00
Sadie Powell
ee7455daa8
Fix a copy/paste error in webcpanel.
2024-02-29 16:27:24 +00:00
Sadie Powell
579af3c442
Rip out ns_access and related code.
...
This is wildly insecure and has been disabled by default for at
least a decade.
2024-02-29 16:14:15 +00:00
Sadie Powell
25bdcfcbc4
Add names for the numerics used by the core.
2024-02-29 13:07:14 +00:00
Sadie Powell
5f735b2570
Fix matching extbans on InspIRCd and implement missing matchers.
2024-02-27 20:33:43 +00:00