Remove remote media compatibility mode. (#8044)
authorsofar <sofar+github@foo-projects.org>
Thu, 3 Jan 2019 23:26:08 +0000 (15:26 -0800)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Thu, 3 Jan 2019 23:26:08 +0000 (00:26 +0100)
The fallback code shouldn't be needed and is a remnant of the GET
method that old media servers use. Clients using it are likely
to just waste bandwidth and having to download the media again
through the normal transfer from server method. The most reliable
method is to get all missing textures therefore from the server
directly and not spam the remote media server with 404s.

src/client/clientmedia.cpp
src/client/clientmedia.h

index 97931ee68fed4bb02ff8dafe44a5acfb92ef31f6..e3ad92dbcddc646e5d6cf8fe3eb0a3848b416cb0 100644 (file)
@@ -105,7 +105,6 @@ void ClientMediaDownloader::addRemoteServer(const std::string &baseurl)
                RemoteServerStatus *remote = new RemoteServerStatus();
                remote->baseurl = baseurl;
                remote->active_count = 0;
-               remote->request_by_filename = false;
                m_remotes.push_back(remote);
        }
 
@@ -299,28 +298,6 @@ void ClientMediaDownloader::remoteHashSetReceived(
                                << e.what() << std::endl;
                }
        }
-
-       // For compatibility: If index.mth is not found, assume that the
-       // server contains files named like the original files (not their sha1)
-
-       // Do NOT check for any particular response code (e.g. 404) here,
-       // because different servers respond differently
-
-       if (!fetch_result.succeeded && !fetch_result.timeout) {
-               infostream << "Client: Enabling compatibility mode for remote "
-                       << "server \"" << remote->baseurl << "\"" << std::endl;
-               remote->request_by_filename = true;
-
-               // Assume every file is available on this server
-
-               for(std::map<std::string, FileStatus*>::iterator
-                               it = m_files.upper_bound(m_name_bound);
-                               it != m_files.end(); ++it) {
-                       FileStatus *f = it->second;
-                       if (!f->received)
-                               f->available_remotes.push_back(remote_id);
-               }
-       }
 }
 
 void ClientMediaDownloader::remoteMediaReceived(
@@ -425,8 +402,7 @@ void ClientMediaDownloader::startRemoteMediaTransfers()
                                        m_remotes[remote_id];
 
                                std::string url = remote->baseurl +
-                                       (remote->request_by_filename ? name :
-                                       hex_encode(filestatus->sha1));
+                                       hex_encode(filestatus->sha1);
                                verbosestream << "Client: "
                                        << "Requesting remote media file "
                                        << "\"" << name << "\" "
index b08b83e4d8c48e851a0678642ca08b995a2dbaca..92831082c3fa1d011df27de7ccc0f6752030441b 100644 (file)
@@ -92,7 +92,6 @@ private:
        struct RemoteServerStatus {
                std::string baseurl;
                s32 active_count;
-               bool request_by_filename;
        };
 
        void initialStep(Client *client);