From 82ff6299b381800b48fd243172111334cd1df498 Mon Sep 17 00:00:00 2001 From: Till Brehm Date: Sat, 8 Mar 2014 18:30:30 +0100 Subject: [PATCH] Fixed: FS#3302 - Hourly monitoring of system updates make system unusable - Updated Linux Distribution detection to recognize all wheezy sub versions correctly. --- install/lib/install.lib.php | 2 +- install/tpl/server.ini.master | 1 + interface/web/admin/form/server_config.tform.php | 6 ++++++ interface/web/admin/lib/lang/de_server_config.lng | 1 + interface/web/admin/lib/lang/en_server_config.lng | 1 + interface/web/admin/templates/server_config_server_edit.htm | 6 ++++++ server/lib/classes/monitor_tools.inc.php | 2 +- server/mods-available/monitor_core_module.inc.php | 4 ++++ 8 files changed, 21 insertions(+), 2 deletions(-) diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php index 5de8777ba1..cbdb86a651 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -160,7 +160,7 @@ function get_distname() { $distid = 'debian60'; $distbaseid = 'debian'; swriteln("Operating System: Debian 6.0 (Squeeze/Sid) or compatible\n"); - } 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'; diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index ac4d0b4755..dcac5808cc 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -24,6 +24,7 @@ monit_password= munin_url= munin_user= munin_password= +monitor_system_updates=y [mail] module=postfix_mysql diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 6266f1d358..e115c8b922 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -249,6 +249,12 @@ $form["tabs"]['server'] = array( 'width' => '40', 'maxlength' => '255' ), + 'monitor_system_updates' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), //################################# // ENDE Datatable fields //################################# diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 3e1343d5ed..99de3c7177 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -190,4 +190,5 @@ $wb['munin_url_error_regex'] = 'Ungültige Munin-URL'; $wb['munin_url_note_txt'] = 'Platzhalter:'; $wb['backup_dir_is_mount_txt'] = 'Backupverzeichnis ist ein eigener Mount?'; $wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht gemountet'; +$wb['monitor_system_updates_txt'] = 'Suche nach Linux updates'; ?> \ No newline at end of file diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index eafa17b8aa..3dc1d0afd7 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -190,4 +190,5 @@ $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; +$wb['monitor_system_updates_txt'] = 'Check for Linux updates'; ?> diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index 633969cf53..d9b703ae21 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -98,6 +98,12 @@
+
+
+

{tmpl_var name='monitor_system_updates_txt'}

+
+ {tmpl_var name='monitor_system_updates'} +
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index e8df5ec491..2170b5cccc 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -132,7 +132,7 @@ class monitor_tools { $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'; diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index e83ccf7726..d6d28ca635 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -419,6 +419,10 @@ class monitor_core_module { * OK - here we go... */ global $app; + + $app->uses('getconf'); + $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); + if($server_config['monitor_system_updates'] == 'n') return; /* * First we get the Monitoring-data from the tools -- GitLab