Bug 5795 - Shadowing clients tries to occupy ports, can be terminated by unbind_ports
: Shadowing clients tries to occupy ports, can be terminated by unbind_ports
: ThinLinc
: 4.5.0
: PC Unknown
: P2 Normal
: 4.6.0
Assigned To:
  Show dependency treegraph
Reported: 2016-02-08 16:39 by
Modified: 2016-04-12 12:46 (History)
Acceptance Criteria:



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

Description From cendio 2016-02-08 16:39:41
Problem found when testing bug 2251.

A shadowing client will try to set up tunnels for local devices. If it
succeeds, it will be killed by unbind_ports when the shadowed user reconnects
to their session. The idea is that shadowers should stay connected even though
the shadowed user reconnects to their session.

The most common cases where it will succeed in setting up tunnels is when the
shadowing client exports more local devices than the original client. This is
common with the HTML5 client, which does not export devices, and when using the
native client with different configurations.

As we do most of our testing with the same native client configuration, we've
probably never seen this happen in our tests, but it should be common in the
real world, where people might disable/enable local devices according to their

Here's an example of how you can reproduce this problem:

  1. Start a new session with the native client.
     Enable local drives and printer redirection, disable everything else.

  2. Shadow the session with the native client.
     Disable local drives and printer redirection, enable everything else.

  3. Reconnect to the session with any client.

The shadower connection will be disconnected along with the original
connection. The expected result is that the original connection would be
disconnected while the shadower connection would stay connected.
------- Comment #4 From cendio 2016-03-15 11:03:59 -------
Both server and client have been changed, so tester needs to verify all
combinations of old/new server/client.
------- Comment #7 From cendio 2016-03-15 15:30:15 -------
Tested using ThinLinc client build 5036 and 5063, server 4.5.0 and 4.5.0post

- Verified that shadowing using new client against old server
  worked as expected. No local devices was started at client
  side and no local device ssh tunnels was configured.

- Verified shadowing using old client against new server. Client
  didn't start the local device services due to that the server
  never told which ports to use. Nicely logged to tlclient.log.

Tested normal client connections and random reconnect / shadowing using
native and html client. No unexpected behaviour was detected.
------- Comment #8 From cendio 2016-03-15 15:30:53 -------
Looked through the diffs and the also looks fine, closing.