mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-27 15:54:29 +02:00
Merge branch 'ent-12195-15835-Safe-operation-mode-habilita-modulos-deshabilitados-en-los-modulos-al-recuperarse' into 'develop'
fix safe mode recovery See merge request artica/pandorafms!6930
This commit is contained in:
commit
0224bda78c
@ -53,6 +53,8 @@ ADD COLUMN `id_agent_data` int not null default 0 AFTER `script_type`;
|
|||||||
ALTER TABLE `tusuario` CHANGE COLUMN `metaconsole_data_section` `metaconsole_data_section` TEXT NOT NULL DEFAULT '' ;
|
ALTER TABLE `tusuario` CHANGE COLUMN `metaconsole_data_section` `metaconsole_data_section` TEXT NOT NULL DEFAULT '' ;
|
||||||
ALTER TABLE `tmensajes` ADD COLUMN `icon_notification` VARCHAR(250) NULL DEFAULT NULL AFTER `url`;
|
ALTER TABLE `tmensajes` ADD COLUMN `icon_notification` VARCHAR(250) NULL DEFAULT NULL AFTER `url`;
|
||||||
|
|
||||||
|
ALTER TABLE `tagente_modulo` ADD COLUMN `disabled_by_safe_mode` TINYINT UNSIGNED NOT NULL DEFAULT 0;
|
||||||
|
|
||||||
UPDATE `tncm_template` SET `vendors` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM vendors))), '"]'), `models` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM models))), '"]');
|
UPDATE `tncm_template` SET `vendors` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM vendors))), '"]'), `models` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM models))), '"]');
|
||||||
UPDATE `tncm_agent_data_template` SET `vendors` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM vendors))), '"]'), `models` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM models))), '"]');
|
UPDATE `tncm_agent_data_template` SET `vendors` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM vendors))), '"]'), `models` = CONCAT('["', TRIM(BOTH '"' FROM TRIM(BOTH ']' FROM TRIM(BOTH '[' FROM models))), '"]');
|
||||||
|
|
||||||
|
@ -219,6 +219,7 @@ CREATE TABLE IF NOT EXISTS `tagente_modulo` (
|
|||||||
`flag` TINYINT UNSIGNED DEFAULT 1,
|
`flag` TINYINT UNSIGNED DEFAULT 1,
|
||||||
`id_modulo` INT UNSIGNED DEFAULT 0,
|
`id_modulo` INT UNSIGNED DEFAULT 0,
|
||||||
`disabled` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
`disabled` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||||
|
`disabled_by_safe_mode` TINYINT UNSIGNED NOT NULL DEFAULT 0,
|
||||||
`id_export` SMALLINT UNSIGNED DEFAULT 0,
|
`id_export` SMALLINT UNSIGNED DEFAULT 0,
|
||||||
`plugin_user` TEXT,
|
`plugin_user` TEXT,
|
||||||
`plugin_pass` TEXT,
|
`plugin_pass` TEXT,
|
||||||
|
@ -7767,12 +7767,12 @@ sub safe_mode($$$$$$) {
|
|||||||
# Going to critical. Disable the rest of the modules.
|
# Going to critical. Disable the rest of the modules.
|
||||||
if ($new_status == MODULE_CRITICAL) {
|
if ($new_status == MODULE_CRITICAL) {
|
||||||
logger($pa_config, "Enabling safe mode for agent " . $agent->{'nombre'}, 10);
|
logger($pa_config, "Enabling safe mode for agent " . $agent->{'nombre'}, 10);
|
||||||
db_do($dbh, 'UPDATE tagente_modulo SET disabled=1 WHERE id_agente=? AND id_agente_modulo!=?', $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
db_do($dbh, 'UPDATE tagente_modulo SET disabled=1, disabled_by_safe_mode=1 WHERE id_agente=? AND id_agente_modulo!=? AND disabled=0', $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
||||||
}
|
}
|
||||||
# Coming back from critical. Enable the rest of the modules.
|
# Coming back from critical. Enable the rest of the modules.
|
||||||
elsif ($known_status == MODULE_CRITICAL) {
|
elsif ($known_status == MODULE_CRITICAL) {
|
||||||
logger($pa_config, "Disabling safe mode for agent " . $agent->{'nombre'}, 10);
|
logger($pa_config, "Disabling safe mode for agent " . $agent->{'nombre'}, 10);
|
||||||
db_do($dbh, 'UPDATE tagente_modulo SET disabled=0 WHERE id_agente=? AND id_agente_modulo!=?', $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
db_do($dbh, 'UPDATE tagente_modulo SET disabled=0, disabled_by_safe_mode=0 WHERE id_agente=? AND id_agente_modulo!=? AND disabled_by_safe_mode=1', $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
||||||
|
|
||||||
# Prevent the modules from becoming unknown!
|
# Prevent the modules from becoming unknown!
|
||||||
db_do ($dbh, 'UPDATE tagente_estado SET utimestamp = ? WHERE id_agente = ? AND id_agente_modulo!=?', time(), $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
db_do ($dbh, 'UPDATE tagente_estado SET utimestamp = ? WHERE id_agente = ? AND id_agente_modulo!=?', time(), $agent->{'id_agente'}, $module->{'id_agente_modulo'});
|
||||||
@ -7798,7 +7798,7 @@ sub pandora_safe_mode_modules_update {
|
|||||||
# If status is critical, disable the rest of the modules.
|
# If status is critical, disable the rest of the modules.
|
||||||
if ($status == MODULE_CRITICAL) {
|
if ($status == MODULE_CRITICAL) {
|
||||||
logger($pa_config, "Update modules for safe mode agent with alias:" . $agent->{'alias'} . ".", 10);
|
logger($pa_config, "Update modules for safe mode agent with alias:" . $agent->{'alias'} . ".", 10);
|
||||||
db_do($dbh, 'UPDATE tagente_modulo SET disabled=1 WHERE id_agente=? AND id_agente_modulo!=?', $agent_id, $agent->{'safe_mode_module'});
|
db_do($dbh, 'UPDATE tagente_modulo SET disabled=1, disabled_by_safe_mode=1 WHERE id_agente=? AND id_agente_modulo!=? AND disabled=0', $agent_id, $agent->{'safe_mode_module'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user