X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Ftreesocket2.cpp;h=13ede628afb83ffc9163b564d0b4305f600c5407;hb=a9e8e1f03ace24e9dcb50299f8e66c5fd6b42850;hp=45f8a380fe1876e67a050f44a4910a884b58e359;hpb=965c81baee0fb6f46aa788f45742d558f50c8b15;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index 45f8a380f..13ede628a 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -155,19 +155,19 @@ void TreeSocket::ProcessLine(std::string &line) } else if (command == "BURST") { - if (params.size()) + if (!params.empty()) { time_t them = ConvToNum(params[0]); time_t delta = them - ServerInstance->Time(); - if ((delta < -600) || (delta > 600)) + if ((delta < -60) || (delta > 60)) { - ServerInstance->SNO->WriteGlobalSno('l',"\2ERROR\2: Your clocks are out by %ld seconds (this is more than five minutes). Link aborted, \2PLEASE SYNC YOUR CLOCKS!\2",labs((long)delta)); - SendError("Your clocks are out by "+ConvToStr(labs((long)delta))+" seconds (this is more than five minutes). Link aborted, PLEASE SYNC YOUR CLOCKS!"); + ServerInstance->SNO->WriteGlobalSno('l', "\002ERROR\002: Your clocks are off by %ld seconds (this is more than one minute). Link aborted, \002PLEASE SYNC YOUR CLOCKS!\002", labs((long)delta)); + SendError("Your clocks are out by "+ConvToStr(labs((long)delta))+" seconds (this is more than one minute). Link aborted, PLEASE SYNC YOUR CLOCKS!"); return; } - else if ((delta < -30) || (delta > 30)) + else if ((delta < -15) || (delta > 15)) { - ServerInstance->SNO->WriteGlobalSno('l',"\2WARNING\2: Your clocks are out by %ld seconds. Please consider synching your clocks.", labs((long)delta)); + ServerInstance->SNO->WriteGlobalSno('l', "\002WARNING\002: Your clocks are off by %ld seconds. Please consider syncing your clocks.", labs((long)delta)); } } @@ -333,7 +333,7 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix, } // Translate commands coming from servers using an older protocol - if (proto_version < ProtocolVersion) + if (proto_version < PROTO_NEWEST) { if (!PreProcessOldProtocolMessage(who, command, params)) return; @@ -376,22 +376,25 @@ void TreeSocket::ProcessConnectedLine(std::string& taglist, std::string& prefix, } CmdResult res; + ClientProtocol::TagMap tags; + std::string tag; + irc::sepstream tagstream(taglist, ';'); + while (tagstream.GetToken(tag)) + ProcessTag(who, tag, tags); + + CommandBase::Params newparams(params, tags); + if (scmd) - res = scmd->Handle(who, params); + res = scmd->Handle(who, newparams); else { - ClientProtocol::TagMap tags; - std::string tag; - irc::sepstream tagstream(taglist, ';'); - while (tagstream.GetToken(tag)) - ProcessTag(who, tag, tags); - res = cmd->Handle(who, CommandBase::Params(params, tags)); + res = cmd->Handle(who, newparams); if (res == CMD_INVALID) throw ProtocolException("Error in command handler"); } if (res == CMD_SUCCESS) - Utils->RouteCommand(server->GetRoute(), cmdbase, params, who); + Utils->RouteCommand(server->GetRoute(), cmdbase, newparams, who); } void TreeSocket::OnTimeout() @@ -412,15 +415,15 @@ void TreeSocket::Close() // If the connection is fully up (state CONNECTED) // then propogate a netsplit to all peers. if (MyRoot) - MyRoot->SQuit(getError()); + MyRoot->SQuit(getError(), true); - ServerInstance->SNO->WriteGlobalSno('l', "Connection to '\2%s\2' failed.",linkID.c_str()); + ServerInstance->SNO->WriteGlobalSno('l', "Connection to '\002%s\002' failed.", linkID.c_str()); time_t server_uptime = ServerInstance->Time() - this->age; if (server_uptime) { - std::string timestr = ModuleSpanningTree::TimeToStr(server_uptime); - ServerInstance->SNO->WriteGlobalSno('l', "Connection to '\2%s\2' was established for %s", linkID.c_str(), timestr.c_str()); + std::string timestr = InspIRCd::DurationString(server_uptime); + ServerInstance->SNO->WriteGlobalSno('l', "Connection to '\002%s\002' was established for %s", linkID.c_str(), timestr.c_str()); } }