diff options
author | Marc Schlatter <mschlatter@gestour.com> | 2019-03-11 17:15:34 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-03-13 10:58:52 +0100 |
commit | dd8a19f8a05b59394d1ab33c09497e8db884742a (patch) | |
tree | 5751407cd7e25c91d18e277e559336040b93bb87 /lib | |
parent | 5add3514e689a2cc9bc22413c25e9748c9180f41 (diff) |
http: send payload when (proxy) authentication is done
The check that prevents payload from sending in case of authentication
doesn't check properly if the authentication is done or not.
They're cases where the proxy respond "200 OK" before sending
authentication challenge. This change takes care of that.
Fixes #2431
Closes #3669
Diffstat (limited to 'lib')
-rw-r--r-- | lib/http.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/http.c b/lib/http.c index 3618f8728..3f41a451b 100644 --- a/lib/http.c +++ b/lib/http.c @@ -2060,7 +2060,8 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) return result; } - if((data->state.authhost.multipass || data->state.authproxy.multipass) && + if(((data->state.authhost.multipass && !data->state.authhost.done) + || (data->state.authproxy.multipass && !data->state.authproxy.done)) && (httpreq != HTTPREQ_GET) && (httpreq != HTTPREQ_HEAD)) { /* Auth is required and we are not authenticated yet. Make a PUT or POST |