diff options
author | Adam <Adam@anope.org> | 2017-06-22 17:59:58 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2017-06-22 17:59:58 -0400 |
commit | 2b6c5833bb6cd6b1e21bb66a0ebbc6a6e3e86767 (patch) | |
tree | 4f3b8b2dd11e2d80c62db732d0e803978ed440c8 /modules | |
parent | 46acfd0490bee851ef82897fa6a7686f64b2544e (diff) |
Ping uplink occasionally and disconnect if no pong is received
Diffstat (limited to 'modules')
-rw-r--r-- | modules/protocol/bahamut.cpp | 2 | ||||
-rw-r--r-- | modules/protocol/inspircd20.cpp | 2 | ||||
-rw-r--r-- | modules/protocol/plexus.cpp | 2 | ||||
-rw-r--r-- | modules/protocol/rfc1459.cpp | 6 |
4 files changed, 12 insertions, 0 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index 045045d03..fa41ebc39 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -488,6 +488,7 @@ class ProtoBahamut : public Module rfc1459::Notice message_notice; rfc1459::Part message_part; rfc1459::Ping message_ping; + rfc1459::Pong message_pong; rfc1459::Privmsg message_privmsg; rfc1459::Quit message_quit; rfc1459::SQuit message_squit; @@ -558,6 +559,7 @@ class ProtoBahamut : public Module , message_notice(this) , message_part(this) , message_ping(this) + , message_pong(this) , message_privmsg(this) , message_quit(this) , message_squit(this) diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 14040d98e..96ada4666 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -1271,6 +1271,7 @@ class ProtoInspIRCd20 : public Module rfc1459::Notice message_notice; rfc1459::Part message_part; rfc1459::Ping message_ping; + rfc1459::Pong message_pong; rfc1459::Privmsg message_privmsg; rfc1459::Quit message_quit; rfc1459::Stats message_stats; @@ -1370,6 +1371,7 @@ class ProtoInspIRCd20 : public Module , message_notice(this) , message_part(this) , message_ping(this) + , message_pong(this) , message_privmsg(this) , message_quit(this) , message_stats(this) diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 98654119f..5743ef50e 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -280,6 +280,7 @@ class ProtoPlexus : public Module rfc1459::Notice message_notice; rfc1459::Part message_part; rfc1459::Ping message_ping; + rfc1459::Pong message_pong; rfc1459::Privmsg message_privmsg; rfc1459::Quit message_quit; rfc1459::SQuit message_squit; @@ -359,6 +360,7 @@ class ProtoPlexus : public Module , message_notice(this) , message_part(this) , message_ping(this) + , message_pong(this) , message_privmsg(this) , message_quit(this) , message_squit(this) diff --git a/modules/protocol/rfc1459.cpp b/modules/protocol/rfc1459.cpp index eee93571a..77f3dedc3 100644 --- a/modules/protocol/rfc1459.cpp +++ b/modules/protocol/rfc1459.cpp @@ -444,6 +444,12 @@ void Ping::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) IRCD->Send<messages::Pong>(params.size() > 1 ? params[1] : Me->GetSID(), params[0]); } +void Pong::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) +{ + // Here to get rid of the "unknown command from server" + // Read timeout is reset on any uplink recv() +} + void Privmsg::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) { const Anope::string &receiver = params[0]; |