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