CHANGES revision 584a85dd4047e38d3ed3a29b6662fcc9d100ae4c
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 *
7e852fc77c66ea1edb4e88808bb75ecd3603a2e5wrowe* been deprecated. Proxy changes should *
7e852fc77c66ea1edb4e88808bb75ecd3603a2e5wrowe* be noted in httpd-2.x's CHANGES file. *
7e852fc77c66ea1edb4e88808bb75ecd3603a2e5wrowe* This file exists for historical *
7e852fc77c66ea1edb4e88808bb75ecd3603a2e5wrowe* purposes. *
7e852fc77c66ea1edb4e88808bb75ecd3603a2e5wrowe******************************************
e5106092b7fae78cec4898042a78a10acccb4cacwrowe
e5106092b7fae78cec4898042a78a10acccb4cacwrowemod_proxy changes for httpd 2.0.29-dev
e5106092b7fae78cec4898042a78a10acccb4cacwrowe *) don't do keepalives for sub-requests. [Ian Holsman]
e5106092b7fae78cec4898042a78a10acccb4cacwrowe
e5106092b7fae78cec4898042a78a10acccb4cacwrowe *) fix up proxypass handling [Ian Holsman]
e5106092b7fae78cec4898042a78a10acccb4cacwrowe
e5106092b7fae78cec4898042a78a10acccb4cacwrowe *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
470d223738c1dfc4e07c7fae5d186e9dfadd9643jorton a subrequest [Ian Holsman]
470d223738c1dfc4e07c7fae5d186e9dfadd9643jorton
470d223738c1dfc4e07c7fae5d186e9dfadd9643jortonmod_proxy changes for httpd 2.0.26-dev
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick Flag on, you will mask the error pages returned by the proxied
81bd9331da3bd0f53255d52b1475480ff3a4b395trawick server, and will it will be handled as if your server generated
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick the error. This change was put in so that a 404 on a included
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick r-proxied component will act in the same manner as a 404 on a
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick included file. [Ian Holsman <ianh@cnet.com>]
cd3bbd6d2df78d6c75e5d159a81ef8bdd5f70df9trawick
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisdmod_proxy changes for httpd 2.0.25-dev
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd *) Split proxy: space using <Proxy[Match] > directive blocks from
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
13ce20bba632871d7ceb413f39dc73c718ddec7dchrisd now bypasses the directory and files testing phase (and skips
c7c8dd19c90c5ee7205ccdf443585d14da3daecechrisd the http TRACE default handler on it's own, as well). Note that
421e0a5d1c49de76406f61e9abef271af2336c31rpluem <Location > blocks continue to be processed for proxy: requests.
421e0a5d1c49de76406f61e9abef271af2336c31rpluem [William Rowe <wrowe@covalent.net>]
421e0a5d1c49de76406f61e9abef271af2336c31rpluem
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme *) apr_uri type/function namespace changes in apr_uri functions
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme [Doug MacEachern <dougm@covalent.net>]
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme
108ebbb87b2a46f4416ec507824471a483c39fe1sctemmemod_proxy changes for httpd 2.0.23-dev
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd *) break the proxy_http_handler into multiple smaller functions.
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd [John Barbee <barbee@veribox.net>]
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd *) Fix the proxy when the origin server sends back a 100
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd Continue response. [John Barbee <barbee@veribox.net>]
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd
bed7fc979e00a75f76ed79245f003b52e91d40abchrisd *) Change 'readbytes' from apr_size_t to apr_off_t due to change
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjortonmod_proxy changes for httpd 2.0.20-dev
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd *) Timeout added for backend connections.
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd *) Fix abort code path in proxy_http.c, similar to FTP fix.
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [Chuck Murcko <chuck@topsail.org>]
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd *) Fix FTP ABOR command execution path.
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
e4edb2d4252459327f6edd834de6825873e60134chrisd *) FTP return code variable cleanup; fixed problem in login
e4edb2d4252459327f6edd834de6825873e60134chrisd [Chuck Murcko <chuck@topsail.org>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
e4edb2d4252459327f6edd834de6825873e60134chrisd *) Get PORT working again in the ftp proxy.
e4edb2d4252459327f6edd834de6825873e60134chrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
e4edb2d4252459327f6edd834de6825873e60134chrisd
111c8f806b790a72ad0244aae35252470662e10drpluem *) Return result code check for FTP QUIT, after fixing
111c8f806b790a72ad0244aae35252470662e10drpluem problems with passive connection handling.
111c8f806b790a72ad0244aae35252470662e10drpluem [Victor Orlikowski <v.j.orlikowski@gte.net>]
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem *) Reorganize ap_proxy_string_read() internally to not process eos
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem buckets.
399d43256a3339482bfa6cb76eb72ce5b363ae7arpluem [Chuck Murcko <chuck@topsail.org>]
37b35c7feec8216b5119c0c083990cfe4e400769rpluem [Victor Orlikowski <v.j.orlikowski@gte.net>]
37b35c7feec8216b5119c0c083990cfe4e400769rpluem
37b35c7feec8216b5119c0c083990cfe4e400769rpluem *) 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>]
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd [Victor Orlikowski <v.j.orlikowski@gte.net>]
dd6199828976e6c7850ca6abd7a1ceba99e9ed16chrisd
3ff68b9ee78262779dbedf791576d35fdd229f7brpluemmod_proxy changes for httpd 2.0.19
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem
3ff68b9ee78262779dbedf791576d35fdd229f7brpluem *) Reverse previous patch since the core reverted.
de0fed4fa6741aea09dbe28f03aa4c20e822ed5drpluem [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
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton *) Fixed a problem with directory listing corruption in the
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton PROXY_DIR filter.
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton [Graham Leggett <minfrin@sharp.fm>]
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjim *) mod_proxy and the proxy submodules now build properly as DSOs.
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim [Graham Leggett <minfrin@sharp.fm>]
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim *) Stopped the HTTP proxy from trying to read entity bodies when there
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin 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
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin 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>]
50c06405bc48121db2913925549407fd3e79bcedmturk
50c06405bc48121db2913925549407fd3e79bcedmturk *) Added Max-Forwards support for all request types so as to prevent
dec02391360e503cd3437d16bed765dc653b9de5minfrin 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>]
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniqmod_proxy changes for httpd 2.0.18
686ce4eade942e515b1725d0c9751da36b759a6ctrawick
686ce4eade942e515b1725d0c9751da36b759a6ctrawick *) IPV6 EPSV support for IPV6 in FTP proxy.
686ce4eade942e515b1725d0c9751da36b759a6ctrawick [Graham Leggett <minfrin@sharp.fm>]
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) FTP directory filter works now.
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd [Graham Leggett <minfrin@sharp.fm>]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd [Graham Leggett <minfrin@sharp.fm>]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) PASV FTP works now.
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq [Graham Leggett <minfrin@sharp.fm>]
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq
27b38d4191d5f638165e2a77ec6e6f567bd7784dniq *) Reworked the line-at-a-time read from the control connection to
a87e2a23083aa62229307482afbb3b802a0c2105mturk workaround a stray empty bucket returned by the HTTP_IN filter.
a87e2a23083aa62229307482afbb3b802a0c2105mturk [Graham Leggett <minfrin@sharp.fm>]
a87e2a23083aa62229307482afbb3b802a0c2105mturk
a87e2a23083aa62229307482afbb3b802a0c2105mturk *) Stopped the CORE filter from sending off an HTTP response when a
a87e2a23083aa62229307482afbb3b802a0c2105mturk CONNECT tunnel was closed.
a87e2a23083aa62229307482afbb3b802a0c2105mturk [Graham Leggett <minfrin@sharp.fm>]
8fd638698262130d00458b2c95548f6f94875847rpluem
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem [Graham Leggett <minfrin@sharp.fm>]
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem
e99dfd55d29a7b4209b814efc7270d0b74ccee74niq *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
c3c8103039e36494987aff50451896459826a361rpluem [Graham Leggett <minfrin@sharp.fm>]
e99dfd55d29a7b4209b814efc7270d0b74ccee74niq
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluemmod_proxy changes for httpd 2.0.17
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluem
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluem *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
127aef4ce9f7b6b32a95c5ed9a93b796d18755e6rpluem BUFF!!!). It compiles, but is untested, and the build environment needs
79d4b708d021714647aab8b138ae671ed24765cewrowe to be fixed to include proxy_ftp.c.
79d4b708d021714647aab8b138ae671ed24765cewrowe [Graham Leggett <minfrin@sharp.fm>]
79d4b708d021714647aab8b138ae671ed24765cewrowe
79d4b708d021714647aab8b138ae671ed24765cewrowe *) Cleanup of dead functions within proxy_util.c.
79d4b708d021714647aab8b138ae671ed24765cewrowe [Graham Leggett <minfrin@sharp.fm>]
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem *) Reworked the storage of the client socket between keepalive connections
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem to fix some nasty problems with the socket lasting longer than the
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem memory pool it was allocated from.
15264721069299ec26493e21d56bf8ff7faf6f0drpluem [Graham Leggett <minfrin@sharp.fm>]
15264721069299ec26493e21d56bf8ff7faf6f0drpluem
15264721069299ec26493e21d56bf8ff7faf6f0drpluem *) Fixed bug where a hostname without a "." in it (such as "localhost")
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem would not trigger an IP address check with ProxyBlock.
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem [Graham Leggett <minfrin@sharp.fm>]
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluemmod_proxy changes for httpd 2.0.16
48fa058fe468025347930610ac2473094fa0f4e4chrisd
48fa058fe468025347930610ac2473094fa0f4e4chrisd *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
48fa058fe468025347930610ac2473094fa0f4e4chrisd ap_proxy_connect_handler().
3ec4328f079d8867cc323155e59678ad9437914frooneg [Graham Leggett <minfrin@sharp.fm>]
3ec4328f079d8867cc323155e59678ad9437914frooneg
3ec4328f079d8867cc323155e59678ad9437914frooneg *) Updated ap_proxy_connect_handler() to support APR, while
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd moving some common code between http_handler and connect_handler
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd to proxy_util.c.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [Graham Leggett <minfrin@sharp.fm>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) Updated mod_proxy.html docs to include v2.0 configuration.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [Graham Leggett <minfrin@sharp.fm>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
cd59ac5e8f739afbdcd523c649550f7dce1709ceniq *) Fixed problem where responses without entity bodies would cause
db78659055df54243bca678c35bd2ce7e31a9237rooneg the directly following proxy keepalive request to fail.
edf6757df85878dc8ce11fb3840ee4cde6de5b2frooneg [Graham Leggett <minfrin@sharp.fm>]
db78659055df54243bca678c35bd2ce7e31a9237rooneg
95817edd05387a5276f51fcd5db79fc21b89b55broonegmod_proxy changes for httpd 2.0.15
95817edd05387a5276f51fcd5db79fc21b89b55brooneg
95817edd05387a5276f51fcd5db79fc21b89b55brooneg *) Added support for downstream keepalives in mod_proxy.
63689d77e084e36b8194fb6df5adfc0344965e01trawick [Graham Leggett <minfrin@sharp.fm>]
63689d77e084e36b8194fb6df5adfc0344965e01trawick
63689d77e084e36b8194fb6df5adfc0344965e01trawick *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
63689d77e084e36b8194fb6df5adfc0344965e01trawick [Graham Leggett <minfrin@sharp.fm>]
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton *) Fix problem where incoming response headers were not being returned
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton to the client in mod_proxy.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes reverse proxied request headers in mod_proxy.
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem [Graham Leggett <minfrin@sharp.fm>]
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fix problem with proxy configuration where globally set
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem configuration options were overridden inside virtual hosts.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fix ProxyReceiveBufferSize where default value was left
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes uninitialised.
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Some small changes:
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes - 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.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [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
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem [Chuck Murcko <chuck@topsail.org>]
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem *) removed cache
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem [Chuck Murcko <chuck@topsail.org>]
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq *) initial rerebuild for 2.0
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq [Chuck Murcko <chuck@topsail.org>]
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick