CHANGES revision 0361488d59792d052a9f8024c0e5a1ef909252e6
9174efb969475801d0dc88eee35aae40c748d450nd******************************************
ec79b29695b183f794264bbb578c51e93d1f9b1emartin* PLEASE NOTE: Now that development for *
6aa2272cc4af77e605ba2c4a4781f8567408b7e3pquerna* mod_proxy has been folded back into *
ee508128c414648982d1cca7801f63b01a0a4f8aminfrin* the httpd-2.1 tree, this file has *
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem* been deprecated. Proxy changes should *
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem* be noted in httpd-2.x's CHANGES file. *
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem* This file exists for historical *
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem* purposes. *
15264721069299ec26493e21d56bf8ff7faf6f0drpluem******************************************
15264721069299ec26493e21d56bf8ff7faf6f0drpluem
15264721069299ec26493e21d56bf8ff7faf6f0drpluemmod_proxy changes for httpd 2.0.29-dev
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem *) don't do keepalives for sub-requests. [Ian Holsman]
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem *) fix up proxypass handling [Ian Holsman]
11e1b16b907afb7de0678e28fe4849d9029e2df8rpluem
d4d8fbf75076eccfed70c8f715f7ed4210ab5ccdbnicholes *) don't send If-Modified-Since, Cache-Control, or If-None-Match on
a085f5ab771cff650b27e7a761b7f19adf884686rpluem a subrequest [Ian Holsman]
a085f5ab771cff650b27e7a761b7f19adf884686rpluem
a085f5ab771cff650b27e7a761b7f19adf884686rpluemmod_proxy changes for httpd 2.0.26-dev
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem *) Add New option 'HTTPProxyOverrideReturnedErrors'. By Turning the
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem Flag on, you will mask the error pages returned by the proxied
25a81ea1bca1c89cda713c4d23660e487b1488a0rpluem server, and will it will be handled as if your server generated
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd the error. This change was put in so that a 404 on a included
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd r-proxied component will act in the same manner as a 404 on a
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd included file. [Ian Holsman <ianh@cnet.com>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
48fa058fe468025347930610ac2473094fa0f4e4chrisdmod_proxy changes for httpd 2.0.25-dev
48fa058fe468025347930610ac2473094fa0f4e4chrisd
48fa058fe468025347930610ac2473094fa0f4e4chrisd *) Split proxy: space using <Proxy[Match] > directive blocks from
42ace93dfd997e0c9b4fbae8185288320e95eb72rpluem the <Directory[Match] > and <Files[Match] > blocks. Mod_proxy
3545f87968bf3ac4e691030f816c4360bdf83eacrpluem now bypasses the directory and files testing phase (and skips
42ace93dfd997e0c9b4fbae8185288320e95eb72rpluem the http TRACE default handler on it's own, as well). Note that
3ec4328f079d8867cc323155e59678ad9437914frooneg <Location > blocks continue to be processed for proxy: requests.
3ec4328f079d8867cc323155e59678ad9437914frooneg [William Rowe <wrowe@covalent.net>]
3ec4328f079d8867cc323155e59678ad9437914frooneg
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) apr_uri type/function namespace changes in apr_uri functions
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [Doug MacEachern <dougm@covalent.net>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisdmod_proxy changes for httpd 2.0.23-dev
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) break the proxy_http_handler into multiple smaller functions.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [John Barbee <barbee@veribox.net>]
cd59ac5e8f739afbdcd523c649550f7dce1709ceniq
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme *) Fix the proxy when the origin server sends back a 100
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme Continue response. [John Barbee <barbee@veribox.net>]
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme *) Change 'readbytes' from apr_size_t to apr_off_t due to change
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme in ap_get_brigade's parameters [John Barbee <barbee@veribox.net>]
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemmemod_proxy changes for httpd 2.0.20-dev
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme *) Timeout added for backend connections.
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme [Victor Orlikowski <v.j.orlikowski@gte.net>]
3ddec0f3e161d5a5afab12c522d92c44e4d7d8fcgregames
3ddec0f3e161d5a5afab12c522d92c44e4d7d8fcgregames *) Fix abort code path in proxy_http.c, similar to FTP fix.
3ddec0f3e161d5a5afab12c522d92c44e4d7d8fcgregames [Chuck Murcko <chuck@topsail.org>]
3ddec0f3e161d5a5afab12c522d92c44e4d7d8fcgregames
db78659055df54243bca678c35bd2ce7e31a9237rooneg *) Fix FTP ABOR command execution path.
edf6757df85878dc8ce11fb3840ee4cde6de5b2frooneg [Victor Orlikowski <v.j.orlikowski@gte.net>]
db78659055df54243bca678c35bd2ce7e31a9237rooneg
95817edd05387a5276f51fcd5db79fc21b89b55brooneg *) FTP return code variable cleanup; fixed problem in login
95817edd05387a5276f51fcd5db79fc21b89b55brooneg [Chuck Murcko <chuck@topsail.org>]
95817edd05387a5276f51fcd5db79fc21b89b55brooneg
63689d77e084e36b8194fb6df5adfc0344965e01trawick *) Get PORT working again in the ftp proxy.
63689d77e084e36b8194fb6df5adfc0344965e01trawick [Victor Orlikowski <v.j.orlikowski@gte.net>]
63689d77e084e36b8194fb6df5adfc0344965e01trawick
63689d77e084e36b8194fb6df5adfc0344965e01trawick *) Return result code check for FTP QUIT, after fixing
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton problems with passive connection handling.
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton [Victor Orlikowski <v.j.orlikowski@gte.net>]
5714cdd83e23557d801437daa5e3ab8ba78ae595jorton
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Reorganize ap_proxy_string_read() internally to not process eos
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes buckets.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Victor Orlikowski <v.j.orlikowski@gte.net>]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Remove result code check for FTP QUIT command. Some servers send
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes nothing at all back in response to QUIT.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Victor Orlikowski <v.j.orlikowski@gte.net>]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholesmod_proxy changes for httpd 2.0.19
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Reverse previous patch since the core reverted.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Remove indirection on number of bytes to read for input filters.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Chuck Murcko <chuck@topsail.org>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fixed a problem with directory listing corruption in the
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes PROXY_DIR filter.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) mod_proxy and the proxy submodules now build properly as DSOs.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Stopped the HTTP proxy from trying to read entity bodies when there
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes wasn't one (response was 1xx, 204, 205 or 304).
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Graham Leggett <minfrin@sharp.fm>]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem *) Made sure dates were canonicalised correctly when passed to the client
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem browser through the HTTP proxy.
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem [Graham Leggett <minfrin@sharp.fm>]
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq *) Split each individual proxy protocol into separate modules.
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq [Graham Leggett <minfrin@sharp.fm>]
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick *) Added Max-Forwards support for all request types so as to prevent
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick loops.
13cd67e9c1dacbd6b9f040bda337c725cedd98f3brianp [Graham Leggett <minfrin@sharp.fm>]
13cd67e9c1dacbd6b9f040bda337c725cedd98f3brianp
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) Fix warnings about byte count type on Darwin (connect handler).
a623efbff95aab78da9e030524b0fa69b054f6d0brianp [Chuck Murcko <chuck@topsail.org>]
a623efbff95aab78da9e030524b0fa69b054f6d0brianp
a623efbff95aab78da9e030524b0fa69b054f6d0brianpmod_proxy changes for httpd 2.0.18
a623efbff95aab78da9e030524b0fa69b054f6d0brianp
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) IPV6 EPSV support for IPV6 in FTP proxy.
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm [Graham Leggett <minfrin@sharp.fm>]
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm *) FTP directory filter works now.
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp [Graham Leggett <minfrin@sharp.fm>]
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp
ad862ab5716726a2d72a292ba1dfb29566c86153brianp *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
ad862ab5716726a2d72a292ba1dfb29566c86153brianp [Graham Leggett <minfrin@sharp.fm>]
ad862ab5716726a2d72a292ba1dfb29566c86153brianp
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz *) PASV FTP works now.
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz [Graham Leggett <minfrin@sharp.fm>]
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz
2d5532b13110a8d85653da92e97795b09cc25cc2trawick *) Reworked the line-at-a-time read from the control connection to
b38565306421ff53e9f7499bc728d6df5cec294dpquerna workaround a stray empty bucket returned by the HTTP_IN filter.
b38565306421ff53e9f7499bc728d6df5cec294dpquerna [Graham Leggett <minfrin@sharp.fm>]
b38565306421ff53e9f7499bc728d6df5cec294dpquerna
b38565306421ff53e9f7499bc728d6df5cec294dpquerna *) Stopped the CORE filter from sending off an HTTP response when a
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem CONNECT tunnel was closed.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem [Graham Leggett <minfrin@sharp.fm>]
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem [Graham Leggett <minfrin@sharp.fm>]
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluemmod_proxy changes for httpd 2.0.17
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
a9e9e4d9b1e6bb081282f75bf450b7d7d5a1f581rpluem BUFF!!!). It compiles, but is untested, and the build environment needs
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem to be fixed to include proxy_ftp.c.
200fd0ce73d992a43b500ddfe94487a840bd56darpluem [Graham Leggett <minfrin@sharp.fm>]
200fd0ce73d992a43b500ddfe94487a840bd56darpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Cleanup of dead functions within proxy_util.c.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Reworked the storage of the client socket between keepalive connections
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem to fix some nasty problems with the socket lasting longer than the
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem memory pool it was allocated from.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Fixed bug where a hostname without a "." in it (such as "localhost")
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem would not trigger an IP address check with ProxyBlock.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluemmod_proxy changes for httpd 2.0.16
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem ap_proxy_connect_handler().
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Updated ap_proxy_connect_handler() to support APR, while
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem moving some common code between http_handler and connect_handler
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem to proxy_util.c.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Updated mod_proxy.html docs to include v2.0 configuration.
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem [Graham Leggett <minfrin@sharp.fm>]
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem
0c5a6a11ce72ad41b14c755f4a2254e0c7b70245rpluem *) Fixed problem where responses without entity bodies would cause
200fd0ce73d992a43b500ddfe94487a840bd56darpluem the directly following proxy keepalive request to fail.
200fd0ce73d992a43b500ddfe94487a840bd56darpluem [Graham Leggett <minfrin@sharp.fm>]
200fd0ce73d992a43b500ddfe94487a840bd56darpluem
200fd0ce73d992a43b500ddfe94487a840bd56darpluemmod_proxy changes for httpd 2.0.15
200fd0ce73d992a43b500ddfe94487a840bd56darpluem
200fd0ce73d992a43b500ddfe94487a840bd56darpluem *) Added support for downstream keepalives in mod_proxy.
200fd0ce73d992a43b500ddfe94487a840bd56darpluem [Graham Leggett <minfrin@sharp.fm>]
200fd0ce73d992a43b500ddfe94487a840bd56darpluem
200fd0ce73d992a43b500ddfe94487a840bd56darpluem *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
200fd0ce73d992a43b500ddfe94487a840bd56darpluem [Graham Leggett <minfrin@sharp.fm>]
cbb903af5066589fe0e73f3ecf06abdc71e38effrpluem
cbb903af5066589fe0e73f3ecf06abdc71e38effrpluem *) Fix problem where incoming response headers were not being returned
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem to the client in mod_proxy.
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem [Graham Leggett <minfrin@sharp.fm>]
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem reverse proxied request headers in mod_proxy.
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme [Graham Leggett <minfrin@sharp.fm>]
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem *) Fix problem with proxy configuration where globally set
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem configuration options were overridden inside virtual hosts.
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem [Graham Leggett <minfrin@sharp.fm>]
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem *) Fix ProxyReceiveBufferSize where default value was left
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem uninitialised.
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem [Graham Leggett <minfrin@sharp.fm>]
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem *) Some small changes:
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem - Ensured hop-by-hop headers were stripped as per
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem RFC2616 13.5.1.
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem - Upgraded version code to HTTP/1.1.
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem - Added Connection: close until Keepalives come.
c9ce3d3ead2ba4ea6f5bb176745172f3538aed60rpluem - Some cosmetic fixes and commenting.
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem [Graham Leggett <minfrin@sharp.fm>]
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluemmod_proxy changes for httpd 2.0.14
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem since we no longer directly cache from this module
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem [Chuck Murcko <chuck@topsail.org>]
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem *) removed cache
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem [Chuck Murcko <chuck@topsail.org>]
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem *) initial rerebuild for 2.0
0deb1a75b17945f30e56e81b851a2a2ab08af50drpluem [Chuck Murcko <chuck@topsail.org>]
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem
0919d062982a9c9d2f4a8933ef54ccba2dd2b8f8rpluem