Backports from 400 branch.

This commit is contained in:
tomrus88 2010-11-15 18:01:45 +03:00
parent bf774f49ce
commit 76dfdd336f
32 changed files with 223 additions and 210 deletions

View file

@ -244,7 +244,7 @@ int WorldSocket::open (void *a)
m_Address = remote_addr.get_host_addr ();
// Send startup packet.
WorldPacket packet (SMSG_AUTH_CHALLENGE, 24);
WorldPacket packet (SMSG_AUTH_CHALLENGE, 40);
packet << uint32(1); // 1...31
packet << m_Seed;
@ -742,35 +742,30 @@ int WorldSocket::HandleAuthSession (WorldPacket& recvPacket)
{
// NOTE: ATM the socket is singlethread, have this in mind ...
uint8 digest[20];
uint32 clientSeed;
uint32 unk2, unk3, unk5, unk6, unk7;
uint64 unk4;
uint32 clientSeed, id, security;
uint32 ClientBuild;
uint32 id, security;
uint8 expansion = 0;
LocaleConstant locale;
std::string account;
Sha1Hash sha1;
BigNumber v, s, g, N;
WorldPacket packet, SendAddonPacked;
BigNumber K;
BigNumber v, s, g, N, K;
WorldPacket packet;
// Read the content of the packet
recvPacket >> ClientBuild;
recvPacket >> unk2;
recvPacket.read_skip<uint32>();
recvPacket >> account;
recvPacket >> unk3;
recvPacket.read_skip<uint32>();
recvPacket >> clientSeed;
recvPacket >> unk5 >> unk6 >> unk7;
recvPacket >> unk4;
recvPacket.read_skip<uint32>();
recvPacket.read_skip<uint32>();
recvPacket.read_skip<uint32>();
recvPacket.read_skip<uint64>();
recvPacket.read (digest, 20);
DEBUG_LOG ("WorldSocket::HandleAuthSession: client %u, unk2 %u, account %s, unk3 %u, clientseed %u",
DEBUG_LOG ("WorldSocket::HandleAuthSession: client build %u, account %s, clientseed %X",
ClientBuild,
unk2,
account.c_str (),
unk3,
account.c_str(),
clientSeed);
// Check the version of client trying to connect