Hello there,

This is my first serious post to blfs-* ML.

I have a running LFS 6.4 (kernel version 2.6.27.4) system and I'm working on 
BLFS 6.3 (stable).
I ran into trouble with the iptables-1.3.8 package.

In several places there were errors reulting from changes in header files. I 
finally managed compiling the package successfully. Just in case someone else 
has comparable problems, I'm sharing my patch.

Is it likely that I'll run into more trouble, especially with Xorg?

Cheers,
Jan
--
[1] http://www.linuxfromscratch.org/blfs/view/stable/postlfs/iptables.html

--- iptables-1.3.8.orig/extensions/libipt_string.c	2007-02-13 19:20:19.000000000 +0100
+++ iptables-1.3.8/extensions/libipt_string.c	2009-12-18 19:34:55.000000000 +0100
@@ -205,7 +205,7 @@
 		check_inverse(optarg, &invert, &optind, 0);
 		parse_string(argv[optind-1], stringinfo);
 		if (invert)
-			stringinfo->invert = 1;
+			stringinfo->u.v0.invert = 1;
 		stringinfo->patlen=strlen((char *)&stringinfo->pattern);
 		*flags |= STRING;
 		break;
@@ -218,7 +218,7 @@
 		check_inverse(optarg, &invert, &optind, 0);
 		parse_hex_string(argv[optind-1], stringinfo);  /* sets length */
 		if (invert)
-			stringinfo->invert = 1;
+			stringinfo->u.v0.invert = 1;
 		*flags |= STRING;
 		break;
 
@@ -297,10 +297,10 @@
 	    (const struct ipt_string_info*) match->data;
 
 	if (is_hex_string(info->pattern, info->patlen)) {
-		printf("STRING match %s", (info->invert) ? "!" : "");
+		printf("STRING match %s", (info->u.v0.invert) ? "!" : "");
 		print_hex_string(info->pattern, info->patlen);
 	} else {
-		printf("STRING match %s", (info->invert) ? "!" : "");
+		printf("STRING match %s", (info->u.v0.invert) ? "!" : "");
 		print_string(info->pattern, info->patlen);
 	}
 	printf("ALGO name %s ", info->algo);
@@ -319,10 +319,10 @@
 	    (const struct ipt_string_info*) match->data;
 
 	if (is_hex_string(info->pattern, info->patlen)) {
-		printf("--hex-string %s", (info->invert) ? "! ": "");
+		printf("--hex-string %s", (info->u.v0.invert) ? "! ": "");
 		print_hex_string(info->pattern, info->patlen);
 	} else {
-		printf("--string %s", (info->invert) ? "! ": "");
+		printf("--string %s", (info->u.v0.invert) ? "! ": "");
 		print_string(info->pattern, info->patlen);
 	}
 	printf("--algo %s ", info->algo);
--- iptables-1.3.8.orig/extensions/libip6t_sctp.c	2007-01-23 13:50:00.000000000 +0100
+++ iptables-1.3.8/extensions/libip6t_sctp.c	2009-12-18 19:46:07.000000000 +0100
@@ -14,6 +14,7 @@
 #include <netdb.h>
 #include <ctype.h>
 
+#include <stdbool.h>
 #include <ip6tables.h>
 #include <linux/netfilter_ipv6/ip6_tables.h>
 
--- iptables-1.3.8.orig/libiptc/libip6tc.c	2007-01-23 13:49:53.000000000 +0100
+++ iptables-1.3.8/libiptc/libip6tc.c	2009-12-18 19:50:40.000000000 +0100
@@ -113,7 +113,7 @@
 #include "libiptc.c"
 
 #define BIT6(a, l) \
- ((ntohl(a->in6_u.u6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
+ ((ntohl(a->__in6_u.__u6_addr32[(l) / 32]) >> (31 - ((l) & 31))) & 1)
 
 int
 ipv6_prefix_length(const struct in6_addr *a)
--- iptables-1.3.8.orig/ip6tables.c	2007-06-25 01:26:35.000000000 +0200
+++ iptables-1.3.8/ip6tables.c	2009-12-18 20:32:16.000000000 +0100
@@ -730,7 +730,7 @@
 	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].__in6_u.__u6_addr32[k] &= maskp->__in6_u.__u6_addr32[k];
 		j++;
 		for (k = 0; k < j - 1; k++) {
 			if (IN6_ARE_ADDR_EQUAL(&addrp[k], &addrp[j - 1])) {

Attachment: signature.asc
Description: This is a digitally signed message part.

-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to