diff --git a/wget-416-but-file-not-complete.patch b/wget-416-but-file-not-complete.patch new file mode 100644 index 0000000..63bec7c --- /dev/null +++ b/wget-416-but-file-not-complete.patch @@ -0,0 +1,21 @@ +Index: wget-1.19.1/src/http.c +=================================================================== +--- wget-1.19.1.orig/src/http.c ++++ wget-1.19.1/src/http.c +@@ -3819,6 +3819,16 @@ gethttp (const struct url *u, struct url + } + + 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)) + { diff --git a/wget.changes b/wget.changes index b1c5641..5175d3b 100644 --- a/wget.changes +++ b/wget.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Sep 21 06:45:00 UTC 2017 - josef.moellers@suse.com + +- Retry http GET when server responds with "416 Requested Range + Not Satisfiable" but file is not complete. + [boo#1058204, wget-416-but-file-not-complete.patch] + ------------------------------------------------------------------- Tue Mar 7 13:40:10 UTC 2017 - josef.moellers@suse.com diff --git a/wget.spec b/wget.spec index a992575..8ae3839 100644 --- a/wget.spec +++ b/wget.spec @@ -34,6 +34,7 @@ Patch6: wget-1.14-no-ssl-comp.patch Patch7: wget-fix-pod-syntax.diff Patch8: wget-errno-clobber.patch Patch9: wget-CVE-2017-6508.patch +Patch10: wget-416-but-file-not-complete.patch BuildRequires: automake BuildRequires: gpgme-devel >= 0.4.2 BuildRequires: libcares-devel @@ -81,6 +82,7 @@ This can be done in script files or via the command line. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build %if 0%{?suse_version} > 1110