natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC 2533 socket options IPV6_JOIN_G...
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Wed, 18 Jul 2001 20:39:52 +0000 (20:39 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Wed, 18 Jul 2001 20:39:52 +0000 (20:39 +0000)
* 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.

From-SVN: r44130

libjava/ChangeLog
libjava/java/net/natPlainDatagramSocketImpl.cc

index 3756cc2447f1e0bbc29aaa1a1fb116f27aa6776d..914f698aca08204618278205b7a03888f9f100a6 100644 (file)
@@ -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.
index a90d2a8e8e0b78a85e22254689a3dad14e3eea52..4f6b3194c46354f8115eb23ed2f8f5de040fef99 100644 (file)
@@ -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.