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'}."
"; }