#!/usr/bin/perl # Called by the let's encrypt client to remove a DNS record for validation $no_acl_check++; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; if ($0 =~ /^(.*)\/[^\/]+$/) { chdir($pwd = $1); } else { chop($pwd = `pwd`); } $0 = "$pwd/letsencrypt-cleanup.pl"; require './webmin-lib.pl'; &foreign_require("bind8"); # Validate params my $dname = $ENV{'CERTBOT_DOMAIN'}; $dname || die "Missing CERTBOT_DOMAIN environment variable"; # Find the DNS domain and records my $d = &get_virtualmin_for_domain($dname); my ($zone, $zname) = &get_bind_zone_for_domain($dname); my ($recs, $file); my $wapi; if ($zone) { # Use BIND module API calls $zone->{'file'} || die "Zone $dname does not have a records file"; &lock_file(&bind8::make_chroot(&bind8::absolute_path($zone->{'file'}))); &bind8::before_editing($zone); $recs = [ &bind8::read_zone_file($zone->{'file'}, $zname) ]; $file = $zone->{'file'}; $wapi = 0; } elsif ($d) { # Use Virtualmin API calls &virtual_server::obtain_lock_dns($d); &virtual_server::pre_records_change($d); ($recs, $file) = &virtual_server::get_domain_dns_records_and_file($d); $wapi = 1; } else { die "No DNS zone named $dname found"; } # Find and remove the record. Does nothing if it doesn't exist so as not to # fail a repeated cleanup. my ($r) = grep { $_->{'name'} eq "_acme-challenge.".$dname."." } @$recs; if ($r) { if ($wapi) { &virtual_server::delete_dns_record($recs, $file, $r); } else { &bind8::delete_record($file, $r); } } if (!$wapi) { # Apply using BIND API calls &bind8::sign_dnssec_zone_if_key($zone, $recs); &bind8::bump_soa_record($file, $recs); &bind8::after_editing($zone); &unlock_file(&bind8::make_chroot(&bind8::absolute_path($file))); &bind8::restart_zone($zone->{'name'}, $zone->{'view'}); } else { # Apply using Virtualmin API &virtual_server::post_records_change($d, $recs, $file); &virtual_server::release_lock_dns($d); &virtual_server::reload_bind_records($d); } &webmin_log("letsencryptcleanup", undef, $dname);
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 |
|