diff options
Diffstat (limited to 'src/server/authserver/Authentication/AuthCodes.cpp')
-rw-r--r-- | src/server/authserver/Authentication/AuthCodes.cpp | 58 |
1 files changed, 8 insertions, 50 deletions
diff --git a/src/server/authserver/Authentication/AuthCodes.cpp b/src/server/authserver/Authentication/AuthCodes.cpp index f5002b64b1..9777de4836 100644 --- a/src/server/authserver/Authentication/AuthCodes.cpp +++ b/src/server/authserver/Authentication/AuthCodes.cpp @@ -5,66 +5,24 @@ */ #include "AuthCodes.h" -#include <cstddef> +#include "RealmList.h" namespace AuthHelper { - static RealmBuildInfo const PostBcAcceptedClientBuilds[] = - { - {15595, 4, 3, 4, ' '}, - {14545, 4, 2, 2, ' '}, - {13623, 4, 0, 6, 'a'}, - {12340, 3, 3, 5, 'a'}, - {11723, 3, 3, 3, 'a'}, - {11403, 3, 3, 2, ' '}, - {11159, 3, 3, 0, 'a'}, - {10505, 3, 2, 2, 'a'}, - {9947, 3, 1, 3, ' '}, - {8606, 2, 4, 3, ' '}, - {0, 0, 0, 0, ' '} // terminator - }; - - static RealmBuildInfo const PreBcAcceptedClientBuilds[] = - { - {6141, 1, 12, 3, ' '}, - {6005, 1, 12, 2, ' '}, - {5875, 1, 12, 1, ' '}, - {0, 0, 0, 0, ' '} // terminator - }; - - bool IsPreBCAcceptedClientBuild(int build) - { - for (int i = 0; PreBcAcceptedClientBuilds[i].Build; ++i) - if (PreBcAcceptedClientBuilds[i].Build == build) - return true; + constexpr static uint32 MAX_PRE_BC_CLIENT_BUILD = 6141; - return false; - } - - bool IsPostBCAcceptedClientBuild(int build) + bool IsPreBCAcceptedClientBuild(uint32 build) { - for (int i = 0; PostBcAcceptedClientBuilds[i].Build; ++i) - if (PostBcAcceptedClientBuilds[i].Build == build) - return true; - - return false; + return build <= MAX_PRE_BC_CLIENT_BUILD && sRealmList->GetBuildInfo(build); } - bool IsAcceptedClientBuild(int build) + bool IsPostBCAcceptedClientBuild(uint32 build) { - return (IsPostBCAcceptedClientBuild(build) || IsPreBCAcceptedClientBuild(build)); + return build > MAX_PRE_BC_CLIENT_BUILD && sRealmList->GetBuildInfo(build); } - RealmBuildInfo const* GetBuildInfo(int build) + bool IsAcceptedClientBuild(uint32 build) { - for (int i = 0; PostBcAcceptedClientBuilds[i].Build; ++i) - if (PostBcAcceptedClientBuilds[i].Build == build) - return &PostBcAcceptedClientBuilds[i]; - - for (int i = 0; PreBcAcceptedClientBuilds[i].Build; ++i) - if (PreBcAcceptedClientBuilds[i].Build == build) - return &PreBcAcceptedClientBuilds[i]; - - return nullptr; + return sRealmList->GetBuildInfo(build) != nullptr; } }; |