[Bug 209546] [PATCH] libfetch: doesn't support HTTP 307 redirects
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon May 16 10:24:11 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209546
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 at FreeBSD.org
Reporter: novel at FreeBSD.org
Keywords: patch
Created attachment 170348
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=170348&action=edit
proposed fix, v1
Currently, fetch(1) fails to download a file if there's HTTP 307 redirect for
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.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list