aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/sinfo.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2022-05-17 20:06:21 +0100
committerGravatar Sadie Powell2022-05-17 20:06:21 +0100
commit04fba25ada45f787ff6c93f813912b81a257538a (patch)
tree21488fabaaa50e27f47764b8d8c29963924cf7fb /src/modules/m_spanningtree/sinfo.cpp
parentFix 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.cpp51
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;
}