diff options
author | Haru <haru@dotalux.com> | 2017-12-17 23:34:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-17 23:34:58 +0100 |
commit | f385274cb59e251bc5aa3dc2fc918697523f7312 (patch) | |
tree | 30af8eceade42a24f517d96e6f4b2cbffee7e1d5 /src/login/lclif.c | |
parent | 082e635672c12be20e660091004c28920d9e2d43 (diff) | |
parent | ffd913f1323181eceed0aae178e9bdbea58e9c1d (diff) | |
download | hercules-f385274cb59e251bc5aa3dc2fc918697523f7312.tar.gz hercules-f385274cb59e251bc5aa3dc2fc918697523f7312.tar.bz2 hercules-f385274cb59e251bc5aa3dc2fc918697523f7312.tar.xz hercules-f385274cb59e251bc5aa3dc2fc918697523f7312.zip |
Merge pull request #1923 from 4144/fixpackets
Add support for Ragnarok zero clients, split packets.h again
Diffstat (limited to 'src/login/lclif.c')
-rw-r--r-- | src/login/lclif.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/login/lclif.c b/src/login/lclif.c index 47b2526c4..1870f9bc9 100644 --- a/src/login/lclif.c +++ b/src/login/lclif.c @@ -216,6 +216,15 @@ enum parsefunc_rcode lclif_parse_CA_SSO_LOGIN_REQ(int fd, struct login_session_d return PACKET_VALID; } +/// @copydoc lclif_interface_private::parse_CA_LOGIN_OTP() +enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd) __attribute__((nonnull (2))); +enum parsefunc_rcode lclif_parse_CA_LOGIN_OTP(int fd, struct login_session_data *sd) +{ + //const struct packet_CA_LOGIN_OTP *packet = RP2PTR(fd); + login->client_login_otp(fd, sd); + return PACKET_VALID; +} + /// @copydoc lclif_interface_private::parse_CA_REQ_HASH() enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) __attribute__((nonnull (2))); enum parsefunc_rcode lclif_parse_CA_REQ_HASH(int fd, struct login_session_data *sd) @@ -502,6 +511,7 @@ void packetdb_loaddb(void) packet_def(CA_LOGIN_PCBANG), packet_def(CA_LOGIN_HAN), packet_def2(CA_SSO_LOGIN_REQ, -1), + packet_def(CA_LOGIN_OTP), packet_def(CA_REQ_HASH), #undef packet_def #undef packet_def2 @@ -512,7 +522,7 @@ void packetdb_loaddb(void) for (i = 0; i < length; ++i) { int16 packet_id = packet[i].packet_id; - Assert_retb(packet_id >= MIN_PACKET_DB && packet_id < MAX_PACKET_DB); + Assert_retb(packet_id >= MIN_PACKET_DB && packet_id <= MAX_PACKET_DB); lclif->p->dbs->packet_db[packet_id].len = packet[i].packet_len; lclif->p->dbs->packet_db[packet_id].pFunc = packet[i].pFunc; } @@ -565,6 +575,7 @@ void lclif_defaults(void) lclif->p->parse_CA_LOGIN_PCBANG = lclif_parse_CA_LOGIN_PCBANG; lclif->p->parse_CA_LOGIN_HAN = lclif_parse_CA_LOGIN_HAN; lclif->p->parse_CA_SSO_LOGIN_REQ = lclif_parse_CA_SSO_LOGIN_REQ; + lclif->p->parse_CA_LOGIN_OTP = lclif_parse_CA_LOGIN_OTP; lclif->p->parse_CA_REQ_HASH = lclif_parse_CA_REQ_HASH; lclif->p->parse_CA_CHARSERVERCONNECT = lclif_parse_CA_CHARSERVERCONNECT; } |