aboutsummaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix m_chanhistory sending the history notice directly to the user.•••Closes #1452. Gravatar Peter Powell2018-01-031-0/+8
* Merge branch 'insp20' into master.Gravatar Peter Powell2017-12-111-1/+1
|\
| * Add length checking to GetExtBanStatus and m_banexception.•••As far as I can tell this is not a problem as all ban masks are canonicalised but its better to be safe than sorry. Gravatar Peter Powell2017-11-281-1/+1
| * Revert "Fix sending the wrong numerics on join when a topic is empty."•••This reverts commit b0e64b8cea2d721588d92072a8d16fdd99a9c945. The original behavior isn't RFC incompliant, see #1095. Gravatar Attila Molnar2015-10-111-1/+1
| * Fix sending the wrong numerics on join when a topic is empty.Gravatar Peter Powell2015-08-261-1/+1
* | Extract RFC modes from the core to core_channel and core_user.Gravatar Peter Powell2017-12-101-0/+6
* | Fix action extbans not triggering•••This fixes a reversion from ebe5b20 Gravatar B00mX0r2017-11-261-1/+4
* | Fix a ton of -Wsign-conversion warnings.Gravatar Peter Powell2017-11-171-1/+1
* | Hide User#host and User#dhost and use accessors to modify them.•••This removes the need to invalidate the cache after changing a user's hostname. Gravatar Peter Powell2017-10-281-2/+2
* | Fix compatibility with the legacy <channels> tag.•••We should only use OperMaxChans if they have the right privilege. Gravatar Peter Powell2016-09-201-1/+1
* | Return std::string from Membership::GetAllPrefixChars()Gravatar Attila Molnar2016-08-301-7/+4
* | Convert ModeHandler::GetNumParams() to NeedsParam() that returns a boolGravatar Attila Molnar2016-08-291-2/+2
* | Add a method which calculates the maximum mask length. (#1171)Gravatar Peter Powell2016-07-221-1/+1
* | Refactor topic setting logic to go through Channel::SetTopic() in all cases•••- Pass topic set time and optionally the setter to SetTopic() - Don't do anything if the topic is changed by a local user to what it is currently Gravatar Attila Molnar2016-04-111-5/+13
* | Add Channel::WriteNotice()Gravatar Attila Molnar2016-03-051-0/+7
* | Convert WriteNumeric() calls to pass the parameters of the numeric as method ...Gravatar Attila Molnar2016-02-251-5/+5
* | Return true from Channel::PartUser() if the user was on the channelGravatar Attila Molnar2015-12-281-2/+4
* | Invert if in Channel::PartUser()Gravatar Attila Molnar2015-12-281-11/+11
* | Rewrite invite system•••- Moved out of core, now lives entirely in core_channel - Accessible using the provided API after including the appropriate header - Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS - Expiration of timed invites are implemented using Timers - When creating a new invite let a non-timed invite override a timed one Gravatar Attila Molnar2015-11-021-66/+0
* | Move handling of <options:invitebypassmodes> into core_channelGravatar Attila Molnar2015-11-021-16/+4
* | Update another password check to use InspIRCd::TimingSafeCompare.Gravatar Peter Powell2015-10-141-1/+1
* | Move Channel::UserList() from core to cmd_namesGravatar Attila Molnar2015-05-161-63/+0
* | Move topic and NAMES sending on join from core into core_channelGravatar Attila Molnar2015-05-161-10/+0
* | Fix miscalculation of maxlen in Channel::UserList() introduced by the WriteNu...Gravatar Attila Molnar2015-02-271-1/+1
* | Verify that the chan in chanlist is in fact the same object as us in Channel:...Gravatar Attila Molnar2015-01-161-1/+1
* | Gracefully handle multiple Channel::CheckDestroy() calls on the same object•••Don't add the channel to the cull list more than once Gravatar Attila Molnar2015-01-161-6/+5
* | Reduce std::string::substr() usage•••substr() returns a new string while erase() and assign() modify the existing one Gravatar Attila Molnar2015-01-101-2/+2
* | Merge insp20Gravatar Attila Molnar2014-10-271-0/+8
|\|
| * Reject parameters that begin with a colon in Channel::SetDefaultModes()Gravatar Attila Molnar2014-09-261-0/+5
| * Don't try to set a mode in Channel::SetDefaultModes() if it needs a parameter...•••Thanks to @docwhat for helping to track this down, fixes issue #924 Gravatar Attila Molnar2014-09-261-0/+3
* | Store Membership objects physically in the nodes of Channel::MemberMapGravatar Attila Molnar2014-09-271-4/+4
* | Remove typedef UserMembIter, use Channel::MemberMap::iterator instead•••Remove the now unused UserMembList typedef too Gravatar Attila Molnar2014-07-141-10/+10
* | Kill needless #includes in source filesGravatar Attila Molnar2014-06-141-2/+0
* | Return the newly created Membership object from Channel::ForceJoin()Gravatar Attila Molnar2014-06-101-3/+4
* | Change Channel::KickUser() to accept an iterator, add overload that accepts a...•••Remove srcmemb parameter Gravatar Attila Molnar2014-06-101-3/+3
* | Move pre-kick checks from core to cmd_kick (core_channel)Gravatar Attila Molnar2014-06-101-39/+0
* | Remove needless checks from Invitation::Find()Gravatar Attila Molnar2014-05-061-2/+0
* | Change the OnNamesListItem() hook to return ModResult•••Return MOD_RES_DENY to exclude the user from the NAMES list Gravatar Attila Molnar2014-04-201-3/+4
* | Kill <channels> in favour of <connect:maxchans> and <oper:maxchans>.•••Remove channels/high-join-limit privilege Gravatar Peter Powell2014-04-111-17/+13
* | Avoid double Membership lookup in Channel::UserList()•••The user is always inside if UserList() is called from ForceJoin() and the HasUser() result obtained in the /NAMES handler can be reused Gravatar Attila Molnar2014-04-091-6/+1
* | Move checks determining whether a user is allowed to view the NAMES list of a...Gravatar Attila Molnar2014-04-091-6/+0
* | Eliminate usage of has_one in Channel::UserList()Gravatar Attila Molnar2014-04-091-9/+2
* | Merge insp20Gravatar Attila Molnar2014-04-071-1/+2
|\|
| * Fix NAMES list getting truncated on servers having an excessively long server...Gravatar Attila Molnar2014-03-131-1/+2
| * Backport "Refactor Channel::UserList() to use std::string"•••This gets rid of questionable snprintf() usage, reported by @hifi Backported commit: 8a06d54076551387f83a29360478ee6605e241b6 Gravatar Attila Molnar2014-03-131-25/+21
* | Check if Membership::GetPrefixChar() returns 0 before appending it to a string•••Spotted by @barosl Gravatar Attila Molnar2014-03-311-1/+3
* | Change allocation of InspIRCd::chanlist to be physically part of the object c...Gravatar Attila Molnar2014-03-141-4/+4
* | Index Channel::modes and User::modes with the id of the mode instead of its l...Gravatar Attila Molnar2014-02-211-5/+3
* | Add ParamModeBase and ParamMode, change all parameter modes to inherit from P...•••- Type of the extension used to store data is a template parameter - The extension is automatically unset when the mode is unset - Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset() - Transparently handle the case when OnSet() modifies the mode parameter - Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead Gravatar Attila Molnar2014-02-151-29/+6
* | Move GetAllPrefixChars() from Channel to MembershipGravatar Attila Molnar2014-02-141-9/+5