Bug 2672 - Support IPv6
Summary: Support IPv6
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Other (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Enhancement
Target Milestone: LowPrio
Assignee: Peter Åstrand
URL:
Keywords:
Depends on: 5755 3999 5360 7131
Blocks:
  Show dependency treegraph
 
Reported: 2008-01-30 08:28 CET by Peter Åstrand
Modified: 2023-12-15 10:40 CET (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description Peter Åstrand cendio 2008-01-30 08:28:35 CET
Sooner or later, probably later.
Comment 1 Pierre Ossman cendio 2010-10-25 09:58:22 CEST
Apparently we already have some rudimentary support as the OpenSSH we ship supports IPv6. I was successfully running ThinLinc via IPv6 against my ThinLinc server at home this weekend.
Comment 2 Pierre Ossman cendio 2014-04-04 14:37:57 CEST
I think the biggest challenge with IPv6 is supporting RFC 3484[1]. Administrators should be able to configure agent_hostname with IP addresses, which means they will need to specify at least two in order to support both IPv4 and IPv6. To properly follow IPv6 behaviour we should allow any number of addresses though.

The problem is that normally the magic to select between addresses is handled by getaddrinfo(). But that only works if we have a single hostname. So we will most likely need to duplicate the logic in there.

Lastly we need to change our SSH interaction so we can attempt a connection at each of those candidate addresses. Either we change ssh so we can give it multiple addresses, or we let tlclient handle connection errors and starts ssh multiple times until we get a connection.

Might want to look at bug 2810 at the same time if we're doing a lot of work on name resolution.

[1] http://www.ietf.org/rfc/rfc3484.txt
Comment 3 Pierre Ossman cendio 2014-05-27 10:49:01 CEST
Remember to test with IPv6 disabled after this is done.
Comment 4 Pierre Ossman cendio 2014-11-19 14:11:01 CET
Note that Windows got most of it's IPv6 support after XP, so we might need to drop that platform to support IPv6 on Windows.
Comment 5 Pierre Ossman cendio 2015-04-28 17:11:06 CEST
Information about how glibc does getaddrinfo():

http://www.akkadia.org/drepper/linux-rfc3484.html
Comment 6 Pierre Ossman cendio 2015-12-01 11:14:37 CET
We should also consider implementing "Happy Eyeballs", i.e. RFC 6555.
Comment 7 Pierre Ossman cendio 2023-10-20 11:07:50 CEST
(In reply to Pierre Ossman from comment #6)
> We should also consider implementing "Happy Eyeballs", i.e. RFC 6555.

Python's asyncio implemented happy eyeballs in Python 3.8, which could be helpful on the server at least.
Comment 8 Pierre Ossman cendio 2023-10-27 10:27:06 CEST
As of bug 8224, vsmserver and vsmagent now listen on both IPv4 and IPv6.

tlwebadm and tlwebaccess have been listening to both for an unknown amount of time.

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