summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuediger Pluem <rpluem@apache.org>2021-12-09 09:38:30 +0100
committerRuediger Pluem <rpluem@apache.org>2021-12-09 09:38:30 +0100
commitb8a58e6aa971e4569525b99eff34612675e935c3 (patch)
treecb15b45d9caea73cf4120598031254cd52485fda
parent* Whitespace fixes (diff)
downloadapache2-b8a58e6aa971e4569525b99eff34612675e935c3.tar.xz
apache2-b8a58e6aa971e4569525b99eff34612675e935c3.zip
* Correctly sent a 100 Continue status code when sending an interim
response as result of an Expect: 100-Continue in the request and not the current status code of the request. PR: 65725 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895719 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--changes-entries/pr65725.txt3
-rw-r--r--modules/http/http_filters.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/changes-entries/pr65725.txt b/changes-entries/pr65725.txt
new file mode 100644
index 0000000000..3e8fee91e0
--- /dev/null
+++ b/changes-entries/pr65725.txt
@@ -0,0 +1,3 @@
+ *) mod_http: Correctly sent a 100 Continue status code when sending an interim
+ response as result of an Expect: 100-Continue in the request and not the
+ current status code of the request. PR 65725 [Ruediger Pluem]
diff --git a/modules/http/http_filters.c b/modules/http/http_filters.c
index 289ba49abe..47e4d7d1b9 100644
--- a/modules/http/http_filters.c
+++ b/modules/http/http_filters.c
@@ -430,9 +430,12 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
}
else if (!ctx->seen_data) {
int saved_status = f->r->status;
+ const char *saved_status_line = f->r->status_line;
f->r->status = HTTP_CONTINUE;
+ f->r->status_line = NULL;
ap_send_interim_response(f->r, 0);
AP_DEBUG_ASSERT(!f->r->expecting_100);
+ f->r->status_line = saved_status_line;
f->r->status = saved_status;
}
else {