aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/RemoteAccess
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-12-23 20:51:53 +0100
committerShauren <shauren.trinity@gmail.com>2023-12-23 20:51:53 +0100
commite05541665b67e55c4ff70073854886df1222643d (patch)
treeb09e44276e6ee04f6570a1f1ec7e0db0ae13b9b3 /src/server/worldserver/RemoteAccess
parenta83673c4192c9dd2a67ab45f0d65cf451fcfcb6f (diff)
Core/Accounts: Migrate RA credentials checking to use AccountMgr instead of copying its logic
Diffstat (limited to 'src/server/worldserver/RemoteAccess')
-rw-r--r--src/server/worldserver/RemoteAccess/RASession.cpp28
-rw-r--r--src/server/worldserver/RemoteAccess/RASession.h1
2 files changed, 1 insertions, 28 deletions
diff --git a/src/server/worldserver/RemoteAccess/RASession.cpp b/src/server/worldserver/RemoteAccess/RASession.cpp
index ff2d23a815a..b4e9e6317be 100644
--- a/src/server/worldserver/RemoteAccess/RASession.cpp
+++ b/src/server/worldserver/RemoteAccess/RASession.cpp
@@ -20,7 +20,6 @@
#include "Config.h"
#include "DatabaseEnv.h"
#include "Log.h"
-#include "SRP6.h"
#include "Util.h"
#include "World.h"
#include <boost/asio/buffer.hpp>
@@ -62,7 +61,7 @@ void RASession::Start()
if (password.empty())
return;
- if (!CheckAccessLevel(username) || !CheckPassword(username, password))
+ if (!CheckAccessLevel(username) || !AccountMgr::CheckPassword(username, password))
{
Send("Authentication failed\r\n");
_socket.close();
@@ -150,31 +149,6 @@ bool RASession::CheckAccessLevel(const std::string& user)
return true;
}
-bool RASession::CheckPassword(const std::string& user, const std::string& pass)
-{
- std::string safe_user = user;
- Utf8ToUpperOnlyLatin(safe_user);
-
- std::string safe_pass = pass;
- Utf8ToUpperOnlyLatin(safe_pass);
-
- LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_CHECK_PASSWORD_BY_NAME);
-
- stmt->setString(0, safe_user);
-
- if (PreparedQueryResult result = LoginDatabase.Query(stmt))
- {
- Trinity::Crypto::SRP6::Salt salt = (*result)[0].GetBinary<Trinity::Crypto::SRP6::SALT_LENGTH>();
- Trinity::Crypto::SRP6::Verifier verifier = (*result)[1].GetBinary<Trinity::Crypto::SRP6::VERIFIER_LENGTH>();
-
- if (Trinity::Crypto::SRP6::CheckLogin(safe_user, safe_pass, salt, verifier))
- return true;
- }
-
- TC_LOG_INFO("commands.ra", "Wrong password for user: {}", user);
- return false;
-}
-
bool RASession::ProcessCommand(std::string& command)
{
if (command.length() == 0)
diff --git a/src/server/worldserver/RemoteAccess/RASession.h b/src/server/worldserver/RemoteAccess/RASession.h
index cfb3177e4b5..e0f4b373f74 100644
--- a/src/server/worldserver/RemoteAccess/RASession.h
+++ b/src/server/worldserver/RemoteAccess/RASession.h
@@ -42,7 +42,6 @@ private:
int Send(std::string_view data);
std::string ReadString();
bool CheckAccessLevel(const std::string& user);
- bool CheckPassword(const std::string& user, const std::string& pass);
bool ProcessCommand(std::string& command);
static void CommandPrint(void* callbackArg, std::string_view text);