diff options
author | Ruediger Pluem <rpluem@apache.org> | 2021-12-09 09:38:30 +0100 |
---|---|---|
committer | Ruediger Pluem <rpluem@apache.org> | 2021-12-09 09:38:30 +0100 |
commit | b8a58e6aa971e4569525b99eff34612675e935c3 (patch) | |
tree | cb15b45d9caea73cf4120598031254cd52485fda | |
parent | * Whitespace fixes (diff) | |
download | apache2-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.txt | 3 | ||||
-rw-r--r-- | modules/http/http_filters.c | 3 |
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 { |