summaryrefslogtreecommitdiff
path: root/src/modes
AgeCommit message (Collapse)Author
2009-03-06Construct explicit parameter type list for MODE parametersdanieldg
Previously, we used TR_SPACENICKLIST on the parameters. This worked only because usually, if anything in the list parsed as a nick, then it was a nick. However, some modes like +k and +g allow free-form text, which could also resolve as a nick. Add extra parameters to allow modes to specify their TranslateType, defaulting to TR_TEXT. This fixes bug #757, found by Taros git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-06Drop channel keys if they are identical to the already-set key (fix for bug ↵w00t
#756, reported by Taros) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11178 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-11Remove/Add cmode h according to <option:allowhalfop>. Fixes bug #715 ↵peavey
reported by Strawberry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11081 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-31Fix compile errordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11018 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-31Fix for bug #695. For now, we cant be sure what parts of the code might ↵brain
still use empty nick to signify a server, so lets just avoid messing with it until 1.2+1 and use this simple workaround instead. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11016 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-25Allow +l 0 (for +PlL #newchan).w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11006 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-25This can't be case sensitive because it's not consistant, and also would ↵w00t
break having two extbans of differing case but same letter on the same mask (+bb m:f M:f). Also found courtesy of Jason. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11005 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-02Remove +s when no snomasks are set.. bug found (indirectly) by jackmcbarn.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10793 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Send remote de-oper to REMOTEOPER snomask.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10776 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Fix <disabled:umodes> interfering with /unloadmodule m_implementing_a_umode, ↵w00t
aquanight, you didn't look quite far enough into this - the problem was m_cloaking (e.g.) returning MODEACTION_DENY if src != dest, which was very very oooold behaviour. Seems to work fine now. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10713 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-29I think this fixes the mode +k weirdness. Keys were never being set ↵brain
correctly in the channel data. gcc doesnt warn on cast from char* to bool. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10606 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-31Move all the parameters around AGAIN. See docs shortlybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10364 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25Fixes, this can't be taken directly from 1.1w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10265 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-24Forward-port r10257, fixes bug #599 reported by mixx941.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10258 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-17Add OnParameterMissing to modehandler, called when the mode handler should ↵brain
have a parameter, but the parser found none git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10149 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Move umode_n to umode_s, second half of last commitw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10075 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29After discussions and thought, move umode +n to +s. This increases ↵w00t
cross-ircd compat (both charybdis and unreal use +s for snomasks, others might in the future). This also decreases complexity for new users, and removes the redundancy. This means that just +s +cC for example will be required to view connects. (files to be renamed in next commit to not confuse svn). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10074 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Remove custom members for +lk storagew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10053 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Change modes in channels and users to use std::bitset instead of an array. ↵w00t
This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-09Something we can do in 1.2 that we cant really do neatly in 1.1 - allow for ↵brain
the channel list sizes to be enforced only locally git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9882 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert channel::name to std::string, this was a beastie!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert channel banlist members to std::stringbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9769 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Make User:: nick/ident/dhost/fullname and some other things std::string ↵aquanight
instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04Conversion of command handler params from "const char* const* parameters, ↵brain
int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted. IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess of .c_str() calls to using std::string params directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-01Convert to SimpleUserModeHandler and SimpleChannelModeHandlerbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9599 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Merge in large patchset from GreenReaper, useful fixes for freeing a ton of ↵brain
different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-14Set the required prefix for ops to @, thanksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9503 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Fixes for bug #493, tidyups to clearing of channel modes on losing FJOIN. ↵brain
Module unloads may also be tidied at a future date but it means reordering some loops in mode.cpp. See around the comment added. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9283 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02make sure we include the right headers and fix a warning in cmode_bbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9269 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30whack a couple of format warnings now showing with r9217peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9218 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24Make run-cc show ARCHIVE step(s), also get rid of 'entering/leaving ↵aquanight
directory' nonsense from gnumake. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9031 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-22Convert remaining InspIRCd::Log() calls to new logging systemaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-18Someone please help me fix the warnings in modules caused by this change. ↵brain
All mode handler OnMode events, ModeWatcher::BeforeMode/AfterMode, plus OnRawMode now have a bool servermode parameter git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8964 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-14As a final test of this, set the permissions required to set channel mode +h ↵brain
to be '@' git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8937 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-12HA, that did itbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8914 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-12apparently ar -s is equivalent to ranlib, except it doesnt have a fucking ↵brain
noisy non-redirectable message :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8913 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-11Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵w00t
note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-10Hide ar and ranlibbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8882 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-10Now very tidy make output, with pretty colours :pbrain
(Unless it errors, then you get the full commandline and error output etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8878 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-10Move run-cc.pl to make/ directory and update paths, keeps root tidybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8868 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09Add a perl script which will abort compiles for warning messages that don't ↵aquanight
have a switch to convert to errors (like the one about non-PODs through ...) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8855 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Back out the AllowDevoiceSelf stuff, it wasn't going to work anyway. ↵w00t
Accidental commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8796 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Cache User::GetIPString()w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Move some stuff to usermanager, remove a little header insanity, remove ↵w00t
trace because it's still less useful than a chocolate fireman. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23Pedantic safebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8317 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Remove some fake client stuff, make it use the global recordw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7941 e03df62e-2008-0410-955e-edbf42e46eb7