summaryrefslogtreecommitdiff
path: root/src/modules.cpp
AgeCommit message (Collapse)Author
2007-08-28First step on the road of module loader rewriting. So far this only really ↵om
removes module factories. Any modules not updated to use MODULE_INIT() yet will now fail to compile \o/ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7971 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Shorthand macros DEFINE_HANDLER1()...DEFINE_HANDLER9() to save on defining ↵brain
functor classes that just implement Call() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7569 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Begin move of rehash to server.cpp - broken rehash from cmdline for now.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Move more modules related stuff to modules.cppw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Some refactoring; move LoadModule and UnloadModule over to modules.cpp -- ↵w00t
seems like a logical home to me ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7540 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Refactor some craq to not loop through a string 4-5 times for a simple operationw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7539 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-10This should fix the rest of remote kill nick hidingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7432 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14Some general syntax cleanups.pippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7304 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-09Change some = "" to clear() and some == "" to .empty()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7263 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21Remove warning in gcc this timebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7102 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21I think this was the source of burlex's confusion with the spanningtree ↵brain
propogation bug and a warning in vc8 -- CallCommandHandler returned BOOL?! Yet its casting that bool somehow from a CmdResult. It should be CmdResult. Fixed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7101 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21Reorder includes, dont worry there is method to my madness (i hope)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7093 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-11Remove some stuff deprecated since 1.0w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-10Add m_taxonomy and api minor tweak to make it work, enable some modules for it.brain
I have higher aims for this module, namely a neat fix for feature request in bug #285 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6967 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04Add <auditorium showops> which determines if auditorium works like ircnet +a ↵brain
(anonymous channels) or like unrealircd +u. The old behaviour is similar to anonymous channels, only showing the current user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6875 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-03DO NOT USE THIS COMMIT - if you do, most of the modules wont work.brain
DEVS: Please fix all modules that have warnings to use the new parameters to OnUserJoin, OnUserPart and OnUserKick (bool &silent) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6858 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-15Add third parameter to OnUserQuit (quit reason for opers only) - bump api ↵brain
version Add SetOperQuit and GetOperQuit methods to userrec Add OPERQUIT command to protocol - bump protocol version All this is to properly allow hidebans etc to work properly git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6675 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-11Added OnBufferFlush, improved m_safelist, no longer works on a timer but ↵brain
works on the writeability state of each user who is listing. Seems to test fine with 500 reet bots all listing at once. (doesnt lock up the ircd while listing them all any more, either, just lags a small amount) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6657 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19Fix for crashbugs when quitting users as experienced by satmd, SiliconAI and ↵brain
others. QA: Please test combinations of /quit, /kill, and friends. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6595 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-10When opening a file to read, check its not a directory with stat()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6557 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-09Check for nonexistent filebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6556 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09Cache channel max bans value to save an O(n) loop of match() on every ban ↵brain
(etc) add git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6267 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07DNS caching stuff (almost done)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-01Fix to allow for OnRehash to know what user initiated the rehashbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6207 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-31Add missing feature: /rehash reinitializes dns subsytem (and can handle ↵brain
changed addresses) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6193 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26Also add support for default values for ConfValueBool and ConfValueInteger ↵peavey
in configreader, and for ReadFlag and ReadInteger in modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6116 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26Add possibility to define default value for ConfValue in configreader and ↵peavey
ReadConf in modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6113 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24Add OnGarbageCollect methodbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6086 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23Hash rehashing changebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23Fix issue where the last module to be loaded wasnt unloaded by restartbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6074 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16Add an optional parameter to ConfigReader::ReadValue which defines if we ↵brain
want linefeeds or not. Tidy up some duplicated code in configreader (error reporting) Change ModuleException to inherit from CoreException, have the configreader throw and catch its CoreException on fatal error git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6013 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Jesus, look who's the commit whore today. More header updates, and removal ↵w00t
of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14Refactor userrec::chans.brain
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
2006-12-10Add InspIRCd::UseInterface and InspIRCd::DoneWithInterface, and also ↵brain
InspIRCd::GetInterfaceUseCount(). These can be used for one module to lock other modules in memory that it depends on, this way they can enforce an unload order so that you cant (for example) unload m_ssl_gnutls.so whilst m_spanningtree.so is using it for ssl server to server sessions (in this case, youd have to unload spanningtree first, THEN ssl_gnutls, to satisfy the dependencies and unload orders) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5924 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09Add OnRawSocketConnect, we've not had it till now because we've not needed it :)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05Document FindInterface, PublishInterface, UnpublishInterface, fix a bug ↵brain
where the interface wasnt removed when it was decremented to 0 implementing modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5874 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05Fix up brokagebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5871 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05Untested, undocumented PublishInterface, UnpublishInterface, FindInterface.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5867 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05Change this a LOT.brain
<oper blah.... hash="md5|sha256" pass="blah..."> It will now only check pass if you put the hash= in, people have been bugging for this for a while. note the m_oper_hash module will try and detect both m_sha256 and m_md5 now, and will provide /mkpasswd that can do either. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5862 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27BuildExemptList is becoming pretty ugly. grr.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5819 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27Add OnBuildExemptList, which is used to build an exempt list when passing a ↵brain
privmsg on, but not directly processing it (m_spanningtree etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5818 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27Add exception lists to OnUserMessage and OnUserNotice, to be used for ↵brain
smarter routing of messages in spanningtree amongst other things git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5817 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList ↵brain
&exempt_list, a list of users NOT to write to. By default it just contains the sender, you can add more. This also bumps the module api version by one. added "CUList fixme" to peaveys module just so it builds, as this will be refactored to use the new feature that was just added :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5806 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-21fix for bug #175, change OnUserRegister to return int, and if greater than 0 ↵peavey
= user was quit and stop propagating to rest of loaded modules. Also bumb the module API version. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5783 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Removed OnRawMode - this hasn't been called at all for awhile now, so it was ↵special
completely worthless. I even tested it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5604 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28Add 'dest' parameter to OnWhoisLine, contains the user being whois'ed (we ↵brain
need this for +H and probably the stuff w00t is doing too) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5573 e03df62e-2008-0410-955e-edbf42e46eb7