summaryrefslogtreecommitdiff
path: root/src/modules.cpp
AgeCommit message (Collapse)Author
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
2006-10-28Add support for OnWhoisLine, which allows modules to change or drop any line ↵brain
of whois before its sent to a user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 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-10-01Added OnPostJoin, which is (at the moment) almost exactly identical to ↵special
OnUserJoin but called after, so you can play with linking git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5361 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25Whoops, patchbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-17Add const std::string &original_command to OnPreCommand and OnPostCommand, ↵brain
which gives the entire untouched command string and params in all its colon-ny glory git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5265 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06Finish off the fix for bug #136 (a biggie for such a simple thing)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Note: connect() cant time out for inspsockets in this commit. They'll sit in ↵brain
memory forever -- if you want something actually working properly wait for the next commit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Add support for NAMESXbrain
Tidy up m_alias blank lines Add m_namesx.so to example conf (no extra config tags required for it, it "just works") git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5039 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-24Renamed the OnGlobalConnect callback to OnPostConnect, which is much more ↵special
appropriate git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5010 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18EventHandler class, an abstraction for raw i/obrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 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-11Move remaining functions:brain
operstrcmp* commands.cpp InspIRCd::operstrcmp() duration* commands.cpp InspIRCd::duration() host_matches_everyone* commands.cpp InspIRCd::host_matches_everyone() ip_matches_everyone* commands.cpp InspIRCd::ip_matches_everyone() nick_matches_everyone* commands.cpp InspIRCd::nick_matches_everyone() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4888 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Move all of the xline stuff into class XLineManager, make an instance of it ↵brain
in class InspIRCd and use it (eliminates another extern) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4878 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11extern time_t TIME -> InspIRCd::Time()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11ConfigReader and FileReader now take InspIRCd* to their constructorsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4865 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Committing this as a rollback point - does not compilebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 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-10Mass-tidyup of module global vars, theyre no longer global vars.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Move tons more stuff into class InspIRCd*, make signal handler functions ↵brain
static members git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4855 e03df62e-2008-0410-955e-edbf42e46eb7