summaryrefslogtreecommitdiffstats
path: root/lib/libfetch
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2017-01-10 08:12:56 +0000
committerdes <des@FreeBSD.org>2017-01-10 08:12:56 +0000
commit01bace6361f834a727e24dcc7434e8f91ac69f5b (patch)
tree04b1f45b75b43c87814afb7f0991ac4a4ad26165 /lib/libfetch
parent42311e396495d078a430435e0194cfa99e8f5272 (diff)
downloadFreeBSD-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.c5
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:
/*
OpenPOWER on IntegriCloud