From 66d23cea5f932471fa7a6d28764d41054dfbaafa Mon Sep 17 00:00:00 2001 From: gumi Date: Tue, 3 Apr 2018 14:04:45 -0400 Subject: relay the actual char login error instead of a hardcoded 0x42 --- src/char/char.cpp | 2 +- src/login/login.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/char/char.cpp b/src/char/char.cpp index 18fda91..8e687d6 100644 --- a/src/char/char.cpp +++ b/src/char/char.cpp @@ -1211,7 +1211,7 @@ void parse_tologin(Session *ls) if (fixed.invalid != 0) { Packet_Fixed<0x006c> fixed_6c; - fixed_6c.code = 0x42; + fixed_6c.code = fixed.invalid; send_fpacket<0x006c, 3>(s2, fixed_6c); } else if (char_conf.max_connect_user == 0 diff --git a/src/login/login.cpp b/src/login/login.cpp index 971516e..7d3e741 100644 --- a/src/login/login.cpp +++ b/src/login/login.cpp @@ -874,6 +874,7 @@ void parse_fromchar(Session *s) break; { + uint8_t invalid_code = 0x42; // 0x42 as default, for backward-compatibility with old clients AccountId acc = fixed.account_id; int i; for (i = 0; i < AUTH_FIFO_SIZE; i++) @@ -916,6 +917,7 @@ void parse_fromchar(Session *s) goto x2712_out; } } + invalid_code = 2; // login auth data not found break; } } @@ -926,7 +928,7 @@ void parse_fromchar(Session *s) Packet_Fixed<0x2713> fixed_13; fixed_13.account_id = acc; - fixed_13.invalid = 1; + fixed_13.invalid = invalid_code; // 0x42: login session not found // fixed_13.email // fixed_13.connect_until -- cgit v1.2.3-60-g2f50