diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-01-08 20:41:48 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-01-08 21:37:14 +0300 |
commit | 72d496fb243f622c9a582d593b0d51ec057acd37 (patch) | |
tree | 0032d56a00470b9974bedaa971c2dd2401fec159 /src/net | |
parent | efe6e235c05c7ae37e0608f69cada7db38501355 (diff) | |
download | manaplus-72d496fb243f622c9a582d593b0d51ec057acd37.tar.gz manaplus-72d496fb243f622c9a582d593b0d51ec057acd37.tar.bz2 manaplus-72d496fb243f622c9a582d593b0d51ec057acd37.tar.xz manaplus-72d496fb243f622c9a582d593b0d51ec057acd37.zip |
Validate update host.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/loginhandler.cpp | 5 | ||||
-rw-r--r-- | src/net/manaserv/loginhandler.cpp | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index bbf19fb34..291a92906 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -150,6 +150,11 @@ void LoginHandler::processUpdateHost(Net::MessageIn &msg) len = msg.readInt16() - 4; mUpdateHost = msg.readString(len); + if (!checkPath(mUpdateHost)) + { + mUpdateHost = ""; + logger->log1("Warning: incorrect update server name"); + } loginData.updateHost = mUpdateHost; logger->log("Received update host \"%s\" from login server.", diff --git a/src/net/manaserv/loginhandler.cpp b/src/net/manaserv/loginhandler.cpp index f1cb8e352..8b8ac831f 100644 --- a/src/net/manaserv/loginhandler.cpp +++ b/src/net/manaserv/loginhandler.cpp @@ -341,9 +341,18 @@ void LoginHandler::readServerInfo(Net::MessageIn &msg) // Set the update host when included in the message const std::string updateHost = msg.readString(); if (!updateHost.empty()) + { + if (!checkPath(updateHost)) + { + logger->log1("Warning: incorrect update server name"); + updateHost = ""; + } mLoginData->updateHost = updateHost; + } else + { logger->log1("Warning: server does not have an update host set!"); + } // Read the client data folder for dynamic data loading. // This is only used by the QT client. |