wget/wget-416-but-file-not-complete.patch

25 lines
1000 B
Diff
Raw Normal View History

Index: wget-1.19.1/src/http.c
===================================================================
--- wget-1.19.1.orig/src/http.c
+++ wget-1.19.1/src/http.c
@@ -3818,6 +3818,19 @@ gethttp (const struct url *u, struct url
}
}
+ fprintf(stderr, " hs->restval=%s\n", number_to_static_string(hs->restval));
+ fprintf(stderr, " contlen=%s\n", number_to_static_string(contlen));
+ fprintf(stderr, " contrange=%s\n", number_to_static_string(contrange));
+ if (statcode == HTTP_STATUS_RANGE_NOT_SATISFIABLE
+ && hs->restval < (contlen + contrange))
+ {
+ /* The file was not completely downloaded,
+ yet the server claims the range is invalid.
+ Bail out. */
+ CLOSE_INVALIDATE (sock);
+ retval = RANGEERR;
+ goto cleanup;
+ }
if (statcode == HTTP_STATUS_RANGE_NOT_SATISFIABLE
|| (!opt.timestamping && hs->restval > 0 && statcode == HTTP_STATUS_OK
&& contrange == 0 && contlen >= 0 && hs->restval >= contlen))