Handle hostnames with upper-case letters
[webmin.git] / webmin / newkey.cgi
1 #!/usr/local/bin/perl
2 # newkey.cgi
3 # Create a new SSL key
4
5 require './webmin-lib.pl';
6 &ReadParse();
7 &error_setup($text{'newkey_err'});
8
9 # Validate inputs and create the key
10 $in{'newfile'} || return $text{'newkey_efile'};
11 $err = &parse_ssl_key_form(\%in, $in{'newfile'});
12 &error($err) if ($err);
13
14 # Tell the user
15 &ui_print_header(undef, $text{'newkey_title'}, "");
16 print "<p>$text{'newkey_ok'}<br>\n";
17 $key = &read_file_contents($in{'newfile'});
18 print "<pre>".&html_escape($key)."</pre>";
19 &ui_print_footer("", $text{'index_return'});
20
21 # Configure webmin to use the new file
22 if ($in{'usenew'}) {
23         &lock_file($ENV{'MINISERV_CONFIG'});
24         &get_miniserv_config(\%miniserv);
25         $miniserv{'keyfile'} = $in{'newfile'};
26         delete($miniserv{'certfile'});
27         &put_miniserv_config(\%miniserv);
28         &unlock_file($ENV{'MINISERV_CONFIG'});
29         &restart_miniserv(1);
30         &webmin_log("newkey", undef, undef, \%in);
31         }
32