The code that is being removed uses linux kernel private data
structures as well as a newer methodology has already been implemented.

This commit also fixes build breakage caused by -werror and
the usage of a stricter compiler on a centos 6 platform

Signed-off-by: Donald Sharp <[email protected]>
---
 configure.ac  |    9 ---------
 lib/sockopt.c |   23 +----------------------
 2 files changed, 1 insertion(+), 31 deletions(-)

diff --git a/configure.ac b/configure.ac
index d822c3c..2c70d54 100755
--- a/configure.ac
+++ b/configure.ac
@@ -989,15 +989,6 @@ AC_TRY_COMPILE([#ifdef HAVE_SYS_PARAM_H
 AC_DEFINE(HAVE_BSD_STRUCT_IP_MREQ_HACK,,[Can pass ifindex in struct ip_mreq])],
 AC_MSG_RESULT(no))
 
-AC_MSG_CHECKING([for RFC3678 protocol-independed API])
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <netinet/in.h>
-], [struct group_req gr; int sock; setsockopt(sock, IPPROTO_IP, 
MCAST_JOIN_GROUP, (void*)&gr, sizeof(gr));
-], [AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_RFC3678,1,[Have RFC3678 protocol-independed API])],
-AC_MSG_RESULT(no))
-
 dnl ---------------------------------------------------------------
 dnl figure out how to check link-state
 dnl ---------------------------------------------------------------
diff --git a/lib/sockopt.c b/lib/sockopt.c
index 257271b..076454b 100644
--- a/lib/sockopt.c
+++ b/lib/sockopt.c
@@ -222,28 +222,7 @@ setsockopt_ipv4_multicast(int sock,
                        unsigned int mcast_addr,
                        unsigned int ifindex)
 {
-#ifdef HAVE_RFC3678
-  struct group_req gr;
-  struct sockaddr_in *si;
-  int ret;
-  memset (&gr, 0, sizeof(gr));
-  si = (struct sockaddr_in *)&gr.gr_group;
-  gr.gr_interface = ifindex;
-  si->sin_family = AF_INET;
-#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
-  si->sin_len = sizeof(struct sockaddr_in);
-#endif /* HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */
-  si->sin_addr.s_addr = mcast_addr;
-  ret = setsockopt(sock, IPPROTO_IP, (optname == IP_ADD_MEMBERSHIP) ? 
-    MCAST_JOIN_GROUP : MCAST_LEAVE_GROUP, (void *)&gr, sizeof(gr));
-  if ((ret < 0) && (optname == IP_ADD_MEMBERSHIP) && (errno == EADDRINUSE))
-    {
-      setsockopt(sock, IPPROTO_IP, MCAST_LEAVE_GROUP, (void *)&gr, sizeof(gr));
-      ret = setsockopt(sock, IPPROTO_IP, MCAST_JOIN_GROUP, (void *)&gr, 
sizeof(gr));
-    }
-  return ret;
-
-#elif defined(HAVE_STRUCT_IP_MREQN_IMR_IFINDEX) && !defined(__FreeBSD__)
+#if defined(HAVE_STRUCT_IP_MREQN_IMR_IFINDEX) && !defined(__FreeBSD__)
   struct ip_mreqn mreqn;
   int ret;
   
-- 
1.7.10.4


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to