[PATCH] libxt_TCPMSS.c: unbreak build without ipv6 after ea2a02f7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux