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