- Fix MulticastSocket.setInterface(). Report and fix from Oliver

Lehmann on bsd-port list.
This commit is contained in:
kurt 2013-02-02 17:41:18 +00:00
parent ee1a62881f
commit 97a9d398c2
2 changed files with 42 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.38 2013/02/01 15:34:35 kurt Exp $
# $OpenBSD: Makefile,v 1.39 2013/02/02 17:41:18 kurt Exp $
SHARED_ONLY= Yes
ONLY_FOR_ARCHS= amd64 i386
@ -10,7 +10,9 @@ UPDATE= 32
BUILD= b27
PKGNAME= jdk-${VERSION}
PKGNAME-main= jdk-${VERSION}
REVISION-main= 0
PKGNAME-jre= jre-${VERSION}
REVISION-jre= 0
# see jaxp/jaxp.properties & jaxws/jaxws.properties
# in ${WRKDIR} for names and download locations of extra distfiles

View File

@ -0,0 +1,39 @@
$OpenBSD: patch-jdk_src_solaris_native_java_net_PlainDatagramSocketImpl_c,v 1.1 2013/02/02 17:41:18 kurt Exp $
--- jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c.orig Fri Feb 1 11:16:47 2013
+++ jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Fri Feb 1 12:52:14 2013
@@ -1338,7 +1338,7 @@ static void setMulticastInterface(JNIEnv *env, jobject
/*
* value is an InetAddress.
*/
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_if_by_addr_v6(env, this, fd, value);
} else {
@@ -1357,7 +1357,7 @@ static void setMulticastInterface(JNIEnv *env, jobject
/*
* value is a NetworkInterface.
*/
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_if_by_if_v6(env, this, fd, value);
} else {
@@ -1434,7 +1434,7 @@ static void mcast_set_loop_v6(JNIEnv *env, jobject thi
*/
static void setMulticastLoopbackMode(JNIEnv *env, jobject this, int fd,
jint opt, jobject value) {
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_loop_v6(env, this, fd, value);
} else {
@@ -2002,7 +2002,7 @@ Java_java_net_PlainDatagramSocketImpl_setTimeToLive(JN
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
}
/* setsockopt to be correct ttl */
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
setHopLimit(env, fd, ttl);
} else {