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