diff --git a/security/clamav/Makefile b/security/clamav/Makefile index acebf07b1..161d68673 100644 --- a/security/clamav/Makefile +++ b/security/clamav/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= clamav -PLUGIN_VERSION= 1.0 +PLUGIN_VERSION= 1.1 PLUGIN_COMMENT= Antivirus engine for detecting malicious threats PLUGIN_DEPENDS= clamav PLUGIN_MAINTAINER= m.muenz@gmail.com diff --git a/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/Api/ServiceController.php b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/Api/ServiceController.php index 6d3c648b0..d6879f97e 100644 --- a/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/Api/ServiceController.php +++ b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/Api/ServiceController.php @@ -163,4 +163,37 @@ class ServiceController extends ApiControllerBase return array("status" => "failed"); } } + + /** + * get ClamAV and signature versions + */ + public function versionAction() + { + $infos = array( + "clamav" => array("search" => "Version: "), + "main" => array("search" => "main.cvd: "), + "daily" => array("search" => "daily.cld: "), + "bytecode" => array("search" => "bytecode.cld: "), + "signatures" => array("search" => "Total number of signatures: ") + ); + $backend = new Backend(); + $result = array(); + $response = $backend->configdRun("clamav version"); + if ($response != null) { + foreach (explode("\n", $response) as $str) { + foreach ($infos as $key => $info) { + if (strpos($str, $info["search"]) !== false) { + $version = substr($str, strlen($info["search"])); + if (isset($version)) { + $result[$key] = $version; + } + } + } + } + return array("version" => $result); + } + else { + return array(); + } + } } diff --git a/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/GeneralController.php b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/GeneralController.php index d78528fb4..6e2eb9c0b 100644 --- a/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/GeneralController.php +++ b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/GeneralController.php @@ -34,6 +34,7 @@ class GeneralController extends \OPNsense\Base\IndexController { $this->view->title = gettext("ClamAV Settings"); $this->view->generalForm = $this->getForm("general"); + $this->view->versionForm = $this->getForm("version"); $this->view->pick('OPNsense/ClamAV/general'); } } diff --git a/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/forms/version.xml b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/forms/version.xml new file mode 100644 index 000000000..65df363ba --- /dev/null +++ b/security/clamav/src/opnsense/mvc/app/controllers/OPNsense/ClamAV/forms/version.xml @@ -0,0 +1,27 @@ +
\ No newline at end of file diff --git a/security/clamav/src/opnsense/mvc/app/views/OPNsense/ClamAV/general.volt b/security/clamav/src/opnsense/mvc/app/views/OPNsense/ClamAV/general.volt index 5b5aeb2f9..e574f1fe9 100644 --- a/security/clamav/src/opnsense/mvc/app/views/OPNsense/ClamAV/general.volt +++ b/security/clamav/src/opnsense/mvc/app/views/OPNsense/ClamAV/general.volt @@ -29,9 +29,14 @@ POSSIBILITY OF SUCH DAMAGE. + +