From b28db4111a699f1e736b4a96ff8a4cfb9b2cc096 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 12 Mar 2009 17:14:48 -0400
Subject: [PATCH] Fixed bug in logrotation.

---
 server/mods-available/monitor_core_module.inc.php |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index beecd8a..162fd86 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -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,9 +763,9 @@
         $type = 'log_fail2ban';
 
         /* This monitoring is only available if fail2ban is installed */
-        $location = shell_exec('which fail2ban-client'); // Debian & Ubuntu
-		if($location == '') $location = shell_exec('which fail2ban'); // CentOS & Fedora
-        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);
 
@@ -1181,43 +1181,53 @@
 		
 		if(@is_file('/etc/debian_version')) $dist = 'debian';
 		if(@is_file('/etc/redhat-release')) $dist = 'redhat';
+		if(@is_file('/etc/SuSE-release')) $dist = 'suse';
 		
 		switch($log) {
             case 'log_mail':
                 if($dist == 'debian') $logfile = '/var/log/mail.log';
 				if($dist == 'redhat') $logfile = '/var/log/maillog';
+				if($dist == 'suse') $logfile = '/var/log/mail.info';
                 break;
             case 'log_mail_warn':
                 if($dist == 'debian') $logfile = '/var/log/mail.warn';
 				if($dist == 'redhat') $logfile = '/var/log/maillog';
+				if($dist == 'suse') $logfile = '/var/log/mail.warn';
                 break;
             case 'log_mail_err':
                 if($dist == 'debian') $logfile = '/var/log/mail.err';
 				if($dist == 'redhat') $logfile = '/var/log/maillog';
+				if($dist == 'suse') $logfile = '/var/log/mail.err';
                 break;
             case 'log_messages':
                 if($dist == 'debian') $logfile = '/var/log/messages';
 				if($dist == 'redhat') $logfile = '/var/log/messages';
+				if($dist == 'suse') $logfile = '/var/log/messages';
                 break;
             case 'log_ispc_cron':
                 if($dist == 'debian') $logfile = '/var/log/ispconfig/cron.log';
 				if($dist == 'redhat') $logfile = '/var/log/ispconfig/cron.log';
+				if($dist == 'suse') $logfile = '/var/log/ispconfig/cron.log';
                 break;
             case 'log_freshclam':
                 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;
+                if($dist == 'suse') $logfile = '';
+				break;
             case 'log_clamav':
                 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');
+				if($dist == 'suse') $logfile = '';
                 break;
             case 'log_fail2ban':
                 if($dist == 'debian') $logfile = '/var/log/fail2ban.log';
 				if($dist == 'redhat') $logfile = '/var/log/fail2ban.log';
+				if($dist == 'suse') $logfile = '/var/log/fail2ban.log';
                 break;
             case 'log_ispconfig':
                 if($dist == 'debian') $logfile = '/var/log/ispconfig/ispconfig.log';
 				if($dist == 'redhat') $logfile = '/var/log/ispconfig/ispconfig.log';
+				if($dist == 'suse') $logfile = '/var/log/ispconfig/ispconfig.log';
                 break;
             default:
                 $logfile = '';

--
Gitblit v1.9.1