summaryrefslogtreecommitdiff
path: root/src/mode.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove mode counter, not reliable and only used for umode +iGravatar danieldg2010-01-091-15/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12246 e03df62e-2008-0410-955e-edbf42e46eb7
* Disallow adding prefix-mode when it is already set (fixes bug #935)Gravatar danieldg2010-01-091-7/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12245 e03df62e-2008-0410-955e-edbf42e46eb7
* Use ServiceProvider for inter-module dependenciesGravatar danieldg2009-11-161-1/+1
| | | | | | | | | | | 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
* Add Inspircd::AddServicesGravatar danieldg2009-11-151-2/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ParamChannelModeHandlerGravatar danieldg2009-11-151-0/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12134 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ModeHandler* versions of channel mode accessGravatar danieldg2009-11-151-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12133 e03df62e-2008-0410-955e-edbf42e46eb7
* Create m_halfopGravatar danieldg2009-11-031-8/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11997 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove AllowHalfop item from server configGravatar danieldg2009-11-031-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11996 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of ModePairGravatar danieldg2009-10-241-46/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11963 e03df62e-2008-0410-955e-edbf42e46eb7
* Change User::oper to an OperInfo referenceGravatar danieldg2009-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11945 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up some log messagesGravatar danieldg2009-10-191-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7
* Close files opened by configreaderGravatar danieldg2009-10-191-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11915 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-3/+6
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ModeHandler::cull() for auto-deletion, fixes call of virtual method on ↵Gravatar danieldg2009-10-171-6/+10
| | | | | | partially-destructed object git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11883 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up crash on destruction of statics at exitGravatar danieldg2009-10-161-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11877 e03df62e-2008-0410-955e-edbf42e46eb7
* Add m_namedmodes that adds pseudo-listmode Z that shows and manipulates ↵Gravatar danieldg2009-10-151-12/+7
| | | | | | modes via their long names git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11876 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove Command and ModeHandler objects in their destructors; fixes possible ↵Gravatar danieldg2009-10-131-16/+1
| | | | | | pointer leak if a module was not careful when triggering exceptions in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
* Add names for all modes (part 1 of named channel mode list)Gravatar danieldg2009-10-081-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11809 e03df62e-2008-0410-955e-edbf42e46eb7
* Make builtin modes static to eliminate confusing destructor exceptionGravatar danieldg2009-10-051-37/+46
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11801 e03df62e-2008-0410-955e-edbf42e46eb7
* Deny TR_NICK mode changes with an invalid nick parameterGravatar danieldg2009-10-051-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11800 e03df62e-2008-0410-955e-edbf42e46eb7
* Run DelMode and DelModeWatcher in RemoveModuleGravatar danieldg2009-10-051-3/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to ↵Gravatar danieldg2009-09-261-2/+2
| | | | | | clarify their use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-21/+21
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Properly spacify opertypes in error messages. Patch by dKingstonGravatar special2009-09-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11724 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix access checks on chanprotect preventing use of SAMODEGravatar danieldg2009-09-131-14/+26
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11717 e03df62e-2008-0410-955e-edbf42e46eb7
* Translate TR_NICK back from UID on mode parseGravatar danieldg2009-09-131-1/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11716 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove redundant ServerInstance* fieldsGravatar danieldg2009-09-131-4/+1
| | | | | | | | It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
* Simplify ModeHandler constructorGravatar danieldg2009-09-131-64/+30
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace OnAccessCheck with OnPreMode to remove a number of redundant checksGravatar danieldg2009-09-131-6/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
* Module API changes to use Membership* where sensibleGravatar danieldg2009-09-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
* Membership* changesGravatar danieldg2009-09-131-81/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
* Change SAMODE to source from the acting user, not the serverGravatar danieldg2009-09-021-10/+9
| | | | | | | | This is a merge of the OOMODE command into SAMODE. This fixes SAMODE not working because of mode merging. An additional access check for umode changes is added for this command. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11647 e03df62e-2008-0410-955e-edbf42e46eb7
* Rip out VisData in preparation for replacing it with more flexible hooksGravatar danieldg2009-09-021-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11640 e03df62e-2008-0410-955e-edbf42e46eb7
* ModResult conversion: Change return type of all module functionsGravatar danieldg2009-09-021-11/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove "servermode" parameter, replace with IS_FAKE() which is more reliableGravatar danieldg2009-09-021-20/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
* Add Module* creator to Command and ModeHandlerGravatar danieldg2009-09-021-18/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
* Valgrind cleanup: deallocate RFC modes, clientlist, and uuidlistGravatar danieldg2009-09-021-2/+21
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11614 e03df62e-2008-0410-955e-edbf42e46eb7
* Use CheckTimeStamp to merge modes on netburstGravatar danieldg2009-09-021-3/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11596 e03df62e-2008-0410-955e-edbf42e46eb7
* Rework mode parser into slightly smaller chunksGravatar danieldg2009-09-021-383/+263
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11594 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace std::deque with std::vector in spanningtree and related modulesGravatar danieldg2009-09-021-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
* Makefile updates: clean up command linesGravatar danieldg2009-06-011-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11395 e03df62e-2008-0410-955e-edbf42e46eb7
* Show correct server source to users on FTOPIC and FMODEGravatar danieldg2009-05-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11380 e03df62e-2008-0410-955e-edbf42e46eb7
* Use server source for RemoveMode, fixes bug #838Gravatar danieldg2009-04-181-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11316 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7