diff --git a/src/Network 2.0/VehicleEvent.cpp b/src/Network 2.0/VehicleEvent.cpp index a952af0..a3beafe 100644 --- a/src/Network 2.0/VehicleEvent.cpp +++ b/src/Network 2.0/VehicleEvent.cpp @@ -10,6 +10,7 @@ #include "../Settings.hpp" #include std::string HTTP_REQUEST(const std::string& IP,int port); +std::string HTA(const std::string& hex); struct Sequence{ SOCKET TCPSock; bool Done = false; @@ -64,6 +65,15 @@ int Max(){ } return M; } +bool IsHex(const std::string&a){ + if(a.empty())return false; + for(const char&c : a){ + if(c < 48 || tolower(c) > 102){ + return false; + } + } + return true; +} void Identification(SOCKET TCPSock){ auto* S = new Sequence; S->TCPSock = TCPSock; @@ -71,8 +81,8 @@ void Identification(SOCKET TCPSock){ Timeout.detach(); std::string Name,DID,Role,Res = TCPRcv(TCPSock),Ver = TCPRcv(TCPSock); S->Done = true; - if(Ver.size() > 3 && Ver.substr(0,2) == "VC"){ - Ver = Ver.substr(2); + if(IsHex(Ver) && Ver.size() > 3 && HTA(Ver).substr(0,2) == "VC"){ + Ver = HTA(Ver).substr(2); if(Ver.length() > 4 || Ver != ClientVersion){ closesocket(TCPSock); return; diff --git a/src/main.cpp b/src/main.cpp index 9f85472..8d4bdb3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,8 +15,8 @@ void ParseConfig(); void addToLog(const std::string& Data); //void ServerMain(int Port, int MaxClients); void HeartbeatInit(); -std::string ServerVersion = "0.47"; -std::string ClientVersion = "1.46"; +std::string ServerVersion = "0.49"; +std::string ClientVersion = "1.48"; std::string CustomIP; void HandleResources(std::string path); void StatInit();