From 9694699ab091476678858258dfc0b5b536a4eb33 Mon Sep 17 00:00:00 2001 From: alejandro Date: Mon, 30 Jan 2023 15:31:58 +0100 Subject: [PATCH 01/15] update google sheet plugin --- .../google_sheets/pandora_googlesheet.py | 72 ++++++++++++++----- 1 file changed, 54 insertions(+), 18 deletions(-) diff --git a/pandora_plugins/google_sheets/pandora_googlesheet.py b/pandora_plugins/google_sheets/pandora_googlesheet.py index a6e599b429..d02fc4cd3b 100644 --- a/pandora_plugins/google_sheets/pandora_googlesheet.py +++ b/pandora_plugins/google_sheets/pandora_googlesheet.py @@ -1,7 +1,13 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + import gspread -import argparse +import argparse,json,sys from oauth2client.service_account import ServiceAccountCredentials from pprint import pprint +from os import remove + +import base64 __author__ = "Alejandro Sánchez Carrion" __copyright__ = "Copyright 2022, PandoraFMS" @@ -15,33 +21,63 @@ Version = {__version__} Manual execution -python3 pandora_googlesheets.py --cred --row --column +python3 pandora_googlesheets.py --creds_json/creds_base64 --row --column """ parser = argparse.ArgumentParser(description= info, formatter_class=argparse.RawTextHelpFormatter) -parser.add_argument('--cred', help='') -parser.add_argument('--name', help='') -parser.add_argument('--row', help='',type=int) -parser.add_argument('--column', help='',type=int) +parser.add_argument('--creds_json', help='To authenticate with a json file.') +parser.add_argument('--creds_base64', help='To authenticate with a file that includes the credentials for base64 authentication.') +parser.add_argument('--name', help='Name of the google sheets document.') +parser.add_argument('--cell', help='To collect the value of a cell.') +parser.add_argument('--row', help='To collect the value of a row.',type=int) +parser.add_argument('--column', help='To collect the value of a column.',type=int) +parser.add_argument('--sheet', help='To indicate the name of the document sheet, put it in quotation marks and count spaces and capital letters.',type=str) args = parser.parse_args() scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"] -creds = ServiceAccountCredentials.from_json_keyfile_name(args.cred, scope) + + + + +## authenticate with file json input +if args.creds_json is not None and args.creds_base64 == None: + creds = ServiceAccountCredentials.from_json_keyfile_name(args.creds_json, scope) +## authenticate with base64 input +elif args.creds_base64 is not None and args.creds_json== None: + ## base64 to json + with open(args.creds_base64, 'r') as file: + data = file.read().replace('\n', '') + text=base64.b64decode(data).decode('utf-8') + with open("cred.json", "w") as outfile: + outfile.write(text) + creds = ServiceAccountCredentials.from_json_keyfile_name("cred.json", scope) + remove("cred.json") +else: + print("You need to use the --creds_json or creds_base 64 parameter to authenticate. You can only select one.") + sys.exit() client = gspread.authorize(creds) -sheet = client.open(args.name).sheet1 # Open the spreadhseet +sheet = client.open(args.name) # Open the spreadhseet +worksheet = sheet.worksheet(args.sheet) # Open worksheet -data = sheet.get_all_records() # Get a list of all records +if args.cell is not None and args.row==None and args.column==None : -if args.row is not None and args.column==None: - row = sheet.row_values(args.row) # Get a specific row - print(row) -elif args.row ==None and args.column is not None: - col = sheet.col_values(args.column) # Get a specific column - print(col) -elif args.row is not None and args.column is not None: - cell = sheet.cell(args.row,args.column).value # Get the value of a specific cell - print(cell) + val = worksheet.acell(args.cell).value + +elif args.row is not None and args.column==None and args.cell == None: + + val = worksheet.row_values(args.row) # Get a specific row + +elif args.column is not None and args.row== None and args.cell == None: + + val = worksheet.col_values(args.column) # Get a specific column + +else: + print("To search for data in a cell use the --cell parameter, for data in a column --column and in a row --row, only one of these parameters can be used at a time.") + sys.exit() + + +print(val) From c8b1d22c5d28b035c90f8bc9df34434539172a3e Mon Sep 17 00:00:00 2001 From: alejandro Date: Tue, 31 Jan 2023 10:23:42 +0100 Subject: [PATCH 02/15] change parameter --creds_Base64 --- pandora_plugins/google_sheets/pandora_googlesheet.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandora_plugins/google_sheets/pandora_googlesheet.py b/pandora_plugins/google_sheets/pandora_googlesheet.py index d02fc4cd3b..bfa346aa40 100644 --- a/pandora_plugins/google_sheets/pandora_googlesheet.py +++ b/pandora_plugins/google_sheets/pandora_googlesheet.py @@ -21,7 +21,7 @@ Version = {__version__} Manual execution -python3 pandora_googlesheets.py --creds_json/creds_base64 --row --column +python3 pandora_googlesheets.py --creds_json/creds_base64 --name --sheet --cell --row --column """ @@ -47,9 +47,7 @@ if args.creds_json is not None and args.creds_base64 == None: ## authenticate with base64 input elif args.creds_base64 is not None and args.creds_json== None: ## base64 to json - with open(args.creds_base64, 'r') as file: - data = file.read().replace('\n', '') - text=base64.b64decode(data).decode('utf-8') + text=base64.b64decode(args.creds_base64).decode('utf-8') with open("cred.json", "w") as outfile: outfile.write(text) creds = ServiceAccountCredentials.from_json_keyfile_name("cred.json", scope) From d49f1320f53474739a82e711fa07c04fe36a0385 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Tue, 31 Jan 2023 12:37:55 +0100 Subject: [PATCH 03/15] #10127 added param 'id_node' in set_validate_events for update from metaconsole --- pandora_console/include/functions_api.php | 47 ++++++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index 89e764aaaa..11149e86f8 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -11061,20 +11061,55 @@ function api_set_event_validate_filter($trash1, $trash2, $other, $trash3) function api_set_validate_events($id_event, $trash1, $other, $return_type, $user_in_db) { - $text = $other['data']; + $node_int = 0; + if ($other['type'] == 'string') { + returnError('Parameter error.'); + return; + } else if ($other['type'] == 'array') { + $text = $other['data'][0]; + if (is_metaconsole() === true) { + if (isset($other['data'][1]) === true + && empty($other['data'][1]) === false + ) { + $node_int = $other['data'][1]; + } + } + } - // Set off the standby mode when close an event - $event = events_get_event($id_event); - alerts_agent_module_standby($event['id_alert_am'], 0); + try { + if (is_metaconsole() === true + && (int) $node_int > 0 + ) { + $node = new Node($node_int); + $node->connect(); + } - $result = events_change_status($id_event, EVENT_VALIDATE); + // Set off the standby mode when close an event + $event = events_get_event($id_event); + alerts_agent_module_standby($event['id_alert_am'], 0); + $result = events_change_status($id_event, EVENT_VALIDATE); - if ($result) { if (!empty($text)) { // Set the comment for the validation events_comment($id_event, $text); } + } catch (\Exception $e) { + if (is_metaconsole() === true + && $node_int > 0 + ) { + $node->disconnect(); + } + $result = false; + } finally { + if (is_metaconsole() === true + && $node_int > 0 + ) { + $node->disconnect(); + } + } + + if ($result) { returnData( 'string', [ From aaae7454fa4f73acb35a575cd00886a061f20e0c Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Mon, 6 Feb 2023 10:37:01 +0100 Subject: [PATCH 04/15] #10259 create control for token agentaccess if agents morte than 200 --- pandora_console/godmode/setup/performance.php | 5 ++- .../include/class/ConsoleSupervisor.php | 39 +++++++++++++++++++ .../include/functions_notifications.php | 1 + 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/pandora_console/godmode/setup/performance.php b/pandora_console/godmode/setup/performance.php index 969ff868c1..05b0bbdf26 100644 --- a/pandora_console/godmode/setup/performance.php +++ b/pandora_console/godmode/setup/performance.php @@ -151,6 +151,9 @@ if ($update_config == 1 && $config['history_db_enabled'] == 1) { } } +$total_agents = db_get_value('count(*)', 'tagente'); +$disable_agentaccess = ($total_agents >= 200) ? true : false; + $table_status = new StdClass(); $table_status->width = '100%'; $table_status->class = 'databox filters'; @@ -577,7 +580,7 @@ $table_other->data[$i++][1] = html_print_input_text( ); $table_other->data[$i][0] = __('Use agent access graph'); -$table_other->data[$i++][1] = html_print_checkbox_switch('agentaccess', 1, $config['agentaccess'], true); +$table_other->data[$i++][1] = html_print_checkbox_switch('agentaccess', 1, $config['agentaccess'], true, $disable_agentaccess); $table_other->data[$i][0] = __('Max. recommended number of files in attachment directory'); $table_other->data[$i++][1] = html_print_input_text( diff --git a/pandora_console/include/class/ConsoleSupervisor.php b/pandora_console/include/class/ConsoleSupervisor.php index b6a6d3df43..ce6d2df301 100644 --- a/pandora_console/include/class/ConsoleSupervisor.php +++ b/pandora_console/include/class/ConsoleSupervisor.php @@ -258,6 +258,11 @@ class ConsoleSupervisor $this->checkSyncQueueStatus(); } + /* + * Check number of agents is equals and more than 200. + * NOTIF.ACCESSSTASTICS.PERFORMANCE + */ + $this->checkAccessStatisticsPerformance(); } @@ -518,6 +523,12 @@ class ConsoleSupervisor $this->checkSyncQueueLength(); $this->checkSyncQueueStatus(); } + + /* + * Check number of agents is equals and more than 200. + * NOTIF.ACCESSSTASTICS.PERFORMANCE + */ + $this->checkAccessStatisticsPerformance(); } @@ -532,6 +543,34 @@ class ConsoleSupervisor } + /** + * Check number of agents and disable agentaccess token if number + * is equals and more than 200. + * + * @return void + */ + public function checkAccessStatisticsPerformance() + { + $total_agents = db_get_value('count(*)', 'tagente'); + + if ($total_agents >= 200) { + db_process_sql_update('tconfig', ['value' => 0], ['token' => 'agentaccess']); + $this->notify( + [ + 'type' => 'NOTIF.ACCESSSTASTICS.PERFORMANCE', + 'title' => __('Access statistics performance'), + 'message' => __( + 'Usage of agent access statistics IS NOT RECOMMENDED on systems with more than 200 agents due performance penalty' + ), + 'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf', + ] + ); + } else { + $this->cleanNotifications('NOTIF.ACCESSSTASTICS.PERFORMANCE'); + } + } + + /** * Update targets for given notification using object targets. * diff --git a/pandora_console/include/functions_notifications.php b/pandora_console/include/functions_notifications.php index 705d67ab3b..8ed023ddde 100644 --- a/pandora_console/include/functions_notifications.php +++ b/pandora_console/include/functions_notifications.php @@ -159,6 +159,7 @@ function notifications_get_subtypes(?string $source=null) 'NOTIF.SERVER.STATUS', 'NOTIF.SERVER.QUEUE', 'NOTIF.SERVER.MASTER', + 'NOTIF.ACCESSSTASTICS.PERFORMANCE', ], ]; From fecee4895f234509784eb023bb5c4412bc1685ce Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Mon, 6 Feb 2023 11:04:08 +0100 Subject: [PATCH 05/15] #10259 fixed bug in agentaccess token --- pandora_console/godmode/setup/performance.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandora_console/godmode/setup/performance.php b/pandora_console/godmode/setup/performance.php index 05b0bbdf26..1e0fc4df69 100644 --- a/pandora_console/godmode/setup/performance.php +++ b/pandora_console/godmode/setup/performance.php @@ -152,7 +152,7 @@ if ($update_config == 1 && $config['history_db_enabled'] == 1) { } $total_agents = db_get_value('count(*)', 'tagente'); -$disable_agentaccess = ($total_agents >= 200) ? true : false; +$disable_agentaccess = ($total_agents >= 200 && $config['agentaccess'] == 0) ? true : false; $table_status = new StdClass(); $table_status->width = '100%'; From 2e9b1c70997ddc858849f4e5fb2c23b47ee224f0 Mon Sep 17 00:00:00 2001 From: "alejandro.campos@artica.es" Date: Tue, 7 Feb 2023 14:16:59 +0100 Subject: [PATCH 06/15] fixed node connection --- pandora_console/extensions/dbmanager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandora_console/extensions/dbmanager.php b/pandora_console/extensions/dbmanager.php index db92dda0a9..3f36935e5c 100644 --- a/pandora_console/extensions/dbmanager.php +++ b/pandora_console/extensions/dbmanager.php @@ -227,7 +227,7 @@ function dbmgr_extension_main() 'dbport' => $node->dbport(), 'dbname' => $node->dbname(), 'dbuser' => $node->dbuser(), - 'dbpass' => $node->dbpass(), + 'dbpass' => io_output_password($node->dbpass()), ] ); $error = ''; From bcfa977f567b86ff0b43358e90ba008830f816da Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Wed, 8 Feb 2023 15:23:13 +0100 Subject: [PATCH 07/15] #10335 fixed plugin select in edit modules in bulk --- .../agentes/module_manager_editor_plugin.php | 3 +- .../godmode/massive/massive_edit_modules.php | 74 +++++++++---------- 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/pandora_console/godmode/agentes/module_manager_editor_plugin.php b/pandora_console/godmode/agentes/module_manager_editor_plugin.php index 2cc0ec3d8e..9477091e95 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_plugin.php +++ b/pandora_console/godmode/agentes/module_manager_editor_plugin.php @@ -89,8 +89,7 @@ $password_fields = []; // If there are $macros, we create the form fields if (!empty($macros)) { - $macros = json_decode($macros, true); - + $macros = json_decode(io_safe_output($macros), true); foreach ($macros as $k => $m) { $data = []; $data[0] = $m['desc']; diff --git a/pandora_console/godmode/massive/massive_edit_modules.php b/pandora_console/godmode/massive/massive_edit_modules.php index 85a0006986..a03e278957 100755 --- a/pandora_console/godmode/massive/massive_edit_modules.php +++ b/pandora_console/godmode/massive/massive_edit_modules.php @@ -2094,46 +2094,21 @@ function process_manage_edit($module_name, $agents_select=null, $module_status=' switch ($field) { case 'id_plugin': if ($value != 0) { - $value_field_1 = get_parameter('_field1_', ''); - $value_field_1_desc = get_parameter('desc_field1_', ''); - - $value_field_2 = get_parameter('_field2_', ''); - $value_field_2_desc = get_parameter('desc_field2_', ''); - - $value_field_3 = get_parameter('_field3_', ''); - $value_field_3_desc = get_parameter('desc_field3_', ''); - - $value_field_4 = get_parameter('_field4_', ''); - $value_field_4_desc = get_parameter('desc_field4_', ''); - - $value_field_5 = get_parameter('_field5_', ''); - $value_field_5_desc = get_parameter('desc_field5_', ''); - - $values['macros'] = '{"1":{"macro":"_field1_","desc":"'.io_safe_input($value_field_1_desc).'","help":"'.io_safe_input($value_field_1_desc).'","value":"'.$value_field_1.'"}'; - - if ($value_field_2_desc != '') { - $values['macros'] .= ',"2":{"macro":"_field2_","desc":"'.io_safe_input($value_field_2_desc).'","help":"'.io_safe_input($value_field_2_desc).'","value":"'.$value_field_2.'"}'; - - if ($value_field_3_desc != '') { - $values['macros'] .= ',"3":{"macro":"_field3_","desc":"'.io_safe_input($value_field_3_desc).'","help":"'.io_safe_input($value_field_3_desc).'","value":"'.$value_field_3.'"}'; - - if ($value_field_4_desc != '') { - $values['macros'] .= ',"4":{"macro":"_field4_","desc":"'.io_safe_input($value_field_4_desc).'","help":"'.io_safe_input($value_field_4_desc).'","value":"'.$value_field_4.'"}'; - - if ($value_field_5_desc != '') { - $values['macros'] .= ',"5":{"macro":"_field5_","desc":"'.io_safe_input($value_field_5_desc).'","help":"'.io_safe_input($value_field_5_desc).'","value":"'.$value_field_5.'"}'; - } else { - $values['macros'] .= '}'; - } - } else { - $values['macros'] .= '}'; - } - } else { - $values['macros'] .= '}'; + for ($i = 0; $i <= 15; $i++) { + $value_field = get_parameter('_field'.$i.'_', ''); + $value_field_desc = get_parameter('desc_field'.$i.'_', ''); + if ($value_field_desc != '') { + $values['macros'][$i] = [ + 'macro' => '_field'.$i.'_', + 'desc' => io_safe_input($value_field_desc), + 'help' => io_safe_input($value_field_desc), + 'value' => $value_field, + ]; } - } else { - $values['macros'] .= '}'; } + + $values['macros'] = json_encode($values['macros']); + $values[$field] = $value; } break; @@ -2260,7 +2235,7 @@ function process_manage_edit($module_name, $agents_select=null, $module_status=' // Apply at All agents (within valid groups). $modules = db_get_all_rows_sql( sprintf( - 'SELECT tam.id_agente_modulo, tam.id_tipo_modulo + 'SELECT tam.id_agente_modulo, tam.id_tipo_modulo,tam.macros, tam.id_plugin FROM tagente_modulo tam INNER JOIN tagente ta ON ta.id_agente = tam.id_agente WHERE ta.id_grupo IN (%s) %s;', @@ -2277,6 +2252,8 @@ function process_manage_edit($module_name, $agents_select=null, $module_status=' [ 'id_agente_modulo', 'id_tipo_modulo', + 'macros', + 'id_plugin', ] ); } else { @@ -2289,6 +2266,8 @@ function process_manage_edit($module_name, $agents_select=null, $module_status=' [ 'id_agente_modulo', 'id_tipo_modulo', + 'macros', + 'id_plugin', ] ); } @@ -2346,6 +2325,23 @@ function process_manage_edit($module_name, $agents_select=null, $module_status=' } } + if ($module['macros'] && $module['id_plugin'] == $values['id_plugin']) { + $module_macros = json_decode($module['macros'], true); + $values_macros = json_decode($values['macros'], true); + + foreach ($values_macros as $k => $value_macro) { + foreach ($module_macros as $s => $module_macro) { + if ($value_macro['macro'] == $module_macro['macro'] && $value_macro['value'] !== '') { + $module_macros[$s]['value'] = $value_macro['value']; + $module_macros[$s]['desc'] = $value_macro['desc']; + $module_macros[$s]['help'] = $value_macro['help']; + } + } + } + + $values['macros'] = json_encode($module_macros); + } + $result = modules_update_agent_module( $module['id_agente_modulo'], $values, From 2b185b5754c1d16793531ff8ed703ea4a22173c3 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Tue, 21 Feb 2023 15:44:41 +0100 Subject: [PATCH 08/15] #10493 fixed pagination in alerts --- pandora_console/godmode/alerts/alert_actions.php | 4 ++-- pandora_console/godmode/alerts/alert_commands.php | 6 +++--- pandora_console/godmode/alerts/alert_templates.php | 5 +++-- pandora_console/godmode/alerts/configure_alert_action.php | 3 ++- pandora_console/godmode/alerts/configure_alert_template.php | 3 ++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/pandora_console/godmode/alerts/alert_actions.php b/pandora_console/godmode/alerts/alert_actions.php index 873d91598c..2089dc5900 100644 --- a/pandora_console/godmode/alerts/alert_actions.php +++ b/pandora_console/godmode/alerts/alert_actions.php @@ -391,7 +391,7 @@ foreach ($actions as $action) { $data = []; - $data[0] = ''.$action['name'].''; + $data[0] = ''.$action['name'].''; if ($action['id_group'] == 0 && $can_edit_all == false) { $data[0] .= ui_print_help_tip(__('You cannot edit this action, You don\'t have the permission to edit All group.'), true); } @@ -467,7 +467,7 @@ if (isset($data)) { if (is_management_allowed() === true) { echo '
'; - echo '
'; + echo ''; html_print_submit_button(__('Create'), 'create', false, 'class="sub next"'); html_print_input_hidden('create_alert', 1); echo '
'; diff --git a/pandora_console/godmode/alerts/alert_commands.php b/pandora_console/godmode/alerts/alert_commands.php index 24d07a392f..2090461050 100644 --- a/pandora_console/godmode/alerts/alert_commands.php +++ b/pandora_console/godmode/alerts/alert_commands.php @@ -795,15 +795,15 @@ foreach ($commands as $command) { ); $data['action'] = ''; $table->cellclass[]['action'] = 'action_buttons'; - + $offset_delete = ($offset >= ($total_commands - 1)) ? ($offset - $limit) : $offset; // (IMPORTANT, DO NOT CHANGE!) only users with permissions over "All" group have access to edition of commands belonging to "All" group. if ($is_management_allowed === true && !$command['internal'] && check_acl_restricted_all($config['id_user'], $command['id_group'], 'LM')) { if (is_user_admin($config['id_user']) === true) { $data['action'] = ''; - $data['action'] .= ''.html_print_image('images/copy.png', true, ['class' => 'invert_filter']).''; - $data['action'] .= ''.html_print_image('images/cross.png', true, ['class' => 'invert_filter']).''; $data['action'] .= ''; } diff --git a/pandora_console/godmode/alerts/alert_templates.php b/pandora_console/godmode/alerts/alert_templates.php index c0374c210b..cd49f7ee7c 100644 --- a/pandora_console/godmode/alerts/alert_templates.php +++ b/pandora_console/godmode/alerts/alert_templates.php @@ -352,7 +352,8 @@ if ($search_string) { $filter[] = "(name LIKE '%".$search_string."%' OR description LIKE '%".$search_string."%' OR value LIKE '%".$search_string."%')"; } -$filter['offset'] = (int) get_parameter('offset'); +$offset = (int) get_parameter('offset'); +$filter['offset'] = $offset; $filter['limit'] = (int) $config['block_size']; if (!is_user_admin($config['id_user'])) { $filter['id_group'] = array_keys(users_get_groups(false, 'LM')); @@ -420,7 +421,7 @@ foreach ($templates as $template) { && check_acl($config['id_user'], $template['id_group'], 'LM') ) { $table->cellclass[][4] = 'action_buttons'; - $data[4] = '
'; + $data[4] = ''; $data[4] .= html_print_input_hidden('duplicate_template', 1, true); $data[4] .= html_print_input_hidden('source_id', $template['id'], true); $data[4] .= html_print_input_image( diff --git a/pandora_console/godmode/alerts/configure_alert_action.php b/pandora_console/godmode/alerts/configure_alert_action.php index 068026c953..240fa26fc3 100644 --- a/pandora_console/godmode/alerts/configure_alert_action.php +++ b/pandora_console/godmode/alerts/configure_alert_action.php @@ -372,8 +372,9 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) { ); } +$offset = (int) get_parameter('offset', 0); -echo ''; +echo ''; $table_html = html_print_table($table, true); echo $table_html; diff --git a/pandora_console/godmode/alerts/configure_alert_template.php b/pandora_console/godmode/alerts/configure_alert_template.php index 8838c5c458..0269d94573 100644 --- a/pandora_console/godmode/alerts/configure_alert_template.php +++ b/pandora_console/godmode/alerts/configure_alert_template.php @@ -1147,9 +1147,10 @@ if ($step == 2) { echo ui_get_using_system_timezone_warning(); } +$offset = (int) get_parameter('offset'); // If it's the last step it will redirect to template lists. if ($step >= LAST_STEP) { - echo ''; + echo ''; } else { echo ''; } From f9c3524be887ff07169ca028e55c79899a07c07f Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Tue, 21 Feb 2023 16:05:24 +0100 Subject: [PATCH 09/15] #10493 fixed pagination in profiles --- pandora_console/godmode/users/user_list.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandora_console/godmode/users/user_list.php b/pandora_console/godmode/users/user_list.php index 85e713bed0..11ecc02f11 100644 --- a/pandora_console/godmode/users/user_list.php +++ b/pandora_console/godmode/users/user_list.php @@ -816,7 +816,7 @@ foreach ($info as $user_id => $user_info) { $toDoClass = 'filter_none'; } - $data[6] = ''; + $data[6] = ''; $data[6] .= html_print_input_hidden( 'id', $user_info['id_user'], @@ -874,7 +874,8 @@ foreach ($info as $user_id => $user_info) { && $user_info['id_user'] != $config['id_user'] && isset($user_info['not_delete']) === false ) { - $data[6] .= ''; + $offset_delete = ($offset >= count($info) - 1) ? ($offset - $config['block_size']) : $offset; + $data[6] .= ''; $data[6] .= html_print_input_hidden( 'delete_user', $user_info['id_user'], From dfadbb0f80cc57d61bc1f1ccbb77163acf1ab6db Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Tue, 21 Feb 2023 16:51:05 +0100 Subject: [PATCH 10/15] #10493 added pagination in group module --- pandora_console/godmode/groups/configure_modu_group.php | 5 +++-- pandora_console/godmode/groups/modu_group_list.php | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pandora_console/godmode/groups/configure_modu_group.php b/pandora_console/godmode/groups/configure_modu_group.php index 9330aa1320..282bd81d18 100644 --- a/pandora_console/godmode/groups/configure_modu_group.php +++ b/pandora_console/godmode/groups/configure_modu_group.php @@ -40,6 +40,7 @@ $custom_id = ''; $create_group = (bool) get_parameter('create_group'); $id_group = (int) get_parameter('id_group'); +$offset = (int) get_parameter('offset', 0); if ($id_group) { $group = db_get_row('tmodule_group', 'id_mg', $id_group); @@ -70,9 +71,9 @@ $table->data[0][1] = html_print_input_text('name', $name, '', 35, 100, true); echo ''; if (is_metaconsole()) { - echo ''; + echo ''; } else { - echo ''; + echo ''; } html_print_table($table); diff --git a/pandora_console/godmode/groups/modu_group_list.php b/pandora_console/godmode/groups/modu_group_list.php index 84dc35ada8..ea74c92cf5 100644 --- a/pandora_console/godmode/groups/modu_group_list.php +++ b/pandora_console/godmode/groups/modu_group_list.php @@ -262,18 +262,18 @@ if (empty($groups) === false) { } $table->data = []; - + $offset_delete = ($offset >= $total_groups - 1) ? ($offset - $config['block_size']) : $offset; foreach ($groups as $id_group) { $data = []; $data[0] = $id_group['id_mg']; if ($is_management_allowed === true) { - $data[1] = ''.ui_print_truncate_text($id_group['name'], GENERIC_SIZE_TEXT).''; + $data[1] = ''.ui_print_truncate_text($id_group['name'], GENERIC_SIZE_TEXT).''; if (is_metaconsole() === true) { - $data[2] = ''.html_print_image('images/cross.png', true, ['border' => '0']).''; + $data[2] = ''.html_print_image('images/cross.png', true, ['border' => '0']).''; } else { $table->cellclass[][2] = 'action_buttons'; - $data[2] = ''.html_print_image('images/cross.png', true, ['border' => '0']).''; + $data[2] = ''.html_print_image('images/cross.png', true, ['border' => '0']).''; } } else { $data[1] = ''; From 2f1060af56bb340d873b39c011e2b7c5e713ce16 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Wed, 22 Feb 2023 09:05:27 +0100 Subject: [PATCH 11/15] #10493 fixed pagination in collection --- .../modules/manage_network_components.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pandora_console/godmode/modules/manage_network_components.php b/pandora_console/godmode/modules/manage_network_components.php index bdec795443..8a27800ec2 100644 --- a/pandora_console/godmode/modules/manage_network_components.php +++ b/pandora_console/godmode/modules/manage_network_components.php @@ -597,9 +597,10 @@ if ((bool) $id !== false || $new_component $search_id_group = (int) get_parameter('search_id_group'); $search_string = (string) get_parameter('search_string'); +$offset = (int) get_parameter('offset'); $url = ui_get_url_refresh( [ - 'offset' => false, + 'offset' => $offset, 'search_string' => $search_string, 'search_id_group' => $search_id_group, 'id' => $id, @@ -607,7 +608,7 @@ $url = ui_get_url_refresh( true, false ); - +$name_url = 'index.php?sec=templates&sec2=godmode/modules/manage_network_components'; $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; @@ -712,8 +713,9 @@ $total_components = network_components_get_network_components( 'COUNT(*) AS total' ); $total_components = $total_components[0]['total']; -ui_pagination($total_components, $url); -$filter['offset'] = (int) get_parameter('offset'); +$offset_delete = ($offset >= ($total_components - 1)) ? ($offset - $config['block_size']) : $offset; +ui_pagination($total_components, $name_url); +$filter['offset'] = $offset; $filter['limit'] = (int) $config['block_size']; $components = network_components_get_network_components( false, @@ -791,7 +793,7 @@ foreach ($components as $component) { true ); - $data[0] = ''; + $data[0] = ''; $data[0] .= io_safe_output($component['name']); $data[0] .= ''; } else { @@ -855,7 +857,7 @@ foreach ($components as $component) { if ($is_management_allowed === true) { $table->cellclass[][6] = 'action_buttons'; - $data[6] = ''.html_print_image( + $data[6] = ''.html_print_image( 'images/copy.png', true, [ @@ -864,7 +866,7 @@ foreach ($components as $component) { 'class' => 'invert_filter', ] ).''; - $data[6] .= ''.html_print_image( + $data[6] .= ''.html_print_image( 'images/cross.png', true, [ @@ -887,7 +889,7 @@ if (isset($data) === true) { html_print_table($table); ui_pagination( $total_components, - $url, + $name_url, 0, 0, false, From 2b7b49db2072c43a4682e2b1ed714ed8a7822a55 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Wed, 22 Feb 2023 09:29:55 +0100 Subject: [PATCH 12/15] #10493 fixed pagination in tags --- pandora_console/godmode/tag/tag.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pandora_console/godmode/tag/tag.php b/pandora_console/godmode/tag/tag.php index b808edde9b..6474abd437 100644 --- a/pandora_console/godmode/tag/tag.php +++ b/pandora_console/godmode/tag/tag.php @@ -207,14 +207,14 @@ if (empty($tag_name) === false) { // If the user has filtered the view. $filter_performed = !empty($filter); - -$filter['offset'] = (int) get_parameter('offset'); +$offset = (int) get_parameter('offset'); +$filter['offset'] = $offset; $filter['limit'] = (int) $config['block_size']; // Statements for pagination. -$url = ui_get_url_refresh(); +$url = 'index.php?sec=gusuarios&sec2=godmode/tag/tag'; $total_tags = tags_get_tag_count($filter); - +$offset_delete = ($offset >= ($total_tags - 1)) ? ($offset - $config['block_size']) : $offset; $result = tags_search_tag(false, $filter); // Filter form. @@ -392,7 +392,7 @@ if (empty($result) === false) { ] ); $data[6] .= ''; - $data[6] .= ''.html_print_image( + $data[6] .= ''.html_print_image( 'images/cross.png', true, [ From 4374e78ad71ebb10f29513be0cf131d9661c88d3 Mon Sep 17 00:00:00 2001 From: Calvo Date: Thu, 23 Feb 2023 18:09:14 +0100 Subject: [PATCH 13/15] Removed Win32 service from pandora_server --- pandora_server/bin/pandora_server | 143 +----------------------- pandora_server/lib/PandoraFMS/Config.pm | 4 - 2 files changed, 1 insertion(+), 146 deletions(-) diff --git a/pandora_server/bin/pandora_server b/pandora_server/bin/pandora_server index 957d2d8f42..c6b1fc15bb 100755 --- a/pandora_server/bin/pandora_server +++ b/pandora_server/bin/pandora_server @@ -42,9 +42,6 @@ use PandoraFMS::PredictionServer; use PandoraFMS::WebServer; use PandoraFMS::InventoryServer; -# Constants for Win32 services. -use constant WIN32_SERVICE_STOPPED => 0x01; -use constant WIN32_SERVICE_RUNNING => 0x04; # Global vars my %Config :shared; @@ -255,7 +252,6 @@ sub pandora_crash () { print_message (\%Config, " Error description:\n", 0); print_message (\%Config, $full_error, 0); - callback_stop() if ($^O eq 'MSWin32' && defined($Config{'win32_service'})); } ######################################################################################## @@ -510,135 +506,6 @@ sub pandora_server_tasks ($) { db_disconnect($dbh); } -################################################################################ -## Install the Windows service. -################################################################################ -sub win32_install_service() { - - # Load Win32::Daemon. - eval "use Win32::Daemon"; - die($@) if ($@); - - # Configure and install the service. - my $service_path = $0; - my $service_params = "-S run \"" . $Config{'pandora_path'} ."\""; - my %service_hash = ( - machine => '', - name => 'PANDORAFMSSRV', - display => 'Pandora FMS Server', - path => $service_path, - user => '', - pwd => '', - description => 'Pandora FMS Server http://pandorafms.com/', - parameters => $service_params - ); - - if (Win32::Daemon::CreateService(\%service_hash)) { - print "Successfully added.\n"; - exit 0; - } else { - print "Failed to add service: " . Win32::FormatMessage(Win32::Daemon::GetLastError()) . "\n"; - exit 1; - } -} - -################################################################################ -## Install the Windows service. -################################################################################ -sub win32_uninstall_service() { - - # Load Win32::Daemon. - eval "use Win32::Daemon"; - die($@) if ($@); - - # Uninstall the service. - if (Win32::Daemon::DeleteService('', 'PANDORAFMSSRV')) { - print "Successfully deleted.\n"; - exit 0; - } else { - print "Failed to delete service: " . Win32::FormatMessage(Win32::Daemon::GetLastError()) . "\n"; - exit 1; - } -} - -################################################################################ -## Windows service callback function for the running event. -################################################################################ -sub callback_running { - if (Win32::Daemon::State() == WIN32_SERVICE_RUNNING) { - } -} - -################################################################################ -## Windows service callback function for the start event. -################################################################################ -sub callback_start { - no strict; - - # Accept_connections (); - my $thr = threads->create(\&main); - if (!defined($thr)) { - Win32::Daemon::State(WIN32_SERVICE_STOPPED); - Win32::Daemon::StopService(); - return; - } - $thr->detach(); - - Win32::Daemon::State(WIN32_SERVICE_RUNNING); -} - -################################################################################ -## Windows service callback function for the stop event. -################################################################################ -sub callback_stop { - - $RUN = 0; - Win32::Daemon::State(WIN32_SERVICE_STOPPED); - Win32::Daemon::StopService(); -} - -################################################################################ -# Run as a Windows service. -################################################################################ -sub win32_service_run() { - - # Load Win32::Daemon. - eval "use Win32::Daemon"; - die($@) if ($@); - - # Run the Pandora FMS Server as a Windows service. - Win32::Daemon::RegisterCallbacks({ - start => \&callback_start, - running => \&callback_running, - stop => \&callback_stop, - }); - Win32::Daemon::StartService(); -} - -################################################################################ -## Parse command line options. -################################################################################ -sub parse_service_options ($) { - my $config = shift; - - # Sanity checks. - return unless defined($config->{'win32_service'}); - die ("[ERROR] Windows services are only available on Win32.\n\n") if ($^O ne 'MSWin32'); - - # Win32 service management. - eval "use Win32::Daemon"; - die($@) if ($@); - - if ($config->{'win32_service'} eq 'install') { - win32_install_service(); - } elsif ($config->{'win32_service'} eq 'uninstall') { - win32_uninstall_service(); - } elsif ($config->{'win32_service'} eq 'run') { - } else { - die("[ERROR] Unknown action: " . $config->{'win32_service'}); - } -} - ################################################################ ################################################################ ## Main. @@ -967,17 +834,9 @@ $SIG{'ALRM'} = 'IGNORE'; pandora_init(\%Config, pandora_get_initial_product_name() . ' Server'); pandora_load_config (\%Config); -# Parse command line options. -parse_service_options(\%Config); # Run as a regular process. -if (!defined($Config{'win32_service'})) { - main(); -} -# Run as a Windows service. -else { - win32_service_run(); -} +main(); ################################################################################ # Kill any scripts started by the Pandora FMS Server that are still running. diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm index 30a23bc725..a06b9bc4a0 100644 --- a/pandora_server/lib/PandoraFMS/Config.pm +++ b/pandora_server/lib/PandoraFMS/Config.pm @@ -64,7 +64,6 @@ sub help_screen { print " -d : Debug mode activated. Writes extensive information in the logfile \n"; print " -D : Daemon mode (runs in background)\n"; print " -P : Store PID to file.\n"; - print " -S : Manage the win32 service.\n"; print " -h : This screen. Shows a little help screen \n"; print " \n"; exit; @@ -111,9 +110,6 @@ sub pandora_init { elsif ($parametro =~ m/-D\z/) { $pa_config->{"daemon"}=1; } - elsif ($parametro =~ m/^-S\z/i) { - $pa_config->{'win32_service'}= clean_blank($ARGV[$ax+1]); - } else { ($pa_config->{"pandora_path"} = $parametro); } From c7e53f5a1a50f704436c0b206981173fdda2167c Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Fri, 24 Feb 2023 12:07:37 +0100 Subject: [PATCH 14/15] #10259 resolve conflics --- .../include/class/ConsoleSupervisor.php | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/pandora_console/include/class/ConsoleSupervisor.php b/pandora_console/include/class/ConsoleSupervisor.php index ce6d2df301..837be70906 100644 --- a/pandora_console/include/class/ConsoleSupervisor.php +++ b/pandora_console/include/class/ConsoleSupervisor.php @@ -262,7 +262,17 @@ class ConsoleSupervisor * Check number of agents is equals and more than 200. * NOTIF.ACCESSSTASTICS.PERFORMANCE */ + $this->checkAccessStatisticsPerformance(); + + /* + * Checkc agent missing libraries. + * NOTIF.AGENT.LIBRARY + */ + + if ((bool) enterprise_installed() === true) { + $this->checkLibaryError(); + } } @@ -528,7 +538,18 @@ class ConsoleSupervisor * Check number of agents is equals and more than 200. * NOTIF.ACCESSSTASTICS.PERFORMANCE */ + $this->checkAccessStatisticsPerformance(); + + /* + * Checkc agent missing libraries. + * NOTIF.AGENT.LIBRARY + */ + + if ((bool) enterprise_installed() === true) { + $this->checkLibaryError(); + } + } @@ -2418,7 +2439,7 @@ class ConsoleSupervisor if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') { $message_conf_cron .= __('Discovery relies on an appropriate cron setup.'); $message_conf_cron .= '. '.__('Please, add the following line to your crontab file:'); - $message_conf_cron .= '
* * * * * <user> wget -q -O - --no-check-certificate ';
+                $message_conf_cron .= '
* * * * * <user> wget -q -O - --no-check-certificate --load-cookies /tmp/cron-session-cookies --save-cookies /tmp/cron-session-cookies --keep-session-cookies ';
                 $message_conf_cron .= str_replace(
                     ENTERPRISE_DIR.'/meta/',
                     '',
@@ -2845,4 +2866,30 @@ class ConsoleSupervisor
     }
 
 
+    /**
+     * Chechs if an agent has a dependency eror on omnishell
+     *
+     * @return void
+     */
+    public function checkLibaryError()
+    {
+        $sql = 'SELECT COUNT(errorlevel) from tremote_command_target WHERE errorlevel = 2';
+
+        $error_dependecies = db_get_sql($sql);
+        if ($error_dependecies > 0) {
+            $this->notify(
+                [
+                    'type'    => 'NOTIF.AGENT.LIBRARY',
+                    'title'   => __('Agent dependency error'),
+                    'message' => __(
+                        'There are omnishell agents with dependency errors',
+                    ),
+
+                    'url'     => '__url__/index.php?sec=gextensions&sec2=enterprise/tools/omnishell',
+                ]
+            );
+        }
+    }
+
+
 }

From 23e333f58d882162c207f033712868c672df522d Mon Sep 17 00:00:00 2001
From: artica 
Date: Tue, 28 Feb 2023 01:00:26 +0100
Subject: [PATCH 15/15] Auto-updated build strings.

---
 pandora_agents/unix/DEBIAN/control             | 2 +-
 pandora_agents/unix/DEBIAN/make_deb_package.sh | 2 +-
 pandora_agents/unix/pandora_agent              | 2 +-
 pandora_agents/unix/pandora_agent.redhat.spec  | 2 +-
 pandora_agents/unix/pandora_agent.spec         | 2 +-
 pandora_agents/unix/pandora_agent_installer    | 2 +-
 pandora_agents/win32/installer/pandora.mpi     | 2 +-
 pandora_agents/win32/pandora.cc                | 2 +-
 pandora_agents/win32/versioninfo.rc            | 2 +-
 pandora_console/DEBIAN/control                 | 2 +-
 pandora_console/DEBIAN/make_deb_package.sh     | 2 +-
 pandora_console/include/config_process.php     | 2 +-
 pandora_console/install.php                    | 2 +-
 pandora_console/pandora_console.redhat.spec    | 2 +-
 pandora_console/pandora_console.rhel7.spec     | 2 +-
 pandora_console/pandora_console.spec           | 2 +-
 pandora_server/DEBIAN/control                  | 2 +-
 pandora_server/DEBIAN/make_deb_package.sh      | 2 +-
 pandora_server/lib/PandoraFMS/Config.pm        | 2 +-
 pandora_server/lib/PandoraFMS/PluginTools.pm   | 2 +-
 pandora_server/pandora_server.redhat.spec      | 2 +-
 pandora_server/pandora_server.spec             | 2 +-
 pandora_server/pandora_server_installer        | 2 +-
 pandora_server/util/pandora_db.pl              | 2 +-
 pandora_server/util/pandora_manage.pl          | 2 +-
 25 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control
index f59bb0ff18..5a22f8ecae 100644
--- a/pandora_agents/unix/DEBIAN/control
+++ b/pandora_agents/unix/DEBIAN/control
@@ -1,5 +1,5 @@
 package: pandorafms-agent-unix
-Version: 7.0NG.769-230227
+Version: 7.0NG.769-230228
 Architecture: all
 Priority: optional
 Section: admin
diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh
index a9ee5343bd..ac85303303 100644
--- a/pandora_agents/unix/DEBIAN/make_deb_package.sh
+++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
-pandora_version="7.0NG.769-230227"
+pandora_version="7.0NG.769-230228"
 
 echo "Test if you has the tools for to make the packages."
 whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent
index bddaac64d4..a994aabc8b 100755
--- a/pandora_agents/unix/pandora_agent
+++ b/pandora_agents/unix/pandora_agent
@@ -1023,7 +1023,7 @@ my $Sem = undef;
 my $ThreadSem = undef;
 
 use constant AGENT_VERSION => '7.0NG.769';
-use constant AGENT_BUILD => '230227';
+use constant AGENT_BUILD => '230228';
 
 # Agent log default file size maximum and instances
 use constant DEFAULT_MAX_LOG_SIZE => 600000;
diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec
index 005d3a8bc3..1e35d4443c 100644
--- a/pandora_agents/unix/pandora_agent.redhat.spec
+++ b/pandora_agents/unix/pandora_agent.redhat.spec
@@ -4,7 +4,7 @@
 %global __os_install_post %{nil}
 %define name        pandorafms_agent_linux
 %define version     7.0NG.769
-%define release     230227
+%define release     230228
 
 Summary:            Pandora FMS Linux agent, PERL version
 Name:               %{name}
diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec
index 07b3d30bdf..3519ff8837 100644
--- a/pandora_agents/unix/pandora_agent.spec
+++ b/pandora_agents/unix/pandora_agent.spec
@@ -4,7 +4,7 @@
 %global __os_install_post %{nil}
 %define name        pandorafms_agent_linux
 %define version     7.0NG.769
-%define release     230227
+%define release     230228
 
 Summary:            Pandora FMS Linux agent, PERL version
 Name:               %{name}
diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer
index f9ef95d7ab..ec3075858c 100755
--- a/pandora_agents/unix/pandora_agent_installer
+++ b/pandora_agents/unix/pandora_agent_installer
@@ -10,7 +10,7 @@
 # **********************************************************************
 
 PI_VERSION="7.0NG.769"
-PI_BUILD="230227"
+PI_BUILD="230228"
 OS_NAME=`uname -s`
 
 FORCE=0
diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi
index c4f68463d7..2f2c4f1324 100644
--- a/pandora_agents/win32/installer/pandora.mpi
+++ b/pandora_agents/win32/installer/pandora.mpi
@@ -186,7 +186,7 @@ UpgradeApplicationID
 {}
 
 Version
-{230227}
+{230228}
 
 ViewReadme
 {Yes}
diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc
index c5bac1e0ac..9d41d77811 100644
--- a/pandora_agents/win32/pandora.cc
+++ b/pandora_agents/win32/pandora.cc
@@ -30,7 +30,7 @@ using namespace Pandora;
 using namespace Pandora_Strutils;
 
 #define PATH_SIZE    _MAX_PATH+1
-#define PANDORA_VERSION ("7.0NG.769 Build 230227")
+#define PANDORA_VERSION ("7.0NG.769 Build 230228")
 
 string pandora_path;
 string pandora_dir;
diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc
index ad8addeb38..ab42fb366e 100644
--- a/pandora_agents/win32/versioninfo.rc
+++ b/pandora_agents/win32/versioninfo.rc
@@ -11,7 +11,7 @@ BEGIN
       VALUE "LegalCopyright", "Artica ST"
       VALUE "OriginalFilename", "PandoraAgent.exe"
       VALUE "ProductName", "Pandora FMS Windows Agent"
-      VALUE "ProductVersion", "(7.0NG.769(Build 230227))"
+      VALUE "ProductVersion", "(7.0NG.769(Build 230228))"
       VALUE "FileVersion", "1.0.0.0"
     END
   END
diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control
index 2a40cdd9c1..12ed651bf5 100644
--- a/pandora_console/DEBIAN/control
+++ b/pandora_console/DEBIAN/control
@@ -1,5 +1,5 @@
 package: pandorafms-console
-Version: 7.0NG.769-230227
+Version: 7.0NG.769-230228
 Architecture: all
 Priority: optional
 Section: admin
diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh
index 8a957476bd..32b28e5e53 100644
--- a/pandora_console/DEBIAN/make_deb_package.sh
+++ b/pandora_console/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
-pandora_version="7.0NG.769-230227"
+pandora_version="7.0NG.769-230228"
 
 package_pear=0
 package_pandora=1
diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php
index e7273c3287..a853e7eef5 100644
--- a/pandora_console/include/config_process.php
+++ b/pandora_console/include/config_process.php
@@ -20,7 +20,7 @@
 /**
  * Pandora build version and version
  */
-$build_version = 'PC230227';
+$build_version = 'PC230228';
 $pandora_version = 'v7.0NG.769';
 
 // Do not overwrite default timezone set if defined.
diff --git a/pandora_console/install.php b/pandora_console/install.php
index d7451230e0..2a7bde9bb0 100644
--- a/pandora_console/install.php
+++ b/pandora_console/install.php
@@ -131,7 +131,7 @@
         
[ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index f93bb611ad..8fbf6b3a47 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_server %define version 7.0NG.769 -%define release 230227 +%define release 230228 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 46c861f6bd..2e8dbd979d 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_server %define version 7.0NG.769 -%define release 230227 +%define release 230228 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index 5420293644..b4b9a39a65 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.769" -PI_BUILD="230227" +PI_BUILD="230228" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index 05f8f8e7d5..95573a89de 100755 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -35,7 +35,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.769 Build 230227"; +my $version = "7.0NG.769 Build 230228"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index 0c9c3aa929..ea984d2726 100755 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.769 Build 230227"; +my $version = "7.0NG.769 Build 230228"; # save program name for logging my $progname = basename($0);