summaryrefslogtreecommitdiff
path: root/src/mode.cpp
AgeCommit message (Collapse)Author
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-07-19Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the ↵attilamolnar
User class to the snomask modehandler
2013-07-01Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵attilamolnar
with ModeHandlers, part 1
2013-07-01Fix a few oversightsattilamolnar
This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
2013-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-13Replace void* dest and target_type parameters of OnMode with a User* and a ↵attilamolnar
Channel*
2013-06-13Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵attilamolnar
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.)
2013-06-06Store prefix rank in a ModeHandler field, change ↵attilamolnar
ModeHandler::GetPrefixRank() to be non-virtual
2013-06-06Convert User::FormatNoticeMasks() to use std::string.Peter Powell
2013-06-02Move a few trivial functions into headersattilamolnar
2013-06-01Watch mode names with ModeWatchers instead of mode lettersattilamolnar
2013-06-01Remove useless ModeType parameter from ModeWatcher::BeforeMode() and AfterMode()attilamolnar
2013-05-27Simplify user mode removal via ModeHandler::RemoveMode()attilamolnar
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
2013-05-27Deduplicate RemoveMode() implementationsattilamolnar
The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
2013-05-24Cache mode list that is sent in the 004 numericattilamolnar
Deduplicate UserModeList(), ChannelModeList() and ParaModeList() code
2013-05-24Remove dead ModeParser codeattilamolnar
2013-05-16Allow spaces (and more) in oper typesattilamolnar
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
2013-04-10Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()attilamolnar
2013-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-08Add builtin modes using AddService()attilamolnar
2013-04-08Unite include/modes/*.h into include/builtinmodes.hattilamolnar
2012-12-15Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a ↵attilamolnar
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
2012-12-08Fix unsafe iteration in DelMode() when unloading m_permchannelsattilamolnar
2012-11-28Change empty string assignments to .clear() or remove them entirelyattilamolnar
Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f
2012-10-08Move simple user and channel mode handlers into a single fileattilamolnar
2012-08-08Remove sprintf from the two implementations of ModeHandler::RemoveModeattilamolnar
2012-07-06Improved the SimpleModeHandlersShawn Smith
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2011-07-19Remove harmless but scary-looking logfile linesDaniel De Graaf
2010-09-04Do not apply parameter length restrictions or CleanMask when unsetting modesDaniel De Graaf
2010-03-01Cap masks and bans at 250 charactersdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12575 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-11Change SERVICE_{CMODE,UMODE} to SERVICE_MODE, which makes more sensedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12430 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-06Fail adding of new mode when its prefix is already in usedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12386 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-03Fix mode required error messagedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12364 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19ERROR is not a valid log level, so all these messages were getting droppeddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-16Search for correct access level for mode changes, remove hardcoded halfop ↵danieldg
references git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12265 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09Remove mode counter, not reliable and only used for umode +idanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12246 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09Disallow adding prefix-mode when it is already set (fixes bug #935)danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12245 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-16Use ServiceProvider for inter-module dependenciesdanieldg
This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Add Inspircd::AddServicesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Add ParamChannelModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12134 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Add ModeHandler* versions of channel mode accessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12133 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03Create m_halfopdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11997 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03Remove AllowHalfop item from server configdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11996 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Get rid of ModePairdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11963 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Change User::oper to an OperInfo referencedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11945 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Clean up some log messagesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Close files opened by configreaderdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11915 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Make classbase and refcountbase uncopyable; expand comments on their ↵danieldg
indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7