diff --git a/security/pfSense-pkg-acme/Makefile b/security/pfSense-pkg-acme/Makefile index 84bda7d48ece..490d37274432 100644 --- a/security/pfSense-pkg-acme/Makefile +++ b/security/pfSense-pkg-acme/Makefile @@ -12,6 +12,8 @@ COMMENT= pfSense package acme USE_PHP= ftp +RUN_DEPENDS= samba-nsupdate:dns/samba-nsupdate + CONFLICTS= NO_BUILD= yes diff --git a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme.inc b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme.inc index 53b24faaccd8..a36e9563f921 100644 --- a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme.inc +++ b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme.inc @@ -196,7 +196,7 @@ $acme_domain_validation_method['dns_me'] = array(name => "DNS-DNSMadeEasy", 'description' =>"Fill in the API Secret" ) )); -/*$acme_domain_validation_method['dns_nsupdate'] = array(name => "DNS-NSupdate", +$acme_domain_validation_method['dns_nsupdate'] = array(name => "DNS-NSupdate", 'fields' => array( 'NSUPDATE_SERVER' => array('name'=>"NSUPDATE_SERVER",'columnheader'=>"Key",'type'=>"textbox", 'description' =>"Fill in the API Key" @@ -204,7 +204,7 @@ $acme_domain_validation_method['dns_me'] = array(name => "DNS-DNSMadeEasy", 'NSUPDATE_KEY' => array('name'=>"NSUPDATE_KEY",'columnheader'=>"Id",'type'=>"textarea", 'description' =>"Fill in the API Id" ) - ));needs a file reference..*/ + )); $acme_domain_validation_method['dns_ovh'] = array(name => "DNS-ovh / kimsufi / soyoustart / runabove", 'fields' => array( 'OVH_AK' => array('name'=>"OVH_AK",'columnheader'=>"Application Key",'type'=>"textbox", diff --git a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_gui.inc b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_gui.inc index 0be1b4d760bc..ac4b2854de2c 100644 --- a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_gui.inc +++ b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_gui.inc @@ -32,7 +32,7 @@ $acme_icons = array( "icon" => "icon_down.gif", "iconsize" => 17), 'add' => array( - "faicon" => "fa-level-down", + "faicon" => "fa-plus", "icon" => "icon_plus.gif", "iconsize" => 17), 'delete' => array( diff --git a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_htmllist.inc b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_htmllist.inc index f641207fedc4..ad5cb10b657d 100644 --- a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_htmllist.inc +++ b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_htmllist.inc @@ -332,9 +332,9 @@ EOT } $result .= " - - ".acmeicon('add','add another entry')." - + "; return $result; } diff --git a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_sh.inc b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_sh.inc index bfdb46af10d6..22724efceb7d 100644 --- a/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_sh.inc +++ b/security/pfSense-pkg-acme/files/usr/local/pkg/acme/acme_sh.inc @@ -80,7 +80,12 @@ class acme_sh { function generateAccountKey() { unlink_if_exists("{$this->path_account}/account.key"); $this->debug = false; - $this->execacmesh("--home {$this->acmeconf} --createAccountKey --accountkeylength 4096 --accountconf {$this->accountconfig}"); + $this->execacmesh("" + . " --home " . escapeshellarg($this->acmeconf) + . " --createAccountKey" + . " --accountkeylength 4096" + . " --accountconf " . escapeshellarg($this->accountconfig) + ); $privateKey = file_get_contents("{$this->path_account}/account.key"); return $privateKey; } @@ -88,11 +93,11 @@ class acme_sh { function registeraccount($key) { file_put_contents("{$this->path_account}/account.key", $key); $result = $this->execacmesh("" - . " --home {$this->acmeconf}" + . " --home " . escapeshellarg($this->acmeconf) . " --registeraccount" - . " --accountconf {$this->accountconfig}" + . " --accountconf " . escapeshellarg($this->accountconfig) . " --log-level 3" - . " --log {$this->acmeconf}acme_issuecert.log"); + . " --log " . escapeshellarg($this->acmeconf."acme_issuecert.log")); return $result == 0; } @@ -104,15 +109,16 @@ class acme_sh { } $certpath = "{$this->acmeconf}{$domain}{$pathadd}"; safe_mkdir($certpath); - + unlink_if_exists("{$certpath}/{$domain}.key"); $this->execacmesh("" - . " --home {$this->acmeconf}" - . " --accountconf {$this->accountconfig}" - . " --createDomainKey -d $domain" - . " --keylength $keylength" + . " --home " . escapeshellarg($this->acmeconf) + . " --accountconf " . escapeshellarg($this->accountconfig) + . " --createDomainKey -d " . escapeshellarg($domain) + . " --keylength " . escapeshellarg($keylength) . " --log-level 3" - . " --log {$this->acmeconf}acme_createdomainkey.log"); + . " --log " . escapeshellarg($this->acmeconf."acme_createdomainkey.log") + ); $privateKey = file_get_contents("{$certpath}/{$domain}.key"); return $privateKey; } diff --git a/security/pfSense-pkg-acme/files/usr/local/www/acme/acme_accountkeys.php b/security/pfSense-pkg-acme/files/usr/local/www/acme/acme_accountkeys.php index c34e7a67017e..6602670e96df 100644 --- a/security/pfSense-pkg-acme/files/usr/local/www/acme/acme_accountkeys.php +++ b/security/pfSense-pkg-acme/files/usr/local/www/acme/acme_accountkeys.php @@ -195,7 +195,7 @@