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