summaryrefslogtreecommitdiffstats
path: root/modules-available/webinterface/page.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2025-08-12 14:52:40 +0200
committerSimon Rettberg2025-08-12 14:52:40 +0200
commit32ec0505afae781a44466621ebbd8e83cf68fdb8 (patch)
treeb4f3db53319de6112bafaf99dd5999858e88e0e2 /modules-available/webinterface/page.inc.php
parent[locationinfo] Update HisInOne title cleanup regex (diff)
downloadslx-admin-32ec0505afae781a44466621ebbd8e83cf68fdb8.tar.gz
slx-admin-32ec0505afae781a44466621ebbd8e83cf68fdb8.tar.xz
slx-admin-32ec0505afae781a44466621ebbd8e83cf68fdb8.zip
[webinterface] Add support for HARICA and custom URLs
Diffstat (limited to 'modules-available/webinterface/page.inc.php')
-rw-r--r--modules-available/webinterface/page.inc.php5
1 files changed, 4 insertions, 1 deletions
diff --git a/modules-available/webinterface/page.inc.php b/modules-available/webinterface/page.inc.php
index fb982616..880a67b8 100644
--- a/modules-available/webinterface/page.inc.php
+++ b/modules-available/webinterface/page.inc.php
@@ -153,6 +153,7 @@ class Page_WebInterface extends Page
$data['acmeMail'] = Acme::getMail();
$data['acmeDomains'] = $domains;
if (User::hasPermission("edit.https")) {
+ $data['acmeServerUrl'] = Acme::getServerUrl();
$data['acmeKeyId'] = Acme::getKeyId();
$data['acmeHmacKey'] = Acme::getHmacKey();
$data['httpsApiKey'] = WebInterface::getApiKey();
@@ -246,6 +247,7 @@ class Page_WebInterface extends Page
$wipeAll = Request::post('acme-wipe-all', false, 'bool');
// Get params
$provider = Request::post('acme-provider', Request::REQUIRED, 'string');
+ $serverUrl = Request::post('acme-server-url', null, 'string');
$mail = Request::post('acme-mail', Request::REQUIRED, 'string');
$domains = Request::post('acme-domains', Request::REQUIRED, 'string');
$kid = Request::post('acme-kid', null, 'string');
@@ -265,6 +267,7 @@ class Page_WebInterface extends Page
// First, try to revive existing config/certs if parameters didn't change
if (!$wipeAll
&& $provider === Acme::getProvider()
+ && ($provider !== 'custom' || $serverUrl === Acme::getServerUrl())
&& $mail === Acme::getMail()
&& $kid === Acme::getKeyId()
&& $hmac === Acme::getHmacKey()
@@ -274,7 +277,7 @@ class Page_WebInterface extends Page
return null; // Nothing to do, old setup works
return Acme::renew(); // Hope for the best, otherwise user needs to check "force reissue"
}
- if (!Acme::setConfig($provider, $mail, $kid, $hmac))
+ if (!Acme::setConfig($provider, $mail, $serverUrl, $kid, $hmac))
return null; // Will generate error messages in this case
Acme::setDomains($domains);
return Acme::issueNewCertificate($wipeAll);