2 * InspIRCd -- Internet Relay Chat Daemon
4 * Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
6 * This file is part of InspIRCd. InspIRCd is free software: you can
7 * redistribute it and/or modify it under the terms of the GNU General Public
8 * License as published by the Free Software Foundation, version 2.
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #include "socketengine.h"
27 #include "treeserver.h"
28 #include "treesocket.h"
30 /* $ModDep: m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/treesocket.h */
32 bool TreeSocket::LocalPing(const std::string &prefix, parameterlist ¶ms)
34 if (params.size() < 1)
36 if (params.size() == 1)
38 std::string stufftobounce = params[0];
39 this->WriteLine(":"+ServerInstance->Config->GetSID()+" PONG "+stufftobounce);
44 std::string forwardto = params[1];
45 if (forwardto == ServerInstance->Config->ServerName || forwardto == ServerInstance->Config->GetSID())
47 // this is a ping for us, send back PONG to the requesting server
48 params[1] = params[0];
49 params[0] = forwardto;
50 Utils->DoOneToOne(ServerInstance->Config->GetSID(),"PONG",params,params[1]);
54 // not for us, pass it on :)
55 Utils->DoOneToOne(prefix,"PING",params,forwardto);