CHANGES revision eb9b491d7b262dad572ec2f1f75eea592283f81a
15ecbdb46249bbd3ac51fdacaff3b3ac4d179ffarbb******************************************
6d8d0dd6604f823aadbe3a18c3cff4eca584bda8trawick* PLEASE NOTE: Now that development for *
6d8d0dd6604f823aadbe3a18c3cff4eca584bda8trawick* mod_proxy has been folded back into *
6d8d0dd6604f823aadbe3a18c3cff4eca584bda8trawick* the httpd-2.1 tree, this file has *
6d8d0dd6604f823aadbe3a18c3cff4eca584bda8trawick* been depreciated. Proxy changes should *
6d8d0dd6604f823aadbe3a18c3cff4eca584bda8trawick* be noted in httpd-2.1's CHANGES file. *
73cd9876e07c696a3e3563277a1d4e3173861af6stoddard* This file exists for historical *
73cd9876e07c696a3e3563277a1d4e3173861af6stoddard* purposes. *
73cd9876e07c696a3e3563277a1d4e3173861af6stoddard******************************************
73cd9876e07c696a3e3563277a1d4e3173861af6stoddard
73cd9876e07c696a3e3563277a1d4e3173861af6stoddardmod_proxy changes for httpd 2.0.29-dev
15ecbdb46249bbd3ac51fdacaff3b3ac4d179ffarbb *) don't do keepalives for sub-requests. [Ian Holsman]
f0484231f96a9d95f5044c1c8cb33b322d6f9bcbdougm
f0484231f96a9d95f5044c1c8cb33b322d6f9bcbdougm *) fix up proxypass handling [Ian Holsman]
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb a subrequest [Ian Holsman]
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbbmod_proxy changes for httpd 2.0.26-dev
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
2281907b9a2a509aa0eabdc0b1d21424018dbbdfrbb Flag on, you will mask the error pages returned by the proxied
2ca377182c951f9895cd5e7a350b442a39c8eb23rbb server, and will it will be handled as if your server generated
2ca377182c951f9895cd5e7a350b442a39c8eb23rbb the error. This change was put in so that a 404 on a included
2ca377182c951f9895cd5e7a350b442a39c8eb23rbb r-proxied component will act in the same manner as a 404 on a
1217c8c05f7e3ac0cac8c8dc0c6e7979326c977arbb included file. [Ian Holsman <ianh@cnet.com>]
1217c8c05f7e3ac0cac8c8dc0c6e7979326c977arbb
1217c8c05f7e3ac0cac8c8dc0c6e7979326c977arbbmod_proxy changes for httpd 2.0.25-dev
1217c8c05f7e3ac0cac8c8dc0c6e7979326c977arbb
b6873e2c00ff7b0af18d837ef4c3cd58cf6b54c5rbb *) Split proxy: space using <Proxy[Match] > directive blocks from
893328ef6ff86d0ca27774778d84410353789fb0fielding the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
893328ef6ff86d0ca27774778d84410353789fb0fielding now bypasses the directory and files testing phase (and skips
893328ef6ff86d0ca27774778d84410353789fb0fielding the http TRACE default handler on it's own, as well). Note that
893328ef6ff86d0ca27774778d84410353789fb0fielding <Location > blocks continue to be processed for proxy: requests.
893328ef6ff86d0ca27774778d84410353789fb0fielding [William Rowe <wrowe@covalent.net>]
274de94b0b59f4ee126dca1726624980828d0cd0stoddard
274de94b0b59f4ee126dca1726624980828d0cd0stoddard *) apr_uri type/function namespace changes in apr_uri functions
274de94b0b59f4ee126dca1726624980828d0cd0stoddard [Doug MacEachern <dougm@covalent.net>]
274de94b0b59f4ee126dca1726624980828d0cd0stoddard
85d733e70c94a57c9ff893ed05d8b9cfcd0f083fstoddardmod_proxy changes for httpd 2.0.23-dev
85d733e70c94a57c9ff893ed05d8b9cfcd0f083fstoddard
85d733e70c94a57c9ff893ed05d8b9cfcd0f083fstoddard *) break the proxy_http_handler into multiple smaller functions.
962f339c5f0f61adde79936f610fb05ce0854d6echuck [John Barbee <barbee@veribox.net>]
3f0dd56fa6b79fe389f20738369b290e2f3e9201trawick
3f0dd56fa6b79fe389f20738369b290e2f3e9201trawick *) Fix the proxy when the origin server sends back a 100
3f0dd56fa6b79fe389f20738369b290e2f3e9201trawick Continue response. [John Barbee <barbee@veribox.net>]
3f0dd56fa6b79fe389f20738369b290e2f3e9201trawick
3f0dd56fa6b79fe389f20738369b290e2f3e9201trawick *) Change 'readbytes' from apr_size_t to apr_off_t due to change
70b83609159f247f5920421a890dc27a0718d63adreid in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
70b83609159f247f5920421a890dc27a0718d63adreid
70b83609159f247f5920421a890dc27a0718d63adreidmod_proxy changes for httpd 2.0.20-dev
70b83609159f247f5920421a890dc27a0718d63adreid *) Timeout added for backend connections.
70b83609159f247f5920421a890dc27a0718d63adreid [Victor Orlikowski <v.j.orlikowski@gte.net>]
70b83609159f247f5920421a890dc27a0718d63adreid
a1033a770bfee276def7d4cb9759856f69293e48trawick *) Fix abort code path in proxy_http.c, similar to FTP fix.
a1033a770bfee276def7d4cb9759856f69293e48trawick [Chuck Murcko <chuck@topsail.org>]
a1033a770bfee276def7d4cb9759856f69293e48trawick
a1033a770bfee276def7d4cb9759856f69293e48trawick *) Fix FTP ABOR command execution path.
bd2d582e0f0708b6e8e258a9a5f9a15445752087trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
bd2d582e0f0708b6e8e258a9a5f9a15445752087trawick
bd2d582e0f0708b6e8e258a9a5f9a15445752087trawick *) FTP return code variable cleanup; fixed problem in login
adb8ad10ffc20ed06ec6cfab6cd7933ab429ea7dtrawick [Chuck Murcko <chuck@topsail.org>]
adb8ad10ffc20ed06ec6cfab6cd7933ab429ea7dtrawick
adb8ad10ffc20ed06ec6cfab6cd7933ab429ea7dtrawick *) Get PORT working again in the ftp proxy.
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb [Victor Orlikowski <v.j.orlikowski@gte.net>]
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb *) Return result code check for FTP QUIT, after fixing
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb problems with passive connection handling.
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb [Victor Orlikowski <v.j.orlikowski@gte.net>]
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb *) Reorganize ap_proxy_string_read() internally to not process eos
86f191e8221867df8c9cd22271e7d54204f39186rbb buckets.
86f191e8221867df8c9cd22271e7d54204f39186rbb [Chuck Murcko <chuck@topsail.org>]
86f191e8221867df8c9cd22271e7d54204f39186rbb [Victor Orlikowski <v.j.orlikowski@gte.net>]
86f191e8221867df8c9cd22271e7d54204f39186rbb
86f191e8221867df8c9cd22271e7d54204f39186rbb *) Remove result code check for FTP QUIT command. Some servers send
962f339c5f0f61adde79936f610fb05ce0854d6echuck nothing at all back in response to QUIT.
962f339c5f0f61adde79936f610fb05ce0854d6echuck [Chuck Murcko <chuck@topsail.org>]
962f339c5f0f61adde79936f610fb05ce0854d6echuck [Victor Orlikowski <v.j.orlikowski@gte.net>]
157e6980a24a44e4719173b1c555133caecbc172stoddard
157e6980a24a44e4719173b1c555133caecbc172stoddardmod_proxy changes for httpd 2.0.19
157e6980a24a44e4719173b1c555133caecbc172stoddard
157e6980a24a44e4719173b1c555133caecbc172stoddard *) Reverse previous patch since the core reverted.
faa6e5d8b210456ae4dad0398dfa40a19fd89d59coar [Chuck Murcko <chuck@topsail.org>]
171f8c636ff1374e3a3dfff333211becda355b98trawick
171f8c636ff1374e3a3dfff333211becda355b98trawick *) Remove indirection on number of bytes to read for input filters.
171f8c636ff1374e3a3dfff333211becda355b98trawick [Chuck Murcko <chuck@topsail.org>]
171f8c636ff1374e3a3dfff333211becda355b98trawick
171f8c636ff1374e3a3dfff333211becda355b98trawick *) Fixed a problem with directory listing corruption in the
171f8c636ff1374e3a3dfff333211becda355b98trawick PROXY_DIR filter.
faa6e5d8b210456ae4dad0398dfa40a19fd89d59coar [Graham Leggett <minfrin@sharp.fm>]
faa6e5d8b210456ae4dad0398dfa40a19fd89d59coar
faa6e5d8b210456ae4dad0398dfa40a19fd89d59coar *) mod_proxy and the proxy submodules now build properly as DSOs.
faa6e5d8b210456ae4dad0398dfa40a19fd89d59coar [Graham Leggett <minfrin@sharp.fm>]
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard *) Stopped the HTTP proxy from trying to read entity bodies when there
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard wasn't one (response was 1xx, 204, 205 or 304).
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard [Graham Leggett <minfrin@sharp.fm>]
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard *) Made sure dates were canonicalised correctly when passed to the client
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard browser through the HTTP proxy.
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard [Graham Leggett <minfrin@sharp.fm>]
ed105ee460bbaf479f0aa0f59d3951da85066e27stoddard
21b8c3cb46cea2b31a585a95ce9f93f4f6abc35brbb *) Split each individual proxy protocol into separate modules.
bae64a3e5bf7b96d8379e24f13273f26b3b29e16coar [Graham Leggett <minfrin@sharp.fm>]
bae64a3e5bf7b96d8379e24f13273f26b3b29e16coar
bae64a3e5bf7b96d8379e24f13273f26b3b29e16coar *) Added Max-Forwards support for all request types so as to prevent
c7fe488773cf6f50a1b2d9211c2f30a2ace8b67ccoar loops.
c7fe488773cf6f50a1b2d9211c2f30a2ace8b67ccoar [Graham Leggett <minfrin@sharp.fm>]
c7fe488773cf6f50a1b2d9211c2f30a2ace8b67ccoar
c7fe488773cf6f50a1b2d9211c2f30a2ace8b67ccoar *) Fix warnings about byte count type on Darwin (connect handler).
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbb [Chuck Murcko <chuck@topsail.org>]
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbb
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbbmod_proxy changes for httpd 2.0.18
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbb
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbb *) IPV6 EPSV support for IPV6 in FTP proxy.
27338fc39af80f2f0e4a8dbdc90c8a8179a5b2e4rbb [Graham Leggett <minfrin@sharp.fm>]
853a0c44563b056e40e9cffe911190f554e63ec3chuck
853a0c44563b056e40e9cffe911190f554e63ec3chuck *) FTP directory filter works now.
853a0c44563b056e40e9cffe911190f554e63ec3chuck [Graham Leggett <minfrin@sharp.fm>]
853a0c44563b056e40e9cffe911190f554e63ec3chuck
330c042543440d0987244c94c65d14eeb7af0868rbb *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
330c042543440d0987244c94c65d14eeb7af0868rbb [Graham Leggett <minfrin@sharp.fm>]
f1fa5e69040a3a72054d185f6087a7d1592b83e8rbb
f1fa5e69040a3a72054d185f6087a7d1592b83e8rbb *) PASV FTP works now.
f1fa5e69040a3a72054d185f6087a7d1592b83e8rbb [Graham Leggett <minfrin@sharp.fm>]
f1fa5e69040a3a72054d185f6087a7d1592b83e8rbb
30e3e9b782c701f885583b7d13d8e46c37d7e1ddtrawick *) Reworked the line-at-a-time read from the control connection to
30e3e9b782c701f885583b7d13d8e46c37d7e1ddtrawick workaround a stray empty bucket returned by the HTTP_IN filter.
30e3e9b782c701f885583b7d13d8e46c37d7e1ddtrawick [Graham Leggett <minfrin@sharp.fm>]
30e3e9b782c701f885583b7d13d8e46c37d7e1ddtrawick
30e3e9b782c701f885583b7d13d8e46c37d7e1ddtrawick *) Stopped the CORE filter from sending off an HTTP response when a
27faa3af8a50c1dc2dc6cb3049722378f85e5517rbb CONNECT tunnel was closed.
27faa3af8a50c1dc2dc6cb3049722378f85e5517rbb [Graham Leggett <minfrin@sharp.fm>]
27faa3af8a50c1dc2dc6cb3049722378f85e5517rbb
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb [Graham Leggett <minfrin@sharp.fm>]
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb [Graham Leggett <minfrin@sharp.fm>]
141b1a93f508248cbc0e9a124cc38041eb3e2562rbb
141b1a93f508248cbc0e9a124cc38041eb3e2562rbbmod_proxy changes for httpd 2.0.17
865980dc9aeb61741e586502440f0c0fea4835c6trawick
865980dc9aeb61741e586502440f0c0fea4835c6trawick *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
865980dc9aeb61741e586502440f0c0fea4835c6trawick BUFF!!!). It compiles, but is untested, and the build environment needs
865980dc9aeb61741e586502440f0c0fea4835c6trawick to be fixed to include proxy_ftp.c.
865980dc9aeb61741e586502440f0c0fea4835c6trawick [Graham Leggett <minfrin@sharp.fm>]
865980dc9aeb61741e586502440f0c0fea4835c6trawick
865980dc9aeb61741e586502440f0c0fea4835c6trawick *) Cleanup of dead functions within proxy_util.c.
865980dc9aeb61741e586502440f0c0fea4835c6trawick [Graham Leggett <minfrin@sharp.fm>]
9a0d076511763b559a755133f6a182e6c24ef643rbb
9a0d076511763b559a755133f6a182e6c24ef643rbb *) Reworked the storage of the client socket between keepalive connections
9a0d076511763b559a755133f6a182e6c24ef643rbb to fix some nasty problems with the socket lasting longer than the
9a0d076511763b559a755133f6a182e6c24ef643rbb memory pool it was allocated from.
9a0d076511763b559a755133f6a182e6c24ef643rbb [Graham Leggett <minfrin@sharp.fm>]
b42a7e46e4f80282bd27e96d43c9510b14ccb9aarbb
b42a7e46e4f80282bd27e96d43c9510b14ccb9aarbb *) Fixed bug where a hostname without a "." in it (such as "localhost")
b42a7e46e4f80282bd27e96d43c9510b14ccb9aarbb would not trigger an IP address check with ProxyBlock.
b42a7e46e4f80282bd27e96d43c9510b14ccb9aarbb [Graham Leggett <minfrin@sharp.fm>]
b42a7e46e4f80282bd27e96d43c9510b14ccb9aarbb
6501b757f710f75d47c950300d8110aca67dc0b0rbbmod_proxy changes for httpd 2.0.16
6501b757f710f75d47c950300d8110aca67dc0b0rbb
6501b757f710f75d47c950300d8110aca67dc0b0rbb *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
6501b757f710f75d47c950300d8110aca67dc0b0rbb ap_proxy_connect_handler().
dfd4950edac888e671b96f62ff5382b7cb350d48rbb [Graham Leggett <minfrin@sharp.fm>]
dfd4950edac888e671b96f62ff5382b7cb350d48rbb
dfd4950edac888e671b96f62ff5382b7cb350d48rbb *) Updated ap_proxy_connect_handler() to support APR, while
dfd4950edac888e671b96f62ff5382b7cb350d48rbb moving some common code between http_handler and connect_handler
a6d4b3f8d54aaf14d8ee5dda3a09bf8b6370dfa4wrowe to proxy_util.c.
a6d4b3f8d54aaf14d8ee5dda3a09bf8b6370dfa4wrowe [Graham Leggett <minfrin@sharp.fm>]
c9a95767fbf0f5fb0976a06b97a256033925e433rbb
c9a95767fbf0f5fb0976a06b97a256033925e433rbb *) Updated mod_proxy.html docs to include v2.0 configuration.
c9a95767fbf0f5fb0976a06b97a256033925e433rbb [Graham Leggett <minfrin@sharp.fm>]
c9a95767fbf0f5fb0976a06b97a256033925e433rbb
21b8c3cb46cea2b31a585a95ce9f93f4f6abc35brbb *) Fixed problem where responses without entity bodies would cause
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbb the directly following proxy keepalive request to fail.
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbb [Graham Leggett <minfrin@sharp.fm>]
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbb
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbbmod_proxy changes for httpd 2.0.15
adaea88da2d103e4302e361c932b98cee86fb1c5rbb
9635d7ffbd8ca441f85051f9a3adba17142d0b20rbb *) Added support for downstream keepalives in mod_proxy.
9635d7ffbd8ca441f85051f9a3adba17142d0b20rbb [Graham Leggett <minfrin@sharp.fm>]
9635d7ffbd8ca441f85051f9a3adba17142d0b20rbb
9635d7ffbd8ca441f85051f9a3adba17142d0b20rbb *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbb [Graham Leggett <minfrin@sharp.fm>]
d8d839738b1e80b0f9c54e83677b3f2c46c22705rbb
0415e5e1b9b6eba6899a2e5ef18f8facb8db0cfbstoddard *) Fix problem where incoming response headers were not being returned
0415e5e1b9b6eba6899a2e5ef18f8facb8db0cfbstoddard to the client in mod_proxy.
0415e5e1b9b6eba6899a2e5ef18f8facb8db0cfbstoddard [Graham Leggett <minfrin@sharp.fm>]
0415e5e1b9b6eba6899a2e5ef18f8facb8db0cfbstoddard
1374444b4fab1475091e12a81663f379b73005efrbb *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
1374444b4fab1475091e12a81663f379b73005efrbb reverse proxied request headers in mod_proxy.
1374444b4fab1475091e12a81663f379b73005efrbb [Graham Leggett <minfrin@sharp.fm>]
3233d057ad276d823bded5c24c3fd6729ed1a736rbb
3233d057ad276d823bded5c24c3fd6729ed1a736rbb *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
3233d057ad276d823bded5c24c3fd6729ed1a736rbb
9927a2a72d50103f32323b53f5fc4577c1801327rbb *) Fix problem with proxy configuration where globally set
9927a2a72d50103f32323b53f5fc4577c1801327rbb configuration options were overridden inside virtual hosts.
9927a2a72d50103f32323b53f5fc4577c1801327rbb [Graham Leggett <minfrin@sharp.fm>]
9927a2a72d50103f32323b53f5fc4577c1801327rbb
9927a2a72d50103f32323b53f5fc4577c1801327rbb *) Fix ProxyReceiveBufferSize where default value was left
82d2eed8f2152aff3f7554951c133a9d404ebbc5rbb uninitialised.
82d2eed8f2152aff3f7554951c133a9d404ebbc5rbb [Graham Leggett <minfrin@sharp.fm>]
82d2eed8f2152aff3f7554951c133a9d404ebbc5rbb
2e970b7ec485dde18f8fb3f494f98a3f68749859fanf *) Some small changes:
2e970b7ec485dde18f8fb3f494f98a3f68749859fanf - Ensured hop-by-hop headers were stripped as per
2e970b7ec485dde18f8fb3f494f98a3f68749859fanf RFC2616 13.5.1.
a5a7ecb732cfe89bb1f8e3c61b316c2075cefe52rbb - Upgraded version code to HTTP/1.1.
a5a7ecb732cfe89bb1f8e3c61b316c2075cefe52rbb - Added Connection: close until Keepalives come.
a5a7ecb732cfe89bb1f8e3c61b316c2075cefe52rbb - Some cosmetic fixes and commenting.
364701a102725758f2e3a511924381e2faa93e27rbb [Graham Leggett <minfrin@sharp.fm>]
364701a102725758f2e3a511924381e2faa93e27rbb
364701a102725758f2e3a511924381e2faa93e27rbbmod_proxy changes for httpd 2.0.14
364701a102725758f2e3a511924381e2faa93e27rbb
364701a102725758f2e3a511924381e2faa93e27rbb *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
364701a102725758f2e3a511924381e2faa93e27rbb since we no longer directly cache from this module
0811e8a41d152f0016a385ce1dfa44f475425b70rbb [Chuck Murcko <chuck@topsail.org>]
0811e8a41d152f0016a385ce1dfa44f475425b70rbb
0811e8a41d152f0016a385ce1dfa44f475425b70rbb *) removed cache
0811e8a41d152f0016a385ce1dfa44f475425b70rbb [Chuck Murcko <chuck@topsail.org>]
957b9b3f5e47c6cc7c2d8d9e2224c7364e966c70rbb
957b9b3f5e47c6cc7c2d8d9e2224c7364e966c70rbb *) initial rerebuild for 2.0
957b9b3f5e47c6cc7c2d8d9e2224c7364e966c70rbb [Chuck Murcko <chuck@topsail.org>]
957b9b3f5e47c6cc7c2d8d9e2224c7364e966c70rbb
957b9b3f5e47c6cc7c2d8d9e2224c7364e966c70rbb