diff --git a/src/net/grunt/ClientLink.cpp b/src/net/grunt/ClientLink.cpp index 1b2668c..c29874c 100644 --- a/src/net/grunt/ClientLink.cpp +++ b/src/net/grunt/ClientLink.cpp @@ -204,7 +204,38 @@ int32_t Grunt::ClientLink::CmdAuthLogonChallenge(CDataStore& msg) { } int32_t Grunt::ClientLink::CmdAuthLogonProof(CDataStore& msg) { + if (msg.m_read >= msg.m_size) { + return 0; + } + + uint8_t result; + msg.Get(result); + + // Auth failure (success == 0) + if (result != 0) { + if (result == 4) { + // TODO + } + + if (msg.m_read > msg.m_size) { + return 1; + } + + if (result != 10) { + this->SetState(2); + + // TODO range check on result + + this->m_clientResponse->LogonResult(static_cast(result), nullptr, 0, 0); + } + + return 2; + } + + // Auth success + // TODO + return 0; }