X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fforwardfw.cgi;h=e3b8c4a9dcb7aedce6876daf531e8c4f4ce80f61;hb=6b681c40d2d1cf9f0a1d6b8cedcce90809680e1d;hp=a37fb29d1e7bbce05ea42608068f8e1f9c80160d;hpb=93b75f31ad920a2aa96206c2053b70affa135a42;p=people%2Fteissler%2Fipfire-2.x.git
diff --git a/html/cgi-bin/forwardfw.cgi b/html/cgi-bin/forwardfw.cgi
index a37fb29d1..e3b8c4a9d 100755
--- a/html/cgi-bin/forwardfw.cgi
+++ b/html/cgi-bin/forwardfw.cgi
@@ -923,7 +923,19 @@ sub checkrule
{
#check valid port for NAT
if($fwdfwsettings{'USE_NAT'} eq 'ON'){
+ #if no port is given in nat area, take target host port
if($fwdfwsettings{'nat'} eq 'dnat' && $fwdfwsettings{'grp3'} eq 'TGT_PORT' && $fwdfwsettings{'dnatport'} eq ''){$fwdfwsettings{'dnatport'}=$fwdfwsettings{'TGT_PORT'};}
+
+ #check if given nat port is already used by another dnatrule
+ if($fwdfwsettings{'nat'} eq 'dnat'){
+ foreach my $id (sort keys %confignatfw){
+ if ($fwdfwsettings{'dnatport'} eq $confignatfw{$id}[30]){
+ $errormessage=$Lang::tr{'fwdfw natport used'}."
";
+ }
+ }
+ }
+
+ #check if port given in nat area is a single valid port
if($fwdfwsettings{'nat'} eq 'dnat' && !&check_natport($fwdfwsettings{'dnatport'})){
$errormessage=$Lang::tr{'fwdfw target'}.": ".$Lang::tr{'fwdfw dnat porterr'}."
";
}