From 8a8a26445af4839fdcd1ff703bdc07d020156365 Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org" Date: Tue, 1 Feb 2005 12:56:16 +0000 Subject: John McCann points out via bugzilla that iptables happily accepts this syntax on DNAT/SNAT: --to x.x.x.x:y:z but doesn't actually make use of the second port. Clear up the confusion by only accepting a dash between the ports. This closes bugzilla #265. Signed-off-by: Phil Oester --- extensions/libipt_DNAT.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/libipt_DNAT.c b/extensions/libipt_DNAT.c index d8efa58..96a6e6b 100644 --- a/extensions/libipt_DNAT.c +++ b/extensions/libipt_DNAT.c @@ -65,7 +65,7 @@ static struct ipt_entry_target * parse_to(char *arg, int portok, struct ipt_natinfo *info) { struct ip_nat_range range; - char *colon, *dash; + char *colon, *dash, *error; struct in_addr *ip; memset(&range, 0, sizeof(range)); @@ -85,6 +85,11 @@ parse_to(char *arg, int portok, struct ipt_natinfo *info) exit_error(PARAMETER_PROBLEM, "Port `%s' not valid\n", colon+1); + error = strchr(colon+1, ':'); + if (error) + exit_error(PARAMETER_PROBLEM, + "Invalid port:port syntax - use dash\n"); + dash = strchr(colon, '-'); if (!dash) { range.min.tcp.port -- cgit v1.2.3