diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control
index 2cbd073e72..961430ed2d 100644
--- a/pandora_agents/unix/DEBIAN/control
+++ b/pandora_agents/unix/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-agent-unix
-Version: 7.0NG.774-231127
+Version: 7.0NG.774-231129
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 d22fd0695f..afccdacf6e 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.774-231127"
+pandora_version="7.0NG.774-231129"
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 f942f995b4..717ea04435 100755
--- a/pandora_agents/unix/pandora_agent
+++ b/pandora_agents/unix/pandora_agent
@@ -1039,7 +1039,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.774';
-use constant AGENT_BUILD => '231127';
+use constant AGENT_BUILD => '231129';
# 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 d1eb93e83f..89a42e7053 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.774
-%define release 231127
+%define release 231129
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec b/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec
index d711fb699c..22f398cc58 100644
--- a/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec
+++ b/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec
@@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.774
-%define release 231127
+%define release 231129
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version
diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec b/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec
index ea420e44ed..9b3432f0e8 100644
--- a/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec
+++ b/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec
@@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.774
-%define release 231127
+%define release 231129
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version
diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.spec b/pandora_agents/unix/pandora_agent.redhat_bin.spec
index 3796b6ecd8..f36d3ee5ef 100644
--- a/pandora_agents/unix/pandora_agent.redhat_bin.spec
+++ b/pandora_agents/unix/pandora_agent.redhat_bin.spec
@@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.774
-%define release 231127
+%define release 231129
Summary: Pandora FMS Linux agent, binary version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec
index 3480ae034d..7509428246 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.774
-%define release 231127
+%define release 231129
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 cdd83702fb..cf837d8d18 100755
--- a/pandora_agents/unix/pandora_agent_installer
+++ b/pandora_agents/unix/pandora_agent_installer
@@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.774"
-PI_BUILD="231127"
+PI_BUILD="231129"
OS_NAME=`uname -s`
FORCE=0
diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi
index 9cdd7c6d29..2da734487d 100644
--- a/pandora_agents/win32/installer/pandora.mpi
+++ b/pandora_agents/win32/installer/pandora.mpi
@@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
-{231127}
+{231129}
ViewReadme
{Yes}
diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc
index 963a3116dc..11dd5631d0 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.774 Build 231127")
+#define PANDORA_VERSION ("7.0NG.774 Build 231129")
string pandora_path;
string pandora_dir;
diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc
index ff3ee2a969..07e506116e 100644
--- a/pandora_agents/win32/versioninfo.rc
+++ b/pandora_agents/win32/versioninfo.rc
@@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Pandora FMS"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
- VALUE "ProductVersion", "(7.0NG.774(Build 231127))"
+ VALUE "ProductVersion", "(7.0NG.774(Build 231129))"
VALUE "FileVersion", "1.0.0.0"
END
END
diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control
index 8bfb3754d1..c6182f77f3 100644
--- a/pandora_console/DEBIAN/control
+++ b/pandora_console/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-console
-Version: 7.0NG.774-231127
+Version: 7.0NG.774-231129
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 ad9d0a7a05..9a519e7218 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.774-231127"
+pandora_version="7.0NG.774-231129"
package_pear=0
package_pandora=1
diff --git a/pandora_console/extensions/agents_modules_csv.php b/pandora_console/extensions/agents_modules_csv.php
index 6ed1061c11..e4a331338f 100644
--- a/pandora_console/extensions/agents_modules_csv.php
+++ b/pandora_console/extensions/agents_modules_csv.php
@@ -27,17 +27,18 @@
*/
global $config;
-if (true) {
- include_once '../include/config.php';
- include_once '../include/functions_agents.php';
- include_once '../include/functions_reporting.php';
- include_once '../include/functions_modules.php';
- include_once '../include/functions_users.php';
+if ((bool) $config['metaconsole']) {
include_once $config['homedir'].'/include/config.php';
include_once $config['homedir'].'/include/functions_agents.php';
include_once $config['homedir'].'/include/functions_reporting.php';
include_once $config['homedir'].'/include/functions_modules.php';
include_once $config['homedir'].'/include/functions_users.php';
+} else {
+ include_once '../include/config.php';
+ include_once '../include/functions_agents.php';
+ include_once '../include/functions_reporting.php';
+ include_once '../include/functions_modules.php';
+ include_once '../include/functions_users.php';
}
@@ -106,7 +107,25 @@ if ($get_agents_module_csv === '1') {
foreach ($results as $result) {
foreach ($result as $key => $value) {
- $out_csv .= io_safe_output($value).$divider;
+ if (preg_match('/Linux/i', $_SERVER['HTTP_USER_AGENT'])) {
+ $value = preg_replace(
+ '/\s+/',
+ ' ',
+ io_safe_output($value)
+ );
+ } else {
+ $value = mb_convert_encoding(
+ preg_replace(
+ '/\s+/',
+ '',
+ io_safe_output($value)
+ ),
+ 'UTF-16LE',
+ 'UTF-8'
+ );
+ }
+
+ $out_csv .= $value.$divider;
}
$out_csv .= "\n";
diff --git a/pandora_console/extensions/api_checker.php b/pandora_console/extensions/api_checker.php
index fce3e1a00f..38488fc9e4 100755
--- a/pandora_console/extensions/api_checker.php
+++ b/pandora_console/extensions/api_checker.php
@@ -99,7 +99,7 @@ function api_execute(
if (empty($token) === true) {
$data['apipass'] = $apipass;
$data['user'] = $user;
- $data['password'] = $password;
+ $data['pass'] = $password;
}
}
diff --git a/pandora_console/extensions/dbmanager.php b/pandora_console/extensions/dbmanager.php
index 983e208bef..acaaadd12c 100644
--- a/pandora_console/extensions/dbmanager.php
+++ b/pandora_console/extensions/dbmanager.php
@@ -90,7 +90,7 @@ function dbmgr_extension_main()
// Header.
ui_print_standard_header(
- __('Database interface'),
+ __('DB interface'),
'images/gm_db.png',
false,
'',
diff --git a/pandora_console/extras/mr/67.sql b/pandora_console/extras/mr/67.sql
index 88082d4a6e..3e011368c4 100644
--- a/pandora_console/extras/mr/67.sql
+++ b/pandora_console/extras/mr/67.sql
@@ -1,10 +1,28 @@
START TRANSACTION;
-
+-- Telegram and vonage default alerts
+UPDATE talert_actions
+ SET field2='[PANDORA] Alert FIRED on _agent_ / _module_ / _timestamp_ / _data_'
+ WHERE id=9;
+UPDATE talert_actions
+ SET field2='[PANDORA] Alert FIRED on _agent_ / _module_ / _timestamp_ / _data_'
+ WHERE id=11;
-- Delete table tagent_access
DROP TABLE tagent_access;
ALTER TABLE treport_content ADD check_unknowns_graph tinyint DEFAULT 0 NULL;
+-- Update macros for plugin oracle
+
+UPDATE `tdiscovery_apps` SET `version` = '1.1' WHERE `short_name` = 'pandorafms.oracle';
+
+SET @id_app := (SELECT `id_app` FROM `tdiscovery_apps` WHERE `short_name` = 'pandorafms.oracle');
+
+UPDATE `tdiscovery_apps_tasks_macros` SET `value` = 'agents_group_id=__taskGroupID__ interval=__taskInterval__ user=_dbuser_ password=_dbpass_ thick_mode=_thickMode_ client_path=_clientPath_ threads=_threads_ modules_prefix=_prefixModuleName_ execute_custom_queries=_executeCustomQueries_ analyze_connections=_checkConnections_ engine_uptime=_checkUptime_ query_stats=_queryStats_ cache_stats=_checkCache_ fragmentation_ratio=_checkFragmentation_ check_tablescpaces=_checkTablespaces_' WHERE `macro` = '_tempfileConf_' AND `id_task` IN (SELECT `id_rt` FROM `trecon_task` WHERE `id_app` = @id_app);
+
+INSERT IGNORE INTO `tdiscovery_apps_tasks_macros` (`id_task`, `macro`, `type`, `value`, `temp_conf`) SELECT id_rt, '_thickMode_', 'custom', 0, 0 FROM `trecon_task` WHERE `id_app` = @id_app;
+INSERT IGNORE INTO `tdiscovery_apps_tasks_macros` (`id_task`, `macro`, `type`, `value`, `temp_conf`) SELECT id_rt, '_clientPath_', 'custom', '', 0 FROM `trecon_task` WHERE `id_app` = @id_app;
+UPDATE `trecon_task` SET `setup_complete` = 1 WHERE `id_app` = @id_app;
+
ALTER TABLE `tdashboard`
ADD COLUMN `date_range` TINYINT NOT NULL DEFAULT 0 AFTER `cells_slideshow`,
ADD COLUMN `date_from` INT NOT NULL DEFAULT 0 AFTER `date_range`,
diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php
index 9fd0d8c7ef..557b855e09 100644
--- a/pandora_console/godmode/agentes/agent_manager.php
+++ b/pandora_console/godmode/agentes/agent_manager.php
@@ -922,22 +922,25 @@ $tableAdvancedAgent->data['safe_operation'][] = html_print_label_input_block(
)
);
-$tableAdvancedAgent->data['vul_scan_enabled'][] = html_print_label_input_block(
- __('Vulnerability scanning'),
- html_print_select(
- [
- 0 => __('Disabled'),
- 1 => __('Enabled'),
- 2 => __('Use global settings'),
- ],
- 'vul_scan_enabled',
- $vul_scan_enabled,
- '',
- '',
- 0,
- true
- )
-);
+if (enterprise_installed() === true) {
+ $tableAdvancedAgent->data['vul_scan_enabled'][] = html_print_label_input_block(
+ __('Vulnerability scanning'),
+ html_print_select(
+ [
+ 0 => __('Disabled'),
+ 1 => __('Enabled'),
+ 2 => __('Use global settings'),
+ ],
+ 'vul_scan_enabled',
+ $vul_scan_enabled,
+ '',
+ '',
+ 0,
+ true
+ )
+ );
+}
+
ui_toggle(
html_print_table($tableAdvancedAgent, true),
diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php
index 9c318b4e9f..c396634f67 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_common.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_common.php
@@ -1391,7 +1391,6 @@ $table_advanced->data['made_enabled'][0] = html_print_checkbox_switch(
false,
'',
false,
- false,
'wp100 static'
);
@@ -2004,23 +2003,14 @@ ui_require_jquery_file('json');
var type_names = jQuery.parseJSON(Base64.decode($('#hidden-type_names').val()));
var type_name_selected = type_names[type_selected];
- if ($('#radius-percentage_warning').prop('checked') === true || $('#radius-percentage_critical').prop('checked') === true || type_name_selected == 'generic_data_string') {
+ if (($('#radius-percentage_warning').prop('checked') === true && $('#radius-percentage_critical').prop('checked') === true) || type_name_selected == 'generic_data_string') {
+ paint_graph_values();
$("#svg_dinamic").hide();
} else {
paint_graph_values();
$("#svg_dinamic").show();
}
- if ($('#radius-percentage_warning').prop('checked') === true) {
- $('#radius-warning_inverse').hide();
- $('#label-radius-warning_inverse').hide();
- }
-
- if ($('#radius-warning_inverse').prop('checked') === true) {
- $('#radius-percentage_warning').hide();
- $('#label-radius-percentage_warning').hide();
- }
-
if ($('#radius-normal_warning').prop('checked') === true) {
$('#radius-warning_inverse').show();
$('#label-radius-warning_inverse').show();
@@ -2028,17 +2018,6 @@ ui_require_jquery_file('json');
$('#label-radius-percentage_warning').show();
}
-
- if ($('#radius-percentage_critical').prop('checked') === true) {
- $('#radius-critical_inverse').hide();
- $('#label-radius-critical_inverse').hide();
- }
-
- if ($('#radius-critical_inverse').prop('checked') === true) {
- $('#radius-percentage_critical').hide();
- $('#label-radius-percentage_critical').hide();
- }
-
if ($('#radius-normal_critical').prop('checked') === true) {
$('#radius-critical_inverse').show();
$('#label-radius-critical_inverse').show();
@@ -2355,30 +2334,48 @@ ui_require_jquery_file('json');
var message_error_percentage = '';
//if haven't error
- if (max_w == 0 || max_w > min_w) {
- if (max_c == 0 || max_c > min_c) {
- paint_graph_status(
- min_w, max_w, min_c, max_c, inverse_w,
- inverse_c, error_w, error_c,
- legend_normal, legend_warning, legend_critical,
- message_error_warning, message_error_critical
- );
+ if (max_w == 0 || max_w > min_w || $('#radius-percentage_warning').is(':checked') === true) {
+ if (max_c == 0 || max_c > min_c || $('#radius-percentage_critical').is(':checked') === true) {
+ error_c = 0;
+ error_w = 0;
} else {
error_c = 1;
- paint_graph_status(
- 0, 0, 0, 0, 0, 0, error_w, error_c,
- legend_normal, legend_warning, legend_critical,
- message_error_warning, message_error_critical
- );
+ min_w = 0;
+ max_w = 0;
+ min_c = 0;
+ max_c = 0;
+ inverse_w = 0;
+ inverse_c = 0;
}
} else {
+ if (max_c !== 0 && max_c < min_c && $('#radius-percentage_critical').is(':checked') === false) {
+ error_c = 2;
+ }
error_w = 1;
- paint_graph_status(
- 0, 0, 0, 0, 0, 0, error_w, error_c,
- legend_normal, legend_warning, legend_critical,
- message_error_warning, message_error_critical
- );
+ min_w = 0;
+ max_w = 0;
+ min_c = 0;
+ max_c = 0;
+ inverse_w = 0;
+ inverse_c = 0;
}
+
+ if ($('#radius-percentage_warning').is(':checked') === true){
+ min_w = 0;
+ max_w = 0;
+ }
+
+ if ($('#radius-percentage_critical').is(':checked') === true){
+ min_c = 0;
+ max_c = 0;
+ }
+
+ paint_graph_status(
+ min_w, max_w, min_c, max_c, inverse_w,
+ inverse_c, error_w, error_c,
+ legend_normal, legend_warning, legend_critical,
+ message_error_warning, message_error_critical
+ );
}
/* ]]> */
diff --git a/pandora_console/godmode/agentes/module_manager_editor_prediction.php b/pandora_console/godmode/agentes/module_manager_editor_prediction.php
index eb85a05618..095708d2b1 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_prediction.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_prediction.php
@@ -131,9 +131,10 @@ if ($module_service_synthetic_selector !== ENTERPRISE_NOT_HOOK) {
}
$data = [];
-$data[0] = __('Agent');
-$data[1] = __('Module');
-$data[2] = __('Period');
+
+$data[0] = __('Module');
+$data[1] = __('Period');
+
$table_simple->cellclass['caption_prediction_module'][0] = 'w33p';
$table_simple->cellclass['caption_prediction_module'][1] = 'w33p';
$table_simple->cellclass['caption_prediction_module'][2] = 'w33p';
@@ -163,34 +164,68 @@ $params['none_module_text'] = __('Select Module');
$params['use_hidden_input_idagent'] = true;
$params['input_style'] = 'width: 100%;';
$params['hidden_input_idagent_id'] = 'hidden-id_agente_module_prediction';
-$data[0] = ui_print_agent_autocomplete_input($params);
-if ($id_agente > 0) {
- $predictionModuleInput = html_print_select_from_sql(
- 'SELECT id_agente_modulo, nombre
- FROM tagente_modulo
- WHERE delete_pending = 0
- AND history_data = 1
- AND id_agente = '.$id_agente_clean.'
- AND id_agente_modulo <> '.$id_agente_modulo,
+if (strstr($page, 'policy_modules') === false) {
+ $modules = agents_get_modules($id_agente);
+
+ $predictionModuleInput = html_print_select(
+ $modules,
'prediction_module',
$prediction_module,
'',
- __('Select Module'),
+ '',
0,
true,
false,
true,
+ '',
false,
- 'width: 100%;'
+ false,
+ false,
+ false,
+ false,
+ '',
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ '',
+ false,
+ 'pm'
);
} else {
- $predictionModuleInput = '';
+ $modules = index_array(policies_get_modules($policy_id, false, ['id', 'name']));
+
+ $predictionModuleInput = html_print_select(
+ $modules,
+ 'id_module_policy',
+ $module['custom_integer_1'],
+ '',
+ '',
+ 0,
+ true,
+ false,
+ true,
+ '',
+ false,
+ false,
+ false,
+ false,
+ false,
+ '',
+ false,
+ false,
+ true
+ );
}
-$data[1] = $predictionModuleInput;
-$data[2] = html_print_select([__('Weekly'), __('Monthly'), __('Daily')], 'custom_integer_2', $custom_integer_2, '', '', 0, true, false, true, '', false, 'width: 100%;');
-$data[2] .= html_print_input_hidden('id_agente_module_prediction', $id_agente, true);
+$data[0] = $predictionModuleInput;
+$data[1] = html_print_select([__('Weekly'), __('Monthly'), __('Daily')], 'custom_integer_2', $custom_integer_2, '', '', 0, true, false, true, '', false, 'width: 100%;');
+$data[1] .= html_print_input_hidden('id_agente_module_prediction', $id_agente, true);
+
$table_simple->cellclass['prediction_module'][0] = 'w33p';
$table_simple->cellclass['prediction_module'][1] = 'w33p';
$table_simple->cellclass['prediction_module'][2] = 'w33p';
@@ -264,7 +299,7 @@ if ($selector_form !== ENTERPRISE_NOT_HOOK) {
}
// Synthetic modules are an Enterprise feature.
-$synthetic_module_form = enterprise_hook('get_synthetic_module_form');
+$synthetic_module_form = enterprise_hook('get_synthetic_module_form', [$policy_id]);
if ($synthetic_module_form !== ENTERPRISE_NOT_HOOK) {
$data = [];
$data[0] = $synthetic_module_form;
diff --git a/pandora_console/godmode/groups/group_list.php b/pandora_console/godmode/groups/group_list.php
index 201d3cea4e..66717bc35b 100644
--- a/pandora_console/godmode/groups/group_list.php
+++ b/pandora_console/godmode/groups/group_list.php
@@ -84,6 +84,9 @@ if (is_ajax() === true) {
}
$group = db_get_row('tgrupo', 'id_grupo', $id_group);
+ if (str_contains($group['icon'], '.png') === true) {
+ $group['folder'] = 'groups_small/';
+ }
echo json_encode($group);
return;
diff --git a/pandora_console/godmode/massive/massive_add_alerts.php b/pandora_console/godmode/massive/massive_add_alerts.php
index 57261a357b..ad5cc00e27 100755
--- a/pandora_console/godmode/massive/massive_add_alerts.php
+++ b/pandora_console/godmode/massive/massive_add_alerts.php
@@ -255,7 +255,18 @@ $table->data[1][1] = html_print_select(
true,
'',
false,
- 'width:180px;'
+ 'width:180px;',
+ false,
+ false,
+ false,
+ '',
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true
);
$table->data[1][2] = __('When select agents');
$table->data[1][2] .= '
';
@@ -271,7 +282,31 @@ $table->data[1][2] .= html_print_select(
'',
true
);
-$table->data[1][3] = html_print_select([], 'module[]', '', false, '', '', true, true, false, '', false, 'width:180px;');
+$table->data[1][3] = html_print_select(
+ [],
+ 'module[]',
+ '',
+ false,
+ '',
+ '',
+ true,
+ true,
+ false,
+ '',
+ false,
+ 'width:180px;',
+ false,
+ false,
+ false,
+ '',
+ true,
+ false,
+ false,
+ false,
+ true,
+ true,
+ false
+);
$usr_groups = users_get_groups($config['id_user'], 'LW', true);
$filter_groups = '';
diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php
index 94509ab820..171e16870b 100644
--- a/pandora_console/godmode/menu.php
+++ b/pandora_console/godmode/menu.php
@@ -367,6 +367,8 @@ if ($access_console_node === true) {
$sub['godmode/alerts/alert_list']['text'] = __('List of Alerts');
$sub['godmode/alerts/alert_list']['id'] = 'List_of_Alerts';
$sub['godmode/alerts/alert_list']['pages'] = ['godmode/alerts/alert_view'];
+ $sub['godmode/agentes/planned_downtime.list']['text'] = __('Scheduled downtime');
+ $sub['godmode/agentes/planned_downtime.list']['id'] = 'scheduled_downtime';
if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
$sub['godmode/alerts/alert_templates']['text'] = __('Templates');
@@ -708,6 +710,17 @@ if ($access_console_node === true) {
}
if ($access_console_node === true) {
+ // Tools
+ $menu_godmode['tools']['text'] = __('Tools');
+ $menu_godmode['tools']['sec2'] = 'operation/extensions';
+ $menu_godmode['tools']['id'] = 'oper-extensions';
+ $sub = [];
+ $sub['operation/agentes/exportdata']['text'] = __('Export data');
+ $sub['operation/agentes/exportdata']['id'] = 'export_data';
+ $sub['extensions/files_repo']['text'] = __('File repository');
+ $sub['extensions/files_repo']['id'] = 'file_repository';
+ $menu_godmode['tools']['sub'] = $sub;
+
// About.
$menu_godmode['about']['text'] = __('About');
$menu_godmode['about']['id'] = 'about';
diff --git a/pandora_console/godmode/reporting/graph_container.php b/pandora_console/godmode/reporting/graph_container.php
index b4fdcf521d..d7e0aefb78 100644
--- a/pandora_console/godmode/reporting/graph_container.php
+++ b/pandora_console/godmode/reporting/graph_container.php
@@ -95,7 +95,7 @@ $subsection = reporting_enterprise_add_graph_template_subsection('', $buttons);
$buttons['graph_container'] = [
'active' => true,
'text' => ''.html_print_image(
- 'images/graph-container.svg@svg',
+ 'images/graph-container@svg.svg',
true,
[
'title' => __('Graph container'),
diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
index bf2f9fae24..e2fec0a075 100755
--- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php
+++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
@@ -1086,6 +1086,50 @@ switch ($action) {
$period = $item['period'];
break;
+ case 'vuls_severity_graph':
+ $group = $item['id_group'];
+ break;
+
+ case 'vuls_attack_complexity':
+ $group = $item['id_group'];
+ break;
+
+ case 'vuls_by_packages':
+ $group = $item['id_group'];
+ break;
+
+ case 'vuls_by_agent':
+ $group = $item['id_group'];
+ $es = json_decode($item['external_source'], true);
+ $selected_agent_custom_field_filter = $es['agent_custom_field_filter'];
+ $security_hardening_score = $es['security_hardening_score'];
+ $vulnerabilities_status = $es['vulnerabilities_status'];
+ $secmon_status = $es['secmon_status'];
+ break;
+
+ case 'vuls_info_agent':
+ $idAgent = $item['id_agent'];
+ $es = json_decode($item['external_source'], true);
+ $vul_package = $es['vul_package'];
+ $vul_severity = $es['vul_severity'];
+ $vul_ac = $es['vul_ac'];
+ $vul_pr = $es['vul_pr'];
+ $vul_ui = $es['vul_ui'];
+ $vul_av = (empty($es['vul_av']) === true) ? 'all' : $es['vul_av'];
+ break;
+
+ case 'top_n_agents_vuls':
+ $group = $item['id_group'];
+ $recursion = $item['recursion'];
+ $top_n_value = (empty($item['top_n_value']) === true) ? 10 : $item['top_n_value'];
+ break;
+
+ case 'top_n_vuls_count':
+ $group = $item['id_group'];
+ $recursion = $item['recursion'];
+ $top_n_value = (empty($item['top_n_value']) === true) ? 10 : $item['top_n_value'];
+ break;
+
default:
// It's not possible.
break;
@@ -3965,6 +4009,217 @@ if (is_metaconsole() === true) {
?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'critical' => __('Critical'),
+ 'warning' => __('Warning'),
+ ],
+ 'secmon_status',
+ $secmon_status,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ '90' => __('< 90%'),
+ '80' => __('< 80%'),
+ '70' => __('< 70%'),
+ '60' => __('< 60%'),
+ '50' => __('< 50%'),
+ '40' => __('< 40%'),
+ '30' => __('< 30%'),
+ '20' => __('< 20%'),
+ '10' => __('< 10%'),
+ ],
+ 'security_hardening_score',
+ (empty($security_hardening_score) === false) ? $security_hardening_score : 'all',
+ '',
+ '',
+ 0,
+ false,
+ false,
+ false
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'crit' => __('Critical'),
+ 'warn' => __('Warning'),
+ ],
+ 'vulnerabilities_status',
+ $vulnerabilities_status,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ ],
+ 'vul_package',
+ $vul_package,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'high' => __('High'),
+ 'low' => __('Low'),
+ 'none' => __('None'),
+ ],
+ 'vul_severity',
+ $vul_severity,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'H' => __('High'),
+ 'L' => __('Low'),
+ ],
+ 'vul_ac',
+ $vul_ac,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'H' => __('High'),
+ 'L' => __('Low'),
+ 'N' => __('None'),
+ ],
+ 'vul_pr',
+ $vul_pr,
+ );
+ ?>
+
+
+
+
+
+
+
+
+ __('All'),
+ 'R' => __('Required'),
+ 'N' => __('None'),
+ ],
+ 'vul_ui',
+ $vul_ui,
+ );
+ ?>
+
+
+
+
+
+
+
+ __('All'),
+ 'A' => __('Adjacent Network'),
+ 'L' => __('Local'),
+ 'N' => __('Network'),
+ 'P' => __('Physical'),
+ ],
+ 'vul_av',
+ (empty($vul_av) === true) ? 'all' : $vul_av,
+ '',
+ '',
+ 0,
+ false,
+ false,
+ false
+ );
+ ?>
+
+
@@ -5692,6 +5947,27 @@ $(document).ready (function () {
return false;
}
break;
+ case 'vuls_info_agent':
+ if ($("#hidden-id_agent").val() == 0) {
+ dialog_message('#message_no_agent');
+ return false;
+ }
+ break;
+
+ case 'top_n_agents_vuls':
+ if ($("#text-max_items").val() == '') {
+ dialog_message('#message_no_max_item');
+ return false;
+ }
+ break;
+
+ case 'top_n_vuls_count':
+ if ($("#text-max_items").val() == '') {
+ dialog_message('#message_no_max_item');
+ return false;
+ }
+ break;
+
default:
break;
}
@@ -5846,7 +6122,24 @@ $(document).ready (function () {
return false;
}
break;
-
+ case 'vuls_info_agent':
+ if ($("#hidden-id_agent").val() == 0) {
+ dialog_message('#message_no_agent');
+ return false;
+ }
+ break;
+ case 'top_n_agents_vuls':
+ if ($("#text-max_items").val() == '') {
+ dialog_message('#message_no_max_item');
+ return false;
+ }
+ break;
+ case 'top_n_vuls_count':
+ if ($("#text-max_items").val() == '') {
+ dialog_message('#message_no_max_item');
+ return false;
+ }
+ break;
default:
break;
}
@@ -6903,6 +7196,15 @@ function chooseType() {
$("#row_cat_security_hardening").hide();
$("#row_ignore_skipped").hide();
$("#row_status_check").hide();
+ $("#row_secmon_status").hide();
+ $("#row_security_hardening_score").hide();
+ $("#row_vulnerabilities_status").hide();
+ $("#row_vulnerabilities_packages").hide();
+ $("#row_vulnerabilities_severity").hide();
+ $("#row_vulnerabilities_ac").hide();
+ $("#row_vulnerabilities_pr").hide();
+ $("#row_vulnerabilities_ui").hide();
+ $("#row_vulnerabilities_av").hide();
// SLA list default state.
$("#sla_list").hide();
@@ -7803,6 +8105,50 @@ function chooseType() {
$("#row_group").show();
$('#row_period').show();
break;
+
+ case 'vuls_severity_graph':
+ $("#row_group").show();
+ break;
+
+ case 'vuls_attack_complexity':
+ $("#row_group").show();
+ break;
+
+ case 'vuls_by_packages':
+ $("#row_group").show();
+ break;
+
+ case 'vuls_by_agent':
+ $("#row_group").show();
+ $("#row_custom_field_filter").show();
+ $("#row_secmon_status").show();
+ $("#row_security_hardening_score").show();
+ $("#row_vulnerabilities_status").show();
+ break;
+
+ case 'vuls_info_agent':
+ $("#row_agent").show();
+ $("#row_vulnerabilities_packages").show();
+ $("#row_vulnerabilities_severity").show();
+ $("#row_vulnerabilities_ac").show();
+ $("#row_vulnerabilities_pr").show();
+ $("#row_vulnerabilities_ui").show();
+ $("#row_vulnerabilities_av").show();
+ updatePackages();
+ $('#row_agent input[type=text]').change(function(e) {
+ updatePackages();
+ });
+ break;
+
+ case 'top_n_agents_vuls':
+ $("#row_group").show();
+ $("#row_max_items").show();
+ break;
+
+ case 'top_n_vuls_count':
+ $("#row_group").show();
+ $("#row_max_items").show();
+ break;
}
switch (type) {
@@ -8045,6 +8391,46 @@ function control_period_range() {
}, 800);
}
}
+
+
+
+
+function updateSelect(element, fields, selected) {
+ if (typeof fields === "object") {
+ $(element).find("select").empty();
+ $(element).find(".select2-container .select2-selection__rendered").empty();
+ Object.keys(fields).forEach(function(key) {
+ if (key === selected) {
+ $(element).find(".select2-container .select2-selection__rendered").append(`${fields[key]}`);
+ $(element).find("select").append(``);
+ } else {
+ $(element).find("select").append(``);
+ }
+ });
+ }
+}
+
+function updatePackages() {
+ let id_agent = $('#hidden-id_agent').val();
+ let server_id = $('#hidden-server_id').val();
+ $.ajax({
+ method: "POST",
+ url: "",
+ data: {
+ page: "",
+ action: "updatePackages",
+ id_agent: id_agent,
+ server_id: server_id,
+ },
+ success: function(data) {
+ const json = JSON.parse(data);
+ if (json.success) {
+ updateSelect("#row_vulnerabilities_packages", json.data, '');
+ }
+ }
+ });
+}
+
$(document).ready(function () {
$('[id^=period], #combo_graph_options, #combo_sla_sort_options').next().css('z-index', 0);
diff --git a/pandora_console/godmode/reporting/reporting_builder.main.php b/pandora_console/godmode/reporting/reporting_builder.main.php
index c0381acca2..d4914d2b58 100755
--- a/pandora_console/godmode/reporting/reporting_builder.main.php
+++ b/pandora_console/godmode/reporting/reporting_builder.main.php
@@ -180,8 +180,8 @@ if ($report_id_user == $config['id_user']
$options['div_class'] = '';
}
- $table->data[2][1] = html_print_label_input_block(
- __('Group'),
+ $table->data[3][0] = html_print_label_input_block(
+ __('Write Access Group'),
html_print_select_groups(
false,
'RW',
@@ -216,7 +216,7 @@ if ($enterpriseEnable) {
if (enterprise_installed() === true) {
- $table->data[3][0] = html_print_label_input_block(
+ $table->data[4][0] = html_print_label_input_block(
__('Generate cover page in PDF render'),
html_print_checkbox_switch(
'cover_page_render',
@@ -226,7 +226,7 @@ if (enterprise_installed() === true) {
)
);
- $table->data[3][1] = html_print_label_input_block(
+ $table->data[4][1] = html_print_label_input_block(
__('Generate index in PDF render'),
html_print_checkbox_switch(
'index_render',
diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php
index e0e06f0f42..cca61ed3e6 100755
--- a/pandora_console/godmode/reporting/reporting_builder.php
+++ b/pandora_console/godmode/reporting/reporting_builder.php
@@ -2046,6 +2046,56 @@ switch ($action) {
$good_format = true;
break;
+ case 'vuls_severity_graph':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_attack_complexity':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_by_packages':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_by_agent':
+ $values['id_group'] = get_parameter('combo_group');
+ $es['agent_custom_field_filter'] = get_parameter('agent_custom_field_filter');
+ $es['secmon_status'] = get_parameter('secmon_status');
+ $es['security_hardening_score'] = get_parameter('security_hardening_score');
+ $es['vulnerabilities_status'] = get_parameter('vulnerabilities_status');
+ $values['external_source'] = json_encode($es);
+ $good_format = true;
+ break;
+
+ case 'vuls_info_agent':
+ $values['id_agent'] = get_parameter('id_agent');
+ $es['server_id'] = get_parameter('server_id');
+ $es['vul_package'] = get_parameter('vul_package');
+ $es['vul_severity'] = get_parameter('vul_severity');
+ $es['vul_ac'] = get_parameter('vul_ac');
+ $es['vul_pr'] = get_parameter('vul_pr');
+ $es['vul_ui'] = get_parameter('vul_ui');
+ $es['vul_av'] = get_parameter('vul_av');
+ $values['external_source'] = json_encode($es);
+ $good_format = true;
+ break;
+
+ case 'top_n_agents_vuls':
+ $values['id_group'] = get_parameter('combo_group');
+ $values['top_n_value'] = get_parameter('max_items');
+ $good_format = true;
+ break;
+
+ case 'top_n_vuls_count':
+ $values['id_group'] = get_parameter('combo_group');
+ $values['top_n_value'] = get_parameter('max_items');
+ $good_format = true;
+ break;
+
default:
$values['period'] = get_parameter('period');
$values['top_n'] = get_parameter(
@@ -2979,6 +3029,56 @@ switch ($action) {
$good_format = true;
break;
+ case 'vuls_severity_graph':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_attack_complexity':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_by_packages':
+ $values['id_group'] = get_parameter('combo_group');
+ $good_format = true;
+ break;
+
+ case 'vuls_by_agent':
+ $values['id_group'] = get_parameter('combo_group');
+ $es['agent_custom_field_filter'] = get_parameter('agent_custom_field_filter');
+ $es['secmon_status'] = get_parameter('secmon_status');
+ $es['security_hardening_score'] = get_parameter('security_hardening_score');
+ $es['vulnerabilities_status'] = get_parameter('vulnerabilities_status');
+ $values['external_source'] = json_encode($es);
+ $good_format = true;
+ break;
+
+ case 'vuls_info_agent':
+ $values['id_agent'] = get_parameter('id_agent');
+ $es['server_id'] = get_parameter('server_id');
+ $es['vul_package'] = get_parameter('vul_package');
+ $es['vul_severity'] = get_parameter('vul_severity');
+ $es['vul_ac'] = get_parameter('vul_ac');
+ $es['vul_pr'] = get_parameter('vul_pr');
+ $es['vul_ui'] = get_parameter('vul_ui');
+ $es['vul_av'] = get_parameter('vul_av');
+ $values['external_source'] = json_encode($es);
+ $good_format = true;
+ break;
+
+ case 'top_n_agents_vuls':
+ $values['id_group'] = get_parameter('combo_group');
+ $values['top_n_value'] = get_parameter('max_items');
+ $good_format = true;
+ break;
+
+ case 'top_n_vuls_count':
+ $values['id_group'] = get_parameter('combo_group');
+ $values['top_n_value'] = get_parameter('max_items');
+ $good_format = true;
+ break;
+
default:
$values['period'] = get_parameter('period');
$values['top_n'] = get_parameter(
diff --git a/pandora_console/godmode/servers/plugin.php b/pandora_console/godmode/servers/plugin.php
index 315702528e..39acc45c21 100644
--- a/pandora_console/godmode/servers/plugin.php
+++ b/pandora_console/godmode/servers/plugin.php
@@ -860,8 +860,10 @@ if (empty($create) === false || empty($view) === false) {
if ($management_allowed === false) {
ui_print_warning_message(
__(
- 'This console is not manager of this environment,
- please manage this feature from centralized manager console (Metaconsole).'
+ 'This console is not manager of this environment, please manage this feature from feature from %s.',
+ ''.__('metaconsole').''
)
);
}
diff --git a/pandora_console/godmode/servers/servers.build_table.php b/pandora_console/godmode/servers/servers.build_table.php
index 95b831b86c..516a62ea82 100644
--- a/pandora_console/godmode/servers/servers.build_table.php
+++ b/pandora_console/godmode/servers/servers.build_table.php
@@ -179,7 +179,7 @@ foreach ($servers as $server) {
}
$data[7] = '';
- if ($server['queued_modules'] > 500) {
+ if ($server['queued_modules'] >= $config['number_modules_queue']) {
$data[7] .= ' ';
diff --git a/pandora_console/godmode/users/configure_user.php b/pandora_console/godmode/users/configure_user.php
index fd62dde741..83e54f24c5 100644
--- a/pandora_console/godmode/users/configure_user.php
+++ b/pandora_console/godmode/users/configure_user.php
@@ -155,14 +155,92 @@ if (is_ajax() === true) {
return;
}
+
+ if ($delete_profile === true) {
+ // Get parameters.
+ $result = false;
+ $id_user = (string) get_parameter('id_user');
+ $id_up = (int) get_parameter('id_user_profile');
+ $delete_user = (bool) get_parameter('delete_user', false);
+ $user_is_global_admin = users_is_admin($id_user);
+
+ $perfilUser = db_get_row('tusuario_perfil', 'id_up', $id_up);
+ $id_perfil = $perfilUser['id_perfil'];
+
+ db_pandora_audit(
+ AUDIT_LOG_USER_MANAGEMENT,
+ 'Deleted profile for user '.io_safe_output($id_user),
+ false,
+ false,
+ 'The profile with id '.$id_perfil.' in the group '.$perfilUser['id_grupo']
+ );
+ // Delete profile.
+ $profile_deleted = profile_delete_user_profile($id_user, $id_up);
+ // Check if exists more profiles.
+ $has_profile = db_get_row('tusuario_perfil', 'id_usuario', $id_user);
+ if ($profile_deleted === true) {
+ if ($has_profile === false && $user_is_global_admin === false && $delete_user === true) {
+ if (is_metaconsole() === true) {
+ $servers = metaconsole_get_servers();
+ foreach ($servers as $server) {
+ // Connect to the remote console.
+ metaconsole_connect($server);
+
+ // Delete the user.
+ $result = delete_user($id_user);
+ if ($result === true) {
+ db_pandora_audit(
+ AUDIT_LOG_USER_MANAGEMENT,
+ __('Deleted user %s from metaconsole', io_safe_output($id_user))
+ );
+ }
+
+ // Restore the db connection.
+ metaconsole_restore_db();
+
+ // Log to the metaconsole too.
+ if ($result === true) {
+ db_pandora_audit(
+ AUDIT_LOG_USER_MANAGEMENT,
+ __(
+ 'Deleted user %s from %s',
+ io_safe_input($id_user),
+ io_safe_input($server['server_name'])
+ )
+ );
+ }
+ }
+
+ $result = delete_user((string) $id_user);
+
+ if ($result === true) {
+ db_pandora_audit(
+ AUDIT_LOG_USER_MANAGEMENT,
+ __('Deleted user %s', io_safe_output($id_user))
+ );
+ }
+ } else {
+ $result = delete_user((string) $id_user);
+ if ($result === true) {
+ db_pandora_audit(
+ AUDIT_LOG_USER_MANAGEMENT,
+ __('Deleted user %s', io_safe_output($id_user))
+ );
+ }
+ }
+ } else {
+ $result = $profile_deleted;
+ }
+ }
+
+ return $result;
+ }
}
$tab = get_parameter('tab', 'user');
-
// Save autorefresh list.
$autorefresh_list = (array) get_parameter_post('autorefresh_list');
$autorefresh_white_list = (($autorefresh_list[0] === '') || ($autorefresh_list[0] === '0')) ? '' : json_encode($autorefresh_list);
-
// Header.
if (is_metaconsole() === true) {
user_meta_print_header();
@@ -195,11 +273,11 @@ if (is_metaconsole() === true) {
).'',
],
];
-
$buttons[$tab]['active'] = true;
}
$edit_user = get_parameter('edit_user');
+
ui_print_standard_header(
($edit_user) ? sprintf('%s [ %s ]', __('Update User'), $id) : __('Create User'),
'images/gm_users.png',
@@ -222,11 +300,9 @@ if (is_metaconsole() === true) {
],
]
);
-
$sec = 'gusuarios';
}
-
if ((bool) $config['user_can_update_info'] === true) {
$view_mode = false;
} else {
@@ -348,8 +424,10 @@ if ($create_user === true) {
$values['data_section'] = $dashboard;
} else if (io_safe_output($values['section']) === HOME_SCREEN_VISUAL_CONSOLE) {
$values['data_section'] = $visual_console;
- } else if ($values['section'] === HOME_SCREEN_OTHER || io_safe_output($values['section']) === HOME_SCREEN_EXTERNAL_LINK) {
- $values['data_section'] = get_parameter('data_section');
+ } else if ($values['section'] === HOME_SCREEN_OTHER) {
+ $values['data_section'] = get_parameter('data_section_other');
+ } else if (io_safe_output($values['section']) === HOME_SCREEN_EXTERNAL_LINK) {
+ $values['data_section'] = get_parameter('data_section_external');
}
// $values['section'] = $homeScreenValues[$values['section']];
@@ -596,8 +674,11 @@ if ($update_user) {
$values['email'] = (string) get_parameter('email');
$values['phone'] = (string) get_parameter('phone');
$values['comments'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('comments'))));
- $values['allowed_ip_active'] = ((int) get_parameter('allowed_ip_active', -1) === 0);
- $values['allowed_ip_list'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('allowed_ip_list'))));
+ if (users_is_admin($config['id_user']) === true || (bool) check_acl($config['id_user'], 0, 'PM') === true) {
+ $values['allowed_ip_active'] = ((int) get_parameter('allowed_ip_active', -1) === 0);
+ $values['allowed_ip_list'] = io_safe_input(strip_tags(io_safe_output((string) get_parameter('allowed_ip_list'))));
+ }
+
$values['is_admin'] = (get_parameter('is_admin', 0) === 0) ? 0 : 1;
$values['language'] = (string) get_parameter('language');
$values['timezone'] = (string) get_parameter('timezone');
@@ -643,8 +724,10 @@ if ($update_user) {
$values['data_section'] = $dashboard;
} else if (io_safe_output($values['section']) === HOME_SCREEN_VISUAL_CONSOLE) {
$values['data_section'] = $visual_console;
- } else if ($values['section'] === HOME_SCREEN_OTHER || io_safe_output($values['section']) === HOME_SCREEN_EXTERNAL_LINK) {
- $values['data_section'] = get_parameter('data_section');
+ } else if ($values['section'] === HOME_SCREEN_OTHER) {
+ $values['data_section'] = get_parameter('data_section_other');
+ } else if (io_safe_output($values['section']) === HOME_SCREEN_EXTERNAL_LINK) {
+ $values['data_section'] = get_parameter('data_section_external');
}
// $values['section'] = $homeScreenValues[$values['section']];
@@ -866,89 +949,6 @@ if ($update_user) {
$user_info = $values;
}
-if ($delete_profile) {
- $id2 = (string) get_parameter('id_user');
- $id_up = (int) get_parameter('id_user_profile');
- $perfilUser = db_get_row('tusuario_perfil', 'id_up', $id_up);
- $id_perfil = $perfilUser['id_perfil'];
- $perfil = db_get_row('tperfil', 'id_perfil', $id_perfil);
-
- db_pandora_audit(
- AUDIT_LOG_USER_MANAGEMENT,
- 'Deleted profile for user '.io_safe_output($id2),
- false,
- false,
- 'The profile with id '.$id_perfil.' in the group '.$perfilUser['id_grupo']
- );
-
- $return = profile_delete_user_profile($id2, $id_up);
- ui_print_result_message(
- $return,
- __('Successfully deleted'),
- __('Could not be deleted')
- );
-
-
- $has_profile = db_get_row('tusuario_perfil', 'id_usuario', $id2);
- $user_is_global_admin = users_is_admin($id2);
-
- if ($has_profile === false && $user_is_global_admin === false) {
- $result = delete_user($id2);
-
- if ($result === true) {
- db_pandora_audit(
- AUDIT_LOG_USER_MANAGEMENT,
- __('Deleted user %s', io_safe_output($id_user))
- );
- }
-
- ui_print_result_message(
- $result,
- __('Successfully deleted'),
- __('There was a problem deleting the user')
- );
-
- // Delete the user in all the consoles.
- if (is_metaconsole() === true) {
- $servers = metaconsole_get_servers();
- foreach ($servers as $server) {
- // Connect to the remote console.
- metaconsole_connect($server);
-
- // Delete the user.
- $result = delete_user($id_user);
- if ($result === true) {
- db_pandora_audit(
- AUDIT_LOG_USER_MANAGEMENT,
- __('Deleted user %s from metaconsole', io_safe_output($id_user))
- );
- }
-
- // Restore the db connection.
- metaconsole_restore_db();
-
- // Log to the metaconsole too.
- if ($result === true) {
- db_pandora_audit(
- AUDIT_LOG_USER_MANAGEMENT,
- __(
- 'Deleted user %s from %s',
- io_safe_input($id_user),
- io_safe_input($server['server_name'])
- )
- );
- }
-
- ui_print_result_message(
- $result,
- __('Successfully deleted from %s', io_safe_input($server['server_name'])),
- __('There was a problem deleting the user from %s', io_safe_input($server['server_name']))
- );
- }
- }
- }
-}
-
if ((int) $status !== -1) {
ui_print_result_message(
$status,
@@ -1159,6 +1159,13 @@ if (is_user_admin($id) === true) {
);
}
+html_print_div(
+ [
+ 'id' => 'delete_profile_modal',
+ 'content' => '',
+ ]
+);
+
$full_name = ' ';
echo '
';
} else {
- // Main list view for Links editor
- $rows = db_get_all_rows_in_table('tlink', 'name');
+ // Main list view for Links editor.
+ $rows = db_get_all_fields_in_table('tlink', '', '', 'name');
if ($rows === false) {
$rows = [];
}
diff --git a/pandora_console/godmode/setup/setup.php b/pandora_console/godmode/setup/setup.php
index 6732612c9d..0f3b494fc5 100644
--- a/pandora_console/godmode/setup/setup.php
+++ b/pandora_console/godmode/setup/setup.php
@@ -93,7 +93,7 @@ $buttons['general'] = [
'images/setup.png',
true,
[
- 'title' => __('General'),
+ 'title' => __('General setup'),
'class' => 'invert_filter',
]
@@ -265,7 +265,7 @@ if (enterprise_installed()) {
switch ($section) {
case 'general':
$buttons['general']['active'] = true;
- $subpage = __('General');
+ $subpage = __('General setup');
$help_header = 'setup_general_tab';
break;
@@ -377,7 +377,7 @@ switch ($section) {
// Header.
ui_print_standard_header(
- $subpage,
+ __('Setup').' » '.$subpage,
'',
false,
$help_header,
@@ -388,6 +388,10 @@ ui_print_standard_header(
'link' => '',
'label' => __('Setup'),
],
+ [
+ 'link' => '',
+ 'label' => $subpage,
+ ],
]
);
diff --git a/pandora_console/godmode/setup/setup_general.php b/pandora_console/godmode/setup/setup_general.php
index 2732568208..47c78d8a18 100644
--- a/pandora_console/godmode/setup/setup_general.php
+++ b/pandora_console/godmode/setup/setup_general.php
@@ -766,6 +766,16 @@ $table->data[$i][] = html_print_label_input_block(
true
)
);
+$table->data[$i++][] = html_print_label_input_block(
+ __('Number of modules in queue'),
+ html_print_input_number(
+ [
+ 'name' => 'number_modules_queue',
+ 'min' => 0,
+ 'value' => $config['number_modules_queue'],
+ ]
+ )
+);
echo '
'.$sys_info->data->ramInfo->value.'
+'.$sys_info->data->distroInfo->name.'
+'.$sys_info->data->distroInfo->value.'
+'.$sys_info->data->osInfo->name.'
diff --git a/pandora_console/include/functions_messages.php b/pandora_console/include/functions_messages.php index 189844c174..fe35d5b5a6 100644 --- a/pandora_console/include/functions_messages.php +++ b/pandora_console/include/functions_messages.php @@ -122,6 +122,7 @@ function messages_create_message( 'id_usuario_origen' => $usuario_origen, 'subject' => $subject, 'mensaje' => $mensaje, + 'subtype' => 'NOTIF.MESSAGE', 'id_source' => get_notification_source_id('message'), 'timestamp' => get_system_time(), ] diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php index de618605c8..090bb8bdb9 100755 --- a/pandora_console/include/functions_modules.php +++ b/pandora_console/include/functions_modules.php @@ -4735,7 +4735,7 @@ function export_agents_module_csv($filters) $query_filter .= ' AND tam.nombre IN '.$module_filter.' '; } else { $module_filter = '('.implode(', ', $filter).')'; - $query_filter .= ' AND tam.id_tipo_modulo IN '.$module_filter.' '; + $query_filter .= ' AND tam.id_agente_modulo IN '.$module_filter.' '; } } break; diff --git a/pandora_console/include/functions_profile.php b/pandora_console/include/functions_profile.php index 7cdbd1c461..d97edf17aa 100644 --- a/pandora_console/include/functions_profile.php +++ b/pandora_console/include/functions_profile.php @@ -308,7 +308,7 @@ function profile_print_profile_table($id, $json_profile=false, $return=false, $c 'del', 'images/delete.svg', 1, - '', + 'background-color: transparent !important;', true, [ 'onclick' => 'delete_profile(event, this)', @@ -316,8 +316,15 @@ function profile_print_profile_table($id, $json_profile=false, $return=false, $c ] ); } else { - $data['actions'] = ''; diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 64e6c5670b..dce7dd9efc 100755 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -42,6 +42,7 @@ require_once $config['homedir'].'/include/functions_users.php'; enterprise_include_once('include/functions_reporting.php'); enterprise_include_once('include/functions_metaconsole.php'); enterprise_include_once('include/functions_inventory.php'); +require_once $config['homedir'].'/include/functions_inventory.php'; enterprise_include_once('include/functions_cron.php'); require_once $config['homedir'].'/include/functions_forecast.php'; require_once $config['homedir'].'/include/functions_ui.php'; @@ -1023,6 +1024,62 @@ function reporting_make_reporting_data( ); break; + case 'vuls_severity_graph': + $report['contents'][] = reporting_vuls_severity_graph( + $report, + $content, + $type + ); + break; + + case 'vuls_attack_complexity': + $report['contents'][] = reporting_vuls_attack_complexity_graph( + $report, + $content, + $type + ); + break; + + case 'vuls_by_packages': + $report['contents'][] = reporting_vuls_by_packages_graph( + $report, + $content, + $type + ); + break; + + case 'vuls_by_agent': + $report['contents'][] = reporting_vuls_by_agent( + $report, + $content, + $type + ); + break; + + case 'vuls_info_agent': + $report['contents'][] = reporting_vuls_info_agent( + $report, + $content, + $type + ); + break; + + case 'top_n_agents_vuls': + $report['contents'][] = reporting_top_n_agents_vuls( + $report, + $content, + $type + ); + break; + + case 'top_n_vuls_count': + $report['contents'][] = reporting_top_n_vuls_count( + $report, + $content, + $type + ); + break; + default: // Default. break; @@ -13641,38 +13698,47 @@ function reporting_tiny_stats( } if ($modern === true) { - $out .= '