diff -r -u -w smcroute-1.99.0/src/mclab.h smcroute-1.99.0-working/src/mclab.h
--- smcroute-1.99.0/src/mclab.h 2012-05-15 02:49:36.000000000 -0400
+++ smcroute-1.99.0-working/src/mclab.h 2012-10-15 17:15:00.000000000 -0400
@@ -47,9 +47,9 @@
#include "config.h"
-#ifdef HAVE_LINUX_MROUTE_H
+#define _LINUX_IN_H
+#include <linux/types.h>
#include <linux/mroute.h>
-#endif
#ifdef HAVE_LINUX_MROUTE6_H
#include <linux/mroute6.h>
@@ -90,6 +90,13 @@
*/
#define ARRAY_ELEMENTS(arr) ((sizeof(arr)/sizeof(0[arr])) / ((size_t)(!(sizeof(arr) % sizeof(0[arr])))))
+//(jdefelice) i don't have mroute6.h, so ... approxmiate?
+#ifndef MAXMIFS
+#ifdef MAXVIFS
+#define MAXMIFS MAXVIFS
+#endif
+#endif
+
#define MAX_MC_VIFS MAXVIFS /* = to MAXVIFS from linux/mroute.h */
#define MAX_MC_MIFS MAXMIFS /* = to MAXMIFS from linux/mroute6.h */
diff -r -u -w smcroute-1.99.0/src/parse-conf.c smcroute-1.99.0-working/src/parse-conf.c
--- smcroute-1.99.0/src/parse-conf.c 2012-05-15 02:49:36.000000000 -0400
+++ smcroute-1.99.0-working/src/parse-conf.c 2012-10-15 17:18:39.000000000 -0400
@@ -73,7 +73,7 @@
}
if (strchr(group, ':')) {
-#ifndef HAVE_IPV6_MULTICAST_HOST
+#if !(defined HAVE_IPV6_MULTICAST_HOST && defined HAVE_LINUX_MROUTE6_H)
smclog(LOG_WARNING, 0, "Line %02: Sadly this build of smcroute does not support IPv6.", lineno);
result = 0;
#else
@@ -110,7 +110,7 @@
}
if (strchr(group, ':')) {
-#ifndef HAVE_IPV6_MULTICAST_HOST
+#if !(defined HAVE_IPV6_MULTICAST_HOST && defined HAVE_LINUX_MROUTE6_H)
smclog(LOG_WARNING, 0, "Line %02: Sadly this build of smcroute does not support IPv6.", lineno);
result = 0;
#else
diff -r -u -w smcroute-1.99.0/src/smcroute.c smcroute-1.99.0-working/src/smcroute.c
--- smcroute-1.99.0/src/smcroute.c 2012-05-15 02:49:36.000000000 -0400
+++ smcroute-1.99.0-working/src/smcroute.c 2012-10-15 17:19:41.000000000 -0400
@@ -29,6 +29,8 @@
#include <sys/stat.h>
#include <fcntl.h>
+#include "mclab.h"
+
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
@@ -37,7 +39,6 @@
#include <signal.h>
#include <unistd.h>
-#include "mclab.h"
#include "config.h"
#include "build.h"
@@ -355,7 +356,7 @@
else
result = mcgroup4_leave(ifname, group);
} else { /* IPv6 */
-#ifndef HAVE_IPV6_MULTICAST_HOST
+#if !(defined HAVE_IPV6_MULTICAST_HOST && defined HAVE_LINUX_MROUTE6_H)
smclog(LOG_WARNING, 0, "Not built with IPv6 support.");
#else
struct in6_addr group;
Only in smcroute-1.99.0-working: xsconf.smcroute