summaryrefslogtreecommitdiff
path: root/include/mode.h
Commit message (Expand)AuthorAgeFilesLines
* Header update: 2007 -> 2008•••git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8695 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-01-101-1/+1
* backport: Proper fix for end-of-list numerics on restricted lists in bug #386...•••git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@7839 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-261-1/+9
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-1/+519
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are au...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-07-161-519/+1
* More comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7381 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-06-171-0/+15
* Fix std::sort stuff for w00t•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7050 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-05-191-1/+1
* Windows support. Tested and working to compile on freebsd and linux. Next ste...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2007-05-191-3/+3
* Fix lusers breakage introduced by latest set of optimizations•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-031-0/+3
* This doesnt need to be static•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6164 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-291-1/+1
* Add counter system for umodes to get rid of some O(n)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6163 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-291-0/+7
* And now, just to force you to recompile the *whole* ircd.. updated headers on...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-6/+3
* Make SAMODE oper output tidier•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5184 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-0/+11
* Add /RELOAD and move cmd_mode into its own command.•••/RELOAD is the only thing you cant reload (ahem) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5119 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-031-14/+0
* Allow unloading of modules which implement modes!•••The default implementation of the new system will remove simplemodes so any mode handler which is just a simple mode (no params and not a list mode) does not need to add much more than one line of code and remove its VF_STATIC flag. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5100 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-021-0/+29
* *thwap* om for not fixing the bugs he finds :p•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5087 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-311-1/+1
* Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never use•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-3/+0
* Add <options:cyclehosts> which allows a user to appear to have quit when thei...•••It is recommended this option always be on. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5017 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-251-0/+10
* ModeParser::InsertMode is no longer required -- this is auto-generated by the...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5007 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-4/+5
* Document ModeParser::FindPrefix() and chanrec::GetAllPrefixes()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5006 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-40/+25
* Multi-prefix FJOIN, and allowing module-defined prefixes across the network•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-0/+2
* More prefixchar stuff.•••WARNING: 005 numeric is broken in this commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5000 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-0/+7
* Document mode prefixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-2/+33
* Mode handlers handling listmodes where a listmode item is a nickname can now ...•••This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-5/+28
* Explain what ModeParser does•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4907 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-121-0/+5
* (Bigger than it looks, i did this with perl inplace edit) -- commands now tak...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4862 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+1
* So much stuff changed in this one, i forgot most of it.•••Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-6/+11
* Move InsertMode into ModeParser•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4849 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-0/+2
* Dynamically generate 004 numeric from the modehandler list•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4665 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-031-0/+6
* Add support for syntax of commands in place of the text 'Not enough parameter...•••To support this each derived class of command_t must set the value of command_t::syntax to a non-empty string. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4561 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-281-1/+1
* Change std::pair<bool,std::string> to neater typedef "ModePair"•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4557 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-271-2/+10
* Mode merging during FJOIN with ourts==theirts. Only +k and +l have CheckTimes...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4556 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-271-0/+19
* commit remainder of new mode bouncing stuff for TS based modes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4550 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-271-0/+2
* Add extra method to mode handler, ModeHandler::ModeSet().•••Returns a std::pair<bool,string>. if the bool is true, the mode is set, and the second item in the pair is the parameter set on it, if any If the bool is false, the mode is not set, and the parameter given is returned as the second item of the pair To be used in mode bouncing, to build a safe set of bounced modes (dont ask yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4549 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-261-0/+2
* mass tidyup, change A LOT of stuff to const char** which was char** (such as ...•••which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations (all in all, ive added 2 casts and removed almost a hundred) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-161-2/+2
* Inherit tons of stuff from classbase that should always have been•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4298 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-1/+1
* Made a load more stuff Extensible which might be of use to someone•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-2/+2
* Added ModeParser::AddModeWatcher() and ModeParser::DelModeWatcher()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4266 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-101-0/+18
* Finally finished documenting new mode parser. Lots of comments.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4242 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-091-6/+108
* Convert u_listmode and m_banexception to new api•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4189 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-0/+2
* Added DisplayCurrentModes which will display the modes of a channel or nick•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4181 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-4/+1
* Refactored user modes to work like the channel modes - core and module data n...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-11/+0
* Added usermodes +swi.•••Note the usermode system needs a bit of a refactor to combine module and core modes into the same storage neatly (as we did with channels) this is next on my todo. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4174 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-0/+1
* Add cmode +o (op/deop) and in the process change a lot of char* to const char...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4165 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-9/+11
* ModeHandler documented•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4161 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-081-0/+62
* Started work on ModeParser::CleanMask()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4145 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-2/+1
* Comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4144 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-2/+62
* Mode +b stuff, probably wont work yet•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4133 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-2/+0
* Aaaand, correct all the obligitary typos•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4129 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-1/+1
* Added masking stuff.•••Basically, so that we can hold user modes and channel modes in the same list, we use bitwise masking. We have a list of handlers, 256 in size 0 through 255, and to work out where a mode handler is dependent on WHAT it is, we use this simple hashing algorithm (no collisions can occur): (modeletter - 65) | mask Where mask is 128 (10000000b) if its a user mode, or 0 (00000000b, duh) if its a channel mode. Smart, and much faster than using a map of pairs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4128 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-2/+9
* Mode parser WORKS! (for simple non-parameterized channel modes)•••Tested with channel mode +s. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4126 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-07-071-5/+1