5 require './itsecur-lib.pl';
6 &can_edit_error("nat");
10 &error_setup($text{'nat_err'});
12 $iface = $in{'iface'} || $in{'iface_other'};
13 $iface =~ /^[a-z0-9:\.]+$/ || &error($text{'nat_eiface'});
15 for($i=0; defined($n = $in{"net_$i"}); $i++) {
16 push(@nets, $n) if ($n);
18 for($i=0; defined($n = $in{"excl_$i"}); $i++) {
19 push(@nets, "!$n") if ($n);
21 for($i=0; defined($e = $in{"ext_$i"}); $i++) {
23 gethostbyname($e) || &error(&text('nat_eext', $i+1));
25 gethostbyname($n) || &error(&text('nat_eint', $i+1));
27 push(@maps, [ $e, $n, $v ? ( $v ) : ( ) ]);
30 &save_nat2($iface, @nets, @maps);
31 &unlock_itsecur_files();
32 &remote_webmin_log("update", "nat2");