diff options
author | des <des@FreeBSD.org> | 2017-01-10 08:12:56 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2017-01-10 08:12:56 +0000 |
commit | 01bace6361f834a727e24dcc7434e8f91ac69f5b (patch) | |
tree | 04b1f45b75b43c87814afb7f0991ac4a4ad26165 /lib/libfetch | |
parent | 42311e396495d078a430435e0194cfa99e8f5272 (diff) | |
download | FreeBSD-src-01bace6361f834a727e24dcc7434e8f91ac69f5b.zip FreeBSD-src-01bace6361f834a727e24dcc7434e8f91ac69f5b.tar.gz |
MFH (r301027): fix 307 / 308 redirects
MFH (r310823): fix multi-line CONNECT responses
PR: 112515 173451 194483 209546
Diffstat (limited to 'lib/libfetch')
-rw-r--r-- | lib/libfetch/http.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libfetch/http.c b/lib/libfetch/http.c index f80404d..bb509c1 100644 --- a/lib/libfetch/http.c +++ b/lib/libfetch/http.c @@ -114,6 +114,7 @@ __FBSDID("$FreeBSD$"); #define HTTP_REDIRECT(xyz) ((xyz) == HTTP_MOVED_PERM \ || (xyz) == HTTP_MOVED_TEMP \ || (xyz) == HTTP_TEMP_REDIRECT \ + || (xyz) == HTTP_PERM_REDIRECT \ || (xyz) == HTTP_USE_PROXY \ || (xyz) == HTTP_SEE_OTHER) @@ -1431,7 +1432,7 @@ http_connect(struct url *URL, struct url *purl, const char *flags) default: /* ignore */ ; } - } while (h < hdr_end); + } while (h > hdr_end); } if (strcasecmp(URL->scheme, SCHEME_HTTPS) == 0 && fetch_ssl(conn, URL, verbose) == -1) { @@ -1767,6 +1768,8 @@ http_request_body(struct url *URL, const char *op, struct url_stat *us, break; case HTTP_MOVED_PERM: case HTTP_MOVED_TEMP: + case HTTP_TEMP_REDIRECT: + case HTTP_PERM_REDIRECT: case HTTP_SEE_OTHER: case HTTP_USE_PROXY: /* |