mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-07-31 09:49:53 -04:00
Vanilla 1.12 servers disagree on the auth protocol byte — vmangos-derived realms speak 8, stock mangos/cmangos speak 3 — and a profile can only name one, so pointing the classic profile at the other kind hard-failed at login. Classic/Turtle now retry once on the alternate byte when the failure looks protocol-shaped (unparseable handshake, version rejection, drop during challenge) and never when credentials were rejected, so a wrong password can't trigger a second lockout-provoking attempt. Also fixes the realm-list recovery heuristic from #100: it only fired when the shifted parse left a non-empty address, so vanilla realms sending flags=0 (both name and address parse empty) silently produced garbage fields instead. Keyed on the empty name alone, and covered by new realm-list parser tests.