From 80f0c0b8783a5ba895b493df76086b316b57a8a6 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Sun, 19 Dec 2021 23:02:43 +0100 Subject: [PATCH] security/acme-client: fix incompatibility with new gcloud SDK, closes #2710 While here, add the --quiet option which is recommended when running gcloud commands in a script. --- security/acme-client/pkg-descr | 1 + .../AcmeClient/LeValidation/DnsGcloud.php | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/security/acme-client/pkg-descr b/security/acme-client/pkg-descr index ad9ac65bb..65bc3ac43 100644 --- a/security/acme-client/pkg-descr +++ b/security/acme-client/pkg-descr @@ -13,6 +13,7 @@ Plugin Changelog Fixed: * fix SFTP buttons not visible (#2712) * fix invalid default value when no WAN interface can be found (#2712) +* fix incompatibility with new gcloud SDK (#2710) 3.6 diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsGcloud.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsGcloud.php index 045363b7c..5b3f35ce1 100644 --- a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsGcloud.php +++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsGcloud.php @@ -1,7 +1,7 @@ config->id; + // NOTE: Never versions of gcloud SDK no longer allow dots in config names. + $val_id = str_replace('.', '-', (string)$this->config->id); $gcloud_config = "acme-${val_id}"; $gcloud_key_file = '/tmp/acme_' . (string)$this->config->dns_service . "_${val_id}.json"; file_put_contents($gcloud_key_file, (string)$this->config->dns_gcloud_key); @@ -74,11 +75,11 @@ class DnsGcloud extends Base implements LeValidationInterface $proc_env['CLOUDSDK_CORE_PROJECT'] = $gcloud_project; // Ensure that a working gcloud config exists. - LeUtils::run_shell_command("/usr/local/bin/gcloud config configurations create ${gcloud_config}", $proc_env); - LeUtils::run_shell_command("/usr/local/bin/gcloud config configurations activate ${gcloud_config}", $proc_env); - LeUtils::run_shell_command("/usr/local/bin/gcloud auth activate-service-account --key-file=${gcloud_key_file}", $proc_env); - LeUtils::run_shell_command("/usr/local/bin/gcloud config set account ${gcloud_account}", $proc_env); - LeUtils::run_shell_command("/usr/local/bin/gcloud config set project ${gcloud_project}", $proc_env); + LeUtils::run_shell_command("/usr/local/bin/gcloud --quiet config configurations create ${gcloud_config}", $proc_env); + LeUtils::run_shell_command("/usr/local/bin/gcloud --quiet config configurations activate ${gcloud_config}", $proc_env); + LeUtils::run_shell_command("/usr/local/bin/gcloud --quiet auth activate-service-account --key-file=${gcloud_key_file}", $proc_env); + LeUtils::run_shell_command("/usr/local/bin/gcloud --quiet config set account ${gcloud_account}", $proc_env); + LeUtils::run_shell_command("/usr/local/bin/gcloud --quiet config set project ${gcloud_project}", $proc_env); // Save config for acme client. $this->acme_env['CLOUDSDK_PYTHON'] = '/usr/local/bin/python3';