diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-04 13:52:17 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-04 13:52:17 +0000 |
commit | f4e0d31913649c3b0dc5e56f059838230a19c322 (patch) | |
tree | a262f5243780539391bed8f0885e6da847cfa808 | |
parent | 9ddf78c28be7d497eabc6a2d231957c29b317d47 (diff) |
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
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
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<std::string> & bool TreeSocket::AddLine(const std::string &prefix, std::deque<std::string> ¶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") { |