Handle hostnames with upper-case letters
[webmin.git] / pptp-server / edit_secret.cgi
1 #!/usr/local/bin/perl
2 # edit_secret.cgi
3 # Displays a form for editing or creating a pap secret
4
5 require './pptp-server-lib.pl';
6 $access{'secrets'} || &error($text{'secrets_ecannot'});
7 if (@ARGV) {
8         $idx = $ARGV[0];
9         &ui_print_header(undef, $text{'edit_secret_etitle'}, "");
10         $host = &get_ppp_hostname();
11         @seclist = grep { $_->{'server'} eq $host } &list_secrets();
12         %sec = %{$seclist[$idx]};
13         }
14 else {
15         &ui_print_header(undef, $text{'edit_secret_ctitle'}, "");
16         }
17
18 print "<form action=save_secret.cgi>\n";
19 if (%sec) { print "<input type=hidden name=idx value=$idx>\n"; }
20 print "<table border width=100%>\n";
21 print "<tr $tb> <td><b>",$text{'edit_secret_acc'},"</b></td> </tr>\n";
22 print "<tr $cb> <td><table width=100%>\n";
23
24 print "<tr $cb> <td><b>", $text{'edit_secret_user'}, "</b></td>\n";
25 printf "<td colspan=3><input type=radio name=client_def value=1 %s> ",
26         %sec && !$sec{'client'} ? "checked" : "";
27 print $text{'edit_secret_uany'}, "\n";
28 printf "<input type=radio name=client_def value=0 %s> ",
29         %sec && !$sec{'client'} ? "" : "checked";
30 print "<input name=client size=40 value=\"$sec{'client'}\"></td>\n";
31
32 print "<tr $cb> <td valign=top><b>", $text{'edit_secret_pass'}, "</b></td>\n";
33 printf "<td valign=top><input type=radio name=pass_mode value=0 %s> ",
34         %sec && $sec{'secret'} eq "" ? "checked" : "";
35 print $text{'edit_secret_none'}, "<br>\n";
36 printf "<input type=radio name=pass_mode value=1 %s> ",
37         $sec{'secret'} =~ /^@(.*)$/ ? "checked" : "";
38 print $text{'edit_secret_ffile'};
39 printf "<input name=pass_file size=20 value=\"%s\">\n",
40         $sec{'secret'} =~ /^@(.*)$/ ? $1 : "";
41 print &file_chooser_button("pass_file", 0);
42 print "<br>\n";
43 if (%sec) {
44         printf "<input type=radio name=pass_mode value=2 %s> ",
45                 $sec{'secret'} !~ /^(@.*|)$/ ? "checked" : "";
46         print $text{'edit_secret_leave'}, "<br>\n";
47         }
48 printf "<input type=radio name=pass_mode value=3 %s> ",
49         %sec ? "" : "checked";
50 print $text{'edit_secret_setto'}, "\n";
51 print "<input type=password name=pass_text size=15></td>\n";
52
53 @ips = @{$sec{'ips'}};
54 print "<td valign=top><b>", $text{'edit_secret_vaddr'}, "</b></td>\n";
55 printf "<td><input type=radio name=ips_mode value=0 %s> ",
56         $ips[0] eq "*" || !@ips ? "checked" : "";
57 print $text{'edit_secret_aany'}, "<br>\n";
58 printf "<input type=radio name=ips_mode value=1 %s> ",
59         $ips[0] eq "-" ? "checked" : "";
60 print $text{'edit_secret_anone'}, "<br>\n";
61 printf "<input type=radio name=ips_mode value=2 %s> ",
62         @ips && $ips[0] ne "-" && $ips[0] ne "*" ? "checked" : "";
63 print $text{'edit_secret_alist'}, "<br>\n";
64 printf "<textarea name=ips rows=5 cols=20>%s</textarea></td> </tr>\n",
65         @ips && $ips[0] ne "-" && $ips[0] ne "*" ? join("\n", @ips) : "";
66
67 print "</table></td></tr></table>\n";
68 print "<table width=100%><tr><td align=left>\n";
69 print "<input type=submit value=", $text{'edit_secret_save'}, "></td>\n";
70 if (%sec) {
71         print "<td align=right>\n";
72         print "<input type=submit name=delete value=", $text{'edit_secret_del'},
73               "></td>\n";
74         }
75 print "</tr></table></form>\n";
76
77 &ui_print_footer("list_secrets.cgi", $text{'edit_secret_return'});
78