summaryrefslogtreecommitdiff
path: root/csgo-loader/csgo-server/Login/RemoteLogin.cpp
diff options
context:
space:
mode:
authorboris <wzn@moneybot.cc>2018-12-20 21:38:04 +1300
committerboris <wzn@moneybot.cc>2018-12-20 21:38:04 +1300
commita5acd4c9a3b24c9d5af3a8f504e5af053fa7fa09 (patch)
tree27bc30d3f35e5daaaa15ee6de066119df8d352c7 /csgo-loader/csgo-server/Login/RemoteLogin.cpp
parent77b52da44b263df4884be2f35f885d8edccbb6fa (diff)
yo is this loss
Diffstat (limited to 'csgo-loader/csgo-server/Login/RemoteLogin.cpp')
-rw-r--r--csgo-loader/csgo-server/Login/RemoteLogin.cpp51
1 files changed, 39 insertions, 12 deletions
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;