From 76fc4e8ac0b6bb669717a048ff9b8842b7a33517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20K=C3=B6rfgen?= Date: Mon, 4 Mar 2024 21:15:52 +0100 Subject: [PATCH] Fix for issues #6918 and #6956 (#6991) * Fix for issues #6918 and #6956 * formatting --- src/Service/Acme.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Service/Acme.php b/src/Service/Acme.php index 1b34469d5..98a4b28ac 100644 --- a/src/Service/Acme.php +++ b/src/Service/Acme.php @@ -131,7 +131,9 @@ final class Acme && empty(array_diff($domains, $acme->getSAN('file://' . $acmeDir . '/acme.crt'))) && $acme->getRemainingDays('file://' . $acmeDir . '/acme.crt') > self::THRESHOLD_DAYS ) { - $this->checkLinks($acmeDir); + if (!$this->checkLinks($acmeDir)) { + $this->reloadServices(); + } throw new RuntimeException('Certificate does not need renewal.'); } @@ -169,10 +171,12 @@ final class Acme // Symlink to the shared SSL cert. $this->checkLinks($acmeDir); + $this->reloadServices(); + $this->logger->notice('ACME certificate process successful.'); } - private function checkLinks(string $acmeDir): void + private function checkLinks(string $acmeDir): bool { $fs = new Filesystem(); @@ -180,7 +184,7 @@ final class Acme $fs->readlink($acmeDir . '/ssl.crt', true) === $acmeDir . '/acme.crt' && $fs->readlink($acmeDir . '/ssl.key', true) === $acmeDir . '/acme.key' ) { - return; + return true; } $fs->remove([ @@ -191,7 +195,7 @@ final class Acme $fs->symlink($acmeDir . '/acme.crt', $acmeDir . '/ssl.crt'); $fs->symlink($acmeDir . '/acme.key', $acmeDir . '/ssl.key'); - $this->reloadServices(); + return false; } private function reloadServices(): void