Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Remove remote media compatibility mode. (#8044)
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.
  • Loading branch information
sofar authored and nerzhul committed Jan 3, 2019
1 parent bba4563 commit cf224c9
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 26 deletions.
26 changes: 1 addition & 25 deletions src/client/clientmedia.cpp
Expand Up @@ -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);
}

Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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 << "\" "
Expand Down
1 change: 0 additions & 1 deletion src/client/clientmedia.h
Expand Up @@ -92,7 +92,6 @@ class ClientMediaDownloader
struct RemoteServerStatus {
std::string baseurl;
s32 active_count;
bool request_by_filename;
};

void initialStep(Client *client);
Expand Down

0 comments on commit cf224c9

Please sign in to comment.