aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/connection_patcher/Helper.cpp65
-rw-r--r--src/tools/connection_patcher/Helper.hpp7
2 files changed, 1 insertions, 71 deletions
diff --git a/src/tools/connection_patcher/Helper.cpp b/src/tools/connection_patcher/Helper.cpp
index 408f12f9db2..6a4f0d0f07d 100644
--- a/src/tools/connection_patcher/Helper.cpp
+++ b/src/tools/connection_patcher/Helper.cpp
@@ -17,6 +17,7 @@
*/
#include "Helper.hpp"
+#include "Patterns/Common.hpp"
namespace Connection_Patcher
{
@@ -45,70 +46,6 @@ namespace Connection_Patcher
}
}
- // adapted from http://stackoverflow.com/questions/21422094/boostasio-download-image-file-from-server
- void DownloadFile(const std::string& serverName, int port, const std::string& getCommand, std::ostream& out)
- {
- using namespace boost::asio;
- using boost::asio::ip::tcp;
-
- io_service io_service;
-
- // Get a list of endpoints corresponding to the server name.
- tcp::resolver resolver(io_service);
- tcp::resolver::query query(serverName, std::to_string(port));
- tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
- tcp::resolver::iterator end;
-
- // Try each endpoint until we successfully establish a connection.
- tcp::socket socket(io_service);
- boost::system::error_code error = boost::asio::error::host_not_found;
- while (error && endpoint_iterator != end)
- {
- socket.close();
- socket.connect(*endpoint_iterator++, error);
- }
-
- boost::asio::streambuf request;
- std::ostream request_stream(&request);
-
- request_stream << "GET " << getCommand << " HTTP/1.0\r\n";
- request_stream << "Host: " << serverName << ':' << port << "\r\n";
- request_stream << "Accept: */*\r\n";
- request_stream << "Connection: close\r\n\r\n";
-
- // Send the request.
- boost::asio::write(socket, request);
-
- // Read the response status line.
- boost::asio::streambuf response;
- boost::asio::read_until(socket, response, "\r\n");
-
- // Check that response is OK.
- std::istream response_stream(&response);
- std::string http_version;
- response_stream >> http_version;
- unsigned int status_code;
- response_stream >> status_code;
- std::string status_message;
- std::getline(response_stream, status_message);
-
- // Read the response headers, which are terminated by a blank line.
- boost::asio::read_until(socket, response, "\r\n\r\n");
-
- // Process the response headers.
- std::string header;
- while (std::getline(response_stream, header) && header != "\r")
- { }
-
- // Write whatever content we already have to output.
- if (response.size() > 0)
- out << &response;
-
- // Read until EOF, writing data to output as we go.
- while (boost::asio::read(socket, response, boost::asio::transfer_at_least(1), error))
- out << &response;
- }
-
Constants::BinaryTypes GetBinaryType(std::vector<unsigned char> const& data)
{
// Check MS-DOS magic
diff --git a/src/tools/connection_patcher/Helper.hpp b/src/tools/connection_patcher/Helper.hpp
index 3469150057d..e847e911a3f 100644
--- a/src/tools/connection_patcher/Helper.hpp
+++ b/src/tools/connection_patcher/Helper.hpp
@@ -20,23 +20,16 @@
#define CONNECTION_PATCHER_HELPER_HPP
#include "Constants/BinaryTypes.hpp"
-#include "Patterns/Common.hpp"
#include <boost/filesystem.hpp>
-#include <boost/asio.hpp>
#include <vector>
#include <set>
-#include <string>
-#include <stdexcept>
-#include <SHA256.h>
-#include <Util.h>
namespace Connection_Patcher
{
namespace Helper
{
void CopyDir(boost::filesystem::path const & source, boost::filesystem::path const & destination);
- void DownloadFile(const std::string& serverName, int port, const std::string& getCommand, std::ostream& out);
Constants::BinaryTypes GetBinaryType(std::vector<unsigned char> const& data);
std::set<size_t> SearchOffset(std::vector<unsigned char> const& binary, std::vector<unsigned char> const& pattern);
uint32_t GetBuildNumber(std::vector<unsigned char> const& binary);