CHANGES revision a21148678a1459064627d917a66669e7e8d140e6
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.29-dev
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) don't do keepalives for sub-requests. [Ian Holsman]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) fix up proxypass handling [Ian Holsman]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
c544ac2705cf516901c8455356d56b52c8615525mfloryan a subrequest [Ian Holsman]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.26-dev
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
c544ac2705cf516901c8455356d56b52c8615525mfloryan Flag on, you will mask the error pages returned by the proxied
c544ac2705cf516901c8455356d56b52c8615525mfloryan server, and will it will be handled as if your server generated
c544ac2705cf516901c8455356d56b52c8615525mfloryan the error. This change was put in so that a 404 on a included
c544ac2705cf516901c8455356d56b52c8615525mfloryan r-proxied component will act in the same manner as a 404 on a
c544ac2705cf516901c8455356d56b52c8615525mfloryan included file. [Ian Holsman <ianh@cnet.com>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.25-dev
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Split proxy: space using <Proxy[Match] > directive blocks from
c544ac2705cf516901c8455356d56b52c8615525mfloryan the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
c544ac2705cf516901c8455356d56b52c8615525mfloryan now bypasses the directory and files testing phase (and skips
c544ac2705cf516901c8455356d56b52c8615525mfloryan the http TRACE default handler on it's own, as well). Note that
c544ac2705cf516901c8455356d56b52c8615525mfloryan <Location > blocks continue to be processed for proxy: requests.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [William Rowe <wrowe@covalent.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) apr_uri type/function namespace changes in apr_uri functions
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Doug MacEachern <dougm@covalent.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.23-dev
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) break the proxy_http_handler into multiple smaller functions.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [John Barbee <barbee@veribox.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix the proxy when the origin server sends back a 100
c544ac2705cf516901c8455356d56b52c8615525mfloryan Continue response. [John Barbee <barbee@veribox.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Change 'readbytes' from apr_size_t to apr_off_t due to change
c544ac2705cf516901c8455356d56b52c8615525mfloryan in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.20-dev
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Timeout added for backend connections.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix abort code path in proxy_http.c, similar to FTP fix.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix FTP ABOR command execution path.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) FTP return code variable cleanup; fixed problem in login
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Get PORT working again in the ftp proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Return result code check for FTP QUIT, after fixing
c544ac2705cf516901c8455356d56b52c8615525mfloryan problems with passive connection handling.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Reorganize ap_proxy_string_read() internally to not process eos
c544ac2705cf516901c8455356d56b52c8615525mfloryan buckets.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Remove result code check for FTP QUIT command. Some servers send
c544ac2705cf516901c8455356d56b52c8615525mfloryan nothing at all back in response to QUIT.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Victor Orlikowski <v.j.orlikowski@gte.net>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.19
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Reverse previous patch since the core reverted.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Remove indirection on number of bytes to read for input filters.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed a problem with directory listing corruption in the
c544ac2705cf516901c8455356d56b52c8615525mfloryan PROXY_DIR filter.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) mod_proxy and the proxy submodules now build properly as DSOs.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Stopped the HTTP proxy from trying to read entity bodies when there
c544ac2705cf516901c8455356d56b52c8615525mfloryan wasn't one (response was 1xx, 204, 205 or 304).
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Made sure dates were canonicalised correctly when passed to the client
c544ac2705cf516901c8455356d56b52c8615525mfloryan browser through the HTTP proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Split each individual proxy protocol into separate modules.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Added Max-Forwards support for all request types so as to prevent
c544ac2705cf516901c8455356d56b52c8615525mfloryan loops.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix warnings about byte count type on Darwin (connect handler).
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.18
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) IPV6 EPSV support for IPV6 in FTP proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) FTP directory filter works now.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) PASV FTP works now.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Reworked the line-at-a-time read from the control connection to
c544ac2705cf516901c8455356d56b52c8615525mfloryan workaround a stray empty bucket returned by the HTTP_IN filter.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Stopped the CORE filter from sending off an HTTP response when a
c544ac2705cf516901c8455356d56b52c8615525mfloryan CONNECT tunnel was closed.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.17
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
c544ac2705cf516901c8455356d56b52c8615525mfloryan BUFF!!!). It compiles, but is untested, and the build environment needs
c544ac2705cf516901c8455356d56b52c8615525mfloryan to be fixed to include proxy_ftp.c.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Cleanup of dead functions within proxy_util.c.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Reworked the storage of the client socket between keepalive connections
c544ac2705cf516901c8455356d56b52c8615525mfloryan to fix some nasty problems with the socket lasting longer than the
c544ac2705cf516901c8455356d56b52c8615525mfloryan memory pool it was allocated from.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed bug where a hostname without a "." in it (such as "localhost")
c544ac2705cf516901c8455356d56b52c8615525mfloryan would not trigger an IP address check with ProxyBlock.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.16
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
c544ac2705cf516901c8455356d56b52c8615525mfloryan ap_proxy_connect_handler().
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Updated ap_proxy_connect_handler() to support APR, while
c544ac2705cf516901c8455356d56b52c8615525mfloryan moving some common code between http_handler and connect_handler
c544ac2705cf516901c8455356d56b52c8615525mfloryan to proxy_util.c.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Updated mod_proxy.html docs to include v2.0 configuration.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fixed problem where responses without entity bodies would cause
c544ac2705cf516901c8455356d56b52c8615525mfloryan the directly following proxy keepalive request to fail.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.15
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Added support for downstream keepalives in mod_proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix problem where incoming response headers were not being returned
c544ac2705cf516901c8455356d56b52c8615525mfloryan to the client in mod_proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
c544ac2705cf516901c8455356d56b52c8615525mfloryan reverse proxied request headers in mod_proxy.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix problem with proxy configuration where globally set
c544ac2705cf516901c8455356d56b52c8615525mfloryan configuration options were overridden inside virtual hosts.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Fix ProxyReceiveBufferSize where default value was left
c544ac2705cf516901c8455356d56b52c8615525mfloryan uninitialised.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) Some small changes:
c544ac2705cf516901c8455356d56b52c8615525mfloryan - Ensured hop-by-hop headers were stripped as per
c544ac2705cf516901c8455356d56b52c8615525mfloryan RFC2616 13.5.1.
c544ac2705cf516901c8455356d56b52c8615525mfloryan - Upgraded version code to HTTP/1.1.
c544ac2705cf516901c8455356d56b52c8615525mfloryan - Added Connection: close until Keepalives come.
c544ac2705cf516901c8455356d56b52c8615525mfloryan - Some cosmetic fixes and commenting.
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Graham Leggett <minfrin@sharp.fm>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryanmod_proxy changes for httpd 2.0.14
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
c544ac2705cf516901c8455356d56b52c8615525mfloryan since we no longer directly cache from this module
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) removed cache
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan *) initial rerebuild for 2.0
c544ac2705cf516901c8455356d56b52c8615525mfloryan [Chuck Murcko <chuck@topsail.org>]
c544ac2705cf516901c8455356d56b52c8615525mfloryan
c544ac2705cf516901c8455356d56b52c8615525mfloryan