Skip to content

Commit 4fb3bbe

Browse files
committed
Core/Authserver: Made authserver endian-aware
1 parent f21a415 commit 4fb3bbe

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

src/server/authserver/Server/AuthSession.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@
3131
#include "SecretMgr.h"
3232
#include "TOTP.h"
3333
#include "Util.h"
34+
#include <boost/endian/arithmetic.hpp>
3435
#include <boost/lexical_cast.hpp>
3536

3637
using boost::asio::ip::tcp;
38+
using boost::endian::little_uint16_t;
39+
using boost::endian::little_uint32_t;
3740

3841
enum eAuthCmd : uint8
3942
{
@@ -55,17 +58,17 @@ typedef struct AUTH_LOGON_CHALLENGE_C
5558
{
5659
uint8 cmd;
5760
uint8 error;
58-
uint16 size;
59-
uint32 gamename;
61+
little_uint16_t size;
62+
little_uint32_t gamename;
6063
uint8 version1;
6164
uint8 version2;
6265
uint8 version3;
63-
uint16 build;
64-
uint32 platform;
65-
uint32 os;
66-
uint32 country;
67-
uint32 timezone_bias;
68-
uint32 ip;
66+
little_uint16_t build;
67+
little_uint32_t platform;
68+
little_uint32_t os;
69+
little_uint32_t country;
70+
little_uint32_t timezone_bias;
71+
little_uint32_t ip;
6972
uint8 I_len;
7073
char I[1];
7174
} sAuthLogonChallenge_C;
@@ -87,9 +90,9 @@ typedef struct AUTH_LOGON_PROOF_S
8790
uint8 cmd;
8891
uint8 error;
8992
Trinity::Crypto::SHA1::Digest M2;
90-
uint32 AccountFlags;
91-
uint32 SurveyId;
92-
uint16 LoginFlags;
93+
little_uint32_t AccountFlags;
94+
little_uint32_t SurveyId;
95+
little_uint16_t LoginFlags;
9396
} sAuthLogonProof_S;
9497
static_assert(sizeof(sAuthLogonProof_S) == (1 + 1 + 20 + 4 + 4 + 2));
9598

@@ -98,7 +101,7 @@ typedef struct AUTH_LOGON_PROOF_S_OLD
98101
uint8 cmd;
99102
uint8 error;
100103
Trinity::Crypto::SHA1::Digest M2;
101-
uint32 unk2;
104+
little_uint32_t unk2;
102105
} sAuthLogonProof_S_Old;
103106
static_assert(sizeof(sAuthLogonProof_S_Old) == (1 + 1 + 20 + 4));
104107

0 commit comments

Comments
 (0)