X7ROOT File Manager
Current Path:
/usr/libexec/webmin/usermin
usr
/
libexec
/
webmin
/
usermin
/
📁
..
📄
CHANGELOG
(3.94 KB)
📄
acl_security.pl
(1.37 KB)
📄
backup_config.pl
(2.17 KB)
📄
bootup.cgi
(1.12 KB)
📄
cgi_args.pl
(160 B)
📄
change_access.cgi
(783 B)
📄
change_advanced.cgi
(1.57 KB)
📄
change_anon.cgi
(758 B)
📄
change_bind.cgi
(2.96 KB)
📄
change_lang.cgi
(409 B)
📄
change_mobile.cgi
(989 B)
📄
change_os.cgi
(1.9 KB)
📄
change_referers.cgi
(462 B)
📄
change_session.cgi
(5.15 KB)
📄
change_ssl.cgi
(2.44 KB)
📄
change_theme.cgi
(675 B)
📄
change_twofactor.cgi
(1.07 KB)
📄
change_ui.cgi
(1.59 KB)
📄
change_users.cgi
(1.19 KB)
📄
change_web.cgi
(2.8 KB)
📄
clear_blocked.cgi
(126 B)
📄
clone_mod.cgi
(1.53 KB)
📄
config
(85 B)
📄
config.info
(242 B)
📄
config.info.ar
(315 B)
📄
config.info.ca
(287 B)
📄
config.info.cs
(287 B)
📄
config.info.de
(275 B)
📄
config.info.es
(298 B)
📄
config.info.fa
(221 B)
📄
config.info.fi
(273 B)
📄
config.info.fr
(300 B)
📄
config.info.hu
(0 B)
📄
config.info.it
(304 B)
📄
config.info.ja
(275 B)
📄
config.info.ms
(264 B)
📄
config.info.nl
(266 B)
📄
config.info.no
(244 B)
📄
config.info.pl
(290 B)
📄
config.info.pt_BR
(54 B)
📄
config.info.ru
(62 B)
📄
config.info.uk
(63 B)
📄
config.info.zh_TW
(34 B)
📄
copycert.cgi
(1.58 KB)
📄
defaultacl
(269 B)
📄
delete_mod.cgi
(2.14 KB)
📄
delete_session.cgi
(317 B)
📄
download_cert.cgi
(575 B)
📄
edit_access.cgi
(1.22 KB)
📄
edit_acl.cgi
(620 B)
📄
edit_advanced.cgi
(2.05 KB)
📄
edit_anon.cgi
(807 B)
📄
edit_assignment.cgi
(1.18 KB)
📄
edit_bind.cgi
(2.08 KB)
📄
edit_blocked.cgi
(892 B)
📄
edit_categories.cgi
(2.03 KB)
📄
edit_configs.cgi
(2.68 KB)
📄
edit_dav.cgi
(1.75 KB)
📄
edit_defacl.cgi
(692 B)
📄
edit_descs.cgi
(846 B)
📄
edit_ipkey.cgi
(1.62 KB)
📄
edit_lang.cgi
(876 B)
📄
edit_logout.cgi
(1.16 KB)
📄
edit_mobile.cgi
(1.14 KB)
📄
edit_mods.cgi
(4.49 KB)
📄
edit_os.cgi
(3.04 KB)
📄
edit_referers.cgi
(937 B)
📄
edit_restrict.cgi
(2.05 KB)
📄
edit_session.cgi
(6.01 KB)
📄
edit_ssl.cgi
(6.24 KB)
📄
edit_themes.cgi
(3.28 KB)
📄
edit_twofactor.cgi
(1.65 KB)
📄
edit_ui.cgi
(2.86 KB)
📄
edit_upgrade.cgi
(4.05 KB)
📄
edit_users.cgi
(1.19 KB)
📄
edit_web.cgi
(3.08 KB)
📄
export_mod.cgi
(1.33 KB)
📄
feedback_files.pl
(137 B)
📁
images
📄
index.cgi
(3.64 KB)
📄
install_check.pl
(530 B)
📄
install_mod.cgi
(2.68 KB)
📄
install_theme.cgi
(2.19 KB)
📁
lang
📄
list_configs.cgi
(780 B)
📄
list_restrict.cgi
(1.51 KB)
📄
list_sessions.cgi
(1.42 KB)
📄
log_parser.pl
(1.49 KB)
📄
module.info
(217 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(130 B)
📄
module.info.ar
(133 B)
📄
module.info.ar.auto
(16 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(229 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(251 B)
📄
module.info.ca
(131 B)
📄
module.info.ca.auto
(16 B)
📄
module.info.cs
(29 B)
📄
module.info.cs.auto
(116 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(129 B)
📄
module.info.de
(122 B)
📄
module.info.de.auto
(16 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(212 B)
📄
module.info.es
(34 B)
📄
module.info.es.auto
(127 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(164 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(190 B)
📄
module.info.fi
(26 B)
📄
module.info.fi.auto
(103 B)
📄
module.info.fr
(33 B)
📄
module.info.fr.auto
(123 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(182 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(154 B)
📄
module.info.hu
(31 B)
📄
module.info.hu.auto
(120 B)
📄
module.info.it
(34 B)
📄
module.info.it.auto
(114 B)
📄
module.info.ja
(23 B)
📄
module.info.ja.auto
(135 B)
📄
module.info.ko
(0 B)
📄
module.info.ko.auto
(140 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(162 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(143 B)
📄
module.info.ms
(120 B)
📄
module.info.ms.auto
(16 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(152 B)
📄
module.info.nl
(29 B)
📄
module.info.nl.auto
(103 B)
📄
module.info.no
(30 B)
📄
module.info.no.auto
(119 B)
📄
module.info.pl
(120 B)
📄
module.info.pl.auto
(16 B)
📄
module.info.pt
(0 B)
📄
module.info.pt.auto
(153 B)
📄
module.info.pt_BR
(37 B)
📄
module.info.pt_BR.auto
(125 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(154 B)
📄
module.info.ru
(35 B)
📄
module.info.ru.auto
(200 B)
📄
module.info.sk
(0 B)
📄
module.info.sk.auto
(146 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(155 B)
📄
module.info.sv
(0 B)
📄
module.info.sv.auto
(142 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(258 B)
📄
module.info.tr
(0 B)
📄
module.info.tr.auto
(150 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(258 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(192 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(163 B)
📄
module.info.zh
(0 B)
📄
module.info.zh.auto
(114 B)
📄
module.info.zh_TW
(25 B)
📄
module.info.zh_TW.auto
(98 B)
📄
move.cgi
(606 B)
📄
newkey.cgi
(2.64 KB)
📄
restart.cgi
(110 B)
📄
save_acl.cgi
(355 B)
📄
save_assignment.cgi
(588 B)
📄
save_categories.cgi
(1.05 KB)
📄
save_configs.cgi
(751 B)
📄
save_dav.cgi
(1019 B)
📄
save_defacl.cgi
(626 B)
📄
save_descs.cgi
(585 B)
📄
save_ipkey.cgi
(1.49 KB)
📄
save_logout.cgi
(1022 B)
📄
save_restrict.cgi
(1.31 KB)
📄
save_uconfigs.cgi
(1.38 KB)
📄
savekey.cgi
(2.38 KB)
📄
start.cgi
(200 B)
📄
stop.cgi
(203 B)
📄
switch.cgi
(317 B)
📄
syslog_logs.pl
(651 B)
📄
uninstall.pl
(350 B)
📄
update.cgi
(3.55 KB)
📄
update.pl
(3.71 KB)
📄
update_sched.cgi
(1.98 KB)
📄
upgrade.cgi
(9.57 KB)
📄
usermin-lib.pl
(26.86 KB)
Editing: edit_ssl.cgi
#!/usr/bin/perl # edit_ssl.cgi # Webserver SSL form require './usermin-lib.pl'; &ui_print_header(undef, $text{'ssl_title'}, ""); &ReadParse(); &get_usermin_miniserv_config(\%miniserv); # Show tabs @tabs = map { [ $_, $text{'ssl_tab'.$_}, "edit_ssl.cgi?mode=$_" ] } ( "ssl", "current", "ips", "create", "upload" ); print &ui_tabs_start(\@tabs, "mode", $in{'mode'} || $tabs[0]->[0], 1); # Basic SSL settings print &ui_tabs_start_tab("mode", "ssl"); print $text{'ssl_desc1'},"<p>\n"; print $text{'ssl_desc2'},"<p>\n"; print &ui_form_start("change_ssl.cgi", "post"); print &ui_table_start($text{'ssl_header'}, undef, 2); print &ui_table_row($text{'ssl_on'}, &ui_yesno_radio("ssl", $miniserv{'ssl'})); print ui_table_row($text{'ssl_hsts'}, ui_yesno_radio("ssl_hsts", $miniserv{'ssl_hsts'})); print &ui_table_row($text{'ssl_key'}, &ui_textbox("key", $miniserv{'keyfile'}, 40)." ". &file_chooser_button("key")); print &ui_table_row($text{'ssl_cert'}, &ui_opt_textbox("cert", $miniserv{'certfile'}, 40, $text{'ssl_cert_def'}."<br>",$text{'ssl_cert_oth'})." ". &file_chooser_button("cert")); print &ui_table_row($text{'ssl_redirect'}, &ui_yesno_radio("ssl_redirect", $miniserv{'ssl_redirect'})); print &ui_table_row($text{'ssl_version'}, &ui_opt_textbox("version", $miniserv{'ssl_version'}, 4, $text{'ssl_auto'})); print &ui_table_row($text{'ssl_deny'}, &ui_checkbox("no_ssl2", 1, "SSLv2", $miniserv{'no_ssl2'})."\n". &ui_checkbox("no_ssl3", 1, "SSLv3", $miniserv{'no_ssl3'})."\n". ui_checkbox("no_tls1", 1, "TLSv1.0", $miniserv{'no_tls1'})."\n". ui_checkbox("no_tls1_1", 1, "TLSv1.1", $miniserv{'no_tls1_1'})."\n". ui_checkbox("no_tls1_2", 1, "TLSv1.2", $miniserv{'no_tls1_2'})."\n" ); print &ui_table_row($text{'ssl_compression'}, &ui_yesno_radio("ssl_compression", !$miniserv{'no_sslcompression'})); print &ui_table_row($text{'ssl_honorcipherorder'}, &ui_yesno_radio("ssl_honorcipherorder", $miniserv{'ssl_honorcipherorder'})); $clist = $miniserv{'ssl_cipher_list'}; $cmode = !$clist ? 1 : $clist eq $webmin::strong_ssl_ciphers ? 2 : $clist eq $webmin::pfs_ssl_ciphers ? 3 : 0; print &ui_table_row($text{'ssl_cipher_list'}, &ui_radio("cipher_list_def", $cmode, [ [ 1, $text{'ssl_auto'}."<br>" ], [ 2, $text{'ssl_strong'}."<br>" ], [ 3, $text{'ssl_pfs'}."<br>" ], [ 0, $text{'ssl_clist'}." ". &ui_textbox("cipher_list", $cmode == 0 ? $clist : "", 30) ] ])); print &ui_table_row($text{'ssl_extracas'}, &ui_textarea("extracas", join("\n",split(/\s+/, $miniserv{'extracas'})), 3, 60)." ". &file_chooser_button("extracas", 0, undef, undef, 1)); print &ui_table_end(); print &ui_form_end([ [ "", $text{'save'} ] ]); print &ui_tabs_end_tab(); # Page showing current cert print &ui_tabs_start_tab("mode", "current"); print "$text{'ssl_current'}<p>\n"; print &ui_table_start($text{'ssl_cheader'}, undef, 4); $info = &webmin::cert_info($miniserv{'certfile'} || $miniserv{'keyfile'}); foreach $i ('cn', 'o', 'email', 'issuer_cn', 'issuer_o', 'issuer_email', 'notafter', 'type') { if ($info->{$i}) { print &ui_table_row($text{'ca_'.$i}, $info->{$i}); } } @clinks = ( &ui_link("download_cert.cgi/cert.pem", $text{'ssl_pem'}), &ui_link("download_cert.cgi/cert.p12", $text{'ssl_pkcs12'}) ); print &ui_table_row($text{'ssl_download'}, &ui_links_row(\@clinks)); print &ui_table_end(); print &ui_tabs_end_tab(); # Table listing per-IP SSL certs print &ui_tabs_start_tab("mode", "ips"); print "$text{'ssl_ipkeys'}<p>\n"; @ipkeys = &webmin::get_ipkeys(\%miniserv); if (@ipkeys) { print &ui_columns_start([ $text{'ssl_ips'}, $text{'ssl_key'}, $text{'ssl_cert'} ]); foreach $k (@ipkeys) { print &ui_columns_row([ &ui_link("edit_ipkey.cgi?idx=$k->{'index'}", join(", ", @{$k->{'ips'}})), "<tt>$k->{'key'}</tt>", $k->{'cert'} ? "<tt>$k->{'cert'}</tt>" : $text{'ssl_cert_def'}, ]); } print &ui_columns_end(); } else { print "<b>$text{'ssl_ipkeynone'}</b><p>\n"; } print &ui_link("edit_ipkey.cgi?new=1", $text{'ssl_addipkey'}),"<p>\n"; print &ui_tabs_end_tab(); # SSL key generation form print &ui_tabs_start_tab("mode", "create"); print "$text{'ssl_newkey'}<p>\n"; my $curkey = &read_file_contents($miniserv{'keyfile'}); my $origkey = &read_file_contents("$root_directory/miniserv.pem"); if ($curkey eq $origkey) { # System is using the original (insecure) Webmin key! print "<b>$text{'ssl_hole'}</b><p>\n"; } print &ui_form_start("newkey.cgi"); print &ui_table_start($text{'ssl_header1'}, undef, 2); $host = $ENV{'HTTP_HOST'}; $host =~ s/:.*//; print &webmin::show_ssl_key_form($host, undef, "Usermin Webserver on ".&get_system_hostname()); print &ui_table_row($text{'ssl_newfile'}, &ui_textbox("newfile", "$config{'usermin_dir'}/miniserv.pem", 40)); print &ui_table_row($text{'ssl_usenew'}, &ui_yesno_radio("usenew", 1)); print &ui_table_end(); print &ui_form_end([ [ "", $text{'ssl_create'} ] ]); print &ui_tabs_end_tab(); # SSL key upload form print &ui_tabs_start_tab("mode", "upload"); print "$text{'ssl_savekey'}<p>\n"; print &ui_form_start("savekey.cgi", "form-data"); print &ui_table_start($text{'ssl_saveheader'}, undef, 2); print &ui_table_row($text{'ssl_privkey'}, &ui_textarea("key", undef, 7, 70)."<br>\n". "<b>$text{'ssl_upload'}</b>\n". &ui_upload("keyfile")); print &ui_table_row($text{'ssl_privcert'}, &ui_radio("cert_def", 1, [ [ 1, $text{'ssl_same'} ], [ 0, $text{'ssl_below'} ] ])."<br>\n". &ui_textarea("cert", undef, 7, 70)."<br>\n". "<b>$text{'ssl_upload'}</b>\n". &ui_upload("certfile")); print &ui_table_row($text{'ssl_privchain'}, &ui_radio("chain_def", 1, [ [ 1, $miniserv{'extracas'} ? $text{'ssl_leavechain'} : $text{'ssl_nochain'} ], [ 0, $text{'ssl_below'} ] ])."<br>\n". &ui_textarea("chain", undef, 7, 70)."<br>\n". "<b>$text{'ssl_upload'}</b>\n". &ui_upload("chainfile")); print &ui_table_end(); print &ui_form_end([ [ "save", $text{'save'} ] ]); print &ui_tabs_end_tab(); print &ui_tabs_end(1); # Button to copy cert from Webmin &get_miniserv_config(\%wminiserv); if ($wminiserv{'ssl'}) { print &ui_hr(); print &ui_buttons_start(); print &ui_buttons_row("copycert.cgi", $text{'ssl_copycert'}, $text{'ssl_copycertdesc'}); print &ui_buttons_end(); } &ui_print_footer("", $text{'index_return'});
Upload File
Create Folder