From 72d496fb243f622c9a582d593b0d51ec057acd37 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 8 Jan 2012 20:41:48 +0300 Subject: Validate update host. --- src/net/ea/loginhandler.cpp | 5 +++++ src/net/manaserv/loginhandler.cpp | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'src/net') 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. -- cgit v1.2.3-70-g09d2