Mercurial > hg > icedtea8-forest > jdk
changeset 13924:ebe635565ff3
8200719: Cannot connect to IPv6 host when exists any active network interface without IPv6 address
Reviewed-by: clanger, chegar
Contributed-by: joelpelaez@gmail.com
author | robm |
---|---|
date | Fri, 19 Oct 2018 10:30:26 -0700 |
parents | 4a782529d712 |
children | d08372424e32 |
files | src/solaris/native/java/net/net_util_md.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/solaris/native/java/net/net_util_md.c Wed Oct 17 06:54:17 2018 -0400 +++ b/src/solaris/native/java/net/net_util_md.c Fri Oct 19 10:30:26 2018 -0700 @@ -96,7 +96,9 @@ } int defaultIndex; struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)him; - if (sin6->sin6_family == AF_INET6 && (sin6->sin6_scope_id == 0)) { + if (sin6->sin6_family == AF_INET6 && (sin6->sin6_scope_id == 0) && + (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) || + IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr))) { defaultIndex = (*env)->GetStaticIntField(env, ni_class, ni_defaultIndexID); sin6->sin6_scope_id = defaultIndex;