From: ShadowNinja Date: Mon, 15 Sep 2014 00:58:21 +0000 (-0400) Subject: Use configured bind_address for HTTPFetch X-Git-Tag: 0.4.11~281 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=refs%2Fpull%2F1634%2Fhead;p=oweals%2Fminetest.git Use configured bind_address for HTTPFetch --- diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 22e7b4dfa..ccde6b577 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -189,7 +189,7 @@ void set_default_settings(Settings *settings) settings->setDefault("workaround_window_size","5"); settings->setDefault("max_packets_per_iteration","1024"); settings->setDefault("port", "30000"); - settings->setDefault("bind_address",""); + settings->setDefault("bind_address", ""); settings->setDefault("default_game", "minetest"); settings->setDefault("motd", ""); settings->setDefault("max_users", "15"); diff --git a/src/httpfetch.cpp b/src/httpfetch.cpp index f61dbbf71..47e33480b 100644 --- a/src/httpfetch.cpp +++ b/src/httpfetch.cpp @@ -221,6 +221,11 @@ HTTPFetchOngoing::HTTPFetchOngoing(HTTPFetchRequest request_, CurlHandlePool *po curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1); curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 1); + std::string bind_address = g_settings->get("bind_address"); + if (!bind_address.empty()) { + curl_easy_setopt(curl, CURLOPT_INTERFACE, bind_address.c_str()); + } + #if LIBCURL_VERSION_NUM >= 0x071304 // Restrict protocols so that curl vulnerabilities in // other protocols don't affect us.