updates
This commit is contained in:
parent
32c6e7f30c
commit
17eae7d97f
|
@ -945,6 +945,14 @@ class DiscoveryTaskList extends HTML
|
|||
$str = __('Executing custom queries...');
|
||||
break;
|
||||
|
||||
case STEP_MONITORING:
|
||||
$str = __('Testing modules...');
|
||||
break;
|
||||
|
||||
case STEP_PROCESSING:
|
||||
$str = __('Processing results...');
|
||||
break;
|
||||
|
||||
default:
|
||||
$str = '';
|
||||
break;
|
||||
|
@ -1173,6 +1181,10 @@ class DiscoveryTaskList extends HTML
|
|||
array_reduce(
|
||||
$data['modules'],
|
||||
function ($carry, $item) use ($id, $agent_id) {
|
||||
if (empty($item['name'])) {
|
||||
$item['name'] = $item['nombre'];
|
||||
}
|
||||
|
||||
if ($item['name'] == 'Host Alive') {
|
||||
return $carry;
|
||||
}
|
||||
|
@ -1291,20 +1303,19 @@ class DiscoveryTaskList extends HTML
|
|||
// Modules.
|
||||
if (is_array($data['modules'])) {
|
||||
$n_modules = count($data['modules']);
|
||||
for ($i = 0; $i < $n_modules; $i++) {
|
||||
$module_name = $data['modules'][$i]['name'];
|
||||
foreach ($data['modules'] as $module_name => $module) {
|
||||
if (in_array($agent_name.'-'.$module_name, $ids)) {
|
||||
if ($data['modules'][$i]['checked'] != 1) {
|
||||
if ($data['modules'][$module_name]['checked'] != 1) {
|
||||
$summary[] = '<li class="added">'.$agent_name.' - '.$module_name.'</li>';
|
||||
}
|
||||
|
||||
$data['modules'][$i]['checked'] = 1;
|
||||
$data['modules'][$module_name]['checked'] = 1;
|
||||
} else {
|
||||
if ($data['modules'][$i]['checked'] == 1) {
|
||||
if ($data['modules'][$module_name]['checked'] == 1) {
|
||||
$summary[] = '<li class="removed">'.__('Removed').' '.$agent_name.' - '.$module_name.'</li>';
|
||||
}
|
||||
|
||||
$data['modules'][$i]['checked'] = 0;
|
||||
$data['modules'][$module_name]['checked'] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1338,7 +1349,6 @@ class DiscoveryTaskList extends HTML
|
|||
],
|
||||
['id_rt' => $id_task]
|
||||
);
|
||||
|
||||
$out .= __('Summary');
|
||||
$out .= '<ul>';
|
||||
$out .= join('', $summary);
|
||||
|
|
|
@ -527,6 +527,8 @@ define('STEP_SCANNING', 1);
|
|||
define('STEP_AFT', 2);
|
||||
define('STEP_TRACEROUTE', 3);
|
||||
define('STEP_GATEWAY', 4);
|
||||
define('STEP_MONITORING', 5);
|
||||
define('STEP_PROCESSING', 6);
|
||||
define('STEP_STATISTICS', 1);
|
||||
define('STEP_APP_SCAN', 2);
|
||||
define('STEP_CUSTOM_QUERIES', 3);
|
||||
|
|
|
@ -40,9 +40,6 @@ use PandoraFMS::ProducerConsumerServer;
|
|||
use PandoraFMS::GIS;
|
||||
use PandoraFMS::Recon::Base;
|
||||
|
||||
# Patched Nmap::Parser. See http://search.cpan.org/dist/Nmap-Parser/.
|
||||
use PandoraFMS::NmapParser;
|
||||
|
||||
# Inherits from PandoraFMS::ProducerConsumerServer
|
||||
our @ISA = qw(PandoraFMS::ProducerConsumerServer);
|
||||
|
||||
|
@ -62,7 +59,7 @@ use constant {
|
|||
STEP_TRACEROUTE => 3,
|
||||
STEP_GATEWAY => 4,
|
||||
STEP_MONITORING => 5,
|
||||
STEP_APPLY => 6,
|
||||
STEP_PROCESSING => 6,
|
||||
STEP_STATISTICS => 1,
|
||||
STEP_APP_SCAN => 2,
|
||||
STEP_CUSTOM_QUERIES => 3,
|
||||
|
@ -360,9 +357,14 @@ sub exec_recon_script ($$$) {
|
|||
}
|
||||
|
||||
my $ent_script = 0;
|
||||
my $args = enterprise_hook('discovery_custom_recon_scripts',[$pa_config, $dbh, $task, $script]);
|
||||
my $args = enterprise_hook(
|
||||
'discovery_custom_recon_scripts',
|
||||
[$pa_config, $dbh, $task, $script]
|
||||
);
|
||||
if (!$args) {
|
||||
$args = "$task->{'id_rt'} $task->{'id_group'} $task->{'create_incident'} $macros_parameters";
|
||||
$args = '"'.$task->{'id_rt'}.'" ';
|
||||
$args .= '"'.$task->{'id_group'}.'" ';
|
||||
$args .= $macros_parameters;
|
||||
} else {
|
||||
$ent_script = 1;
|
||||
}
|
||||
|
@ -691,7 +693,16 @@ sub PandoraFMS::Recon::Base::report_scanned_agents($) {
|
|||
my $agent_id = $data->{'agent'}{'agent_id'};
|
||||
my $agent_learning = 1;
|
||||
|
||||
if (!defined($agent_id) || $agent_id == 0) {
|
||||
if (defined($agent_id) || $agent_id > 0) {
|
||||
$agent_learning = get_db_value(
|
||||
$self->{'dbh'},
|
||||
'SELECT modo FROM tagente WHERE id_agente = ?',
|
||||
$agent_id
|
||||
);
|
||||
}
|
||||
|
||||
if (!defined($agent_learning)) {
|
||||
# Agent id does not exists or is invalid.
|
||||
$agent_id = pandora_create_agent(
|
||||
$self->{'pa_config'}, $self->{'servername'}, $data->{'agent'}{'nombre'},
|
||||
$data->{'agent'}{'direccion'}, $self->{'task_data'}{'group_id'}, $parent_id,
|
||||
|
@ -702,14 +713,7 @@ sub PandoraFMS::Recon::Base::report_scanned_agents($) {
|
|||
|
||||
$data->{'agent'}{'agent_id'} = $agent_id;
|
||||
$agent_learning = 1;
|
||||
} else {
|
||||
$agent_learning = get_db_value(
|
||||
$self->{'dbh'},
|
||||
'SELECT modo FROM tagente WHERE id_agente = ?',
|
||||
$agent_id
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
$self->call('message', "Agent id: ".$data->{'agent'}{'agent_id'}, 5);
|
||||
|
||||
# Create selected modules.
|
||||
|
@ -725,10 +729,24 @@ sub PandoraFMS::Recon::Base::report_scanned_agents($) {
|
|||
next unless (is_enabled($module->{'checked'}) || $force_creation);
|
||||
}
|
||||
|
||||
delete $module->{'checked'};
|
||||
|
||||
$self->call('message', "[$agent_id] Module: ".$module->{'name'}, 5);
|
||||
|
||||
my $agentmodule_id = $module->{'agentmodule_id'};
|
||||
if (!defined($agentmodule_id) || $agentmodule_id == 0) {
|
||||
|
||||
if (defined($agentmodule_id) && $agentmodule_id > 0) {
|
||||
$agentmodule_id = get_db_value(
|
||||
$self->{'dbh'},
|
||||
'SELECT id_agente_modulo FROM tagente_modulo
|
||||
WHERE id_agente_modulo = ? AND nombre = ?',
|
||||
$agentmodule_id,
|
||||
safe_input($module->{'name'})
|
||||
);
|
||||
}
|
||||
|
||||
if (!is_enabled($agentmodule_id)) {
|
||||
# Create.
|
||||
|
||||
if (is_enabled($module->{'__module_component'})) {
|
||||
# Module from network component.
|
||||
|
@ -809,7 +827,7 @@ sub PandoraFMS::Recon::Base::report_scanned_agents($) {
|
|||
#
|
||||
|
||||
my @hosts = keys %{$self->{'agents_found'}};
|
||||
$self->{'step'} = STEP_APPLY;
|
||||
$self->{'step'} = STEP_PROCESSING;
|
||||
my ($progress, $step) = (90, 10.0 / scalar(@hosts)); # From 90% to 100%.
|
||||
foreach my $label (keys %{$self->{'agents_found'}}) {
|
||||
$self->call('update_progress', $progress);
|
||||
|
|
|
@ -23,7 +23,7 @@ use constant {
|
|||
STEP_TRACEROUTE => 3,
|
||||
STEP_GATEWAY => 4,
|
||||
STEP_MONITORING => 5,
|
||||
STEP_APPLY => 6,
|
||||
STEP_PROCESSING => 6,
|
||||
STEP_STATISTICS => 1,
|
||||
STEP_APP_SCAN => 2,
|
||||
STEP_CUSTOM_QUERIES => 3,
|
||||
|
@ -1884,6 +1884,7 @@ sub scan($) {
|
|||
|
||||
# Apply monitoring templates
|
||||
$self->call('message', "[5/6] Applying monitoring.", 3);
|
||||
$self->{'step'} = STEP_MONITORING;
|
||||
$self->call('apply_monitoring', $self);
|
||||
|
||||
# Print debug information on found devices.
|
||||
|
@ -1903,7 +1904,8 @@ sub scan($) {
|
|||
}
|
||||
|
||||
# Apply monitoring templates
|
||||
$self->call('message', "[6/6] Process results.", 3);
|
||||
$self->call('message', "[6/6] Processing results.", 3);
|
||||
$self->{'step'} = STEP_PROCESSING;
|
||||
# Send agent information to Database (Discovery) or XML (satellite.).
|
||||
$self->call('report_scanned_agents', $self->{'agents_found'});
|
||||
|
||||
|
|
Loading…
Reference in New Issue