CHANGES revision 88d0e50f16b21d4d0af0a48da7ad28fb5991834c
9174efb969475801d0dc88eee35aae40c748d450nd******************************************
ec79b29695b183f794264bbb578c51e93d1f9b1emartin* PLEASE NOTE: Now that development for *
6aa2272cc4af77e605ba2c4a4781f8567408b7e3pquerna* mod_proxy has been folded back into *
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin* the httpd-2.1 tree, this file has *
6ecde05c829c9d0aa24b2b1c18b40c8739997571trawick* been depreciated. Proxy changes should *
6ecde05c829c9d0aa24b2b1c18b40c8739997571trawick* be noted in httpd-2.1's CHANGES file. *
6ecde05c829c9d0aa24b2b1c18b40c8739997571trawick* This file exists for historical *
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz* purposes. *
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz******************************************
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz
2d5532b13110a8d85653da92e97795b09cc25cc2trawickmod_proxy changes for httpd 2.0.29-dev
b38565306421ff53e9f7499bc728d6df5cec294dpquerna *) don't do keepalives for sub-requests. [Ian Holsman]
b38565306421ff53e9f7499bc728d6df5cec294dpquerna
b38565306421ff53e9f7499bc728d6df5cec294dpquerna *) fix up proxypass handling [Ian Holsman]
b38565306421ff53e9f7499bc728d6df5cec294dpquerna
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm a subrequest [Ian Holsman]
dbb3b82abaa9c0ad199a0a3d6a7a505136137c61colm
dbb3b82abaa9c0ad199a0a3d6a7a505136137c61colmmod_proxy changes for httpd 2.0.26-dev
dbb3b82abaa9c0ad199a0a3d6a7a505136137c61colm *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq Flag on, you will mask the error pages returned by the proxied
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq server, and will it will be handled as if your server generated
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq the error. This change was put in so that a 404 on a included
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq r-proxied component will act in the same manner as a 404 on a
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq included file. [Ian Holsman <ianh@cnet.com>]
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq
3d76cdd5855071bbfb95a27de7d77a8855d1e893niqmod_proxy changes for httpd 2.0.25-dev
3d76cdd5855071bbfb95a27de7d77a8855d1e893niq
bf0dec31a67271a4a67a6d3a3a9b3cdb41278390rpluem *) Split proxy: space using <Proxy[Match] > directive blocks from
bf0dec31a67271a4a67a6d3a3a9b3cdb41278390rpluem the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
bf0dec31a67271a4a67a6d3a3a9b3cdb41278390rpluem now bypasses the directory and files testing phase (and skips
bf0dec31a67271a4a67a6d3a3a9b3cdb41278390rpluem the http TRACE default handler on it's own, as well). Note that
7612604db51e61f6ec4a6593c188e6d0640646abwrowe <Location > blocks continue to be processed for proxy: requests.
7612604db51e61f6ec4a6593c188e6d0640646abwrowe [William Rowe <wrowe@covalent.net>]
7612604db51e61f6ec4a6593c188e6d0640646abwrowe
7612604db51e61f6ec4a6593c188e6d0640646abwrowe *) apr_uri type/function namespace changes in apr_uri functions
7612604db51e61f6ec4a6593c188e6d0640646abwrowe [Doug MacEachern <dougm@covalent.net>]
7612604db51e61f6ec4a6593c188e6d0640646abwrowe
0a2c6381b34b977101327f412a4b1ddc8a361ae7rpluemmod_proxy changes for httpd 2.0.23-dev
0a2c6381b34b977101327f412a4b1ddc8a361ae7rpluem
0a2c6381b34b977101327f412a4b1ddc8a361ae7rpluem *) break the proxy_http_handler into multiple smaller functions.
0a2c6381b34b977101327f412a4b1ddc8a361ae7rpluem [John Barbee <barbee@veribox.net>]
8828f8c859fabac8c0080440392bc279877f9802rpluem
8828f8c859fabac8c0080440392bc279877f9802rpluem *) Fix the proxy when the origin server sends back a 100
8828f8c859fabac8c0080440392bc279877f9802rpluem Continue response. [John Barbee <barbee@veribox.net>]
0830215c2542165c027f092c18924f2885c98b49trawick
0830215c2542165c027f092c18924f2885c98b49trawick *) Change 'readbytes' from apr_size_t to apr_off_t due to change
0830215c2542165c027f092c18924f2885c98b49trawick in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
0830215c2542165c027f092c18924f2885c98b49trawick
8f1c5a2aca731a7676bf74cdce67ec28557ec299trawickmod_proxy changes for httpd 2.0.20-dev
8f1c5a2aca731a7676bf74cdce67ec28557ec299trawick *) Timeout added for backend connections.
bc886ee8559b4feb30d32dc8a50ba2c013c3cc02trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
8f1c5a2aca731a7676bf74cdce67ec28557ec299trawick
9505e1a9012d92bfd2b6228e675156f44a27aa04colm *) Fix abort code path in proxy_http.c, similar to FTP fix.
9505e1a9012d92bfd2b6228e675156f44a27aa04colm [Chuck Murcko <chuck@topsail.org>]
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm *) Fix FTP ABOR command execution path.
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm [Victor Orlikowski <v.j.orlikowski@gte.net>]
3aeb30211790fef38a8297f990b7ad3b2c46ece9colm
6eb3a057b5e4f046faba79104d7941552de755dacolm *) FTP return code variable cleanup; fixed problem in login
6eb3a057b5e4f046faba79104d7941552de755dacolm [Chuck Murcko <chuck@topsail.org>]
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton *) Get PORT working again in the ftp proxy.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Victor Orlikowski <v.j.orlikowski@gte.net>]
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton *) Return result code check for FTP QUIT, after fixing
c07be90520f577cdffc0ee59a81e7f2be4ab24c6martin problems with passive connection handling.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Victor Orlikowski <v.j.orlikowski@gte.net>]
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton *) Reorganize ap_proxy_string_read() internally to not process eos
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton buckets.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Chuck Murcko <chuck@topsail.org>]
6a9a6a63bae82591ea75fc602d5260109b8fa02ccolm [Victor Orlikowski <v.j.orlikowski@gte.net>]
70706a4d1ead0d72a443eac1cc446a0f1a4de069colm
70706a4d1ead0d72a443eac1cc446a0f1a4de069colm *) Remove result code check for FTP QUIT command. Some servers send
70706a4d1ead0d72a443eac1cc446a0f1a4de069colm nothing at all back in response to QUIT.
70706a4d1ead0d72a443eac1cc446a0f1a4de069colm [Chuck Murcko <chuck@topsail.org>]
70706a4d1ead0d72a443eac1cc446a0f1a4de069colm [Victor Orlikowski <v.j.orlikowski@gte.net>]
9cfe09f7e922f7bdf61bfe10a47e8f25145cdf92colm
9cfe09f7e922f7bdf61bfe10a47e8f25145cdf92colmmod_proxy changes for httpd 2.0.19
9cfe09f7e922f7bdf61bfe10a47e8f25145cdf92colm
9cfe09f7e922f7bdf61bfe10a47e8f25145cdf92colm *) Reverse previous patch since the core reverted.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Chuck Murcko <chuck@topsail.org>]
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton *) Remove indirection on number of bytes to read for input filters.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Chuck Murcko <chuck@topsail.org>]
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton *) Fixed a problem with directory listing corruption in the
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton PROXY_DIR filter.
2e02c854b4531480fe3f7ab353154c99c5bd97e8jorton [Graham Leggett <minfrin@sharp.fm>]
a09378e32e823d5619f766394fcdde1cfa16c5dajim
a09378e32e823d5619f766394fcdde1cfa16c5dajim *) mod_proxy and the proxy submodules now build properly as DSOs.
a09378e32e823d5619f766394fcdde1cfa16c5dajim [Graham Leggett <minfrin@sharp.fm>]
a09378e32e823d5619f766394fcdde1cfa16c5dajim
a09378e32e823d5619f766394fcdde1cfa16c5dajim *) Stopped the HTTP proxy from trying to read entity bodies when there
a09378e32e823d5619f766394fcdde1cfa16c5dajim wasn't one (response was 1xx, 204, 205 or 304).
a09378e32e823d5619f766394fcdde1cfa16c5dajim [Graham Leggett <minfrin@sharp.fm>]
ce8e09ffeb8c696f7fc6c5dfa8814c52caaac59bcolm
ce8e09ffeb8c696f7fc6c5dfa8814c52caaac59bcolm *) Made sure dates were canonicalised correctly when passed to the client
ce8e09ffeb8c696f7fc6c5dfa8814c52caaac59bcolm browser through the HTTP proxy.
ce8e09ffeb8c696f7fc6c5dfa8814c52caaac59bcolm [Graham Leggett <minfrin@sharp.fm>]
5340bb8547e62ec8ede44b1b086b7da37ee64eefcolm
5340bb8547e62ec8ede44b1b086b7da37ee64eefcolm *) Split each individual proxy protocol into separate modules.
5340bb8547e62ec8ede44b1b086b7da37ee64eefcolm [Graham Leggett <minfrin@sharp.fm>]
f6e71f622ffde40c654288851ff65b8505cf7596colm
f6e71f622ffde40c654288851ff65b8505cf7596colm *) Added Max-Forwards support for all request types so as to prevent
f6e71f622ffde40c654288851ff65b8505cf7596colm loops.
f8ae06c7d0615d8b9441099794fe80a3f2915469colm [Graham Leggett <minfrin@sharp.fm>]
f8ae06c7d0615d8b9441099794fe80a3f2915469colm
f8ae06c7d0615d8b9441099794fe80a3f2915469colm *) Fix warnings about byte count type on Darwin (connect handler).
6eb3a057b5e4f046faba79104d7941552de755dacolm [Chuck Murcko <chuck@topsail.org>]
6eb3a057b5e4f046faba79104d7941552de755dacolm
6eb3a057b5e4f046faba79104d7941552de755dacolmmod_proxy changes for httpd 2.0.18
6aa2272cc4af77e605ba2c4a4781f8567408b7e3pquerna
6eb3a057b5e4f046faba79104d7941552de755dacolm *) IPV6 EPSV support for IPV6 in FTP proxy.
dface6840439ab84a36749f40e7773ebfdc2066ejorton [Graham Leggett <minfrin@sharp.fm>]
dface6840439ab84a36749f40e7773ebfdc2066ejorton
dface6840439ab84a36749f40e7773ebfdc2066ejorton *) FTP directory filter works now.
dface6840439ab84a36749f40e7773ebfdc2066ejorton [Graham Leggett <minfrin@sharp.fm>]
dface6840439ab84a36749f40e7773ebfdc2066ejorton
1febae173a82bc2a71c3c0ba4105cf674000791bjim *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
1febae173a82bc2a71c3c0ba4105cf674000791bjim [Graham Leggett <minfrin@sharp.fm>]
1febae173a82bc2a71c3c0ba4105cf674000791bjim
1febae173a82bc2a71c3c0ba4105cf674000791bjim *) PASV FTP works now.
1febae173a82bc2a71c3c0ba4105cf674000791bjim [Graham Leggett <minfrin@sharp.fm>]
2b409b0583ef844d6f85002160cbc6df95b9afa8jerenkrantz
2b409b0583ef844d6f85002160cbc6df95b9afa8jerenkrantz *) Reworked the line-at-a-time read from the control connection to
2b409b0583ef844d6f85002160cbc6df95b9afa8jerenkrantz workaround a stray empty bucket returned by the HTTP_IN filter.
2b409b0583ef844d6f85002160cbc6df95b9afa8jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
454d060a0d7b13606978c536f632be71e311959djerenkrantz
454d060a0d7b13606978c536f632be71e311959djerenkrantz *) Stopped the CORE filter from sending off an HTTP response when a
454d060a0d7b13606978c536f632be71e311959djerenkrantz CONNECT tunnel was closed.
454d060a0d7b13606978c536f632be71e311959djerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1392b9997000dceb6aca39da0a1e6405ccb6f0a6jerenkrantz
1392b9997000dceb6aca39da0a1e6405ccb6f0a6jerenkrantz *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
1392b9997000dceb6aca39da0a1e6405ccb6f0a6jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantz
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantz *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantz [Graham Leggett <minfrin@sharp.fm>]
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantz
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantzmod_proxy changes for httpd 2.0.17
4b0a0ae3fd77f8fc8fd2a693be33ffe4d99cb94ajerenkrantz
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin BUFF!!!). It compiles, but is untested, and the build environment needs
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin to be fixed to include proxy_ftp.c.
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin [Graham Leggett <minfrin@sharp.fm>]
f07ae092933846055c4ca046c5a65de83d79c9c6pquerna
f07ae092933846055c4ca046c5a65de83d79c9c6pquerna *) Cleanup of dead functions within proxy_util.c.
f07ae092933846055c4ca046c5a65de83d79c9c6pquerna [Graham Leggett <minfrin@sharp.fm>]
9b88ec397b4155f3ff79bf7c08de5f15d21765b3pquerna
9b88ec397b4155f3ff79bf7c08de5f15d21765b3pquerna *) Reworked the storage of the client socket between keepalive connections
9b88ec397b4155f3ff79bf7c08de5f15d21765b3pquerna to fix some nasty problems with the socket lasting longer than the
a42c13195a5c68d55f6b2bbf5b5e1e66ab45d5d4pquerna memory pool it was allocated from.
a42c13195a5c68d55f6b2bbf5b5e1e66ab45d5d4pquerna [Graham Leggett <minfrin@sharp.fm>]
a42c13195a5c68d55f6b2bbf5b5e1e66ab45d5d4pquerna
2a90918318af50d5712ae7159e5625476332c184pquerna *) Fixed bug where a hostname without a "." in it (such as "localhost")
2a90918318af50d5712ae7159e5625476332c184pquerna would not trigger an IP address check with ProxyBlock.
2a90918318af50d5712ae7159e5625476332c184pquerna [Graham Leggett <minfrin@sharp.fm>]
ede0584e7ec53cc1ea832c5c50281431d9ecc576pquerna
ede0584e7ec53cc1ea832c5c50281431d9ecc576pquernamod_proxy changes for httpd 2.0.16
ede0584e7ec53cc1ea832c5c50281431d9ecc576pquerna
ede0584e7ec53cc1ea832c5c50281431d9ecc576pquerna *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
82d2a5debc5a6ed2118ac5916d9ba36ad0b5d78btrawick ap_proxy_connect_handler().
42167da203d969a1402cf7ce09c14586c04af1dfjim [Graham Leggett <minfrin@sharp.fm>]
42167da203d969a1402cf7ce09c14586c04af1dfjim
42167da203d969a1402cf7ce09c14586c04af1dfjim *) Updated ap_proxy_connect_handler() to support APR, while
81ebf4d4f943d1ec988dd10105354e510c2da1d8jim moving some common code between http_handler and connect_handler
e62b34b26eb8e82bf6f06ff99a08e304b48792ecpquerna to proxy_util.c.
e62b34b26eb8e82bf6f06ff99a08e304b48792ecpquerna [Graham Leggett <minfrin@sharp.fm>]
e62b34b26eb8e82bf6f06ff99a08e304b48792ecpquerna
27420b7ba57bf78f7a85b19fb0155053a3aff80dwrowe *) Updated mod_proxy.html docs to include v2.0 configuration.
27420b7ba57bf78f7a85b19fb0155053a3aff80dwrowe [Graham Leggett <minfrin@sharp.fm>]
27420b7ba57bf78f7a85b19fb0155053a3aff80dwrowe
ceeb4b77f172b9d0125f1b4b323675d700b2c43bminfrin *) Fixed problem where responses without entity bodies would cause
ceeb4b77f172b9d0125f1b4b323675d700b2c43bminfrin the directly following proxy keepalive request to fail.
ceeb4b77f172b9d0125f1b4b323675d700b2c43bminfrin [Graham Leggett <minfrin@sharp.fm>]
9152b0c4366af633c4b7982af01bd9a821f410d5pquerna
9152b0c4366af633c4b7982af01bd9a821f410d5pquernamod_proxy changes for httpd 2.0.15
9152b0c4366af633c4b7982af01bd9a821f410d5pquerna
9152b0c4366af633c4b7982af01bd9a821f410d5pquerna *) Added support for downstream keepalives in mod_proxy.
87d944bf70927764edf8ef69e46d3b4b8fa09131pquerna [Graham Leggett <minfrin@sharp.fm>]
87d944bf70927764edf8ef69e46d3b4b8fa09131pquerna
424c1a743525e9c5008e29b39a99363723409a1dtrawick *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
424c1a743525e9c5008e29b39a99363723409a1dtrawick [Graham Leggett <minfrin@sharp.fm>]
424c1a743525e9c5008e29b39a99363723409a1dtrawick
4375cabac8fc22b3717687ffdbce9bbdf095f255trawick *) Fix problem where incoming response headers were not being returned
4375cabac8fc22b3717687ffdbce9bbdf095f255trawick to the client in mod_proxy.
4375cabac8fc22b3717687ffdbce9bbdf095f255trawick [Graham Leggett <minfrin@sharp.fm>]
39dbd3f60b93f5e0fbf46d9ae237f6742e113442pquerna
39dbd3f60b93f5e0fbf46d9ae237f6742e113442pquerna *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna reverse proxied request headers in mod_proxy.
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna [Graham Leggett <minfrin@sharp.fm>]
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna *) Fix problem with proxy configuration where globally set
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna configuration options were overridden inside virtual hosts.
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna [Graham Leggett <minfrin@sharp.fm>]
a14ccf0f7e9b44c6848334823542a1799577f669pquerna
a14ccf0f7e9b44c6848334823542a1799577f669pquerna *) Fix ProxyReceiveBufferSize where default value was left
a14ccf0f7e9b44c6848334823542a1799577f669pquerna uninitialised.
43c24b7301a9df7014ce54c0bc55ac4754cf5b0dpquerna [Graham Leggett <minfrin@sharp.fm>]
43c24b7301a9df7014ce54c0bc55ac4754cf5b0dpquerna
a2e37e48efb113e8e4f9d9ca9c8286aaac6c936cpquerna *) Some small changes:
a2e37e48efb113e8e4f9d9ca9c8286aaac6c936cpquerna - Ensured hop-by-hop headers were stripped as per
a2e37e48efb113e8e4f9d9ca9c8286aaac6c936cpquerna RFC2616 13.5.1.
007ba11dc68651df7f872f35947ae82a595d9e02pquerna - Upgraded version code to HTTP/1.1.
007ba11dc68651df7f872f35947ae82a595d9e02pquerna - Added Connection: close until Keepalives come.
007ba11dc68651df7f872f35947ae82a595d9e02pquerna - Some cosmetic fixes and commenting.
44ca834b970b454b844efb96f219bdf49fee71e5trawick [Graham Leggett <minfrin@sharp.fm>]
44ca834b970b454b844efb96f219bdf49fee71e5trawick
44ca834b970b454b844efb96f219bdf49fee71e5trawickmod_proxy changes for httpd 2.0.14
eb8430fd3bc941c0b3ba8bba3884b7fc464bf458pquerna
eb8430fd3bc941c0b3ba8bba3884b7fc464bf458pquerna *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
eb8430fd3bc941c0b3ba8bba3884b7fc464bf458pquerna since we no longer directly cache from this module
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes [Chuck Murcko <chuck@topsail.org>]
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes *) removed cache
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes [Chuck Murcko <chuck@topsail.org>]
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes *) initial rerebuild for 2.0
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes [Chuck Murcko <chuck@topsail.org>]
fde88bb682426885c679198ee130d2d5a29e8c0fbnicholes
60e385aa992e11a6cb0504e8d4fc35186e8d848bpquerna