redray
2009-03-08 ada1e6979c92651c13e8538881d2d756c7b54e6d
server/mods-available/monitor_core_module.inc.php
@@ -320,7 +320,7 @@
            $key = trim($part[0]);
            $value = trim($part[1]);
         if($key == 'processor') $processor = intval($value);
            $data[$key.' '.$processor] = $value;
            if($key != '') $data[$key.' '.$processor] = $value;
        }
        /* the cpu has no state. It is, what it is */
@@ -605,8 +605,8 @@
        $type = 'raid_state';
        /* This monitoring is only available if mdadm is installed */
        $location = shell_exec('which mdadm');
        if($location != ''){
        $location = system('which mdadm', $retval);
        if($retval === 0){
            /*
             * Fetch the output
             */
@@ -709,8 +709,8 @@
        $type = 'rkhunter';
        /* This monitoring is only available if rkhunter is installed */
        $location = shell_exec('which rkhunter');
        if($location != ''){
        $location = system('which rkhunter', $retval);
        if($retval === 0){
            /*
             * Fetch the output
             */
@@ -763,8 +763,9 @@
        $type = 'log_fail2ban';
        /* This monitoring is only available if fail2ban is installed */
        $location = shell_exec('which fail2ban-client');
        if($location != ''){
        $location = system('which fail2ban-client', $retval); // Debian, Ubuntu, Fedora
      if($retval !== 0) $location = system('which fail2ban', $retval); // CentOS
        if($retval === 0){
         /*  Get the data of the log */
         $data = $this->_getLogData($type);
@@ -1174,33 +1175,49 @@
    function _getLogData($log){
        switch($log) {
      $dist = '';
      $logfile = '';
      if(@is_file('/etc/debian_version')) $dist = 'debian';
      if(@is_file('/etc/redhat-release')) $dist = 'redhat';
      switch($log) {
            case 'log_mail':
                $logfile = '/var/log/mail.log';
                if($dist == 'debian') $logfile = '/var/log/mail.log';
            if($dist == 'redhat') $logfile = '/var/log/maillog';
                break;
            case 'log_mail_warn':
                $logfile = '/var/log/mail.warn';
                if($dist == 'debian') $logfile = '/var/log/mail.warn';
            if($dist == 'redhat') $logfile = '/var/log/maillog';
                break;
            case 'log_mail_err':
                $logfile = '/var/log/mail.err';
                if($dist == 'debian') $logfile = '/var/log/mail.err';
            if($dist == 'redhat') $logfile = '/var/log/maillog';
                break;
            case 'log_messages':
                $logfile = '/var/log/messages';
                if($dist == 'debian') $logfile = '/var/log/messages';
            if($dist == 'redhat') $logfile = '/var/log/messages';
                break;
            case 'log_ispc_cron':
                $logfile = '/var/log/ispconfig/cron.log';
                if($dist == 'debian') $logfile = '/var/log/ispconfig/cron.log';
            if($dist == 'redhat') $logfile = '/var/log/ispconfig/cron.log';
                break;
            case 'log_freshclam':
                $logfile = '/var/log/clamav/freshclam.log';
                if($dist == 'debian') $logfile = '/var/log/clamav/freshclam.log';
            if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/freshclam.log') ? '/var/log/clamav/freshclam.log' : '/var/log/freshclam.log');
                break;
            case 'log_clamav':
                $logfile = '/var/log/clamav/clamav.log';
                if($dist == 'debian') $logfile = '/var/log/clamav/clamav.log';
            if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/clamd.log') ? '/var/log/clamav/clamd.log' : '/var/log/maillog');
                break;
            case 'log_fail2ban':
                $logfile = '/var/log/fail2ban.log';
                if($dist == 'debian') $logfile = '/var/log/fail2ban.log';
            if($dist == 'redhat') $logfile = '/var/log/fail2ban.log';
                break;
            case 'log_ispconfig':
                $logfile = '/var/log/ispconfig/ispconfig.log';
                if($dist == 'debian') $logfile = '/var/log/ispconfig/ispconfig.log';
            if($dist == 'redhat') $logfile = '/var/log/ispconfig/ispconfig.log';
                break;
            default:
                $logfile = '';
@@ -1210,7 +1227,7 @@
        // Getting the logfile content
        if($logfile != '') {
            $logfile = escapeshellcmd($logfile);
            if(stristr($logfile, ';')) {
            if(stristr($logfile, ';') or substr($logfile,0,9) != '/var/log/' or stristr($logfile, '..')) {
                $log = 'Logfile path error.';
            }
            else