summaryrefslogtreecommitdiff
path: root/src/modes
AgeCommit message (Collapse)Author
2014-06-14Kill needless #includes in source filesAttila Molnar
2014-02-15Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Attila Molnar
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
2014-01-05Introduce Server classAttila Molnar
- Replaces std::string server in User - Replaces InspIRCd::ULine() and SilentULine()
2013-11-12Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Adam
automatically
2013-09-11Create a base class for prefix modesattilamolnar
Move Channel::SetPrefix() into Membership
2013-07-24umode_s Rewrite ProcessNoticeMasks() and remove a few related useless functionsattilamolnar
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-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-06Store prefix rank in a ModeHandler field, change ↵attilamolnar
ModeHandler::GetPrefixRank() to be non-virtual
2013-06-06Merge insp20attilamolnar
2013-06-05Remove unnecessary string copies and dead codeattilamolnar
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-14Add method for writing server notices.Peter Powell
This allows us to send a server notice to a user without worrying about whether they are registered or not. If a user receives a server notice and they are not registered then the nickname field will contain an asterisk instead of their nick name.
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-08Unite include/modes/*.h into include/builtinmodes.hattilamolnar
2013-04-01Purge the deprecated hash_map from existance.Peter Powell
2013-01-03cmode_b: Correction to the maxbans conditionalRobby-
It was possible to set one more ban beyond the configured limit.
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-07-01Fix maxbans not being enforcedattilamolnar
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-09-04Do not apply parameter length restrictions or CleanMask when unsetting modesDaniel De Graaf
2010-02-06rename channel modes +it to distinguish them from commandsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12387 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
2009-11-15Add ParamChannelModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12134 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Hide channel mode structuresdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12132 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-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-08Add names for all modes (part 1 of named channel mode list)danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11809 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02Fix valgrind issues and crashes on exitdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to ↵danieldg
clarify their use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Simplify ModeHandler constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Replace OnAccessCheck with OnPreMode to remove a number of redundant checksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Membership* changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove "servermode" parameter, replace with IS_FAKE() which is more reliabledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add Module* creator to Command and ModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Use CheckTimeStamp to merge modes on netburstdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11596 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Re-implement dependency generation in perl to increase speeddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11559 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-01Makefile updates: Allow run-cc wrapper to be disabled by "make V=1"danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11396 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-01Makefile updates: clean up command linesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11395 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-29Overloading SetMode seems to cause the compiler to interpret "" as a bool ↵danieldg
and not a string. Fixes bug #849 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11335 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17Fix SetModeParam to use std::string and handle edge cases.danieldg
Previously, changing the vaule of a mode could require 3 calls to SetMode and SetModeParam. This also fixes memory leaks caused by the strdup() not always being paired with a free(). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11307 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-16Fix bug #826: setting +l 0 doesn't work in some cases. Just don't check for ↵w00t
+l to an existing limit at all, as there isn't a lot of point to it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11302 e03df62e-2008-0410-955e-edbf42e46eb7