]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* Return APR_EOF if request body is shorter than the length announced by the
authorRuediger Pluem <rpluem@apache.org>
Thu, 9 Jul 2009 06:28:54 +0000 (06:28 +0000)
committerRuediger Pluem <rpluem@apache.org>
Thu, 9 Jul 2009 06:28:54 +0000 (06:28 +0000)
  client.

PR: 33098
Submitted by: Stefan Fritsch <sf sfritsch.de>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@792409 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/http/http_filters.c

diff --git a/CHANGES b/CHANGES
index 93d9f0c1f01944dcfdec557b275e3c7a367c10bb..037874a4177955ddc57d47507ee22f0207df29b5 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -11,10 +11,13 @@ Changes with Apache 2.3.3
      mod_proxy_ajp: Avoid delivering content from a previous request which
      failed to send a request body. PR 46949 [Ruediger Pluem]
 
+  *) core: Return APR_EOF if request body is shorter than the length announced
+     by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>]
+
   *) mod_suexec: correctly set suexec_enabled when httpd is run by a
      non-root user and may have insufficient permissions.
      PR 42175 [Jim Radford <radford blackbean.org>]
+
   *) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute
      type.  PR 45107.  [Michael Ströder <michael stroeder.com>,
      Peter Sylvester <peter.sylvester edelweb.fr>]
index 2d739e297d1acddc27d3d14e1d2eb94810bece3d..d6529754ae6fddd846cd37c15cf9209e72eeefca 100644 (file)
@@ -524,6 +524,11 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
 
     if (ctx->state != BODY_NONE) {
         ctx->remaining -= totalread;
+        if (ctx->remaining > 0) {
+            e = APR_BRIGADE_LAST(b);
+            if (APR_BUCKET_IS_EOS(e))
+                return APR_EOF;
+        }
     }
 
     /* If we have no more bytes remaining on a C-L request,