aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Replace ModeMasks with a two-dimensional arrayGravatar Attila Molnar2014-02-181-37/+19
| |
* | Change the parameter type of ModeHandler::GiveModeList() from ModeMasks to ↵Gravatar Attila Molnar2014-02-181-2/+2
| | | | | | | | ModeType
* | Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Gravatar Attila Molnar2014-02-151-18/+26
| | | | | | | | | | | | | | | | | | | | 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
* | Merge insp20Gravatar Attila Molnar2014-01-211-3/+15
|\|
| * Use FindNickOnly() in a few more places if a local user is performing an ↵Gravatar Attila Molnar2014-01-191-5/+21
| | | | | | | | action to prevent UID walking
| * Improve support for rarely used compilers, EKOPath in this case.Gravatar ChrisTX2013-08-311-1/+1
| |
* | Automatically register and unregister mode watchersGravatar Attila Molnar2014-01-061-0/+2
| |
* | Remove useless ULine() checksGravatar Attila Molnar2014-01-051-1/+1
| |
* | Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Gravatar Adam2013-11-121-21/+21
| | | | | | | | automatically
* | Keep lists of mode handlers by typeGravatar attilamolnar2013-09-121-7/+19
| |
* | Move prefix mode specific fields and getters into PrefixModeGravatar attilamolnar2013-09-111-25/+32
| | | | | | | | Add ModeHandler::IsPrefixMode()
* | Create a base class for prefix modesGravatar attilamolnar2013-09-111-29/+27
| | | | | | | | Move Channel::SetPrefix() into Membership
* | Add a type id field to ModeHandlerGravatar attilamolnar2013-09-111-2/+2
| |
* | Clean up a few constructorsGravatar attilamolnar2013-08-121-3/+0
| | | | | | | | Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
* | Change the syntax of FOREACH macros to be less dumb.Gravatar Adam2013-08-041-1/+1
| |
* | Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the ↵Gravatar attilamolnar2013-07-191-1/+4
| | | | | | | | User class to the snomask modehandler
* | Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵Gravatar attilamolnar2013-07-011-8/+8
| | | | | | | | with ModeHandlers, part 1
* | Fix a few oversightsGravatar attilamolnar2013-07-011-1/+1
| | | | | | | | This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
* | Call Channel::SetModeParam() from the mode parser when needed instead of ↵Gravatar attilamolnar2013-06-131-4/+3
| | | | | | | | requiring mode handlers to do it
* | Replace void* dest and target_type parameters of OnMode with a User* and a ↵Gravatar attilamolnar2013-06-131-8/+4
| | | | | | | | Channel*
* | Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵Gravatar attilamolnar2013-06-131-3/+6
| | | | | | | | | | | | | | | | indicate local only mode changes and mode merges Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
* | Store prefix rank in a ModeHandler field, change ↵Gravatar attilamolnar2013-06-061-6/+1
| | | | | | | | ModeHandler::GetPrefixRank() to be non-virtual
* | Convert User::FormatNoticeMasks() to use std::string.Gravatar Peter Powell2013-06-061-1/+1
| |
* | Move a few trivial functions into headersGravatar attilamolnar2013-06-021-10/+0
| |
* | Watch mode names with ModeWatchers instead of mode lettersGravatar attilamolnar2013-06-011-59/+47
| |
* | Remove useless ModeType parameter from ModeWatcher::BeforeMode() and AfterMode()Gravatar attilamolnar2013-06-011-5/+5
| |
* | Simplify user mode removal via ModeHandler::RemoveMode()Gravatar attilamolnar2013-05-271-15/+7
| | | | | | | | | | The function does not need to be virtual because the core can remove any user mode using the default logic The optional modestack parameter was always NULL, so remove it
* | Deduplicate RemoveMode() implementationsGravatar attilamolnar2013-05-271-17/+31
| | | | | | | | | | The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
* | Cache mode list that is sent in the 004 numericGravatar attilamolnar2013-05-241-35/+10
| | | | | | | | Deduplicate UserModeList(), ChannelModeList() and ParaModeList() code
* | Remove dead ModeParser codeGravatar attilamolnar2013-05-241-16/+0
| |
* | Allow spaces (and more) in oper typesGravatar attilamolnar2013-05-161-1/+1
| | | | | | | | | | The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
* | Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()Gravatar attilamolnar2013-04-101-3/+3
| |
* | Migrate u_listmode.h into the core, change +b to use itGravatar attilamolnar2013-04-081-0/+1
| |
* | Add builtin modes using AddService()Gravatar attilamolnar2013-04-081-18/+9
| |
* | Unite include/modes/*.h into include/builtinmodes.hGravatar attilamolnar2013-04-081-24/+1
|/
* Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a ↵Gravatar attilamolnar2012-12-151-1/+1
| | | | | | target nickname If a SID was passed as the target user parameter or when it's an unregistered user reply with the "no such nick" (or the moral equivalent) message
* Fix unsafe iteration in DelMode() when unloading m_permchannelsGravatar attilamolnar2012-12-081-4/+9
|
* Change empty string assignments to .clear() or remove them entirelyGravatar attilamolnar2012-11-281-1/+1
| | | | Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f
* Move simple user and channel mode handlers into a single fileGravatar attilamolnar2012-10-081-13/+5
|
* Remove sprintf from the two implementations of ModeHandler::RemoveModeGravatar attilamolnar2012-08-081-10/+6
|
* Improved the SimpleModeHandlersGravatar Shawn Smith2012-07-061-34/+27
|
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+19
|
* Remove harmless but scary-looking logfile linesGravatar Daniel De Graaf2011-07-191-2/+0
|
* Do not apply parameter length restrictions or CleanMask when unsetting modesGravatar Daniel De Graaf2010-09-041-1/+1
|
* Cap masks and bans at 250 charactersGravatar danieldg2010-03-011-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12575 e03df62e-2008-0410-955e-edbf42e46eb7
* Change SERVICE_{CMODE,UMODE} to SERVICE_MODE, which makes more senseGravatar danieldg2010-02-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12430 e03df62e-2008-0410-955e-edbf42e46eb7
* Fail adding of new mode when its prefix is already in useGravatar danieldg2010-02-061-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12386 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix mode required error messageGravatar danieldg2010-02-031-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12364 e03df62e-2008-0410-955e-edbf42e46eb7
* ERROR is not a valid log level, so all these messages were getting droppedGravatar danieldg2010-01-191-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 e03df62e-2008-0410-955e-edbf42e46eb7
* Search for correct access level for mode changes, remove hardcoded halfop ↵Gravatar danieldg2010-01-161-9/+18
| | | | | | references git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12265 e03df62e-2008-0410-955e-edbf42e46eb7