CHANGES revision 6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj******************************************
64ad864fa0f4493eebb181e393b40a8a90beccb9coar* PLEASE NOTE: Now that development for *
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj* mod_proxy has been folded back into *
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj* the httpd-2.1 tree, this file has *
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj* been deprecated. Proxy changes should *
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick* be noted in httpd-2.x's CHANGES file. *
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick* This file exists for historical *
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb* purposes. *
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb******************************************
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manojmod_proxy changes for httpd 2.0.29-dev
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj *) don't do keepalives for sub-requests. [Ian Holsman]
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard *) fix up proxypass handling [Ian Holsman]
91a71946d0fb28c0866139edef3dd59f36ba5b9cstoddard
91a71946d0fb28c0866139edef3dd59f36ba5b9cstoddard *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
91a71946d0fb28c0866139edef3dd59f36ba5b9cstoddard a subrequest [Ian Holsman]
91a71946d0fb28c0866139edef3dd59f36ba5b9cstoddard
91a71946d0fb28c0866139edef3dd59f36ba5b9cstoddardmod_proxy changes for httpd 2.0.26-dev
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
369edcdd0a9c5516c61e736ec2a6fc8fb0d92fe2manoj Flag on, you will mask the error pages returned by the proxied
369edcdd0a9c5516c61e736ec2a6fc8fb0d92fe2manoj server, and will it will be handled as if your server generated
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj the error. This change was put in so that a 404 on a included
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard r-proxied component will act in the same manner as a 404 on a
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard included file. [Ian Holsman <ianh@cnet.com>]
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddardmod_proxy changes for httpd 2.0.25-dev
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard *) Split proxy: space using <Proxy[Match] > directive blocks from
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
10b386767f6c87b45937244371cb751f0b454d16wrowe now bypasses the directory and files testing phase (and skips
10b386767f6c87b45937244371cb751f0b454d16wrowe the http TRACE default handler on it's own, as well). Note that
75960f20f88dad6bc67892c711c429946063d133stoddard <Location > blocks continue to be processed for proxy: requests.
75960f20f88dad6bc67892c711c429946063d133stoddard [William Rowe <wrowe@covalent.net>]
75960f20f88dad6bc67892c711c429946063d133stoddard
75960f20f88dad6bc67892c711c429946063d133stoddard *) apr_uri type/function namespace changes in apr_uri functions
75960f20f88dad6bc67892c711c429946063d133stoddard [Doug MacEachern <dougm@covalent.net>]
75960f20f88dad6bc67892c711c429946063d133stoddard
75960f20f88dad6bc67892c711c429946063d133stoddardmod_proxy changes for httpd 2.0.23-dev
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe *) break the proxy_http_handler into multiple smaller functions.
10b386767f6c87b45937244371cb751f0b454d16wrowe [John Barbee <barbee@veribox.net>]
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe *) Fix the proxy when the origin server sends back a 100
10b386767f6c87b45937244371cb751f0b454d16wrowe Continue response. [John Barbee <barbee@veribox.net>]
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe *) Change 'readbytes' from apr_size_t to apr_off_t due to change
10b386767f6c87b45937244371cb751f0b454d16wrowe in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowemod_proxy changes for httpd 2.0.20-dev
a9e07e4f90adcc7bc768db3055431c3dcd560cd1manoj *) Timeout added for backend connections.
f6a6245816cd866361da8c576b1f47c7a54b6610fanf [Victor Orlikowski <v.j.orlikowski@gte.net>]
f6a6245816cd866361da8c576b1f47c7a54b6610fanf
97b758d0b174d7b7c5a1de1a583f5840ec3fc910trawick *) Fix abort code path in proxy_http.c, similar to FTP fix.
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein [Chuck Murcko <chuck@topsail.org>]
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb *) Fix FTP ABOR command execution path.
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb [Victor Orlikowski <v.j.orlikowski@gte.net>]
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard *) FTP return code variable cleanup; fixed problem in login
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard [Chuck Murcko <chuck@topsail.org>]
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard *) Get PORT working again in the ftp proxy.
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard [Victor Orlikowski <v.j.orlikowski@gte.net>]
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard *) Return result code check for FTP QUIT, after fixing
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard problems with passive connection handling.
8bed76428f56e5c643174a2d6807c3f18016af5cbjh [Victor Orlikowski <v.j.orlikowski@gte.net>]
8bed76428f56e5c643174a2d6807c3f18016af5cbjh
8bed76428f56e5c643174a2d6807c3f18016af5cbjh *) Reorganize ap_proxy_string_read() internally to not process eos
8bed76428f56e5c643174a2d6807c3f18016af5cbjh buckets.
8bed76428f56e5c643174a2d6807c3f18016af5cbjh [Chuck Murcko <chuck@topsail.org>]
cfc020d6d6fc9b31d8945915e65a8787a796eb73stoddard [Victor Orlikowski <v.j.orlikowski@gte.net>]
cfc020d6d6fc9b31d8945915e65a8787a796eb73stoddard
cfc020d6d6fc9b31d8945915e65a8787a796eb73stoddard *) Remove result code check for FTP QUIT command. Some servers send
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard nothing at all back in response to QUIT.
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard [Chuck Murcko <chuck@topsail.org>]
10b386767f6c87b45937244371cb751f0b454d16wrowe [Victor Orlikowski <v.j.orlikowski@gte.net>]
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowemod_proxy changes for httpd 2.0.19
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe *) Reverse previous patch since the core reverted.
10b386767f6c87b45937244371cb751f0b454d16wrowe [Chuck Murcko <chuck@topsail.org>]
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe *) Remove indirection on number of bytes to read for input filters.
75960f20f88dad6bc67892c711c429946063d133stoddard [Chuck Murcko <chuck@topsail.org>]
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard *) Fixed a problem with directory listing corruption in the
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard PROXY_DIR filter.
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard [Graham Leggett <minfrin@sharp.fm>]
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj *) mod_proxy and the proxy submodules now build properly as DSOs.
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj [Graham Leggett <minfrin@sharp.fm>]
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj
56ca30c968906053ae61acb218420667bb58d996rbb *) Stopped the HTTP proxy from trying to read entity bodies when there
0bff2f28ef945280c17099c142126178a78e1e54manoj wasn't one (response was 1xx, 204, 205 or 304).
0bff2f28ef945280c17099c142126178a78e1e54manoj [Graham Leggett <minfrin@sharp.fm>]
0bff2f28ef945280c17099c142126178a78e1e54manoj
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard *) Made sure dates were canonicalised correctly when passed to the client
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard browser through the HTTP proxy.
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard [Graham Leggett <minfrin@sharp.fm>]
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard *) Split each individual proxy protocol into separate modules.
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard [Graham Leggett <minfrin@sharp.fm>]
0bff2f28ef945280c17099c142126178a78e1e54manoj
0bff2f28ef945280c17099c142126178a78e1e54manoj *) Added Max-Forwards support for all request types so as to prevent
0bff2f28ef945280c17099c142126178a78e1e54manoj loops.
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard [Graham Leggett <minfrin@sharp.fm>]
75960f20f88dad6bc67892c711c429946063d133stoddard
f03d292915be9977eaf74e9be7b0404aec226f84manoj *) Fix warnings about byte count type on Darwin (connect handler).
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj [Chuck Murcko <chuck@topsail.org>]
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanojmod_proxy changes for httpd 2.0.18
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
ff849e4163ed879288f0df15f78b6c9d278ec804fanf *) IPV6 EPSV support for IPV6 in FTP proxy.
ff849e4163ed879288f0df15f78b6c9d278ec804fanf [Graham Leggett <minfrin@sharp.fm>]
9805ac88e1befa6dea11d8513023f150d8f8e807fanf
9805ac88e1befa6dea11d8513023f150d8f8e807fanf *) FTP directory filter works now.
9805ac88e1befa6dea11d8513023f150d8f8e807fanf [Graham Leggett <minfrin@sharp.fm>]
9805ac88e1befa6dea11d8513023f150d8f8e807fanf
df4a7c143b27b489dd2d865bb3f6668c8420b3a9fanf *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein [Graham Leggett <minfrin@sharp.fm>]
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein *) PASV FTP works now.
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein [Graham Leggett <minfrin@sharp.fm>]
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein *) Reworked the line-at-a-time read from the control connection to
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein workaround a stray empty bucket returned by the HTTP_IN filter.
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein [Graham Leggett <minfrin@sharp.fm>]
1e088f9182ba67f39713fcb850e11934be5f6d17gstein
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein *) Stopped the CORE filter from sending off an HTTP response when a
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein CONNECT tunnel was closed.
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein [Graham Leggett <minfrin@sharp.fm>]
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
8d07897b52e3b7055874501f8a499e75800db206gstein [Graham Leggett <minfrin@sharp.fm>]
8d07897b52e3b7055874501f8a499e75800db206gstein
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein [Graham Leggett <minfrin@sharp.fm>]
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein
93c5cba06b623ebe8e4372e886eece12d9a80c3egsteinmod_proxy changes for httpd 2.0.17
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein BUFF!!!). It compiles, but is untested, and the build environment needs
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb to be fixed to include proxy_ftp.c.
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein [Graham Leggett <minfrin@sharp.fm>]
be386cf0beed1c3331e47f0736d92b9744a21f3agstein
be386cf0beed1c3331e47f0736d92b9744a21f3agstein *) Cleanup of dead functions within proxy_util.c.
be386cf0beed1c3331e47f0736d92b9744a21f3agstein [Graham Leggett <minfrin@sharp.fm>]
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein *) Reworked the storage of the client socket between keepalive connections
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein to fix some nasty problems with the socket lasting longer than the
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein memory pool it was allocated from.
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein [Graham Leggett <minfrin@sharp.fm>]
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein *) Fixed bug where a hostname without a "." in it (such as "localhost")
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein would not trigger an IP address check with ProxyBlock.
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein [Graham Leggett <minfrin@sharp.fm>]
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein
eb3def494ba5580320dfe1dd47b4d8b05519cb74gsteinmod_proxy changes for httpd 2.0.16
1e088f9182ba67f39713fcb850e11934be5f6d17gstein
1e088f9182ba67f39713fcb850e11934be5f6d17gstein *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
c695093c99519a8509ac85642e35c216e9d9186fgstein ap_proxy_connect_handler().
6d886ec2d5055dd5da4cbf0e84d55b807ea1058agstein [Graham Leggett <minfrin@sharp.fm>]
c695093c99519a8509ac85642e35c216e9d9186fgstein
8d07897b52e3b7055874501f8a499e75800db206gstein *) Updated ap_proxy_connect_handler() to support APR, while
6d886ec2d5055dd5da4cbf0e84d55b807ea1058agstein moving some common code between http_handler and connect_handler
6d886ec2d5055dd5da4cbf0e84d55b807ea1058agstein to proxy_util.c.
6d886ec2d5055dd5da4cbf0e84d55b807ea1058agstein [Graham Leggett <minfrin@sharp.fm>]
6d886ec2d5055dd5da4cbf0e84d55b807ea1058agstein
e1c3000228ddea532093e3a5ca1cdaa7353471begstein *) Updated mod_proxy.html docs to include v2.0 configuration.
e1c3000228ddea532093e3a5ca1cdaa7353471begstein [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Fixed problem where responses without entity bodies would cause
64ad864fa0f4493eebb181e393b40a8a90beccb9coar the directly following proxy keepalive request to fail.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarmod_proxy changes for httpd 2.0.15
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Added support for downstream keepalives in mod_proxy.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Fix problem where incoming response headers were not being returned
64ad864fa0f4493eebb181e393b40a8a90beccb9coar to the client in mod_proxy.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
64ad864fa0f4493eebb181e393b40a8a90beccb9coar reverse proxied request headers in mod_proxy.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Fix problem with proxy configuration where globally set
64ad864fa0f4493eebb181e393b40a8a90beccb9coar configuration options were overridden inside virtual hosts.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Fix ProxyReceiveBufferSize where default value was left
64ad864fa0f4493eebb181e393b40a8a90beccb9coar uninitialised.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) Some small changes:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Ensured hop-by-hop headers were stripped as per
64ad864fa0f4493eebb181e393b40a8a90beccb9coar RFC2616 13.5.1.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Upgraded version code to HTTP/1.1.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Added Connection: close until Keepalives come.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Some cosmetic fixes and commenting.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Graham Leggett <minfrin@sharp.fm>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarmod_proxy changes for httpd 2.0.14
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar since we no longer directly cache from this module
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Chuck Murcko <chuck@topsail.org>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) removed cache
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Chuck Murcko <chuck@topsail.org>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar *) initial rerebuild for 2.0
64ad864fa0f4493eebb181e393b40a8a90beccb9coar [Chuck Murcko <chuck@topsail.org>]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar