diff --git a/webmin/edit_ssl.cgi b/webmin/edit_ssl.cgi index c7ae7d4dc..1b71555a6 100755 --- a/webmin/edit_ssl.cgi +++ b/webmin/edit_ssl.cgi @@ -326,7 +326,7 @@ else { # Install in Webmin now? print &ui_table_row($text{'ssl_usewebmin'}, - &ui_yesno_radio("use", 1)); + &ui_yesno_radio("use", !!($config{'letsencrypt_use'} // 1))); # SSL key size print &ui_table_row($text{'ssl_size'}, diff --git a/webmin/letsencrypt.cgi b/webmin/letsencrypt.cgi index 5cf657c51..e9296da34 100755 --- a/webmin/letsencrypt.cgi +++ b/webmin/letsencrypt.cgi @@ -88,7 +88,8 @@ else { if ($in{'save'}) { # Just update renewal - &save_renewal_only(\@doms, $webroot, $mode, $size, $in{'subset'}); + &save_renewal_only(\@doms, $webroot, $mode, $size, + $in{'subset'}, $in{'use'}); &redirect("edit_ssl.cgi"); } else { @@ -110,8 +111,12 @@ else { # Worked, now copy to Webmin print $text{'letsencrypt_done'},"
\n";
+ # Save the renewal schedule
+ &save_renewal_only(\@doms, $webroot, $mode,
+ $size, $in{'subset'}, $in{'use'});
+
+ # Copy cert, key and chain to Webmin
if ($in{'use'}) {
- # Copy cert, key and chain to Webmin
print $text{'letsencrypt_webmin'},"
\n";
&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
@@ -141,38 +146,33 @@ else {
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
- &save_renewal_only(\@doms, $webroot, $mode,
- $size, $in{'subset'});
-
&webmin_log("letsencrypt");
&restart_miniserv(1);
print $text{'letsencrypt_wdone'},"
\n"; } - else { - # Just tell the user - print $text{'letsencrypt_show'},"
\n"; - my @grid = ( $text{'letsencrypt_cert'}, $cert, - $text{'letsencrypt_key'}, $key ); - if ($chain) { - push(@grid, $text{'letsencrypt_chain'}, $chain); - } - print &ui_grid_table(\@grid, 2); - } + + # Tell the user what was done + print $text{'letsencrypt_show'},"
\n"; + my @grid = ( $text{'letsencrypt_cert'}, $cert, + $text{'letsencrypt_key'}, $key ); + push(@grid, $text{'letsencrypt_chain'}, $chain) if ($chain); + print &ui_grid_table(\@grid, 2); } &ui_print_footer("", $text{'index_return'}); } -# save_renewal_only(&doms, webroot, mode, size, subset-mode) +# save_renewal_only(&doms, webroot, mode, size, subset-mode, used-by-webmin) # Save for future renewals sub save_renewal_only { -my ($doms, $webroot, $mode, $size, $subset) = @_; +my ($doms, $webroot, $mode, $size, $subset, $usewebmin) = @_; $config{'letsencrypt_doms'} = join(" ", @$doms); $config{'letsencrypt_webroot'} = $webroot; $config{'letsencrypt_mode'} = $mode; $config{'letsencrypt_size'} = $size; $config{'letsencrypt_subset'} = $subset; +$config{'letsencrypt_use'} = $usewebmin; &save_module_config(); if (&foreign_check("webmincron")) { my $job = &find_letsencrypt_cron_job(); diff --git a/webmin/webmin-lib.pl b/webmin/webmin-lib.pl index 20dd7ab10..7b292baeb 100755 --- a/webmin/webmin-lib.pl +++ b/webmin/webmin-lib.pl @@ -2697,6 +2697,7 @@ my @doms = split(/\s+/, $config{'letsencrypt_doms'}); my $webroot = $config{'letsencrypt_webroot'}; my $mode = $config{'letsencrypt_mode'} || "web"; my $size = $config{'letsencrypt_size'}; +my $usewebmin = !!($config{'letsencrypt_use'} // 1); if (!@doms) { print "No domains saved to renew cert for!\n"; return; @@ -2716,6 +2717,9 @@ if (!$ok) { return; } +# If we don't want to update the Webmin SSL certificate, then just return +return if (!$usewebmin); + # Copy into place my %miniserv; &lock_file($ENV{'MINISERV_CONFIG'});