⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
webmin
/
virtual-server
/
Edit File: newchain.cgi
#!/usr/bin/perl # Save CA certificate require './virtual-server-lib.pl'; &ReadParseMime(); &error_setup($text{'chain_err'}); $d = &get_domain($in{'dom'}); &can_edit_domain($d) && &can_edit_ssl() || &error($text{'edit_ecannot'}); # Validate and store inputs $oldchain = &get_website_ssl_file($d, 'ca'); if ($in{'mode'} == 0) { # No file $chain = undef; } elsif ($in{'mode'} == 1) { # File on server if (&can_chained_cert_path()) { # Use new path, which must exist -r $in{'file'} || &error($text{'chain_efile'}); $data = &read_file_contents($in{'file'}); $err = &check_certificate_data($data); $err && &error(&text('chain_ecert', $err)); $chain = $in{'file'}; } else { # Stick with current $oldchain || &error($text{'chain_emode1'}); $chain = $oldchain; } } elsif ($in{'mode'} == 2) { # New uploaded file $in{'upload'} || &error($text{'chain_eupload'}); $err = &check_certificate_data($in{'upload'}); $err && &error(&text('chain_ecert', $err)); $chain = &default_certificate_file($d, 'ca'); &lock_file($chain); &unlink_file_as_domain_user($d, $chain); &write_ssl_file_contents($d, $chain, $in{'upload'}); &unlock_file($chain); } elsif ($in{'mode'} == 3) { # New pasted text $in{'paste'} =~ s/\r//g; $in{'paste'} || &error($text{'chain_epaste'}); $err = &check_certificate_data($in{'paste'}); $err && &error(&text('chain_ecert', $err)); $chain = &default_certificate_file($d, 'ca'); &lock_file($chain); &unlink_file_as_domain_user($d, $chain); &write_ssl_file_contents($d, $chain, $in{'paste'}); &set_permissions_as_domain_user($d, 0755, $chain); &unlock_file($chain); } # Run the before command &set_domain_envs($d, "SSL_DOMAIN", $d); $merr = &making_changes(); &reset_domain_envs($d); &error(&text('setup_emaking', "<tt>$merr</tt>")) if (defined($merr)); @beforecerts = &get_all_domain_service_ssl_certs($d); # Apply it, including domains that share a cert &set_all_null_print(); &obtain_lock_ssl($d); $err = &save_website_ssl_file($d, 'ca', $chain); &error($err) if ($err); $d->{'ssl_chain'} = $chain; &sync_combined_ssl_cert($d); # Update other services using the cert &update_all_domain_service_ssl_certs($d, \@beforecerts); &release_lock_ssl($d); &save_domain($d); foreach $od (&get_domain_by("ssl_same", $d->{'id'})) { next if (!&domain_has_ssl_cert($od)); $od->{'ssl_chain'} = $chain; &save_website_ssl_file($od, 'ca', $chain); &save_domain($od); } # Run the after command &set_domain_envs($d, "SSL_DOMAIN"); local $merr = &made_changes(); &$second_print(&text('setup_emade', "<tt>$merr</tt>")) if (defined($merr)); &reset_domain_envs($d); &run_post_actions(); &domain_redirect($d);
Simpan