summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-04 13:52:17 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-01-04 13:52:17 +0000
commitf4e0d31913649c3b0dc5e56f059838230a19c322 (patch)
treea262f5243780539391bed8f0885e6da847cfa808
parent9ddf78c28be7d497eabc6a2d231957c29b317d47 (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.cpp16
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> &params)
{
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")
{