Handle hostnames with upper-case letters
[webmin.git] / itsecur-firewall / edit_sep.cgi
1 #!/usr/bin/perl
2 # Show a form for editing or creating a rule list section separator
3
4 require './itsecur-lib.pl';
5 &can_use_error("rules");
6 &ReadParse();
7 @rules = &list_rules();
8 if ($in{'new'}) {
9         &header(defined($in{'insert'}) ? $text{'sep_title3'}
10                                        : $text{'sep_title1'}, "",
11                 undef, undef, undef, undef, &apply_button());
12         $rule = { 'index' => scalar(@rules) };
13         }
14 else {
15         &header($text{'sep_title2'}, "",
16                 undef, undef, undef, undef, &apply_button());
17         $rule = $rules[$in{'idx'}];
18         }
19 print "<hr>\n";
20
21 print "<form action=save_sep.cgi>\n";
22 print "<input type=hidden name=new value='$in{'new'}'>\n";
23 print "<input type=hidden name=idx value='$in{'idx'}'>\n";
24 print "<input type=hidden name=insert value='$in{'insert'}'>\n";
25 print "<table border>\n";
26 print "<tr $tb> <td><b>$text{'sep_header'}</b></td> </tr>\n";
27 print "<tr $cb> <td><table>\n";
28
29 # Show separator title
30 print "<tr> <td valign=top><b>$text{'sep_desc'}</b></td> <td>\n";
31 printf "<input name=desc size=60 value='%s'></td> </tr>\n",
32         $rule->{'desc'} eq "*" ? "" : $rule->{'desc'};
33
34 # Show input for position of rule
35 print "<tr> <td><b>$text{'rule_atpos'}</b></td> <td>\n";
36 print "<select name=pos>\n";
37 foreach $br (@rules) {
38         next if ($br eq $rule);
39         if ($br->{'sep'}) {
40                 printf "<option value=%s %s>%s\n",
41                         $br->{'index'},
42                         !$in{'new'} &&
43                         $rule->{'index'} == $br->{'index'}-1 ? "selected" : "",
44                         &text('rule_spos', $br->{'desc'});
45                 }
46         else {
47                 printf "<option value=%s %s>%s\n",
48                         $br->{'index'},
49                         !$in{'new'} &&
50                         $rule->{'index'} == $br->{'index'}-1 ? "selected" : "",
51                         &text('rule_pos', $br->{'num'},
52                               &group_name($br->{'source'}),
53                               &group_name($br->{'dest'}));
54                 }
55         }
56 printf "<option value=%s %s>%s\n",
57         -1, $in{'new'} || $rule eq $rules[$#rules] ? "selected" : "",
58         $text{'rule_end'};
59 print "</select></td> </tr>\n";
60
61 print "</table></td></tr></table>\n";
62 if ($in{'new'}) {
63         print "<input type=submit value='$text{'create'}'>\n";
64         }
65 else {
66         print "<input type=submit value='$text{'save'}'>\n";
67         print "<input type=submit name=delete value='$text{'delete'}'>\n";
68         }
69 print "</form>\n";
70 &can_edit_disable("rules");
71
72 print "<hr>\n";
73 &footer("list_rules.cgi", $text{'rules_return'});
74