Sadie Powell
ca8fcbe119
Allow protocol modules to apply tags to sent messages.
...
This is useful because for some IRCv3 specifications we need to
apply tags to all messages and its annoying to have to do this
inline when sending each message.
2026-06-10 09:14:09 +01:00
Kufat
d1f6da1817
Allow specifying the order of ns_set_misc entries.
2026-06-08 09:36:18 +01:00
Sadie Powell
eaa24d3b0a
Fix the location of &* on types.
2026-03-26 16:32:56 +00:00
Sadie Powell
5aeb078391
Revamp support for swhois.
2026-02-14 15:09:22 +00:00
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
fa0c6ba821
Consistently use the same header layout on all files.
2025-11-12 19:49:59 +00:00
Sadie Powell
a70ef47359
Numerics should always be unsigned.
2025-10-29 13:14:35 +00:00
Sadie Powell
b9554f8539
Add an IRCv3 time tag to entry messages.
2025-10-18 00:39:05 +01:00
Sadie Powell
cd0f00a819
Improve the error diagnostics when the link fails.
2025-08-03 13:15:14 +01:00
Sadie Powell
50f17ea8e1
Consistently use realname instead of gecos.
2025-05-10 14:40:12 +01:00
Sadie Powell
010beb52b1
Store the setter and ts for all modes and try to restore them.
...
This is mostly for preserving channel list mode info.
2025-05-03 21:28:56 +01:00
Sadie Powell
c955941413
Remove the unused template overload of SendMode.
2025-05-03 19:01:35 +01:00
Sadie Powell
5c2fc1cedd
Allow clearing other list modes using ClearBans.
2025-04-15 15:00:25 +01:00
Sadie Powell
404bf77ef5
Add a message handler for messages that can be safely ignored.
2025-04-02 13:17:38 +01:00
Sadie Powell
6d7fe69cdf
Add support for oper-only quit messages.
...
This currently only works on InspIRCd but I believe that other
servers also support this.
2025-03-09 18:51:03 +00:00
Sadie Powell
5828cdba45
Move SASL protocol messages to the SASL header.
2025-03-03 21:45:59 +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
ff65b68dfa
Fix the name of the key parameter in SendSVSJoin.
2024-07-14 15:21:00 +01:00
Sadie Powell
01e0cf4868
Add support for sending tag messages.
2024-06-24 14:46:41 +01:00
Sadie Powell
693eeed762
Rework how CTCP messages are sent and received.
2024-06-24 14:29:55 +01:00
Sadie Powell
6e5713d64a
Remove the formatting overloads of SendNotice/SendPrivmsg.
2024-06-24 13:30:17 +01:00
Sadie Powell
c36030c826
Remove CanSVSLogout and implement logout support on Plexus.
2024-05-09 18:54:40 +01:00
Sadie Powell
5473311bd7
Only enable os_noop on IRCDs that actually have a SendSVSNOOP impl.
2024-04-15 21:08:40 +01:00
Sadie Powell
f3ebb67469
Make SendChannel abstract.
2024-04-15 21:00:10 +01:00
Sadie Powell
753119c4a1
Use consistent casing when referring to vhosts and vidents.
2024-03-15 12:42:13 +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
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
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
1e87849e5c
Rework IRCDMessage/IRCDMessageFlag.
2024-02-26 23:56:07 +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
e341cac8d6
Implement support for the IRCv3 +draft/channel-context tag.
...
Closes #358 .
2024-02-26 15:34:17 +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
7423fa9998
Route message tags into more message functions.
2024-02-22 13:03:53 +00:00
Sadie Powell
aefbb4fbda
Rework SendModeInternal to be usable with Uplink::Send.
2024-02-22 00:14:08 +00:00
Sadie Powell
9b77fdf5b6
Rework SendNumericInternal to be usable with Uplink::Send.
2024-02-22 00:14:08 +00:00
Sadie Powell
c4ab550ec7
Add Uplink::Send, rework message formatting.
...
This is the new way of sending messages to the uplink inspired by
the work done in the old git master. This will allow us to do new
things involving tags in the future.
2024-02-22 00:14:08 +00:00
Sadie Powell
3ecf6b495b
Document IRCDProto::Parse.
2024-02-22 00:14:08 +00:00
Sadie Powell
8475697e3b
Inline, constify, and document GetProtocolName.
2024-02-22 00:14:08 +00:00
Sadie Powell
07373c8cf2
Move IRCDProto member initializers to the header.
2024-02-21 13:55:48 +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
a4dddfd5f1
Mark format strings with the GNU printf attribute.
2024-01-08 13:11:50 +00:00