NetworkServer enterprise improvement
This commit is contained in:
parent
40076b0a55
commit
9cb2a0e1a1
|
@ -202,6 +202,7 @@ our @EXPORT = qw(
|
|||
pandora_get_module_phone_tags
|
||||
pandora_get_module_email_tags
|
||||
pandora_get_os
|
||||
pandora_get_os_by_id
|
||||
pandora_input_password
|
||||
pandora_is_master
|
||||
pandora_mark_agent_for_alert_update
|
||||
|
@ -5722,6 +5723,66 @@ sub pandora_get_os ($$) {
|
|||
return 10;
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# SUB pandora_get_os_by_id (integer)
|
||||
# Returns a chain with the name associated to target id_os.
|
||||
########################################################################
|
||||
sub pandora_get_os_by_id ($$) {
|
||||
my ($dbh, $os_id) = @_;
|
||||
|
||||
if (! defined($os_id) || !is_numeric($os_id)) {
|
||||
# Other OS
|
||||
return 'Other';
|
||||
}
|
||||
|
||||
if ($os_id eq 9) {
|
||||
return 'Windows';
|
||||
}
|
||||
if ($os_id eq 7 ) {
|
||||
return 'Cisco';
|
||||
}
|
||||
if ($os_id eq 2 ) {
|
||||
return 'Solaris';
|
||||
}
|
||||
if ($os_id eq 3 ) {
|
||||
return 'AIX';
|
||||
}
|
||||
if ($os_id eq 5) {
|
||||
return 'HP-UX';
|
||||
}
|
||||
if ($os_id eq 8 ) {
|
||||
return 'Apple';
|
||||
}
|
||||
if ($os_id eq 1 ) {
|
||||
return 'Linux';
|
||||
}
|
||||
if ($os_id eq 1) {
|
||||
return 'Enterasys';
|
||||
}
|
||||
if ($os_id eq 3) {
|
||||
return 'Octopods';
|
||||
}
|
||||
if ($os_id eq 4) {
|
||||
return 'embedded';
|
||||
}
|
||||
if ($os_id eq 5) {
|
||||
return 'android';
|
||||
}
|
||||
if ($os_id eq 4 ) {
|
||||
return 'BSD';
|
||||
}
|
||||
|
||||
# Search for a custom OS
|
||||
my $os_name = get_db_value ($dbh, 'SELECT name FROM tconfig_os WHERE id_os = ?', $os_id);
|
||||
if (defined ($os_name)) {
|
||||
return $os_name;
|
||||
}
|
||||
|
||||
# Other OS
|
||||
return 'Other';
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# Load module macros (a base 64 encoded JSON document) into the macro
|
||||
# hash.
|
||||
|
|
|
@ -102,8 +102,8 @@ sub data_producer ($) {
|
|||
WHERE server_name = ?
|
||||
AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente.disabled = 0
|
||||
AND tagente_modulo.id_tipo_modulo > 5
|
||||
AND tagente_modulo.id_tipo_modulo < 19 '
|
||||
AND ((tagente_modulo.id_tipo_modulo > 5 AND tagente_modulo.id_tipo_modulo < 19 )
|
||||
OR (tagente_modulo.id_tipo_modulo > 33 AND tagente_modulo.id_tipo_modulo < 38 )) '
|
||||
. (defined ($network_filter) ? $network_filter : ' ') .
|
||||
'AND tagente_modulo.disabled = 0
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
|
@ -116,8 +116,8 @@ sub data_producer ($) {
|
|||
AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente.disabled = 0
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.id_tipo_modulo > 5
|
||||
AND tagente_modulo.id_tipo_modulo < 19 '
|
||||
AND ((tagente_modulo.id_tipo_modulo > 5 AND tagente_modulo.id_tipo_modulo < 19 )
|
||||
OR (tagente_modulo.id_tipo_modulo > 33 AND tagente_modulo.id_tipo_modulo < 38 )) '
|
||||
. (defined ($network_filter) ? $network_filter : ' ') .
|
||||
'AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND (tagente_modulo.flag = 1 OR ((tagente_estado.last_execution_try + tagente_estado.current_interval) < UNIX_TIMESTAMP()))
|
||||
|
@ -468,6 +468,11 @@ sub exec_network_module ($$$$) {
|
|||
my $tcp_rcv = $module->{'tcp_rcv'};
|
||||
my $timeout = $module->{'max_timeout'};
|
||||
my $retries = $module->{'max_retries'};
|
||||
my $target_os = $module->{'custom_integer_1'};
|
||||
|
||||
if (!defined($target_os) || "$target_os" eq '0') {
|
||||
$target_os = $agent_row->{'id_os'};
|
||||
}
|
||||
|
||||
# Use the agent address by default
|
||||
if (! defined($ip_target) || $ip_target eq '' || $ip_target eq 'auto') {
|
||||
|
@ -545,6 +550,22 @@ sub exec_network_module ($$$$) {
|
|||
$module_result = 1;
|
||||
}
|
||||
}
|
||||
|
||||
# -------------------------------------------------------
|
||||
# CMD Module
|
||||
# -------------------------------------------------------
|
||||
elsif (($id_tipo_modulo == 34)
|
||||
|| ($id_tipo_modulo == 35)
|
||||
|| ($id_tipo_modulo == 36)
|
||||
|| ($id_tipo_modulo == 37)) { # CMD Module
|
||||
$module_data = enterprise_hook('remote_execution_module',[$pa_config, $dbh, $module, $target_os, $ip_target]);
|
||||
if (!defined($module_data) || "$module_data" eq "") {
|
||||
$module_result = 1;
|
||||
} else {
|
||||
# Success.
|
||||
$module_result = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Write data section
|
||||
|
|
Loading…
Reference in New Issue