diff options
author | Stefan Eissing <icing@apache.org> | 2023-06-01 12:38:53 +0200 |
---|---|---|
committer | Stefan Eissing <icing@apache.org> | 2023-06-01 12:38:53 +0200 |
commit | 1c7a70c9d9ecb1ee743d774c2cd7d25727185260 (patch) | |
tree | 9b7c42ef1557d298458a157ddab4d2b0be42990d /modules/http2/h2_request.c | |
parent | tests: synch with recent changes from mod_h2 repository (diff) | |
download | apache2-1c7a70c9d9ecb1ee743d774c2cd7d25727185260.tar.xz apache2-1c7a70c9d9ecb1ee743d774c2cd7d25727185260.zip |
* mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
connection when sending data on the frontend one. This caused crashes
or infinite loops in rare situations.
* mod_proxy_http2: fixed a bug in retry/response handling that could lead
to wrong status codes or HTTP messages send at the end of response bodies
exceeding the announced content-length.
* mod_proxy_http2: fix retry handling to not leak temporary errors.
On detecting that that an existing connection was shutdown by the other
side, a 503 response leaked even though the request was retried on a
fresh connection.
* mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
the wrong order when a bucket_beam was destroyed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910157 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http2/h2_request.c')
-rw-r--r-- | modules/http2/h2_request.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/http2/h2_request.c b/modules/http2/h2_request.c index 00436aa762..3a6c42b092 100644 --- a/modules/http2/h2_request.c +++ b/modules/http2/h2_request.c @@ -375,6 +375,9 @@ request_rec *h2_create_request_rec(const h2_request *req, conn_rec *c, } else if (req->scheme && ap_cstr_casecmp(req->scheme, "http") && ap_cstr_casecmp(req->scheme, "https")) { + /* FIXME: we also need to create absolute uris when we are + * in a forward proxy configuration! But there is currently + * no way to detect that. */ /* Client sent a ':scheme' pseudo header for something else * than what we handle by default. Make an absolute URI. */ r->the_request = apr_psprintf(r->pool, "%s %s://%s%s HTTP/2.0", |