diff --git a/src/etc/pkg/fingerprints/OPNsense/trusted/opnsense-update.deciso.com.20160725 b/src/etc/pkg/fingerprints/OPNsense/trusted/opnsense-update.deciso.com.20160725 new file mode 100644 index 000000000..763858c6d --- /dev/null +++ b/src/etc/pkg/fingerprints/OPNsense/trusted/opnsense-update.deciso.com.20160725 @@ -0,0 +1,2 @@ +function: "sha256" +fingerprint: "c3cf42fa6dd81c9be7decd2c76d1ee834b903b2f0188c90fa773b60673dd47ae" diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php index 23e43c4f6..e37ad96ac 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php @@ -396,6 +396,7 @@ class FirmwareController extends ApiControllerBase $mirrors = array(); $mirrors[''] = '(default)'; $mirrors['https://opnsense.aivian.org'] = 'Aivian (Shaoxing, CN)'; + $mirrors['https://opnsense-update.deciso.com'] = 'Deciso (NL, Commercial)'; $mirrors['https://mirror.auf-feindgebiet.de/opnsense'] = 'auf-feindgebiet.de (Karlsruhe, DE)'; $mirrors['https://opnsense.c0urier.net'] = 'c0urier.net (Lund, SE)'; //$mirrors['https://fleximus.org/mirror/opnsense'] = 'Fleximus (Roubaix, FR)'; @@ -408,12 +409,15 @@ class FirmwareController extends ApiControllerBase $mirrors['http://mirror.ragenetwork.de/opnsense'] = 'RageNetwork (Munich, DE)'; $mirrors['http://mirror.wjcomms.co.uk/opnsense'] = 'WJComms (London, GB)'; + $has_subscription = array(); + $has_subscription[] = 'https://opnsense-update.deciso.com'; + $flavours = array(); $flavours[''] = '(default)'; $flavours['libressl'] = 'LibreSSL'; $flavours['latest'] = 'OpenSSL'; - return array("mirrors"=>$mirrors, "flavours" => $flavours); + return array("mirrors"=>$mirrors, "flavours" => $flavours, 'has_subscription' => $has_subscription); } /** @@ -448,6 +452,7 @@ class FirmwareController extends ApiControllerBase $response['status'] = 'ok'; $selectedMirror = filter_var($this->request->getPost("mirror", null, ""), FILTER_SANITIZE_URL); $selectedFlavour = filter_var($this->request->getPost("flavour", null, ""), FILTER_SANITIZE_URL); + $selSubscription = filter_var($this->request->getPost("subscription", null, ""), FILTER_SANITIZE_URL); // config data without model, prepare xml structure and write data if (!isset(Config::getInstance()->object()->system->firmware)) { @@ -457,7 +462,13 @@ class FirmwareController extends ApiControllerBase if (!isset(Config::getInstance()->object()->system->firmware->mirror)) { Config::getInstance()->object()->system->firmware->addChild('mirror'); } - Config::getInstance()->object()->system->firmware->mirror = $selectedMirror; + + if (empty($selSubscription)) { + Config::getInstance()->object()->system->firmware->mirror = $selectedMirror; + } else { + // prepend subscription + Config::getInstance()->object()->system->firmware->mirror = $selectedMirror . '/' . $selSubscription; + } if (!isset(Config::getInstance()->object()->system->firmware->flavour)) { Config::getInstance()->object()->system->firmware->addChild('flavour'); diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt index d1a6297fc..d1541b7c9 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt @@ -318,6 +318,7 @@ POSSIBILITY OF SUCH DAMAGE. $("#firmware_mirror").append($("