summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel-7.1/freebsd-mcast-eaddrinuse.patch9
-rw-r--r--kernel-7.1/freebsd-mcast-eaddrnotavail.patch13
2 files changed, 22 insertions, 0 deletions
diff --git a/kernel-7.1/freebsd-mcast-eaddrinuse.patch b/kernel-7.1/freebsd-mcast-eaddrinuse.patch
new file mode 100644
index 0000000..2c1f1fb
--- /dev/null
+++ b/kernel-7.1/freebsd-mcast-eaddrinuse.patch
@@ -0,0 +1,9 @@
+--- sys/netinet/in_mcast.c.orig 2009-09-08 16:09:46.000000000 +0000
++++ sys/netinet/in_mcast.c 2009-09-10 23:27:14.000000000 +0000
+@@ -1137,5 +1142,5 @@
+ * already an ASM member) is an error.
+ */
+- error = EINVAL;
++ error = EADDRINUSE;
+ } else {
+ /*
diff --git a/kernel-7.1/freebsd-mcast-eaddrnotavail.patch b/kernel-7.1/freebsd-mcast-eaddrnotavail.patch
new file mode 100644
index 0000000..c821233
--- /dev/null
+++ b/kernel-7.1/freebsd-mcast-eaddrnotavail.patch
@@ -0,0 +1,13 @@
+--- sys/netinet/in_mcast.c.orig 2008-11-25 02:59:29.000000000 +0000
++++ sys/netinet/in_mcast.c 2009-09-10 23:37:09.000000000 +0000
+@@ -1265,6 +1265,9 @@
+ }
+
+- if (gsa->sin.sin_addr.s_addr != INADDR_ANY)
++ if (gsa->sin.sin_addr.s_addr != INADDR_ANY) {
+ INADDR_TO_IFP(mreqs.imr_interface, ifp);
++ if (ifp == NULL)
++ return (EADDRNOTAVAIL);
++ }
+
+ #ifdef DIAGNOSTIC