X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fclientmedia.cpp;h=c1043c76915533be036f119612a74bf5d5219866;hb=58e6d25e033c76dc91aaac18fdeda92ac23fe0e1;hp=dcae440239572f1856e9600f89532ae7b429d2ff;hpb=e258675eabc874d31bc9c6cf49e4bbc1f7f3f417;p=oweals%2Fminetest.git diff --git a/src/clientmedia.cpp b/src/clientmedia.cpp index dcae44023..c1043c769 100644 --- a/src/clientmedia.cpp +++ b/src/clientmedia.cpp @@ -110,14 +110,16 @@ void ClientMediaDownloader::addRemoteServer(std::string baseurl) #ifdef USE_CURL - infostream << "Client: Adding remote server \"" - << baseurl << "\" for media download" << std::endl; - - RemoteServerStatus *remote = new RemoteServerStatus; - remote->baseurl = baseurl; - remote->active_count = 0; - remote->request_by_filename = false; - m_remotes.push_back(remote); + if (g_settings->getBool("enable_remote_media_server")) { + infostream << "Client: Adding remote server \"" + << baseurl << "\" for media download" << std::endl; + + RemoteServerStatus *remote = new RemoteServerStatus; + remote->baseurl = baseurl; + remote->active_count = 0; + remote->request_by_filename = false; + m_remotes.push_back(remote); + } #else @@ -264,7 +266,7 @@ void ClientMediaDownloader::initialStep(Client *client) fetchrequest.request_id = m_httpfetch_next_id; // == i fetchrequest.timeout = m_httpfetch_timeout; fetchrequest.connect_timeout = m_httpfetch_timeout; - fetchrequest.post_fields = required_hash_set; + fetchrequest.post_data = required_hash_set; fetchrequest.extra_headers.push_back( "Content-Type: application/octet-stream"); httpfetch_async(fetchrequest); @@ -315,8 +317,10 @@ void ClientMediaDownloader::remoteHashSetReceived( // For compatibility: If index.mth is not found, assume that the // server contains files named like the original files (not their sha1) - if (!fetchresult.succeeded && !fetchresult.timeout && - fetchresult.response_code == 404) { + // Do NOT check for any particular response code (e.g. 404) here, + // because different servers respond differently + + if (!fetchresult.succeeded && !fetchresult.timeout) { infostream << "Client: Enabling compatibility mode for remote " << "server \"" << remote->baseurl << "\"" << std::endl; remote->request_by_filename = true;