CMSG AUTH SESSION

From wowdev
Revision as of 19:55, 9 June 2021 by Deadbeef (talk | contribs) (Add next/previous packets)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

CMSG_AUTH_SESSION is a World Packet that initiates the connection between the client and the world server. It is preceded by SMSG_AUTH_CHALLENGE and succeeded by SMSG_AUTH_RESPONSE.

It is one of only two world packets with unencrypted headers, the other being SMSG_AUTH_CHALLENGE.

CMSG Header
Offset Size / Endianness Type Name Description
0x0 2 / Big uint16 size Size of the packet including the opcode field.
0x2 4 / Little uint32 opcode Opcode for the packet.
Determines the structure of the body.
Always 0x1ED.


Body
Offset Size / Endianness Type Name Description
0x0 4 / Little uint32 build Revision of client.
0x4 4 / Little uint32 server_id
0x8 - / Big char[] username Null terminated string.
- 4 / Little uint32 client_seed Client seed for proving knowledge of session key.
- 20 / Little uint8[20] client_proof Client proof of knowing the session key.
- 4 / Little uint32 decompressed_addon_info_size
- 4 / Little uint8[] compressed_addon_info This field lasts until the end of the packet.
The size of this can be calculated from the size field in the header.