#!/usr/bin/perl # install_mod.cgi # Download and install a webmin module require './webmin-lib.pl'; if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); } else { &ReadParse(); $no_upload = 1; } $| = 1; $theme_no_table = 1 if ($in{'source'} == 2 || $in{'source'} == 4); &ui_print_header(undef, $text{'install_title'}, ""); if ($in{'source'} == 0) { # from local file &error_setup(&text('install_err1', $in{'file'})); $file = $in{'file'}; if (!(-r $file)) { &inst_error($text{'install_efile'}); } } elsif ($in{'source'} == 1) { # from uploaded file &error_setup($text{'install_err2'}); $need_unlink = 1; if ($no_upload) { &inst_error($text{'install_ebrowser'}); } $file = &transname(&file_basename($in{'upload_filename'})); open(MOD, ">$file"); binmode(MOD); print MOD $in{'upload'}; close(MOD); } elsif ($in{'source'} == 2 || $in{'source'} == 4) { # from ftp or http url (possible third-party) $url = $in{'source'} == 2 ? $in{'url'} : $in{'third'}; &error_setup(&text('install_err3', $url)); $file = &transname(&file_basename($url)); $need_unlink = 1; my $error; $progress_callback_url = $url; if ($url =~ /^(http|https):\/\/([^\/]+)(\/.*)$/) { $ssl = $1 eq 'https'; $host = $2; $page = $3; $port = $ssl ? 443 : 80; if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; } &http_download($host, $port, $page, $file, \$error, \&progress_callback, $ssl); } elsif ($url =~ /^ftp:\/\/([^\/]+)(:21)?\/(.*)$/) { $host = $1; $ffile = $3; &ftp_download($host, $ffile, $file, \$error, \&progress_callback); } else { &inst_error($text{'install_eurl'}); } if ($in{'checksig'} && !$error) { $error = &check_update_signature($host, $port, $page, $ssl, undef, undef, $file, 2); } &inst_error($error) if ($error); } # Install the module(s) $rv = &install_webmin_module($file, $need_unlink, $in{'nodeps'}, $in{'grant'} ? undef : [ split(/\s+/, $in{'grantto'}) ]); if (ref($rv)) { @mdescs = @{$rv->[0]}; @mdirs = @{$rv->[1]}; @msizes = @{$rv->[2]}; } else { &inst_error($rv); } # Display something nice for the user &read_file("$config_directory/webmin.catnames", \%catnames); print "$text{'install_desc'} <p>\n"; print "<ul>\n"; for($i=0; $i<@mdescs; $i++) { $mdirs[$i] =~ /\/([^\/]+)$/; if (%minfo = &get_module_info($1)) { # Installed a module my $cat = $catnames{$minfo{'category'}}; $cat = $text{"category_".$minfo{'category'}} if (!$cat); $cat = $text{"category_"} if (!$cat); print &text($minfo{'hidden'} ? 'install_line3' : 'install_line2', "<b>$mdescs[$i]</b>", "<tt>$mdirs[$i]</tt>", $msizes[$i], $cat, "../$minfo{'dir'}/"), "<br>\n"; } elsif (%tinfo = &get_theme_info($1)) { # Installed a theme print &text('themes_line', "<b>$mdescs[$i]</b>", "<tt>$mdirs[$i]</tt>", $msizes[$i]), "<br>\n"; } } print "</ul><p>\n"; if (defined(&theme_post_change_modules)) { &theme_post_change_modules(); } &ui_print_footer("edit_mods.cgi?mode=install", $text{'mods_return'}, "", $text{'index_return'}); sub inst_error { print "<b>$main::whatfailed : $_[0]</b> <p>\n"; &ui_print_footer("", $text{'index_return'}); exit; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
subdir | Folder | 0755 |
|
|
CHANGELOG | File | 12.02 KB | 0644 |
|
acme_tiny.py | File | 11.24 KB | 0755 |
|
adminupgrade | File | 299 B | 0644 |
|
backup_config.pl | File | 1.97 KB | 0755 |
|
bootup.cgi | File | 1.04 KB | 0755 |
|
cache.cgi | File | 1.47 KB | 0755 |
|
cgi_args.pl | File | 159 B | 0755 |
|
change_access.cgi | File | 1.34 KB | 0755 |
|
change_advanced.cgi | File | 3 KB | 0755 |
|
change_anon.cgi | File | 712 B | 0755 |
|
change_bind.cgi | File | 4.8 KB | 0755 |
|
change_ca.cgi | File | 674 B | 0755 |
|
change_debug.cgi | File | 1.38 KB | 0755 |
|
change_lang.cgi | File | 558 B | 0755 |
|
change_lock.cgi | File | 554 B | 0755 |
|
change_log.cgi | File | 2.38 KB | 0755 |
|
change_mobile.cgi | File | 940 B | 0755 |
|
change_os.cgi | File | 1.85 KB | 0755 |
|
change_osdn.cgi | File | 1.54 KB | 0755 |
|
change_overlay.cgi | File | 1.16 KB | 0755 |
|
change_proxy.cgi | File | 1.09 KB | 0755 |
|
change_referers.cgi | File | 633 B | 0755 |
|
change_session.cgi | File | 4.77 KB | 0755 |
|
change_ssl.cgi | File | 3.03 KB | 0755 |
|
change_startpage.cgi | File | 773 B | 0755 |
|
change_status.cgi | File | 1.02 KB | 0755 |
|
change_theme.cgi | File | 1.16 KB | 0755 |
|
change_twofactor.cgi | File | 1.43 KB | 0755 |
|
change_ui.cgi | File | 1.61 KB | 0755 |
|
change_web.cgi | File | 2.47 KB | 0755 |
|
clear_blocked.cgi | File | 154 B | 0755 |
|
clear_cache.cgi | File | 205 B | 0755 |
|
clone_mod.cgi | File | 2.06 KB | 0755 |
|
config | File | 114 B | 0644 |
|
config.info | File | 696 B | 0644 |
|
config.info.ar | File | 414 B | 0644 |
|
config.info.ca | File | 408 B | 0644 |
|
config.info.cs | File | 233 B | 0644 |
|
config.info.de | File | 368 B | 0644 |
|
config.info.es | File | 229 B | 0644 |
|
config.info.fa | File | 301 B | 0644 |
|
config.info.fr | File | 577 B | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.hu | File | 0 B | 0644 |
|
config.info.it | File | 245 B | 0644 |
|
config.info.ja | File | 531 B | 0644 |
|
config.info.ko | File | 206 B | 0644 |
|
config.info.ms | File | 286 B | 0644 |
|
config.info.nl | File | 299 B | 0644 |
|
config.info.no | File | 283 B | 0644 |
|
config.info.pl | File | 284 B | 0644 |
|
config.info.pt_BR | File | 299 B | 0644 |
|
config.info.ru | File | 491 B | 0644 |
|
config.info.sk | File | 132 B | 0644 |
|
config.info.sv | File | 202 B | 0644 |
|
config.info.tr | File | 155 B | 0644 |
|
cpan_modules.pl | File | 229 B | 0755 |
|
defaultacl | File | 17 B | 0644 |
|
delete_cache.cgi | File | 471 B | 0755 |
|
delete_mod.cgi | File | 2.24 KB | 0755 |
|
delete_webmincron.cgi | File | 1.51 KB | 0755 |
|
download_cert.cgi | File | 532 B | 0755 |
|
edit_access.cgi | File | 1.38 KB | 0755 |
|
edit_advanced.cgi | File | 3.87 KB | 0755 |
|
edit_anon.cgi | File | 812 B | 0755 |
|
edit_assignment.cgi | File | 1.12 KB | 0755 |
|
edit_bind.cgi | File | 2.95 KB | 0755 |
|
edit_blocked.cgi | File | 944 B | 0755 |
|
edit_ca.cgi | File | 2.82 KB | 0755 |
|
edit_categories.cgi | File | 1.69 KB | 0755 |
|
edit_debug.cgi | File | 2.04 KB | 0755 |
|
edit_descs.cgi | File | 1.49 KB | 0755 |
|
edit_ipkey.cgi | File | 1.7 KB | 0755 |
|
edit_lang.cgi | File | 1.82 KB | 0755 |
|
edit_lock.cgi | File | 763 B | 0755 |
|
edit_log.cgi | File | 3.04 KB | 0755 |
|
edit_mobile.cgi | File | 1.26 KB | 0755 |
|
edit_mods.cgi | File | 4.45 KB | 0755 |
|
edit_os.cgi | File | 2.72 KB | 0755 |
|
edit_proxy.cgi | File | 3.7 KB | 0755 |
|
edit_referers.cgi | File | 899 B | 0755 |
|
edit_sendmail.cgi | File | 3.48 KB | 0755 |
|
edit_session.cgi | File | 5.18 KB | 0755 |
|
edit_ssl.cgi | File | 10.55 KB | 0755 |
|
edit_startpage.cgi | File | 1.68 KB | 0755 |
|
edit_status.cgi | File | 1.13 KB | 0755 |
|
edit_themes.cgi | File | 3.72 KB | 0755 |
|
edit_twofactor.cgi | File | 1.5 KB | 0755 |
|
edit_ui.cgi | File | 2.51 KB | 0755 |
|
edit_upgrade.cgi | File | 4.26 KB | 0755 |
|
edit_web.cgi | File | 2.88 KB | 0755 |
|
edit_webmincron.cgi | File | 1.35 KB | 0755 |
|
export_mod.cgi | File | 1.23 KB | 0755 |
|
feedback_files.pl | File | 126 B | 0755 |
|
fix_os.cgi | File | 228 B | 0755 |
|
gnupg-lib.pl | File | 13.38 KB | 0755 |
|
hide.cgi | File | 326 B | 0755 |
|
index.cgi | File | 4.16 KB | 0755 |
|
install_mod.cgi | File | 3.11 KB | 0755 |
|
install_theme.cgi | File | 2.29 KB | 0755 |
|
jcameron-key.asc | File | 1.29 KB | 0644 |
|
letsencrypt-cleanup.pl | File | 2.02 KB | 0755 |
|
letsencrypt-dns.pl | File | 2.57 KB | 0755 |
|
letsencrypt-lib.pl | File | 14.03 KB | 0755 |
|
letsencrypt.cgi | File | 4.64 KB | 0755 |
|
log_parser.pl | File | 1.23 KB | 0755 |
|
module.info | File | 195 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 142 B | 0644 |
|
module.info.ar | File | 185 B | 0644 |
|
module.info.ar.auto | File | 22 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 208 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 218 B | 0644 |
|
module.info.ca | File | 134 B | 0644 |
|
module.info.ca.auto | File | 15 B | 0644 |
|
module.info.cs | File | 28 B | 0644 |
|
module.info.cs.auto | File | 128 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 142 B | 0644 |
|
module.info.de | File | 126 B | 0644 |
|
module.info.de.auto | File | 15 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 262 B | 0644 |
|
module.info.es | File | 33 B | 0644 |
|
module.info.es.auto | File | 109 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 158 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 202 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 141 B | 0644 |
|
module.info.fr | File | 32 B | 0644 |
|
module.info.fr.auto | File | 129 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 195 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 149 B | 0644 |
|
module.info.hu | File | 30 B | 0644 |
|
module.info.hu.auto | File | 148 B | 0644 |
|
module.info.it | File | 33 B | 0644 |
|
module.info.it.auto | File | 107 B | 0644 |
|
module.info.ja | File | 180 B | 0644 |
|
module.info.ko | File | 22 B | 0644 |
|
module.info.ko.auto | File | 129 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 180 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 157 B | 0644 |
|
module.info.ms | File | 119 B | 0644 |
|
module.info.ms.auto | File | 15 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 144 B | 0644 |
|
module.info.nl | File | 28 B | 0644 |
|
module.info.nl.auto | File | 117 B | 0644 |
|
module.info.no | File | 29 B | 0644 |
|
module.info.no.auto | File | 117 B | 0644 |
|
module.info.pl | File | 155 B | 0644 |
|
module.info.pl.auto | File | 15 B | 0644 |
|
module.info.pt | File | 33 B | 0644 |
|
module.info.pt.auto | File | 113 B | 0644 |
|
module.info.pt_BR | File | 36 B | 0644 |
|
module.info.pt_BR.auto | File | 119 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 147 B | 0644 |
|
module.info.ru | File | 34 B | 0644 |
|
module.info.ru.auto | File | 172 B | 0644 |
|
module.info.sk | File | 30 B | 0644 |
|
module.info.sk.auto | File | 132 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 147 B | 0644 |
|
module.info.sv | File | 30 B | 0644 |
|
module.info.sv.auto | File | 114 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 258 B | 0644 |
|
module.info.tr | File | 33 B | 0644 |
|
module.info.tr.auto | File | 128 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 215 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 209 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 177 B | 0644 |
|
module.info.zh | File | 22 B | 0644 |
|
module.info.zh_TW | File | 25 B | 0644 |
|
module.info.zh_TW.auto | File | 115 B | 0644 |
|
newcsr.cgi | File | 800 B | 0755 |
|
newkey.cgi | File | 879 B | 0755 |
|
postinstall.pl | File | 2.01 KB | 0755 |
|
refresh_modules.cgi | File | 664 B | 0755 |
|
restart.cgi | File | 87 B | 0755 |
|
save_assignment.cgi | File | 485 B | 0755 |
|
save_categories.cgi | File | 946 B | 0755 |
|
save_descs.cgi | File | 1006 B | 0755 |
|
save_ipkey.cgi | File | 1.31 KB | 0755 |
|
save_newmod.cgi | File | 278 B | 0755 |
|
save_sendmail.cgi | File | 2.08 KB | 0755 |
|
save_webmincron.cgi | File | 1016 B | 0755 |
|
savekey.cgi | File | 2.8 KB | 0755 |
|
setup_ca.cgi | File | 1.52 KB | 0755 |
|
standard_chooser.cgi | File | 1.68 KB | 0755 |
|
stop_ca.cgi | File | 1.03 KB | 0755 |
|
syslog_logs.pl | File | 633 B | 0755 |
|
system_info.pl | File | 5.02 KB | 0644 |
|
test_sendmail.cgi | File | 784 B | 0755 |
|
third_chooser.cgi | File | 1.55 KB | 0755 |
|
twofactor-funcs-lib.pl | File | 8.81 KB | 0644 |
|
uninstall.pl | File | 236 B | 0755 |
|
update.cgi | File | 2.86 KB | 0755 |
|
upgrade.cgi | File | 16.6 KB | 0755 |
|
view_webmincron.cgi | File | 1.66 KB | 0755 |
|
webmin-lib.pl | File | 68.77 KB | 0755 |
|