| Commit message (Expand) | Author | Age | Files | Lines |
| * | Add user_welcome hook•••This hook is executed when the registration burst is being sent to a new
local user, after sending RPL_ISUPPORT but before sending LUSERS output.
Many IRCv3 specifications use this timing as the point to send
additional information during registration bursts, so having an easy
hook point to do that makes implementing such specs possible.
| Ryan Schmidt | 13 days | 1 | -0/+2 |
| * | Add parse_end hook•••This hook runs after parsing and processing a command, so that any
cleanup that needs to happen after we're finished with parsing can
happen. Some reorganization happened so that we ensure the hook and any
tags processing happens for every event that isn't a parse error.
This will be used by labeled-response in order to automatically send
ACKs or close labeled-response BATCHes after processing client commands.
| Ryan Schmidt | 2026-05-13 | 1 | -0/+2 |
| * | Add batch support•••- Add "batch" client capability
- Support sending netsplit/netjoin batches
- Support receiving BATCH from clients and remote servers
- Support for modules to define supported batch types for incoming
batches
- Add "message_handler" hook to override the handler for a particular
incoming message
- Add technical and user-facing documentation for batches
- Add some more sendto_* overloads that support tags which were missing
from the initial message-tags implementation but turned out to be
needed
| Ryan Schmidt | 2026-01-21 | 1 | -0/+2 |
| * | Refactor message_tag hook•••The original hook was defined in the (now-removed) cap_message_tag
module. This new hook lives deeper down in parse.c so that it fires on
all incoming tags for all incoming messages. The hook was renamed from
client_tag_accept to message_tag to denote that it is used for all tags,
including tags coming from server connections, and not just tags with a
client-only prefix.
The hook data contains two non-const fields for the capmask and approval
status. Since incoming tags lack a capmask entirely, this allows hook
functions that wish to keep the tag around to specify the capmask used
for propagating the tag to other clients and servers. The approval
status can take one of three forms: approve the tag, drop the tag from
the message (but still process other tags and run the command handler),
or drop the entire message (not processing any other tags and not
running any command handlers). It is expected when a hook function drops
the message that they'll send appropriate feedback to the client,
however the nature of that feedback will likely vary by hook function so
no default message is given to a client if their message is dropped.
The incoming_message global defined previously with cap_server_time now
holds the MsgBuf with the updated/sanitized list of tags rather than the
raw values specified by the client. Additionally, cap_server_time makes
use of this new hook to propagate the time tag into function callbacks
that support tag propagation. The implicit propagation still exists
since the majority of function callbacks do not support explicit tag
propagation, and that fact will not change in the course of this
patchset.
| Ryan Schmidt | 2025-10-10 | 1 | -2/+2 |
| * | message-tags: facility to manipulate client-tags•••It provides for hook facilities to client-only tags:
- messages can be dropped silently ;
- messages can be edited ;
- messages can be stripped from a client-only tag
| Raito Bezarius | 2025-10-10 | 1 | -0/+2 |
| * | Track and inform modules of privset changes | Ed Kellett | 2021-03-01 | 1 | -0/+2 |
| * | Add a cap_change hook | Ed Kellett | 2020-10-24 | 1 | -0/+2 |
| * | hook: Use old insertion order for equal priority | Ed Kellett | 2020-05-01 | 1 | -1/+1 |
| * | Add priorities to some hooks | Ed Kellett | 2020-05-01 | 1 | -2/+2 |
| * | Implement hook priorities | Ed Kellett | 2020-05-01 | 1 | -5/+43 |
| * | m_sasl: check if the agent is present after every client_exit•••When a server disconnects the client_exit hook will only be called once
but there could be multiple servers and clients behind that server.
After any client exits, check if the agent is still present.
| Simon Arlott | 2018-08-12 | 1 | -0/+2 |
| * | Add hook for when rehash is called.•••This will be used by the future alias module.
| Elizabeth Myers | 2016-04-06 | 1 | -0/+2 |
| * | Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao...
| Elizabeth Myers | 2016-03-06 | 1 | -2/+0 |
| * | send: implement linebuf_put_msgbuf() and msgbuf_build_from(), which build the... | William Pitcock | 2016-02-20 | 1 | -0/+2 |
| * | ircd: remove broken USE_IODEBUG_HOOKS knob and related code | William Pitcock | 2016-02-20 | 1 | -11/+0 |
| * | rename src to ircd, libcore to libircd | William Pitcock | 2016-01-06 | 1 | -0/+223 |