summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorFedja Beader <fedja@protonmail.ch>2024-05-09 15:33:40 +0000
committerFedja Beader <fedja@protonmail.ch>2024-05-09 15:33:40 +0000
commitdd1627eb548a7705f749d2e8529207e6123e5e2e (patch)
treec177824a48bf6fd4ecad6c0d3b7f0fb3a6206427 /tools
parent4552a373ebffe0e7ab163fe0f82b0f260d573d81 (diff)
downloadplus-dd1627eb548a7705f749d2e8529207e6123e5e2e.tar.gz
plus-dd1627eb548a7705f749d2e8529207e6123e5e2e.tar.bz2
plus-dd1627eb548a7705f749d2e8529207e6123e5e2e.tar.xz
plus-dd1627eb548a7705f749d2e8529207e6123e5e2e.zip
Fix guild lvl-up packet parsing AND change password causing client exit in ML
What happened: 1) herc evol sends 0x100 as packet ID offset 2) 0x100 is added to 0x0062 of SMSG_CHAR_PASSWORD_RESPONSE 3) SMSG_CHAR_PASSWORD_RESPONSE is then inserted into 0x162 slot of packet map, shadowing SMSG_GUILD_SKILL_INFO 4) on guild lvl-up, server sends this in SMSG_GUILD_SKILL_INFO 5) ManaVerse exits in confusion. Note 1: due to popupmenu paste not working in change password dialog, tested password change only with invalid old password, which worked (opened error dialog instead of client exiting). Note 2: Some packet handlers are bound using &Ea::LoginRecv prefix, this one had &LoginRecv and this was kept this way (uses vtable lookup?). ~~TODO: SMSG_CHAR_PASSWORD_RESPONSE seems to be something about password changes, but I could not find this packet either in TMWA or herc. Still, I need to test if these still work on all active servers~~ Tested. Squashed with: * Fix exit on password change, too * Fix guild lvl-up packet parsing causing client exit in ML **** mana/plus!81
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions