summaryrefslogtreecommitdiff
path: root/src/protocol.cpp
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-03 15:34:52 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-03 15:34:52 +0000
commitf553583f36254123792d01b90b5c168575d882cf (patch)
tree69781454dbab22edd166fd5620d31b65d90456c5 /src/protocol.cpp
parentb22091e8fa3e2eeb67a14f7ce56b8b91fb4b0059 (diff)
Fix bug #1109. Anopes now replies with proper PONGs to rfc compliant PINGs .
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2529 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol.cpp')
-rw-r--r--src/protocol.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 3b75b29f3..4f8603368 100644
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -160,9 +160,19 @@ void IRCDProto::SendQuit(BotInfo *bi, const char *fmt, ...)
va_end(args);
SendQuitInternal(bi, buf);
}
+
+/**
+ * Send a PONG reply to a received PING.
+ * servname should be left NULL to send a one param reply.
+ * @param servname Daemon or client that is responding to the PING.
+ * @param who Origin of the PING and destination of the PONG message.
+ **/
void IRCDProto::SendPong(const char *servname, const char *who)
{
- send_cmd(servname, "PONG %s", who);
+ if (!servname)
+ send_cmd(ircd->ts6 ? TS6SID : ServerName, "PONG %s", who);
+ else
+ send_cmd(ircd->ts6 ? TS6SID : ServerName, "PONG %s %s", servname, who);
}
void IRCDProto::SendInvite(BotInfo *bi, const char *chan, const char *nick)