packages: iptables/iptables-20070806.patch, iptables/iptables-account.patch...

gotar gotar at pld-linux.org
Mon Aug 30 22:55:10 CEST 2010


Author: gotar                        Date: Mon Aug 30 20:55:10 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- ROUTE target removed from kernel headers, will no longer compile,
- build layer7, old-1.3.7 and 20070806 with dist_kernel only (require
  additional headers except for IPV4OPTSSTRIP, which may be moved to
  separate patch if anyone needs to compile it on his own kernel), as...
- ...*-test files are no longer used for check if to build

---- Files affected:
packages/iptables:
   iptables-20070806.patch (1.9 -> 1.10) , iptables-account.patch (1.4 -> 1.5) , iptables-layer7.patch (1.5 -> 1.6) , iptables-old-1.3.7.patch (1.5 -> 1.6) , iptables-stealth.patch (1.1 -> 1.2) , iptables-tproxy.patch (1.4 -> 1.5) , iptables.spec (1.280 -> 1.281) 

---- Diffs:

================================================================
Index: packages/iptables/iptables-20070806.patch
diff -u packages/iptables/iptables-20070806.patch:1.9 packages/iptables/iptables-20070806.patch:1.10
--- packages/iptables/iptables-20070806.patch:1.9	Thu Mar 26 10:12:27 2009
+++ packages/iptables/iptables-20070806.patch	Mon Aug 30 22:55:01 2010
@@ -1,17 +1,3 @@
-diff -urN iptables-1.3.8/extensions/.IPV4OPTSSTRIP-test iptables/extensions/.IPV4OPTSSTRIP-test
---- iptables-1.3.8/extensions/.IPV4OPTSSTRIP-test	1970-01-01 01:00:00.000000000 +0100
-+++ iptables/extensions/.IPV4OPTSSTRIP-test	2006-12-12 11:34:45.000000000 +0100
-@@ -0,0 +1,3 @@
-+#!/bin/sh
-+# True if IPV4OPTSSTRIP patch is applied.
-+[ -f $KERNEL_DIR/net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c ] && echo IPV4OPTSSTRIP
-diff -urN iptables-1.3.8/extensions/.ipv4options-test iptables/extensions/.ipv4options-test
---- iptables-1.3.8/extensions/.ipv4options-test	1970-01-01 01:00:00.000000000 +0100
-+++ iptables/extensions/.ipv4options-test	2006-12-12 11:34:45.000000000 +0100
-@@ -0,0 +1,3 @@
-+#!/bin/sh
-+# True if ipv4options is applied.
-+[ -f $KERNEL_DIR/include/linux/netfilter_ipv4/ipt_ipv4options.h ] && echo ipv4options
 diff -urN iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.c iptables/extensions/libipt_IPV4OPTSSTRIP.c
 --- iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.c	1970-01-01 01:00:00.000000000 +0100
 +++ iptables/extensions/libipt_IPV4OPTSSTRIP.c	2006-12-12 11:34:45.000000000 +0100

================================================================
Index: packages/iptables/iptables-account.patch
diff -u packages/iptables/iptables-account.patch:1.4 packages/iptables/iptables-account.patch:1.5
--- packages/iptables/iptables-account.patch:1.4	Thu Mar 26 10:12:28 2009
+++ packages/iptables/iptables-account.patch	Mon Aug 30 22:55:02 2010
@@ -280,8 +280,3 @@
 +{
 +  xtables_register_match(&account);
 +}
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/.account-test	2007-09-09 02:11:13.530174250 +0200
-@@ -0,0 +1,2 @@
-+#!/bin/sh
-+[ -f $KERNEL_DIR/net/ipv4/netfilter/ipt_account.c ] && echo account

================================================================
Index: packages/iptables/iptables-layer7.patch
diff -u packages/iptables/iptables-layer7.patch:1.5 packages/iptables/iptables-layer7.patch:1.6
--- packages/iptables/iptables-layer7.patch:1.5	Mon Jun  7 22:41:25 2010
+++ packages/iptables/iptables-layer7.patch	Mon Aug 30 22:55:03 2010
@@ -1,9 +1,3 @@
-diff -Nurp iptables-1.3.8/extensions/.layer7-test iptables-1.3.8-layer7/extensions/.layer7-test
---- iptables-1.3.8/extensions/.layer7-test	1969-12-31 18:00:00.000000000 -0600
-+++ iptables-1.3.8-layer7/extensions/.layer7-test	2007-07-04 19:08:07.000000000 -0500
-@@ -0,0 +1,2 @@
-+#! /bin/sh
-+[ -f $KERNEL_DIR/include/linux/netfilter/xt_layer7.h ] && echo layer7
 diff -Nurp iptables-1.3.8/extensions/libipt_layer7.c iptables-1.3.8-layer7/extensions/libipt_layer7.c
 --- iptables-1.3.8/extensions/libipt_layer7.c	1969-12-31 18:00:00.000000000 -0600
 +++ iptables-1.3.8-layer7/extensions/libipt_layer7.c	2007-07-04 19:23:04.000000000 -0500

================================================================
Index: packages/iptables/iptables-old-1.3.7.patch
diff -u packages/iptables/iptables-old-1.3.7.patch:1.5 packages/iptables/iptables-old-1.3.7.patch:1.6
--- packages/iptables/iptables-old-1.3.7.patch:1.5	Mon Jun  7 22:41:25 2010
+++ packages/iptables/iptables-old-1.3.7.patch	Mon Aug 30 22:55:03 2010
@@ -373,567 +373,3 @@
 +	xtables_register_match(&rpcstruct);
 +}
 +
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/libipt_ROUTE.c	2006-12-04 12:15:20.000000000 +0100
-@@ -0,0 +1,264 @@
-+/* Shared library add-on to iptables to add ROUTE target support.
-+ * Author : Cedric de Launois, <delaunois at info.ucl.ac.be>
-+ * v 1.11 2004/11/23
-+ */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <getopt.h>
-+#include <iptables.h>
-+#include <net/if.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <linux/netfilter_ipv4/ip_tables.h>
-+#include <linux/netfilter_ipv4/ipt_ROUTE.h>
-+
-+/* compile IPT_ROUTE_TEE support even if kernel headers are unpatched */
-+#ifndef IPT_ROUTE_TEE
-+#define IPT_ROUTE_TEE		0x02
-+#endif
-+
-+/* Function which prints out usage message. */
-+static void
-+help(void)
-+{
-+	printf(
-+"ROUTE target v%s options:\n"
-+"    --oif   \tifname \t\tRoute packet through `ifname' network interface\n"
-+"    --iif   \tifname \t\tChange packet's incoming interface to `ifname'\n"
-+"    --gw    \tip     \t\tRoute packet via this gateway `ip'\n"
-+"    --continue\t     \t\tRoute packet and continue traversing the\n"
-+"            \t       \t\trules. Not valid with --iif or --tee.\n"
-+"    --tee\t  \t\tDuplicate packet, route the duplicate,\n"
-+"            \t       \t\tcontinue traversing with original packet.\n"
-+"            \t       \t\tNot valid with --iif or --continue.\n"
-+"\n",
-+"1.11");
-+}
-+
-+static struct option opts[] = {
-+	{ "oif", 1, 0, '1' },
-+	{ "iif", 1, 0, '2' },
-+	{ "gw", 1, 0, '3' },
-+	{ "continue", 0, 0, '4' },
-+	{ "tee", 0, 0, '5' },
-+	{ 0 }
-+};
-+
-+/* Initialize the target. */
-+static void
-+init(struct xt_entry_target *t)
-+{
-+	struct ipt_route_target_info *route_info = 
-+		(struct ipt_route_target_info*)t->data;
-+
-+	route_info->oif[0] = '\0';
-+	route_info->iif[0] = '\0';
-+	route_info->gw = 0;
-+	route_info->flags = 0;
-+}
-+
-+
-+#define IPT_ROUTE_OPT_OIF      0x01
-+#define IPT_ROUTE_OPT_IIF      0x02
-+#define IPT_ROUTE_OPT_GW       0x04
-+#define IPT_ROUTE_OPT_CONTINUE 0x08
-+#define IPT_ROUTE_OPT_TEE      0x10
-+
-+/* Function which parses command options; returns true if it
-+   ate an option */
-+static int
-+parse(int c, char **argv, int invert, unsigned int *flags,
-+      const void *entry,
-+      struct xt_entry_target **target)
-+{
-+	struct ipt_route_target_info *route_info = 
-+		(struct ipt_route_target_info*)(*target)->data;
-+
-+	switch (c) {
-+	case '1':
-+		if (*flags & IPT_ROUTE_OPT_OIF)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --oif twice");
-+
-+		if (*flags & IPT_ROUTE_OPT_IIF)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't use --oif and --iif together");
-+
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unexpected `!' after --oif");
-+
-+		if (strlen(optarg) > sizeof(route_info->oif) - 1)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Maximum interface name length %lu",
-+				   sizeof(route_info->oif) - 1);
-+
-+		strcpy(route_info->oif, optarg);
-+		*flags |= IPT_ROUTE_OPT_OIF;
-+		break;
-+
-+	case '2':
-+		if (*flags & IPT_ROUTE_OPT_IIF)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --iif twice");
-+
-+		if (*flags & IPT_ROUTE_OPT_OIF)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't use --iif and --oif together");
-+
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unexpected `!' after --iif");
-+
-+		if (strlen(optarg) > sizeof(route_info->iif) - 1)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Maximum interface name length %lu",
-+				   sizeof(route_info->iif) - 1);
-+
-+		strcpy(route_info->iif, optarg);
-+		*flags |= IPT_ROUTE_OPT_IIF;
-+		break;
-+
-+	case '3':
-+		if (*flags & IPT_ROUTE_OPT_GW)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --gw twice");
-+
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unexpected `!' after --gw");
-+
-+		if (!inet_aton(optarg, (struct in_addr*)&route_info->gw)) {
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Invalid IP address %s",
-+				   optarg);
-+		}
-+
-+		*flags |= IPT_ROUTE_OPT_GW;
-+		break;
-+
-+	case '4':
-+		if (*flags & IPT_ROUTE_OPT_CONTINUE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --continue twice");
-+		if (*flags & IPT_ROUTE_OPT_TEE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --continue AND --tee");
-+
-+		route_info->flags |= IPT_ROUTE_CONTINUE;
-+		*flags |= IPT_ROUTE_OPT_CONTINUE;
-+
-+		break;
-+
-+	case '5':
-+		if (*flags & IPT_ROUTE_OPT_TEE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --tee twice");
-+		if (*flags & IPT_ROUTE_OPT_CONTINUE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --tee AND --continue");
-+
-+		route_info->flags |= IPT_ROUTE_TEE;
-+		*flags |= IPT_ROUTE_OPT_TEE;
-+
-+		break;
-+
-+	default:
-+		return 0;
-+	}
-+
-+	return 1;
-+}
-+
-+
-+static void
-+final_check(unsigned int flags)
-+{
-+	if (!flags)
-+		xtables_error(PARAMETER_PROBLEM,
-+		           "ROUTE target: oif, iif or gw option required");
-+
-+	if ((flags & (IPT_ROUTE_OPT_CONTINUE|IPT_ROUTE_OPT_TEE)) && (flags & IPT_ROUTE_OPT_IIF))
-+		xtables_error(PARAMETER_PROBLEM,
-+			   "ROUTE target: can't continue traversing the rules with iif option");
-+}
-+
-+
-+/* Prints out the targinfo. */
-+static void
-+print(const void *ip,
-+      const struct xt_entry_target *target,
-+      int numeric)
-+{
-+	const struct ipt_route_target_info *route_info
-+		= (const struct ipt_route_target_info *)target->data;
-+
-+	printf("ROUTE ");
-+
-+	if (route_info->oif[0])
-+		printf("oif:%s ", route_info->oif);
-+
-+	if (route_info->iif[0])
-+		printf("iif:%s ", route_info->iif);
-+
-+	if (route_info->gw) {
-+		struct in_addr ip = { route_info->gw };
-+		printf("gw:%s ", inet_ntoa(ip));
-+	}
-+
-+	if (route_info->flags & IPT_ROUTE_CONTINUE)
-+		printf("continue");
-+
-+	if (route_info->flags & IPT_ROUTE_TEE)
-+		printf("tee");
-+
-+}
-+
-+
-+static void save(const void *ip, 
-+		 const struct xt_entry_target *target)
-+{
-+	const struct ipt_route_target_info *route_info
-+		= (const struct ipt_route_target_info *)target->data;
-+
-+	if (route_info->oif[0])
-+		printf("--oif %s ", route_info->oif);
-+
-+	if (route_info->iif[0])
-+		printf("--iif %s ", route_info->iif);
-+
-+	if (route_info->gw) {
-+		struct in_addr ip = { route_info->gw };
-+		printf("--gw %s ", inet_ntoa(ip));
-+	}
-+
-+	if (route_info->flags & IPT_ROUTE_CONTINUE)
-+		printf("--continue ");
-+
-+	if (route_info->flags & IPT_ROUTE_TEE)
-+		printf("--tee ");
-+}
-+
-+
-+static struct xtables_target route = { 
-+	.next		= NULL,
-+	.name		= "ROUTE",
-+	.version	= XTABLES_VERSION,
-+	.size		= IPT_ALIGN(sizeof(struct ipt_route_target_info)),
-+	.userspacesize	= IPT_ALIGN(sizeof(struct ipt_route_target_info)),
-+	.help		= &help,
-+	.init		= &init,
-+	.parse		= &parse,
-+	.final_check	= &final_check,
-+	.print		= &print,
-+	.save		= &save,
-+	.extra_opts	= opts
-+};
-+
-+void _init(void)
-+{
-+	xtables_register_target(&route);
-+}
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/libipt_ROUTE.man	2006-12-04 12:15:20.000000000 +0100
-@@ -0,0 +1,18 @@
-+This is used to explicitly override the core network stack's routing decision.
-+.B mangle
-+table.
-+.TP
-+.BI "--oif " "ifname"
-+Route the packet through `ifname' network interface
-+.TP
-+.BI "--iif " "ifname"
-+Change the packet's incoming interface to `ifname'
-+.TP
-+.BI "--gw " "IP_address"
-+Route the packet via this gateway
-+.TP
-+.BI "--continue "
-+Behave like a non-terminating target and continue traversing the rules.  Not valid in combination with `--iif' or `--tee'
-+.TP
-+.BI "--tee "
-+Make a copy of the packet, and route that copy to the given destination. For the original, uncopied packet, behave like a non-terminating target and continue traversing the rules.  Not valid in combination with `--iif' or `--continue'
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/.ROUTE-test	2006-12-04 12:15:19.000000000 +0100
-@@ -0,0 +1,2 @@
-+#! /bin/sh
-+[ -f $KERNEL_DIR/net/ipv4/netfilter/ipt_ROUTE.c ] && echo ROUTE
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/.ROUTE-test6	2006-12-04 12:15:19.000000000 +0100
-@@ -0,0 +1,2 @@
-+#! /bin/sh
-+[ -f $KERNEL_DIR/include/linux/netfilter_ipv6/ip6t_ROUTE.h ] && echo ROUTE
---- /dev/null	2005-12-16 15:49:47.000000000 +0100
-+++ iptables-1.3.8/extensions/libip6t_ROUTE.c	2006-12-04 12:15:20.000000000 +0100
-@@ -0,0 +1,240 @@
-+/* Shared library add-on to iptables to add ROUTE v6 target support.
-+ * Author : Cedric de Launois, <delaunois at info.ucl.ac.be>
-+ * v 1.1 2004/11/23
-+ */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <getopt.h>
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <arpa/inet.h>
-+
-+#include <ip6tables.h>
-+#include <linux/netfilter_ipv6/ip6_tables.h>
-+#include <linux/netfilter_ipv6/ip6t_ROUTE.h>
-+
-+/* compile IP6T_ROUTE_TEE support even if kernel headers are unpatched */
-+#ifndef IP6T_ROUTE_TEE
-+#define IP6T_ROUTE_TEE		0x02
-+#endif
-+
-+/* Function which prints out usage message. */
-+static void
-+help(void)
-+{
-+	printf(
-+"ROUTE target v%s options:\n"
-+"    --oif   \tifname \t\tRoute the packet through `ifname' network interface\n"
-+"    --gw    \tip     \t\tRoute the packet via this gateway\n"
-+"    --continue\t     \t\tRoute packet and continue traversing the\n"
-+"            \t       \t\trules. Not valid with --iif or --tee.\n"
-+"    --tee\t  \t\tDuplicate packet, route the duplicate,\n"
-+"            \t       \t\tcontinue traversing with original packet.\n"
-+"            \t       \t\tNot valid with --iif or --continue.\n"
-+"\n",
-+"1.1");
-+}
-+
-+static struct option opts[] = {
-+	{ "oif", 1, 0, '1' },
-+	{ "iif", 1, 0, '2' },
-+	{ "gw", 1, 0, '3' },
-+	{ "continue", 0, 0, '4' },
-+	{ "tee", 0, 0, '5' },
-+	{ 0 }
-+};
-+
-+/* Initialize the target. */
-+static void
-+init(struct xt_entry_target *t)
-+{
-+	struct ip6t_route_target_info *route_info = 
-+		(struct ip6t_route_target_info*)t->data;
-+
-+	route_info->oif[0] = '\0';
-+	route_info->iif[0] = '\0';
-+	route_info->gw[0] = 0;
-+	route_info->gw[1] = 0;
-+	route_info->gw[2] = 0;
-+	route_info->gw[3] = 0;
-+	route_info->flags = 0;
-+}
-+
-+
-+#define IP6T_ROUTE_OPT_OIF      0x01
-+#define IP6T_ROUTE_OPT_IIF      0x02
-+#define IP6T_ROUTE_OPT_GW       0x04
-+#define IP6T_ROUTE_OPT_CONTINUE 0x08
-+#define IP6T_ROUTE_OPT_TEE      0x10
-+
-+/* Function which parses command options; returns true if it
-+   ate an option */
-+static int
-+parse(int c, char **argv, int invert, unsigned int *flags,
-+      const void *entry,
-+      struct xt_entry_target **target)
-+{
-+	struct ip6t_route_target_info *route_info = 
-+		(struct ip6t_route_target_info*)(*target)->data;
-+
-+	switch (c) {
-+	case '1':
-+		if (*flags & IP6T_ROUTE_OPT_OIF)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --oif twice");
-+
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unexpected `!' after --oif");
-+
-+		if (strlen(optarg) > sizeof(route_info->oif) - 1)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Maximum interface name length %lu",
-+				   sizeof(route_info->oif) - 1);
-+
-+		strcpy(route_info->oif, optarg);
-+		*flags |= IP6T_ROUTE_OPT_OIF;
-+		break;
-+
-+	case '2':
-+		xtables_error(PARAMETER_PROBLEM,
-+			   "--iif option not implemented");
-+		break;
-+
-+	case '3':
-+		if (*flags & IP6T_ROUTE_OPT_GW)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --gw twice");
-+
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unexpected `!' after --gw");
-+
-+		if (!inet_pton(AF_INET6, optarg, (struct in6_addr*)&route_info->gw)) {
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Invalid IPv6 address %s",
-+				   optarg);
-+		}
-+
-+		*flags |= IP6T_ROUTE_OPT_GW;
-+		break;
-+
-+	case '4':
-+		if (*flags & IP6T_ROUTE_OPT_CONTINUE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --continue twice");
-+		if (*flags & IP6T_ROUTE_OPT_TEE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --continue AND --tee");
-+
-+		route_info->flags |= IP6T_ROUTE_CONTINUE;
-+		*flags |= IP6T_ROUTE_OPT_CONTINUE;
-+
-+		break;
-+
-+	case '5':
-+		if (*flags & IP6T_ROUTE_OPT_TEE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --tee twice");
-+		if (*flags & IP6T_ROUTE_OPT_CONTINUE)
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Can't specify --tee AND --continue");
-+
-+		route_info->flags |= IP6T_ROUTE_TEE;
-+		*flags |= IP6T_ROUTE_OPT_TEE;
-+
-+		break;
-+
-+	default:
-+		return 0;
-+	}
-+
-+	return 1;
-+}
-+
-+
-+static void
-+final_check(unsigned int flags)
-+{
-+	if (!flags)
-+		xtables_error(PARAMETER_PROBLEM,
-+		           "ROUTE target: oif or gw option required");
-+}
-+
-+
-+/* Prints out the targinfo. */
-+static void
-+print(const void *ip,
-+      const struct xt_entry_target *target,
-+      int numeric)
-+{
-+	const struct ip6t_route_target_info *route_info
-+		= (const struct ip6t_route_target_info *)target->data;
-+
-+	printf("ROUTE ");
-+
-+	if (route_info->oif[0])
-+		printf("oif:%s ", route_info->oif);
-+
-+	if (route_info->gw[0] 
-+	    || route_info->gw[1] 
-+	    || route_info->gw[2] 
-+	    || route_info->gw[3]) {
-+		char address[INET6_ADDRSTRLEN];
-+		printf("gw:%s ", inet_ntop(AF_INET6, route_info->gw, address, INET6_ADDRSTRLEN));
-+	}
-+
-+	if (route_info->flags & IP6T_ROUTE_CONTINUE)
-+		printf("continue");
-+
-+	if (route_info->flags & IP6T_ROUTE_TEE)
-+		printf("tee");
-+
-+}
-+
-+
-+static void save(const void *ip, 
-+		 const struct xt_entry_target *target)
-+{
-+	const struct ip6t_route_target_info *route_info
-+		= (const struct ip6t_route_target_info *)target->data;
-+
-+	if (route_info->oif[0])
-+		printf("--oif %s ", route_info->oif);
-+
-+	if (route_info->gw[0] 
-+	    || route_info->gw[1] 
-+	    || route_info->gw[2] 
-+	    || route_info->gw[3]) {
-+		char address[INET6_ADDRSTRLEN];
-+		printf("--gw %s ", inet_ntop(AF_INET6, route_info->gw, address, INET6_ADDRSTRLEN));
-+	}
-+
-+	if (route_info->flags & IP6T_ROUTE_CONTINUE)
-+		printf("--continue ");
-+
-+	if (route_info->flags & IP6T_ROUTE_TEE)
-+		printf("--tee ");
-+}
-+
-+
-+static struct xtables_target route = { 
-+	.name 		= "ROUTE",
-+	.version	= XTABLES_VERSION,
-+	.size		= IP6T_ALIGN(sizeof(struct ip6t_route_target_info)),
-+	.userspacesize	= IP6T_ALIGN(sizeof(struct ip6t_route_target_info)),
-+	.help		= &help,
-+	.init		= &init,
-+	.parse		= &parse,
-+	.final_check	= &final_check,
-+	.print		= &print,
-+	.save		= &save,
-+	.extra_opts	= opts,
-+};
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-20070806.patch?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-account.patch?r1=1.4&r2=1.5&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-layer7.patch?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-old-1.3.7.patch?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-stealth.patch?r1=1.1&r2=1.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables-tproxy.patch?r1=1.4&r2=1.5&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/iptables/iptables.spec?r1=1.280&r2=1.281&f=u



More information about the pld-cvs-commit mailing list