Commit a1609d2d authored by Ad Schellevis's avatar Ad Schellevis

(ids) autogenerate cron job on enable/disable

parent 42fb9d48
......@@ -33,6 +33,8 @@ use \OPNsense\Base\Filters\QueryFilter;
use \OPNsense\Base\ApiControllerBase;
use \OPNsense\Core\Backend;
use \OPNsense\IDS\IDS;
use \OPNsense\Cron\Cron;
use \OPNsense\Core\Config;
/**
* Class ServiceController
......@@ -124,6 +126,20 @@ class ServiceController extends ApiControllerBase
$this->sessionClose();
$mdlIDS = new IDS();
$runStatus = $this->statusAction();
// we should always have a cron item configured for IDS, let's create one upon first reconfigure.
if ((string)$mdlIDS->general->UpdateCron == "") {
$mdlCron = new Cron();
// update cron relation ( if this doesn't break consistency)
$mdlIDS->general->UpdateCron = $mdlCron->newDailyJob("IDS", "ids update", "ids rule updates", "0");
if ($mdlCron->performValidation()->count() == 0) {
$mdlCron->serializeToConfig();
// save data to config, do not validate because the current in memory model doesn't know about the
// cron item just created.
$mdlIDS->serializeToConfig($disable_validation = true);
Config::getInstance()->save();
}
}
if ($runStatus['status'] == "running" && (string)$mdlIDS->general->enabled == 0) {
$this->stopAction();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment