From afd462c6b204496fdbe0c6f62a32ed29db431d2e Mon Sep 17 00:00:00 2001 From: teastep Date: Thu, 17 May 2007 14:17:29 +0000 Subject: [PATCH] Tighten up editing -- some more git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@6384 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb --- Shorewall-perl/Shorewall/Nat.pm | 7 +++++-- Shorewall-perl/Shorewall/Policy.pm | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Shorewall-perl/Shorewall/Nat.pm b/Shorewall-perl/Shorewall/Nat.pm index 1aa423336..188223c67 100644 --- a/Shorewall-perl/Shorewall/Nat.pm +++ b/Shorewall-perl/Shorewall/Nat.pm @@ -228,7 +228,8 @@ sub setup_one_masq($$$$$$$) } if ( $add_snat_aliases ) { - my ( $interface, $alias ) = split /:/, $fullinterface; + my ( $interface, $alias , $remainder ) = split( /:/, $fullinterface, 3 ); + fatal_error "Invalid alias ($alias:$remainder)" if defined $remainder; for my $address ( split /,/, $addresses ) { my ( $addrs, $port ) = split /:/, $address; next unless $addrs; @@ -309,7 +310,9 @@ sub do_one_nat( $$$$$ ) { my ( $external, $fullinterface, $internal, $allints, $localnat ) = @_; - my ( $interface, $alias ) = split /:/, $fullinterface; + my ( $interface, $alias, $remainder ) = split( /:/, $fullinterface, 3 ); + + fatal_error "Invalid alias ($alias:$remainder)" if defined $remainder; sub add_nat_rule( $$ ) { add_rule ensure_chain( 'nat', $_[0] ) , $_[1]; diff --git a/Shorewall-perl/Shorewall/Policy.pm b/Shorewall-perl/Shorewall/Policy.pm index cb136026a..0640c0035 100644 --- a/Shorewall-perl/Shorewall/Policy.pm +++ b/Shorewall-perl/Shorewall/Policy.pm @@ -153,7 +153,9 @@ sub validate_policy() fatal_error "Undefined zone $server" unless $serverwild || $zones{$server}; - ( $policy , my $default ) = split /:/, $policy; + ( $policy , my ( $default, $remainder ) ) = split( /:/, $policy, 3 ); + + fatal_error "Invalid default action ($default:$remainder)" if defined $remainder; if ( $default ) { if ( "\L$default" eq 'none' ) {