From 3402b274b847cf5adef6beb1d1bd81eb01300898 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 11 Mar 2015 17:26:21 +0300 Subject: eathena: add partial support for packet SMSG_LOGIN_CODING_KEY 0x01dc. --- src/net/eathena/loginhandler.cpp | 12 ++++++++++++ src/net/eathena/loginhandler.h | 3 +++ src/net/eathena/protocol.h | 1 + 3 files changed, 16 insertions(+) diff --git a/src/net/eathena/loginhandler.cpp b/src/net/eathena/loginhandler.cpp index 090435e0e..c7cee6b2e 100644 --- a/src/net/eathena/loginhandler.cpp +++ b/src/net/eathena/loginhandler.cpp @@ -55,6 +55,7 @@ LoginHandler::LoginHandler() : SMSG_LOGIN_ERROR2, SMSG_SERVER_VERSION_RESPONSE, SMSG_UPDATE_HOST, + SMSG_LOGIN_CODING_KEY, 0 }; handledMessages = _messages; @@ -89,6 +90,10 @@ void LoginHandler::handleMessage(Net::MessageIn &msg) processUpdateHost(msg); break; + case SMSG_LOGIN_CODING_KEY: + processCondingKey(msg); + break; + default: break; } @@ -263,6 +268,13 @@ void LoginHandler::processServerVersion(Net::MessageIn &msg) client->setState(STATE_LOGIN); } +void LoginHandler::processCondingKey(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + const int sz = msg.readInt16("len") - 4; + msg.readString(sz, "coding key"); +} + int LoginHandler::supportedOptionalActions() const { return serverFeatures->haveEmailOnRegister() diff --git a/src/net/eathena/loginhandler.h b/src/net/eathena/loginhandler.h index fb76605ac..38cacc380 100644 --- a/src/net/eathena/loginhandler.h +++ b/src/net/eathena/loginhandler.h @@ -63,12 +63,15 @@ class LoginHandler final : public MessageHandler, public Ea::LoginHandler int supportedOptionalActions() const override final A_WARN_UNUSED; + protected: static void processLoginError2(Net::MessageIn &msg); static void processUpdateHost2(Net::MessageIn &msg); static void processServerVersion(Net::MessageIn &msg); + static void processCondingKey(Net::MessageIn &msg); + private: void sendLoginRegister(const std::string &restrict username, const std::string &restrict password, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 72bfc4f75..49a74e3aa 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -35,6 +35,7 @@ #define SMSG_LOGIN_DATA 0x0069 #define SMSG_LOGIN_ERROR 0x006a #define SMSG_LOGIN_ERROR2 0x083e +#define SMSG_LOGIN_CODING_KEY 0x01dc // unused #define SMSG_CHAR_LOGIN 0x006b -- cgit v1.2.3-70-g09d2