Bug 7059 - connection race between clients with shared account
Summary: connection race between clients with shared account
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VSM Server (show other bugs)
Target Milestone: LowPrio
Assignee: Henrik Andersson
Depends on: 6078
  Show dependency treegraph
Reported: 2017-09-28 12:35 CEST by Pierre Ossman
Modified: 2019-09-18 13:41 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:


Description Pierre Ossman cendio 2017-09-28 12:35:26 CEST
We have a race when multiple clients connect to ThinLinc at the same time and they share the same user account. What can happen is:

1. Client A connects to vsmserver and lists sessions
2. No disconnected session is found, so "newsession" is called
3. A new session is created and client A gets the connection details
4. Client B connects to vsmserver and lists sessions
5. The new session is detected as disconnected as client A hasn't had time to connect to it yet
6. Client B calls "reconnect_session" and gets the connection details
7. Both clients will attempt to connect, but the first to succeed will be disconnected when the second connects

(the same thing can happen with "reconnect_session" in step 2, with two clients fighting for the same disconnected session)

We probably need to have some grace period to give the requesting client some time to connect.

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