summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/MinecraftInstance.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-08-16 02:17:50 +0200
committerPetr Mrázek <peterix@gmail.com>2015-08-16 02:17:50 +0200
commit4e3af265dad57a27af4051cb574fb90539d287d0 (patch)
tree19fd569f5d643bbab441f7a4e6eb8e0141335473 /logic/minecraft/MinecraftInstance.cpp
parentd7b3887fe1e754aa0ec5970a175e439aa5c8fe86 (diff)
downloadMultiMC-4e3af265dad57a27af4051cb574fb90539d287d0.tar
MultiMC-4e3af265dad57a27af4051cb574fb90539d287d0.tar.gz
MultiMC-4e3af265dad57a27af4051cb574fb90539d287d0.tar.lz
MultiMC-4e3af265dad57a27af4051cb574fb90539d287d0.tar.xz
MultiMC-4e3af265dad57a27af4051cb574fb90539d287d0.zip
GH-1164 make sure the censor filter never contains empty keys
Diffstat (limited to 'logic/minecraft/MinecraftInstance.cpp')
-rw-r--r--logic/minecraft/MinecraftInstance.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/logic/minecraft/MinecraftInstance.cpp b/logic/minecraft/MinecraftInstance.cpp
index 13e696b9..d576ef4f 100644
--- a/logic/minecraft/MinecraftInstance.cpp
+++ b/logic/minecraft/MinecraftInstance.cpp
@@ -204,6 +204,39 @@ QProcessEnvironment MinecraftInstance::createEnvironment()
return env;
}
+QMap<QString, QString> MinecraftInstance::createCensorFilterFromSession(AuthSessionPtr session)
+{
+ if(!session)
+ {
+ return QMap<QString, QString>();
+ }
+ auto & sessionRef = *session.get();
+ QMap<QString, QString> filter;
+ auto addToFilter = [&filter](QString key, QString value)
+ {
+ if(key.trimmed().size())
+ {
+ filter[key] = value;
+ }
+ };
+ if (sessionRef.session != "-")
+ {
+ addToFilter(sessionRef.session, tr("<SESSION ID>"));
+ }
+ addToFilter(sessionRef.access_token, tr("<ACCESS TOKEN>"));
+ addToFilter(sessionRef.client_token, tr("<CLIENT TOKEN>"));
+ addToFilter(sessionRef.uuid, tr("<PROFILE ID>"));
+ addToFilter(sessionRef.player_name, tr("<PROFILE NAME>"));
+
+ auto i = sessionRef.u.properties.begin();
+ while (i != sessionRef.u.properties.end())
+ {
+ addToFilter(i.value(), "<" + i.key().toUpper() + ">");
+ ++i;
+ }
+ return filter;
+}
+
MessageLevel::Enum MinecraftInstance::guessLevel(const QString &line, MessageLevel::Enum level)
{
QRegularExpression re("\\[(?<timestamp>[0-9:]+)\\] \\[[^/]+/(?<level>[^\\]]+)\\]");