aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-10-04 00:26:38 +0200
committerShauren <shauren.trinity@gmail.com>2015-10-04 00:26:38 +0200
commit705e5ea5d9ff5344b89be5aa5e0b6504acff5502 (patch)
tree489fe941184636f983022102d4aeaf2e7ffc6700 /src
parent8ebb1054982d53785d934d41400e6c626e08f4f2 (diff)
Core/Battle.net
* Updated game account flags * Fixed infinite loop in ReadFourCC if value in packet was 0 * Corrected ClosingReason enum in ConnectionClosing
Diffstat (limited to 'src')
-rw-r--r--src/server/bnetserver/Authentication/AuthCodes.h39
-rw-r--r--src/server/bnetserver/Packets/AuthenticationPackets.cpp4
-rw-r--r--src/server/bnetserver/Packets/AuthenticationPackets.h2
-rw-r--r--src/server/bnetserver/Packets/BitStream.h2
-rw-r--r--src/server/bnetserver/Packets/ConnectionPackets.h26
-rw-r--r--src/server/bnetserver/Server/Session.cpp2
6 files changed, 38 insertions, 37 deletions
diff --git a/src/server/bnetserver/Authentication/AuthCodes.h b/src/server/bnetserver/Authentication/AuthCodes.h
index 224f4e66c28..e7b1582a6af 100644
--- a/src/server/bnetserver/Authentication/AuthCodes.h
+++ b/src/server/bnetserver/Authentication/AuthCodes.h
@@ -32,25 +32,26 @@ enum GameAccountFlags
GAMEACCOUNT_FLAG_EU_FORBID_ELV = 0x00000100,
GAMEACCOUNT_FLAG_EU_FORBID_BILLING = 0x00000200,
GAMEACCOUNT_FLAG_WOW_RESTRICTED = 0x00000400,
- GAMEACCOUNT_FLAG_REFERRAL = 0x00000800,
- GAMEACCOUNT_FLAG_BLIZZARD = 0x00001000,
- GAMEACCOUNT_FLAG_RECURRING_BILLING = 0x00002000,
- GAMEACCOUNT_FLAG_NOELECTUP = 0x00004000,
- GAMEACCOUNT_FLAG_KR_CERTIFICATE = 0x00008000,
- GAMEACCOUNT_FLAG_EXPANSION_COLLECTOR = 0x00010000,
- GAMEACCOUNT_FLAG_DISABLE_VOICE = 0x00020000,
- GAMEACCOUNT_FLAG_DISABLE_VOICE_SPEAK = 0x00040000,
- GAMEACCOUNT_FLAG_REFERRAL_RESURRECT = 0x00080000,
- GAMEACCOUNT_FLAG_EU_FORBID_CC = 0x00100000,
- GAMEACCOUNT_FLAG_OPENBETA_DELL = 0x00200000,
- GAMEACCOUNT_FLAG_PROPASS = 0x00400000,
- GAMEACCOUNT_FLAG_PROPASS_LOCK = 0x00800000,
- GAMEACCOUNT_FLAG_PENDING_UPGRADE = 0x01000000,
- GAMEACCOUNT_FLAG_RETAIL_FROM_TRIAL = 0x02000000,
- GAMEACCOUNT_FLAG_EXPANSION2_COLLECTOR = 0x04000000,
- GAMEACCOUNT_FLAG_OVERMIND_LINKED = 0x08000000,
- GAMEACCOUNT_FLAG_DEMOS = 0x10000000,
- GAMEACCOUNT_FLAG_DEATH_KNIGHT_OK = 0x20000000,
+ GAMEACCOUNT_FLAG_PARENTAL_CONTROL = 0x00000800,
+ GAMEACCOUNT_FLAG_REFERRAL = 0x00001000,
+ GAMEACCOUNT_FLAG_BLIZZARD = 0x00002000,
+ GAMEACCOUNT_FLAG_RECURRING_BILLING = 0x00004000,
+ GAMEACCOUNT_FLAG_NOELECTUP = 0x00008000,
+ GAMEACCOUNT_FLAG_KR_CERTIFICATE = 0x00010000,
+ GAMEACCOUNT_FLAG_EXPANSION_COLLECTOR = 0x00020000,
+ GAMEACCOUNT_FLAG_DISABLE_VOICE = 0x00040000,
+ GAMEACCOUNT_FLAG_DISABLE_VOICE_SPEAK = 0x00080000,
+ GAMEACCOUNT_FLAG_REFERRAL_RESURRECT = 0x00100000,
+ GAMEACCOUNT_FLAG_EU_FORBID_CC = 0x00200000,
+ GAMEACCOUNT_FLAG_OPENBETA_DELL = 0x00400000,
+ GAMEACCOUNT_FLAG_PROPASS = 0x00800000,
+ GAMEACCOUNT_FLAG_PROPASS_LOCK = 0x01000000,
+ GAMEACCOUNT_FLAG_PENDING_UPGRADE = 0x02000000,
+ GAMEACCOUNT_FLAG_RETAIL_FROM_TRIAL = 0x04000000,
+ GAMEACCOUNT_FLAG_EXPANSION2_COLLECTOR = 0x08000000,
+ GAMEACCOUNT_FLAG_OVERMIND_LINKED = 0x10000000,
+ GAMEACCOUNT_FLAG_DEMOS = 0x20000000,
+ GAMEACCOUNT_FLAG_DEATH_KNIGHT_OK = 0x40000000,
};
namespace Battlenet
diff --git a/src/server/bnetserver/Packets/AuthenticationPackets.cpp b/src/server/bnetserver/Packets/AuthenticationPackets.cpp
index cff5b6742b2..4c49bdcc5f1 100644
--- a/src/server/bnetserver/Packets/AuthenticationPackets.cpp
+++ b/src/server/bnetserver/Packets/AuthenticationPackets.cpp
@@ -35,7 +35,7 @@ void Battlenet::Authentication::ResumeRequest::Read()
}
Login = _stream.ReadString(9, 3);
- Region = _stream.Read<uint8>(8);
+ GameAccountRegion = _stream.Read<uint8>(8);
GameAccountName = _stream.ReadString(5, 1);
}
@@ -47,7 +47,7 @@ std::string Battlenet::Authentication::ResumeRequest::ToString() const
stream << std::endl << "Battlenet::Component Program: " << component.Program << ", Platform: " << component.Platform << ", Build: " << component.Build;
stream << std::endl << "Login: " << Login;
- stream << std::endl << "Region: " << uint32(Region);
+ stream << std::endl << "GameAccountRegion: " << uint32(GameAccountRegion);
stream << std::endl << "GameAccountName: " << GameAccountName;
return stream.str();
diff --git a/src/server/bnetserver/Packets/AuthenticationPackets.h b/src/server/bnetserver/Packets/AuthenticationPackets.h
index 5233ea9e45b..5f7b653157d 100644
--- a/src/server/bnetserver/Packets/AuthenticationPackets.h
+++ b/src/server/bnetserver/Packets/AuthenticationPackets.h
@@ -60,7 +60,7 @@ namespace Battlenet
std::string Locale;
std::vector<Component> Components;
std::string Login;
- uint8 Region = 0;
+ uint8 GameAccountRegion = 0;
std::string GameAccountName;
};
diff --git a/src/server/bnetserver/Packets/BitStream.h b/src/server/bnetserver/Packets/BitStream.h
index 432f0243149..f54c7211604 100644
--- a/src/server/bnetserver/Packets/BitStream.h
+++ b/src/server/bnetserver/Packets/BitStream.h
@@ -123,7 +123,7 @@ namespace Battlenet
uint32 fcc = Read<uint32>(32);
EndianConvertReverse(fcc);
size_t len = 4;
- while (!(fcc & 0xFF))
+ while (!(fcc & 0xFF) && len)
{
fcc >>= 8;
--len;
diff --git a/src/server/bnetserver/Packets/ConnectionPackets.h b/src/server/bnetserver/Packets/ConnectionPackets.h
index 9d49b7c26fb..6cd11e5fcaa 100644
--- a/src/server/bnetserver/Packets/ConnectionPackets.h
+++ b/src/server/bnetserver/Packets/ConnectionPackets.h
@@ -100,19 +100,19 @@ namespace Battlenet
public:
enum ClosingReason
{
- PACKET_TOO_LARGE,
- PACKET_CORRUPT,
- PACKET_INVALID,
- PACKET_INCORRECT,
- HEADER_CORRUPT,
- HEADER_IGNORED,
- HEADER_INCORRECT,
- PACKET_REJECTED,
- CHANNEL_UNHANDLED,
- COMMAND_UNHANDLED,
- COMMAND_BAD_PERMISSIONS,
- DIRECT_CALL,
- TIMEOUT,
+ PACKET_TOO_LARGE = 1,
+ PACKET_CORRUPT = 2,
+ PACKET_INVALID = 3,
+ PACKET_INCORRECT = 4,
+ HEADER_CORRUPT = 5,
+ HEADER_IGNORED = 6,
+ HEADER_INCORRECT = 7,
+ PACKET_REJECTED = 8,
+ CHANNEL_UNHANDLED = 9,
+ COMMAND_UNHANDLED = 10,
+ COMMAND_BAD_PERMISSIONS = 11,
+ DIRECT_CALL = 12,
+ TIMEOUT = 13,
};
struct PacketInfo
diff --git a/src/server/bnetserver/Server/Session.cpp b/src/server/bnetserver/Server/Session.cpp
index d5ea76c2974..25c50ba867b 100644
--- a/src/server/bnetserver/Server/Session.cpp
+++ b/src/server/bnetserver/Server/Session.cpp
@@ -978,7 +978,7 @@ bool Battlenet::Session::HandleRiskFingerprintModule(BitStream* dataStream, Serv
{
logonResponse->AccountId = _accountInfo->Id;
logonResponse->GameAccountName = _gameAccountInfo->Name;
- logonResponse->GameAccountFlags = GAMEACCOUNT_FLAG_PROPASS_LOCK;
+ logonResponse->GameAccountFlags = GAMEACCOUNT_FLAG_PROPASS;
logonResponse->FailedLogins = _accountInfo->FailedLogins;
SQLTransaction trans = LoginDatabase.BeginTransaction();