31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
From b2fa083522c70368c7ab911696dcb87dde5dc688 Mon Sep 17 00:00:00 2001
|
|
From: Tomas Korbar <tkorbar@redhat.com>
|
|
Date: Thu, 22 Dec 2022 14:49:34 +0100
|
|
Subject: [PATCH] Clear original response code in send_error_bucket function
|
|
|
|
If this is left intact, then apache thinks that this code
|
|
was generated during processing of ErrorDocument and does not
|
|
handle it properly
|
|
|
|
Fix #2849
|
|
---
|
|
apache2/apache2_util.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/apache2/apache2_util.c b/apache2/apache2_util.c
|
|
index cdae2b580..520a30f2f 100644
|
|
--- a/apache2/apache2_util.c
|
|
+++ b/apache2/apache2_util.c
|
|
@@ -31,6 +31,11 @@ apr_status_t send_error_bucket(modsec_rec *msr, ap_filter_t *f, int status) {
|
|
/* Set the status line explicitly for the error document */
|
|
f->r->status_line = ap_get_status_line(status);
|
|
|
|
+ /* Clear previously set response code to make clear that this is
|
|
+ * not a recursive error
|
|
+ */
|
|
+ f->r->status = 200;
|
|
+
|
|
brigade = apr_brigade_create(f->r->pool, f->r->connection->bucket_alloc);
|
|
if (brigade == NULL) return APR_EGENERAL;
|
|
|