summaryrefslogtreecommitdiff
path: root/methods/ftp.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-07-24 14:30:41 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2017-07-26 19:07:56 +0200
commitd7518dba50e2285c41c7002a1d86f876401fd9ea (patch)
tree1e172f084046a2fa4d73959fd341da1f8f7483eb /methods/ftp.cc
parent85f4a655cdc4d16c1b95de6fad7f3cd955265e46 (diff)
fail earlier if server answers with too much data
We tend to operate on rather large static files, which means we usually get Content-Length information from the server. If we combine this information with the filesize we are expecting (factoring in pipelining) we can avoid reading a bunch of data we are ending up rejecting anyhow by just closing the connection saving bandwidth and time both for the server as well as the client.
Diffstat (limited to 'methods/ftp.cc')
-rw-r--r--methods/ftp.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/methods/ftp.cc b/methods/ftp.cc
index 9bfe72bc6..dd97458d0 100644
--- a/methods/ftp.cc
+++ b/methods/ftp.cc
@@ -940,8 +940,8 @@ bool FTPConn::Get(const char *Path,FileFd &To,unsigned long long Resume,
if (MaximumSize > 0 && To.Tell() > MaximumSize)
{
Owner->SetFailReason("MaximumSizeExceeded");
- return _error->Error("Writing more data than expected (%llu > %llu)",
- To.Tell(), MaximumSize);
+ return _error->Error(_("File is larger than expected (%llu > %llu). Mirror sync in progress?"),
+ To.Tell(), MaximumSize);
}
}