aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
Commit message (Expand)AuthorAgeFilesLines
...
* Fix this so that if the beforemode clears the parameter, and it was supposed ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6327 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-141-0/+7
* Fix BeforeMode to have the parameter available, if there are enough parameter...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6326 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-141-6/+13
* Tweaks to mode parser•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6265 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-081-2/+4
* Extra check so that we dont get -O-s when doing:•••MODE #chan +Osnt MODE #chan -O+n-s (the +n would get dropped, but the - and the s get put in the mode sequence) To fix, we store the last *successful* state change, as well as the last attempted state change. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6235 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-061-1/+8
* Fix desync with halfop and voice when opped (this happens because we were ORi...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6232 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-061-0/+5
* 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/+5
* 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-1/+6
* Hash rehashing change•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-231-2/+2
* Reduce logging caused by mode changes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6060 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-221-4/+0
* Avoid no such nick on non oper attempting to view modes of a user.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6047 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-181-0/+1
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-9/+4
* Refactor userrec::chans.•••Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op]) This increases speed a ton, and removes some wtf-age. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-141-44/+38
* LOL INFINITE LOOPS IN IRCD ARE ROX•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5834 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-031-0/+3
* That patch (TM) of controversy, plus a minor cleanup•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5830 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-021-7/+13
* Disallow mode prefix # since it will mess up /whois and /privmsg•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5786 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2006-11-221-1/+2
* Don't allow a non-oper to view another users modes. This slightly tweaks the ...•••Also, remove the system from 1.0 whereby an oper CAN change a non-opers modes (except +o) because all this did was confuse services packages. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5748 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-151-5/+17
* Show chanrec::age in MODE #chan, not the deprecated chanrec::created•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5717 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-121-1/+1
* * Fix removal of user modes when unloading the mode letter (this actually wor...•••* Fix m_stripcolor channel mode +S (was unsettable as it had some user mode checks in it) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5577 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-7/+1
* /me thwaps special for not reading comments :p•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5445 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-061-1/+1
* Extra safety checking in ModeSet just to ensure we cant be passed a null pointer•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5411 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-041-0/+3
* Add an extra debug message and change two calls of GetModeType to GetModeChar...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5376 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar om2006-10-011-2/+4
* It all came down to a >1 where we needed a >0. Things should be stable now jamie•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5375 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-011-1/+4
* Take some debug crap out of ModeParser::ModeString()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5209 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-101-1/+0
* * Fix ChanModes::ModeString to not try and set a key as a user mode ;)•••* Tweak the way cyclehosts works, so that mode change is not echoed back to user who changes their host/ident git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5208 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-101-1/+2
* Reset LastParse string when we try to parse new modes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5188 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-0/+2
* Tidier string building•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5185 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-12/+4
* 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/+24
* And fix it so it doesnt go into an infinite loop when meeting the end conditi...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5183 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-1/+1
* Add sane limiting to mode output, so we cant have more than 100 mode chars in...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5182 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-0/+10
* m_override is now fixed, replaced AC_GENERAL_MODE OnAccessCheck event•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5180 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-091-8/+16
* 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-11/+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/+76
* In this instance find is faster than rfind•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5086 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-1/+1
* And make it work here•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5085 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-1/+1
* Fix for parameters which contain a colon (which is not the first char in the...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5084 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-1/+1
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-8/+0
* Only send 008 when MODE Oper•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5075 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-291-1/+2
* Clarify message•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5074 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-291-2/+3
* Don't silently drop modes that are oper only when a non-oper tries to set the...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5073 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-291-0/+4
* auto-set +s when +n is set (as +n requires +s) - allow +n to be 'set twice' a...•••Add default snomask chars git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5063 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-291-2/+2
* 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/+25
* When the mode sequence doesnt start with + or -, assume a +•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5009 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-241-0/+4
* 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-24/+48
* Check for illegal mode prefixes in AddMode (':' and ',')•••We should *probably* check to make sure their rank value doesnt conflict with another modules, too git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5003 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-0/+6
* 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/+14
* Fix and finish 005 numeric. PREFIX= is now calculated automatically if you ad...•••You do not need to mess with the numeric yourself. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5001 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-2/+12
* 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/+24
* 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-4/+30
* Things are so much easier here (thanks to sts for the bug)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4963 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-181-0/+4
* Just to mess with om's head, remove helperfuncs.h from everywhere•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+1