]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1895719 from trunk:
authorStefan Eissing <icing@apache.org>
Mon, 13 Dec 2021 15:16:55 +0000 (15:16 +0000)
committerStefan Eissing <icing@apache.org>
Mon, 13 Dec 2021 15:16:55 +0000 (15:16 +0000)
  *) 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]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895897 13f79535-47bb-0310-9956-ffa450edef68

changes-entries/pr65725.txt [new file with mode: 0644]
modules/http/http_filters.c

diff --git a/changes-entries/pr65725.txt b/changes-entries/pr65725.txt
new file mode 100644 (file)
index 0000000..3e8fee9
--- /dev/null
@@ -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]
index b10d2b71f26905959c1569ba6bd2ca9a3e7662e8..d9b36212155b74a72abeef57ce01476f6d4ec814 100644 (file)
@@ -472,9 +472,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 {