Florian Schaal
2016-03-22 5ca959fa688255a8de61f89fe2751eb4d24a6912
server/lib/classes/cron.d/100-monitor_clamav_log.inc.php
@@ -82,14 +82,8 @@
       * Insert the data into the database
       */
      $sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' .
         'VALUES (' .
         $res['server_id'] . ', ' .
         "'" . $app->dbmaster->quote($res['type']) . "', " .
         'UNIX_TIMESTAMP(), ' .
         "'" . $app->dbmaster->quote(serialize($res['data'])) . "', " .
         "'" . $res['state'] . "'" .
         ')';
      $app->dbmaster->query($sql);
         'VALUES (?, ?, UNIX_TIMESTAMP(), ?, ?)';
      $app->dbmaster->query($sql, $res['server_id'], $res['type'], serialize($res['data']), $res['state']);
      /* The new data is written, now we can delete the old one */
      $this->_tools->delOldRecords($res['type'], $res['server_id']);
@@ -132,15 +126,20 @@
       * Now we have the last log in the array.
       * Check if the outdated-string is found...
       */
      $clamav_outdated_warning = false;
      $clamav_bytecode_updated = false;
      foreach ($lastLog as $line) {
         if (strpos(strtolower($line), 'outdated') !== false) {
            /*
             * Outdatet is only info, because if we set this to warning, the server is
             * as long in state warning, as there is a new version of ClamAv which takes
             * sometimes weeks!
             */
            $state = $this->_tools->_setState($state, 'info');
         if (stristr($line,"Can't download daily.cvd from")) {
            $clamav_outdated_warning = true;
         }
         if(stristr($line,'main.cld is up to date')) {
            $clamav_bytecode_updated = true;
         }
      }
      //* Warn when clamav is outdated and main.cld update failed.
      if($clamav_outdated_warning == true && $clamav_bytecode_updated == false) {
         $state = $this->_tools->_setState($state, 'info');
      }
      $res = array();
@@ -153,14 +152,8 @@
       * Insert the data into the database
       */
      $sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' .
         'VALUES (' .
         $res['server_id'] . ', ' .
         "'" . $app->dbmaster->quote($res['type']) . "', " .
         'UNIX_TIMESTAMP(), ' .
         "'" . $app->dbmaster->quote(serialize($res['data'])) . "', " .
         "'" . $res['state'] . "'" .
         ')';
      $app->dbmaster->query($sql);
         'VALUES (?, ?, UNIX_TIMESTAMP(), ?, ?)';
      $app->dbmaster->query($sql, $res['server_id'], $res['type'], serialize($res['data']), $res['state']);
      /* The new data is written, now we can delete the old one */
      $this->_tools->delOldRecords($res['type'], $res['server_id']);