Commit 0d946f38 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Merge r1686085 from trunk:

*) mod_ext_filter, mod_charset_lite: Avoid inadvertent filtering of protocol
   data during read of chunked request bodies. PR 58049. 
   [Edward Lu <Chaosed0 gmail.com>]

Submitted By: Edward Lu <Chaosed0 gmail.com>


Submitted by: covener
Reviewed/backported by: jim


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1686272 13f79535-47bb-0310-9956-ffa450edef68
parent 87d84d2f
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@

Changes with Apache 2.4.15

  *) mod_ext_filter, mod_charset_lite: Avoid inadvertent filtering of protocol
     data during read of chunked request bodies. PR 58049. 
     [Edward Lu <Chaosed0 gmail.com>]

  *) core: Allow spaces after chunk-size for compatibility with implementations
     using a pre-filled buffer.  [Yann Ylavic, Jeff Trawick]

+0 −5
Changes for STATUS: 0 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -107,11 +107,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]

  *) mod_charset_lite, mod_ext_filter:  Avoid inadvertent filtering of protocol
     data during read of chunked request bodies. PR 58049.
     trunk patch: http://svn.apache.org/r1686085
     2.4.x patch: trunk works
     +1 covener, trawick, ylavic


PATCHES PROPOSED TO BACKPORT FROM TRUNK:
+5 −0
Changes for modules/filters/mod_charset_lite.c: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -984,6 +984,11 @@ static apr_status_t xlate_in_filter(ap_filter_t *f, apr_bucket_brigade *bb,
    apr_size_t buffer_size;
    int hit_eos;

    /* just get out of the way of things we don't want. */
    if (mode != AP_MODE_READBYTES) {
        return ap_get_brigade(f->next, bb, mode, block, readbytes);
    }

    if (!ctx) {
        /* this is SetInputFilter path; grab the preallocated context,
         * if any; note that if we decided not to do anything in an earlier
+5 −0
Changes for modules/filters/mod_ext_filter.c: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -891,6 +891,11 @@ static apr_status_t ef_input_filter(ap_filter_t *f, apr_bucket_brigade *bb,
    ef_ctx_t *ctx = f->ctx;
    apr_status_t rv;

    /* just get out of the way of things we don't want. */
    if (mode != AP_MODE_READBYTES) {
        return ap_get_brigade(f->next, bb, mode, block, readbytes);
    }

    if (!ctx) {
        if ((rv = init_filter_instance(f)) != APR_SUCCESS) {
            ctx = f->ctx;