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