diff options
Diffstat (limited to 'src/server/bnetserver/Server/SessionManager.cpp')
-rw-r--r-- | src/server/bnetserver/Server/SessionManager.cpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/server/bnetserver/Server/SessionManager.cpp b/src/server/bnetserver/Server/SessionManager.cpp index 9b074d3bcad..a0a0ff7aa47 100644 --- a/src/server/bnetserver/Server/SessionManager.cpp +++ b/src/server/bnetserver/Server/SessionManager.cpp @@ -16,7 +16,6 @@ */ #include "SessionManager.h" -#include "Config.h" #include "DatabaseEnv.h" #include "SRP6.h" #include "Util.h" @@ -31,76 +30,6 @@ bool Battlenet::SessionManager::StartNetwork(Trinity::Asio::IoContext& ioContext return true; } -void Battlenet::SessionManager::FixLegacyAuthHashes() -{ - TC_LOG_INFO("server.bnetserver", "Updating password hashes..."); - uint32 const start = getMSTime(); - // the auth update query nulls salt/verifier if they cannot be converted - // if they are non-null but s/v have been cleared, that means a legacy tool touched our auth DB (otherwise, the core might've done it itself, it used to use those hacks too) - QueryResult result = LoginDatabase.Query("SELECT id, sha_pass_hash, IF((salt IS null) AND (verifier IS null), 0, 1) AS shouldWarn FROM account WHERE s != DEFAULT(s) OR v != DEFAULT(v) OR salt IS NULL OR verifier IS NULL"); - if (!result) - { - TC_LOG_INFO("server.bnetserver", ">> No password hashes to update - this took us %u ms to realize", GetMSTimeDiffToNow(start)); - return; - } - - bool const shouldUpdate = sConfigMgr->GetBoolDefault("AllowDeprecatedExternalPasswords", false, true); - bool hadWarning = false; - uint32 c = 0; - LoginDatabaseTransaction tx = LoginDatabase.BeginTransaction(); - do - { - uint32 const id = (*result)[0].GetUInt32(); - std::pair<Trinity::Crypto::SRP6::Salt, Trinity::Crypto::SRP6::Verifier> registrationData = Trinity::Crypto::SRP6::MakeRegistrationDataFromHash_DEPRECATED_DONOTUSE( - HexStrToByteArray<Trinity::Crypto::SHA1::DIGEST_LENGTH>((*result)[1].GetString()) - ); - - if ((*result)[2].GetInt64()) - { - if (!hadWarning) - { - hadWarning = true; - if (shouldUpdate) - { - TC_LOG_WARN("server.bnetserver", - " ========\n" - "(!) You appear to be using an outdated external account management tool.\n" - "(!!) This is INSECURE, has been deprecated, and will cease to function entirely on September 6, 2020.\n" - "(!) Update your external tool.\n" - "(!!) If no update is available, refer your tool's developer to https://github.com/TrinityCore/TrinityCore/issues/25157.\n" - " ========"); - } - else - { - TC_LOG_ERROR("server.bnetserver", - " ========\n" - "(!) You appear to be using an outdated external account management tool.\n" - "(!!) This is INSECURE, and the account(s) in question will not be able to log in.\n" - "(!) Update your external tool.\n" - "(!!) If no update is available, refer your tool's developer to https://github.com/TrinityCore/TrinityCore/issues/25157.\n" - "(!) You can override this behavior by adding \"AllowDeprecatedExternalPasswords = 1\" to your authserver.conf file.\n" - "(!!) Note that this override will cease to function entirely on September 6, 2020.\n" - " ========"); - } - } - - if (!shouldUpdate) - continue; - } - - LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_LOGON); - stmt->setBinary(0, registrationData.first); - stmt->setBinary(1, registrationData.second); - stmt->setUInt32(2, id); - tx->Append(stmt); - - ++c; - } while (result->NextRow()); - LoginDatabase.CommitTransaction(tx); - - TC_LOG_INFO("server.bnetserver", ">> %u password hashes updated in %u ms", c, GetMSTimeDiffToNow(start)); -} - NetworkThread<Battlenet::Session>* Battlenet::SessionManager::CreateThreads() const { return new NetworkThread<Session>[GetNetworkThreadCount()]; |