Date: Mon, 16 May 2016 10:24:11 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 209546] [PATCH] libfetch: doesn't support HTTP 307 redirects Message-ID: <bug-209546-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D209546 Bug ID: 209546 Summary: [PATCH] libfetch: doesn't support HTTP 307 redirects Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: New Keywords: patch Severity: Affects Only Me Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: novel@FreeBSD.org Keywords: patch Created attachment 170348 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D170348&action= =3Dedit proposed fix, v1 Currently, fetch(1) fails to download a file if there's HTTP 307 redirect f= or it. For example: $ fetch https://jigsaw.w3.org/HTTP/300/307.html fetch: https://jigsaw.w3.org/HTTP/300/307.html: Temporary Redirect $ However, it should not fail on redirect unless -A flag was given. Additionally, in verbose mode it manages to download that file. This appears to happen because in "switch (http_get_reply(conn))" in http_request_body() from http.c there's no case for HTTP_TEMP_REDIRECT, so = it fails to "default" that looks like this: 1816 default: 1817 http_seterr(conn->err); 1818 if (!verbose) 1819 goto ouch; So in verbose mode it goes further and downloads the file, because HTTP_REDIRECT() macro does include check for HTTP_TEMP_REDIRECT. Fix by handing HTTP_TEMP_REDIRECT in the http_get_reply(conn) switch. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-209546-8>