CHANGES revision 793214f67dede32edfd9ee96c664ead04d175cbb
f743002678eb67b99bbc29fee116b65d9530fec0wrowe******************************************
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg* PLEASE NOTE: Now that development for *
f4d965ae26bc0c8c1c20cb5109507159e91313e8covener* mod_proxy has been folded back into *
08e054046d0c7e5532c66769ba80c69a7b4d8245ylavic* the httpd-2.1 tree, this file has *
08e054046d0c7e5532c66769ba80c69a7b4d8245ylavic* been deprecated. Proxy changes should *
08e054046d0c7e5532c66769ba80c69a7b4d8245ylavic* be noted in httpd-2.x's CHANGES file. *
9bfe773a084210dd794672fbfd3d6d401d7fe122ylavic* This file exists for historical *
9bfe773a084210dd794672fbfd3d6d401d7fe122ylavic* purposes. *
9bfe773a084210dd794672fbfd3d6d401d7fe122ylavic******************************************
1e2d421a36999d292042a5539971070d54aa6c63ylavic
1e2d421a36999d292042a5539971070d54aa6c63ylavicmod_proxy changes for httpd 2.0.29-dev
1e2d421a36999d292042a5539971070d54aa6c63ylavic *) don't do keepalives for sub-requests. [Ian Holsman]
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh *) fix up proxypass handling [Ian Holsman]
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh
0b67eb8568cd58bb77082703951679b42cf098actrawick *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
0b67eb8568cd58bb77082703951679b42cf098actrawick a subrequest [Ian Holsman]
0b67eb8568cd58bb77082703951679b42cf098actrawick
0b67eb8568cd58bb77082703951679b42cf098actrawickmod_proxy changes for httpd 2.0.26-dev
06bb3e11d3e997937534ae7bd45b3631d3b5e5bacovener *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
06bb3e11d3e997937534ae7bd45b3631d3b5e5bacovener Flag on, you will mask the error pages returned by the proxied
06bb3e11d3e997937534ae7bd45b3631d3b5e5bacovener server, and will it will be handled as if your server generated
06bb3e11d3e997937534ae7bd45b3631d3b5e5bacovener the error. This change was put in so that a 404 on a included
72f87451163dbeec3a4802a82235d9f91e07defftrawick r-proxied component will act in the same manner as a 404 on a
72f87451163dbeec3a4802a82235d9f91e07defftrawick included file. [Ian Holsman <ianh@cnet.com>]
72f87451163dbeec3a4802a82235d9f91e07defftrawick
dc0d0ed622bd252af5bed214579a3148e65c369eylavicmod_proxy changes for httpd 2.0.25-dev
dc0d0ed622bd252af5bed214579a3148e65c369eylavic
dc0d0ed622bd252af5bed214579a3148e65c369eylavic *) Split proxy: space using <Proxy[Match] > directive blocks from
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener now bypasses the directory and files testing phase (and skips
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener the http TRACE default handler on it's own, as well). Note that
cf8b985ec0a63b15a1c8f2990d96009a11e0d68ecovener <Location > blocks continue to be processed for proxy: requests.
cf8b985ec0a63b15a1c8f2990d96009a11e0d68ecovener [William Rowe <wrowe@covalent.net>]
cf8b985ec0a63b15a1c8f2990d96009a11e0d68ecovener
6bbcfe3fb8489d6e87770d37d97b7a5cd4fabceeylavic *) apr_uri type/function namespace changes in apr_uri functions
6bbcfe3fb8489d6e87770d37d97b7a5cd4fabceeylavic [Doug MacEachern <dougm@covalent.net>]
6bbcfe3fb8489d6e87770d37d97b7a5cd4fabceeylavic
6bbcfe3fb8489d6e87770d37d97b7a5cd4fabceeylavicmod_proxy changes for httpd 2.0.23-dev
420f251223a59477a211837382d0622efd42a6bdylavic
420f251223a59477a211837382d0622efd42a6bdylavic *) break the proxy_http_handler into multiple smaller functions.
420f251223a59477a211837382d0622efd42a6bdylavic [John Barbee <barbee@veribox.net>]
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic *) Fix the proxy when the origin server sends back a 100
3060ce7f798fbda7999cd4ddf89b525d2b294185covener Continue response. [John Barbee <barbee@veribox.net>]
c85eff31536e6bfef1537b2435564d48665435d3rpluem
c85eff31536e6bfef1537b2435564d48665435d3rpluem *) Change 'readbytes' from apr_size_t to apr_off_t due to change
c85eff31536e6bfef1537b2435564d48665435d3rpluem in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
c85eff31536e6bfef1537b2435564d48665435d3rpluem
c2051ade794269f23194ec06842dc225d082763arpluemmod_proxy changes for httpd 2.0.20-dev
c2051ade794269f23194ec06842dc225d082763arpluem *) Timeout added for backend connections.
c2051ade794269f23194ec06842dc225d082763arpluem [Victor Orlikowski <v.j.orlikowski@gte.net>]
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic *) Fix abort code path in proxy_http.c, similar to FTP fix.
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic [Chuck Murcko <chuck@topsail.org>]
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc *) Fix FTP ABOR command execution path.
e466c40e1801982602ee0200c9e8b61cc148742djailletc [Victor Orlikowski <v.j.orlikowski@gte.net>]
e466c40e1801982602ee0200c9e8b61cc148742djailletc
457468b82e59d01eba00dd9d0817309c8f5e414ejim *) FTP return code variable cleanup; fixed problem in login
457468b82e59d01eba00dd9d0817309c8f5e414ejim [Chuck Murcko <chuck@topsail.org>]
457468b82e59d01eba00dd9d0817309c8f5e414ejim
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton *) Get PORT working again in the ftp proxy.
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton [Victor Orlikowski <v.j.orlikowski@gte.net>]
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
15660979a30d251681463de2e0584853890082accovener *) Return result code check for FTP QUIT, after fixing
15660979a30d251681463de2e0584853890082accovener problems with passive connection handling.
15660979a30d251681463de2e0584853890082accovener [Victor Orlikowski <v.j.orlikowski@gte.net>]
15660979a30d251681463de2e0584853890082accovener
cfd9415521847b2f9394fad04fb701cfb955f503rjung *) Reorganize ap_proxy_string_read() internally to not process eos
cfd9415521847b2f9394fad04fb701cfb955f503rjung buckets.
cfd9415521847b2f9394fad04fb701cfb955f503rjung [Chuck Murcko <chuck@topsail.org>]
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe [Victor Orlikowski <v.j.orlikowski@gte.net>]
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe *) Remove result code check for FTP QUIT command. Some servers send
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe nothing at all back in response to QUIT.
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe [Chuck Murcko <chuck@topsail.org>]
8491e0600f69b0405e156ea8a419653c065c645bcovener [Victor Orlikowski <v.j.orlikowski@gte.net>]
63b9f1f5880391261705f696d7d65507bbe9ace3covener
63b9f1f5880391261705f696d7d65507bbe9ace3covenermod_proxy changes for httpd 2.0.19
63b9f1f5880391261705f696d7d65507bbe9ace3covener
87a26948305eab2bab8a4fb3f2a21f6725055790covener *) Reverse previous patch since the core reverted.
87a26948305eab2bab8a4fb3f2a21f6725055790covener [Chuck Murcko <chuck@topsail.org>]
87a26948305eab2bab8a4fb3f2a21f6725055790covener
4efd27d2bd53a819a194f8a942f8881c1927755eylavic *) Remove indirection on number of bytes to read for input filters.
4efd27d2bd53a819a194f8a942f8881c1927755eylavic [Chuck Murcko <chuck@topsail.org>]
4efd27d2bd53a819a194f8a942f8881c1927755eylavic
4efd27d2bd53a819a194f8a942f8881c1927755eylavic *) Fixed a problem with directory listing corruption in the
983528026996668ea295be95aedb9c7a346af470ylavic PROXY_DIR filter.
983528026996668ea295be95aedb9c7a346af470ylavic [Graham Leggett <minfrin@sharp.fm>]
983528026996668ea295be95aedb9c7a346af470ylavic
249ab52ef73a2b33446ae07904e3526b57251411ylavic *) mod_proxy and the proxy submodules now build properly as DSOs.
249ab52ef73a2b33446ae07904e3526b57251411ylavic [Graham Leggett <minfrin@sharp.fm>]
249ab52ef73a2b33446ae07904e3526b57251411ylavic
1f0836d4b1a203c7b375daae691beb95f6036205ylavic *) Stopped the HTTP proxy from trying to read entity bodies when there
1f0836d4b1a203c7b375daae691beb95f6036205ylavic wasn't one (response was 1xx, 204, 205 or 304).
1f0836d4b1a203c7b375daae691beb95f6036205ylavic [Graham Leggett <minfrin@sharp.fm>]
3b11e6ec1c5273d6a8968460db650e7ca99c49c0ylavic
3b11e6ec1c5273d6a8968460db650e7ca99c49c0ylavic *) Made sure dates were canonicalised correctly when passed to the client
3b11e6ec1c5273d6a8968460db650e7ca99c49c0ylavic browser through the HTTP proxy.
01402a0fbec8bd11f6c10d8ef9c9cceac68bb787ylavic [Graham Leggett <minfrin@sharp.fm>]
01402a0fbec8bd11f6c10d8ef9c9cceac68bb787ylavic
01402a0fbec8bd11f6c10d8ef9c9cceac68bb787ylavic *) Split each individual proxy protocol into separate modules.
49dacedb6c387b786b7911082ff35121a45f414bcovener [Graham Leggett <minfrin@sharp.fm>]
49dacedb6c387b786b7911082ff35121a45f414bcovener
49dacedb6c387b786b7911082ff35121a45f414bcovener *) Added Max-Forwards support for all request types so as to prevent
49dacedb6c387b786b7911082ff35121a45f414bcovener loops.
3c990331fc6702119e4f5b8ba9eae3021aea5265jim [Graham Leggett <minfrin@sharp.fm>]
3c990331fc6702119e4f5b8ba9eae3021aea5265jim
3c990331fc6702119e4f5b8ba9eae3021aea5265jim *) Fix warnings about byte count type on Darwin (connect handler).
3c990331fc6702119e4f5b8ba9eae3021aea5265jim [Chuck Murcko <chuck@topsail.org>]
fc42512879dd0504532f52fe5d0d0383dda96a1eniq
fc42512879dd0504532f52fe5d0d0383dda96a1eniqmod_proxy changes for httpd 2.0.18
fc42512879dd0504532f52fe5d0d0383dda96a1eniq
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq *) IPV6 EPSV support for IPV6 in FTP proxy.
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq [Graham Leggett <minfrin@sharp.fm>]
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc *) FTP directory filter works now.
983528026996668ea295be95aedb9c7a346af470ylavic [Graham Leggett <minfrin@sharp.fm>]
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
06b8f183140c8e02e0974e938a05078b511d1603covener [Graham Leggett <minfrin@sharp.fm>]
06b8f183140c8e02e0974e938a05078b511d1603covener
06b8f183140c8e02e0974e938a05078b511d1603covener *) PASV FTP works now.
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem [Graham Leggett <minfrin@sharp.fm>]
259878293a997ff49f5ddfc53d3739cbdc25444ecovener
259878293a997ff49f5ddfc53d3739cbdc25444ecovener *) Reworked the line-at-a-time read from the control connection to
259878293a997ff49f5ddfc53d3739cbdc25444ecovener workaround a stray empty bucket returned by the HTTP_IN filter.
259878293a997ff49f5ddfc53d3739cbdc25444ecovener [Graham Leggett <minfrin@sharp.fm>]
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin *) Stopped the CORE filter from sending off an HTTP response when a
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin CONNECT tunnel was closed.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin [Graham Leggett <minfrin@sharp.fm>]
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrin *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
65967d05f839dbf27cf91d91fa79585eeae19660minfrin [Graham Leggett <minfrin@sharp.fm>]
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrin *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
8152945ae46857b170cb227e79bb799f4fc7710dminfrin [Graham Leggett <minfrin@sharp.fm>]
8152945ae46857b170cb227e79bb799f4fc7710dminfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrinmod_proxy changes for httpd 2.0.17
75f5c2db254c0167a0e396254460de09b775d203trawick
75f5c2db254c0167a0e396254460de09b775d203trawick *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
75f5c2db254c0167a0e396254460de09b775d203trawick BUFF!!!). It compiles, but is untested, and the build environment needs
11f1871b90149f8af3bf4e884dcc404436686967ylavic to be fixed to include proxy_ftp.c.
11f1871b90149f8af3bf4e884dcc404436686967ylavic [Graham Leggett <minfrin@sharp.fm>]
11f1871b90149f8af3bf4e884dcc404436686967ylavic
11f1871b90149f8af3bf4e884dcc404436686967ylavic *) Cleanup of dead functions within proxy_util.c.
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph [Graham Leggett <minfrin@sharp.fm>]
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph *) Reworked the storage of the client socket between keepalive connections
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick to fix some nasty problems with the socket lasting longer than the
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick memory pool it was allocated from.
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick [Graham Leggett <minfrin@sharp.fm>]
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick
54d750a84a175d8e338880514d440773eb986b50covener *) Fixed bug where a hostname without a "." in it (such as "localhost")
54d750a84a175d8e338880514d440773eb986b50covener would not trigger an IP address check with ProxyBlock.
54d750a84a175d8e338880514d440773eb986b50covener [Graham Leggett <minfrin@sharp.fm>]
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covenermod_proxy changes for httpd 2.0.16
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
54d750a84a175d8e338880514d440773eb986b50covener ap_proxy_connect_handler().
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener [Graham Leggett <minfrin@sharp.fm>]
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener *) Updated ap_proxy_connect_handler() to support APR, while
83b50288fa7d306324bba68832011ea08f5c7832covener moving some common code between http_handler and connect_handler
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick to proxy_util.c.
83b50288fa7d306324bba68832011ea08f5c7832covener [Graham Leggett <minfrin@sharp.fm>]
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick *) Updated mod_proxy.html docs to include v2.0 configuration.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick [Graham Leggett <minfrin@sharp.fm>]
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
2e15620d724fb8e3a5be183b917359a2fd6e9468covener *) Fixed problem where responses without entity bodies would cause
2e15620d724fb8e3a5be183b917359a2fd6e9468covener the directly following proxy keepalive request to fail.
2e15620d724fb8e3a5be183b917359a2fd6e9468covener [Graham Leggett <minfrin@sharp.fm>]
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covenermod_proxy changes for httpd 2.0.15
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener *) Added support for downstream keepalives in mod_proxy.
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener [Graham Leggett <minfrin@sharp.fm>]
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd [Graham Leggett <minfrin@sharp.fm>]
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd *) Fix problem where incoming response headers were not being returned
179565be4043d7e5f9161aa75271fa0a001866d9covener to the client in mod_proxy.
179565be4043d7e5f9161aa75271fa0a001866d9covener [Graham Leggett <minfrin@sharp.fm>]
179565be4043d7e5f9161aa75271fa0a001866d9covener
111436a32ba1254291e4883292fb116d15fe8f64covener *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener reverse proxied request headers in mod_proxy.
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener [Graham Leggett <minfrin@sharp.fm>]
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick *) Fix problem with proxy configuration where globally set
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick configuration options were overridden inside virtual hosts.
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz [Graham Leggett <minfrin@sharp.fm>]
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz *) Fix ProxyReceiveBufferSize where default value was left
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza uninitialised.
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza [Graham Leggett <minfrin@sharp.fm>]
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza
efe780dcf13b2b95effabf897d694d8f23feac74trawick *) Some small changes:
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin - Ensured hop-by-hop headers were stripped as per
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin RFC2616 13.5.1.
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin - Upgraded version code to HTTP/1.1.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza - Added Connection: close until Keepalives come.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza - Some cosmetic fixes and commenting.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza [Graham Leggett <minfrin@sharp.fm>]
ba050a6f942b9fa0e81ed73437588005c569655ccovener
ba050a6f942b9fa0e81ed73437588005c569655ccovenermod_proxy changes for httpd 2.0.14
ba050a6f942b9fa0e81ed73437588005c569655ccovener
ba050a6f942b9fa0e81ed73437588005c569655ccovener *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
135ddda3a989215d2bedbcf1529bfb269c3eda23niq since we no longer directly cache from this module
135ddda3a989215d2bedbcf1529bfb269c3eda23niq [Chuck Murcko <chuck@topsail.org>]
135ddda3a989215d2bedbcf1529bfb269c3eda23niq
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh *) removed cache
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh [Chuck Murcko <chuck@topsail.org>]
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh
efe780dcf13b2b95effabf897d694d8f23feac74trawick *) initial rerebuild for 2.0
793214f67dede32edfd9ee96c664ead04d175cbbjfclere [Chuck Murcko <chuck@topsail.org>]
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin
33124689065ade0dfc8c54d8ebb734f9439cb89btrawick