From 3560c8d8e14e5ddc8a619844d9ab86d3b9d8d52e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 06 Jul 2016 10:29:10 -0400
Subject: [PATCH] Fixed issue in SQL lib.
---
server/lib/classes/cron.d/900-letsencrypt.inc.php | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/server/lib/classes/cron.d/900-letsencrypt.inc.php b/server/lib/classes/cron.d/900-letsencrypt.inc.php
index 4ee72bd..5441ac2 100644
--- a/server/lib/classes/cron.d/900-letsencrypt.inc.php
+++ b/server/lib/classes/cron.d/900-letsencrypt.inc.php
@@ -36,8 +36,28 @@
public function onRunJob() {
global $app, $conf;
- if(file_exists("/root/.local/share/letsencrypt/bin/letsencrypt-renewer")) {
- exec('/root/.local/share/letsencrypt/bin/letsencrypt-renewer');
+ $letsencrypt = array_shift( explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt')) );
+ if(is_executable($letsencrypt)) {
+ $version = trim(exec($letsencrypt . ' --version 2>/dev/null'));
+ if(preg_match('/^(\S+)\s+(\d+(\.\d+)+)$/', $version, $matches)) {
+ $type = strtolower($matches[1]);
+ $version = $matches[2];
+ if(($type != 'letsencrypt' && $type != 'certbot') || version_compare($version, '0.7.0', '<')) {
+ exec($letsencrypt . ' -n renew');
+ $app->services->restartServiceDelayed('httpd', 'reload');
+ } else {
+ $marker_file = '/usr/local/ispconfig/server/le.restart';
+ $cmd = "echo '1' > " . $marker_file;
+ exec($letsencrypt . ' -n renew --post-hook ' . escapeshellarg($cmd));
+ if(file_exists($marker_file) && trim(file_get_contents($marker_file)) == '1') {
+ unlink($marker_file);
+ $app->services->restartServiceDelayed('httpd', 'reload');
+ }
+ }
+ } else {
+ exec($letsencrypt . ' -n renew');
+ $app->services->restartServiceDelayed('httpd', 'reload');
+ }
}
parent::onRunJob();
--
Gitblit v1.9.1