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;
    
  
  
  

Reply via email to