SID_LOGONRESPONSE
| Protocol | BNCS |
|---|---|
| Directions | Client → Server and Server → Client |
| Used by |
Logs on to an account in the older logon. Same proof as SID_LOGONRESPONSE2, but a simpler reply.
Client → Server
| Type | Field | Notes | Confidence |
|---|---|---|---|
UINT32 |
Client token | Chosen by the client. | ✅ Verified |
UINT32 |
Server token | From SID_LOGONCHALLENGE or SID_LOGONCHALLENGEEX. |
✅ Verified |
VOID |
Password proof (20 bytes) | X-SHA-1 of: client token, server token, then X-SHA-1 of the lowercase password. | ✅ Verified |
STRING |
Account name | ✅ Verified |
Server → Client
| Type | Field | Notes | Confidence |
|---|---|---|---|
UINT32 |
Result | ✅ Verified |
Results
| Value | Meaning | Confidence |
|---|---|---|
0x00 | Logon failed. The reply doesn't say whether the account is missing or the password is wrong. | ✅ Verified |
0x01 | Logged on. | ✅ Verified |
Remarks
The success value is reversed. In this message 0x01 means success. In SID_LOGONRESPONSE2, 0x00 does.
Which server token. If a server never sends a logon challenge, older clients use 0 as the server token, and the proof must be checked with 0.
Appears in
Sources and credits
- BNETDocs Atlas server (MIT): message handler used to cross-check the layout
- Command Center: bnetccd session handling: older logon tested with a real Warcraft II client
- BNETDocs, Battle.net Chat Server Protocol Overview: written by Kyro, and edited 11 times since.
- BNETDocs, SID_LOGONRESPONSE (client to server): documented by the original BNETDocs contributors, and edited 3 times since.
- BNETDocs, SID_LOGONRESPONSE (server to client): documented by the original BNETDocs contributors, and edited 2 times since.
This page is written in our own words. BNETDocs is credited for its research; none of its text is copied. See Credits.