summaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use ServiceProvider for inter-module dependenciesGravatar danieldg2009-11-161-130/+69
| | | | | | | | | | | This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
* Add Inspircd::AddServicesGravatar danieldg2009-11-151-1/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow static build of inspircd without module supportGravatar danieldg2009-11-111-304/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12083 e03df62e-2008-0410-955e-edbf42e46eb7
* Force heap allocation of refcountbase, create usecountbase for ↵Gravatar danieldg2009-10-251-3/+1
| | | | | | non-allocation reference counting git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7
* Kill ListenSocketBase, use OnAcceptConnection for all new connectionsGravatar danieldg2009-10-211-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
* Use ConfigTagList as a faster access method for access to configurationGravatar danieldg2009-10-211-9/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11948 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module API to use LocalUser* where correctGravatar danieldg2009-10-211-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix channel deletion on user quit and automatic removal of mode "z"Gravatar danieldg2009-10-201-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11934 e03df62e-2008-0410-955e-edbf42e46eb7
* Move DumpText into User; kill unused WriteWallOps and DecreasePenalty functionsGravatar danieldg2009-10-201-48/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11931 e03df62e-2008-0410-955e-edbf42e46eb7
* Use custom allocater to decide if refcountbase was allocated on the heap and ↵Gravatar danieldg2009-10-201-2/+2
| | | | | | should be deleted when refcount reaches zero git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11928 e03df62e-2008-0410-955e-edbf42e46eb7
* Maintain refcount of Module objects to complain about leaked pointersGravatar danieldg2009-10-191-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11925 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix implementation of reference to const, use reference counting for ↵Gravatar danieldg2009-10-191-1/+1
| | | | | | ExtensibleItem git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11924 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up some log messagesGravatar danieldg2009-10-191-2/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7
* Prevent path names from being specified in modules, and move moduledir to a ↵Gravatar danieldg2009-10-191-0/+3
| | | | | | <path> tag git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11914 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-2/+2
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove dummy API_VERSION from Version constructorGravatar danieldg2009-10-171-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7
* Rewrite ConfigReader againGravatar danieldg2009-10-171-22/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module unmapping with culled Module objectsGravatar danieldg2009-10-141-53/+127
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
* Move static map of extensions into ServerInstance, add const-correctnessGravatar danieldg2009-10-141-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove Command and ModeHandler objects in their destructors; fixes possible ↵Gravatar danieldg2009-10-131-25/+3
| | | | | | pointer leak if a module was not careful when triggering exceptions in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
* DLLFactory--Gravatar danieldg2009-10-121-42/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11861 e03df62e-2008-0410-955e-edbf42e46eb7
* Make OnChannelRestrictionApply take a User* instead of a Membership* ↵Gravatar danieldg2009-10-121-1/+1
| | | | | | [jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11858 e03df62e-2008-0410-955e-edbf42e46eb7
* m_exemptchanops by jackmcbarn - channel mode +X to allow per-channel settingGravatar danieldg2009-10-121-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11855 e03df62e-2008-0410-955e-edbf42e46eb7
* Update Event and Request APIsGravatar danieldg2009-10-081-60/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
* Correctly ignore dummy argument to VersionGravatar danieldg2009-10-061-3/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11806 e03df62e-2008-0410-955e-edbf42e46eb7
* Take advantage of link errors to check API_VERSION at module load timeGravatar danieldg2009-10-061-16/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11805 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnBuildNeighborList hook, replaces all uses of OnHostCycleGravatar danieldg2009-10-051-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11802 e03df62e-2008-0410-955e-edbf42e46eb7
* Run DelMode and DelModeWatcher in RemoveModuleGravatar danieldg2009-10-051-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-24/+30
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix compilation of SQL modules, use GlobalCulls to clean up deleted modulesGravatar danieldg2009-09-301-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11780 e03df62e-2008-0410-955e-edbf42e46eb7
* Flexible SendQGravatar danieldg2009-09-261-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-8/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Describe module purpose in /MODULES outputGravatar danieldg2009-09-221-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-6/+6
| | | | | | | | | | | | | | Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove Extensible items from user, channel, and Membership on module unloadGravatar danieldg2009-09-151-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11730 e03df62e-2008-0410-955e-edbf42e46eb7
* Change match direction of extbans to allow stackingGravatar danieldg2009-09-131-3/+3
| | | | | | | | | | This allows you create stacked bans like: +b m:r:*bot* to mute anyone with bot in their gecos +e S:j:+#staff to allow voices in #staff to use color It also deprecates extban M, which can be implemented using m:R: git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up Command constructorGravatar danieldg2009-09-131-35/+35
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
* Add SerializeFormat for easier metadata formattingGravatar danieldg2009-09-131-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove redundant ServerInstance* fieldsGravatar danieldg2009-09-131-3/+3
| | | | | | | | It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace OnAccessCheck with OnPreMode to remove a number of redundant checksGravatar danieldg2009-09-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
* 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