summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-18 20:39:52 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-18 20:39:52 +0000
commitc4c91330130980633ee1029ef7b43b86a4ce4182 (patch)
tree9fb36c4c999c24d7d2265d354cd76a6aaacddc8d /libjava
parent13585af5e9655ef45e712fd17c05fa1ca3c94bf2 (diff)
downloadgcc-c4c91330130980633ee1029ef7b43b86a4ce4182.tar.gz
* java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling back to old RFC 2133 variants if missing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44130 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/net/natPlainDatagramSocketImpl.cc11
2 files changed, 16 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 3756cc2447f..914f698aca0 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
+ 2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling
+ back to old RFC 2133 variants if missing.
+
2001-07-18 Tom Tromey <tromey@redhat.com>
* java/io/natFileWin32.cc (_access): Renamed.
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc
index a90d2a8e8e0..4f6b3194c46 100644
--- a/libjava/java/net/natPlainDatagramSocketImpl.cc
+++ b/libjava/java/net/natPlainDatagramSocketImpl.cc
@@ -415,7 +415,16 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr,
else if (len == 16)
{
level = IPPROTO_IPV6;
- opname = join ? IPV6_ADD_MEMBERSHIP : IPV6_DROP_MEMBERSHIP;
+
+ /* Prefer new RFC 2553 names. */
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+#ifndef IPV6_LEAVE_GROUP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#endif
+
+ opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len);
// FIXME: If a non-default interface is set, use it; see Stevens p. 501.
// Maybe not, see note in last paragraph at bottom of Stevens p. 497.