mirror of
https://github.com/moparisthebest/curl
synced 2025-03-01 01:41:50 -05:00
Do the auth stuff at the end-of-headers and not at the start-of-body, as
we might not get a body when we get a 401 with a set of WWW-Authenticate: headers. This fixes the problem Kevin Roth detected in 7.10.8-pre4 and pre5. Verified by test case 91.
This commit is contained in:
parent
475166fc8b
commit
b439e8ffb7
@ -450,6 +450,11 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||||||
data->info.header_size += headerlen;
|
data->info.header_size += headerlen;
|
||||||
conn->headerbytecount += headerlen;
|
conn->headerbytecount += headerlen;
|
||||||
|
|
||||||
|
/* *auth_act() checks what authentication methods that are
|
||||||
|
available and decides which one (if any) to use. It will
|
||||||
|
set 'newurl' if an auth metod was picked. */
|
||||||
|
Curl_http_auth_act(conn);
|
||||||
|
|
||||||
if(!k->header) {
|
if(!k->header) {
|
||||||
/*
|
/*
|
||||||
* really end-of-headers.
|
* really end-of-headers.
|
||||||
@ -824,11 +829,6 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||||||
if(conn->protocol&PROT_HTTP) {
|
if(conn->protocol&PROT_HTTP) {
|
||||||
/* HTTP-only checks */
|
/* HTTP-only checks */
|
||||||
|
|
||||||
/* *auth_act() checks what authentication methods that are
|
|
||||||
available and decides which one (if any) to use. It will
|
|
||||||
set 'newurl' if an auth metod was picked. */
|
|
||||||
Curl_http_auth_act(conn);
|
|
||||||
|
|
||||||
if (conn->newurl) {
|
if (conn->newurl) {
|
||||||
if(conn->bits.close) {
|
if(conn->bits.close) {
|
||||||
/* Abort after the headers if "follow Location" is set
|
/* Abort after the headers if "follow Location" is set
|
||||||
|
Loading…
x
Reference in New Issue
Block a user