1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

803 Commits

Author SHA1 Message Date
Jim Jagielski
b0318e55e6 No need for this extra test, so remove dangit! :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@393955 13f79535-47bb-0310-9956-ffa450edef68
2006-04-13 21:53:31 +00:00
Jim Jagielski
37913483e0 Extend the output routine to ensure full writes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@390571 13f79535-47bb-0310-9956-ffa450edef68
2006-04-01 02:26:57 +00:00
Jim Jagielski
865db434ee Limit environment size to FastCGI to FCGI_MAX_ENV_SIZE
(which is currently 65535)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@389847 13f79535-47bb-0310-9956-ffa450edef68
2006-03-29 17:59:14 +00:00
Garrett Rooney
dc5a7b4bf2 Don't just hardcode 30 seconds as the poll timeout.
* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Use the worker timeout for our polls, falling back to the
   old behavior of 30 seconds if there is no worker timeout set.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383292 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 07:30:50 +00:00
Garrett Rooney
77088eff2a Fix up the path info in the balancer backend just like we do in the
fcgi backend.  This lets Rails apps work under a balancer setup without
any hacks to Rails itself.

* modules/proxy/mod_proxy_balancer.c
  (proxy_balancer_canon): Set r->path_info based on the path we got
   from parsing the URL.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Remove the comment about balancer not setting
   the path_info.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383291 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 07:08:28 +00:00
Garrett Rooney
d215e258b8 Stop holding open connections to the backend fastcgi processes. At
this point we lack a good way to manage them, and thus it's really
easy to end up with situations where you get weird timeouts because
other worker process are holding all the connections open.

This allows Rails applications to reliably work with mod_proxy_fcgi.

* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Add a timeout for our poll.  This should be controlled
   by a config option of some sort, but for now just hardcode it.
  (proxy_fcgi_handler): Set close_on_recycle to 1, so we don't hold
   open connections to the fastcgi processes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383278 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 04:33:44 +00:00
Garrett Rooney
ec72c5778d Bring the debugging output up to date with the kind of things that are
actually being debugged at the moment.  Also note a problem with the way
we handle the path info setup.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Log the filename and path info when we set them,
   add a note that the path info stuff isn't being set if we're run in
   a balancer setup, which needs to be fixed somehow.
  (send_environment): Add an (ifdefed) call to log the environment vars
   we send to the backend server.
  (dump_header_to_log): Default to ifdefing this out, we're a bit beyond
   bugs in the raw FCGI protocol at this point and it fills up the logs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383239 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 00:57:24 +00:00
Garrett Rooney
e9c81b9cef * modules/proxy/mod_proxy_fcgi.c
(dispatch): Remove extra level of indentation.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@377284 13f79535-47bb-0310-9956-ffa450edef68
2006-02-13 01:32:26 +00:00
Jim Jagielski
9314f6944b Document that we are being chunking in our
content passing, as compared to simply spooling
all the content in until clen == 0. Also, we
need to cleanup the brigade after each pass.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@376346 13f79535-47bb-0310-9956-ffa450edef68
2006-02-09 16:51:22 +00:00
Jim Jagielski
337568ea43 OK, if we have already seen headers, it's a smashing
good idea to go ahead and pass the data along.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@376318 13f79535-47bb-0310-9956-ffa450edef68
2006-02-09 15:16:45 +00:00
Jim Jagielski
f74b30e1cb Minor style change: IMO checking for APR_SUCCESS is
just better and more consistant.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@376297 13f79535-47bb-0310-9956-ffa450edef68
2006-02-09 14:07:03 +00:00
Garrett Rooney
10240118ae Now that the dispatch function handles the entire request there's no need
to create a long lived pool, we can use one that's local to the function.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_baton_t): Removed.
  (dispatch): Use a local setaside pool instead of one from the baton.
  (proxy_fcgi_handler): Don't bother creating a baton.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@373269 13f79535-47bb-0310-9956-ffa450edef68
2006-01-29 01:19:47 +00:00
Garrett Rooney
c198ffb7a0 Clean up the end-of-headers detection code a bit. I'm still getting some
strange problems with really large numbers of headers, but I'm starting to
suspect that it's a problem with my FastCGI lib, not this module, and this
at least makes things shorter and a bit easier to read, along with fixing
one bug.

* modules/proxy/mod_proxy_fcgi.c
  (handle_headers): Get rid of some cases that were not strictly needed.
   Insert a case that was missed that screwed things up when there were
   more than one header.
  (dispatch): Move the 'done with headers' code into the preceding block,
   add a note about a case that needs to be investigated.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@371840 13f79535-47bb-0310-9956-ffa450edef68
2006-01-24 06:21:09 +00:00
Garrett Rooney
769ceff431 Update the proxy worker stats when we read/write data from/to the back
end fastcgi process.

* modules/proxy/mod_proxy_fcgi.c
  (send_data, get_data): New wrapper functions that do the sendv/recv
   stuff and then update the proper statistics.
  (send_begin_request, send_environment, dispatch): Use send_data/get_data.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@371560 13f79535-47bb-0310-9956-ffa450edef68
2006-01-23 15:57:03 +00:00
Garrett Rooney
fee8affb52 Update an old comment.
* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_handler): Stop describing the old URL style, remove a stray
   empty line.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@371431 13f79535-47bb-0310-9956-ffa450edef68
2006-01-23 01:17:40 +00:00
Garrett Rooney
a918c76c14 Fix the code that detects the end of the headers in mod_proxy_fcgi. In
the old code, we'd fail to detect the end of the headers if they were split
over multiple fastcgi records, or if the cgi script used \n at the end of
each header instead of \r\n.

* modules/proxy/mod_proxy_fcgi.c
  (HDR_STATE_READING_HEADERS,
   HDR_STATE_GOT_CR,
   HDR_STATE_GOT_CRLF,
   HDR_STATE_GOT_CRLFCR,
   HDR_STATE_GOT_LF,
   HDR_STATE_DONE_WITH_HEADERS): Constants to track where we are in parsing
   the end of the headers.
  (handle_headers): Take the current parsing state as an argument, use a
   state machine to detect the end of the headers instead of strstr.
  (dispatch): Pass the state to handle_headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@371428 13f79535-47bb-0310-9956-ffa450edef68
2006-01-23 00:53:29 +00:00
Garrett Rooney
fa649f8af4 Change the FastCGI URL scheme to fcgi://.
* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Stop pretending unix domain sockets will need their
   own url scheme.
  (FCGI_SCHEME): New constant to describe the FastCGI proxy backend.
  (proxy_fcgi_handler): Drop the fcgi-local stuff, use FCGI_SCHEME now that
   we aren't worrying about multiple types of FastCGI workers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@367906 13f79535-47bb-0310-9956-ffa450edef68
2006-01-11 04:07:56 +00:00
Jim Jagielski
2e6caacc20 Allow for "natural" usage of normal FCGI structs when logical, yet
still correctly handle cases where we need to ship those structs
over the wire, by transforming them from FCGI structs to
unsigned char arrays. Place the logic of mapping that
struct to the arrays in distinct functions, isolating
them. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@367300 13f79535-47bb-0310-9956-ffa450edef68
2006-01-09 14:10:55 +00:00
Garrett Rooney
a8f95ba344 After more comparison with existing mod_proxy backends, such as http
it seems clear that we're going to need to be able to specify arbitrary
portions of the URL that need to be added to the path info.  Follow the
lead of mod_proxy_http and add the calculation of this into the canon
handler.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Add the path portion of the back end URL to the
   path_info of the request, via the ap_proxy_canonenc function.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@367208 13f79535-47bb-0310-9956-ffa450edef68
2006-01-09 05:43:07 +00:00
Garrett Rooney
12c486c895 Set up r->path_info so that the PATH_INFO environment variable gets
passed on to the back end FastCGI process.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Use the post-hostname portion of the URL as the
   path info for the request.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@367170 13f79535-47bb-0310-9956-ffa450edef68
2006-01-09 02:52:48 +00:00
Garrett Rooney
99d2e48c0b In theory, we now correctly implement all of the FastCGI protocol, so
there's no reason that request ids wouldn't be matching up.  Until we
see an example of a request id mismatch error that is absolutely not
caused by an error in our parsing of the FastCGI protocol, we should
be able to go back to treating mismatches as errors.

* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Remove #ifdef that turned off treating rid mismatches as
   fatal errors.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366985 13f79535-47bb-0310-9956-ffa450edef68
2006-01-08 04:48:50 +00:00
Garrett Rooney
f8e4962927 Update a log message.
* modules/proxy/mod_proxy_fcgi.c
  (fcgi_do_request): We're no longer just handling STDIN in this call...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366927 13f79535-47bb-0310-9956-ffa450edef68
2006-01-07 21:39:13 +00:00
Garrett Rooney
1dff619619 Make the handling of FastCGI request headers consistent. Previously, we
used a struct to hold the data when writing it, but read it into an array
when reading it.  This meant that the knowledge of the header layout was
in two places.  This change moves both sides to using an array, and adds
a set of #defines for the offsets into the array, so neither side can get
out of sync.

This also moves the logic for setting up the content length bytes into one
place, where before we had it in several places.

* modules/proxy/fcgi_protocol.h
  (fcgi_header): Removed.
  (FCGI_HDR_VERSION_OFFSET,
   FCGI_HDR_TYPE_OFFSET,
   FCGI_HDR_REQUEST_ID_B1_OFFSET,
   FCGI_HDR_REQUEST_ID_B0_OFFSET,
   FCGI_HDR_CONTENT_LEN_B1_OFFSET,
   FCGI_HDR_CONTENT_LEN_B0_OFFSET,
   FCGI_HDR_PADDING_LEN_OFFSET,
   FCGI_HDR_RESERVED_OFFSET): New constants.

* modules/proxy/mod_proxy_fcgi.c
  (fill_in_header): Take an array, not a struct pointer, and handle all
   the contents of the header, not just the type and request id.
  (send_begin_request, send_environment, dispatch): Update for new way
   to fill in headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366926 13f79535-47bb-0310-9956-ffa450edef68
2006-01-07 21:37:40 +00:00
Garrett Rooney
9930639028 Make a pass through mod_proxy_fcgi and clean up its style a bit. This
makes everything consistent with regard to spacing, line length, etc.

* modules/proxy/mod_proxy_fcgi.c
  (dump_header_to_log, dispatch, proxy_fcgi_handler): Clean up.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366414 13f79535-47bb-0310-9956-ffa450edef68
2006-01-06 04:03:13 +00:00
Garrett Rooney
c759fb7127 Read the FCGI_STDERR stream and log it to the error log. This will need
cleanup, but at least it keeps us from messing up the stream when we get
stuff written to stderr by the fastcgi process.

* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Move the plen recv down after the switch, so it gets done
   for all cases that have padding.  Read data for the FCGI_STDERR case
   just like we do for FCGI_STDOUT, but write it to the log instead of
   sending it to the client.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366412 13f79535-47bb-0310-9956-ffa450edef68
2006-01-06 03:51:43 +00:00
Garrett Rooney
ae4adc48ab Make sure that we read the padding bytes in all cases. Also cut
down on some of the crazy verbose logging, since this seems to be
the problem we were trying to find.

* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Remove really verbose logging, move reading of the
   padding bytes down to the end of the FCGI_STDOUT case.

Tested By: iholsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366086 13f79535-47bb-0310-9956-ffa450edef68
2006-01-05 05:24:43 +00:00
Ian Holsman
98e166d510 more debug statements.
right now it looks like for large requests it isn't reading enough off the wire.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365863 13f79535-47bb-0310-9956-ffa450edef68
2006-01-04 08:28:32 +00:00
Ian Holsman
82621236ba show me the header please
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365824 13f79535-47bb-0310-9956-ffa450edef68
2006-01-04 04:35:03 +00:00
Garrett Rooney
17fe7b54b5 Clean up record header parsing a bit. This may fix the problems some
people have seen where rid != request_id.

* modules/proxy/mod_proxy_fcgi.c
  (dispatch): Stop initializing things we're just going to assign over
   them later, initialize all of the rid and clen variables, and fix a
   warning from passing an unsigned char array into apr_socket_recv by
   adding a cast to char *.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365813 13f79535-47bb-0310-9956-ffa450edef68
2006-01-04 03:51:58 +00:00
Jim Jagielski
8a1d921e23 Garret has a good point... even though we are sending the whole
struct, and assuming that it's following the correct format,
we should be extra careful when rec'ing the header info, and
ensure that each byte is followed one after another.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365698 13f79535-47bb-0310-9956-ffa450edef68
2006-01-03 18:05:54 +00:00
Jim Jagielski
a77f586a9f Align with FCGI protocol defines.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365643 13f79535-47bb-0310-9956-ffa450edef68
2006-01-03 14:40:26 +00:00
Jim Jagielski
ebb1c4138e Move the FastCGI protocol types/constants to a sep file.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365432 13f79535-47bb-0310-9956-ffa450edef68
2006-01-02 20:53:43 +00:00
Jim Jagielski
ff525fb285 Temporary hack to allow testing to continue. Interesting that
other FCGI modules (like mod_fcgid) don't bother to test
the return request_id... 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365387 13f79535-47bb-0310-9956-ffa450edef68
2006-01-02 18:25:42 +00:00
Jim Jagielski
708752821b Avoid magic numbers. Since we are reading the header, let's
be explicit about it. Also removes the need to clean up
the readbuf again, and any potential for confusion on
what we are doing ;)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@365376 13f79535-47bb-0310-9956-ffa450edef68
2006-01-02 16:52:58 +00:00
Paul Querna
1b22034fb2 When we get some kind of write failure or protocol problem, close the current socket, since we don't know if we are left in a working state.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@360174 13f79535-47bb-0310-9956-ffa450edef68
2005-12-30 22:16:14 +00:00
Paul Querna
3b71348d63 Handle reading fastcgi records with content length larger than AP_IOBUFSIZE.
* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_baton_t): New struct, holds per-connection data.
  (dispatch): Set buckets aside into the scratch pool in the baton,
   clearing it when we pass the baton on.  Deal with the case where
   the content length is larger than AP_IOBUFSIZE.  Consistently use
   sizeof when referring to the length of buffers.  Explicitly null
   terminate the read buffer after reading.  Read the padding bytes
   in a second pass to simplify logic.
  (proxy_fcgi_handler): Create our baton and stash it in the connection's
   data member.

Submitted By: Garrett Rooney <rooneg apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@360164 13f79535-47bb-0310-9956-ffa450edef68
2005-12-30 20:59:30 +00:00
Paul Querna
f52ebe0306 Add support for reading FCGI_STDOUT and FCGI_END_REQUEST records from the
back end fastcgi process.  This includes switching to a poll based dispatch
loop that handles interleaved reads and writes.

* modules/proxy/mod_proxy_fcgi.c
  (MAX_INPUT_BYTES): Removed, we now use AP_IOBUFSIZE.
  (handle_headers): New helper function for parsing headers out of the
   response data.
  (send_stdin): Removed, code incorporated into dispatch routine.
  (dispatch): New, poll based dispatch loop that handles both reads and
   writes.
  (fcgi_do_request): Call new dispatch routine.  Return OK if we get
   through without errors.

Submitted By: Garrett Rooney <rooneg apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@359901 13f79535-47bb-0310-9956-ffa450edef68
2005-12-29 21:59:50 +00:00
Paul Querna
30dcfd2091 Add support for sending the FASTCGI_STDIN stream of data to the fastcgi
process.

* modules/proxy/mod_proxy_fcgi.c
  (fill_in_header): New helper function.
  (send_begin_request, send_environment): Fix formatting, use fill_in_header.
  (MAX_INPUT_BYTES): New constant.
  (send_stdin): New function.
  (fcgi_do_request): Send the body of the request via send_stdin.

Submitted By: Garrett Rooney <rooneg apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@359183 13f79535-47bb-0310-9956-ffa450edef68
2005-12-27 07:23:44 +00:00
Paul Querna
25e436b05e Add support for sending the environment to the backend fastcgi process
to mod_proxy_fcgi.

* modules/proxy/mod_proxy_fcgi.c
  (proxy_fcgi_canon): Remove unused variables, wrap a long line.
  (send_begin_request): Helper function to send the FCGI_BEGIN_REQUEST
   message.
  (send_environment): Helper function to send the environment.
  (fcgi_do_request): Use send_begin_request and send_environment.

Submitted By: Garrett Rooney <rooneg apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@359043 13f79535-47bb-0310-9956-ffa450edef68
2005-12-26 08:57:06 +00:00
Paul Querna
e4a4585a1d - Add defines for most common FastCGI values.
- Add basic structures, defined in the FastCGI Spec.
- Write a request to the server.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@358719 13f79535-47bb-0310-9956-ffa450edef68
2005-12-23 05:38:51 +00:00
Paul Querna
7520567c57 Fix the parsing of the protocol in ProxyPass, so now you can do:
ProxyPass / fcgi-tcp://localhost:9000/, and we will try to connect with TCP.

I still need to write supporting code to send/recv the FastCGI protocol packets.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@358690 13f79535-47bb-0310-9956-ffa450edef68
2005-12-23 03:16:07 +00:00
Paul Querna
d29585bc58 Create a templte for a FastCGI proxy backend. It does not actually do much yet, but is the base for more development. I hope to work on this more tomorrow.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@357444 13f79535-47bb-0310-9956-ffa450edef68
2005-12-18 05:42:38 +00:00
Jean-Frederic Clere
fe2d495671 Sorry, previous commit was not ok.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357044 13f79535-47bb-0310-9956-ffa450edef68
2005-12-15 16:58:10 +00:00
Jean-Frederic Clere
5aa5b6bf3e The string comming from TC is in ASCII and the string returned by apr_psprintf isn't.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357022 13f79535-47bb-0310-9956-ffa450edef68
2005-12-15 14:44:39 +00:00
Jim Jagielski
48904ff464 OK, while we ponder how best to reuse conn pools for workers,
clean this section up.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@356030 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 21:36:27 +00:00
Ruediger Pluem
06c6bde4c6 * revert r355823 and r355837
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355853 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 01:28:13 +00:00
Ruediger Pluem
c666adbbae * Let the proxy handler know that the backend connection broke after we have
sent the headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355837 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 00:50:21 +00:00
Ruediger Pluem
614df45f1e * Move handling of backends that broke after the headers have been sent
into the proxy handler of mod_proxy.

  This patch still sets r->connection->aborted to 1 which is currently
  vetoed by Roy. Moving it from the scheme handler to the proxy handler
  should ease the reimplementation of this, as the scheme handlers only
  needs to return PROXY_BACKEND_BROKEN to signal the above situation to
  the proxy handler.

  mod_proxy.h: Add define for PROXY_BACKEND_BROKEN
  mod_proxy.c: Handle PROXY_BACKEND_BROKEN in proxy handler
  mod_proxy_http.c: Sent back PROXY_BACKEND_BROKEN if backend broke
  after we sent the headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355823 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 00:15:27 +00:00
Justin Erenkrantz
70a553c87c Add a comment and use proper grammar for another comment.
(No functional changes.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@354636 13f79535-47bb-0310-9956-ffa450edef68
2005-12-07 00:44:13 +00:00
Justin Erenkrantz
5311a38fcf If we get an error reading the upstream response, we should bail.
Reported by: Brian Akins


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@354628 13f79535-47bb-0310-9956-ffa450edef68
2005-12-07 00:18:58 +00:00