]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
mod_proxy: Improve tunneling loop.
authorYann Ylavic <ylavic@apache.org>
Tue, 5 Nov 2019 16:41:14 +0000 (16:41 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 5 Nov 2019 16:41:14 +0000 (16:41 +0000)
commit124a26fb097bb9de3692e270a8f90c89efdcaee2
tree339f7cc8be7f32a4879bd6df00cec325a80f993b
parent3d3e03a63a54bc389fac77b575044fb417707e30
mod_proxy: Improve tunneling loop.

Support half closed connections and pending data draining (for protocols like
rsync). PR 61616.

When reading on one side goes faster than writing on the other side, the output
filters chain may start buffering data and finally block, which will break
bidirectional tunneling for some protocols.

To avoid this, proxy_tunnel_run() now stops polling/reading until pending data
are drained, and recovers appropriately.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1869420 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
docs/log-message-tags/next-number
modules/proxy/mod_proxy.h
modules/proxy/mod_proxy_connect.c
modules/proxy/mod_proxy_wstunnel.c
modules/proxy/proxy_util.c