mirror of
https://github.com/anope/anope.git
synced 2026-06-26 08:16:39 +02:00
Handle/send 1205-style PING/PONG messages.
This commit is contained in:
@@ -102,6 +102,15 @@ class InspIRCd3Proto : public IRCDProto
|
||||
UplinkSocket::Message(bi) << "PRIVMSG $" << dest->GetName() << " :" << msg;
|
||||
}
|
||||
|
||||
void SendPong(const Anope::string &servname, const Anope::string &who) anope_override
|
||||
{
|
||||
Server *serv = servname.empty() ? NULL : Server::Find(servname);
|
||||
if (!serv)
|
||||
serv = Me;
|
||||
|
||||
UplinkSocket::Message(serv) << "PONG " << who;
|
||||
}
|
||||
|
||||
void SendAkillDel(const XLine *x) anope_override
|
||||
{
|
||||
{
|
||||
@@ -1634,6 +1643,16 @@ struct IRCDMessageOperType : IRCDMessage
|
||||
}
|
||||
};
|
||||
|
||||
struct IRCDMessagePing : IRCDMessage
|
||||
{
|
||||
IRCDMessagePing(Module *creator) : IRCDMessage(creator, "PING", 1) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
|
||||
|
||||
void Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override
|
||||
{
|
||||
if (params[0] == Me->GetSID())
|
||||
IRCD->SendPong(params[0], source.GetServer()->GetSID());
|
||||
}
|
||||
};
|
||||
|
||||
struct IRCDMessageRSQuit : IRCDMessage
|
||||
{
|
||||
@@ -1775,7 +1794,6 @@ class ProtoInspIRCd3 : public Module
|
||||
Message::MOTD message_motd;
|
||||
Message::Notice message_notice;
|
||||
Message::Part message_part;
|
||||
Message::Ping message_ping;
|
||||
Message::Privmsg message_privmsg;
|
||||
Message::Quit message_quit;
|
||||
Message::Stats message_stats;
|
||||
@@ -1798,6 +1816,7 @@ class ProtoInspIRCd3 : public Module
|
||||
IRCDMessageMode message_mode;
|
||||
IRCDMessageNick message_nick;
|
||||
IRCDMessageOperType message_opertype;
|
||||
IRCDMessagePing message_ping;
|
||||
IRCDMessageRSQuit message_rsquit;
|
||||
IRCDMessageServer message_server;
|
||||
IRCDMessageSQuit message_squit;
|
||||
@@ -1815,12 +1834,12 @@ class ProtoInspIRCd3 : public Module
|
||||
ProtoInspIRCd3(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL | VENDOR),
|
||||
ircd_proto(this),
|
||||
message_error(this), message_invite(this), message_kill(this),
|
||||
message_motd(this), message_notice(this), message_part(this), message_ping(this), message_privmsg(this),
|
||||
message_motd(this), message_notice(this), message_part(this), message_privmsg(this),
|
||||
message_quit(this), message_stats(this), message_away(this), message_capab(this),
|
||||
message_encap(this), message_fhost(this), message_fident(this), message_kick(this),
|
||||
message_metadata(this, use_server_side_topiclock, use_server_side_mlock), message_save(this),
|
||||
message_endburst(this), message_fjoin(this), message_fmode(this), message_ftopic(this), message_idle(this), message_ijoin(this),
|
||||
message_mode(this), message_nick(this), message_opertype(this), message_rsquit(this), message_server(this),
|
||||
message_mode(this), message_nick(this), message_opertype(this), message_ping(this), message_rsquit(this), message_server(this),
|
||||
message_squit(this), message_time(this), message_uid(this)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user