Handle hostnames with upper-case letters
[webmin.git] / itsecur-firewall / save_pat.cgi
1 #!/usr/bin/perl
2 # save_pat.cgi
3 # Save incoming forwarded ports
4
5 require './itsecur-lib.pl';
6 &can_edit_error("pat");
7 &ReadParse();
8 &lock_itsecur_files();
9
10 &error_setup($text{'pat_err'});
11 for($i=0; defined($s = $in{"service_$i"}); $i++) {
12         next if (!$s);
13         $h = $in{"host_$i"};
14         gethostbyname($h) || &error(&text('pat_ehost', $i+1));
15         $iface = $in{"iface_$i"};
16         $iface eq "" || $iface =~ /^[a-z0-9:\.]+$/ ||
17                 &error(&text('pat_eiface', $i+1));
18         push(@forwards, { 'service' => $s,
19                           'host' => $h,
20                           'iface' => $iface });
21         }
22
23 &automatic_backup();
24 &save_pat(@forwards);
25 &unlock_itsecur_files();
26 &remote_webmin_log("update", "pat");
27 &redirect("");
28