diff options
| author | 2013-04-13 17:41:22 +0200 | |
|---|---|---|
| committer | 2013-04-13 17:41:22 +0200 | |
| commit | 2f17664ea13fe8f0983080d69886a46b58e5e266 (patch) | |
| tree | 5b563e7d6b2b796aefbb028ed6af7c2df1f28391 /src/modules/m_spanningtree/ping.cpp | |
| parent | m_spanningtree Ignore hopcount in incoming SERVER command, always send 0 at b... (diff) | |
m_spanningtree Remove redundant first parameter of PING/PONG
Diffstat (limited to 'src/modules/m_spanningtree/ping.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/ping.cpp | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/modules/m_spanningtree/ping.cpp b/src/modules/m_spanningtree/ping.cpp index 951673964..badcc3401 100644 --- a/src/modules/m_spanningtree/ping.cpp +++ b/src/modules/m_spanningtree/ping.cpp @@ -28,28 +28,24 @@ bool TreeSocket::LocalPing(const std::string &prefix, parameterlist ¶ms) { if (params.size() < 1) return true; - if (params.size() == 1) + + const std::string& forwardto = params[0]; + if (forwardto == ServerInstance->Config->GetSID()) { - this->WriteLine(":"+ServerInstance->Config->GetSID()+" PONG "+params[0]); - return true; + // PING for us, reply with a PONG + std::string reply = ":" + forwardto + " PONG " + prefix; + if (params.size() >= 2) + // If there is a second parameter, append it + reply.append(" :").append(params[1]); + + this->WriteLine(reply); } else { - const std::string& forwardto = params[1]; - if (forwardto == ServerInstance->Config->ServerName || forwardto == ServerInstance->Config->GetSID()) - { - // this is a ping for us, send back PONG to the requesting server - params[1] = params[0]; - params[0] = forwardto; - Utils->DoOneToOne(ServerInstance->Config->GetSID(),"PONG",params,params[1]); - } - else - { - // not for us, pass it on :) - Utils->DoOneToOne(prefix,"PING",params,forwardto); - } - return true; + // not for us, pass it on :) + Utils->DoOneToOne(prefix,"PING",params,forwardto); } + return true; } |
