From f02be96750e48859cc63f1f2b64a86a9202178b4 Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Mon, 22 Sep 2014 07:25:20 -0400 Subject: [PATCH] Fixed a error in OS detection code for CentOS. --- server/lib/classes/monitor_tools.inc.php | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 11 deletions(-) diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 8f00088..19f69bb 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -62,6 +62,15 @@ $mainver = array_filter($mainver); $mainver = current($mainver).'.'.next($mainver); switch ($mainver){ + case "14.04": + $relname = "(Trusty Tahr)"; + break; + case "13.10": + $relname = "(Saucy Salamander)"; + break; + case "13.04": + $relname = "(Raring Ringtail)"; + break; case "12.10": $relname = "(Quantal Quetzal)"; break; @@ -132,7 +141,7 @@ $distver = 'Squeeze/Sid'; $distid = 'debian60'; $distbaseid = 'debian'; - } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || strstr(trim(file_get_contents('/etc/debian_version')), '7.1') || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') { + } elseif (strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') { $distname = 'Debian'; $distver = 'Wheezy/Sid'; $distid = 'debian60'; @@ -201,6 +210,16 @@ $distver = '5.3'; $distid = 'centos53'; $distbaseid = 'fedora'; + } elseif(stristr($content, 'CentOS Linux release 6')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; + } elseif(stristr($content, 'CentOS Linux release 7')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; } else { $distname = 'Redhat'; $distver = 'Unknown'; @@ -250,7 +269,9 @@ $filename = $mb['maildir'].'/.quotausage'; if(file_exists($filename) && !is_link($filename)) { $quotafile = file($filename); - $data[$email]['used'] = trim($quotafile['1']); + preg_match('/storage.*?([0-9]+)/s', implode('',$quotafile), $storage_value); + $data[$email]['used'] = $storage_value[1]; + $app->log("Mail storage $email: " . $storage_value[1], LOGLEVEL_DEBUG); unset($quotafile); } else { exec('du -s '.escapeshellcmd($mb['maildir']), $out); @@ -1147,10 +1168,13 @@ /* * 3ware Controller */ + system('which tw_cli', $retval); if($retval === 0) { - - $data['output'] = shell_exec('tw_cli info c0'); + + // TYPOWORX FIX | Determine Controler-ID + $availableControlers = shell_exec('tw_cli info | grep -Eo "c[0-9]+'); + $data['output'] = shell_exec('tw_cli info ' . $availableControlers); $state = 'ok'; if(is_array($data['output'])) { @@ -1571,15 +1595,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->_setState($state, 'info'); + if (stristr($line,'outdated')) { + $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->_setState($state, 'info'); } /* -- Gitblit v1.9.1