If the A flag is supplied, http_request() will attempt the request only

once, even if authentication is required, instead of retrying with the
proper credentials.  Fix this by bumping the countdown if the origin or
proxy server requests authentication so that the initial unauthenticated
request does not count as an attempt.

PR:		148087
Submitted by:	Tom Evans <tevans.uk@googlemail.com>
MFC after:	2 weeks
This commit is contained in:
Dag-Erling Smørgrav 2010-07-01 17:44:33 +00:00
parent 72166fba33
commit 962cf29525
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=209632

View file

@ -1786,12 +1786,14 @@ http_request(struct url *URL, const char *op, struct url_stat *us,
case hdr_www_authenticate:
if (conn->err != HTTP_NEED_AUTH)
break;
http_parse_authenticate(p, &server_challenges);
if (http_parse_authenticate(p, &server_challenges))
++n;
break;
case hdr_proxy_authenticate:
if (conn->err != HTTP_NEED_PROXY_AUTH)
break;
http_parse_authenticate(p, &proxy_challenges);
if (http_parse_authenticate(p, &proxy_challenges) == 0);
++n;
break;
case hdr_end:
/* fall through */