diff --git a/src/realmd/AuthCodes.h b/src/realmd/AuthCodes.h index 37e6e8adb..9ea4d8b83 100644 --- a/src/realmd/AuthCodes.h +++ b/src/realmd/AuthCodes.h @@ -25,17 +25,33 @@ enum eAuthCmd { - AUTH_LOGON_CHALLENGE = 0x00, - AUTH_LOGON_PROOF = 0x01, - AUTH_RECONNECT_CHALLENGE = 0x02, - AUTH_RECONNECT_PROOF = 0x03, - //update srv =4 - REALM_LIST = 0x10, - XFER_INITIATE = 0x30, - XFER_DATA = 0x31, - XFER_ACCEPT = 0x32, - XFER_RESUME = 0x33, - XFER_CANCEL = 0x34 + CMD_AUTH_LOGON_CHALLENGE = 0x00, + CMD_AUTH_LOGON_PROOF = 0x01, + CMD_AUTH_RECONNECT_CHALLENGE = 0x02, + CMD_AUTH_RECONNECT_PROOF = 0x03, + CMD_REALM_LIST = 0x10, + CMD_XFER_INITIATE = 0x30, + CMD_XFER_DATA = 0x31, + // these opcodes no longer exist in currently supported client + CMD_XFER_ACCEPT = 0x32, + CMD_XFER_RESUME = 0x33, + CMD_XFER_CANCEL = 0x34 +}; + +// not used by us currently +enum eAuthSrvCmd +{ + CMD_GRUNT_AUTH_CHALLENGE = 0x0, + CMD_GRUNT_AUTH_VERIFY = 0x2, + CMD_GRUNT_CONN_PING = 0x10, + CMD_GRUNT_CONN_PONG = 0x11, + CMD_GRUNT_HELLO = 0x20, + CMD_GRUNT_PROVESESSION = 0x21, + CMD_GRUNT_KICK = 0x24, + CMD_GRUNT_PCWARNING = 0x29, + CMD_GRUNT_STRINGS = 0x41, + CMD_GRUNT_SUNKENUPDATE = 0x44, + CMD_GRUNT_SUNKEN_ONLINE = 0x46 }; enum AuthResult diff --git a/src/realmd/AuthSocket.cpp b/src/realmd/AuthSocket.cpp index 795da2e82..6f83400eb 100644 --- a/src/realmd/AuthSocket.cpp +++ b/src/realmd/AuthSocket.cpp @@ -159,14 +159,14 @@ typedef struct AuthHandler const AuthHandler table[] = { - { AUTH_LOGON_CHALLENGE, STATUS_CONNECTED, &AuthSocket::_HandleLogonChallenge }, - { AUTH_LOGON_PROOF, STATUS_CONNECTED, &AuthSocket::_HandleLogonProof }, - { AUTH_RECONNECT_CHALLENGE, STATUS_CONNECTED, &AuthSocket::_HandleReconnectChallenge}, - { AUTH_RECONNECT_PROOF, STATUS_CONNECTED, &AuthSocket::_HandleReconnectProof }, - { REALM_LIST, STATUS_AUTHED, &AuthSocket::_HandleRealmList }, - { XFER_ACCEPT, STATUS_CONNECTED, &AuthSocket::_HandleXferAccept }, - { XFER_RESUME, STATUS_CONNECTED, &AuthSocket::_HandleXferResume }, - { XFER_CANCEL, STATUS_CONNECTED, &AuthSocket::_HandleXferCancel } + { CMD_AUTH_LOGON_CHALLENGE, STATUS_CONNECTED, &AuthSocket::_HandleLogonChallenge }, + { CMD_AUTH_LOGON_PROOF, STATUS_CONNECTED, &AuthSocket::_HandleLogonProof }, + { CMD_AUTH_RECONNECT_CHALLENGE, STATUS_CONNECTED, &AuthSocket::_HandleReconnectChallenge}, + { CMD_AUTH_RECONNECT_PROOF, STATUS_CONNECTED, &AuthSocket::_HandleReconnectProof }, + { CMD_REALM_LIST, STATUS_AUTHED, &AuthSocket::_HandleRealmList }, + { CMD_XFER_ACCEPT, STATUS_CONNECTED, &AuthSocket::_HandleXferAccept }, + { CMD_XFER_RESUME, STATUS_CONNECTED, &AuthSocket::_HandleXferResume }, + { CMD_XFER_CANCEL, STATUS_CONNECTED, &AuthSocket::_HandleXferCancel } }; #define AUTH_TOTAL_COMMANDS sizeof(table)/sizeof(AuthHandler) @@ -279,7 +279,7 @@ void AuthSocket::SendProof(Sha1Hash sha) { sAuthLogonProof_S_BUILD_6005 proof; memcpy(proof.M2, sha.GetDigest(), 20); - proof.cmd = AUTH_LOGON_PROOF; + proof.cmd = CMD_AUTH_LOGON_PROOF; proof.error = 0; proof.unk2 = 0x00; @@ -296,7 +296,7 @@ void AuthSocket::SendProof(Sha1Hash sha) { sAuthLogonProof_S proof; memcpy(proof.M2, sha.GetDigest(), 20); - proof.cmd = AUTH_LOGON_PROOF; + proof.cmd = CMD_AUTH_LOGON_PROOF; proof.error = 0; proof.unk1 = 0x00800000; proof.unk2 = 0x00; @@ -361,7 +361,7 @@ bool AuthSocket::_HandleLogonChallenge() _safelogin = _login; LoginDatabase.escape_string(_safelogin); - pkt << (uint8) AUTH_LOGON_CHALLENGE; + pkt << (uint8) CMD_AUTH_LOGON_CHALLENGE; pkt << (uint8) 0x00; ///- Verify that this IP is not in the ip_banned table @@ -545,7 +545,7 @@ bool AuthSocket::_HandleLogonProof() { // no patch found ByteBuffer pkt; - pkt << (uint8) AUTH_LOGON_CHALLENGE; + pkt << (uint8) CMD_AUTH_LOGON_CHALLENGE; pkt << (uint8) 0x00; pkt << (uint8) WOW_FAIL_VERSION_INVALID; DEBUG_LOG("[AuthChallenge] %u is not a valid client version!", _build); @@ -571,11 +571,11 @@ bool AuthSocket::_HandleLogonProof() PatchCache::instance()->GetHash(tmp, (uint8*)&xferh.md5); } - uint8 data[2] = { AUTH_LOGON_PROOF, WOW_FAIL_VERSION_UPDATE}; + uint8 data[2] = { CMD_AUTH_LOGON_PROOF, WOW_FAIL_VERSION_UPDATE}; send((const char*)data, sizeof(data)); memcpy(&xferh, "0\x05Patch", 7); - xferh.cmd = XFER_INITIATE; + xferh.cmd = CMD_XFER_INITIATE; xferh.file_size = file_size; send((const char*)&xferh, sizeof(xferh)); @@ -680,7 +680,7 @@ bool AuthSocket::_HandleLogonProof() } else { - char data[4]= { AUTH_LOGON_PROOF, WOW_FAIL_UNKNOWN_ACCOUNT, 3, 0}; + char data[4]= { CMD_AUTH_LOGON_PROOF, WOW_FAIL_UNKNOWN_ACCOUNT, 3, 0}; send(data, sizeof(data)); BASIC_LOG("[AuthChallenge] account %s tried to login with wrong password!",_login.c_str ()); @@ -779,7 +779,7 @@ bool AuthSocket::_HandleReconnectChallenge() ///- Sending response ByteBuffer pkt; - pkt << (uint8) AUTH_RECONNECT_CHALLENGE; + pkt << (uint8) CMD_AUTH_RECONNECT_CHALLENGE; pkt << (uint8) 0x00; _reconnectProof.SetRand(16 * 8); pkt.append(_reconnectProof.AsByteArray(16),16); // 16 bytes random @@ -813,7 +813,7 @@ bool AuthSocket::_HandleReconnectProof() { ///- Sending response ByteBuffer pkt; - pkt << (uint8) AUTH_RECONNECT_PROOF; + pkt << (uint8) CMD_AUTH_RECONNECT_PROOF; pkt << (uint8) 0x00; pkt << (uint16) 0x00; // 2 bytes zeros send((char const*)pkt.contents(), pkt.size()); @@ -863,7 +863,7 @@ bool AuthSocket::_HandleRealmList() LoadRealmlist(pkt, id); ByteBuffer hdr; - hdr << (uint8) REALM_LIST; + hdr << (uint8) CMD_REALM_LIST; hdr << (uint16)pkt.size(); hdr.append(pkt); diff --git a/src/realmd/PatchHandler.cpp b/src/realmd/PatchHandler.cpp index 0527c313c..89ef9c887 100644 --- a/src/realmd/PatchHandler.cpp +++ b/src/realmd/PatchHandler.cpp @@ -107,7 +107,7 @@ int PatchHandler::svc(void) int flags = MSG_NOSIGNAL; Chunk data; - data.cmd = XFER_DATA; + data.cmd = CMD_XFER_DATA; ssize_t r; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 043fbd375..6e0e71efb 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10188" + #define REVISION_NR "10019" #endif // __REVISION_NR_H__