[Buildroot] [git commit] iptables: unbreak build without ipv6 support

Peter Korsgaard jacmet at sunsite.dk
Fri Jul 22 05:34:09 UTC 2011


commit: http://git.buildroot.net/buildroot/commit/?id=d1f711a7d24783fcb3fc6ef04b0c723d65058369
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Patch submitted upstream, but so far not committed.

Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
---
 ...libxt_TCPMSS.c-unbreak-build-without-ipv6.patch |   72 ++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 package/iptables/iptables-1.4.11.1-libxt_TCPMSS.c-unbreak-build-without-ipv6.patch

diff --git a/package/iptables/iptables-1.4.11.1-libxt_TCPMSS.c-unbreak-build-without-ipv6.patch b/package/iptables/iptables-1.4.11.1-libxt_TCPMSS.c-unbreak-build-without-ipv6.patch
new file mode 100644
index 0000000..4d3c88f
--- /dev/null
+++ b/package/iptables/iptables-1.4.11.1-libxt_TCPMSS.c-unbreak-build-without-ipv6.patch
@@ -0,0 +1,72 @@
+From b5bfbb9fcac3d4c87bcf6da55ed40d63d456017d Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet at sunsite.dk>
+Date: Fri, 22 Jul 2011 07:19:09 +0200
+Subject: [PATCH] libxt_TCPMSS.c: unbreak build without ipv6 after ea2a02f7
+
+ea2a02f7 (libxt_TCPMSS: use guided option parser) added an netinet/ip6.h
+include, which is not available on systems without ipv6.
+
+The ip.h / ipv6.h includes are only used to know the size of struct
+iphdr / ip6_hdr, so simply hardcode those instead.
+
+Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
+---
+ extensions/libxt_TCPMSS.c |   13 +++++++------
+ 1 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/extensions/libxt_TCPMSS.c b/extensions/libxt_TCPMSS.c
+index 2266326..310dd17 100644
+--- a/extensions/libxt_TCPMSS.c
++++ b/extensions/libxt_TCPMSS.c
+@@ -4,8 +4,6 @@
+ */
+ #include <stdio.h>
+ #include <xtables.h>
+-#include <netinet/ip.h>
+-#include <netinet/ip6.h>
+ #include <linux/netfilter/xt_TCPMSS.h>
+ 
+ enum {
+@@ -13,6 +11,9 @@ enum {
+ 	O_CLAMP_MSS,
+ };
+ 
++#define IPHDRSIZE	20	/* sizeof(struct iphdr) */
++#define IP6HDRSIZE	40	/* sizeof(struct ip6_hdr) */
++
+ struct mssinfo {
+ 	struct xt_entry_target t;
+ 	struct xt_tcpmss_info mss;
+@@ -29,17 +30,17 @@ hdrsize);
+ 
+ static void TCPMSS_help(void)
+ {
+-	__TCPMSS_help(sizeof(struct iphdr));
++	__TCPMSS_help(IPHDRSIZE);
+ }
+ 
+ static void TCPMSS_help6(void)
+ {
+-	__TCPMSS_help(sizeof(struct ip6_hdr));
++	__TCPMSS_help(IP6HDRSIZE);
+ }
+ 
+ static const struct xt_option_entry TCPMSS4_opts[] = {
+ 	{.name = "set-mss", .id = O_SET_MSS, .type = XTTYPE_UINT16,
+-	 .min = 0, .max = UINT16_MAX - sizeof(struct iphdr),
++	 .min = 0, .max = UINT16_MAX - IPHDRSIZE,
+ 	 .flags = XTOPT_PUT, XTOPT_POINTER(struct xt_tcpmss_info, mss)},
+ 	{.name = "clamp-mss-to-pmtu", .id = O_CLAMP_MSS, .type = XTTYPE_NONE},
+ 	XTOPT_TABLEEND,
+@@ -47,7 +48,7 @@ static const struct xt_option_entry TCPMSS4_opts[] = {
+ 
+ static const struct xt_option_entry TCPMSS6_opts[] = {
+ 	{.name = "set-mss", .id = O_SET_MSS, .type = XTTYPE_UINT16,
+-	 .min = 0, .max = UINT16_MAX - sizeof(struct ip6_hdr),
++	 .min = 0, .max = UINT16_MAX - IP6HDRSIZE,
+ 	 .flags = XTOPT_PUT, XTOPT_POINTER(struct xt_tcpmss_info, mss)},
+ 	{.name = "clamp-mss-to-pmtu", .id = O_CLAMP_MSS, .type = XTTYPE_NONE},
+ 	XTOPT_TABLEEND,
+-- 
+1.7.5.4
+
-- 
1.7.3.4



More information about the buildroot mailing list