[oe-commits] org.oe.dev Make iptables buildable on latest eglibc. This patch will also be needed with glibc 2.8 onwards.

khem commit oe at amethyst.openembedded.net
Tue Mar 18 02:30:50 UTC 2008


Make iptables buildable on latest eglibc. This patch will also be needed with glibc 2.8 onwards.

Author: khem at openembedded.org
Branch: org.openembedded.dev
Revision: 0087556fe660bd34f5d1893fc4f248c7ee29f059
ViewMTN: http://monotone.openembedded.org/revision/info/0087556fe660bd34f5d1893fc4f248c7ee29f059
Files:
1
packages/iptables/files/iptables-use-s6_addr32.patch
packages/iptables/iptables_1.3.8.bb
Diffs:

#
# mt diff -r62c5986fc4d88b206843bf2fb69cd9f9b4679f9f -r0087556fe660bd34f5d1893fc4f248c7ee29f059
#
#
#
# add_file "packages/iptables/files/iptables-use-s6_addr32.patch"
#  content [4408ee4af1e9c96288f1f4783afbd6dc18893459]
# 
# patch "packages/iptables/iptables_1.3.8.bb"
#  from [83d804879e6ab91717d2adb82237eb57d5a4f291]
#    to [1aaec8093c54dfedc012edf2063335ac084950cd]
#
============================================================
--- packages/iptables/files/iptables-use-s6_addr32.patch	4408ee4af1e9c96288f1f4783afbd6dc18893459
+++ packages/iptables/files/iptables-use-s6_addr32.patch	4408ee4af1e9c96288f1f4783afbd6dc18893459
@@ -0,0 +1,32 @@
+This patch fixes a compile error which is demonstrated with glibc/eglibc cvs
+the union ip6_u has been renamed inside glibc header in.h here
+http://sourceware.org/cgi-bin/cvsweb.cgi/libc/inet/netinet/in.h.diff?r1=1.55&r2=1.56&cvsroot=glibc
+We should be really using
+the defines that are provided in inet/netinet/in.h to access the members instead.
+ 
+Index: iptables-1.3.8/ip6tables.c
+===================================================================
+--- iptables-1.3.8.orig/ip6tables.c
++++ iptables-1.3.8/ip6tables.c
+@@ -730,7 +730,7 @@ parse_hostnetworkmask(const char *name, 
+ 	for (i = 0, j = 0; i < n; i++) {
+ 		int k;
+ 		for (k = 0; k < 4; k++)
+-			addrp[j].in6_u.u6_addr32[k] &= maskp->in6_u.u6_addr32[k];
++			addrp[j].s6_addr32[k] &= maskp->s6_addr32[k];
+ 		j++;
+ 		for (k = 0; k < j - 1; k++) {
+ 			if (IN6_ARE_ADDR_EQUAL(&addrp[k], &addrp[j - 1])) {
+Index: iptables-1.3.8/libiptc/libip6tc.c
+===================================================================
+--- iptables-1.3.8.orig/libiptc/libip6tc.c
++++ iptables-1.3.8/libiptc/libip6tc.c
+@@ -113,7 +113,7 @@ typedef unsigned int socklen_t;
+ #include "libiptc.c"
+ 
+ #define BIT6(a, l) \
+- ((ntohl(a->in6_u.u6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
++ ((ntohl(a->s6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
+ 
+ int
+ ipv6_prefix_length(const struct in6_addr *a)
============================================================
--- packages/iptables/iptables_1.3.8.bb	83d804879e6ab91717d2adb82237eb57d5a4f291
+++ packages/iptables/iptables_1.3.8.bb	1aaec8093c54dfedc012edf2063335ac084950cd
@@ -3,9 +3,10 @@ RRECOMMENDS = "kernel-module-ip-tables k
 SECTION = "console/utils"
 LICENSE = "GPL"
 RRECOMMENDS = "kernel-module-ip-tables kernel-module-iptable-filter"
-PR = "r1"
+PR = "r2"
 SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
           file://getsockopt-failed.patch;patch=1 \
+          file://iptables-use-s6_addr32.patch;patch=1 \
           "
 
 S = "${WORKDIR}/iptables-${PV}"






More information about the Openembedded-commits mailing list