netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* iptables: Mostly Parser Fixes
@ 2012-07-28 17:21 Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 1/7] iptables-restore: warn about -t in rule lines Jan Engelhardt
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel


/*
 * Please review and if ok, merge.
 */

The following changes since commit 44191bdbd71e685fba9eab864b9df25e63905220:

  iptables-restore: move code to add_param_to_argv, cleanup (fix gcc-4.7) (2012-07-25 13:04:52 +0200)

are available in the git repository at:
  git://git.inai.de/iptables master

Jan Engelhardt (7):
      iptables-restore: warn about -t in rule lines
      doc: grammatical updates to libxt_SET
      libxt_u32: do bounds checking for @'s operands
      libxt_devgroup: consolidate devgroup specification parsing
      libxt_devgroup: guard against negative numbers
      libxt_LED: guard against negative numbers
      libxt_*limit: avoid division by zero

 extensions/libxt_LED.c       |    7 +++-
 extensions/libxt_SET.man     |   12 +++---
 extensions/libxt_devgroup.c  |   72 ++++++++++++++++++-----------------------
 extensions/libxt_hashlimit.c |   17 +++++++---
 extensions/libxt_limit.c     |   17 +++++++---
 extensions/libxt_u32.c       |   12 ++-----
 iptables/ip6tables-restore.c |    3 +-
 iptables/iptables-restore.c  |    3 +-
 8 files changed, 73 insertions(+), 70 deletions(-)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/7] iptables-restore: warn about -t in rule lines
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-31 11:39   ` Pablo Neira Ayuso
  2012-07-28 17:21 ` [PATCH 2/7] doc: grammatical updates to libxt_SET Jan Engelhardt
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

save-restore syntax uses *table, not -t table.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 iptables/ip6tables-restore.c |    3 +--
 iptables/iptables-restore.c  |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/iptables/ip6tables-restore.c b/iptables/ip6tables-restore.c
index 3894d68..614ff0f 100644
--- a/iptables/ip6tables-restore.c
+++ b/iptables/ip6tables-restore.c
@@ -417,8 +417,7 @@ int ip6tables_restore_main(int argc, char *argv[])
 					if (!strncmp(param_buffer, "-t", 2)
                                             || !strncmp(param_buffer, "--table", 8)) {
 						xtables_error(PARAMETER_PROBLEM,
-						   "Line %u seems to have a "
-						   "-t table option.\n", line);
+						   "The -t option (seen in line %u) cannot be used in ip6tables-restore.\n", line);
 						exit(1);
 					}
 
diff --git a/iptables/iptables-restore.c b/iptables/iptables-restore.c
index 034f960..294e4b8 100644
--- a/iptables/iptables-restore.c
+++ b/iptables/iptables-restore.c
@@ -417,8 +417,7 @@ iptables_restore_main(int argc, char *argv[])
 					if (!strncmp(param_buffer, "-t", 2)
 					    || !strncmp(param_buffer, "--table", 8)) {
 						xtables_error(PARAMETER_PROBLEM,
-						   "Line %u seems to have a "
-						   "-t table option.\n", line);
+						   "The -t option (seen in line %u) cannot be used in iptables-restore.\n", line);
 						exit(1);
 					}
 
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/7] doc: grammatical updates to libxt_SET
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 1/7] iptables-restore: warn about -t in rule lines Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 3/7] libxt_u32: do bounds checking for @'s operands Jan Engelhardt
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

Cherry-picked these from recent patches from Mr Dash Four.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_SET.man |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/extensions/libxt_SET.man b/extensions/libxt_SET.man
index 63eb383..c35ba93 100644
--- a/extensions/libxt_SET.man
+++ b/extensions/libxt_SET.man
@@ -1,24 +1,24 @@
-This modules adds and/or deletes entries from IP sets which can be defined 
+This module adds and/or deletes entries from IP sets which can be defined
 by ipset(8).
 .TP
 \fB\-\-add\-set\fP \fIsetname\fP \fIflag\fP[\fB,\fP\fIflag\fP...]
-add the address(es)/port(s) of the packet to the sets
+add the address(es)/port(s) of the packet to the set
 .TP
 \fB\-\-del\-set\fP \fIsetname\fP \fIflag\fP[\fB,\fP\fIflag\fP...]
-delete the address(es)/port(s) of the packet from the sets
+delete the address(es)/port(s) of the packet from the set
 .IP
-where flags are
+where \fIflag\fP(s) are
 .BR "src"
 and/or
 .BR "dst"
 specifications and there can be no more than six of them.
 .TP
 \fB\-\-timeout\fP \fIvalue\fP
-when adding entry, the timeout value to use instead of the default
+when adding an entry, the timeout value to use instead of the default
 one from the set definition
 .TP
 \fB\-\-exist\fP
-when adding entry if it already exists, reset the timeout value
+when adding an entry if it already exists, reset the timeout value
 to the specified one or to the default from the set definition
 .PP
 Use of -j SET requires that ipset kernel support is provided, which, for
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/7] libxt_u32: do bounds checking for @'s operands
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 1/7] iptables-restore: warn about -t in rule lines Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 2/7] doc: grammatical updates to libxt_SET Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 4/7] libxt_devgroup: consolidate devgroup specification parsing Jan Engelhardt
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

Using only strtoul is prone to accept all values, including negative
ones which are not explicitly allowed. Therefore, use xtables_strtoui
with bounds checking.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_u32.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/extensions/libxt_u32.c b/extensions/libxt_u32.c
index 6d024fb..2a7f5d8 100644
--- a/extensions/libxt_u32.c
+++ b/extensions/libxt_u32.c
@@ -88,17 +88,13 @@ static void u32_dump(const struct xt_u32 *data)
 /* string_to_number() is not quite what we need here ... */
 static uint32_t parse_number(const char **s, int pos)
 {
-	uint32_t number;
+	unsigned int number;
 	char *end;
 
-	errno  = 0;
-	number = strtoul(*s, &end, 0);
-	if (end == *s)
+	if (!xtables_strtoui(*s, &end, &number, 0, UINT32_MAX) ||
+	    end == *s)
 		xtables_error(PARAMETER_PROBLEM,
-			   "u32: at char %d: expected number", pos);
-	if (errno != 0)
-		xtables_error(PARAMETER_PROBLEM,
-			   "u32: at char %d: error reading number", pos);
+			"u32: at char %d: not a number or out of range", pos);
 	*s = end;
 	return number;
 }
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/7] libxt_devgroup: consolidate devgroup specification parsing
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
                   ` (2 preceding siblings ...)
  2012-07-28 17:21 ` [PATCH 3/7] libxt_u32: do bounds checking for @'s operands Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 5/7] libxt_devgroup: guard against negative numbers Jan Engelhardt
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

This is a small cleanup, reducing the two copies of X/Y parsing to
one.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_devgroup.c |   70 ++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/extensions/libxt_devgroup.c b/extensions/libxt_devgroup.c
index 4487c83..69ae279 100644
--- a/extensions/libxt_devgroup.c
+++ b/extensions/libxt_devgroup.c
@@ -42,58 +42,48 @@ static void devgroup_init(struct xt_entry_match *match)
 		fprintf(stderr, "Warning: %s: %s\n", file, strerror(errno));
 }
 
+static void devgroup_parse_groupspec(const char *arg, unsigned int *group,
+				     unsigned int *mask)
+{
+	char *end;
+
+	*group = strtoul(arg, &end, 0);
+	if (end != arg && (*end == '/' || *end == '\0')) {
+		if (*end == '/')
+			*mask = strtoul(end + 1, &end, 0);
+		else
+			*mask = ~0U;
+		if (*end != '\0' || end == arg)
+			xtables_error(PARAMETER_PROBLEM,
+				      "Bad group value \"%s\"", arg);
+	} else {
+		*group = xtables_lmap_name2id(devgroups, arg);
+		if (*group == -1)
+			xtables_error(PARAMETER_PROBLEM,
+				      "Device group \"%s\" not found", arg);
+		*mask = ~0U;
+	}
+}
+
 static void devgroup_parse(struct xt_option_call *cb)
 {
 	struct xt_devgroup_info *info = cb->data;
-	unsigned int id;
-	char *end;
+	unsigned int id, mask;
 
 	xtables_option_parse(cb);
 	switch (cb->entry->id) {
 	case O_SRC_GROUP:
-		info->src_group = strtoul(cb->arg, &end, 0);
-		if (end != cb->arg && (*end == '/' || *end == '\0')) {
-			if (*end == '/')
-				info->src_mask = strtoul(end+1, &end, 0);
-			else
-				info->src_mask = 0xffffffff;
-			if (*end != '\0' || end == cb->arg)
-				xtables_error(PARAMETER_PROBLEM,
-					      "Bad src-group value `%s'",
-					      cb->arg);
-		} else {
-			id = xtables_lmap_name2id(devgroups, cb->arg);
-			if (id == -1)
-				xtables_error(PARAMETER_PROBLEM,
-					      "Device group `%s' not found",
-					      cb->arg);
-			info->src_group = id;
-			info->src_mask  = 0xffffffff;
-		}
+		devgroup_parse_groupspec(cb->arg, &id, &mask);
+		info->src_group = id;
+		info->src_mask  = mask;
 		info->flags |= XT_DEVGROUP_MATCH_SRC;
 		if (cb->invert)
 			info->flags |= XT_DEVGROUP_INVERT_SRC;
 		break;
 	case O_DST_GROUP:
-		info->dst_group = strtoul(cb->arg, &end, 0);
-		if (end != cb->arg && (*end == '/' || *end == '\0')) {
-			if (*end == '/')
-				info->dst_mask = strtoul(end+1, &end, 0);
-			else
-				info->dst_mask = 0xffffffff;
-			if (*end != '\0' || end == cb->arg)
-				xtables_error(PARAMETER_PROBLEM,
-					      "Bad dst-group value `%s'",
-					      cb->arg);
-		} else {
-			id = xtables_lmap_name2id(devgroups, cb->arg);
-			if (id == -1)
-				xtables_error(PARAMETER_PROBLEM,
-					      "Device group `%s' not found",
-					      cb->arg);
-			info->dst_group = id;
-			info->dst_mask  = 0xffffffff;
-		}
+		devgroup_parse_groupspec(cb->arg, &id, &mask);
+		info->dst_group = id;
+		info->dst_mask  = mask;
 		info->flags |= XT_DEVGROUP_MATCH_DST;
 		if (cb->invert)
 			info->flags |= XT_DEVGROUP_INVERT_DST;
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 5/7] libxt_devgroup: guard against negative numbers
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
                   ` (3 preceding siblings ...)
  2012-07-28 17:21 ` [PATCH 4/7] libxt_devgroup: consolidate devgroup specification parsing Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 6/7] libxt_LED: " Jan Engelhardt
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

More corrections of the strtoul kind.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_devgroup.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/extensions/libxt_devgroup.c b/extensions/libxt_devgroup.c
index 69ae279..4a69c82 100644
--- a/extensions/libxt_devgroup.c
+++ b/extensions/libxt_devgroup.c
@@ -46,14 +46,16 @@ static void devgroup_parse_groupspec(const char *arg, unsigned int *group,
 				     unsigned int *mask)
 {
 	char *end;
+	bool ok;
 
-	*group = strtoul(arg, &end, 0);
-	if (end != arg && (*end == '/' || *end == '\0')) {
+	ok = xtables_strtoui(arg, &end, group, 0, UINT32_MAX);
+	if (ok && (*end == '/' || *end == '\0')) {
 		if (*end == '/')
-			*mask = strtoul(end + 1, &end, 0);
+			ok = xtables_strtoui(end + 1, NULL, mask,
+			                     0, UINT32_MAX);
 		else
 			*mask = ~0U;
-		if (*end != '\0' || end == arg)
+		if (!ok)
 			xtables_error(PARAMETER_PROBLEM,
 				      "Bad group value \"%s\"", arg);
 	} else {
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 6/7] libxt_LED: guard against negative numbers
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
                   ` (4 preceding siblings ...)
  2012-07-28 17:21 ` [PATCH 5/7] libxt_devgroup: guard against negative numbers Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-28 17:21 ` [PATCH 7/7] libxt_*limit: avoid division by zero Jan Engelhardt
  2012-07-31 11:40 ` iptables: Mostly Parser Fixes Pablo Neira Ayuso
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_LED.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/extensions/libxt_LED.c b/extensions/libxt_LED.c
index 9d68fa2..e6cf849 100644
--- a/extensions/libxt_LED.c
+++ b/extensions/libxt_LED.c
@@ -49,6 +49,7 @@ static void LED_help(void)
 static void LED_parse(struct xt_option_call *cb)
 {
 	struct xt_led_info *led = cb->data;
+	unsigned int delay;
 
 	xtables_option_parse(cb);
 	switch (cb->entry->id) {
@@ -59,8 +60,10 @@ static void LED_parse(struct xt_option_call *cb)
 	case O_LED_DELAY:
 		if (strncasecmp(cb->arg, "inf", 3) == 0)
 			led->delay = -1;
-		else
-			led->delay = strtoul(cb->arg, NULL, 0);
+		else if (!xtables_strtoui(cb->arg, NULL, &delay, 0, UINT32_MAX))
+			xtables_error(PARAMETER_PROBLEM,
+				"Delay value must be within range 0..%u",
+				UINT32_MAX);
 		break;
 	case O_LED_ALWAYS_BLINK:
 		led->always_blink = 1;
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 7/7] libxt_*limit: avoid division by zero
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
                   ` (5 preceding siblings ...)
  2012-07-28 17:21 ` [PATCH 6/7] libxt_LED: " Jan Engelhardt
@ 2012-07-28 17:21 ` Jan Engelhardt
  2012-07-31 11:40 ` iptables: Mostly Parser Fixes Pablo Neira Ayuso
  7 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-28 17:21 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

It was possible to specify -A mychain -m hashlimit --hashlimit
600059/minute; this would convert to r->avg=0, which subsequently
causes a division by zero when printing with -S mychain.

1. Avoid division by zero in print_rate by printing infinity
   instead.
2. Rewrite the test in parse_rate to properly reject too high rates.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
---
 extensions/libxt_hashlimit.c |   17 ++++++++++++-----
 extensions/libxt_limit.c     |   17 ++++++++++++-----
 2 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/extensions/libxt_hashlimit.c b/extensions/libxt_hashlimit.c
index 37a3148..831345b 100644
--- a/extensions/libxt_hashlimit.c
+++ b/extensions/libxt_hashlimit.c
@@ -10,6 +10,7 @@
  * 
  * Error corections by nmalykh@bilim.com (22.01.2005)
  */
+#include <math.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -250,12 +251,13 @@ int parse_rate(const char *rate, uint32_t *val, struct hashlimit_mt_udata *ud)
 	if (!r)
 		return 0;
 
-	/* This would get mapped to infinite (1/day is minimum they
-           can specify, so we're ok at that end). */
-	if (r / ud->mult > XT_HASHLIMIT_SCALE)
-		xtables_error(PARAMETER_PROBLEM, "Rate too fast \"%s\"\n", rate);
-
 	*val = XT_HASHLIMIT_SCALE * ud->mult / r;
+	if (*val == 0)
+		/*
+		 * The rate maps to infinity. (1/day is the minimum they can
+		 * specify, so we are ok at that end).
+		 */
+		xtables_error(PARAMETER_PROBLEM, "Rate too fast \"%s\"\n", rate);
 	return 1;
 }
 
@@ -434,6 +436,11 @@ static uint32_t print_rate(uint32_t period)
 {
 	unsigned int i;
 
+	if (period == 0) {
+		printf(" %f", INFINITY);
+		return 0;
+	}
+
 	for (i = 1; i < ARRAY_SIZE(rates); ++i)
 		if (period > rates[i].mult
             || rates[i].mult/period < rates[i].mult%period)
diff --git a/extensions/libxt_limit.c b/extensions/libxt_limit.c
index b15b02f..023500c 100644
--- a/extensions/libxt_limit.c
+++ b/extensions/libxt_limit.c
@@ -3,6 +3,7 @@
  * Jérôme de Vivie   <devivie@info.enserb.u-bordeaux.fr>
  * Hervé Eychenne    <rv@wallfire.org>
  */
+#include <math.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -64,12 +65,13 @@ int parse_rate(const char *rate, uint32_t *val)
 	if (!r)
 		return 0;
 
-	/* This would get mapped to infinite (1/day is minimum they
-           can specify, so we're ok at that end). */
-	if (r / mult > XT_LIMIT_SCALE)
-		xtables_error(PARAMETER_PROBLEM, "Rate too fast \"%s\"\n", rate);
-
 	*val = XT_LIMIT_SCALE * mult / r;
+	if (*val == 0)
+		/*
+		 * The rate maps to infinity. (1/day is the minimum they can
+		 * specify, so we are ok at that end).
+		 */
+		xtables_error(PARAMETER_PROBLEM, "Rate too fast \"%s\"\n", rate);
 	return 1;
 }
 
@@ -118,6 +120,11 @@ static void print_rate(uint32_t period)
 {
 	unsigned int i;
 
+	if (period == 0) {
+		printf(" %f", INFINITY);
+		return;
+	}
+
 	for (i = 1; i < ARRAY_SIZE(rates); ++i)
 		if (period > rates[i].mult
             || rates[i].mult/period < rates[i].mult%period)
-- 
1.7.7

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

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/7] iptables-restore: warn about -t in rule lines
  2012-07-28 17:21 ` [PATCH 1/7] iptables-restore: warn about -t in rule lines Jan Engelhardt
@ 2012-07-31 11:39   ` Pablo Neira Ayuso
  2012-07-31 12:13     ` Jan Engelhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Pablo Neira Ayuso @ 2012-07-31 11:39 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: netfilter-devel

On Sat, Jul 28, 2012 at 07:21:03PM +0200, Jan Engelhardt wrote:
> save-restore syntax uses *table, not -t table.
> 
> Signed-off-by: Jan Engelhardt <jengelh@inai.de>
> ---
>  iptables/ip6tables-restore.c |    3 +--
>  iptables/iptables-restore.c  |    3 +--
>  2 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/iptables/ip6tables-restore.c b/iptables/ip6tables-restore.c
> index 3894d68..614ff0f 100644
> --- a/iptables/ip6tables-restore.c
> +++ b/iptables/ip6tables-restore.c
> @@ -417,8 +417,7 @@ int ip6tables_restore_main(int argc, char *argv[])
>  					if (!strncmp(param_buffer, "-t", 2)
>                                              || !strncmp(param_buffer, "--table", 8)) {
>  						xtables_error(PARAMETER_PROBLEM,
> -						   "Line %u seems to have a "
> -						   "-t table option.\n", line);
> +						   "The -t option (seen in line %u) cannot be used in ip6tables-restore.\n", line);

Lines should break at 80 chars.

I know we sometimes slightly violate this limit, but I don't want to
have wrapping code in my 80-chars terminals.

No need to resend, I did it myself.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: iptables: Mostly Parser Fixes
  2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
                   ` (6 preceding siblings ...)
  2012-07-28 17:21 ` [PATCH 7/7] libxt_*limit: avoid division by zero Jan Engelhardt
@ 2012-07-31 11:40 ` Pablo Neira Ayuso
  7 siblings, 0 replies; 11+ messages in thread
From: Pablo Neira Ayuso @ 2012-07-31 11:40 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: netfilter-devel

On Sat, Jul 28, 2012 at 07:21:02PM +0200, Jan Engelhardt wrote:
> 
> /*
>  * Please review and if ok, merge.
>  */
> 
> The following changes since commit 44191bdbd71e685fba9eab864b9df25e63905220:
> 
>   iptables-restore: move code to add_param_to_argv, cleanup (fix gcc-4.7) (2012-07-25 13:04:52 +0200)
> 
> are available in the git repository at:
>   git://git.inai.de/iptables master
> 
> Jan Engelhardt (7):
>       iptables-restore: warn about -t in rule lines
>       doc: grammatical updates to libxt_SET
>       libxt_u32: do bounds checking for @'s operands
>       libxt_devgroup: consolidate devgroup specification parsing
>       libxt_devgroup: guard against negative numbers
>       libxt_LED: guard against negative numbers
>       libxt_*limit: avoid division by zero

I have cherry-picked from 2 to 7. Patch 1 was modified as I indicated
in my previous email. This is now in master.

Thanks a lot Jan.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/7] iptables-restore: warn about -t in rule lines
  2012-07-31 11:39   ` Pablo Neira Ayuso
@ 2012-07-31 12:13     ` Jan Engelhardt
  0 siblings, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2012-07-31 12:13 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: netfilter-devel


On Tuesday 2012-07-31 13:39, Pablo Neira Ayuso wrote:
>> @@ -417,8 +417,7 @@ int ip6tables_restore_main(int argc, char *argv[])
>>  					if (!strncmp(param_buffer, "-t", 2)
>>                                              || !strncmp(param_buffer, "--table", 8)) {
>>  						xtables_error(PARAMETER_PROBLEM,
>> -						   "Line %u seems to have a "
>> -						   "-t table option.\n", line);
>> +						   "The -t option (seen in line %u) cannot be used in ip6tables-restore.\n", line);
>
>Lines should break at 80 chars.
>
>I know we sometimes slightly violate this limit, but I don't want to
>have wrapping code in my 80-chars terminals.

I know; however, if there already are 5 levels *and* you have a text
string (people grep for that!), it is in principle nicer to have it
non-wrapped.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-07-31 12:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-28 17:21 iptables: Mostly Parser Fixes Jan Engelhardt
2012-07-28 17:21 ` [PATCH 1/7] iptables-restore: warn about -t in rule lines Jan Engelhardt
2012-07-31 11:39   ` Pablo Neira Ayuso
2012-07-31 12:13     ` Jan Engelhardt
2012-07-28 17:21 ` [PATCH 2/7] doc: grammatical updates to libxt_SET Jan Engelhardt
2012-07-28 17:21 ` [PATCH 3/7] libxt_u32: do bounds checking for @'s operands Jan Engelhardt
2012-07-28 17:21 ` [PATCH 4/7] libxt_devgroup: consolidate devgroup specification parsing Jan Engelhardt
2012-07-28 17:21 ` [PATCH 5/7] libxt_devgroup: guard against negative numbers Jan Engelhardt
2012-07-28 17:21 ` [PATCH 6/7] libxt_LED: " Jan Engelhardt
2012-07-28 17:21 ` [PATCH 7/7] libxt_*limit: avoid division by zero Jan Engelhardt
2012-07-31 11:40 ` iptables: Mostly Parser Fixes Pablo Neira Ayuso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).