aboutsummaryrefslogtreecommitdiffstats
path: root/include/s_serv.h
Commit message (Expand)AuthorAgeFilesLines
* 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-0/+1
* 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-1/+1
* m_message: proper tag propagation•••This introduces an handler to accept or not the propagation of a tag. Basic sketch API is provided for modules to hook for providing their own policy for specific tag propagation. Gravatar Raito Bezarius2025-10-101-0/+1
* Add STAG server capGravatar Ed Kellett2025-10-101-0/+1
* EBMASK capab, to burst BMASK metadata (#354)Gravatar Jess Porter2022-08-201-0/+1
* Remove ziplinks (#218)Gravatar Ariadne Conill2021-06-261-7/+0
* Mint CLICAP_FLAGS_PRIORITYGravatar Ed Kellett2020-10-191-0/+1
* Kill CLICAP_FLAGS_REQACKGravatar Ed Kellett2020-10-191-1/+0
* Revert "Implement the netsplit batch type."•••This needs more work, see https://github.com/ircv3/ircv3-specifications/issues/253 This reverts commit 23738912993a8debf007542c51aeff79588e35ca. Gravatar Elizabeth Myers2016-04-161-1/+0
* Implement the netsplit batch type.•••This also lays the groundwork for the netjoin batch type, but that isn't implemented yet. I don't like how some of this is implemented but it'll have to do for now... Compile tested, needs more testing. Gravatar Elizabeth Myers2016-04-151-0/+1
* config.h delenda estGravatar Elizabeth Myers2016-03-191-1/+1
* Message handlers should return void.•••Also fix up some return values and stuff to use bool (or void if nothing). I just did it whilst I was here. According to jilles, the return value used to signify whether or not the client had exited. This was error-prone and was fixed a long, long time ago, but the return value was left int for historical reasons. Since the return type is not used (and has no clear use case anyway), it's safe to just get rid of it. Gravatar Elizabeth Myers2016-03-091-2/+2
* Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao... Gravatar Elizabeth Myers2016-03-061-2/+0
* cap: allow modules to return client-specific responses for capability inquiriesGravatar William Pitcock2016-03-051-2/+2
* sasl: transfer ownership of 'sasl' capability to m_sasl moduleGravatar William Pitcock2016-02-281-1/+0
* send: implement echo-messageGravatar William Pitcock2016-02-271-0/+1
* starttls: take ownership of 'tls' capabilityGravatar William Pitcock2016-02-271-2/+0
* cap: substantial rewrite leveraging the ircd capabilities framework for clien...Gravatar William Pitcock2016-02-271-0/+22
* ircd: chase capability API changesGravatar William Pitcock2016-02-271-0/+1
* Remove trailing whitespace from all .c and .h files.•••3134 bytes were removed. Gravatar Keith Buck2014-03-031-2/+2
* Migrate capability negotiation code to new dynamic capability management API.•••This needs a lot of testing, obviously. Gravatar William Pitcock2012-02-041-35/+30
* Fix typo.Gravatar William Pitcock2010-03-071-1/+1
* Add MLOCK capability token.Gravatar William Pitcock2010-03-071-1/+2
* Add propagated klines.•••A KLINE command without the ON clause now sets a propagated ("global") ban. KLINE commands with the ON clause work as before. Propagated klines can only be removed with an UNKLINE command without the ON clause, and this removes them everywhere. In fact, they remain in a deactivated state until the latest expiry ever used for the mask has passed. Propagated klines are part of the netburst using a new BAN message and capab. If such a burst has an effect, both the server name and the original oper are shown in the server notice. No checks whatsoever are done on bursted klines at this time. The system should be extended to XLINE and RESV later. There is currently no way to list propagated klines, but TESTLINE works normally. Gravatar Jilles Tjoelker2010-03-051-1/+3
* Allow for capabilities to be marked as "required".•••If capability negotiation fails on these capabilities, then the server link is dropped. Gravatar William Pitcock2009-04-201-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-1/+2
* Fixing compilation - CAP_GLN removedGravatar Valery Yatsko2008-04-111-1/+1
* Removing glinesGravatar Valery Yatsko2008-04-111-1/+0
* 'S' flag meaning we use ssl link added to /stats {c,C} (connect)Gravatar Valery Yatsko2008-04-081-3/+0
* Some declarations connected to removed servlink goneGravatar Valery Yatsko2008-04-071-29/+0
* ssl sync with http://hg.angelforce.ru/charybdis-oldGravatar Valery Yatsko2008-04-061-4/+0
* [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/+165