summaryrefslogtreecommitdiff
path: root/src/modules/m_operchans.cpp
AgeCommit message (Collapse)Author
2009-09-02Change allocation of commands/modesdanieldg
API change: Commands passed to AddCommand are no longer deleted automatically This removes lots of needless heap allocation and fixes a few memory leaks by allocating commands and modes as part of the Module rather than creating them separately in the module constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-10Register the OnUserPreJoin hook, and check for null channel firstdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11301 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-10Move +O check out of OnCheckBan to change error message and avoid triggering ↵danieldg
restrictbanned git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11300 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
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
2009-03-14Extban rework: allow exceptions to override bans on joindanieldg
Move all bans that prevent a user from joining the channel to OnCheckBan, then stack their return results to allow an exception to override a ban. This does not make join exceptions override any other exception like mute. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11222 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-08-25Change module versions to use a string instead of fixed digits, and use ↵w00t
propset ID to auto-set versions, so we don't have (essentially unused) module versions. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10291 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-05Copypastaw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10097 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-05Missed anotherw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10096 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-30Add extban +b O: for opertype banning.. mostly useful for +be to create a ↵w00t
channel with only one level of opertype permitted. Thanks partly to Kein. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10077 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-14Lots, lots more numerics.h conversionw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10014 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-11fixed some indentation and spacing in modulespippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9888 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-19These toobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9756 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16Change that allows the m_override module to not announce a key override for ↵brain
a user that specified the right key git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24And more of thembrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9186 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-22Wheeee for HUGE commits. Convert all numerics to WriteNumeric so that ↵brain
OnNumeric can capture them. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9175 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-18Phew. Fix a bunch of method sigs to stop warnings.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8966 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Remove a redundant method here, call the mode manager directlyw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8732 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-11-04Remove Implements() method from every module. booya.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8536 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Honking huge commit. Removal of DELETE() template that never worked right anywaybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Convert all to new Attach() system. The Implements() method needs removing ↵brain
from all modules as it is dead weight. WARNING: there are segfaults here! HERE BE DRAGONS, i am not finished! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8510 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23All of insp now builds with -pedantic (theres some warnings to squash in ↵brain
modules, and in spanningtree, but its all 'unused parameter'). I suggest we actually go through and satisfy these unused parameter errors for two reasons: (1) it acts as a strong compiler hint leading to better optimization (2) it will give us a good clue of what parameters are NEVER used and should therefore be removed from use (like i just did with AddMode) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8323 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-27Remove unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7885 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-03Removed superfluous semicolonspippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7423 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17Conversionsw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7361 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21Header rearrangement, move inspircd.h to top, remove stdio, stdlib, ↵brain
stdblahblah that we dont even use, remove redeclared <string>, <map>, <vector>. This (1) fixes the irc::string::move warnings on vc8 (2) speeds up compile a lot git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7098 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19SPACE INDENTING ACTION RANGERS -- ATTACK!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7048 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Windows support. Tested and working to compile on freebsd and linux. Next ↵w00t
step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-12The commit that should have been r7000: src/modules now uses IS_OPER instead ↵w00t
of not so tidy char equivilant git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7001 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-28Reasonably sized fix - when adding modes in modules, be sure to check the ↵brain
return value so we dont load two modules with conflicting modes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6137 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Remove global namespacing, makes modules compile FASTAH. Also massive update ↵w00t
on headers (change to InspIRCd Development Team, extend copyright to 2007). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5995 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-19Insert massive change here.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5504 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-01Now with binary versioning goodnessbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5366 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25All done.brain
Modules may now change the privialges each user gets as they join, in OnUserPreJoin. For the first user in, this value defaults to a string containing "@" otherwise it defaults to a string containing nothing. If you change it, they get the new prefixes instead, and yes module-based prefixes ARE supported and its all automatically networked. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5327 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02Any modules which were using VF_STATIC to indicate they implement a mode ↵brain
should change this to VF_COMMON once they have the correct unload code git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5101 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02Allow unloading of modules which implement modes!brain
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
2006-08-25Remove On005Numeric event from a ton of modules which no longer need it (as ↵brain
CHANMODES= part of 005 is now automatically done) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5024 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23ModeParser::InsertMode is no longer required -- this is auto-generated by ↵brain
the ModeParser based on what modes are registered and wether or not they have certain attributes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5007 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.brain
NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11None of the modules use an extern InspIRCd* any morebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4863 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Last of Server:: methods moved to InspIRCd::. Server:: removed.brain
This will need a real good tidyup later, because now everything is in the right place, but its a mess because for now i threw them into place (e.g. space indenting, etc) Next on the todo: Make command handlers have a ServerInstance (gank!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4861 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Note: FOR THE MOMENT, this is BROKEN. It wont run right until im done.brain
Changed Parameter for modules from Server* to InspIRCd*. TODO: Move remaining Server* Modules into InspIRCd* and remove class Server. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4859 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10So much stuff changed in this one, i forgot most of it.brain
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
2006-08-10Move InsertMode into ModeParserbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4849 e03df62e-2008-0410-955e-edbf42e46eb7