Bug 7634 - Improper handling of TCP's bi-directional streams
Summary: Improper handling of TCP's bi-directional streams
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Other (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
URL:
Keywords:
Depends on:
Blocks: 289 1560
  Show dependency treegraph
 
Reported: 2021-01-28 17:10 CET by Pierre Ossman
Modified: 2021-11-18 13:23 CET (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2021-01-28 17:10:19 CET
We've been sloppy handling the bi-directional nature of TCP throughout our entire chain handling VNC traffic. You should not just call close() on a socket but rather do shutdown(SHUT_WR) and wait for the other side to finish up. For our intermediate steps this behaviour also needs to be propagated properly. Similarily EPIPE indicates some kind of unclean socket closure that also needs to propagate correctly.

We've seen issues from stray EPIPE on bug 7552, but also bug 289 and bug 1560. These are likely (at least partly) caused by this poor handling.

We need to go through the components involved here:

 * TigerVNC
 * websockify
 * tlstunnel
 * tlwebaccess

OpenSSH already seems to have proper handling, but it should be verified.

Note You need to log in before you can comment on or make changes to this bug.