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
13a556df89
Initialize timer members with constructor initialization.
2024-03-14 23:19:32 +00:00
Sadie Powell
c8d8978cd0
Require that at least one encryption module is loaded.
2024-03-12 21:57:38 +00:00
Sadie Powell
11edba04fe
Add command handlers for encap commands on InspIRCd.
2024-03-12 21:57:06 +00:00
Sadie Powell
6fd7ca39e2
Fix the reason when kicking users from suspended channels.
...
Closes #372 .
2024-03-12 17:00:42 +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
9a8cac060d
Add support for encrypting passwords with the Argon2 algorithm.
...
Closes #369 .
2024-03-10 15:09:38 +00:00
Sadie Powell
ef37daf44a
Clean up the services.h includes.
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
1d0a836a2e
Improve protocol debug messages.
2024-03-08 12:24:44 +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
9970b4e37b
Bump for 2.1.4-git.
2024-03-04 11:09:51 +00:00
Sadie Powell
a5a615d5c7
Release 2.1.3.
2024-03-04 11:09:51 +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
26919f41d2
If a PRIVMSG or NOTICE is empty then send a single space instead.
...
Currently a bunch of code does source.Reply(" ") to ensure that an
empty line gets rendered but this is a much better way to handle
this problem.
The code that does this already will be updated in a future commit
to avoid breaking translations in progress.
2024-02-29 12:31:19 +00:00
Sadie Powell
73d4ac6de0
Remove redundant uses of const.
2024-02-27 10:34:27 +00:00
Sadie Powell
7640fad30c
Simplify several boolean expressions.
2024-02-27 10:19:44 +00:00
Sadie Powell
9f6d378755
Fix write_pidfile on Windows.
...
Microsoft's documentation lies again.
2024-02-27 10:19:36 +00:00
Sadie Powell
eb658f87a3
Use fstream for accessing files where possible.
2024-02-26 23:57:55 +00:00
Sadie Powell
1e87849e5c
Rework IRCDMessage/IRCDMessageFlag.
2024-02-26 23:56:07 +00:00
Sadie Powell
5fa4acb195
Refactor User::IsServicesOper.
2024-02-26 22:00:21 +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
cabaa079df
Kill checks for obsolete versions of Windows.
...
Because of the required system functionality Anope will not build
or run on these systems anyway.
2024-02-25 23:56:46 +00:00
Sadie Powell
273e7f249c
Remove duplicate suffix from socketengine file names.
2024-02-25 23:54:12 +00:00
Sadie Powell
97b65b2255
Use unique_ptr for managing std::thread ownership.
2024-02-25 21:54:40 +00:00
Sadie Powell
3290ebd36a
GetMaxListFor: use size_t and add a default like the other fields.
2024-02-22 17:25:47 +00:00
Sadie Powell
c4e9c0bf85
If the IRCd sends a field limit then use it over that of the config.
2024-02-22 17:05:30 +00:00
Sadie Powell
9789c3bd8c
Deduplicate User::SendMessage.
2024-02-22 14:14:23 +00:00
Sadie Powell
a75afb597b
Add the IRCv3 reply tag to messages sent as responses to a user.
2024-02-22 13:23:18 +00:00
Sadie Powell
f93d9e7698
Store the source message identifier in CommandSource.
2024-02-22 13:19:36 +00:00
Sadie Powell
7423fa9998
Route message tags into more message functions.
2024-02-22 13:03:53 +00:00
Sadie Powell
d4f4bcf23c
Remove UplinkSocket::Message now nothing uses it.
2024-02-22 00:14:08 +00:00