From a5acd4c9a3b24c9d5af3a8f504e5af053fa7fa09 Mon Sep 17 00:00:00 2001 From: boris Date: Thu, 20 Dec 2018 21:38:04 +1300 Subject: yo is this loss --- csgo-loader/csgo-server/Login/RemoteLogin.cpp | 51 ++++++++++++++++++++------- 1 file changed, 39 insertions(+), 12 deletions(-) (limited to 'csgo-loader/csgo-server/Login/RemoteLogin.cpp') diff --git a/csgo-loader/csgo-server/Login/RemoteLogin.cpp b/csgo-loader/csgo-server/Login/RemoteLogin.cpp index 880c072..b9ee44b 100644 --- a/csgo-loader/csgo-server/Login/RemoteLogin.cpp +++ b/csgo-loader/csgo-server/Login/RemoteLogin.cpp @@ -2,8 +2,10 @@ #define EXPECTED_CLIENT_HEADER 0xDEADBEEF -namespace Login { - bool RemoteLoginServer::Start(ByteArray &RawLoginHeader) { +namespace Login +{ + bool RemoteLoginServer::Start(ByteArray &RawLoginHeader) + { if(RawLoginHeader.empty()) return false; @@ -12,35 +14,60 @@ namespace Login { return true; } - RemoteLoginResponse RemoteLoginServer::GetLoginResponse() { + RemoteLoginResponse RemoteLoginServer::GetLoginResponse() + { // The header seems to be wrong, tell the client to update. if(m_Header.m_ClientHeader != EXPECTED_CLIENT_HEADER) return RemoteLoginResponse::OUTDATED_CLIENT; - // TODO: Check login, HWID, bans with websockets. + // TODO: Check if the user is banned. + //return RemoteLoginResponse::USER_BANNED; + + // TODO: Login the user. + if(strcmp(m_Header.m_Username, "betauser")) + return RemoteLoginResponse::INVALID_CREDENTIALS; + + if(strcmp(m_Header.m_Password, "betapassword")) + return RemoteLoginResponse::INVALID_CREDENTIALS; // User failed to obtain HWID? - if(!m_Header.m_HardwareId) { + if(!m_Header.m_HardwareId) + { // TODO: Shadow ban the user. - //return RemoteLoginResponse::INVALID_HARDWARE; + return RemoteLoginResponse::INVALID_HARDWARE; } + // TODO: Check if the HWID is present in DB. + if(false) + return RemoteLoginResponse::INVALID_HARDWARE; + + // TODO: Check if the user has a subscription. + if(false) + return RemoteLoginResponse::NO_SUBSCRIPTION; + + // Checksum validation. uint8_t Checksum = m_Header.m_IntegrityBit1 - | m_Header.m_IntegrityBit2 - | m_Header.m_IntegrityBit3; + | m_Header.m_IntegrityBit2 + | m_Header.m_IntegrityBit3; - if(Checksum || Checksum != m_Header.m_IntegrityBit4) { + if(Checksum || Checksum != m_Header.m_IntegrityBit4) + { // TODO: Shadow ban the user. + return RemoteLoginResponse::INTEGRITY_FAILURE; } - // Assume that they are authorised to use the cheat. - return RemoteLoginResponse::ACCESS_SPECIAL_USER; + // TODO: Check if they have beta access. + if(true) + return RemoteLoginResponse::ACCESS_SPECIAL_USER; + + return RemoteLoginResponse::ACCESS_AUTHORISED; } - ByteArray RemoteLoginServer::GetResponse() { + ByteArray RemoteLoginServer::GetResponse() + { // The way the server handles data transmission is homosexual. // That is the only reason this autism is here. ByteArray Response; -- cgit v1.2.3