Sadie Powell
5a54b37aeb
Remove the g prefix from git hashes.
2024-04-04 14:16:21 +01:00
Sadie Powell
c08aaa86d1
Sync the build system directory names with the core.
2024-04-02 16:52:41 +01:00
Sadie Powell
87a8af0ad7
Use the paths from the build system instead of hardcoding them.
2024-04-02 16:45:49 +01:00
Sadie Powell
4399eeaa58
Add the --nopid option to disable writing a pidfile.
...
This is useful for init scripts that don't fork.
2024-03-20 21:34:28 +00:00
Sadie Powell
fde3438ef2
Allow using absolute paths in more places.
2024-03-19 15:11:40 +00:00
Sadie Powell
413fed474e
Fix unnecessary uses of std::string.
2024-03-18 12:47:43 +00:00
Sadie Powell
60083834f8
Improve sending email.
...
- Use consistent line endings as expected by the email spec.
- Don't require admins to escape . at the start of lines.
- Log the reason why sending email fails.
2024-03-18 12:34:34 +00:00
Sadie Powell
cb3848b7db
Use clock_gettime if it is available.
2024-03-18 11:27:10 +00:00
Sadie Powell
753119c4a1
Use consistent casing when referring to vhosts and vidents.
2024-03-15 12:42:13 +00:00
Sadie Powell
ad86535024
Consistently use READ_ONLY_MODE everywhere.
2024-03-15 12:09:58 +00:00
Sadie Powell
13a556df89
Initialize timer members with constructor initialization.
2024-03-14 23:19:32 +00:00
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
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
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
02355546ff
Reject registrations and password changes if password encryption fails.
2024-03-11 19:39:47 +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
f919bb0748
Add self-tests to the encryption providers.
2024-03-10 20:20:24 +00:00
Sadie Powell
3b85a8071f
Add some missing documentation comments.
2024-03-10 15:58:58 +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
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
a6bc4cab9d
Misc improvements to the encryption API.
2024-03-09 22:22:56 +00:00
Sadie Powell
ef37daf44a
Clean up the services.h includes.
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
Sadie Powell
9ead3f15c3
Save the last email time for accounts.
2024-03-09 22:22:55 +00:00
Sadie Powell
272104af95
Modernize the initialisation of NickAlias and NickCore.
2024-03-09 22:22:55 +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
bb94f286f5
Also use drop confirmation codes for nicknames.
2024-03-07 21:18:06 +00:00
Sadie Powell
12214bee72
Add the initial version of the Atheme database importer.
2024-03-07 18:50:36 +00:00
Sadie Powell
1a8ae513b4
Add NickAlias::GetVhostMask for getting the vident@vhost.
2024-03-04 11:09:50 +00:00
Sadie Powell
4e0f94bcce
Fix some oversights from previous commits.
2024-02-29 23:18:46 +00:00
Sadie Powell
1c1645096f
If a user runs an invalid command try to suggest a valid one.
2024-02-29 21:56:14 +00:00
Sadie Powell
190c37a68b
Rework some platform compatibility code.
2024-02-29 19:11:37 +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
9c80f9e34e
Replace OnChannelUnban with an IRCDProto function.
...
This was added for (and is only used for) for unbanning users on
UnrealIRCd which is an IRCd protocol function so it should be in
IRCDProto.
2024-02-27 13:40:47 +00:00
Sadie Powell
73d4ac6de0
Remove redundant uses of const.
2024-02-27 10:34:27 +00:00
Sadie Powell
1e87849e5c
Rework IRCDMessage/IRCDMessageFlag.
2024-02-26 23:56:07 +00:00
Sadie Powell
79f215606d
Allow using more than one fingerprint in an oper block.
...
Closes #362 .
2024-02-26 21:55:59 +00:00
Sadie Powell
6be4df3b39
Remove several string format IRCDProto function overloads.
2024-02-26 16:45:28 +00:00
Sadie Powell
57674f5869
Replace IRCDProto::CanSendTags with IsTagValid.
...
Not every IRC server accepts arbitrary tags so this is a better
way to handle tag filtering.
2024-02-26 15:50:35 +00:00
Sadie Powell
c6cb4ba159
Fix some coding style issues.
2024-02-26 15:34:17 +00:00
Sadie Powell
e341cac8d6
Implement support for the IRCv3 +draft/channel-context tag.
...
Closes #358 .
2024-02-26 15:34:17 +00:00
Sadie Powell
83dd96b9f2
Extract should privmsg logic to its own function.
2024-02-26 14:41:50 +00:00
Sadie Powell
8c9ca23900
Remove a function which exists for compat with old versions of VS.
2024-02-25 23:49:07 +00:00
Sadie Powell
97b65b2255
Use unique_ptr for managing std::thread ownership.
2024-02-25 21:54:40 +00:00