From 001b547fb0483398ab4433e45f6b131cc14f8d83 Mon Sep 17 00:00:00 2001 From: Jose Gonzalez Date: Mon, 29 Mar 2021 14:07:57 +0200 Subject: [PATCH 01/32] Fixed issue with duplicate web server modules --- pandora_console/include/functions_modules.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php index 9466b15aa1..7455319abb 100755 --- a/pandora_console/include/functions_modules.php +++ b/pandora_console/include/functions_modules.php @@ -639,6 +639,14 @@ function modules_create_agent_module( ); } + // Only for Web server modules. + if (isset($values['id_tipo_modulo']) + && ($values['id_tipo_modulo'] >= MODULE_TYPE_WEB_ANALYSIS + && $values['id_tipo_modulo'] <= MODULE_TYPE_WEB_CONTENT_STRING) + ) { + $values['debug_content'] = io_safe_input($values['debug_content']); + } + $id_agent_module = db_process_sql_insert('tagente_modulo', $values); if ($id_agent_module === false) { From 5e125a33c3527486959977419c209a855a4cf471 Mon Sep 17 00:00:00 2001 From: Jose Gonzalez Date: Mon, 29 Mar 2021 14:42:51 +0200 Subject: [PATCH 02/32] Fixed lints --- pandora_console/include/functions_modules.php | 105 ++++++++++-------- 1 file changed, 59 insertions(+), 46 deletions(-) diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php index 7455319abb..43fce6681a 100755 --- a/pandora_console/include/functions_modules.php +++ b/pandora_console/include/functions_modules.php @@ -1,22 +1,32 @@ = 15 - && $values['id_tipo_modulo'] <= 18) - && isset($values['tcp_send']) && ($values['tcp_send'] == 3) - && isset($values['custom_string_2']) + if (isset($values['id_tipo_modulo']) === true + && ((int) $values['id_tipo_modulo'] >= MODULE_TYPE_REMOTE_SNMP + && (int) $values['id_tipo_modulo'] <= MODULE_TYPE_REMOTE_SNMP_PROC) + && isset($values['tcp_send']) === true + && ((int) $values['tcp_send'] === 3) + && isset($values['custom_string_2']) === true ) { $values['custom_string_2'] = io_input_password( $values['custom_string_2'] @@ -640,7 +653,7 @@ function modules_create_agent_module( } // Only for Web server modules. - if (isset($values['id_tipo_modulo']) + if (isset($values['id_tipo_modulo']) === true && ($values['id_tipo_modulo'] >= MODULE_TYPE_WEB_ANALYSIS && $values['id_tipo_modulo'] <= MODULE_TYPE_WEB_CONTENT_STRING) ) { @@ -654,7 +667,7 @@ function modules_create_agent_module( } $return_tag = true; - if (($tags !== false) || (empty($tags))) { + if (($tags !== false) || (empty($tags) === true)) { $return_tag = tags_insert_module_tag($id_agent_module, $tags); } @@ -667,10 +680,10 @@ function modules_create_agent_module( return ERR_DB; } - if (isset($values['id_tipo_modulo']) - && ($values['id_tipo_modulo'] == 21 - || $values['id_tipo_modulo'] == 22 - || $values['id_tipo_modulo'] == 23) + if (isset($values['id_tipo_modulo']) === true + && ((int) $values['id_tipo_modulo'] === MODULE_TYPE_ASYNC_PROC + || (int) $values['id_tipo_modulo'] === MODULE_TYPE_ASYNC_DATA + || (int) $values['id_tipo_modulo'] === MODULE_TYPE_ASYNC_STRING) ) { // Async modules start in normal status. $status = AGENT_MODULE_STATUS_NORMAL; @@ -714,8 +727,8 @@ function modules_create_agent_module( } // Update module status count if the module is not created disabled. - if (!isset($values['disabled']) || $values['disabled'] == 0) { - if ($status == 0) { + if (isset($values['disabled']) === false || (int) $values['disabled'] === 0) { + if ((int) $status === AGENT_MODULE_STATUS_NORMAL) { db_process_sql( 'UPDATE tagente SET total_count=total_count+1, normal_count=normal_count+1 @@ -2364,7 +2377,7 @@ function modules_get_agentmodule_data_for_humans($module) } } else { $data_macro = modules_get_unit_macro($module['datos'], $module['unit']); - if ($data_macro) { + if ($data_macro !== false) { $salida = $data_macro; } else { $salida = ui_print_module_string_value( From d0bddbe27c06616118e733c5ecd0a93fc759d851 Mon Sep 17 00:00:00 2001 From: Calvo Date: Wed, 31 Mar 2021 10:30:18 +0200 Subject: [PATCH 03/32] Fixed metaconsole ACL on module graphs view --- .../operation/agentes/stat_win.php | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php index aa9dc6e68f..4c403595bc 100644 --- a/pandora_console/operation/agentes/stat_win.php +++ b/pandora_console/operation/agentes/stat_win.php @@ -145,11 +145,34 @@ ui_print_message_dialog( // ACL. $all_groups = agents_get_all_groups_agent($agent_id); - if (!check_acl_one_of_groups($config['id_user'], $all_groups, 'AR')) { + + // If in metaconsole, resotre DB to check meta user acl. + if (is_metaconsole()) { + metaconsole_restore_db(); + } + + if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AR') !== true) { include $config['homedir'].'/general/noaccess.php'; exit; } + // Metaconsole connection to the node. + $server_id = (int) get_parameter('server', 0); + if (is_metaconsole() === true && empty($server_id) === false) { + $server = metaconsole_get_connection_by_id($server_id); + // Error connecting. + if (metaconsole_connect($server) !== NOERR) { + echo ''; + echo ''; + ui_print_error_message( + __('There was a problem connecting with the node') + ); + echo ''; + echo ''; + exit; + } + } + $draw_alerts = get_parameter('draw_alerts', 0); $period = get_parameter('period'); From 14b364baecff14d417fac3106f797369e0ca1540 Mon Sep 17 00:00:00 2001 From: Jose Gonzalez Date: Wed, 31 Mar 2021 12:37:02 +0200 Subject: [PATCH 04/32] Fixed issue with execution without correct params --- pandora_server/lib/PandoraFMS/Config.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm index c7c80bdcd1..51c6a2d9d2 100644 --- a/pandora_server/lib/PandoraFMS/Config.pm +++ b/pandora_server/lib/PandoraFMS/Config.pm @@ -117,9 +117,9 @@ sub pandora_init { ($pa_config->{"pandora_path"} = $parametro); } } - if ($pa_config->{"pandora_path"} eq ""){ - print " [ERROR] I need at least one parameter: Complete path to " . pandora_get_initial_product_name() . " configuration file. \n"; - print " For example: ./pandora_server /etc/pandora/pandora_server.conf \n\n"; + if (!defined ($pa_config->{"pandora_path"}) || $pa_config->{"pandora_path"} eq ""){ + print "[ERROR] I need at least one parameter: Complete path to " . pandora_get_initial_product_name() . " configuration file. \n"; + print "For example: ./pandora_server /etc/pandora/pandora_server.conf \n\n"; exit; } } From 01a037e2d3fe8f2dafabc17199c9df5e16e080fe Mon Sep 17 00:00:00 2001 From: Jose Gonzalez Date: Wed, 31 Mar 2021 13:27:58 +0200 Subject: [PATCH 05/32] Changed method of send id parameter --- pandora_console/operation/users/user_edit.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pandora_console/operation/users/user_edit.php b/pandora_console/operation/users/user_edit.php index 7f17cedb19..95ad8f34ae 100644 --- a/pandora_console/operation/users/user_edit.php +++ b/pandora_console/operation/users/user_edit.php @@ -31,8 +31,8 @@ global $config; // Load the header. require $config['homedir'].'/operation/users/user_edit_header.php'; - -if (!is_metaconsole()) { +hd($_REQUEST); +if (is_metaconsole() === false) { date_default_timezone_set('UTC'); include 'include/javascript/timezonepicker/includes/parser.inc'; @@ -646,9 +646,11 @@ foreach ($timezones as $timezone_name => $tz) { if (is_metaconsole()) { echo '
'; } else { - echo ''; + echo ''; } + html_print_input_hidden('id', $id, false, false, false, 'id'); + echo '