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******************************************
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawickmod_proxy changes for httpd 2.0.29-dev
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick *) don't do keepalives for sub-requests. [Ian Holsman]
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick *) fix up proxypass handling [Ian Holsman]
cb96b603a7f891e15a622fbec922628801a8efd4rpluem
cb96b603a7f891e15a622fbec922628801a8efd4rpluem *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
cb96b603a7f891e15a622fbec922628801a8efd4rpluem a subrequest [Ian Holsman]
fc3182e72cf0679cbf14a95213fbb9a98c3cf597rpluem
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>]
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd
421e0a5d1c49de76406f61e9abef271af2336c31rpluemmod_proxy changes for httpd 2.0.25-dev
421e0a5d1c49de76406f61e9abef271af2336c31rpluem
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
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd *) apr_uri type/function namespace changes in apr_uri functions
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd [Doug MacEachern <dougm@covalent.net>]
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd
bed7fc979e00a75f76ed79245f003b52e91d40abchrisdmod_proxy changes for httpd 2.0.23-dev
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd *) break the proxy_http_handler into multiple smaller functions.
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton [John Barbee <barbee@veribox.net>]
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton *) Fix the proxy when the origin server sends back a 100
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd Continue response. [John Barbee <barbee@veribox.net>]
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd
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>]
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisdmod_proxy changes for httpd 2.0.20-dev
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd *) Timeout added for backend connections.
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
e4edb2d4252459327f6edd834de6825873e60134chrisd *) Fix abort code path in proxy_http.c, similar to FTP fix.
e4edb2d4252459327f6edd834de6825873e60134chrisd [Chuck Murcko <chuck@topsail.org>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
e4edb2d4252459327f6edd834de6825873e60134chrisd *) Fix FTP ABOR command execution path.
e4edb2d4252459327f6edd834de6825873e60134chrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
39faded00972708f78af1613f895061b95afec3frpluem *) FTP return code variable cleanup; fixed problem in login
39faded00972708f78af1613f895061b95afec3frpluem [Chuck Murcko <chuck@topsail.org>]
39faded00972708f78af1613f895061b95afec3frpluem
39faded00972708f78af1613f895061b95afec3frpluem *) Get PORT working again in the ftp proxy.
111c8f806b790a72ad0244aae35252470662e10drpluem [Victor Orlikowski <v.j.orlikowski@gte.net>]
111c8f806b790a72ad0244aae35252470662e10drpluem
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
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem *) Reorganize ap_proxy_string_read() internally to not process eos
37b35c7feec8216b5119c0c083990cfe4e400769rpluem buckets.
37b35c7feec8216b5119c0c083990cfe4e400769rpluem [Chuck Murcko <chuck@topsail.org>]
37b35c7feec8216b5119c0c083990cfe4e400769rpluem [Victor Orlikowski <v.j.orlikowski@gte.net>]
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd
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>]
bc786d0dba3cefae135fb85ab303ddb2b229e43drpluem
bc786d0dba3cefae135fb85ab303ddb2b229e43drpluemmod_proxy changes for httpd 2.0.19
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem *) Reverse previous patch since the core reverted.
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem [Chuck Murcko <chuck@topsail.org>]
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem *) Remove indirection on number of bytes to read for input filters.
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem [Chuck Murcko <chuck@topsail.org>]
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem *) Fixed a problem with directory listing corruption in the
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton PROXY_DIR filter.
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton [Graham Leggett <minfrin@sharp.fm>]
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim *) mod_proxy and the proxy submodules now build properly as DSOs.
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjim [Graham Leggett <minfrin@sharp.fm>]
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim
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
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
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin *) Split each individual proxy protocol into separate modules.
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin [Graham Leggett <minfrin@sharp.fm>]
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin
50c06405bc48121db2913925549407fd3e79bcedmturk *) Added Max-Forwards support for all request types so as to prevent
50c06405bc48121db2913925549407fd3e79bcedmturk loops.
dec02391360e503cd3437d16bed765dc653b9de5minfrin [Graham Leggett <minfrin@sharp.fm>]
dec02391360e503cd3437d16bed765dc653b9de5minfrin
dec02391360e503cd3437d16bed765dc653b9de5minfrin *) Fix warnings about byte count type on Darwin (connect handler).
dec02391360e503cd3437d16bed765dc653b9de5minfrin [Chuck Murcko <chuck@topsail.org>]
dec02391360e503cd3437d16bed765dc653b9de5minfrin
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniqmod_proxy changes for httpd 2.0.18
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq
c7eeb0a294d58c75aee6ed86f73c6e1e8cf600a3rpluem *) IPV6 EPSV support for IPV6 in FTP proxy.
c7eeb0a294d58c75aee6ed86f73c6e1e8cf600a3rpluem [Graham Leggett <minfrin@sharp.fm>]
c7eeb0a294d58c75aee6ed86f73c6e1e8cf600a3rpluem
686ce4eade942e515b1725d0c9751da36b759a6ctrawick *) FTP directory filter works now.
686ce4eade942e515b1725d0c9751da36b759a6ctrawick [Graham Leggett <minfrin@sharp.fm>]
686ce4eade942e515b1725d0c9751da36b759a6ctrawick
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd [Graham Leggett <minfrin@sharp.fm>]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) PASV FTP works now.
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd [Graham Leggett <minfrin@sharp.fm>]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd
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
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
a87e2a23083aa62229307482afbb3b802a0c2105mturk *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
a87e2a23083aa62229307482afbb3b802a0c2105mturk [Graham Leggett <minfrin@sharp.fm>]
a87e2a23083aa62229307482afbb3b802a0c2105mturk
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluem *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluem [Graham Leggett <minfrin@sharp.fm>]
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluem
260825f41ee3fb517a5c5ecd675f5f58de9ea0b7rpluemmod_proxy changes for httpd 2.0.17
8fd638698262130d00458b2c95548f6f94875847rpluem
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>]
c3c8103039e36494987aff50451896459826a361rpluem
e99dfd55d29a7b4209b814efc7270d0b74ccee74niq *) Cleanup of dead functions within proxy_util.c.
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluem [Graham Leggett <minfrin@sharp.fm>]
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluem
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
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>]
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluemmod_proxy changes for httpd 2.0.16
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem
15264721069299ec26493e21d56bf8ff7faf6f0drpluem *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
15264721069299ec26493e21d56bf8ff7faf6f0drpluem ap_proxy_connect_handler().
15264721069299ec26493e21d56bf8ff7faf6f0drpluem [Graham Leggett <minfrin@sharp.fm>]
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem *) Updated ap_proxy_connect_handler() to support APR, while
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem moving some common code between http_handler and connect_handler
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem to proxy_util.c.
48fa058fe468025347930610ac2473094fa0f4e4chrisd [Graham Leggett <minfrin@sharp.fm>]
48fa058fe468025347930610ac2473094fa0f4e4chrisd
48fa058fe468025347930610ac2473094fa0f4e4chrisd *) Updated mod_proxy.html docs to include v2.0 configuration.
3ec4328f079d8867cc323155e59678ad9437914frooneg [Graham Leggett <minfrin@sharp.fm>]
3ec4328f079d8867cc323155e59678ad9437914frooneg
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>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisdmod_proxy changes for httpd 2.0.15
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) Added support for downstream keepalives in mod_proxy.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [Graham Leggett <minfrin@sharp.fm>]
cd59ac5e8f739afbdcd523c649550f7dce1709ceniq
db78659055df54243bca678c35bd2ce7e31a9237rooneg *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
edf6757df85878dc8ce11fb3840ee4cde6de5b2frooneg [Graham Leggett <minfrin@sharp.fm>]
db78659055df54243bca678c35bd2ce7e31a9237rooneg
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
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
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fix problem with proxy configuration where globally set
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes configuration options were overridden inside virtual hosts.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem *) Fix ProxyReceiveBufferSize where default value was left
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes uninitialised.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
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>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholesmod_proxy changes for httpd 2.0.14
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes since we no longer directly cache from this module
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) removed cache
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) initial rerebuild for 2.0
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem