From 0de6d22da36e8f0bc4ba30ae26860f2b3c039e5e Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 5 Jul 2015 00:39:32 +0200 Subject: Core/PacketIO: Updated and enabled SMSG_CONNECT_TO --- .../game/Server/Packets/AuthenticationPackets.cpp | 454 ++++++++++----------- src/server/game/Server/Protocol/Opcodes.cpp | 2 +- 2 files changed, 228 insertions(+), 228 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp index 40af397e110..74f558baa73 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.cpp +++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp @@ -318,258 +318,258 @@ WorldPacket const* WorldPackets::Auth::ConnectTo::Write() uint8* hmac = hmacHash.GetDigest(); - payload << uint8((port >> 8) & 0xFF); - payload << uint8(PiDigits[59]); - payload << uint8(address[4]); - payload << uint8(PiDigits[18]); - payload << uint8(PiDigits[50]); - payload << uint8(PiDigits[95]); - payload << uint8(PiDigits[101]); - payload << uint8(Payload.PanamaKey[9]); - payload << uint8(PiDigits[70]); - payload << uint8(PiDigits[56]); - payload << uint8(PiDigits[28]); - payload << uint8(Haiku[63]); - payload << uint8(Haiku[30]); - payload << uint8(PiDigits[42]); - payload << uint8(PiDigits[93]); - payload << uint8(address[15]); - payload << uint8(PiDigits[2]); - payload << uint8(PiDigits[1]); + payload << uint8(PiDigits[31]); + payload << uint8(Haiku[24]); + payload << uint8(address[2]); payload << uint8(address[1]); - payload << uint8(PiDigits[94]); - payload << uint8(PiDigits[26]); + payload << uint8(PiDigits[90]); + payload << uint8(Haiku[28]); + payload << uint8(PiDigits[89]); + payload << uint8(PiDigits[68]); payload << uint8(PiDigits[39]); - payload << uint8(Haiku[19]); - payload << uint8(PiDigits[46]); - payload << uint8(PiDigits[13]); - payload << uint8(Haiku[70]); - payload << uint8(Haiku[45]); - payload << uint8(PiDigits[7]); - payload << uint8(Haiku[50]); - payload << uint8(Payload.PanamaKey[0]); - payload << uint8(address[10]); - payload << uint8(Payload.PanamaKey[27]); - payload << uint8(Payload.PanamaKey[21]); - payload << uint8(hmac[2]); - payload << uint8(PiDigits[37]); - payload << uint8(Haiku[61]); - payload << uint8(PiDigits[83]); - payload << uint8(PiDigits[47]); - payload << uint8(Haiku[37]); - payload << uint8(Haiku[46]); + payload << uint8(Payload.PanamaKey[3]); + payload << uint8(PiDigits[64]); + payload << uint8(Payload.PanamaKey[31]); payload << uint8(PiDigits[73]); - payload << uint8(Payload.PanamaKey[30]); - payload << uint8(address[9]); - payload << uint8(address[11]); - payload << uint8(PiDigits[20]); + payload << uint8(Payload.PanamaKey[17]); + payload << uint8(hmac[8]); + payload << uint8(Haiku[58]); + payload << uint8(Haiku[16]); + payload << uint8(PiDigits[36]); + payload << uint8(PiDigits[23]); + payload << uint8(PiDigits[84]); + payload << uint8(PiDigits[91]); + payload << uint8(Haiku[42]); + payload << uint8(Haiku[46]); + payload << uint8(PiDigits[81]); + payload << uint8(hmac[5]); + payload << uint8(Haiku[35]); + payload << uint8(Haiku[3]); payload << uint8(Haiku[54]); - payload << uint8(Payload.PanamaKey[23]); - payload << uint8(PiDigits[38]); - payload << uint8(hmac[1]); - payload << uint8(address[8]); - payload << uint8(PiDigits[43]); - payload << uint8(Payload.PanamaKey[15]); - payload << uint8(PiDigits[97]); - payload << uint8(Haiku[55]); + payload << uint8(PiDigits[9]); + payload << uint8(PiDigits[26]); + payload << uint8(Haiku[20]); + payload << uint8(Haiku[53]); + payload << uint8(Payload.PanamaKey[2]); + payload << uint8(PiDigits[42]); + payload << uint8(PiDigits[99]); + payload << uint8(address[13]); + payload << uint8(PiDigits[59]); + payload << uint8(PiDigits[18]); + payload << uint8(PiDigits[44]); + payload << uint8(PiDigits[49]); + payload << uint8(address[4]); + payload << uint8(PiDigits[106]); payload << uint8(Payload.PanamaKey[24]); - payload << uint8(PiDigits[36]); - payload << uint8(Haiku[48]); + payload << uint8(PiDigits[107]); + payload << uint8(Payload.PanamaKey[4]); + payload << uint8(Haiku[0]); + payload << uint8(Haiku[7]); + payload << uint8(PiDigits[74]); + payload << uint8(PiDigits[85]); + payload << uint8(hmac[2]); + payload << uint8(Haiku[51]); + payload << uint8(PiDigits[22]); + payload << uint8(Payload.PanamaKey[8]); + payload << uint8(PiDigits[92]); + payload << uint8(Haiku[32]); payload << uint8(Haiku[41]); - payload << uint8(Haiku[22]); - payload << uint8(Payload.PanamaKey[18]); - payload << uint8(PiDigits[25]); - payload << uint8(Haiku[36]); + payload << uint32(Payload.Adler32); payload << uint8(PiDigits[52]); - payload << uint8(Haiku[53]); - payload << uint8(Haiku[15]); - payload << uint8(PiDigits[87]); - payload << uint8(PiDigits[21]); - payload << uint8(Payload.XorMagic); - payload << uint8(Payload.PanamaKey[1]); - payload << uint8(Haiku[44]); - payload << uint8(Payload.PanamaKey[16]); - payload << uint8(PiDigits[80]); - payload << uint8(address[12]); - payload << uint8(PiDigits[81]); - payload << uint8(Haiku[69]); + payload << uint8(Haiku[9]); payload << uint8(PiDigits[61]); - payload << uint8(PiDigits[69]); - payload << uint8(PiDigits[96]); - payload << uint8(Haiku[68]); - payload << uint8(Haiku[18]); - payload << uint8(PiDigits[41]); - payload << uint8(Haiku[56]); - payload << uint8(PiDigits[74]); - payload << uint8(Payload.PanamaKey[7]); - payload << uint8(Haiku[20]); - payload << uint8(PiDigits[3]); - payload << uint8(hmac[4]); - payload << uint8(Payload.PanamaKey[26]); - payload << uint8(Haiku[14]); - payload << uint8(Payload.PanamaKey[6]); - payload << uint8(Payload.PanamaKey[5]); - payload << uint8(PiDigits[89]); + payload << uint8(PiDigits[5]); + payload << uint8(hmac[0]); + payload << uint8(hmac[7]); + payload << uint8(PiDigits[83]); + payload << uint8(hmac[10]); payload << uint8(hmac[3]); - payload << uint8(PiDigits[60]); + payload << uint8(PiDigits[34]); + payload << uint8(address[8]); + payload << uint8(PiDigits[15]); + payload << uint8(Haiku[39]); + payload << uint8(PiDigits[103]); + payload << uint8(hmac[15]); + payload << uint8(Haiku[11]); payload << uint8(PiDigits[54]); - payload << uint8(PiDigits[67]); + payload << uint8(Haiku[68]); + payload << uint8(PiDigits[4]); + payload << uint8(Haiku[2]); + payload << uint8(addressType); payload << uint8(Haiku[52]); - payload << uint8(PiDigits[32]); - payload << uint8(Haiku[29]); - payload << uint8(address[2]); - payload << uint8(PiDigits[44]); - payload << uint8(PiDigits[78]); - payload << uint8(Haiku[65]); - payload << uint8(PiDigits[51]); - payload << uint8(PiDigits[72]); - payload << uint8(PiDigits[53]); - payload << uint8(Haiku[49]); - payload << uint8(PiDigits[6]); - payload << uint8(Haiku[33]); - payload << uint8(Haiku[28]); - payload << uint8(Haiku[0]); - payload << uint8(Payload.PanamaKey[20]); - payload << uint8(PiDigits[75]); + payload << uint8(PiDigits[105]); + payload << uint8(Payload.PanamaKey[21]); + payload << uint8(Payload.XorMagic); + payload << uint8(hmac[1]); + payload << uint8(PiDigits[30]); + payload << uint8(PiDigits[2]); + payload << uint8(PiDigits[101]); + payload << uint8(PiDigits[8]); + payload << uint8(address[10]); + payload << uint8(Payload.PanamaKey[27]); + payload << uint8(hmac[16]); + payload << uint8(Payload.PanamaKey[6]); + payload << uint8(PiDigits[98]); + payload << uint8(PiDigits[104]); + payload << uint8((port >> 8) & 0xFF); payload << uint8(address[6]); - payload << uint8(PiDigits[86]); - payload << uint8(Haiku[60]); + payload << uint8(Payload.PanamaKey[12]); + payload << uint8(PiDigits[50]); + payload << uint8(Haiku[19]); + payload << uint8(PiDigits[1]); + payload << uint8(PiDigits[82]); + payload << uint8(PiDigits[35]); + payload << uint8(PiDigits[14]); + payload << uint8(hmac[19]); + payload << uint8(PiDigits[40]); + payload << uint8(PiDigits[62]); + payload << uint8(PiDigits[72]); + payload << uint8(PiDigits[80]); + payload << uint8(Haiku[31]); + payload << uint8(PiDigits[47]); + payload << uint8(PiDigits[60]); + payload << uint8(PiDigits[19]); + payload << uint8(Payload.PanamaKey[14]); + payload << uint8(PiDigits[67]); + payload << uint8(Payload.PanamaKey[13]); + payload << uint8(Payload.PanamaKey[18]); + payload << uint8(PiDigits[16]); + payload << uint8(address[12]); + payload << uint8(port & 0xFF); + payload << uint8(Haiku[36]); + payload << uint8(Haiku[44]); + payload << uint8(PiDigits[77]); + payload << uint8(Haiku[61]); + payload << uint8(PiDigits[20]); + payload << uint8(PiDigits[0]); payload << uint8(hmac[12]); - payload << uint8(Haiku[35]); - payload << uint8(PiDigits[45]); - payload << uint8(Haiku[67]); - payload << uint8(Haiku[26]); + payload << uint8(PiDigits[12]); + payload << uint8(address[9]); + payload << uint8(PiDigits[100]); + payload << uint8(hmac[11]); + payload << uint8(hmac[13]); + payload << uint8(Haiku[37]); + payload << uint8(Haiku[70]); + payload << uint8(Haiku[63]); + payload << uint8(PiDigits[93]); + payload << uint8(Haiku[18]); + payload << uint8(Haiku[15]); + payload << uint8(Payload.PanamaKey[28]); + payload << uint8(Haiku[23]); + payload << uint8(hmac[17]); + payload << uint8(PiDigits[65]); + payload << uint8(PiDigits[27]); payload << uint8(PiDigits[57]); - payload << uint8(PiDigits[90]); + payload << uint8(address[11]); + payload << uint8(PiDigits[17]); + payload << uint8(Payload.PanamaKey[20]); + payload << uint8(Haiku[64]); + payload << uint8(Payload.PanamaKey[5]); + payload << uint8(PiDigits[41]); + payload << uint8(PiDigits[25]); + payload << uint8(address[5]); + payload << uint8(PiDigits[37]); + payload << uint8(PiDigits[46]); + payload << uint8(Haiku[65]); + payload << uint8(Haiku[12]); + payload << uint8(PiDigits[95]); + payload << uint8(PiDigits[96]); + payload << uint8(PiDigits[94]); + payload << uint8(Haiku[43]); + payload << uint8(PiDigits[10]); + payload << uint8(PiDigits[86]); + payload << uint8(Haiku[10]); + payload << uint8(Payload.PanamaKey[15]); + payload << uint8(PiDigits[75]); payload << uint8(Haiku[5]); - payload << uint8(Haiku[13]); - payload << uint8(Haiku[8]); + payload << uint8(Haiku[25]); + payload << uint8(PiDigits[33]); + payload << uint8(Haiku[6]); + payload << uint8(Payload.PanamaKey[30]); + payload << uint8(hmac[6]); + payload << uint8(Haiku[59]); + payload << uint8(PiDigits[45]); + payload << uint8(Haiku[57]); + payload << uint8(Haiku[29]); + payload << uint8(Haiku[14]); + payload << uint8(Haiku[30]); + payload << uint8(PiDigits[66]); + payload << uint8(PiDigits[3]); + payload << uint8(hmac[18]); payload << uint8(Haiku[17]); - payload << uint8(Payload.PanamaKey[10]); - payload << uint8(PiDigits[104]); - payload << uint8(address[0]); - payload << uint8(PiDigits[15]); - payload << uint8(hmac[19]); - payload << uint8(PiDigits[8]); - payload << uint8(PiDigits[64]); - payload << uint8(PiDigits[27]); - payload << uint8(Haiku[7]); - payload << uint8(hmac[10]); - payload << uint8(hmac[14]); - payload << uint8(Haiku[10]); - payload << uint8(Haiku[2]); + payload << uint8(PiDigits[21]); + payload << uint8(Haiku[4]); + payload << uint8(Haiku[26]); + payload << uint8(Haiku[45]); payload << uint8(address[14]); - payload << uint8(Haiku[21]); - payload << uint32(Payload.Adler32); - payload << uint8(Payload.PanamaKey[14]); - payload << uint8(Haiku[39]); - payload << uint8(Payload.PanamaKey[19]); - payload << uint8(PiDigits[16]); - payload << uint8(PiDigits[91]); - payload << uint8(hmac[6]); - payload << uint8(addressType); - payload << uint8(hmac[16]); + payload << uint8(PiDigits[69]); + payload << uint8(PiDigits[38]); + payload << uint8(Haiku[38]); payload << uint8(PiDigits[63]); - payload << uint8(PiDigits[12]); - payload << uint8(PiDigits[102]); - payload << uint8(PiDigits[62]); - payload << uint8(PiDigits[22]); - payload << uint8(Haiku[32]); - payload << uint8(PiDigits[14]); - payload << uint8(PiDigits[30]); - payload << uint8(Haiku[16]); + payload << uint8(PiDigits[6]); + payload << uint8(Haiku[62]); + payload << uint8(Haiku[55]); + payload << uint8(Haiku[60]); + payload << uint8(address[15]); + payload << uint8(PiDigits[97]); + payload << uint8(PiDigits[87]); + payload << uint8(PiDigits[78]); + payload << uint8(Haiku[34]); + payload << uint8(hmac[14]); + payload << uint8(PiDigits[88]); + payload << uint8(Payload.PanamaKey[7]); + payload << uint8(hmac[4]); + payload << uint8(Haiku[8]); + payload << uint8(Payload.PanamaKey[29]); + payload << uint8(PiDigits[24]); + payload << uint8(Payload.PanamaKey[1]); + payload << uint8(Haiku[69]); payload << uint8(Haiku[47]); - payload << uint8(Haiku[9]); - payload << uint8(PiDigits[34]); - payload << uint8(Payload.PanamaKey[4]); - payload << uint8(PiDigits[29]); - payload << uint8(PiDigits[76]); + payload << uint8(hmac[9]); + payload << uint8(Payload.PanamaKey[26]); payload << uint8(Haiku[40]); - payload << uint8(Haiku[59]); - payload << uint8(PiDigits[5]); - payload << uint8(PiDigits[31]); - payload << uint8(Haiku[43]); - payload << uint8(Haiku[3]); - payload << uint8(PiDigits[0]); - payload << uint8(PiDigits[49]); - payload << uint8(Haiku[24]); - payload << uint8(Payload.PanamaKey[17]); - payload << uint8(Haiku[62]); - payload << uint8(Payload.PanamaKey[13]); - payload << uint8(hmac[5]); + payload << uint8(Haiku[48]); + payload << uint8(PiDigits[28]); + payload << uint8(Haiku[50]); + payload << uint8(Payload.PanamaKey[25]); + payload << uint8(PiDigits[102]); + payload << uint8(PiDigits[53]); + payload << uint8(Haiku[56]); + payload << uint8(PiDigits[56]); + payload << uint8(PiDigits[32]); + payload << uint8(PiDigits[79]); + payload << uint8(Payload.PanamaKey[0]); + payload << uint8(Payload.PanamaKey[10]); + payload << uint8(Haiku[21]); payload << uint8(Haiku[27]); - payload << uint8(hmac[13]); - payload << uint8(address[5]); - payload << uint8(Payload.PanamaKey[3]); + payload << uint8(PiDigits[7]); + payload << uint8(PiDigits[48]); + payload << uint8(Payload.PanamaKey[22]); + payload << uint8(Payload.PanamaKey[11]); + payload << uint8(PiDigits[43]); + payload << uint8(address[0]); + payload << uint8(Payload.PanamaKey[23]); + payload << uint8(PiDigits[70]); + payload << uint8(Payload.PanamaKey[19]); + payload << uint8(PiDigits[29]); payload << uint8(PiDigits[71]); - payload << uint8(Haiku[38]); - payload << uint8(PiDigits[98]); - payload << uint8(PiDigits[100]); - payload << uint8(PiDigits[66]); - payload << uint8(Haiku[6]); - payload << uint8(PiDigits[40]); - payload << uint8(Haiku[31]); - payload << uint8(PiDigits[17]); - payload << uint8(PiDigits[92]); - payload << uint8(address[3]); - payload << uint8(Payload.PanamaKey[8]); - payload << uint8(PiDigits[88]); - payload << uint8(PiDigits[65]); - payload << uint8(Payload.PanamaKey[31]); - payload << uint8(PiDigits[58]); - payload << uint8(Payload.PanamaKey[2]); - payload << uint8(PiDigits[79]); - payload << uint8(Haiku[66]); - payload << uint8(PiDigits[24]); - payload << uint8(Haiku[34]); - payload << uint8(PiDigits[77]); - payload << uint8(Haiku[58]); - payload << uint8(Haiku[1]); - payload << uint8(PiDigits[10]); - payload << uint8(PiDigits[107]); payload << uint8(PiDigits[55]); - payload << uint8(Haiku[12]); - payload << uint8(PiDigits[106]); - payload << uint8(hmac[8]); - payload << uint8(PiDigits[105]); - payload << uint8(Payload.PanamaKey[12]); - payload << uint8(PiDigits[4]); + payload << uint8(Haiku[49]); + payload << uint8(Haiku[33]); + payload << uint8(Haiku[66]); + payload << uint8(Payload.PanamaKey[16]); payload << uint8(PiDigits[11]); - payload << uint8(PiDigits[99]); - payload << uint8(Haiku[23]); - payload << uint8(Haiku[42]); - payload << uint8(Haiku[4]); - payload << uint8(PiDigits[19]); - payload << uint8(PiDigits[48]); - payload << uint8(PiDigits[85]); - payload << uint8(hmac[15]); - payload << uint8(PiDigits[82]); - payload << uint8(PiDigits[103]); - payload << uint8(address[13]); - payload << uint8(PiDigits[23]); - payload << uint8(Haiku[64]); - payload << uint8(Haiku[11]); - payload << uint8(hmac[11]); - payload << uint8(hmac[0]); - payload << uint8(PiDigits[68]); - payload << uint8(Haiku[57]); - payload << uint8(hmac[18]); - payload << uint8(PiDigits[9]); - payload << uint8(hmac[9]); - payload << uint8(hmac[7]); - payload << uint8(Payload.PanamaKey[29]); - payload << uint8(Haiku[51]); - payload << uint8(Payload.PanamaKey[11]); - payload << uint8(Haiku[25]); - payload << uint8(Payload.PanamaKey[22]); + payload << uint8(PiDigits[13]); + payload << uint8(PiDigits[51]); + payload << uint8(Haiku[13]); + payload << uint8(Haiku[67]); + payload << uint8(Haiku[22]); + payload << uint8(PiDigits[58]); + payload << uint8(Haiku[1]); payload << uint8(address[7]); - payload << uint8(hmac[17]); - payload << uint8(PiDigits[35]); - payload << uint8(PiDigits[84]); - payload << uint8(PiDigits[33]); - payload << uint8(Payload.PanamaKey[25]); - payload << uint8(port & 0xFF); - payload << uint8(Payload.PanamaKey[28]); + payload << uint8(address[3]); + payload << uint8(PiDigits[76]); + payload << uint8(Payload.PanamaKey[9]); BigNumber bnData; bnData.SetBinary(payload.contents(), payload.size()); diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index bdf52776f31..0d0d5257f7e 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1033,7 +1033,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLAINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLETE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_PACKET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONNECT_TO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONNECT_TO, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONSOLE_WRITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); -- cgit v1.2.3