From f3b8a5b909a4377cfcac298ff85e4649fae10c6b Mon Sep 17 00:00:00 2001 From: David Cernat Date: Thu, 14 Feb 2019 00:29:55 +0200 Subject: [PATCH] [General] Check integrity of credits only on Windows clients This avoids the problems that were encountered in Linux and macOS builds regarding this check while also still addressing the scenario where official Windows builds had their credits modified by people unrelated to the project. --- apps/openmw-mp/main.cpp | 20 -------------------- apps/openmw/main.cpp | 8 +++++--- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/apps/openmw-mp/main.cpp b/apps/openmw-mp/main.cpp index 6a74808f1..485398cec 100644 --- a/apps/openmw-mp/main.cpp +++ b/apps/openmw-mp/main.cpp @@ -201,26 +201,6 @@ int main(int argc, char *argv[]) vector plugins(Utils::split(mgr.getString("plugins", "Plugins"), ',')); Utils::printVersion("TES3MP dedicated server", TES3MP_VERSION, version.mCommitHash, TES3MP_PROTO_VERSION); - - // Check for unmodified tes3mp-credits file; this makes it so people can't repackage official releases with - // their own made-up credits, though it obviously has no bearing on unofficial releases that change - // the checksum below - boost::filesystem::path folderPath(boost::filesystem::initial_path()); - folderPath = boost::filesystem::system_complete(boost::filesystem::path(argv[0])).remove_filename(); - std::string creditsPath = folderPath.string() + "/tes3mp-credits"; - - unsigned int expectedChecksumInt = Utils::hexStrToInt(TES3MP_CREDITS_CHECKSUM); - bool hasValidCredits = Utils::doesFileHaveChecksum(creditsPath + ".md", expectedChecksumInt); - - if (!hasValidCredits) - hasValidCredits = Utils::doesFileHaveChecksum(creditsPath + ".txt", expectedChecksumInt); - - if (!hasValidCredits) - { - LOG_MESSAGE_SIMPLE(Log::LOG_FATAL, "The server is shutting down"); - LOG_APPEND(Log::LOG_FATAL, "- %s", TES3MP_CREDITS_ERROR); - return 1; - } Script::SetModDir(dataDirectory); diff --git a/apps/openmw/main.cpp b/apps/openmw/main.cpp index d8f9d8cf1..1397b33bb 100644 --- a/apps/openmw/main.cpp +++ b/apps/openmw/main.cpp @@ -221,10 +221,11 @@ bool parseOptions (int argc, char** argv, OMW::Engine& engine, Files::Configurat /* Start of tes3mp addition - Check for unmodified tes3mp-credits file; this makes it so people can't repackage official releases with - their own made-up credits, though it obviously has no bearing on unofficial releases that change - the checksum below + Check for unmodified tes3mp-credits file on Windows; this makes it so people can't repackage official + releases with their own made-up credits, though it obviously has no bearing on unofficial releases that + change the checksum below */ +#ifdef _WIN32 boost::filesystem::path folderPath(boost::filesystem::initial_path()); folderPath = boost::filesystem::system_complete(boost::filesystem::path(argv[0])).remove_filename(); std::string creditsPath = folderPath.string() + "/tes3mp-credits"; @@ -242,6 +243,7 @@ bool parseOptions (int argc, char** argv, OMW::Engine& engine, Files::Configurat SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "tes3mp", TES3MP_CREDITS_ERROR, 0); return false; } +#endif /* End of tes3mp addition */