diff options
| author | 2021-09-10 13:09:02 +0100 | |
|---|---|---|
| committer | 2021-09-10 13:09:02 +0100 | |
| commit | bec93a9ab8eff6df9f9180a108b29d59f0ad1d27 (patch) | |
| tree | 77b570a7b2235839b8e386adaaca101339cc0d56 /src/modules/m_spanningtree | |
| parent | Add the FRHOST command to allow changing a remote user's real host. (diff) | |
Always use ExtractTS to extract timestamps from S2S messages.
Diffstat (limited to 'src/modules/m_spanningtree')
| -rw-r--r-- | src/modules/m_spanningtree/addline.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/away.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/save.cpp | 3 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/servercommand.cpp | 8 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/svsnick.cpp | 7 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 2 |
6 files changed, 10 insertions, 14 deletions
diff --git a/src/modules/m_spanningtree/addline.cpp b/src/modules/m_spanningtree/addline.cpp index d408063dd..17f902cee 100644 --- a/src/modules/m_spanningtree/addline.cpp +++ b/src/modules/m_spanningtree/addline.cpp @@ -52,7 +52,7 @@ CmdResult CommandAddLine::Handle(User* usr, Params& params) ServerInstance->SNO.WriteToSnoMask('x', "Unable to ADDLINE type %s from %s: %s", params[0].c_str(), setter.c_str(), e.GetReason().c_str()); return CmdResult::FAILURE; } - xl->SetCreateTime(ConvToNum<time_t>(params[3])); + xl->SetCreateTime(ServerCommand::ExtractTS(params[3])); if (ServerInstance->XLines->AddLine(xl, NULL)) { if (xl->duration) diff --git a/src/modules/m_spanningtree/away.cpp b/src/modules/m_spanningtree/away.cpp index 2baa89431..0fedd53e7 100644 --- a/src/modules/m_spanningtree/away.cpp +++ b/src/modules/m_spanningtree/away.cpp @@ -34,7 +34,7 @@ CmdResult CommandAway::HandleRemote(::RemoteUser* u, Params& params) if (!params.empty()) { if (params.size() > 1) - u->awaytime = ConvToNum<time_t>(params[0]); + u->awaytime = ServerCommand::ExtractTS(params[0]); else u->awaytime = ServerInstance->Time(); diff --git a/src/modules/m_spanningtree/save.cpp b/src/modules/m_spanningtree/save.cpp index aa3cddcc7..66c9797cd 100644 --- a/src/modules/m_spanningtree/save.cpp +++ b/src/modules/m_spanningtree/save.cpp @@ -36,8 +36,7 @@ CmdResult CommandSave::Handle(User* user, Params& params) if (!u) return CmdResult::FAILURE; - time_t ts = ConvToNum<time_t>(params[1]); - + time_t ts = ServerCommand::ExtractTS(params[1]); if (u->age == ts) u->ChangeNick(u->uuid, SavedTimestamp); diff --git a/src/modules/m_spanningtree/servercommand.cpp b/src/modules/m_spanningtree/servercommand.cpp index db12ea297..b4ce6775c 100644 --- a/src/modules/m_spanningtree/servercommand.cpp +++ b/src/modules/m_spanningtree/servercommand.cpp @@ -41,10 +41,10 @@ RouteDescriptor ServerCommand::GetRouting(User* user, const Params& parameters) time_t ServerCommand::ExtractTS(const std::string& tsstr) { - time_t TS = ConvToNum<time_t>(tsstr); - if (!TS) - throw ProtocolException("Invalid TS"); - return TS; + time_t ts = ConvToNum<time_t>(tsstr); + if (ts <= 0) + throw ProtocolException("Invalid TS: " + tsstr); + return ts; } ServerCommand* ServerCommandManager::GetHandler(const std::string& command) const diff --git a/src/modules/m_spanningtree/svsnick.cpp b/src/modules/m_spanningtree/svsnick.cpp index 6d06c4d4a..df52d8252 100644 --- a/src/modules/m_spanningtree/svsnick.cpp +++ b/src/modules/m_spanningtree/svsnick.cpp @@ -51,7 +51,7 @@ CmdResult CommandSVSNick::Handle(User* user, Params& parameters) // won't happen because the timestamps won't match. if (parameters.size() > 3) { - time_t ExpectedTS = ConvToNum<time_t>(parameters[3]); + time_t ExpectedTS = ServerCommand::ExtractTS(parameters[3]); if (u->age != ExpectedTS) return CmdResult::FAILURE; // Ignore SVSNICK } @@ -60,10 +60,7 @@ CmdResult CommandSVSNick::Handle(User* user, Params& parameters) if (isdigit(nick[0])) nick = u->uuid; - time_t NickTS = ConvToNum<time_t>(parameters[2]); - if (NickTS <= 0) - return CmdResult::FAILURE; - + time_t NickTS = ServerCommand::ExtractTS(parameters[2]); if (!u->ChangeNick(nick, NickTS)) { // Changing to 'nick' failed (it may already be in use), change to the uuid diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index 8a9986153..de634e231 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -160,7 +160,7 @@ void TreeSocket::ProcessLine(std::string &line) { if (!params.empty()) { - time_t them = ConvToNum<time_t>(params[0]); + time_t them = ServerCommand::ExtractTS(params[0]); time_t delta = them - ServerInstance->Time(); if ((delta < -60) || (delta > 60)) { |
