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