diff options
Diffstat (limited to 'src/server/bnetserver')
| -rw-r--r-- | src/server/bnetserver/Packets/AuthenticationPackets.h | 8 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/BitStream.h | 1 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/CachePackets.cpp | 2 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/CachePackets.h | 6 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/ConnectionPackets.h | 6 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/FriendsPackets.cpp | 4 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/FriendsPackets.h | 2 | ||||
| -rw-r--r-- | src/server/bnetserver/Packets/WoWRealmPackets.h | 2 | ||||
| -rw-r--r-- | src/server/bnetserver/Server/Session.cpp | 3 | ||||
| -rw-r--r-- | src/server/bnetserver/Server/Session.h | 2 |
10 files changed, 20 insertions, 16 deletions
diff --git a/src/server/bnetserver/Packets/AuthenticationPackets.h b/src/server/bnetserver/Packets/AuthenticationPackets.h index bcaa0e72011..fd5838720ab 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; + uint8 Region = 0; std::string GameAccountName; }; @@ -98,7 +98,7 @@ namespace Battlenet std::string Locale; std::vector<Component> Components; std::string Login; - uint64 Compatibility; + uint64 Compatibility = 0; }; class ResponseFailure @@ -138,8 +138,8 @@ namespace Battlenet { public: LogonResponse() : ServerPacket(PacketHeader(SMSG_LOGON_RESPONSE, AUTHENTICATION)), - PingTimeout(120000), FirstName(""), LastName(""), AccountId(0), Region(2), Flags(0), - GameAccountRegion(2), GameAccountName(""), FailedLogins(0) + PingTimeout(120000), AccountId(0), Region(2), Flags(0), + GameAccountRegion(2), GameAccountFlags(0), FailedLogins(0) { } diff --git a/src/server/bnetserver/Packets/BitStream.h b/src/server/bnetserver/Packets/BitStream.h index 54c61ab3bbf..ef2c85a63c8 100644 --- a/src/server/bnetserver/Packets/BitStream.h +++ b/src/server/bnetserver/Packets/BitStream.h @@ -217,6 +217,7 @@ namespace Battlenet uint8* GetBuffer() { return _buffer.data(); } uint8 const* GetBuffer() const { return _buffer.data(); } + uint32 GetReadPos() const { return _readPos; } size_t GetSize() const { return ((_writePos + 7) & ~7) / 8; } // These methods are meant to only be used when their corresponding actions in the client ignore the value completely diff --git a/src/server/bnetserver/Packets/CachePackets.cpp b/src/server/bnetserver/Packets/CachePackets.cpp index deacfd34065..8ae489fe47c 100644 --- a/src/server/bnetserver/Packets/CachePackets.cpp +++ b/src/server/bnetserver/Packets/CachePackets.cpp @@ -21,7 +21,7 @@ void Battlenet::Cache::GetStreamItemsRequest::Read() { - _stream.WriteSkip(31); + _stream.ReadSkip(31); Index = _stream.Read<uint32>(32); ReferenceTime = _stream.Read<int32>(32) - std::numeric_limits<int32>::min(); _stream.Read<bool>(1); // StreamDirection diff --git a/src/server/bnetserver/Packets/CachePackets.h b/src/server/bnetserver/Packets/CachePackets.h index a65ab2651c8..57ccd448081 100644 --- a/src/server/bnetserver/Packets/CachePackets.h +++ b/src/server/bnetserver/Packets/CachePackets.h @@ -54,8 +54,8 @@ namespace Battlenet std::string Channel; std::string ItemName; std::string Locale; - uint32 Index; - int32 ReferenceTime; + uint32 Index = 0; + int32 ReferenceTime = 0; }; class GetStreamItemsResponse final : public ServerPacket @@ -70,7 +70,7 @@ namespace Battlenet void Write() override; std::string ToString() const override; - uint32 Index; + uint32 Index = 0; std::vector<ModuleInfo*> Modules; }; } diff --git a/src/server/bnetserver/Packets/ConnectionPackets.h b/src/server/bnetserver/Packets/ConnectionPackets.h index 8572cd5d854..238b2bff760 100644 --- a/src/server/bnetserver/Packets/ConnectionPackets.h +++ b/src/server/bnetserver/Packets/ConnectionPackets.h @@ -63,6 +63,8 @@ namespace Battlenet void Read() override { } std::string ToString() const override; void CallHandler(Session* session) override; + uint8* GetRemainingData() { return _stream.GetBuffer() + (((_stream.GetReadPos() + 7) & ~7) / 8); } + size_t GetRemainingSize() { return _stream.GetSize() - (((_stream.GetReadPos() + 7) & ~7) / 8); } }; class LogoutRequest final : public ClientPacket @@ -89,8 +91,8 @@ namespace Battlenet void Read() override; std::string ToString() const override; - uint16 Timeout; - uint32 Tick; + uint16 Timeout = 0; + uint32 Tick = 0; }; class ConnectionClosing final : public ClientPacket diff --git a/src/server/bnetserver/Packets/FriendsPackets.cpp b/src/server/bnetserver/Packets/FriendsPackets.cpp index 2659ec6204f..8b5d92389af 100644 --- a/src/server/bnetserver/Packets/FriendsPackets.cpp +++ b/src/server/bnetserver/Packets/FriendsPackets.cpp @@ -20,8 +20,8 @@ void Battlenet::Friends::GetFriendsOfFriend::Read() { - uint8 unk = _stream.Read<uint8>(2); - uint32 unk1 = _stream.Read<uint32>(32); + _stream.Read<uint8>(2); + _stream.Read<uint32>(32); } std::string Battlenet::Friends::GetFriendsOfFriend::ToString() const diff --git a/src/server/bnetserver/Packets/FriendsPackets.h b/src/server/bnetserver/Packets/FriendsPackets.h index ea4d6d2ea92..12935ddc4da 100644 --- a/src/server/bnetserver/Packets/FriendsPackets.h +++ b/src/server/bnetserver/Packets/FriendsPackets.h @@ -78,7 +78,7 @@ namespace Battlenet std::string ToString() const override; void CallHandler(Session* session) override; - uint32 SocialNetworkId; + uint32 SocialNetworkId = 0; }; class RealIdFriendInvite final : public ClientPacket diff --git a/src/server/bnetserver/Packets/WoWRealmPackets.h b/src/server/bnetserver/Packets/WoWRealmPackets.h index b411c63100a..dc958db501b 100644 --- a/src/server/bnetserver/Packets/WoWRealmPackets.h +++ b/src/server/bnetserver/Packets/WoWRealmPackets.h @@ -78,7 +78,7 @@ namespace Battlenet std::string ToString() const override; void CallHandler(Session* session) override; - uint32 ClientSeed; + uint32 ClientSeed = 0; RealmId Realm; }; diff --git a/src/server/bnetserver/Server/Session.cpp b/src/server/bnetserver/Server/Session.cpp index 0a5a2de499a..fd6784152e8 100644 --- a/src/server/bnetserver/Server/Session.cpp +++ b/src/server/bnetserver/Server/Session.cpp @@ -393,9 +393,10 @@ void Battlenet::Session::HandlePing(Connection::Ping const& /*ping*/) AsyncWrite(new Connection::Pong()); } -void Battlenet::Session::HandleEnableEncryption(Connection::EnableEncryption const& /*enableEncryption*/) +void Battlenet::Session::HandleEnableEncryption(Connection::EnableEncryption& enableEncryption) { _crypt.Init(&K); + _crypt.DecryptRecv(enableEncryption.GetRemainingData(), enableEncryption.GetRemainingSize()); } void Battlenet::Session::HandleLogoutRequest(Connection::LogoutRequest const& /*logoutRequest*/) diff --git a/src/server/bnetserver/Server/Session.h b/src/server/bnetserver/Server/Session.h index ded5170ae32..4a1feb7c8a8 100644 --- a/src/server/bnetserver/Server/Session.h +++ b/src/server/bnetserver/Server/Session.h @@ -69,7 +69,7 @@ namespace Battlenet // Connection void HandlePing(Connection::Ping const& ping); - void HandleEnableEncryption(Connection::EnableEncryption const& enableEncryption); + void HandleEnableEncryption(Connection::EnableEncryption& enableEncryption); void HandleLogoutRequest(Connection::LogoutRequest const& logoutRequest); void HandleConnectionClosing(Connection::ConnectionClosing const& connectionClosing); |
