]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treesocket1.cpp
Fix error message on OPTCOMMON mismatch
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treesocket1.cpp
index 4a1a27ba0e2422a7b798c2734d0ec11c5e182ca7..ea87c615fb9a989bd32f743269d662d06b8db6fc 100644 (file)
@@ -143,6 +143,8 @@ void TreeSocket::OnError(BufferedSocketError e)
 void TreeSocket::SendError(const std::string &errormessage)
 {
        WriteLine("ERROR :"+errormessage);
+       DoWrite();
+       LinkState = DYING;
        SetError(errormessage);
 }
 
@@ -233,5 +235,7 @@ void TreeSocket::OnDataReady()
                if (!getError().empty())
                        break;
        }
+       if (LinkState != CONNECTED && recvq.length() > 4096)
+               SendError("RecvQ overrun (line too long)");
        Utils->Creator->loopCall = false;
 }