summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-02-01 15:14:15 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-02-01 15:14:15 +0000
commitc0890bde7328e6308d476d2f7a3e443e216bf1c2 (patch)
treead3fb69383380a2233ea28b7cce1afa7976535e3 /extensions
parent7deef4c8eeeccfb5d081b3f8f8ff5c02dceb075f (diff)
check for colons
Diffstat (limited to 'extensions')
-rw-r--r--extensions/libipt_SNAT.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/extensions/libipt_SNAT.c b/extensions/libipt_SNAT.c
index aca4a81..f10d041 100644
--- a/extensions/libipt_SNAT.c
+++ b/extensions/libipt_SNAT.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