summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-07-08Add userrec::HasMode, fix some typos.brain
TODO: Make more use of userrec::HasUmode('c') rather than user->modes['c'-65] *oogly* Next - get umode +o working! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4178 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Change channelmodes -> usermodes (typo)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4177 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Convert new +isw modes to new mode formatbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4176 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Refactored user modes to work like the channel modes - core and module data ↵brain
now the same storage format without ::modebits git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Added usermodes +swi.brain
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
2006-07-08Remove comemnted-out GiveVoice and TakeVoicebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4173 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Add cmode +v - that's all the RFC channel modes done nowbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4172 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Remove the TakeHops and GiveHops from commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4171 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Add support for cmode +hbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4170 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Tidyup, and add numeric 472 "unknown mode char"brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4169 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Fix for permissions :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4168 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Put back security checks so non-ops cant set modes again :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4167 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Integrate +o into handlersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4166 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Add cmode +o (op/deop) and in the process change a lot of char* to const ↵brain
char* to avoid unneccessary casts git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4165 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Convert the output limit back to the parameterbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4164 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Add channelmode +lbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4163 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Add chmode +k, cut down includes in use in mode.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4162 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08ModeHandler documentedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4161 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4160 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Add support for channelmode +ibrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4159 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Add cmode_n and cmode_tbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4158 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Typoed a constbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4157 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Add channel modes +n and +tbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4156 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Save ourselves 3 dereferencesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4155 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Clean 'removed' bans toobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4154 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Tidier than a trinary opbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4153 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Move BanItem into the classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4152 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Remove the transposition of @ and ! stuff, doesnt work right and not a good ↵brain
enough idea to be worth fixing Fix mode parser so that if a handler nukes its parameter to an empty string, but its said it MUST have a parameter (e.g. +b or +L) then thats equivalent to MODEACTION_DENY as we cant do anything without the param. The whole mode and its parameter get 'eaten' and the next character is moved to instead. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4151 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Avoid throwing a std::out_of_range exception when given a ban without ! or @ ↵brain
in it (whooops) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4150 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07toomanyexclamation and toomanyat are no longer required herebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4149 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Fix to check for colon (accidentally typed pos_of_dot)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4148 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Mask cleaning.brain
nick -> nick!*@* nick!ident -> nick!ident@* host.name -> *!*@host.name ident@host.name -> *!ident@host.name transposed @ and !, swap @ and ! to form proper n!u@h ordering Hostname determined by containing a dot or a colon git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4147 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Make +b use CleanMask()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4146 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Started work on ModeParser::CleanMask()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4145 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4144 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07A bit more debuggingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4143 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07'Activate' +m by putting it in the constructorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4142 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Added cmode_m (channel mode +m)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4141 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Fix syntax examplebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4140 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07GCC defines and <hash_map> -> "hash_map.h"brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4138 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Tidy up space indents so Om and w00t dont murder mebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4137 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Fix listmodes and modes with paramsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4136 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Add mode +b to active listbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4135 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07fix channel mode +bbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4134 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Mode +b stuff, probably wont work yetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4133 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Tidied up checking in ModeParser::AddMode() and added a humorous comment ↵brain
about modes like '^' and '_'. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4132 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Add cmode_p (private)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4131 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Initialize mode handlers and watchers to 0 in the constructor, or mucho pain ↵brain
can ensue git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4130 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Aaaand, correct all the obligitary typosbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4129 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Added masking stuff.brain
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