aboutsummaryrefslogtreecommitdiffstats
path: root/include/send.h
Commit message (Expand)AuthorAgeFilesLines
* Pass msgbuf to PART's privmsg_channel hook and propagate PART tags•••The privmsg_channel hook gained a new msgbuf member which was uninitialized in m_part. Properly pass the msgbuf to that parameter and propagate any tags set by the hook to downstream servers. This requires introducing sendto_server_tags(), and I refactored sendto_server() to call the same helper internal method as sendto_server_tags(). I took the opportunity to update the method to use msgbuf instead of linebuf directly (meaning sendto_server() now calls outbound_msgbuf). Fixes #484 Gravatar Ryan Schmidt2026-01-221-0/+4
* 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 Gravatar Ryan Schmidt2026-01-211-8/+17
* m_message: Implement message-tags and TAGMSG•••The CAP_STAG server capability and the CAP_TAGS server capability introduced by m_message are redundant, so get rid of CAP_TAGS and update the comment for CAP_STAG to indicate what it is for. Additionally, define the message-tags client capability in m_message. A lot of new sendto_* functions were introduced that take an explicit array of tags to attach to the outgoing message. New functions were preferred over updating existing functions in order to maintain compatibility with non-tags-aware code in both the API and ABI layers. The updated definitions of these functions will be provided in a subsequent patch in this PR; however I felt the declarations would be useful in reviewing the changes to m_message. A TAGMSG with zero client-only tags is rejected with 412 ERR_NOTEXTTOSEND. While the precise message of that numeric is a little bit misleading, it was the closest existing thing and matches what we send off when a PRIVMSG contains no text. The message-tags spec does not specify any particular error when a TAGMSG contains no tags (indeed it has a non-normative example where such a TAGMSG is propgated). The spec also allows for server-side moderation of tags, however, and not propagating completely useless messages is a valid use of those moderation powers. General cleanup of the file was performed as part of this patch. Gravatar Ryan Schmidt2025-10-101-4/+21
* send: add sendto_one_multiline_* API•••Allows simplifying multiline wrapping for multiple usages, like CAP LS/LIST, NAMES, and WHOIS channel listing Gravatar Doug Freed2020-11-121-0/+12
* Send hidden mode changes to auspex:cmodesGravatar Ed Kellett2020-08-041-0/+1
* ircd: send tags on every message•••Simplify linebuf by introducing fsnprint to manage a list of printfs. Add a msgbuf unparse cache for send functions that loop. Gravatar Simon Arlott2017-08-061-3/+3
* echo-message should work for privmsg/notice to another user•••Build the same message but send it to the local client first, so that the echo-message capability works. But don't do it when sending a message to yourself. Gravatar Simon Arlott2016-11-231-0/+2
* config.h delenda estGravatar Elizabeth Myers2016-03-191-1/+0
* Change all leftover libratbox stuff to librb.Gravatar Elizabeth Myers2016-03-061-1/+1
* Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao... Gravatar Elizabeth Myers2016-03-061-2/+0
* send: add negation argument to sendto_common_channels_local() and friendsGravatar William Pitcock2015-11-191-2/+2
* cap-notify: add sendto_local_clients_with_capability() (ref #84)Gravatar William Pitcock2015-03-011-0/+1
* Remove trailing whitespace from all .c and .h files.•••3134 bytes were removed. Gravatar Keith Buck2014-03-031-2/+2
* Apply extended-join client cap to QJM joinsGravatar Stephen Bennett2011-11-121-0/+2
* Add sendto_channel_local_with_capability().Gravatar William Pitcock2010-12-161-0/+3
* Add capability parameter to sendto_common_channels_local() and sendto_common_...Gravatar William Pitcock2010-12-151-2/+2
* Revert all presence-related changesGravatar Stephen Bennett2009-12-081-2/+0
* presence: Add _butone() variant of sendto_common_channels_local_with_capabili...Gravatar William Pitcock2009-06-021-0/+1
* presence: Add sendto_common_channels_local_with_capability(), used for broadc...Gravatar William Pitcock2009-06-021-0/+1
* Apply +z to messages blocked by +b and +q as well.•••This adds a new server capab EOPMOD which will be used for an extended topic command also. Gravatar Jilles Tjoelker2009-03-291-0/+3
* Rework remote rehash messages to apply to all server notices during rehash.•••Previously various notices such as those applying to modules were not sent to the remote oper. Gravatar Jilles Tjoelker2009-03-071-0/+2
* Fixed two places, where sendto_realops_flags was mistakenly used, and removed...Gravatar Valery Yatsko2008-04-081-1/+0
* ssl sync with http://hg.angelforce.ru/charybdis-oldGravatar Valery Yatsko2008-04-061-2/+0
* Ziplinks appear to work again now.Gravatar Jilles Tjoelker2008-04-041-1/+1
* extern void send_pop_queue(struct Client *); in header, will implement this s...Gravatar Valery Yatsko2008-04-021-0/+2
* Make send.c compile, except for ziplinks.Gravatar Jilles Tjoelker2008-04-011-1/+2
* start making this compileGravatar William Pitcock2008-04-011-1/+1
* [svn] monitor: send the same message buffer to all users•••monitoring a certain nick; the target field of the numeric becomes *, much like server notices Gravatar jilles2007-06-301-1/+4
* [svn] - the new plan:••• + branches/release-2.1 -> 2.2 base + 3.0 -> branches/cxxconversion + backport some immediate 3.0 functionality for 2.2 + other stuff Gravatar nenolod2007-01-241-0/+93