summaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Cache channel max bans value to save an O(n) loop of match() on every ban ↵Gravatar brain2007-01-091-0/+1
| | | | | | (etc) add git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6267 e03df62e-2008-0410-955e-edbf42e46eb7
* DNS caching stuff (almost done)Gravatar brain2007-01-071-2/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix to allow for OnRehash to know what user initiated the rehashGravatar brain2007-01-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6207 e03df62e-2008-0410-955e-edbf42e46eb7
* Add missing feature: /rehash reinitializes dns subsytem (and can handle ↵Gravatar brain2006-12-311-0/+1
| | | | | | changed addresses) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6193 e03df62e-2008-0410-955e-edbf42e46eb7
* Also add support for default values for ConfValueBool and ConfValueInteger ↵Gravatar peavey2006-12-261-3/+14
| | | | | | 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
* Add possibility to define default value for ConfValue in configreader and ↵Gravatar peavey2006-12-261-4/+8
| | | | | | ReadConf in modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6113 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnGarbageCollect methodGravatar brain2006-12-241-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6086 e03df62e-2008-0410-955e-edbf42e46eb7
* Hash rehashing changeGravatar brain2006-12-231-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix issue where the last module to be loaded wasnt unloaded by restartGravatar brain2006-12-231-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6074 e03df62e-2008-0410-955e-edbf42e46eb7
* Add an optional parameter to ConfigReader::ReadValue which defines if we ↵Gravatar brain2006-12-161-42/+3
| | | | | | | | | | 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
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-6/+3
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactor userrec::chans.Gravatar brain2006-12-141-11/+8
| | | | | | | | | 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
* Add InspIRCd::UseInterface and InspIRCd::DoneWithInterface, and also ↵Gravatar brain2006-12-101-6/+36
| | | | | | | | | | | | 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
* Add OnRawSocketConnect, we've not had it till now because we've not needed it :)Gravatar brain2006-12-091-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7
* Document FindInterface, PublishInterface, UnpublishInterface, fix a bug ↵Gravatar brain2006-12-051-0/+2
| | | | | | 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
* Fix up brokageGravatar brain2006-12-051-2/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5871 e03df62e-2008-0410-955e-edbf42e46eb7
* Untested, undocumented PublishInterface, UnpublishInterface, FindInterface.Gravatar brain2006-12-051-0/+33
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5867 e03df62e-2008-0410-955e-edbf42e46eb7
* Change this a LOT.Gravatar brain2006-12-051-1/+1
| | | | | | | | | <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
* BuildExemptList is becoming pretty ugly. grr.Gravatar brain2006-11-271-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5819 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnBuildExemptList, which is used to build an exempt list when passing a ↵Gravatar brain2006-11-271-0/+1
| | | | | | 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
* Add exception lists to OnUserMessage and OnUserNotice, to be used for ↵Gravatar brain2006-11-271-2/+2
| | | | | | 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
* Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList ↵Gravatar brain2006-11-261-2/+2
| | | | | | | | | &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
* fix for bug #175, change OnUserRegister to return int, and if greater than 0 ↵Gravatar peavey2006-11-211-1/+1
| | | | | | = 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
* Removed OnRawMode - this hasn't been called at all for awhile now, so it was ↵Gravatar special2006-10-311-1/+0
| | | | | | completely worthless. I even tested it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5604 e03df62e-2008-0410-955e-edbf42e46eb7
* Add 'dest' parameter to OnWhoisLine, contains the user being whois'ed (we ↵Gravatar brain2006-10-281-1/+1
| | | | | | 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
* Add support for OnWhoisLine, which allows modules to change or drop any line ↵Gravatar brain2006-10-281-1/+1
| | | | | | of whois before its sent to a user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 e03df62e-2008-0410-955e-edbf42e46eb7
* Now with binary versioning goodnessGravatar brain2006-10-011-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5366 e03df62e-2008-0410-955e-edbf42e46eb7
* Added OnPostJoin, which is (at the moment) almost exactly identical to ↵Gravatar special2006-10-011-0/+1
| | | | | | 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
* Whoops, patchGravatar brain2006-09-251-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
* Add const std::string &original_command to OnPreCommand and OnPostCommand, ↵Gravatar brain2006-09-171-2/+2
| | | | | | 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
* Finish off the fix for bug #136 (a biggie for such a simple thing)Gravatar brain2006-09-061-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-20/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Note: connect() cant time out for inspsockets in this commit. They'll sit in ↵Gravatar brain2006-08-281-30/+0
| | | | | | 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
* Add support for NAMESXGravatar brain2006-08-281-0/+1
| | | | | | | | 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
* Renamed the OnGlobalConnect callback to OnPostConnect, which is much more ↵Gravatar special2006-08-241-1/+1
| | | | | | appropriate git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5010 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-9/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.Gravatar brain2006-08-111-4/+4
| | | | | | | NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
* Move remaining functions:Gravatar brain2006-08-111-10/+0
| | | | | | | | | | | 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
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-3/+0
| | | | | | | | | 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
* Move all of the xline stuff into class XLineManager, make an instance of it ↵Gravatar brain2006-08-111-14/+14
| | | | | | | | | 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
* extern time_t TIME -> InspIRCd::Time()Gravatar brain2006-08-111-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
* ConfigReader and FileReader now take InspIRCd* to their constructorsGravatar brain2006-08-111-8/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4865 e03df62e-2008-0410-955e-edbf42e46eb7
* Committing this as a rollback point - does not compileGravatar brain2006-08-101-57/+48
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 e03df62e-2008-0410-955e-edbf42e46eb7
* Note: FOR THE MOMENT, this is BROKEN. It wont run right until im done.Gravatar brain2006-08-101-1/+1
| | | | | | | | 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
* Mass-tidyup of module global vars, theyre no longer global vars.Gravatar brain2006-08-101-20/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
* Move tons more stuff into class InspIRCd*, make signal handler functions ↵Gravatar brain2006-08-101-1/+1
| | | | | | static members git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4855 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.Gravatar brain2006-08-101-6/+0
| | | | | | | Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
* PublishFeature, FindFeature, FindModule, PriorityBefore, PriorityAfter -> ↵Gravatar brain2006-08-101-11/+11
| | | | | | InspIRCd:: git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4846 e03df62e-2008-0410-955e-edbf42e46eb7
* Removal of Server::Log -- not much ever used it anyway with the ability to ↵Gravatar brain2006-08-101-5/+0
| | | | | | use log(). log() macro still exists, and calls InspIRCd::Log() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4845 e03df62e-2008-0410-955e-edbf42e46eb7