| Summary: | IPv6 bind address vs autoconfiguration privacy | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Damien Miller <djm> | ||||||||
| Component: | ssh | Assignee: | Assigned to nobody <unassigned-bugs> | ||||||||
| Status: | NEW --- | ||||||||||
| Severity: | enhancement | CC: | bugzilla.mindrot.org, dtucker, stefan.tomanek-mindrot | ||||||||
| Priority: | P5 | ||||||||||
| Version: | -current | ||||||||||
| Hardware: | Other | ||||||||||
| OS: | Linux | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Damien Miller
2016-08-19 11:49:13 AEST
Created attachment 2862 [details]
reuse BindAddress for this functionality
The aforementioned git branch has a patch that adds an Ipv6BindPref option to ssh(1). IMO this is overkill and it would be better to support this by reusing BindAddress.
This patch attempts this, but I'm unable to test it because my Linux system lacks this sockopt.
Created attachment 2863 [details] extend BindAddress option to select the type of IPv6 src address I made a few tweaks to the patch(es) and separated the socket manipulation from the command line parsing code - so someone fluent in *BSD or *x can add this functionality easily for those platforms. Source address types are now selected by prefixing the keyword "pub(lic)" and "t(e)mp" with a precentag sign - so this will not collide with hostnames. github reference: https://github.com/wertarbyte/openssh-portable/compare/master...bindaddress_ipv6_pref Created attachment 2865 [details] revised patch Include correct header. Support a couple more aliases for BindAddress. After reading more about the sockopt, I'm a bit more ambivalent about this. The IPV6_ADDR_PREFERENCES option originated from RFC5014[1], which is an Informational RFC. So far only Linux supports it, but the option isn't exposed in glibc headers - you have to include the kernel linux/in6.h header directly. It doesn't seem to be documented in any of the socket manpages either. IMO it might be a bit soon for OpenSSH to implement this. [1] https://tools.ietf.org/html/rfc5014 OS X High Sierra has the following which might be related in /usr/include/netinet6/in6.h: /* int; prefer temporary addresses as the source address. */ #define IPV6_PREFER_TEMPADDR 63 What is the status of this patch? Can I do something to help its acceptance? |