You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Randy Terbush <ra...@hyperreal.com> on 1997/01/12 21:22:19 UTC

cvs commit: apache/src CHANGES http_protocol.c

randy       97/01/12 12:22:19

  Modified:    src       CHANGES http_protocol.c
  Log:
  A POST request to a CGI script that fails can be redirected to another
  CGI to handle via ErrorDocument 500.
  
  Apache uses:
  	     if (!r->read_chunked && (r->remaining <= 0))
  
  to decide if it should read the POSTed data, but the 2nd script can't
  find any POSTed data so it'll hang. If the script doesn't look for POSTed
  data Apache does, so it hangs.
  Reviewed by: Alexei Kosut, Randy Terbush, Rob Hartill
  Submitted by: Rob Hartill
  
  Revision  Changes    Path
  1.121     +3 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.120
  retrieving revision 1.121
  diff -C3 -r1.120 -r1.121
  *** CHANGES	1997/01/12 20:11:53	1.120
  --- CHANGES	1997/01/12 20:22:16	1.121
  ***************
  *** 1,5 ****
  --- 1,8 ----
    Changes with Apache 1.2b5
    
  +   *) CGI scripts called as an error document resulting from failed
  +      CGI execution would hang waiting for POST'ed data. [Rob Hartill]
  + 
      *) Log reason when mod_dir returns access HTTP_FORBIDDEN
         [Ken the Rodent]
    
  
  
  
  1.90      +3 -0      apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.89
  retrieving revision 1.90
  diff -C3 -r1.89 -r1.90
  *** http_protocol.c	1997/01/12 16:53:13	1.89
  --- http_protocol.c	1997/01/12 20:22:17	1.90
  ***************
  *** 1164,1169 ****
  --- 1164,1172 ----
    
    int should_client_block (request_rec *r)
    {
  +     if (is_HTTP_ERROR(r->status))
  +        return 0;
  + 
        if (!r->read_chunked && (r->remaining <= 0))
            return 0;