diff options
| author | 2022-05-17 20:06:21 +0100 | |
|---|---|---|
| committer | 2022-05-17 20:06:21 +0100 | |
| commit | 04fba25ada45f787ff6c93f813912b81a257538a (patch) | |
| tree | 21488fabaaa50e27f47764b8d8c29963924cf7fb /src/modules/m_spanningtree/sinfo.cpp | |
| parent | Fix an oversight in commit 3be039e. (diff) | |
Deprecate the (raw)version SINFO keys and split out customversion/rawbranch.
Diffstat (limited to 'src/modules/m_spanningtree/sinfo.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/sinfo.cpp | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/src/modules/m_spanningtree/sinfo.cpp b/src/modules/m_spanningtree/sinfo.cpp index 1ea2d1774..ea5257360 100644 --- a/src/modules/m_spanningtree/sinfo.cpp +++ b/src/modules/m_spanningtree/sinfo.cpp @@ -28,24 +28,55 @@ CmdResult CommandSInfo::HandleServer(TreeServer* server, CommandBase::Params& pa const std::string& key = params.front(); const std::string& value = params.back(); - if (key == "fullversion") + if (irc::equals(key, "customversion")) { - server->SetFullVersion(value); + server->customversion = value; } - else if (key == "version") + else if (irc::equals(key, "desc")) { - server->SetVersion(value); + // Only sent when the description of a server changes because of a rehash; not sent on burst + ServerInstance->Logs.Normal(MODNAME, "Server description of " + server->GetName() + " changed: " + value); + server->SetDesc(value); } - else if (key == "rawversion") + else if (irc::equals(key, "rawbranch")) { - server->SetRawVersion(value); + server->rawbranch = value; } - else if (key == "desc") + else if (irc::equals(key, "rawversion")) { - // Only sent when the description of a server changes because of a rehash; not sent on burst - ServerInstance->Logs.Normal(MODNAME, "Server description of " + server->GetName() + " changed: " + value); - server->SetDesc(value); + server->rawversion = value; + } + + // BEGIN DEPRECATED KEYS + else if (irc::equals(key, "fullversion")) + { + // InspIRCd-4.0.0-a10. sadie.testnet.inspircd.org :[597] Test + // version server uid custom-version + std::string unused; + irc::spacesepstream versionstream(value); + versionstream.GetToken(server->rawversion); + server->rawversion.pop_back(); + versionstream.GetToken(unused); + versionstream.GetToken(unused); + server->customversion = versionstream.GetRemaining(); + + ServerInstance->Logs.Debug(MODNAME, "Extracted entries from fullversion key: rawversion=%s customversion=%s", + server->rawversion.c_str(), server->customversion.c_str()); + } + else if (irc::equals(key, "version")) + { + // InspIRCd-4. testnet.inspircd.org :Test + std::string unused; + irc::spacesepstream versionstream(value); + versionstream.GetToken(server->rawbranch); + server->rawbranch.pop_back(); + versionstream.GetToken(unused); + server->customversion = versionstream.GetRemaining(); + + ServerInstance->Logs.Debug(MODNAME, "Extracted entries from version key: rawbranch=%s customversion=%s", + server->rawbranch.c_str(), server->customversion.c_str()); } + // END DEPRECATED KEYS return CmdResult::SUCCESS; } |
