From 9ec03bade7d7edcb3c9eab54fd85009903ff45cb Mon Sep 17 00:00:00 2001 From: kionez Date: Tue, 8 Oct 2019 17:32:03 +0200 Subject: [PATCH 1/3] Add expiration date to SSL certificates loaded via API request --- lib/Froxlor/Api/Commands/Certificates.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/Froxlor/Api/Commands/Certificates.php b/lib/Froxlor/Api/Commands/Certificates.php index a725a969..7a9adac0 100644 --- a/lib/Froxlor/Api/Commands/Certificates.php +++ b/lib/Froxlor/Api/Commands/Certificates.php @@ -271,6 +271,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou throw new \Exception("Unable to determine SSL certificate. Maybe no access?", 406); } + /** * insert or update certificates entry * @@ -292,6 +293,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou } $do_verify = true; + $expirationdate = NULL; // no cert-file given -> forget everything if ($ssl_cert_file == '') { $ssl_key_file = ''; @@ -332,6 +334,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou } else { \Froxlor\UI\Response::standard_error('sslcertificateinvalidcert', '', true); } + $expirationdate = $cert_content['validTo_time_t']; } // Add/Update database entry @@ -345,7 +348,8 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou `ssl_cert_file` = :ssl_cert_file, `ssl_key_file` = :ssl_key_file, `ssl_ca_file` = :ssl_ca_file, - `ssl_cert_chainfile` = :ssl_cert_chainfile + `ssl_cert_chainfile` = :ssl_cert_chainfile, + `expirationdate` = :expirationdate " . $qrywhere . " `domainid`= :domainid "); $params = array( @@ -353,6 +357,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou "ssl_key_file" => $ssl_key_file, "ssl_ca_file" => $ssl_ca_file, "ssl_cert_chainfile" => $ssl_cert_chainfile, + "expirationdate" => date("Y-m-d H:i:s", $expirationdate), "domainid" => $domainid ); Database::pexecute($stmt, $params, true, true); From 05f602d45775571141c508806da82ddd9b263760 Mon Sep 17 00:00:00 2001 From: kionez Date: Tue, 8 Oct 2019 17:44:41 +0200 Subject: [PATCH 2/3] Fix for null expiration date and coding style --- lib/Froxlor/Api/Commands/Certificates.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Froxlor/Api/Commands/Certificates.php b/lib/Froxlor/Api/Commands/Certificates.php index 7a9adac0..0b9b9505 100644 --- a/lib/Froxlor/Api/Commands/Certificates.php +++ b/lib/Froxlor/Api/Commands/Certificates.php @@ -293,7 +293,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou } $do_verify = true; - $expirationdate = NULL; + $expirationdate = null; // no cert-file given -> forget everything if ($ssl_cert_file == '') { $ssl_key_file = ''; @@ -334,7 +334,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou } else { \Froxlor\UI\Response::standard_error('sslcertificateinvalidcert', '', true); } - $expirationdate = $cert_content['validTo_time_t']; + $expirationdate = empty($cert_content['validTo_time_t']) ? null : $date("Y-m-d H:i:s", $cert_content['validTo_time_t']); } // Add/Update database entry @@ -357,7 +357,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou "ssl_key_file" => $ssl_key_file, "ssl_ca_file" => $ssl_ca_file, "ssl_cert_chainfile" => $ssl_cert_chainfile, - "expirationdate" => date("Y-m-d H:i:s", $expirationdate), + "expirationdate" => $expirationdate, "domainid" => $domainid ); Database::pexecute($stmt, $params, true, true); From 1b3029b82634b60e5a8121dae8dd0d55eae976ac Mon Sep 17 00:00:00 2001 From: kionez Date: Tue, 8 Oct 2019 18:50:10 +0200 Subject: [PATCH 3/3] Fix typo --- lib/Froxlor/Api/Commands/Certificates.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Froxlor/Api/Commands/Certificates.php b/lib/Froxlor/Api/Commands/Certificates.php index 0b9b9505..46091869 100644 --- a/lib/Froxlor/Api/Commands/Certificates.php +++ b/lib/Froxlor/Api/Commands/Certificates.php @@ -334,7 +334,7 @@ class Certificates extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resou } else { \Froxlor\UI\Response::standard_error('sslcertificateinvalidcert', '', true); } - $expirationdate = empty($cert_content['validTo_time_t']) ? null : $date("Y-m-d H:i:s", $cert_content['validTo_time_t']); + $expirationdate = empty($cert_content['validTo_time_t']) ? null : date("Y-m-d H:i:s", $cert_content['validTo_time_t']); } // Add/Update database entry