aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket1.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename the spanningtree module header to server.Gravatar Peter Powell2017-12-031-1/+1
| | | | | In the future we will have server linking modules that are not the spanningtree module.
* Fix a ton of -Wsign-conversion warnings.Gravatar Peter Powell2017-11-171-2/+2
|
* Check for errors after calling IOHookProvider::OnAccept()Gravatar Attila Molnar2016-08-241-2/+10
|
* m_spanningtree Change type of Link::Name to std::stringGravatar Attila Molnar2016-08-221-1/+1
| | | | Switch to stdalgo::string::equalsci()
* Keep multiple IOHookProvider references in class ListenSocketGravatar Attila Molnar2016-08-081-2/+7
| | | | This adds the <bind:hook> config option which works together with <bind:ssl>
* m_spanningtree Clean up commentsGravatar Attila Molnar2015-05-131-9/+7
|
* m_spanningtree Get rid of some boilerplateGravatar Attila Molnar2015-01-201-5/+0
| | | | Make methods const while at it
* Reduce std::string::substr() usageGravatar Attila Molnar2015-01-101-1/+1
| | | | substr() returns a new string while erase() and assign() modify the existing one
* m_spanningtree Throw a ProtocolException if a server SQUITs a server it ↵Gravatar Attila Molnar2014-07-281-0/+2
| | | | shouldn't
* m_spanningtree Squit dead servers immediately when they die, not at the next ↵Gravatar Attila Molnar2014-07-281-0/+1
| | | | timer tick
* m_spanningtree Add the TreeServer that split to the cull list and destroy ↵Gravatar Attila Molnar2014-07-281-2/+1
| | | | everything under it recursively at cull time instead of at squit processing time
* m_spanningtree Move squit logic into TreeServer from TreeSocketGravatar Attila Molnar2014-07-281-85/+10
|
* m_spanningtree Remove now needless TreeSocket::ConnectionFailureShownGravatar Attila Molnar2014-07-281-2/+2
|
* m_spanningtree Keep track of whether we've sent our burst, to be used for ↵Gravatar Attila Molnar2014-07-271-2/+2
| | | | translation
* m_spanningtree Throw an exception on protocol violations instead of ↵Gravatar Attila Molnar2014-04-161-1/+12
| | | | | | returning CMD_INVALID Catch CoreExceptions, log and close the link in OnDataReady()
* Merge insp20Gravatar Attila Molnar2014-04-071-2/+3
|\
| * m_spanningtree Do pointer comparison before deleting one of the pointers in ↵Gravatar Attila Molnar2014-03-021-1/+2
| | | | | | | | | | | | TreeSocket::Squit() While the previous code worked fine in practice, it was incorrect in theory
| * m_spanningtree Don't send snotices to servers about remote servers splittingGravatar Attila Molnar2014-03-021-1/+1
| | | | | | | | The snotice is sent to opers when the SQUIT is processed by their server
| * Use server ids when propagating squitsGravatar Adam2013-07-261-2/+2
| |
* | Split IOHook into IOHook and IOHookProviderGravatar Attila Molnar2014-01-221-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
* | Improve UserManager::QuitUser() and related codeGravatar Attila Molnar2014-01-051-0/+5
| | | | | | | | | | | | - Make operreason optional; NULL means same as quitreason - Remove User::quietquit, it is now handled internally in spanningtree - Send snotice about quitting remote users from spanningtree
* | m_spanningtree Minor fixesGravatar attilamolnar2013-09-101-1/+7
| | | | | | | | | | - Handle the case when servers SQUIT themselves - Fix extra space in channel messages
* | m_spanningtree Introduce command buildersGravatar attilamolnar2013-08-271-3/+3
| |
* | m_spanningtree Allow server-to-server command handlers to specify whether ↵Gravatar attilamolnar2013-08-251-2/+2
| | | | | | | | | | | | they accept servers, remote users or both as the command source To make life easier for handlers accepting servers only as source, pass them a TreeServer* so they don't have to call FindServer()
* | m_spanningtree Add TreeServer::GetChildren() that replaces ChildCount() and ↵Gravatar attilamolnar2013-08-221-2/+3
| | | | | | | | GetChild()
* | m_spanningtree Change TreeServer::GetSocket() to always return the socket ↵Gravatar attilamolnar2013-08-221-3/+3
| | | | | | | | | | | | | | | | that can be used to talk to the server The only exception is the tree root (us) which has no associated socket (NULL) Add TreeServer::IsRoot() and IsLocal() helpers
* | m_spanningtree Move all server-to-server command handlers into handler classesGravatar attilamolnar2013-08-181-10/+22
| | | | | | | | These commands are not registered in or called by the core. When looking for the handler of a command a new command table is searched first which contains all server-to-server commands. If a handler cannot be found in there, the core command table is consulted.
* | m_spanningtree Remove SpanningTreeUtilities* fields and parametersGravatar attilamolnar2013-08-171-4/+5
| |
* | Change the syntax of FOREACH macros to be less dumb.Gravatar Adam2013-08-041-1/+1
| |
* | Change modules to use the MODNAME constant when logging.Gravatar Peter Powell2013-08-041-2/+2
| | | | | | | | | | | | | | | | The majority of modules were logging with their module name as the log type. There was a few places which were logging to a non-name type but, with the exception of CONFIG, those messages are so uncommon that it doesn't make sense to use a seperate type for them.
* | m_spanningtree Change the type of TreeServer::ServerName to std::stringGravatar attilamolnar2013-07-241-3/+1
| |
* | m_spanningtree Cleanup TreeServer and TreeSocket construction/destructionGravatar attilamolnar2013-07-241-16/+5
| |
* | Create IOHook interface (extracted from Module)Gravatar attilamolnar2013-06-071-1/+2
| |
* | Fix spacing in calls to LogManager::Log.Gravatar Peter Powell2013-05-191-2/+2
| |
* | m_spanningtree Remove unneeded #includesGravatar attilamolnar2013-04-121-4/+0
| |
* | m_spanningtree Change both prefix and first parameter of SQUIT to be a SIDGravatar attilamolnar2013-04-121-2/+2
| |
* | Tidy up source files:Gravatar Peter Powell2013-04-121-1/+1
| | | | | | | | | | | | - Use #pragma once instead of include guards. - Move header files in src/modules to include/modules. - Fixed various spacing issues.
* | Add LOG_ prefix to the log level enum values.Gravatar Peter Powell2013-04-121-2/+2
|/
* Fix more undefined behavior caused by referencing the returned buffer by ↵Gravatar attilamolnar2012-09-301-1/+2
| | | | | | std::string::c_str() when the object is temporary See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
* m_spanningtree Add missing aposthrope to connection failed server noticeGravatar attilamolnar2012-08-101-1/+1
|
* m_spanningtree: Resolve issue #250Gravatar ChrisTX2012-08-101-0/+2
|
* m_spanningtree Add function to easily determine whether a server was ↵Gravatar attilamolnar2012-07-081-1/+6
| | | | introduced to the network, use it to determine when to send SQUIT
* m_spanningtree Burst to a new server before introducing it to the rest of ↵Gravatar attilamolnar2012-06-121-4/+8
| | | | | | the network Fixes issue #103 reported by @nenolod
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+17
|
* Add HMAC implementation to HashProviderGravatar danieldg2010-02-211-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12508 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up treesocket naming confusion by adding a link block reference during ↵Gravatar danieldg2010-02-131-43/+36
| | | | | | negotiation git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12452 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix double-invocation of Squit that can cause a crash on delinkGravatar danieldg2010-02-131-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12451 e03df62e-2008-0410-955e-edbf42e46eb7
* Restart server_hash iteration after quitting dead and pinged out serversGravatar danieldg2010-02-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12435 e03df62e-2008-0410-955e-edbf42e46eb7
* Add DYING link state, push error messages on link, and only limit recvq on ↵Gravatar danieldg2010-02-041-1/+3
| | | | | | unauthenticated servers git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12370 e03df62e-2008-0410-955e-edbf42e46eb7
* Split servers if they try to send infinite garbage without a newlineGravatar danieldg2010-02-031-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12369 e03df62e-2008-0410-955e-edbf42e46eb7