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