aboutsummaryrefslogtreecommitdiffstats
path: root/modules/cap_server_time.c
Commit message (Expand)AuthorAgeFilesLines
* 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. Gravatar Ryan Schmidt2026-03-171-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. Gravatar Ryan Schmidt2025-10-101-1/+17
* cap_server_time: data->client can be nullGravatar Ed Kellett2025-10-101-1/+1
* Propagate server-time implicitly (ugh)Gravatar Ed Kellett2025-10-101-0/+7
* cap_server_time: Don't stamp remote-sourced thingsGravatar Ed Kellett2025-10-101-0/+3
* hook_fn casts were hiding UB (#265)Gravatar Eric Mertens2021-08-191-3/+4
* Mailmap and copyright update for AriadneGravatar Ariadne Conill2021-06-011-1/+1
* Innovation by sedGravatar Ed Kellett2020-10-151-1/+1
* cap_server_time: Fix strftime return value checkGravatar Simon Arlott2019-08-311-1/+1
* remove unused variablesGravatar Simon Arlott2017-08-041-1/+0
* cap_server_time: check return values of string functionsGravatar Simon Arlott2017-07-311-2/+5
* cap_server_time: provide time with millisecond resolutionGravatar Simon Arlott2017-07-301-3/+7
* IRCD_BUFSIZE is redundant with BUFSIZE, so kill it.Gravatar Elizabeth Myers2016-03-231-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! Gravatar Elizabeth Myers2016-03-091-2/+3
* cap_server_time: update doodads for AV2Gravatar Elizabeth Myers2016-03-071-16/+8
* Migrate remaining modules to AV2•••No descriptions yet. :( Gravatar Elizabeth Myers2016-03-071-1/+1
* cap server-time: add .000 for microsecs since our clock does not support micr...Gravatar William Pitcock2016-02-281-1/+1
* modules: add cap_server_time, adding server-time cap supportGravatar William Pitcock2016-02-271-0/+71