aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--CMakeLists.txt16
-rw-r--r--README.md2
-rw-r--r--buildconfig/BuildConfig.cpp.in1
-rw-r--r--buildconfig/BuildConfig.h5
-rw-r--r--launcher/Application.cpp6
-rw-r--r--launcher/Application.h2
-rw-r--r--launcher/CMakeLists.txt2
-rw-r--r--launcher/minecraft/auth/steps/MSAStep.cpp3
-rw-r--r--launcher/ui/instanceview/InstanceView.cpp9
-rw-r--r--launcher/ui/pages/global/AccountListPage.cpp4
-rw-r--r--notsecrets/CMakeLists.txt18
-rw-r--r--notsecrets/README.md13
-rw-r--r--notsecrets/Secrets.cpp40
-rw-r--r--notsecrets/Secrets.h8
-rw-r--r--program_info/CMakeLists.txt13
-rw-r--r--program_info/Launcher.icns (renamed from notsecrets/Launcher.icns)bin304757 -> 304757 bytes
-rw-r--r--program_info/Launcher.ico (renamed from notsecrets/Launcher.ico)bin102134 -> 102134 bytes
-rw-r--r--program_info/Launcher.manifest (renamed from notsecrets/Launcher.manifest)0
-rw-r--r--program_info/README.md5
-rwxr-xr-xprogram_info/genicons.sh (renamed from notsecrets/genicons.sh)0
-rw-r--r--program_info/launcher.rc (renamed from notsecrets/launcher.rc)0
-rw-r--r--program_info/logo.qrc (renamed from notsecrets/logo.qrc)0
-rw-r--r--program_info/logo.svg (renamed from notsecrets/logo.svg)0
24 files changed, 37 insertions, 112 deletions
diff --git a/.gitignore b/.gitignore
index 69dda72c..d73f9f22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,5 @@ tags
branding/
secrets/
run/
+
+.cache/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8417be93..b7018d1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,10 +79,13 @@ set(Launcher_PASTE_EE_API_KEY "utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ" CACHE
set(Launcher_IMGUR_CLIENT_ID "5b97b0713fba4a3" CACHE STRING "Client ID you can get from Imgur when you register an application")
# Google analytics ID
-set(Launcher_ANALYTICS_ID "UA-87731965-2" CACHE STRING "ID you can get from Google analytics")
+set(Launcher_ANALYTICS_ID "" CACHE STRING "ID you can get from Google analytics")
+
+# MSA Client ID
+set(Launcher_MSA_CLIENT_ID "17b47edd-c884-4997-926d-9e7f9a6b4647" CACHE STRING "Client ID you can get from Microsoft Identity Platform when you register an application")
# Bug tracker URL
-set(Launcher_BUG_TRACKER_URL "" CACHE STRING "URL for the bug tracker.")
+set(Launcher_BUG_TRACKER_URL "https://github.com/PolyMC/PolyMC/issues" CACHE STRING "URL for the bug tracker.")
# Discord URL
set(Launcher_DISCORD_URL "" CACHE STRING "URL for the Discord guild.")
@@ -90,9 +93,6 @@ set(Launcher_DISCORD_URL "" CACHE STRING "URL for the Discord guild.")
# Subreddit URL
set(Launcher_SUBREDDIT_URL "" CACHE STRING "URL for the subreddit.")
-# Use the secrets library or a public stub?
-option(Launcher_EMBED_SECRETS "Determines whether to embed secrets. Secrets are separate and non-public." OFF)
-
#### Check the current Git commit and branch
include(GetGitRevisionDescription)
get_git_head_revision(Launcher_GIT_REFSPEC Launcher_GIT_COMMIT)
@@ -131,11 +131,7 @@ endif()
####################################### Secrets #######################################
-if(Launcher_EMBED_SECRETS)
- add_subdirectory(secrets)
-else()
- add_subdirectory(notsecrets)
-endif()
+add_subdirectory(program_info)
####################################### Install layout #######################################
diff --git a/README.md b/README.md
index 9c485604..4c78e08c 100644
--- a/README.md
+++ b/README.md
@@ -15,9 +15,9 @@ This is a **fork** of the MultiMC Launcher and not endorsed by MultiMC. The Poly
- [ ] Packaging for Linux--Any help packaging for your favorite distro is appreciated!
- [ ] Packaging for MacOS/Windows
- [ ] Stop relying on MultiMC-Hosted metadata services
-- [ ] Long-term solution for the MSA client ID issue
- [ ] Remove references to MultiMC
- [ ] Meson
+- [x] Long-term solution for the MSA client ID issue
- [x] Figure out a way to switch to GPL.
## Packages
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index 9e449aec..66cb0f17 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -45,6 +45,7 @@ Config::Config()
NEWS_RSS_URL = "@Launcher_NEWS_RSS_URL@";
PASTE_EE_KEY = "@Launcher_PASTE_EE_API_KEY@";
IMGUR_CLIENT_ID = "@Launcher_IMGUR_CLIENT_ID@";
+ MSA_CLIENT_ID = "@Launcher_MSA_CLIENT_ID@";
META_URL = "@Launcher_META_URL@";
BUG_TRACKER_URL = "@Launcher_BUG_TRACKER_URL@";
diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h
index ac05f288..2d847f94 100644
--- a/buildconfig/BuildConfig.h
+++ b/buildconfig/BuildConfig.h
@@ -79,6 +79,11 @@ public:
* Client ID you can get from Imgur when you register an application
*/
QString IMGUR_CLIENT_ID;
+
+ /**
+ * Client ID you can get from Microsoft Identity Platform when you register an application
+ */
+ QString MSA_CLIENT_ID;
/**
* Metadata repository URL prefix
diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 72ed5e5a..0d7eeaef 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -76,8 +76,6 @@
#include <ganalytics.h>
#include <sys.h>
-#include <Secrets.h>
-
#if defined Q_OS_WIN32
#ifndef WIN32_LEAN_AND_MEAN
@@ -1559,10 +1557,6 @@ void Application::on_windowClose()
}
}
-QString Application::msaClientId() const {
- return Secrets::getMSAClientID('-');
-}
-
void Application::updateProxySettings(QString proxyTypeStr, QString addr, int port, QString user, QString password)
{
// Set the application proxy settings.
diff --git a/launcher/Application.h b/launcher/Application.h
index 1b2a2b60..982e22e3 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -104,8 +104,6 @@ public:
return m_accounts;
}
- QString msaClientId() const;
-
Status status() const {
return m_status;
}
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 2dfc78b5..fceca8e2 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -935,7 +935,7 @@ target_link_libraries(Launcher_logic
ganalytics
)
-target_link_libraries(Launcher_logic secrets)
+target_link_libraries(Launcher_logic)
add_executable(${Launcher_Name} MACOSX_BUNDLE WIN32 main.cpp ${LAUNCHER_RCS})
target_link_libraries(${Launcher_Name} Launcher_logic)
diff --git a/launcher/minecraft/auth/steps/MSAStep.cpp b/launcher/minecraft/auth/steps/MSAStep.cpp
index be711f7e..bc10aa4e 100644
--- a/launcher/minecraft/auth/steps/MSAStep.cpp
+++ b/launcher/minecraft/auth/steps/MSAStep.cpp
@@ -2,6 +2,7 @@
#include <QNetworkRequest>
+#include "BuildConfig.h"
#include "minecraft/auth/AuthRequest.h"
#include "minecraft/auth/Parsers.h"
@@ -13,7 +14,7 @@ using Activity = Katabasis::Activity;
MSAStep::MSAStep(AccountData* data, Action action) : AuthStep(data), m_action(action) {
OAuth2::Options opts;
opts.scope = "XboxLive.signin offline_access";
- opts.clientIdentifier = APPLICATION->msaClientId();
+ opts.clientIdentifier = BuildConfig.MSA_CLIENT_ID;
opts.authorizationUrl = "https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode";
opts.accessTokenUrl = "https://login.microsoftonline.com/consumers/oauth2/v2.0/token";
diff --git a/launcher/ui/instanceview/InstanceView.cpp b/launcher/ui/instanceview/InstanceView.cpp
index 1f044866..25aec1ab 100644
--- a/launcher/ui/instanceview/InstanceView.cpp
+++ b/launcher/ui/instanceview/InstanceView.cpp
@@ -835,15 +835,6 @@ QModelIndex InstanceView::moveCursor(QAbstractItemView::CursorAction cursorActio
if(group_index < 0)
return current;
- auto real_group = m_groups[group_index];
- int beginning_row = 0;
- for(auto group: m_groups)
- {
- if(group == real_group)
- break;
- beginning_row += group->numRows();
- }
-
QPair<int, int> pos = cat->positionOf(current);
int column = pos.first;
int row = pos.second;
diff --git a/launcher/ui/pages/global/AccountListPage.cpp b/launcher/ui/pages/global/AccountListPage.cpp
index d3eb2655..87fcac86 100644
--- a/launcher/ui/pages/global/AccountListPage.cpp
+++ b/launcher/ui/pages/global/AccountListPage.cpp
@@ -37,8 +37,6 @@
#include "BuildConfig.h"
-#include "Secrets.h"
-
AccountListPage::AccountListPage(QWidget *parent)
: QMainWindow(parent), ui(new Ui::AccountListPage)
{
@@ -74,7 +72,7 @@ AccountListPage::AccountListPage(QWidget *parent)
updateButtonStates();
// Xbox authentication won't work without a client identifier, so disable the button if it is missing
- ui->actionAddMicrosoft->setVisible(Secrets::hasMSAClientID());
+ ui->actionAddMicrosoft->setVisible(BuildConfig.MSA_CLIENT_ID.size() != 0);
}
AccountListPage::~AccountListPage()
diff --git a/notsecrets/CMakeLists.txt b/notsecrets/CMakeLists.txt
deleted file mode 100644
index 00b132a3..00000000
--- a/notsecrets/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-add_library(secrets STATIC Secrets.cpp Secrets.h)
-target_link_libraries(secrets Qt5::Core)
-target_compile_definitions(secrets PUBLIC -DEMBED_SECRETS)
-target_include_directories(secrets PUBLIC .)
-
-set(Launcher_CommonName "PolyMC")
-
-set(Launcher_Copyright "MultiMC Contributors" PARENT_SCOPE)
-set(Launcher_Domain "multimc.org" PARENT_SCOPE)
-set(Launcher_Name "${Launcher_CommonName}" PARENT_SCOPE)
-set(Launcher_DisplayName "${Launcher_CommonName} 5" PARENT_SCOPE)
-set(Launcher_UserAgent "${Launcher_CommonName}/5.0" PARENT_SCOPE)
-set(Launcher_ConfigFile "polymc.cfg" PARENT_SCOPE)
-set(Launcher_Git "https://github.com/MultiMC/Launcher" PARENT_SCOPE)
-
-set(Launcher_Branding_ICNS "notsecrets/Launcher.icns" PARENT_SCOPE)
-set(Launcher_Branding_WindowsRC "notsecrets/launcher.rc" PARENT_SCOPE)
-set(Launcher_Branding_LogoQRC "notsecrets/logo.qrc" PARENT_SCOPE)
diff --git a/notsecrets/README.md b/notsecrets/README.md
deleted file mode 100644
index dcc67699..00000000
--- a/notsecrets/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# PolyMC (Not) Secrets
-
-This is a dummy implementation of PolyMC's _Secrets_ library, used to store private information needed for:
-- Application name and logo (and branding in general)
-- Various URLs and API endpoints
-- Your Microsoft Identity Platform client ID. **This is required to use Microsoft accounts to play!**
- - If omitted, adding Microsoft accounts will be completely disabled.
-
-## MultiMC development
-
-In its current state, the `notsecrets` library is suitable for PolyMC code contributions.
-
-All you have to do is add the Microsoft client ID. See `Secrets.cpp` for details.
diff --git a/notsecrets/Secrets.cpp b/notsecrets/Secrets.cpp
deleted file mode 100644
index 6d2444a2..00000000
--- a/notsecrets/Secrets.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "Secrets.h"
-
-#include <array>
-#include <cstdio>
-
-namespace {
-
-/*
- * This is the MSA client ID. It is confidential and should not be reused.
- * You can obtain one for yourself by using azure app registration:
- * https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app
- *
- * The app registration should:
- * - Be only for personal accounts.
- * - Not have any redirect URI.
- * - Not have any platform.
- * - Have no credentials.
- * - No certificates.
- * - No client secrets.
- * - Enable 'Live SDK support' for access to XBox APIs.
- * - Enable 'public client flows' for OAuth2 device flow.
- *
- * By putting one in here, you accept the terms and conditions for using the MS Identity Plaform and assume all responsibilities associated with it.
- * See: https://docs.microsoft.com/en-us/legal/microsoft-identity-platform/terms-of-use
- *
- * If you intend to base your own launcher on this code, take care and customize this to obfuscate the client ID, so it cannot be trivially found by casual attackers.
- */
-
-QString MSAClientID = "";
-}
-
-namespace Secrets {
-bool hasMSAClientID() {
- return !MSAClientID.isEmpty();
-}
-
-QString getMSAClientID(uint8_t separator) {
- return MSAClientID;
-}
-}
diff --git a/notsecrets/Secrets.h b/notsecrets/Secrets.h
deleted file mode 100644
index 6872b68e..00000000
--- a/notsecrets/Secrets.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-#include <QString>
-#include <cstdint>
-
-namespace Secrets {
-bool hasMSAClientID();
-QString getMSAClientID(uint8_t separator);
-}
diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
new file mode 100644
index 00000000..f418f8b2
--- /dev/null
+++ b/program_info/CMakeLists.txt
@@ -0,0 +1,13 @@
+set(Launcher_CommonName "PolyMC")
+
+set(Launcher_Copyright "PolyMC Contributors" PARENT_SCOPE)
+set(Launcher_Domain "github.com/PolyMC" PARENT_SCOPE)
+set(Launcher_Name "${Launcher_CommonName}" PARENT_SCOPE)
+set(Launcher_DisplayName "${Launcher_CommonName} 5" PARENT_SCOPE)
+set(Launcher_UserAgent "${Launcher_CommonName}/5.0" PARENT_SCOPE)
+set(Launcher_ConfigFile "polymc.cfg" PARENT_SCOPE)
+set(Launcher_Git "https://github.com/PolyMC/Launcher" PARENT_SCOPE)
+
+set(Launcher_Branding_ICNS "program_info/Launcher.icns" PARENT_SCOPE)
+set(Launcher_Branding_WindowsRC "program_info/launcher.rc" PARENT_SCOPE)
+set(Launcher_Branding_LogoQRC "program_info/logo.qrc" PARENT_SCOPE)
diff --git a/notsecrets/Launcher.icns b/program_info/Launcher.icns
index 951b74fc..951b74fc 100644
--- a/notsecrets/Launcher.icns
+++ b/program_info/Launcher.icns
Binary files differ
diff --git a/notsecrets/Launcher.ico b/program_info/Launcher.ico
index 9308958f..9308958f 100644
--- a/notsecrets/Launcher.ico
+++ b/program_info/Launcher.ico
Binary files differ
diff --git a/notsecrets/Launcher.manifest b/program_info/Launcher.manifest
index 0ee781ee..0ee781ee 100644
--- a/notsecrets/Launcher.manifest
+++ b/program_info/Launcher.manifest
diff --git a/program_info/README.md b/program_info/README.md
new file mode 100644
index 00000000..01c4d02b
--- /dev/null
+++ b/program_info/README.md
@@ -0,0 +1,5 @@
+# PolyMC Program Info
+
+This is PolyMC's program info which contains information about:
+- Application name and logo (and branding in general)
+- Various URLs and API endpoints
diff --git a/notsecrets/genicons.sh b/program_info/genicons.sh
index e6f704f9..e6f704f9 100755
--- a/notsecrets/genicons.sh
+++ b/program_info/genicons.sh
diff --git a/notsecrets/launcher.rc b/program_info/launcher.rc
index f84104fb..f84104fb 100644
--- a/notsecrets/launcher.rc
+++ b/program_info/launcher.rc
diff --git a/notsecrets/logo.qrc b/program_info/logo.qrc
index f1da6fe6..f1da6fe6 100644
--- a/notsecrets/logo.qrc
+++ b/program_info/logo.qrc
diff --git a/notsecrets/logo.svg b/program_info/logo.svg
index a1c8e439..a1c8e439 100644
--- a/notsecrets/logo.svg
+++ b/program_info/logo.svg