diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index 255b8bf..d0752e4 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -1,3 +1,4 @@ +#define _DEBUG 1 #include "common.h" #include "Auth/Sha1.h" @@ -182,7 +183,7 @@ void WorldSession::HandleWorldPacket(WorldPacket *packet) bool known = false; uint16 hpos; - + logdebug("Handling packet with opcode %u",packet->GetOpcode()); for (hpos = 0; table[hpos].handler != NULL; hpos++) { if (table[hpos].opcode == packet->GetOpcode()) @@ -521,12 +522,16 @@ std::string WorldSession::GetOrRequestPlayerName(uint64 guid) void WorldSession::_HandleAuthChallengeOpcode(WorldPacket& recvPacket) { std::string acc = stringToUpper(GetInstance()->GetConf()->accname); + uint32 sp; + recvPacket >> sp; uint32 serverseed; recvPacket >> serverseed; + logdebug("Auth: serverseed=0x%X",serverseed); Sha1Hash digest; digest.UpdateData(acc); uint32 unk=0; + uint64 unk4=0; digest.UpdateData((uint8*)&unk,sizeof(uint32)); BigNumber clientseed; clientseed.SetRand(8*4); @@ -536,7 +541,7 @@ void WorldSession::_HandleAuthChallengeOpcode(WorldPacket& recvPacket) digest.UpdateBigNumbers(GetInstance()->GetSessionKey(),NULL); digest.Finalize(); WorldPacket auth; - auth<<(uint32)(GetInstance()->GetConf()->clientbuild)<GetConf()->clientbuild)<> errcode; recvPacket >> dummy32 >> dummy8 >> dummy32; recvPacket >> expansion; - // TODO: add data to generic_text.scp and use the strings here if(errcode == AUTH_OK) { diff --git a/src/shared/ByteBuffer.h b/src/shared/ByteBuffer.h index 5336949..9bf9525 100644 --- a/src/shared/ByteBuffer.h +++ b/src/shared/ByteBuffer.h @@ -25,6 +25,7 @@ #include #if defined( __GNUC__ ) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100)>=40300 #include + #include #endif class ByteBufferException