summaryrefslogtreecommitdiffstats
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Module API changes to use Membership* where sensibleGravatar danieldg2009-09-131-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
* Membership* changesGravatar danieldg2009-09-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
* Change Extensible to use strongly typed entriesGravatar danieldg2009-09-131-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
* Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for ↵Gravatar w00t2009-09-051-1/+1
| | | | | | both local and remote changes, for API consistency. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
* Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both ↵Gravatar w00t2009-09-051-1/+1
| | | | | | remote and local events. Will be needed for some xline trickery. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11677 e03df62e-2008-0410-955e-edbf42e46eb7
* Change cmd_*.so to use the Module object APIGravatar danieldg2009-09-031-0/+26
| | | | | | | | | | | | | | Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
* Include VERSION/REVISION information in module version tag, so that we do no ↵Gravatar danieldg2009-09-021-2/+2
| | | | | | longer rely on $Id$ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11666 e03df62e-2008-0410-955e-edbf42e46eb7
* Remote user messaging fixesGravatar danieldg2009-09-021-4/+18
| | | | | | | | Add format string output to DumpText Fix PI->PushToClient prefixing issue Fix ENCAP routing to use SID rather than server name git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11658 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnChangeIdent and FIDENT supportGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
* Make CHECK work remotely with optional second parameterGravatar danieldg2009-09-021-7/+25
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11651 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnSendWhoLine hook, and use it in the oper hiding modulesGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11650 e03df62e-2008-0410-955e-edbf42e46eb7
* ModResult conversion: Change return type of all module functionsGravatar danieldg2009-09-021-32/+32
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove "servermode" parameter, replace with IS_FAKE() which is more reliableGravatar danieldg2009-09-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
* Add Module* creator to Command and ModeHandlerGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
* Record module source file in the Module objectGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11630 e03df62e-2008-0410-955e-edbf42e46eb7
* Change OnHookUserIO to OnHookIO, making it usable for more than User* and ↵Gravatar danieldg2009-09-021-1/+1
| | | | | | less picky on string matching git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7
* MetaData reworkGravatar danieldg2009-09-021-5/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7
* Add "created" parameter to OnUserJoin, to avoid explicit checks for +PGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11597 e03df62e-2008-0410-955e-edbf42e46eb7
* Cast rework: use C++ style static_cast<> instead of C-style castsGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace std::deque with std::vector in spanningtree and related modulesGravatar danieldg2009-09-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more text<->binary IP conversions, making code more IPv4/IPv6 independentGravatar danieldg2009-09-011-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11578 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for config readerGravatar danieldg2009-08-121-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module prioritization when a module asks to be after spanningtree, which ↵Gravatar danieldg2009-08-111-5/+22
| | | | | | asks to be last git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11502 e03df62e-2008-0410-955e-edbf42e46eb7
* Make rehash generate a new ServerInstance->Config objectGravatar danieldg2009-07-011-43/+7
| | | | | | | This makes it possible to cancel a pending rehash, and fixes possible threading issues with rehash and other events. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the ServerConfig::DirValid check that breaks symlinksGravatar danieldg2009-05-251-7/+0
| | | | | | | | This was included as a security check to prevent symlink attacks, but this is no longer useful; anyone who can exploit the attack now can just modify the ircd itself. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11390 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRehash changes: split to multiple hooks to clarify use and prevent ↵Gravatar danieldg2009-05-241-1/+3
| | | | | | explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove FindDescriptor wrapper for GetRef, it doesn't do anything useful and ↵Gravatar w00t2009-05-061-5/+0
| | | | | | in fact is a bit harmful in some ways as we've seen.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11364 e03df62e-2008-0410-955e-edbf42e46eb7
* rollback r11326, we're going to make vc9 the officially supported windows ↵Gravatar peavey2009-04-231-1/+1
| | | | | | build methods since the few of us doing win dev can't keep up maintaining the others. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7
* Heres the beef so farGravatar brain2009-04-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | 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
* Include explicit parameter list in ProtocolInterface::SendModeGravatar danieldg2009-03-071-2/+2
| | | | | | | Also leave the strings split into deque, there's no need to pack it into a string just to unpack it during the translate. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11181 e03df62e-2008-0410-955e-edbf42e46eb7
* Construct explicit parameter type list for MODE parametersGravatar danieldg2009-03-061-2/+2
| | | | | | | | | | | | 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
* Remove redundant PriorityState, enum Priority does the exact same thing.Gravatar w00t2009-02-161-7/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11121 e03df62e-2008-0410-955e-edbf42e46eb7
* RARRR, 11111 is MEIN! :3Gravatar brain2009-02-151-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11111 e03df62e-2008-0410-955e-edbf42e46eb7
* Make glob patterns in module load work correctly. Fixes bug #724 reported by ↵Gravatar peavey2009-02-141-1/+1
| | | | | | SnoFox. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11107 e03df62e-2008-0410-955e-edbf42e46eb7
* Nuke trailing spacesGravatar peavey2009-02-141-12/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove an unused event.Gravatar w00t2009-01-231-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10989 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Move stuff to use ASCII map where required.Gravatar w00t2008-12-071-1/+1
| | | | | | Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward-port: Fix an uninitialised variable in ConfigReader::GetError()Gravatar w00t2008-11-021-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10790 e03df62e-2008-0410-955e-edbf42e46eb7
* Use TargetTypeFlags instead of int in a few places.Gravatar w00t2008-10-251-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10711 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #601Gravatar brain2008-10-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10614 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a rather nasty race condition revealed by my reading through the ↵Gravatar brain2008-09-201-1/+1
| | | | | | | | | | comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of: 'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
* mysql's windows build is utter hell to get working the way we wanted. The ↵Gravatar brain2008-09-051-1/+1
| | | | | | packaged libs provided by mysql AB are built against statically linked libraries and for vs2003. These dont work with inspircd using dynamically linked runtime and they dont work on vs2005 or 2008! Have had to roll my own MySQL on windows which was annoying as it wouldnt compile and was missing libraries and include files, we will have to bundle our own mysql dll built for the right visual studio and right runtimes. All the headers etc fixed to build in windows. Not tested with a real db connection yet, just compiles. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10394 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module versions to use a string instead of fixed digits, and use ↵Gravatar w00t2008-08-251-4/+4
| | | | | | 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
* Add OnSendSnotice(char &, std::string &, const std::string &) to ↵Gravatar w00t2008-08-221-2/+4
| | | | | | modify/block/notify about snotices being sent to users. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10221 e03df62e-2008-0410-955e-edbf42e46eb7
* match() is no longer a function+no header, now a static method of InspIRCd ↵Gravatar w00t2008-08-211-7/+1
| | | | | | class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
* Okay, and there's the working version of it. Extbans that don't work on ↵Gravatar w00t2008-07-121-0/+1
| | | | | | users have OnCheckStringExtBan. ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9988 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove individual read buffers inside of BufferedSocket, use the shared ↵Gravatar w00t2008-07-121-0/+1
| | | | | | netbuffer instead, like users. This means a 65kb saving per BufferedSocket. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9960 e03df62e-2008-0410-955e-edbf42e46eb7