| Commit message (Expand) | Author | Age | Files | Lines |
| * | Adjust unsigned int -> uint64_t for all caps•••The previous commit addressed the issue with (most) function signatures,
but forgot to update the caps themselves to be 64-bit. This fixes that,
and finishes the remaining overlooked function signatures.
| Ryan Schmidt | 2026-03-17 | 1 | -1/+1 |
| * | 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 | -1/+17 |
| * | cap_server_time: data->client can be null | Ed Kellett | 2025-10-10 | 1 | -1/+1 |
| * | Propagate server-time implicitly (ugh) | Ed Kellett | 2025-10-10 | 1 | -0/+7 |
| * | cap_server_time: Don't stamp remote-sourced things | Ed Kellett | 2025-10-10 | 1 | -0/+3 |
| * | hook_fn casts were hiding UB (#265) | Eric Mertens | 2021-08-19 | 1 | -3/+4 |
| * | Mailmap and copyright update for Ariadne | Ariadne Conill | 2021-06-01 | 1 | -1/+1 |
| * | Innovation by sed | Ed Kellett | 2020-10-15 | 1 | -1/+1 |
| * | cap_server_time: Fix strftime return value check | Simon Arlott | 2019-08-31 | 1 | -1/+1 |
| * | remove unused variables | Simon Arlott | 2017-08-04 | 1 | -1/+0 |
| * | cap_server_time: check return values of string functions | Simon Arlott | 2017-07-31 | 1 | -2/+5 |
| * | cap_server_time: provide time with millisecond resolution | Simon Arlott | 2017-07-30 | 1 | -3/+7 |
| * | IRCD_BUFSIZE is redundant with BUFSIZE, so kill it. | Elizabeth Myers | 2016-03-23 | 1 | -1/+1 |
| * | Move module description headers to the top•••This is cleaner.
Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
| Elizabeth Myers | 2016-03-09 | 1 | -2/+3 |
| * | cap_server_time: update doodads for AV2 | Elizabeth Myers | 2016-03-07 | 1 | -16/+8 |
| * | Migrate remaining modules to AV2•••No descriptions yet. :(
| Elizabeth Myers | 2016-03-07 | 1 | -1/+1 |
| * | cap server-time: add .000 for microsecs since our clock does not support micr... | William Pitcock | 2016-02-28 | 1 | -1/+1 |
| * | modules: add cap_server_time, adding server-time cap support | William Pitcock | 2016-02-27 | 1 | -0/+71 |