aboutsummaryrefslogtreecommitdiffstats
path: root/include/channel.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
* EBMASK capab, to burst BMASK metadata (#354)Gravatar Jess Porter2022-08-201-1/+1
* channel: flood warnings for privmsg, not notice (#147)Gravatar Ed Kellett2021-04-171-1/+2
* Clean up duplication in ChannelModeFunc prototypes (#52)Gravatar Eric Mertens2020-11-071-2/+2
* chmode: Get elevated access for op-only queriesGravatar Ed Kellett2020-11-081-0/+1
* Rework channel mode handling•••Incoming MODE processing is split into a parsing step and an execution step, instead of a mode's effector function being involved in its own parsing. Modes can no longer use custom logic to control their parsing, and instead supply a combination of CHM_* flags to the parser. As a result, we know before we try to effect any mode changes what all of them will be. The reauthorize hack for override is no longer necessary. A side effect of its introduction was that `MODE #foo b x!y@z` no longer worked; in removing it we restore that behaviour. We gain the ability to reject various invalid inputs that: - mutate or query unknown modes - supply excess mode arguments - query modes that can't be queried In each case, whether we *should* reject it is an open question; for now I'm rejecting the first one. Gravatar Ed Kellett2020-11-081-2/+12
* Add a comment explaining ITER_COMM_CHANNELSGravatar Ed Kellett2020-10-211-3/+18
* Refactor common channel iterationGravatar Ed Kellett2020-10-191-0/+9
* Centralise banmask matching logicGravatar Ed Kellett2020-04-121-2/+4
* channels: fix IsChannelName() to actually use IsChanPrefix().Gravatar William Pitcock2016-09-161-1/+1
* chmode: Move add_id() to a booleanGravatar Matt Ullman2016-03-241-1/+1
* channel: Move flood_attack_channel() to a booleanGravatar Matt Ullman2016-03-241-1/+1
* channel: Move check_channel_name() to a booleanGravatar Matt Ullman2016-03-241-1/+1
* More cleanupGravatar Matt Ullman2016-03-231-2/+2
* Detect stdbool.h and add conformant shims if it isn't available•••Charybdis requires C99 already, so it's high time we start using stdbool. I've converted a few pieces of code already. A lot of the old code that uses YES/NO should probably be updated too because that's fucking hideous. Gravatar Elizabeth Myers2016-03-081-1/+3
* Remove $Id tags from everything.•••These are obsolete and none have changed since 10 years gao... Gravatar Elizabeth Myers2016-03-061-2/+0
* ircd: get_channel_access(): do not derive channel pointer from membershipGravatar William Pitcock2016-01-131-1/+1
* ircd: import hidden channel modes framework, from ircd-seven•••This allows for modules to define channel modes which are only visible to opers. Gravatar William Pitcock2016-01-131-0/+1
* extensions/override: display mode-change string in override messagesGravatar William Pitcock2016-01-111-1/+1
* channel: cache duplicate calls to is_banned() and is_quieted()Gravatar William Pitcock2015-12-131-0/+5
* Revert "extban: implement helper functions for stackable extbans (part 1) (re...•••This reverts commit 304bd0d095917d8dffca8567768e4cada4a8748b. Gravatar William Pitcock2015-12-101-1/+0
* extban: implement helper functions for stackable extbans (part 1) (ref #74)Gravatar William Pitcock2015-12-101-0/+1
* override: only engage override code if we're needing to authorize a WRITE to ...Gravatar William Pitcock2015-12-101-1/+1
* channel: Remove write-only field.Gravatar Jilles Tjoelker2014-05-291-1/+0
* channel: Stop pretending to support per-mode server capabilities.•••After a change for dynamic server capabilities, the code to send out mode changes was changed to use the capabilities belonging to the last mode being sent out. This does not make sense; therefore, just use no capabilities and remove supporting infrastructure. Gravatar Jilles Tjoelker2014-05-291-9/+0
* Remove trailing whitespace from all .c and .h files.•••3134 bytes were removed. Gravatar Keith Buck2014-03-031-1/+1
* Remove MODE_NOCTCP from core, in favor of chm_noctcp.Gravatar William Pitcock2012-03-311-1/+0
* Remove MODE_NOCOLOR from core, replacing it with modules/chm_nocolour.so.Gravatar William Pitcock2012-03-311-1/+0
* Add one more const.Gravatar Jilles Tjoelker2012-01-081-2/+2
* Fix a warning about const with forward channels.Gravatar Jilles Tjoelker2012-01-081-1/+1
* Port ircd-seven banfowards to charybdis.•••nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb for a while, and people have asked about it. Might as well do it since it's a slow weekend. Note that as a side effect use_forward is removed from the config and unconditionally enabled! Gravatar Elizabeth Jennifer Myers2011-08-121-5/+8
* Back out chanroles.•••While what chanroles are trying to accomplish is a good idea, it is apparently unclear this is the proper way to do it. Until we figure out the exact way we wish to do this, it should be reverted for now. Gravatar Elizabeth Jennifer Myers2011-07-071-20/+1
* chanroles: instead of checking for chanop + CHANROLE_UNSET combination, grant...•••this allows ops with zero effective privilege. Gravatar William Pitcock2011-07-061-0/+1
* chanroles: grant initial set of flags to people added to a channel with CHFL_...•••this allows us to, later on, add a hook that will enable us to disable channel ops entirely without causing permissions revocation. Gravatar William Pitcock2011-07-061-0/+2
* Implement chanroles, as discussed with nenolod.•••The theory behind this is that services sends an ENCAP * GRANT #channel UID :+flagspec message specifying the chanroles the user has. They are mapped into flag bits and applied to the membership of the user. They then are restricted or permitted to what they can do based on the permissions mask regardless of rank. For backwards compatibility, the default permission bit (without a GRANT statement) allows a user to to anything an existing op can do ONLY if they are an op. Todo: make CHANROLE_STATUS work (the ability to apply +ov to people), which is at the moment controlled by CHANROLE_MODE. Gravatar Elizabeth Jennifer Myers2011-07-061-2/+18
* Add send_channel_join().Gravatar William Pitcock2010-12-161-0/+2
* Move flood_attack_channel to channel.c so it can be used outside m_message.cGravatar B.Greenham2010-12-091-0/+2
* Reorder CHFL flags so that they can be used as ranks.Gravatar William Pitcock2010-12-071-3/+5
* Enforce TS rules on MLOCKs.Gravatar William Pitcock2010-08-231-1/+1
* Branch mergeGravatar Stephen Bennett2010-05-021-2/+1
|\
| * Backed out changeset c57955c5225e•••Now that MLOCK is no longer stored as a struct Mode, this is unnecessary. Gravatar Stephen Bennett2010-05-021-3/+1
* | Allow the final parameter of MLOCK to be empty, to remove an existing mlockGravatar Stephen Bennett2010-05-021-1/+0
* | Rework ircd-side MLOCK enforcement: instead of trying to track modes locked o...Gravatar Stephen Bennett2010-04-301-3/+2
* | New custom channel mode API allowing reloading such modules.•••Additionally, attempting to use too many modes or two times the same letter is now detected and prevented. Modules now request that a channel mode be added/orphaned, instead of ugly manipulation from which that request had to be guessed. Slight changes are needed to modules that provide channel modes. From the old API, one important function has been made static, the other important function has been renamed, so loading old modules should fail safely. Gravatar Jilles Tjoelker2010-04-011-3/+5
* | Add propagated resvs, like klines and xlines.Gravatar Jilles Tjoelker2010-03-271-0/+2
* | Add propagation of MLOCK state for simple modes.•••Special modes like +j can be tracked easily just by adding the necessary code to parse them to set_channel_mlock(). This will cover propagation as well. Gravatar William Pitcock2010-03-071-0/+2
|/
* Rename channel_modes() to channel_modes_real(), and use macros to build both ...Gravatar William Pitcock2010-03-071-1/+3
* struct Channel: add mode_lock structure to the channel object.Gravatar William Pitcock2010-03-071-0/+1
* struct Mode: add off_mode bitfield to describe disabled channel modes.Gravatar William Pitcock2010-03-071-0/+1
* Merge +C (no CTCP to channels) from ircd-seven.Gravatar William Pitcock2010-01-191-0/+1