Bug 4257 - thinlocal stops working if termserv_hostname changes
Summary: thinlocal stops working if termserv_hostname changes
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Printing (show other bugs)
Version: 3.2.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Pierre Ossman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-12 10:09 CEST by Pierre Ossman
Modified: 2017-10-31 13:24 CET (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2012-04-12 10:09:43 CEST
thinlocal needs to be able to determine if a session is on the local machine, or another agent. It needs this to determine if it needs to respool the job, or if it is ready to send it to the client.

Currently it does this by looking at the session's "termserv_hostname", and then using the same function the local agent uses to determine what the local "termserv_hostname" should be. This is based on the flawed assumption that this value never changes. E.g. we have bug 3419 and bug 4189 that will update the agent to notice these changes.

We are also considering moving the termserv_hostname translation to the master, which will completely break this method.

If we implement bug 4256, then this issue becomes trivial. If we don't, then we need something more creative.

One method would be this:

 1) Specify that the name in /vsmservers/terminalservers (aka "agenthost") must be a local name for the agent (no proxies or NAT allowed).

 2) Do a UDP connection to "agenthost".

 3) Look at what the local socket address is.

If the session is local, then the local address should be "agenthost", or localhost.
Comment 1 Pierre Ossman cendio 2012-04-12 10:34:08 CEST
We should probably move get_agent_hostname() into VSMAgent when we've fixed this.

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