Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple IPv6 Support #62

Open
timcoote opened this issue May 6, 2020 · 2 comments
Open

Simple IPv6 Support #62

timcoote opened this issue May 6, 2020 · 2 comments

Comments

@timcoote
Copy link

timcoote commented May 6, 2020

The dependent libraries used by RobotRemoteServer will work with IPv6, but this requires specific documentation and a small code modification (see Issue #60).

@timcoote
Copy link
Author

timcoote commented May 7, 2020

fwiw, at least on Linux, IPv6 is a superset of IPv4. So that, using the example directory a RobotRemoteServer listening on "::" will work with tests.robot with {$ADDRESS} set to ::1, 127.0.0.1, and .

Even specific IPv4 addresses can be used with RobotRemoteServer on IPv6. However, they do require the correct IPv6 subnet. Thus "192.168.1.1" becomes "::ffff:192.168.1.1". Even "::ffff:0.0.0.0" listens on all IPv4 addresses!

I'm happy to create a PR to support IPv6, but I'm not clear on the best approach:
1- document the approach to changing the TCPServer address_family before importing RobotRemoteServer: non-breaking change, but quite a barrier to IPv6 adoption
2- change the universal address from 0.0.0.0 to :: and use IPv6 - this is a breaking change and would invalidate existing use of RobotRemoteServer. IPv4 addresses would need to be prepended with ::ffff:, 0.0.0.0 could, alternatively, be replaced with ::
3- create a new, extra, class for IPv6 - untested approach
4- munge IPv4 addresses to IPv6 versions within RobotRemoteServer - smells wrong, as it's unnecessarily complicated.

@pekkaklarck
Copy link
Member

PR #64 covers this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants