When deciding whether to send the complete URL or just the document part,

we were looking at the original URL rather than the one we were currently
processing.  This meant that if we were trying to retrieve an HTTP URL but
were redirected to an HTTPS URL, and HTTPS proxying was enabled, we would
send an invalid request and most likely get garbage back.

MFC after:	3 days
This commit is contained in:
des 2018-11-27 16:23:17 +00:00
parent b09f57e843
commit 9ef5cbf2b6

View File

@ -1617,7 +1617,7 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us,
if (verbose)
fetch_info("requesting %s://%s%s",
url->scheme, host, url->doc);
if (purl && strcmp(URL->scheme, SCHEME_HTTPS) != 0) {
if (purl && strcmp(url->scheme, SCHEME_HTTPS) != 0) {
http_cmd(conn, "%s %s://%s%s HTTP/1.1",
op, url->scheme, host, url->doc);
} else {