aboutsummaryrefslogtreecommitdiffstats
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix NAMES list getting truncated on servers having an excessively long ↵Gravatar Attila Molnar2014-03-131-1/+2
| | | | | | | | server name
| * Backport "Refactor Channel::UserList() to use std::string"Gravatar Attila Molnar2014-03-131-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 stringGravatar Attila Molnar2014-03-311-1/+3
| | | | | | | | Spotted by @barosl
* | Change allocation of InspIRCd::chanlist to be physically part of the object ↵Gravatar Attila Molnar2014-03-141-4/+4
| | | | | | | | containing it
* | Index Channel::modes and User::modes with the id of the mode instead of its ↵Gravatar Attila Molnar2014-02-211-5/+3
| | | | | | | | letter
* | Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Gravatar Attila Molnar2014-02-151-29/+6
| | | | | | | | | | | | | | | | | | | | ParamMode - 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
* | Move GetAllPrefixChars() from Channel to MembershipGravatar Attila Molnar2014-02-141-9/+5
| |
* | Move GetPrefixChar() from Channel to MembershipGravatar Attila Molnar2014-02-141-14/+12
| |
* | Remove some dead codeGravatar Attila Molnar2014-01-311-1/+0
| |
* | Destroy Memberships of a quitting user in QuitUser() instead of in cull()Gravatar Attila Molnar2014-01-251-2/+0
| |
* | Convert InviteBase::invites to an intrusively linked listGravatar Attila Molnar2014-01-241-26/+8
| |
* | Remove classbase inheritance from InvitationGravatar Attila Molnar2014-01-241-2/+0
| |
* | Convert UserChanList to an intrusively linked listGravatar Attila Molnar2014-01-241-3/+3
| |
* | Merge insp20Gravatar Attila Molnar2014-01-211-2/+3
|\|
| * Fix some logically dead code which was found by Coverity.Gravatar Peter Powell2014-01-211-10/+2
| |
| * Show +i users on a channel to opers having the channels/auspex priv who do ↵Gravatar Attila Molnar2014-01-041-2/+4
| | | | | | | | | | | | /NAMES from outside of the chan Discovered by @Cronus89
| * Remove unused variables, avoid copies where possible, check empty() instead ↵Gravatar attilamolnar2013-05-161-1/+0
| | | | | | | | | | | | of size() == 0 Most of these were detected by cppcheck
* | Make various self contained methods static.Gravatar Peter Powell2013-12-151-1/+1
| | | | | | | | | | - InspIRCd::IsValidMask - InspIRCd::TimeString
* | Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Gravatar Adam2013-11-121-15/+14
| | | | | | | | automatically
* | Move prefix mode specific fields and getters into PrefixModeGravatar attilamolnar2013-09-111-11/+9
| | | | | | | | Add ModeHandler::IsPrefixMode()
* | Create a base class for prefix modesGravatar attilamolnar2013-09-111-16/+9
| | | | | | | | Move Channel::SetPrefix() into Membership
* | Fix a few problemsGravatar attilamolnar2013-08-221-1/+0
| | | | | | | | | | | | - Fix configuration issue on systems without both GnuTLS and OpenSSL. (@SaberUK) - Do not set Membership::modes in ForceJoin() incorrectly to privs - Fix crash when spanningtree detects a configuration error on load
* | Clean up a few constructorsGravatar attilamolnar2013-08-121-6/+1
| | | | | | | | Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
* | Require privs given on initial join to be in <options:defaultmodes>.Gravatar Peter Powell2013-08-101-2/+5
| |
* | Change the syntax of FOREACH macros to be less dumb.Gravatar Adam2013-08-041-7/+7
| |
* | Replace hardcoded mode letters, part 3Gravatar attilamolnar2013-07-191-1/+2
| | | | | | | | This changes most remaining User::IsModeSet() calls to use ModeReferences for modes that were created by other modules or the core
* | Replace hardcoded mode letters, part 2Gravatar attilamolnar2013-07-191-21/+21
| | | | | | | | This changes all remaining Channel::IsModeSet() and Channel::GetModeParameter() calls to use ModeReferences for modes that were created by other modules or the core
* | Seperate ModeReference into ChanModeReference and UserModeReferenceGravatar attilamolnar2013-07-191-1/+1
| |
* | Remove $Core and $Mod* comments apart from $ModDep.Gravatar Peter Powell2013-07-041-2/+0
| |
* | Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵Gravatar attilamolnar2013-07-011-5/+0
| | | | | | | | with ModeHandlers, part 1
* | Fix a few oversightsGravatar attilamolnar2013-07-011-4/+4
| | | | | | | | This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
* | Always set the topic in Channel::SetTopic(), move access checks into cmd_topicGravatar attilamolnar2013-06-161-25/+1
| |
* | Call Channel::SetModeParam() from the mode parser when needed instead of ↵Gravatar attilamolnar2013-06-131-4/+1
| | | | | | | | requiring mode handlers to do it
* | Refactor Channel::UserList() to use std::stringGravatar attilamolnar2013-06-041-28/+21
| |
* | Remove the now unused Channel::RemoveAllPrefixes() and CountInvisible()Gravatar attilamolnar2013-06-041-25/+0
| |
* | Reduce User* -> Membership* lookups on part and kickGravatar attilamolnar2013-06-041-32/+50
| |
* | Channel::KickUser() and cmd_kick changesGravatar attilamolnar2013-06-041-28/+14
| | | | | | | | | | | | - Remove uline checks from KickUser() - Disallow the kick if done by a local user and the victim is ulined in cmd_kick - Remove call to RemoveAllPrefixes() as it has no additional effect, the Membership object containing the prefixes is destroyed soon after the call
* | Remove NULL checks from various Channel functionsGravatar attilamolnar2013-06-041-34/+2
| | | | | | | | Passing NULL to these functions are not permitted and must be avoided by the caller
* | Move a few trivial functions into headersGravatar attilamolnar2013-06-021-15/+0
| |
* | Replaced vsnprintf with VAFORMAT pretty much everywhere.Gravatar Daniel Vassdal2013-05-181-34/+13
| |
* | Get rid of strlcpy(), strlcat(), charlcat() and charremove()Gravatar attilamolnar2013-05-161-20/+14
| |
* | Replace some C-isms with C++-isms.Gravatar Peter Powell2013-05-151-22/+11
| | | | | | | | | | | | * 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
* | Merge insp20Gravatar attilamolnar2013-04-281-4/+2
|\|
| * Don't crop the channel name if it's too long in Channel::Channel()Gravatar attilamolnar2013-04-211-4/+2
| | | | | | | | | | | | ...and especially don't use the shortened name in one place and the original in another Having different <limits:maxchan> values on the same network is not supported
* | Channel::JoinUser() and Channel::ForceChan() changesGravatar attilamolnar2013-04-131-80/+89
| | | | | | | | | | | | Convert static Channel::ForceChan() to non-static Channel::ForceJoin() that joins a user to a channel, no permission checks The (static) Channel::JoinUser() now has a LocalUser parameter, and no longer have TS and bursting parameters. If the channel doesn't exist, it is created using current time as TS
* | OnUserPreJoin is a local-only hook, change User* parameter to LocalUser*Gravatar attilamolnar2013-04-131-2/+2
| |
* | Remove the deprecated invite APIGravatar attilamolnar2013-04-131-2/+2
| |
* | Add LOG_ prefix to the log level enum values.Gravatar Peter Powell2013-04-121-9/+9
| |
* | Migrate u_listmode.h into the core, change +b to use itGravatar attilamolnar2013-04-081-34/+19
| |
* | Change channel name parameter of Module::OnUserPreJoin() and ↵Gravatar attilamolnar2013-04-011-11/+12
|/ | | | Channel::JoinUser() to std::string from char*