Handle hostnames with upper-case letters
[webmin.git] / webmin / edit_access.cgi
1 #!/usr/local/bin/perl
2 # edit_access.cgi
3 # Display IP access control form
4
5 require './webmin-lib.pl';
6 &ui_print_header(undef, $text{'access_title'}, "");
7 &get_miniserv_config(\%miniserv);
8
9 print $text{'access_desc'},"<p>\n";
10
11 print &ui_form_start("change_access.cgi", "post");
12 print &ui_table_start($text{'access_header'}, undef, 2, [ "width=30%" ]);
13
14 $access = $miniserv{"allow"} ? 1 : $miniserv{"deny"} ? 2 : 0;
15 @list = $access == 1 ? split(/\s+/, $miniserv{"allow"}) :
16         $access == 2 ? split(/\s+/, $miniserv{"deny"}) : ( );
17 $idx = &indexof("LOCAL", @list);
18 splice(@list, $idx, 1) if ($idx >= 0);
19 print &ui_table_row($text{'access_ip'},
20         &ui_radio("access", $access,
21                   [ [ 0, $text{'access_all'} ],
22                     [ 1, $text{'access_allow'} ],
23                     [ 2, $text{'access_deny'} ] ])."<br>\n".
24         &ui_textarea("ip", join("\n", @list), 6, 30)."<br>\n".
25         &ui_checkbox("local", 1, $text{'access_local'}, $idx >= 0));
26
27 print &ui_table_row($text{'access_always'},
28         &ui_yesno_radio("alwaysresolve", int($miniserv{'alwaysresolve'})));
29
30 eval "use Authen::Libwrap qw(hosts_ctl STRING_UNKNOWN)";
31 if (!$@) {
32         print &ui_table_row($text{'access_libwrap'},
33                 &ui_yesno_radio("libwrap", int($miniserv{'libwrap'})));
34         }
35 else {
36         $msg = &text('access_elibwrap', "<tt>Authen::Libwrap</tt>")."\n";
37         if (foreign_available("cpan")) {
38                 $msg .= &text('access_libwrapcpan',
39                         "/cpan/download.cgi?source=3&cpan=Authen::Libwrap&".
40                         "mode=2&return=/$module_name/&returndesc=".
41                         &urlize($text{'index_return'}));
42                 }
43         print &ui_table_row(" ", $msg);
44         }
45
46 print &ui_table_end();
47 print &ui_form_end([ [ "save", $text{'save'} ] ]);
48
49 &ui_print_footer("", $text{'index_return'});
50