From f4e0d31913649c3b0dc5e56f059838230a19c322 Mon Sep 17 00:00:00 2001 From: w00t Date: Fri, 4 Jan 2008 13:52:17 +0000 Subject: Back out previous patch disabling ADDLINE processing. The problem is in the new factory stuff. This makes it not close the link, and warn about the problem, but not actually fix it yet.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8627 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/treesocket2.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index f6c512964..926448ad7 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -525,12 +525,18 @@ bool TreeSocket::ChangeHost(const std::string &prefix, std::deque & bool TreeSocket::AddLine(const std::string &prefix, std::deque ¶ms) { if (params.size() < 6) + { + this->Instance->SNO->WriteToSnoMask('x',"%s sent me a malformed ADDLINE of type %s.",prefix.c_str(),params[0].c_str()); return true; + } XLineFactory* xlf = Instance->XLines->GetFactory(params[0]); if (!xlf) - return false; + { + this->Instance->SNO->WriteToSnoMask('x',"%s sent me an unknown ADDLINE type (%s).",prefix.c_str(),params[0].c_str()); + return true; + } XLine* xl = xlf->Generate(Instance->Time(), atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); xl->SetCreateTime(atoi(params[3].c_str())); @@ -1381,10 +1387,10 @@ bool TreeSocket::ProcessLine(std::string &line) } else if (command == "ADDLINE") { -// TreeServer* ServerSource = Utils->FindServer(prefix); -// if (ServerSource) -// Utils->SetRemoteBursting(ServerSource, false); -// return this->AddLine(prefix,params); + TreeServer* ServerSource = Utils->FindServer(prefix); + if (ServerSource) + Utils->SetRemoteBursting(ServerSource, false); + return this->AddLine(prefix,params); } else if (command == "DELLINE") { -- cgit v1.2.3