| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Implement IRCv3 message tag support. | 2018-08-13 | 1 | -92/+21 | |
| | | | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com> | ||||
| * | Move checking for +ikl from the core to to core_channel. | 2018-03-31 | 1 | -38/+2 | |
| | | |||||
| * | Fix m_chanhistory sending the history notice directly to the user. | 2018-01-03 | 1 | -0/+8 | |
| | | | | | Closes #1452. | ||||
| * | Merge branch 'insp20' into master. | 2017-12-11 | 1 | -1/+1 | |
| |\ | |||||
| | * | Add length checking to GetExtBanStatus and m_banexception. | 2017-11-28 | 1 | -1/+1 | |
| | | | | | | | | | | | 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. | ||||
| | * | Revert "Fix sending the wrong numerics on join when a topic is empty." | 2015-10-11 | 1 | -1/+1 | |
| | | | | | | | | | | | | | This reverts commit b0e64b8cea2d721588d92072a8d16fdd99a9c945. The original behavior isn't RFC incompliant, see #1095. | ||||
| | * | Fix sending the wrong numerics on join when a topic is empty. | 2015-08-26 | 1 | -1/+1 | |
| | | | |||||
| * | | Extract RFC modes from the core to core_channel and core_user. | 2017-12-10 | 1 | -0/+6 | |
| | | | |||||
| * | | Fix action extbans not triggering | 2017-11-26 | 1 | -1/+4 | |
| | | | | | | | | | This fixes a reversion from ebe5b20 | ||||
| * | | Fix a ton of -Wsign-conversion warnings. | 2017-11-17 | 1 | -1/+1 | |
| | | | |||||
| * | | Hide User#host and User#dhost and use accessors to modify them. | 2017-10-28 | 1 | -2/+2 | |
| | | | | | | | | | | | This removes the need to invalidate the cache after changing a user's hostname. | ||||
| * | | Fix compatibility with the legacy <channels> tag. | 2016-09-20 | 1 | -1/+1 | |
| | | | | | | | | | We should only use OperMaxChans if they have the right privilege. | ||||
| * | | Return std::string from Membership::GetAllPrefixChars() | 2016-08-30 | 1 | -7/+4 | |
| | | | |||||
| * | | Convert ModeHandler::GetNumParams() to NeedsParam() that returns a bool | 2016-08-29 | 1 | -2/+2 | |
| | | | |||||
| * | | Add a method which calculates the maximum mask length. (#1171) | 2016-07-22 | 1 | -1/+1 | |
| | | | |||||
| * | | Refactor topic setting logic to go through Channel::SetTopic() in all cases | 2016-04-11 | 1 | -5/+13 | |
| | | | | | | | | | | | - 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 | ||||
| * | | Add Channel::WriteNotice() | 2016-03-05 | 1 | -0/+7 | |
| | | | |||||
| * | | Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵ | 2016-02-25 | 1 | -5/+5 | |
| | | | | | | | | | parameters | ||||
| * | | Return true from Channel::PartUser() if the user was on the channel | 2015-12-28 | 1 | -2/+4 | |
| | | | |||||
| * | | Invert if in Channel::PartUser() | 2015-12-28 | 1 | -11/+11 | |
| | | | |||||
| * | | Rewrite invite system | 2015-11-02 | 1 | -66/+0 | |
| | | | | | | | | | | | | | | | | | - 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 | ||||
| * | | Move handling of <options:invitebypassmodes> into core_channel | 2015-11-02 | 1 | -16/+4 | |
| | | | |||||
| * | | Update another password check to use InspIRCd::TimingSafeCompare. | 2015-10-14 | 1 | -1/+1 | |
| | | | |||||
| * | | Move Channel::UserList() from core to cmd_names | 2015-05-16 | 1 | -63/+0 | |
| | | | |||||
| * | | Move topic and NAMES sending on join from core into core_channel | 2015-05-16 | 1 | -10/+0 | |
| | | | |||||
| * | | Fix miscalculation of maxlen in Channel::UserList() introduced by the ↵ | 2015-02-27 | 1 | -1/+1 | |
| | | | | | | | | | WriteNumeric() conversion | ||||
| * | | Verify that the chan in chanlist is in fact the same object as us in ↵ | 2015-01-16 | 1 | -1/+1 | |
| | | | | | | | | | Channel::CheckDestroy() before proceeding | ||||
| * | | Gracefully handle multiple Channel::CheckDestroy() calls on the same object | 2015-01-16 | 1 | -6/+5 | |
| | | | | | | | | | Don't add the channel to the cull list more than once | ||||
| * | | Reduce std::string::substr() usage | 2015-01-10 | 1 | -2/+2 | |
| | | | | | | | | | substr() returns a new string while erase() and assign() modify the existing one | ||||
| * | | Merge insp20 | 2014-10-27 | 1 | -0/+8 | |
| |\| | |||||
| | * | Reject parameters that begin with a colon in Channel::SetDefaultModes() | 2014-09-26 | 1 | -0/+5 | |
| | | | |||||
| | * | Don't try to set a mode in Channel::SetDefaultModes() if it needs a ↵ | 2014-09-26 | 1 | -0/+3 | |
| | | | | | | | | | | | | | parameter but does not have one Thanks to @docwhat for helping to track this down, fixes issue #924 | ||||
| * | | Store Membership objects physically in the nodes of Channel::MemberMap | 2014-09-27 | 1 | -4/+4 | |
| | | | |||||
| * | | Remove typedef UserMembIter, use Channel::MemberMap::iterator instead | 2014-07-14 | 1 | -10/+10 | |
| | | | | | | | | | Remove the now unused UserMembList typedef too | ||||
| * | | Kill needless #includes in source files | 2014-06-14 | 1 | -2/+0 | |
| | | | |||||
| * | | Return the newly created Membership object from Channel::ForceJoin() | 2014-06-10 | 1 | -3/+4 | |
| | | | |||||
| * | | Change Channel::KickUser() to accept an iterator, add overload that accepts ↵ | 2014-06-10 | 1 | -3/+3 | |
| | | | | | | | | | | | | | a User Remove srcmemb parameter | ||||
| * | | Move pre-kick checks from core to cmd_kick (core_channel) | 2014-06-10 | 1 | -39/+0 | |
| | | | |||||
| * | | Remove needless checks from Invitation::Find() | 2014-05-06 | 1 | -2/+0 | |
| | | | |||||
| * | | Change the OnNamesListItem() hook to return ModResult | 2014-04-20 | 1 | -3/+4 | |
| | | | | | | | | | Return MOD_RES_DENY to exclude the user from the NAMES list | ||||
| * | | Kill <channels> in favour of <connect:maxchans> and <oper:maxchans>. | 2014-04-11 | 1 | -17/+13 | |
| | | | | | | | | | Remove channels/high-join-limit privilege | ||||
| * | | Avoid double Membership lookup in Channel::UserList() | 2014-04-09 | 1 | -6/+1 | |
| | | | | | | | | | The user is always inside if UserList() is called from ForceJoin() and the HasUser() result obtained in the /NAMES handler can be reused | ||||
| * | | Move checks determining whether a user is allowed to view the NAMES list of ↵ | 2014-04-09 | 1 | -6/+0 | |
| | | | | | | | | | a channel from Channel::UserList() to cmd_names | ||||
| * | | Eliminate usage of has_one in Channel::UserList() | 2014-04-09 | 1 | -9/+2 | |
| | | | |||||
| * | | Merge insp20 | 2014-04-07 | 1 | -1/+2 | |
| |\| | |||||
| | * | Fix NAMES list getting truncated on servers having an excessively long ↵ | 2014-03-13 | 1 | -1/+2 | |
| | | | | | | | | | server name | ||||
| | * | Backport "Refactor Channel::UserList() to use std::string" | 2014-03-13 | 1 | -25/+21 | |
| | | | | | | | | | | | | | This gets rid of questionable snprintf() usage, reported by @hifi Backported commit: 8a06d54076551387f83a29360478ee6605e241b6 | ||||
| * | | Check if Membership::GetPrefixChar() returns 0 before appending it to a string | 2014-03-31 | 1 | -1/+3 | |
| | | | | | | | | | Spotted by @barosl | ||||
| * | | Change allocation of InspIRCd::chanlist to be physically part of the object ↵ | 2014-03-14 | 1 | -4/+4 | |
| | | | | | | | | | containing it | ||||
| * | | Index Channel::modes and User::modes with the id of the mode instead of its ↵ | 2014-02-21 | 1 | -5/+3 | |
| | | | | | | | | | letter | ||||
