CHANGES revision c1635d9f723f28fed4b95e5d9693e554a79e8d77
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poetteringmod_proxy changes for httpd 2.0.18-dev
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Get PORT working again in the ftp proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Victor Orlikowski <v.j.orlikowski@gte.net>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Return result code check for FTP QUIT, after fixing
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering problems with passive connection handling.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Victor Orlikowski <v.j.orlikowski@gte.net>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Reorganize ap_proxy_string_read() internally to not process eos
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering buckets.
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Victor Orlikowski <v.j.orlikowski@gte.net>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Remove result code check for FTP QUIT command. Some servers send
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering nothing at all back in response to QUIT.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering [Victor Orlikowski <v.j.orlikowski@gte.net>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering *) Reverse previous patch since the core reverted.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Remove indirection on number of bytes to read for input filters.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Fixed a problem with directory listing corruption in the
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering PROXY_DIR filter.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) mod_proxy and the proxy submodules now build properly as DSOs.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Stopped the HTTP proxy from trying to read entity bodies when there
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering wasn't one (response was 1xx, 204, 205 or 304).
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Made sure dates were canonicalised correctly when passed to the client
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering browser through the HTTP proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Split each individual proxy protocol into separate modules.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Added Max-Forwards support for all request types so as to prevent
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering loops.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Fix warnings about byte count type on Darwin (connect handler).
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) IPV6 EPSV support for IPV6 in FTP proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) FTP directory filter works now.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Fixed some thread-safety issues with the HTTP proxy in mod_proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) PASV FTP works now.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Reworked the line-at-a-time read from the control connection to
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering workaround a stray empty bucket returned by the HTTP_IN filter.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Stopped the CORE filter from sending off an HTTP response when a
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering CONNECT tunnel was closed.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Fixed the poll() loop in proxy_connect.c -> it works now!!!
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Converted send_dir() to ap_proxy_send_dir_filter() in proxy_ftp.c.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Major rework of ap_proxy_ftp_handler() to use filters (begone foul
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering BUFF!!!). It compiles, but is untested, and the build environment needs
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering to be fixed to include proxy_ftp.c.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Cleanup of dead functions within proxy_util.c.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Reworked the storage of the client socket between keepalive connections
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering to fix some nasty problems with the socket lasting longer than the
74bebb314bceaae7511542c485b1626c1c99a662Lennart Poettering memory pool it was allocated from.
74bebb314bceaae7511542c485b1626c1c99a662Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
74bebb314bceaae7511542c485b1626c1c99a662Lennart Poettering
74bebb314bceaae7511542c485b1626c1c99a662Lennart Poettering *) Fixed bug where a hostname without a "." in it (such as "localhost")
74bebb314bceaae7511542c485b1626c1c99a662Lennart Poettering would not trigger an IP address check with ProxyBlock.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Fixed ProxyBlock bugs with ap_proxy_http_handler() and
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering ap_proxy_connect_handler().
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Updated ap_proxy_connect_handler() to support APR, while
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering moving some common code between http_handler and connect_handler
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering to proxy_util.c.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Updated mod_proxy.html docs to include v2.0 configuration.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Fixed problem where responses without entity bodies would cause
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering the directly following proxy keepalive request to fail.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Added support for downstream keepalives in mod_proxy.
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering *) Changed mod_proxy ap_proxy_http_handler() to support APR properly.
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Fix problem where incoming response headers were not being returned
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering to the client in mod_proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Added X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server to
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering reverse proxied request headers in mod_proxy.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) replace INADDR_NONE with APR_INADDR_NONE [Ian Holsman <IanH@cnet.com>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) Fix problem with proxy configuration where globally set
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering configuration options were overridden inside virtual hosts.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering *) Fix ProxyReceiveBufferSize where default value was left
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering uninitialised.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) Some small changes:
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering - Ensured hop-by-hop headers were stripped as per
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering RFC2616 13.5.1.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering - Upgraded version code to HTTP/1.1.
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering - Added Connection: close until Keepalives come.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering - Some cosmetic fixes and commenting.
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering [Graham Leggett <minfrin@sharp.fm>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poetteringmod_proxy changes for 2.0.14 alpha
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) removed ProxyNoCache and ProxyCacheForceCompletion config directives,
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering since we no longer directly cache from this module
f8045772bd4e555a486fc9f440c80c9fad006fb7Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering
88ce72297a59e82601c47e00559454f343d7dc56Lennart Poettering *) removed cache
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering
e17fb72914e328f962e5df1bf88f301c0e7fa6e1Lennart Poettering *) initial rerebuild for 2.0
e21aee149493ac510b1185030ffa1619f229ce08Lennart Poettering [Chuck Murcko <chuck@topsail.org>]
e21aee149493ac510b1185030ffa1619f229ce08Lennart Poettering
e21aee149493ac510b1185030ffa1619f229ce08Lennart Poettering