summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-10-22 10:57:54 +0200
committerDaniel Stenberg <daniel@haxx.se>2021-10-22 12:54:12 +0200
commit10883eb98156077a7cb2d86656df54008558f653 (patch)
tree952ade4f7e9edb9799c9e8e614791b0a714f7f31
parent1732502cb0bd255fb65ae351f61888d8f4f04ed6 (diff)
downloadcurl-10883eb98156077a7cb2d86656df54008558f653.tar.gz
c-hyper: don't abort CONNECT responses early when auth-in-progress
... and make sure to stop ignoring the body once the CONNECT is done. This should make test 206 work proper again and not be flaky. Closes #7889
-rw-r--r--lib/c-hyper.c3
-rw-r--r--lib/http_proxy.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/c-hyper.c b/lib/c-hyper.c
index 38071e832..c691544b7 100644
--- a/lib/c-hyper.c
+++ b/lib/c-hyper.c
@@ -205,7 +205,8 @@ static int hyper_body_chunk(void *userdata, const hyper_buf *chunk)
k->exp100 = EXP100_FAILED;
}
}
- if(data->state.hconnect && (data->req.httpcode/100 != 2)) {
+ if(data->state.hconnect && (data->req.httpcode/100 != 2) &&
+ data->state.authproxy.done) {
done = TRUE;
result = CURLE_OK;
}
diff --git a/lib/http_proxy.c b/lib/http_proxy.c
index 2969c859d..5244a25bb 100644
--- a/lib/http_proxy.c
+++ b/lib/http_proxy.c
@@ -212,6 +212,7 @@ static void connect_done(struct Curl_easy *data)
s->prot_save = NULL;
data->info.httpcode = 0; /* clear it as it might've been used for the
proxy */
+ data->req.ignorebody = FALSE;
infof(data, "CONNECT phase completed!");
}
}