Skip site navigation (1)Skip section navigation (2)
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>