aboutsummaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix respecting the deprecated <channels:users> tag.Gravatar Peter Powell2019-10-241-0/+2
* Replace all abstract usages of his/he/her with they/their/it.Gravatar Peter Powell2019-06-071-2/+2
* Textual improvements and fixes such as typos, casing, etc. (#1612)Gravatar Robby2019-04-281-1/+1
* Add ParamMode::IsParameterSecret and remove special casing of keys.Gravatar Peter Powell2019-01-281-3/+3
* Fix conversion issues by replacing ConvToInt with ConvToNum<T>.•••The former was a thin wrapper around atol and brought with it all of the weird parsing logic of atol which is almost never what is actually wanted. It also almost never returned the numeric type which is actually wanted which can cause weird issues when casting. Gravatar Peter Powell2018-12-121-1/+1
* Reject setting modes which are null or not registered.Gravatar Peter Powell2018-12-121-1/+2
* Implement IRCv3 message tag support.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-131-92/+21
* Move checking for +ikl from the core to to core_channel.Gravatar Peter Powell2018-03-311-38/+2
* 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