httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n.@apache.org
Subject cvs commit: httpd-2.0/modules/http http_request.c
Date Thu, 29 May 2003 15:07:12 GMT
nd          2003/05/29 08:07:12

  Modified:    .        CHANGES STATUS
               modules/http http_request.c
  Log:
  - revert my patch (r1.155) since it produces regressions.
  - add a note to STATUS that we don't forget the thing.
  
  Revision  Changes    Path
  1.1189    +0 -3      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.1188
  retrieving revision 1.1189
  diff -u -r1.1188 -r1.1189
  --- CHANGES	27 May 2003 20:43:50 -0000	1.1188
  +++ CHANGES	29 May 2003 15:07:10 -0000	1.1189
  @@ -32,9 +32,6 @@
     *) Fix a compile failure with recent OpenSSL and picky compilers
        (e.g., OpenSSL 0.9.7a and xlc_r on AIX).  [Jeff Trawick]
   
  -  *) Do not bypass output filters when redirecting subrequests internally.
  -     PR 17629.  [André Malo]
  -
     *) OpenSSL headers should be included as "openssl/ssl.h", and not rely on
        the INCLUDE path to be defined properly.
        PR 11310. [Geoff Thrope <geoff@geoffthorpe.net>]
  
  
  
  1.768     +13 -1     httpd-2.0/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/STATUS,v
  retrieving revision 1.767
  retrieving revision 1.768
  diff -u -r1.767 -r1.768
  --- STATUS	21 May 2003 16:21:19 -0000	1.767
  +++ STATUS	29 May 2003 15:07:11 -0000	1.768
  @@ -104,6 +104,18 @@
   
   RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
   
  +    * Filter stacks and subrequests, redirects and fast redirects.
  +      There's at least one PR that suffers from the current unclean behaviour
  +      (which lets the server send garbage): PR 17629
  +      nd says: Every subrequest should get its own filter stack with the
  +               subreq_core filter as bottom-most. That filter does two things:
  +                 - swallow EOS buckets
  +                 - redirect the data stream to the upper request's (rr->main)
  +                   filter chain directly after the subrequest's starting
  +                   point.
  +               Once we have a clean solution, we can try to optimize
  +               it, so that the server won't be slow down too much.
  +
       * RFC 2616 violations.
         Closed PRs: 15857.
         Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
  
  
  
  1.157     +5 -24     httpd-2.0/modules/http/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/http/http_request.c,v
  retrieving revision 1.156
  retrieving revision 1.157
  diff -u -r1.156 -r1.157
  --- http_request.c	19 May 2003 01:19:55 -0000	1.156
  +++ http_request.c	29 May 2003 15:07:12 -0000	1.157
  @@ -400,27 +400,17 @@
       new->proto_output_filters  = r->proto_output_filters;
       new->proto_input_filters   = r->proto_input_filters;
   
  -    if (new->main) {
  -        new->output_filters = r->output_filters;
  -        new->input_filters = r->input_filters;
  +    new->output_filters  = new->proto_output_filters;
  +    new->input_filters   = new->proto_input_filters;
   
  +    if (new->main) {
           /* Add back the subrequest filter, which we lost when
            * we set output_filters to include only the protocol
            * output filters from the original request.
  -         *
  -         * XXX: This shouldn't be neccessary any longer, because the filter
  -         * is still in place -- isn't it?
            */
           ap_add_output_filter_handle(ap_subreq_core_filter_handle,
                                       NULL, new, new->connection);
       }
  -    else {
  -        /* In subrequests we _must_ point to the complete upper request's
  -         * filter chain, so skip the filters _only_ within the main request.
  -         */
  -        new->output_filters  = new->proto_output_filters;
  -        new->input_filters   = new->proto_input_filters;
  -    }
       
       update_r_in_filters(new->input_filters, r, new);
       update_r_in_filters(new->output_filters, r, new);
  @@ -471,19 +461,10 @@
       r->subprocess_env = apr_table_overlay(r->pool, rr->subprocess_env,
                                             r->subprocess_env);
   
  -    /* copy the filters _only_ within the main request. In subrequests
  -     * we _must_ point to the upper requests' filter chain, so do not
  -     * touch 'em!
  -     */
  -    if (!r->main) {
  -        r->output_filters = rr->output_filters;
  -        r->input_filters = rr->input_filters;
  -    }
  +    r->output_filters = rr->output_filters;
  +    r->input_filters = rr->input_filters;
   
       if (r->main) {
  -        /* XXX: This shouldn't be neccessary any longer, because the filter
  -         * is still in place -- isn't it?
  -         */
           ap_add_output_filter_handle(ap_subreq_core_filter_handle,
                                       NULL, r, r->connection);
       }
  
  
  

Mime
View raw message