iptables: backport fix for "getsockopt failed strangely" (Closes: #3260)
authorJeremy Laine <jeremy.laine@m4x.org>
Sat, 17 Nov 2007 12:50:56 +0000 (12:50 +0000)
committerJeremy Laine <jeremy.laine@m4x.org>
Sat, 17 Nov 2007 12:50:56 +0000 (12:50 +0000)
packages/iptables/files/getsockopt-failed.patch [new file with mode: 0644]
packages/iptables/iptables_1.3.8.bb

diff --git a/packages/iptables/files/getsockopt-failed.patch b/packages/iptables/files/getsockopt-failed.patch
new file mode 100644 (file)
index 0000000..bba9bda
--- /dev/null
@@ -0,0 +1,28 @@
+This patch fixes an issue where iptables throws the following error:
+"getsockopt failed strangely". This patch is taken from the netfilter
+svn (and it's included in iptable 1.4.0rc1):
+
+http://svn.netfilter.org/cgi-bin/viewcvs.cgi?rev=6890&view=rev
+
+--- iptables/iptables.c        2007/04/30 00:01:39     6815
++++ iptables/iptables.c        2007/06/26 15:29:45     6890
+@@ -1158,7 +1158,7 @@
+       max_rev = getsockopt(sockfd, IPPROTO_IP, opt, &rev, &s);
+       if (max_rev < 0) {
+               /* Definitely don't support this? */
+-              if (errno == EPROTONOSUPPORT) {
++              if (errno == ENOENT || errno == EPROTONOSUPPORT) {
+                       close(sockfd);
+                       return 0;
+               } else if (errno == ENOPROTOOPT) {
+--- iptables/ip6tables.c       2007/06/25 14:55:18     6889
++++ iptables/ip6tables.c       2007/06/26 15:29:45     6890
+@@ -1130,7 +1130,7 @@
+       max_rev = getsockopt(sockfd, IPPROTO_IPV6, opt, &rev, &s);
+       if (max_rev < 0) {
+               /* Definitely don't support this? */
+-              if (errno == EPROTONOSUPPORT) {
++              if (errno == ENOENT || errno == EPROTONOSUPPORT) {
+                       close(sockfd);
+                       return 0;
+               } else if (errno == ENOPROTOOPT) {
index eccc1c0..3b63c47 100644 (file)
@@ -3,8 +3,9 @@ HOMEPAGE = "http://www.netfilter.org/"
 SECTION = "console/utils"
 LICENSE = "GPL"
 RRECOMMENDS = "kernel-module-ip-tables kernel-module-iptable-filter"
-PR = "r0"
+PR = "r1"
 SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
+          file://getsockopt-failed.patch;patch=1 \
           "
 
 S = "${WORKDIR}/iptables-${PV}"