CHANGES revision 82d2a5debc5a6ed2118ac5916d9ba36ad0b5d78b
6a01f2d5ec2024b68edd1d42056b41a88dc0a935aaron******************************************
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick* PLEASE NOTE: Now that development for *
5e98e52df07f59be456af01ebf46d81defef2385trawick* mod_proxy has been folded back into *
5e98e52df07f59be456af01ebf46d81defef2385trawick* the httpd-2.1 tree, this file has *
5e98e52df07f59be456af01ebf46d81defef2385trawick* been depreciated. Proxy changes should *
5e98e52df07f59be456af01ebf46d81defef2385trawick* be noted in httpd-2.1's CHANGES file. *
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick* This file exists for historical *
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick* purposes. *
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick******************************************
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddardmod_proxy changes for httpd 2.0.29-dev
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddard *) don't do keepalives for sub-requests. [Ian Holsman]
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddard
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz *) fix up proxypass handling [Ian Holsman]
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe a subrequest [Ian Holsman]
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe
435c423bdcfa61ff871a9e289d1140f2bac839b8brianpmod_proxy changes for httpd 2.0.26-dev
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp Flag on, you will mask the error pages returned by the proxied
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp server, and will it will be handled as if your server generated
bf9e1eb04f8b0af835d15ac1d0ebcd8a154474cfjerenkrantz the error. This change was put in so that a 404 on a included
e93cea6246ce30bf9791530a15c56f9e2eecf9cbianh r-proxied component will act in the same manner as a 404 on a
e93cea6246ce30bf9791530a15c56f9e2eecf9cbianh included file. [Ian Holsman <ianh@cnet.com>]
f65342c1467751310036d4f9d75f554eaaf01cc6wrowe
f65342c1467751310036d4f9d75f554eaaf01cc6wrowemod_proxy changes for httpd 2.0.25-dev
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantz
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantz *) Split proxy: space using <Proxy[Match] > directive blocks from
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantz the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz now bypasses the directory and files testing phase (and skips
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz the http TRACE default handler on it's own, as well). Note that
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz <Location > blocks continue to be processed for proxy: requests.
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz [William Rowe <wrowe@covalent.net>]
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron *) apr_uri type/function namespace changes in apr_uri functions
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron [Doug MacEachern <dougm@covalent.net>]
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianhmod_proxy changes for httpd 2.0.23-dev
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh *) break the proxy_http_handler into multiple smaller functions.
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh [John Barbee <barbee@veribox.net>]
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh *) Fix the proxy when the origin server sends back a 100
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe Continue response. [John Barbee <barbee@veribox.net>]
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars *) Change 'readbytes' from apr_size_t to apr_off_t due to change
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantz
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantzmod_proxy changes for httpd 2.0.20-dev
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantz *) Timeout added for backend connections.
75eee56d2eaac9c27d32fc46b90bb6b1eac85359trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
75eee56d2eaac9c27d32fc46b90bb6b1eac85359trawick
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe *) Fix abort code path in proxy_http.c, similar to FTP fix.
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe [Chuck Murcko <chuck@topsail.org>]
741a54303329728b27fe347447a362e1c576135etrawick
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe *) Fix FTP ABOR command execution path.
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard [Victor Orlikowski <v.j.orlikowski@gte.net>]
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard *) FTP return code variable cleanup; fixed problem in login
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard [Chuck Murcko <chuck@topsail.org>]
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick *) Get PORT working again in the ftp proxy.
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougm *) Return result code check for FTP QUIT, after fixing
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougm problems with passive connection handling.
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougm [Victor Orlikowski <v.j.orlikowski@gte.net>]
ea512a4af20e6b6e6931de4929d54d93f03a0139ianh
1e83c8de3aa48b316b28057d53995272baf1260cwrowe *) Reorganize ap_proxy_string_read() internally to not process eos
1dfb5e008f35ed13c343b7f6306675e33c399792gstein buckets.
1dfb5e008f35ed13c343b7f6306675e33c399792gstein [Chuck Murcko <chuck@topsail.org>]
1dfb5e008f35ed13c343b7f6306675e33c399792gstein [Victor Orlikowski <v.j.orlikowski@gte.net>]
1dfb5e008f35ed13c343b7f6306675e33c399792gstein
eadb64379834961679105b7fd4178253fbb9f95dtrawick *) Remove result code check for FTP QUIT command. Some servers send
eadb64379834961679105b7fd4178253fbb9f95dtrawick nothing at all back in response to QUIT.
eadb64379834961679105b7fd4178253fbb9f95dtrawick [Chuck Murcko <chuck@topsail.org>]
eadb64379834961679105b7fd4178253fbb9f95dtrawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
eadb64379834961679105b7fd4178253fbb9f95dtrawick
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawickmod_proxy changes for httpd 2.0.19
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawick
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawick *) Reverse previous patch since the core reverted.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [Chuck Murcko <chuck@topsail.org>]
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar *) Remove indirection on number of bytes to read for input filters.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [Chuck Murcko <chuck@topsail.org>]
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar
6b6083e6518007139257ee449c2af3032d2437d0trawick *) Fixed a problem with directory listing corruption in the
6b6083e6518007139257ee449c2af3032d2437d0trawick PROXY_DIR filter.
6b6083e6518007139257ee449c2af3032d2437d0trawick [Graham Leggett <minfrin@sharp.fm>]
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick *) mod_proxy and the proxy submodules now build properly as DSOs.
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick [Graham Leggett <minfrin@sharp.fm>]
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianp *) Stopped the HTTP proxy from trying to read entity bodies when there
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianp wasn't one (response was 1xx, 204, 205 or 304).
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianp [Graham Leggett <minfrin@sharp.fm>]
1e83c8de3aa48b316b28057d53995272baf1260cwrowe
1e83c8de3aa48b316b28057d53995272baf1260cwrowe *) Made sure dates were canonicalised correctly when passed to the client
1e83c8de3aa48b316b28057d53995272baf1260cwrowe browser through the HTTP proxy.
1e83c8de3aa48b316b28057d53995272baf1260cwrowe [Graham Leggett <minfrin@sharp.fm>]
1e83c8de3aa48b316b28057d53995272baf1260cwrowe
1e83c8de3aa48b316b28057d53995272baf1260cwrowe *) Split each individual proxy protocol into separate modules.
1e83c8de3aa48b316b28057d53995272baf1260cwrowe [Graham Leggett <minfrin@sharp.fm>]
1e83c8de3aa48b316b28057d53995272baf1260cwrowe
1e83c8de3aa48b316b28057d53995272baf1260cwrowe *) Added Max-Forwards support for all request types so as to prevent
1e83c8de3aa48b316b28057d53995272baf1260cwrowe loops.
7f683bb300df767164724ebc664f339ac396b434dougm [Graham Leggett <minfrin@sharp.fm>]
7f683bb300df767164724ebc664f339ac396b434dougm
7f683bb300df767164724ebc664f339ac396b434dougm *) Fix warnings about byte count type on Darwin (connect handler).
7f683bb300df767164724ebc664f339ac396b434dougm [Chuck Murcko <chuck@topsail.org>]
7f683bb300df767164724ebc664f339ac396b434dougm
7f683bb300df767164724ebc664f339ac396b434dougmmod_proxy changes for httpd 2.0.18
7f683bb300df767164724ebc664f339ac396b434dougm
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe *) IPV6 EPSV support for IPV6 in FTP proxy.
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe [Graham Leggett <minfrin@sharp.fm>]
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe *) FTP directory filter works now.
4760aa1f19600972cf531ad7da73c1ee5a0225cedougm [Graham Leggett <minfrin@sharp.fm>]
4760aa1f19600972cf531ad7da73c1ee5a0225cedougm
87a1c79b7b37702a254920ca5214fb282a4fb085dougm *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
994c3fbc3335e8fe883b1ce4515efc0c85061cdfaaron [Graham Leggett <minfrin@sharp.fm>]
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid *) PASV FTP works now.
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid [Graham Leggett <minfrin@sharp.fm>]
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid *) Reworked the line-at-a-time read from the control connection to
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid workaround a stray empty bucket returned by the HTTP_IN filter.
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantz
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantz *) Stopped the CORE filter from sending off an HTTP response when a
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick CONNECT tunnel was closed.
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick [Graham Leggett <minfrin@sharp.fm>]
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawick [Graham Leggett <minfrin@sharp.fm>]
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawick
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawick *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick [Graham Leggett <minfrin@sharp.fm>]
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick
65a1588701f9e5d0f62261d0da85733a23edc92ftrawickmod_proxy changes for httpd 2.0.17
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz BUFF!!!). It compiles, but is untested, and the build environment needs
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz to be fixed to include proxy_ftp.c.
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard *) Cleanup of dead functions within proxy_util.c.
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard [Graham Leggett <minfrin@sharp.fm>]
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard *) Reworked the storage of the client socket between keepalive connections
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard to fix some nasty problems with the socket lasting longer than the
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard memory pool it was allocated from.
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard [Graham Leggett <minfrin@sharp.fm>]
a21148678a1459064627d917a66669e7e8d140e6stoddard
a21148678a1459064627d917a66669e7e8d140e6stoddard *) Fixed bug where a hostname without a "." in it (such as "localhost")
910df8b3f50a0515b430b999d4750de94c509f2atrawick would not trigger an IP address check with ProxyBlock.
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe [Graham Leggett <minfrin@sharp.fm>]
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowemod_proxy changes for httpd 2.0.16
51be7fc538641ed7cb22e959eb31629f7183f70fianh
51be7fc538641ed7cb22e959eb31629f7183f70fianh *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe ap_proxy_connect_handler().
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe [Graham Leggett <minfrin@sharp.fm>]
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe *) Updated ap_proxy_connect_handler() to support APR, while
decd0c23bb26f6662f4b963cf86ee569613bffeagregames moving some common code between http_handler and connect_handler
decd0c23bb26f6662f4b963cf86ee569613bffeagregames to proxy_util.c.
decd0c23bb26f6662f4b963cf86ee569613bffeagregames [Graham Leggett <minfrin@sharp.fm>]
e1753aabf5df187b5b04e72a958af4b65b1a125daaron
e1753aabf5df187b5b04e72a958af4b65b1a125daaron *) Updated mod_proxy.html docs to include v2.0 configuration.
e1753aabf5df187b5b04e72a958af4b65b1a125daaron [Graham Leggett <minfrin@sharp.fm>]
e1753aabf5df187b5b04e72a958af4b65b1a125daaron
e1753aabf5df187b5b04e72a958af4b65b1a125daaron *) Fixed problem where responses without entity bodies would cause
e1753aabf5df187b5b04e72a958af4b65b1a125daaron the directly following proxy keepalive request to fail.
e1753aabf5df187b5b04e72a958af4b65b1a125daaron [Graham Leggett <minfrin@sharp.fm>]
e57f991fe2b9a4c080cd50ca913a2a5693b096b5aaron
e57f991fe2b9a4c080cd50ca913a2a5693b096b5aaronmod_proxy changes for httpd 2.0.15
e57f991fe2b9a4c080cd50ca913a2a5693b096b5aaron
924c8dd40352ca7775704a31a7a77ab86dc951b4ianh *) Added support for downstream keepalives in mod_proxy.
924c8dd40352ca7775704a31a7a77ab86dc951b4ianh [Graham Leggett <minfrin@sharp.fm>]
910df8b3f50a0515b430b999d4750de94c509f2atrawick
910df8b3f50a0515b430b999d4750de94c509f2atrawick *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
910df8b3f50a0515b430b999d4750de94c509f2atrawick [Graham Leggett <minfrin@sharp.fm>]
910df8b3f50a0515b430b999d4750de94c509f2atrawick
0d628dd174dd6de13463b10d2599f6cac24e9fe8brianp *) Fix problem where incoming response headers were not being returned
0d628dd174dd6de13463b10d2599f6cac24e9fe8brianp to the client in mod_proxy.
0d628dd174dd6de13463b10d2599f6cac24e9fe8brianp [Graham Leggett <minfrin@sharp.fm>]
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianp
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianp *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianp reverse proxied request headers in mod_proxy.
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianp [Graham Leggett <minfrin@sharp.fm>]
7bf77d70b6830636bc36e6b76a228c301be23ff7brianp
7bf77d70b6830636bc36e6b76a228c301be23ff7brianp *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
7bf77d70b6830636bc36e6b76a228c301be23ff7brianp
185b73b1f914e5d8f99f31225cc656b882dcbf73ianh *) Fix problem with proxy configuration where globally set
6ef713e25735887d4a59a879b97a68bd575ecb92trawick configuration options were overridden inside virtual hosts.
cef5cb47e2ea4c174c01762d4430613db0f41e5cstoddard [Graham Leggett <minfrin@sharp.fm>]
cef5cb47e2ea4c174c01762d4430613db0f41e5cstoddard
cef5cb47e2ea4c174c01762d4430613db0f41e5cstoddard *) Fix ProxyReceiveBufferSize where default value was left
1eb1f02a23de724c105b2c6c9fbd469a611059c6trawick uninitialised.
8abd60101b9794e224795ccf68b8ba984efbc94astoddard [Graham Leggett <minfrin@sharp.fm>]
8abd60101b9794e224795ccf68b8ba984efbc94astoddard
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick *) Some small changes:
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick - Ensured hop-by-hop headers were stripped as per
6ef713e25735887d4a59a879b97a68bd575ecb92trawick RFC2616 13.5.1.
6ef713e25735887d4a59a879b97a68bd575ecb92trawick - Upgraded version code to HTTP/1.1.
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick - Added Connection: close until Keepalives come.
26d590c0e5338f66ca1aad6f925374843fac5121stoddard - Some cosmetic fixes and commenting.
26d590c0e5338f66ca1aad6f925374843fac5121stoddard [Graham Leggett <minfrin@sharp.fm>]
26d590c0e5338f66ca1aad6f925374843fac5121stoddard
26d590c0e5338f66ca1aad6f925374843fac5121stoddardmod_proxy changes for httpd 2.0.14
26d590c0e5338f66ca1aad6f925374843fac5121stoddard
2b31ac2c6342d2afcf67b7b0f08c928a87f98c74wrowe *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
d472f67198d6b15dd1270136f180cca9c9263243trawick since we no longer directly cache from this module
d472f67198d6b15dd1270136f180cca9c9263243trawick [Chuck Murcko <chuck@topsail.org>]
d472f67198d6b15dd1270136f180cca9c9263243trawick
d472f67198d6b15dd1270136f180cca9c9263243trawick *) removed cache
d472f67198d6b15dd1270136f180cca9c9263243trawick [Chuck Murcko <chuck@topsail.org>]
d472f67198d6b15dd1270136f180cca9c9263243trawick
d472f67198d6b15dd1270136f180cca9c9263243trawick *) initial rerebuild for 2.0
a3bb95a3600153c7f09f62749e32093658943c32brianp [Chuck Murcko <chuck@topsail.org>]
a3bb95a3600153c7f09f62749e32093658943c32brianp
a3bb95a3600153c7f09f62749e32093658943c32brianp