CHANGES revision 0a2c6381b34b977101327f412a4b1ddc8a361ae7
d5b7ba26785d7494166d48876362ba30ff30b98awrowe******************************************
c30ef289fe64ac7fedc44cfcc6b439f0f8458b4cgregames* PLEASE NOTE: Now that development for *
c30ef289fe64ac7fedc44cfcc6b439f0f8458b4cgregames* mod_proxy has been folded back into *
5541a81e194dc99521c0ecf904a940b0b65a93f2nd* the httpd-2.1 tree, this file has *
6c4c113ce85934b11c9e78399e1bb8ec7a568af9nd* been depreciated. Proxy changes should *
6c4c113ce85934b11c9e78399e1bb8ec7a568af9nd* be noted in httpd-2.1's CHANGES file. *
679cafe33462d8c6bd0a74cc4359e561d19a0aafnd* This file exists for historical *
679cafe33462d8c6bd0a74cc4359e561d19a0aafnd* purposes. *
6c4c113ce85934b11c9e78399e1bb8ec7a568af9nd******************************************
81ef3d132c8f335006465f297c42319f8734825dnd
81ef3d132c8f335006465f297c42319f8734825dndmod_proxy changes for httpd 2.0.29-dev
81ef3d132c8f335006465f297c42319f8734825dnd *) don't do keepalives for sub-requests. [Ian Holsman]
fba8c07e02a9af436c79ada0e2ba891717a9c333nd
fba8c07e02a9af436c79ada0e2ba891717a9c333nd *) fix up proxypass handling [Ian Holsman]
fba8c07e02a9af436c79ada0e2ba891717a9c333nd
d5f7968a109b466b1baa0ecf89c42b11ac799195nd *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
d5f7968a109b466b1baa0ecf89c42b11ac799195nd a subrequest [Ian Holsman]
d5f7968a109b466b1baa0ecf89c42b11ac799195nd
d5f7968a109b466b1baa0ecf89c42b11ac799195ndmod_proxy changes for httpd 2.0.26-dev
925932040ee7871b6a2418edc3b4b6f4378bbe2and *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
925932040ee7871b6a2418edc3b4b6f4378bbe2and Flag on, you will mask the error pages returned by the proxied
925932040ee7871b6a2418edc3b4b6f4378bbe2and server, and will it will be handled as if your server generated
73291de2e17c97d3549f2f8aa085ca43d27e108and the error. This change was put in so that a 404 on a included
73291de2e17c97d3549f2f8aa085ca43d27e108and r-proxied component will act in the same manner as a 404 on a
73291de2e17c97d3549f2f8aa085ca43d27e108and included file. [Ian Holsman <ianh@cnet.com>]
73291de2e17c97d3549f2f8aa085ca43d27e108and
3caed8f01e7d67f3ad5d47cb28bb4e43131652fdjerenkrantzmod_proxy changes for httpd 2.0.25-dev
3caed8f01e7d67f3ad5d47cb28bb4e43131652fdjerenkrantz
3caed8f01e7d67f3ad5d47cb28bb4e43131652fdjerenkrantz *) Split proxy: space using <Proxy[Match] > directive blocks from
238e707c9022eaa8332a702dd6913dd0d1fb3df8jerenkrantz the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
238e707c9022eaa8332a702dd6913dd0d1fb3df8jerenkrantz now bypasses the directory and files testing phase (and skips
3caed8f01e7d67f3ad5d47cb28bb4e43131652fdjerenkrantz the http TRACE default handler on it's own, as well). Note that
e127d82e8afc2f885fe2183b68d4a110580d21dfjwoolley <Location > blocks continue to be processed for proxy: requests.
e127d82e8afc2f885fe2183b68d4a110580d21dfjwoolley [William Rowe <wrowe@covalent.net>]
e127d82e8afc2f885fe2183b68d4a110580d21dfjwoolley
e127d82e8afc2f885fe2183b68d4a110580d21dfjwoolley *) apr_uri type/function namespace changes in apr_uri functions
802e783449595e0cd909a434cbea0810b300bfb2jwoolley [Doug MacEachern <dougm@covalent.net>]
802e783449595e0cd909a434cbea0810b300bfb2jwoolley
802e783449595e0cd909a434cbea0810b300bfb2jwoolleymod_proxy changes for httpd 2.0.23-dev
802e783449595e0cd909a434cbea0810b300bfb2jwoolley
d51d001ccc276436f1d031208a063d94a09296e2stas *) break the proxy_http_handler into multiple smaller functions.
204da903ce061499ea40d2df4ebb1dc7aa7537c7nd [John Barbee <barbee@veribox.net>]
204da903ce061499ea40d2df4ebb1dc7aa7537c7nd
204da903ce061499ea40d2df4ebb1dc7aa7537c7nd *) Fix the proxy when the origin server sends back a 100
204da903ce061499ea40d2df4ebb1dc7aa7537c7nd Continue response. [John Barbee <barbee@veribox.net>]
5b953b9aeef5b38cae481e062a7b5ac209a6170end
5b953b9aeef5b38cae481e062a7b5ac209a6170end *) Change 'readbytes' from apr_size_t to apr_off_t due to change
5b953b9aeef5b38cae481e062a7b5ac209a6170end in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
5b953b9aeef5b38cae481e062a7b5ac209a6170end
fd99717a52886f7d9f9f73be2080d3fdc2ec4bd6ndmod_proxy changes for httpd 2.0.20-dev
fd99717a52886f7d9f9f73be2080d3fdc2ec4bd6nd *) Timeout added for backend connections.
fd99717a52886f7d9f9f73be2080d3fdc2ec4bd6nd [Victor Orlikowski <v.j.orlikowski@gte.net>]
cfe1534c2338b51d67063e71a4275279b5087fcetrawick
cfe1534c2338b51d67063e71a4275279b5087fcetrawick *) Fix abort code path in proxy_http.c, similar to FTP fix.
5c76205ce580dbac0020fbba74bcf211de3923d3nd [Chuck Murcko <chuck@topsail.org>]
5c76205ce580dbac0020fbba74bcf211de3923d3nd
5c76205ce580dbac0020fbba74bcf211de3923d3nd *) Fix FTP ABOR command execution path.
5c76205ce580dbac0020fbba74bcf211de3923d3nd [Victor Orlikowski <v.j.orlikowski@gte.net>]
5fb2e8564729922524cd011b11e2d4f5d76f5a8dnd
5fb2e8564729922524cd011b11e2d4f5d76f5a8dnd *) FTP return code variable cleanup; fixed problem in login
5fb2e8564729922524cd011b11e2d4f5d76f5a8dnd [Chuck Murcko <chuck@topsail.org>]
b7cbb2495d82008f9fa72226b9213d639362feabjorton
b7cbb2495d82008f9fa72226b9213d639362feabjorton *) Get PORT working again in the ftp proxy.
b7cbb2495d82008f9fa72226b9213d639362feabjorton [Victor Orlikowski <v.j.orlikowski@gte.net>]
7d851311462dce44df8469009f98ba66d7f7f18end
7d851311462dce44df8469009f98ba66d7f7f18end *) Return result code check for FTP QUIT, after fixing
7d851311462dce44df8469009f98ba66d7f7f18end problems with passive connection handling.
7d851311462dce44df8469009f98ba66d7f7f18end [Victor Orlikowski <v.j.orlikowski@gte.net>]
7d851311462dce44df8469009f98ba66d7f7f18end
987c2c2ff2f19f306357f79d3280b347d96c470fnd *) Reorganize ap_proxy_string_read() internally to not process eos
987c2c2ff2f19f306357f79d3280b347d96c470fnd buckets.
987c2c2ff2f19f306357f79d3280b347d96c470fnd [Chuck Murcko <chuck@topsail.org>]
987c2c2ff2f19f306357f79d3280b347d96c470fnd [Victor Orlikowski <v.j.orlikowski@gte.net>]
99c475e760470ab8ca3d17da82a2f6158466f918rederpj
99c475e760470ab8ca3d17da82a2f6158466f918rederpj *) Remove result code check for FTP QUIT command. Some servers send
99c475e760470ab8ca3d17da82a2f6158466f918rederpj nothing at all back in response to QUIT.
99c475e760470ab8ca3d17da82a2f6158466f918rederpj [Chuck Murcko <chuck@topsail.org>]
0b0966806a96fd817692a5420908594a0c7f9f89trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
0b0966806a96fd817692a5420908594a0c7f9f89trawick
0b0966806a96fd817692a5420908594a0c7f9f89trawickmod_proxy changes for httpd 2.0.19
c2d16e88f6a997b9174b5596db5e03cee5f46a8brederpj
c2d16e88f6a997b9174b5596db5e03cee5f46a8brederpj *) Reverse previous patch since the core reverted.
7edcfe02796a70f2a5eac12b6766d11067c629a3rederpj [Chuck Murcko <chuck@topsail.org>]
c2d16e88f6a997b9174b5596db5e03cee5f46a8brederpj
c2d16e88f6a997b9174b5596db5e03cee5f46a8brederpj *) Remove indirection on number of bytes to read for input filters.
c2d16e88f6a997b9174b5596db5e03cee5f46a8brederpj [Chuck Murcko <chuck@topsail.org>]
a4dd3688dd6645faf0c1c1bfb22017c8f03d5b24nd
a4dd3688dd6645faf0c1c1bfb22017c8f03d5b24nd *) Fixed a problem with directory listing corruption in the
a4dd3688dd6645faf0c1c1bfb22017c8f03d5b24nd PROXY_DIR filter.
f2fe083bb9fabd2af7eb39d4f154f27a451bb5a4nd [Graham Leggett <minfrin@sharp.fm>]
f2fe083bb9fabd2af7eb39d4f154f27a451bb5a4nd
f2fe083bb9fabd2af7eb39d4f154f27a451bb5a4nd *) mod_proxy and the proxy submodules now build properly as DSOs.
f2fe083bb9fabd2af7eb39d4f154f27a451bb5a4nd [Graham Leggett <minfrin@sharp.fm>]
7de6cb79f71a9007ba2b1e786cbad8b84f05d101nd
7de6cb79f71a9007ba2b1e786cbad8b84f05d101nd *) Stopped the HTTP proxy from trying to read entity bodies when there
7de6cb79f71a9007ba2b1e786cbad8b84f05d101nd wasn't one (response was 1xx, 204, 205 or 304).
7de6cb79f71a9007ba2b1e786cbad8b84f05d101nd [Graham Leggett <minfrin@sharp.fm>]
aa9b03a5f32732c0caaef03a7ed78ffb290e29e4trawick
aa9b03a5f32732c0caaef03a7ed78ffb290e29e4trawick *) Made sure dates were canonicalised correctly when passed to the client
aa9b03a5f32732c0caaef03a7ed78ffb290e29e4trawick browser through the HTTP proxy.
a81c9e8561ebd18177a87fecf1226ac654b873f1rederpj [Graham Leggett <minfrin@sharp.fm>]
a81c9e8561ebd18177a87fecf1226ac654b873f1rederpj
a81c9e8561ebd18177a87fecf1226ac654b873f1rederpj *) Split each individual proxy protocol into separate modules.
a81c9e8561ebd18177a87fecf1226ac654b873f1rederpj [Graham Leggett <minfrin@sharp.fm>]
d1c46782edbd6bd5ae4592c0174969950c5ca8aetrawick
d1c46782edbd6bd5ae4592c0174969950c5ca8aetrawick *) Added Max-Forwards support for all request types so as to prevent
d1c46782edbd6bd5ae4592c0174969950c5ca8aetrawick loops.
a3954060338ccebc73071e89ac936d4ec15ab352trawick [Graham Leggett <minfrin@sharp.fm>]
a3954060338ccebc73071e89ac936d4ec15ab352trawick
a3954060338ccebc73071e89ac936d4ec15ab352trawick *) Fix warnings about byte count type on Darwin (connect handler).
a3954060338ccebc73071e89ac936d4ec15ab352trawick [Chuck Murcko <chuck@topsail.org>]
ab56518227d474ee08f039e4c5540011c1b8a913trawick
ab56518227d474ee08f039e4c5540011c1b8a913trawickmod_proxy changes for httpd 2.0.18
ab56518227d474ee08f039e4c5540011c1b8a913trawick
4e330708371c3e9b04d1043f0a1ac9368bfbd768coar *) IPV6 EPSV support for IPV6 in FTP proxy.
4e330708371c3e9b04d1043f0a1ac9368bfbd768coar [Graham Leggett <minfrin@sharp.fm>]
4e330708371c3e9b04d1043f0a1ac9368bfbd768coar
219e31b849ef108cd8f58ba0eedae03414e5edb1thommay *) FTP directory filter works now.
a98959721afc481c7f3a941f85c462f0b90defdathommay [Graham Leggett <minfrin@sharp.fm>]
a98959721afc481c7f3a941f85c462f0b90defdathommay
a98959721afc481c7f3a941f85c462f0b90defdathommay *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
219e31b849ef108cd8f58ba0eedae03414e5edb1thommay [Graham Leggett <minfrin@sharp.fm>]
dbb916b882c33a4e340b0dba7d75506cfdd85640trawick
dbb916b882c33a4e340b0dba7d75506cfdd85640trawick *) PASV FTP works now.
dbb916b882c33a4e340b0dba7d75506cfdd85640trawick [Graham Leggett <minfrin@sharp.fm>]
dbb916b882c33a4e340b0dba7d75506cfdd85640trawick
dbb916b882c33a4e340b0dba7d75506cfdd85640trawick *) Reworked the line-at-a-time read from the control connection to
a18a308d7a942230edcde1bf00d7ae9b4b143c90trawick workaround a stray empty bucket returned by the HTTP_IN filter.
a18a308d7a942230edcde1bf00d7ae9b4b143c90trawick [Graham Leggett <minfrin@sharp.fm>]
a18a308d7a942230edcde1bf00d7ae9b4b143c90trawick
9efe68be3c81ee85225972195fb725dbfc2e8b24trawick *) Stopped the CORE filter from sending off an HTTP response when a
9098f795fab5db41a52b6b82fa475e8f9b3850f0trawick CONNECT tunnel was closed.
9098f795fab5db41a52b6b82fa475e8f9b3850f0trawick [Graham Leggett <minfrin@sharp.fm>]
9098f795fab5db41a52b6b82fa475e8f9b3850f0trawick
9efe68be3c81ee85225972195fb725dbfc2e8b24trawick *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
3b872593fd5f61981d9dd69a4b0b5d5f5f668929trawick [Graham Leggett <minfrin@sharp.fm>]
3b872593fd5f61981d9dd69a4b0b5d5f5f668929trawick
3b872593fd5f61981d9dd69a4b0b5d5f5f668929trawick *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
fc25339741311efd7d460f18b6287ef38d76bbe6madhum [Graham Leggett <minfrin@sharp.fm>]
fc25339741311efd7d460f18b6287ef38d76bbe6madhum
fc25339741311efd7d460f18b6287ef38d76bbe6madhummod_proxy changes for httpd 2.0.17
fc25339741311efd7d460f18b6287ef38d76bbe6madhum
fcdca175a52fe517f2317ba0e2b6e6d14522b869madhum *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
19fdbc5566bf67dde644be9e8d38d62db4dd0ba5jerenkrantz BUFF!!!). It compiles, but is untested, and the build environment needs
92a2439559cf1161742650ed9c50c6483bd029cemadhum to be fixed to include proxy_ftp.c.
92a2439559cf1161742650ed9c50c6483bd029cemadhum [Graham Leggett <minfrin@sharp.fm>]
92a2439559cf1161742650ed9c50c6483bd029cemadhum
92a2439559cf1161742650ed9c50c6483bd029cemadhum *) Cleanup of dead functions within proxy_util.c.
ebecc16986604cce1369d5075eff65032e3dd0deianh [Graham Leggett <minfrin@sharp.fm>]
0d60370bedd05f9632f54e85c417ce472d463674madhum
ebecc16986604cce1369d5075eff65032e3dd0deianh *) Reworked the storage of the client socket between keepalive connections
764315969cef40e50cdc6a5e9638454e10c1c06end to fix some nasty problems with the socket lasting longer than the
764315969cef40e50cdc6a5e9638454e10c1c06end memory pool it was allocated from.
764315969cef40e50cdc6a5e9638454e10c1c06end [Graham Leggett <minfrin@sharp.fm>]
764315969cef40e50cdc6a5e9638454e10c1c06end
bfb54bd96690887dcdf184fd9083c2e167898ce2nd *) Fixed bug where a hostname without a "." in it (such as "localhost")
a2c036f0ca71e35c085b4cd9451a6d3718bc65daake would not trigger an IP address check with ProxyBlock.
a2c036f0ca71e35c085b4cd9451a6d3718bc65daake [Graham Leggett <minfrin@sharp.fm>]
a2c036f0ca71e35c085b4cd9451a6d3718bc65daake
a2c036f0ca71e35c085b4cd9451a6d3718bc65daakemod_proxy changes for httpd 2.0.16
b92cba59a0890be43b14aaf1ce30606140be9593nd
b92cba59a0890be43b14aaf1ce30606140be9593nd *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
b92cba59a0890be43b14aaf1ce30606140be9593nd ap_proxy_connect_handler().
b92cba59a0890be43b14aaf1ce30606140be9593nd [Graham Leggett <minfrin@sharp.fm>]
402d23baca89e8c4fcb4e52ad8b2d66a6904baaetrawick
402d23baca89e8c4fcb4e52ad8b2d66a6904baaetrawick *) Updated ap_proxy_connect_handler() to support APR, while
402d23baca89e8c4fcb4e52ad8b2d66a6904baaetrawick moving some common code between http_handler and connect_handler
4caa28863a3418d26cc20a998dc368c3de3b7e19jerenkrantz to proxy_util.c.
4caa28863a3418d26cc20a998dc368c3de3b7e19jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
4caa28863a3418d26cc20a998dc368c3de3b7e19jerenkrantz
a3f2646ef3d8a3a5234a5601de0f95f10308c2a6jerenkrantz *) Updated mod_proxy.html docs to include v2.0 configuration.
a3f2646ef3d8a3a5234a5601de0f95f10308c2a6jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
a3f2646ef3d8a3a5234a5601de0f95f10308c2a6jerenkrantz
9e398d701dd430f073ff5418fb720642e064046ajerenkrantz *) Fixed problem where responses without entity bodies would cause
9e398d701dd430f073ff5418fb720642e064046ajerenkrantz the directly following proxy keepalive request to fail.
9e398d701dd430f073ff5418fb720642e064046ajerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1a5b9e0071f0c662036250b482d566ad87ff0b4bjerenkrantz
1a5b9e0071f0c662036250b482d566ad87ff0b4bjerenkrantzmod_proxy changes for httpd 2.0.15
1a5b9e0071f0c662036250b482d566ad87ff0b4bjerenkrantz
a7ac9b52c3d9f7ce937f078a0d585023db626c55jerenkrantz *) Added support for downstream keepalives in mod_proxy.
a7ac9b52c3d9f7ce937f078a0d585023db626c55jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
a7ac9b52c3d9f7ce937f078a0d585023db626c55jerenkrantz
ba6c07204bd224fa5d4cd0e6b8bf256d6daffb74nd *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
ba6c07204bd224fa5d4cd0e6b8bf256d6daffb74nd [Graham Leggett <minfrin@sharp.fm>]
ba6c07204bd224fa5d4cd0e6b8bf256d6daffb74nd
db5837bbc9bef214303e755fa52122140366cb6fianh *) Fix problem where incoming response headers were not being returned
db5837bbc9bef214303e755fa52122140366cb6fianh to the client in mod_proxy.
db5837bbc9bef214303e755fa52122140366cb6fianh [Graham Leggett <minfrin@sharp.fm>]
aac2b82fe4f1ac117e2a0702438d6615542642dand
aac2b82fe4f1ac117e2a0702438d6615542642dand *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
aac2b82fe4f1ac117e2a0702438d6615542642dand reverse proxied request headers in mod_proxy.
a793d402c74e50326a2401cfbdc562c5781948fdnd [Graham Leggett <minfrin@sharp.fm>]
a793d402c74e50326a2401cfbdc562c5781948fdnd
0a209fcb17b8c9a42a6149a1758e61cf6527d367nd *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
a793d402c74e50326a2401cfbdc562c5781948fdnd
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz *) Fix problem with proxy configuration where globally set
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz configuration options were overridden inside virtual hosts.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
3ded62d7f2c9b12616d718b8c97d3044baa9ecdbjerenkrantz
3ded62d7f2c9b12616d718b8c97d3044baa9ecdbjerenkrantz *) Fix ProxyReceiveBufferSize where default value was left
3ded62d7f2c9b12616d718b8c97d3044baa9ecdbjerenkrantz uninitialised.
ab8c0315521735c73ce16c8072f91e17c406ca5bnd [Graham Leggett <minfrin@sharp.fm>]
ab8c0315521735c73ce16c8072f91e17c406ca5bnd
ab8c0315521735c73ce16c8072f91e17c406ca5bnd *) Some small changes:
b9e99e0d3154bbebe3e1b8d11d6c15bde79510a5nd - Ensured hop-by-hop headers were stripped as per
b9e99e0d3154bbebe3e1b8d11d6c15bde79510a5nd RFC2616 13.5.1.
b9e99e0d3154bbebe3e1b8d11d6c15bde79510a5nd - Upgraded version code to HTTP/1.1.
b9e99e0d3154bbebe3e1b8d11d6c15bde79510a5nd - Added Connection: close until Keepalives come.
ea5f8cfbb7ef1d19318f6994c26dd73c38ffd8ddjerenkrantz - Some cosmetic fixes and commenting.
ea5f8cfbb7ef1d19318f6994c26dd73c38ffd8ddjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
ea5f8cfbb7ef1d19318f6994c26dd73c38ffd8ddjerenkrantz
4567cfc6a65328bd3e8dd2b758ca926b389c7058brianpmod_proxy changes for httpd 2.0.14
4567cfc6a65328bd3e8dd2b758ca926b389c7058brianp
4567cfc6a65328bd3e8dd2b758ca926b389c7058brianp *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
4cdc5446050c19b9d519a273a129188586e8d445jerenkrantz since we no longer directly cache from this module
4cdc5446050c19b9d519a273a129188586e8d445jerenkrantz [Chuck Murcko <chuck@topsail.org>]
4cdc5446050c19b9d519a273a129188586e8d445jerenkrantz
2f408250e9111c4b85b2b4b9b8836e83987efdefstoddard *) removed cache
2f408250e9111c4b85b2b4b9b8836e83987efdefstoddard [Chuck Murcko <chuck@topsail.org>]
2f408250e9111c4b85b2b4b9b8836e83987efdefstoddard
2f408250e9111c4b85b2b4b9b8836e83987efdefstoddard *) initial rerebuild for 2.0
d5b7ba26785d7494166d48876362ba30ff30b98awrowe [Chuck Murcko <chuck@topsail.org>]
47fe07199bddec6124ab7251c6be5c6c9ac00485jerenkrantz
47fe07199bddec6124ab7251c6be5c6c9ac00485jerenkrantz