]> git.proxmox.com Git - pve-http-server.git/commit
webproxy: handle unflushed write buffer
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Thu, 11 Nov 2021 14:07:13 +0000 (15:07 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 11 Nov 2021 16:01:12 +0000 (17:01 +0100)
commitb1364a3c98958963c76be0d75e2f03da838a0313
treeb04c6b6a4f3f616bc5fc07e8423702a0651b998f
parent46b962f6b1b228a9ebcac8ee1fb42bd8460e7773
webproxy: handle unflushed write buffer

for proxied requests, we usually tear down the proxy connection
immediately when closing the source connection. this is not the correct
course of action for bulk one-way data streams that are proxied, where
the source connection might be closed, but the proxy connection might
still have data in the write buffer that needs to be written out.

push_shutdown already handles this case (closing the socket/FH after it
has been fully drained).

one example for such a proxied data stream is the 'migrate' data for a
remote migration, which gets proxied over a websocket connection.
terminating the proxied connection early makes the target VM crash for
obvious reasons.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
src/PVE/APIServer/AnyEvent.pm