summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use ServiceProvider for inter-module dependenciesGravatar danieldg2009-11-161-18/+2
| | | | | | | | | | | 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/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix typoGravatar danieldg2009-11-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12107 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix incorrect opaque object use in ProtoSendMetaData (this is a reason to ↵Gravatar danieldg2009-11-121-1/+1
| | | | | | avoid opaque data) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12106 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove Extensible parent from EventHandlerGravatar danieldg2009-11-061-0/+8
| | | | | | This also fixes SSL certificate support when m_sslinfo is not loaded git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12048 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes found by removing User inheritance from StreamSocketGravatar danieldg2009-10-251-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User::uuid and User::server constGravatar danieldg2009-10-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
* Kill ListenSocketBase, use OnAcceptConnection for all new connectionsGravatar danieldg2009-10-211-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module API to use LocalUser* where correctGravatar danieldg2009-10-211-8/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
* some WriteGlobalSno changesGravatar danieldg2009-10-211-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11939 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-1/+1
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module unmapping with culled Module objectsGravatar danieldg2009-10-141-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
* Move 2 static extensibles from user class to inspircd class for global ↵Gravatar peavey2009-10-111-1/+1
| | | | | | access in an attempt to further fix windows build. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11838 e03df62e-2008-0410-955e-edbf42e46eb7
* Move autoconnect next-server to TreeSocket::cull, and drop autoconnect ↵Gravatar danieldg2009-10-091-33/+26
| | | | | | reference once a connection is complete git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11811 e03df62e-2008-0410-955e-edbf42e46eb7
* Update Event and Request APIsGravatar danieldg2009-10-081-15/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of a bunch of memory-wasting C-style stringsGravatar danieldg2009-10-031-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix timeoutlist calling ConnectServer when not neededGravatar danieldg2009-10-011-3/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11792 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routingGravatar danieldg2009-10-011-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow multiple autoconnects in a single <autoconnect> tag, fix infinite failoverGravatar danieldg2009-09-301-27/+42
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11786 e03df62e-2008-0410-955e-edbf42e46eb7
* Add explicit reference-counting base classGravatar danieldg2009-09-301-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
* Move destruction logic for User and Spanningtree into cull()Gravatar danieldg2009-09-301-0/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11783 e03df62e-2008-0410-955e-edbf42e46eb7
* Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to ↵Gravatar danieldg2009-09-261-1/+1
| | | | | | clarify their use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up svn:keywordsGravatar danieldg2009-09-261-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11764 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-7/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-3/+2
| | | | | | | | | | | | | | 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
* Add <autoconnect> blocks [jackmcbarn]Gravatar danieldg2009-09-171-17/+16
| | | | | | Replaces <link:failover> and <link:autoconnect> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11741 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up Command constructorGravatar danieldg2009-09-131-2/+2
| | | | 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-11/+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
* Module API changes to use Membership* where sensibleGravatar danieldg2009-09-131-13/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
* Change Extensible to use strongly typed entriesGravatar danieldg2009-09-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
* Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both ↵Gravatar w00t2009-09-051-2/+6
| | | | | | 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-2/+0
| | | | | | | | | | | | | | 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
* Add away timestamp to the AWAY message sent server-serverGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11664 e03df62e-2008-0410-955e-edbf42e46eb7
* Send out save SAVE on forced-UUID nick change of a remote userGravatar danieldg2009-09-021-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11661 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnChangeIdent and FIDENT supportGravatar danieldg2009-09-021-4/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove now-unused quitmsg/operquitmsg fields from UserGravatar danieldg2009-09-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11637 e03df62e-2008-0410-955e-edbf42e46eb7
* ModResult conversion: Change return type of all module functionsGravatar danieldg2009-09-021-12/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove calls to strdup() in core, it is not better than std::stringGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11623 e03df62e-2008-0410-955e-edbf42e46eb7
* MetaData reworkGravatar danieldg2009-09-021-18/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unneeded ProtocolInterface::IntroduceGravatar danieldg2009-09-021-5/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11600 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unused I_ProtoSendMetaData, I_ProtoSendMode fields of ImplementationGravatar danieldg2009-09-021-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11599 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
* Replace std::deque with std::vector in spanningtree and related modulesGravatar danieldg2009-09-021-26/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
* Change allocation of commands/modesGravatar danieldg2009-09-021-0/+3
| | | | | | | | | | API change: Commands passed to AddCommand are no longer deleted automatically This removes lots of needless heap allocation and fixes a few memory leaks by allocating commands and modes as part of the Module rather than creating them separately in the module constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unneeded #ifdef IPV6 linesGravatar danieldg2009-09-011-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11582 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix build of m_spanningtree and display of dependency regenerationGravatar danieldg2009-09-011-11/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11557 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRehash changes: split to multiple hooks to clarify use and prevent ↵Gravatar danieldg2009-05-241-4/+6
| | | | | | explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace loopCall detection in OnUserKick with a check for the m_spanningtree ↵Gravatar danieldg2009-05-131-12/+6
| | | | | | fake user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11377 e03df62e-2008-0410-955e-edbf42e46eb7