CHANGES revision 56589be3d7a3e9343370df240010c6928cc78b39
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein******************************************
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz* 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 *
a8d5ccbcbde8cb6cf3a9dcf2eb05f393ab76baa9ianh* be noted in httpd-2.x's CHANGES file. *
fcef0136828a2525b702f4a2ac465bd789cc5686ianh* This file exists for historical *
4214e98fc9045e5010e66f9a967bd6d68f40d342aaron* purposes. *
8721697e2aece27b0e738519329f7976c72b27bfjerenkrantz******************************************
4a257be29f8aeab984fe5622fa69e0b2aab204d7jerenkrantz
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantzmod_proxy changes for httpd 2.0.29-dev
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz *) don't do keepalives for sub-requests. [Ian Holsman]
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb *) fix up proxypass handling [Ian Holsman]
ab71b233b3a36489e44a7b061c48293be0b17788jwoolley
571760de5e60c0b459cb11be45507b923cd023eejwoolley *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
571760de5e60c0b459cb11be45507b923cd023eejwoolley a subrequest [Ian Holsman]
9180a5933673ffb1af633c255ceee029340f3b1erbb
bcb6e1be6041dfeb549c8ea8d37f97ad4e90a0c3rbbmod_proxy changes for httpd 2.0.26-dev
9bd71e35f5d26d26d23fe3a677401828e842ed72wrowe *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard Flag on, you will mask the error pages returned by the proxied
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb server, and will it will be handled as if your server generated
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb the error. This change was put in so that a 404 on a included
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb r-proxied component will act in the same manner as a 404 on a
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb included file. [Ian Holsman <ianh@cnet.com>]
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
35330e0d79ceb8027223bbb8330a381b1f989d6etrawickmod_proxy changes for httpd 2.0.25-dev
6f6f4a4bca281779d196acbdd5c017bb90858305trawick
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb *) Split proxy: space using <Proxy[Match] > directive blocks from
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb now bypasses the directory and files testing phase (and skips
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb the http TRACE default handler on it's own, as well). Note that
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj <Location > blocks continue to be processed for proxy: requests.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj [William Rowe <wrowe@covalent.net>]
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slive *) apr_uri type/function namespace changes in apr_uri functions
af4c982a7cf4515f124935f99a329744035fc699slive [Doug MacEachern <dougm@covalent.net>]
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slivemod_proxy changes for httpd 2.0.23-dev
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slive *) break the proxy_http_handler into multiple smaller functions.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj [John Barbee <barbee@veribox.net>]
531c23ff01a2489646f0a2029097013b328d935agstein
28a83b4628080a704c56bbfcc149b94eb873d555coar *) Fix the proxy when the origin server sends back a 100
bf289b7cf642fb65ab05c22611226619e4e3bb3acoar Continue response. [John Barbee <barbee@veribox.net>]
bf289b7cf642fb65ab05c22611226619e4e3bb3acoar
bf289b7cf642fb65ab05c22611226619e4e3bb3acoar *) Change 'readbytes' from apr_size_t to apr_off_t due to change
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantzmod_proxy changes for httpd 2.0.20-dev
427af37b52c0ce1d8c85c9966f41d2b055e652facoar *) Timeout added for backend connections.
427af37b52c0ce1d8c85c9966f41d2b055e652facoar [Victor Orlikowski <v.j.orlikowski@gte.net>]
427af37b52c0ce1d8c85c9966f41d2b055e652facoar
427af37b52c0ce1d8c85c9966f41d2b055e652facoar *) Fix abort code path in proxy_http.c, similar to FTP fix.
1fdeac77a45beb33bdb094738fb90c14e2584f68jerenkrantz [Chuck Murcko <chuck@topsail.org>]
1fdeac77a45beb33bdb094738fb90c14e2584f68jerenkrantz
bf289b7cf642fb65ab05c22611226619e4e3bb3acoar *) Fix FTP ABOR command execution path.
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp [Victor Orlikowski <v.j.orlikowski@gte.net>]
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp *) FTP return code variable cleanup; fixed problem in login
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe [Chuck Murcko <chuck@topsail.org>]
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe *) Get PORT working again in the ftp proxy.
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe [Victor Orlikowski <v.j.orlikowski@gte.net>]
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp
54e1babd5a5a56c576eeeace54110150769cc916coar *) Return result code check for FTP QUIT, after fixing
54e1babd5a5a56c576eeeace54110150769cc916coar problems with passive connection handling.
54e1babd5a5a56c576eeeace54110150769cc916coar [Victor Orlikowski <v.j.orlikowski@gte.net>]
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
54e1babd5a5a56c576eeeace54110150769cc916coar *) Reorganize ap_proxy_string_read() internally to not process eos
7fe18c15b669db9d191859695901dc4fcf3829dawrowe buckets.
7fe18c15b669db9d191859695901dc4fcf3829dawrowe [Chuck Murcko <chuck@topsail.org>]
7fe18c15b669db9d191859695901dc4fcf3829dawrowe [Victor Orlikowski <v.j.orlikowski@gte.net>]
b84f66c93f820824b1d5455181f55598b766319cwrowe
7fe18c15b669db9d191859695901dc4fcf3829dawrowe *) Remove result code check for FTP QUIT command. Some servers send
976501adbc040220270f7d1d77c4b8373033be69wrowe nothing at all back in response to QUIT.
976501adbc040220270f7d1d77c4b8373033be69wrowe [Chuck Murcko <chuck@topsail.org>]
976501adbc040220270f7d1d77c4b8373033be69wrowe [Victor Orlikowski <v.j.orlikowski@gte.net>]
976501adbc040220270f7d1d77c4b8373033be69wrowe
976501adbc040220270f7d1d77c4b8373033be69wrowemod_proxy changes for httpd 2.0.19
b84f66c93f820824b1d5455181f55598b766319cwrowe
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb *) Reverse previous patch since the core reverted.
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb [Chuck Murcko <chuck@topsail.org>]
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb *) Remove indirection on number of bytes to read for input filters.
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb [Chuck Murcko <chuck@topsail.org>]
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz *) Fixed a problem with directory listing corruption in the
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz PROXY_DIR filter.
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb
b84f66c93f820824b1d5455181f55598b766319cwrowe *) mod_proxy and the proxy submodules now build properly as DSOs.
b84f66c93f820824b1d5455181f55598b766319cwrowe [Graham Leggett <minfrin@sharp.fm>]
b84f66c93f820824b1d5455181f55598b766319cwrowe
b84f66c93f820824b1d5455181f55598b766319cwrowe *) Stopped the HTTP proxy from trying to read entity bodies when there
a601d863bd772fefc4dc82a883589d8be6a44811wrowe wasn't one (response was 1xx, 204, 205 or 304).
a601d863bd772fefc4dc82a883589d8be6a44811wrowe [Graham Leggett <minfrin@sharp.fm>]
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz
940881022efef0e9af7c7881b1854e9d4b77c86ajim *) Made sure dates were canonicalised correctly when passed to the client
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick browser through the HTTP proxy.
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz *) Split each individual proxy protocol into separate modules.
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz *) Added Max-Forwards support for all request types so as to prevent
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz loops.
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
108db76823f2261a33aaa3621af6a1e54db17a69trawick
108db76823f2261a33aaa3621af6a1e54db17a69trawick *) Fix warnings about byte count type on Darwin (connect handler).
108db76823f2261a33aaa3621af6a1e54db17a69trawick [Chuck Murcko <chuck@topsail.org>]
108db76823f2261a33aaa3621af6a1e54db17a69trawick
aea283240d4222da5426169a68e307872d240044jerenkrantzmod_proxy changes for httpd 2.0.18
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz *) IPV6 EPSV support for IPV6 in FTP proxy.
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
a9a0f66fee736c72861cb2819b67b7784896a37cjerenkrantz
427af37b52c0ce1d8c85c9966f41d2b055e652facoar *) FTP directory filter works now.
427af37b52c0ce1d8c85c9966f41d2b055e652facoar [Graham Leggett <minfrin@sharp.fm>]
427af37b52c0ce1d8c85c9966f41d2b055e652facoar
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron [Graham Leggett <minfrin@sharp.fm>]
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
108db76823f2261a33aaa3621af6a1e54db17a69trawick *) PASV FTP works now.
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz *) Reworked the line-at-a-time read from the control connection to
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz workaround a stray empty bucket returned by the HTTP_IN filter.
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz *) Stopped the CORE filter from sending off an HTTP response when a
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz CONNECT tunnel was closed.
1832c015282e23772f5518059eea4b54a9d142cfjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
00452612306ed39e3b0ae309928994ca180b1927jerenkrantz
00452612306ed39e3b0ae309928994ca180b1927jerenkrantz *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
00452612306ed39e3b0ae309928994ca180b1927jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
00452612306ed39e3b0ae309928994ca180b1927jerenkrantz
f38720f0bc7a117bc4070677a39574c6ea0c62fccoar *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
a393fda544fd76948a14ac400528ac160053ff73brianp [Graham Leggett <minfrin@sharp.fm>]
00452612306ed39e3b0ae309928994ca180b1927jerenkrantz
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaronmod_proxy changes for httpd 2.0.17
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron BUFF!!!). It compiles, but is untested, and the build environment needs
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron to be fixed to include proxy_ftp.c.
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron [Graham Leggett <minfrin@sharp.fm>]
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron *) Cleanup of dead functions within proxy_util.c.
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron [Graham Leggett <minfrin@sharp.fm>]
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron *) Reworked the storage of the client socket between keepalive connections
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron to fix some nasty problems with the socket lasting longer than the
427af37b52c0ce1d8c85c9966f41d2b055e652facoar memory pool it was allocated from.
940881022efef0e9af7c7881b1854e9d4b77c86ajim [Graham Leggett <minfrin@sharp.fm>]
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz *) Fixed bug where a hostname without a "." in it (such as "localhost")
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz would not trigger an IP address check with ProxyBlock.
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz [Graham Leggett <minfrin@sharp.fm>]
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantzmod_proxy changes for httpd 2.0.16
02adcc4a00e718d4ee5f8567af789f64e713febdjerenkrantz
3a335d38ae042442923b87dce21b274a52e7e400brianp *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
3a335d38ae042442923b87dce21b274a52e7e400brianp ap_proxy_connect_handler().
3a335d38ae042442923b87dce21b274a52e7e400brianp [Graham Leggett <minfrin@sharp.fm>]
3a335d38ae042442923b87dce21b274a52e7e400brianp
3a335d38ae042442923b87dce21b274a52e7e400brianp *) Updated ap_proxy_connect_handler() to support APR, while
3a335d38ae042442923b87dce21b274a52e7e400brianp moving some common code between http_handler and connect_handler
3a335d38ae042442923b87dce21b274a52e7e400brianp to proxy_util.c.
262bfa74293f7bc2049b4cd525875c8775711ca2aaron [Graham Leggett <minfrin@sharp.fm>]
262bfa74293f7bc2049b4cd525875c8775711ca2aaron
262bfa74293f7bc2049b4cd525875c8775711ca2aaron *) Updated mod_proxy.html docs to include v2.0 configuration.
262bfa74293f7bc2049b4cd525875c8775711ca2aaron [Graham Leggett <minfrin@sharp.fm>]
262bfa74293f7bc2049b4cd525875c8775711ca2aaron
262bfa74293f7bc2049b4cd525875c8775711ca2aaron *) Fixed problem where responses without entity bodies would cause
262bfa74293f7bc2049b4cd525875c8775711ca2aaron the directly following proxy keepalive request to fail.
262bfa74293f7bc2049b4cd525875c8775711ca2aaron [Graham Leggett <minfrin@sharp.fm>]
262bfa74293f7bc2049b4cd525875c8775711ca2aaron
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantzmod_proxy changes for httpd 2.0.15
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz *) Added support for downstream keepalives in mod_proxy.
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz
54e1babd5a5a56c576eeeace54110150769cc916coar *) Fix problem where incoming response headers were not being returned
54e1babd5a5a56c576eeeace54110150769cc916coar to the client in mod_proxy.
54e1babd5a5a56c576eeeace54110150769cc916coar [Graham Leggett <minfrin@sharp.fm>]
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coar *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
54e1babd5a5a56c576eeeace54110150769cc916coar reverse proxied request headers in mod_proxy.
54e1babd5a5a56c576eeeace54110150769cc916coar [Graham Leggett <minfrin@sharp.fm>]
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coar *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coar *) Fix problem with proxy configuration where globally set
54e1babd5a5a56c576eeeace54110150769cc916coar configuration options were overridden inside virtual hosts.
54e1babd5a5a56c576eeeace54110150769cc916coar [Graham Leggett <minfrin@sharp.fm>]
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz *) Fix ProxyReceiveBufferSize where default value was left
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz uninitialised.
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz *) Some small changes:
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz - Ensured hop-by-hop headers were stripped as per
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz RFC2616 13.5.1.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz - Upgraded version code to HTTP/1.1.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz - Added Connection: close until Keepalives come.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz - Some cosmetic fixes and commenting.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz
f126ee03179eb54308118f1ec3de5a7b461685d8aaronmod_proxy changes for httpd 2.0.14
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aaron *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
f126ee03179eb54308118f1ec3de5a7b461685d8aaron since we no longer directly cache from this module
f126ee03179eb54308118f1ec3de5a7b461685d8aaron [Chuck Murcko <chuck@topsail.org>]
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aaron *) removed cache
f126ee03179eb54308118f1ec3de5a7b461685d8aaron [Chuck Murcko <chuck@topsail.org>]
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aaron *) initial rerebuild for 2.0
f126ee03179eb54308118f1ec3de5a7b461685d8aaron [Chuck Murcko <chuck@topsail.org>]
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aaron