summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2023-01-19 16:01:46 +0000
committerStefan Eissing <icing@apache.org>2023-01-19 16:01:46 +0000
commit3562db01e394a9cbfffb1bafff27e1b408a9b203 (patch)
treef615a8d8bb095642a7a382421a57fbf2bd2c996b
parentfb705951b087effcb2edf71b4ca06130ba54bca9 (diff)
downloadhttpd-3562db01e394a9cbfffb1bafff27e1b408a9b203.tar.gz
Merge of r1906775 from trunk:
*) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors reported in access logs and error documents. The processing of the reset was correct, only unneccesary reporting was caused. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906806 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--changes-entries/h2-rst-access-500-fix.txt4
-rw-r--r--modules/http2/h2_c2_filter.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/changes-entries/h2-rst-access-500-fix.txt b/changes-entries/h2-rst-access-500-fix.txt
new file mode 100644
index 0000000000..d165fa3bc8
--- /dev/null
+++ b/changes-entries/h2-rst-access-500-fix.txt
@@ -0,0 +1,4 @@
+ *) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors
+ reported in access logs and error documents. The processing of the
+ reset was correct, only unneccesary reporting was caused.
+ [Stefan Eissing]
diff --git a/modules/http2/h2_c2_filter.c b/modules/http2/h2_c2_filter.c
index f537a19f07..37254fc1d7 100644
--- a/modules/http2/h2_c2_filter.c
+++ b/modules/http2/h2_c2_filter.c
@@ -615,7 +615,7 @@ apr_status_t h2_c2_filter_catch_h1_out(ap_filter_t* f, apr_bucket_brigade* bb)
ap_assert(conn_ctx);
H2_FILTER_LOG("c2_catch_h1_out", f->c, APLOG_TRACE2, 0, "check", bb);
- if (!conn_ctx->has_final_response) {
+ if (!f->c->aborted && !conn_ctx->has_final_response) {
if (!parser) {
parser = apr_pcalloc(f->c->pool, sizeof(*parser));
parser->id = apr_psprintf(f->c->pool, "%s-%d", conn_ctx->id, conn_ctx->stream_id);