summaryrefslogtreecommitdiff
path: root/modules/http
diff options
context:
space:
mode:
authorRuediger Pluem <rpluem@apache.org>2021-12-09 08:38:30 +0000
committerRuediger Pluem <rpluem@apache.org>2021-12-09 08:38:30 +0000
commitb8a58e6aa971e4569525b99eff34612675e935c3 (patch)
treecb15b45d9caea73cf4120598031254cd52485fda /modules/http
parentc035005055c34b664ec993eb140a3256fe6e7099 (diff)
downloadhttpd-b8a58e6aa971e4569525b99eff34612675e935c3.tar.gz
* 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
Diffstat (limited to 'modules/http')
-rw-r--r--modules/http/http_filters.c3
1 files changed, 3 insertions, 0 deletions
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 {