Sadie Powell
81aa37543e
Merge branch '2.0' into 2.1.
2026-01-01 18:07:12 +00:00
Sadie Powell
4ac5cf89e3
Update the copyright headers for 2025.
2026-01-01 18:04:37 +00:00
Sadie Powell
7da2364b69
Switch enc_sha1 to use a vendored library.
2025-11-12 19:49:59 +00:00
Sadie Powell
fa0c6ba821
Consistently use the same header layout on all files.
2025-11-12 19:49:59 +00:00
Sadie Powell
8562445038
Fix double lookups on accounts when authenticating.
2025-11-09 11:42:58 +00:00
Sadie Powell
d15b8ee949
Remove some dead code from enc_sha256.
2025-08-08 13:14:14 +01:00
Sadie Powell
70de2b7de2
Move B64{Decode,Encode} to textproc and redesign their interface.
2025-08-08 12:27:28 +01:00
Sadie Powell
5a3f9f3f87
Warn when a user loads a deprecated module.
2025-08-01 13:08:22 +01:00
Sadie Powell
64f8449bf4
Banish db_old and enc_old to the shadow realm.
2025-08-01 12:41:27 +01:00
Sadie Powell
07bd1bbec9
Switch enc_sha2 default from sha256 to sha512.
2025-04-14 01:01:24 +01:00
Sadie Powell
fdc33b0f6d
Warn if enc_bcrypt is the first module and maxpasslen is >72.
2025-03-14 11:09:35 +00:00
Sadie Powell
f9911dde52
Return references instead of pointers from the config system.
...
We used to return NULL from these methods but now we return an empty
block so this can never actually be null now.
2025-03-02 15:27:47 +00:00
Sadie Powell
d460b267e3
Reject passwords bigger than Bcrypt can handle.
2025-01-25 17:54:49 +00:00
Sadie Powell
9bab54af79
Qualify a use of auto.
2025-01-17 23:54:53 +00:00
Sadie Powell
0a82366a6b
Merge branch '2.0' into 2.1.
2025-01-14 13:41:19 +00:00
Sadie Powell
da7f47c1c7
Update the copyright headers for 2025.
2025-01-14 13:30:07 +00:00
Sadie Powell
78b548628c
Add example code for how to validate SHA2 passwords in PHP.
2024-12-15 13:23:31 +00:00
Sadie Powell
e6770bc2fd
Fix an off by one error in enc_sha2.
2024-03-18 22:04:57 +00:00
Sadie Powell
a15f165a1d
Fix an inverted condition in enc_bcrypt.
2024-03-12 00:17:49 +00:00
Sadie Powell
7c1cfd2849
Fix comparing passwords in enc_sha256.
2024-03-11 21:07:39 +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
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
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
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
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
12214bee72
Add the initial version of the Atheme database importer.
2024-03-07 18:50:36 +00:00
Sadie Powell
b5b3c74477
Make functions that don't use this static.
2024-02-27 10:48:55 +00:00
Sadie Powell
c6cb4ba159
Fix some coding style issues.
2024-02-26 15:34:17 +00:00
Sadie Powell
4cc68397dc
Update the copyright headers for 2024.
2024-02-17 19:58:17 +00:00
Sadie Powell
72acef4e15
Mark types that have no inheritors as final.
2024-01-23 16:53:06 +00:00
Sadie Powell
a6a0f6c447
Improve the layout of types that inherit from another type.
2024-01-23 15:28:23 +00:00
Sadie Powell
a40f8e0b9d
Update the copyright headers for 2024.
2024-01-04 22:25:48 +00:00
Sadie Powell
6538641e87
Remove some unnecessary spaces that break editor indentation.
2023-12-17 13:59:49 +00:00
Sadie Powell
a3241065c5
Start migrating to range-based for loops.
2023-10-11 15:51:52 +01:00
Sadie Powell
885462d98e
Merge branch '2.0' into 2.1.
2022-12-31 22:11:19 +00:00
Sadie Powell
33a337dfc0
Update the copyright headers for 2023.
2022-12-31 22:08:50 +00:00
Sadie Powell
9d92de1157
Import InspIRCd's vendoring tool and use it to vendor crypt_blowfish.
2022-10-22 20:08:30 +01:00
Sadie Powell
a631028660
Merge branch '2.0' into 2.1.
2022-01-12 22:08:35 +00:00
Sadie Powell
b8bcad048e
Update the copyright headers for 2022.
2022-01-06 23:15:44 +00:00
Sadie Powell
ec7dfb3675
Use C++11 header names instead of their deprecated equivalents.
2022-01-04 12:36:35 +00:00
Sadie Powell
c9f93eeaed
Merge branch '2.0' into 2.1.
2022-01-04 00:39:34 +00:00
Sadie Powell
ba2c82e2f5
Fix some minor issues discovered whilst working on 2.1.
2022-01-03 19:37:33 +00:00