diff options
| author | 2007-06-24 08:07:59 +0000 | |
|---|---|---|
| committer | 2007-06-24 08:07:59 +0000 | |
| commit | 5c448873776d720e2042e07932e77bea8f92c40d (patch) | |
| tree | 2e9965eda6b460d0fa5c946d1bfaf3697f006b81 /src/modules/m_spanningtree/treesocket1.cpp | |
| parent | No no no, the fix to free module factories in loadmodule on error causes a bu... (diff) | |
| download | inspircd++-5c448873776d720e2042e07932e77bea8f92c40d.tar.gz inspircd++-5c448873776d720e2042e07932e77bea8f92c40d.tar.bz2 inspircd++-5c448873776d720e2042e07932e77bea8f92c40d.zip | |
Fix for atheme support (and others) which makes sure CAPAB is always sent before BURST
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7404 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/treesocket1.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 0739e8152..a23d55555 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -73,6 +73,7 @@ TreeSocket::TreeSocket(SpanningTreeUtilities* Util, InspIRCd* SI, int newfd, cha this->LinkState = WAIT_AUTH_1; theirchallenge.clear(); ourchallenge.clear(); + sentcapab = false; /* If we have a transport module hooked to the parent, hook the same module to this * socket, and set a timer waiting for handshake before we send CAPAB etc. */ @@ -186,6 +187,7 @@ bool TreeSocket::OnConnected() this->Instance->SNO->WriteToSnoMask('l',"Connection to \2"+myhost+"\2["+(x->HiddenFromStats ? "<hidden>" : this->GetIP())+"] using transport \2"+x->Hook+"\2"); } this->OutboundPass = x->SendPass; + sentcapab = false; /* found who we're supposed to be connecting to, send the neccessary gubbins. */ if (this->GetHook()) @@ -328,6 +330,10 @@ std::string TreeSocket::RandString(unsigned int length) void TreeSocket::SendCapabilities() { + if (sentcapab) + return; + + sentcapab = true; irc::commasepstream modulelist(MyCapabilities()); this->WriteLine("CAPAB START"); |
