Merge remote-tracking branch 'origin/develop' into ent-4073-eventos-en-proceso-no-validan-ni-id-evento-ni-id-extra

This commit is contained in:
Luis Calvo 2019-06-06 14:53:14 +02:00
commit ac679797a3
58 changed files with 170 additions and 251 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.735-190604 Version: 7.0NG.735-190606
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.735-190604" pandora_version="7.0NG.735-190606"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.735'; use constant AGENT_VERSION => '7.0NG.735';
use constant AGENT_BUILD => '190604'; use constant AGENT_BUILD => '190606';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;
@ -3038,10 +3038,10 @@ while (1) {
my @address_list; my @address_list;
if( -x "/bin/ip" || -x "/sbin/ip" || -x "/usr/sbin/ip" ) { if( -x "/bin/ip" || -x "/sbin/ip" || -x "/usr/sbin/ip" ) {
@address_list = `ip addr show 2>$DevNull | sed -e '/127.0.0/d' -e '/[0-9]*\\.[0-9]*\\.[0-9]*/!d' -e 's/^[ \\t]*\\([^ \\t]*\\)[ \\t]*\\([^ \\t]*\\)[ \\t].*/\\2/' -e 's/\\/.*//'`; @address_list = `ip addr show 2>$DevNull | sed -e '/127.0.0/d' -e '/\\([0-9][0-9]*\\.\\)\\{3\\}[0-9][0-9]*/!d' -e 's/^[ \\t]*\\([^ \\t]*\\)[ \\t]*\\([^ \\t]*\\)[ \\t].*/\\2/' -e 's/\\/.*//'`;
} }
else { else {
@address_list = `ifconfig -a 2>$DevNull | sed -e '/127.0.0/d' -e '/[0-9]*\\.[0-9]*\\.[0-9]*/!d' -e 's/^[ \\t]*\\([^ \\t]*\\)[ \\t]*\\([^ \\t]*\\)[ \\t].*/\\2/' -e 's/.*://'`; @address_list = `ifconfig -a 2>$DevNull | sed -e '/127.0.0/d' -e '/\\([0-9][0-9]*\\.\\)\\{3\\}[0-9][0-9]*/!d' -e 's/^[ \\t]*\\([^ \\t]*\\)[ \\t]*\\([^ \\t]*\\)[ \\t].*/\\2/' -e 's/.*://'`;
} }
for (my $i = 0; $i <= $#address_list; $i++) { for (my $i = 0; $i <= $#address_list; $i++) {

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.735" PI_VERSION="7.0NG.735"
PI_BUILD="190604" PI_BUILD="190606"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{190604} {190606}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.735(Build 190604)") #define PANDORA_VERSION ("7.0NG.735(Build 190606)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.735(Build 190604))" VALUE "ProductVersion", "(7.0NG.735(Build 190606))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.735-190604 Version: 7.0NG.735-190606
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.735-190604" pandora_version="7.0NG.735-190606"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -1989,6 +1989,33 @@ CREATE TABLE IF NOT EXISTS `tnetwork_matrix` (
UNIQUE (`source`, `destination`, `utimestamp`) UNIQUE (`source`, `destination`, `utimestamp`)
) ENGINE = InnoDB DEFAULT CHARSET=utf8 ; ) ENGINE = InnoDB DEFAULT CHARSET=utf8 ;
-- ---------------------------------------------------------------------
-- Table `user_task`
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `tuser_task` (
`id` int(20) unsigned NOT NULL auto_increment,
`function_name` varchar(80) NOT NULL default '',
`parameters` text NOT NULL default '',
`name` varchar(60) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ---------------------------------------------------------------------
-- Table `user_task_scheduled`
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `tuser_task_scheduled` (
`id` int(20) unsigned NOT NULL auto_increment,
`id_usuario` varchar(60) NOT NULL default '0',
`id_user_task` int(20) unsigned NOT NULL default '0',
`args` TEXT NOT NULL,
`scheduled` enum('no','hourly','daily','weekly','monthly','yearly','custom') default 'no',
`last_run` int(20) unsigned default '0',
`custom_data` int(10) NULL default '0',
`flag_delete` tinyint(1) UNSIGNED NOT NULL default 0,
`id_grupo` int(10) unsigned NOT NULL default 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `tnotification_source` -- Table `tnotification_source`
-- ----------------------------------------------------- -- -----------------------------------------------------

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC190604'; $build_version = 'PC190606';
$pandora_version = 'v7.0NG.735'; $pandora_version = 'v7.0NG.735';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -289,7 +289,7 @@ function grafico_modulo_sparse_data(
} }
} }
if ($array_data === false || (!$params['graph_combined'] if ($array_data === false && (!$params['graph_combined']
&& !isset($array_data['sum1']['data'][0][1]) && !$params['baseline']) && !isset($array_data['sum1']['data'][0][1]) && !$params['baseline'])
) { ) {
return false; return false;

View File

@ -261,138 +261,47 @@ function snmp_browser_get_tree(
) { ) {
global $config; global $config;
if ($target_ip == '') { $output = get_snmpwalk(
return __('Target IP cannot be blank.'); $target_ip,
} $version,
$community,
// Call snmpwalk $snmp3_auth_user,
if (empty($config['snmpwalk'])) { $snmp3_security_level,
switch (PHP_OS) { $snmp3_auth_method,
case 'FreeBSD': $snmp3_auth_pass,
$snmpwalk_bin = '/usr/local/bin/snmpwalk'; $snmp3_privacy_method,
break; $snmp3_privacy_pass,
0,
case 'NetBSD': $starting_oid,
$snmpwalk_bin = '/usr/pkg/bin/snmpwalk'; '',
break; $server_to_exec,
'',
default: ''
$snmpwalk_bin = 'snmpwalk'; );
break;
}
} else {
$snmpwalk_bin = $config['snmpwalk'];
}
switch (PHP_OS) {
case 'WIN32':
case 'WINNT':
case 'Windows':
$error_redir_dir = 'NUL';
break;
default:
$error_redir_dir = '/dev/null';
break;
}
if ($server_to_exec != 0) {
$sql = sprintf('SELECT ip_address FROM tserver WHERE id_server = %d', $server_to_exec);
$server_data = db_get_row_sql($sql);
if (enterprise_installed()) {
enterprise_include_once('include/functions_satellite.php');
// Build the tree.
$oid_tree = ['__LEAVES__' => []]; $oid_tree = ['__LEAVES__' => []];
if ($version == '3') { foreach ($output as $oid => $value) {
switch ($snmp3_security_level) { // Parse the OID.
case 'authPriv': $oid_len = strlen($oid);
$command = $snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir;
break;
case 'authNoPriv':
$command = $snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir;
break;
case 'noAuthNoPriv':
$command = $snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -l '.escapeshellarg($snmp3_security_level).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir;
break;
}
} else {
$command = $snmpwalk_bin.' -m ALL -M +'.escapeshellarg($config['homedir'].'/attachment/mibs').' -Cc -c '.escapeshellarg(io_safe_output($community)).' -v '.escapeshellarg($version).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir;
}
exec('ssh pandora_exec_proxy@'.$server_data['ip_address'].' "'.$command.'"', $output, $rc);
} else {
$oid_tree = ['__LEAVES__' => []];
if ($version == '3') {
switch ($snmp3_security_level) {
case 'authPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
case 'authNoPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
case 'noAuthNoPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -l '.escapeshellarg($snmp3_security_level).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
}
} else {
exec($snmpwalk_bin.' -m ALL -M +'.escapeshellarg($config['homedir'].'/attachment/mibs').' -Cc -c '.escapeshellarg(io_safe_output($community)).' -v '.escapeshellarg($version).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
}
}
} else {
$oid_tree = ['__LEAVES__' => []];
if ($version == '3') {
switch ($snmp3_security_level) {
case 'authPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
case 'authNoPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
case 'noAuthNoPriv':
exec($snmpwalk_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -l '.escapeshellarg($snmp3_security_level).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
break;
}
} else {
exec($snmpwalk_bin.' -m ALL -M +'.escapeshellarg($config['homedir'].'/attachment/mibs').' -Cc -c '.escapeshellarg(io_safe_output($community)).' -v '.escapeshellarg($version).' '.escapeshellarg($target_ip).' '.escapeshellarg($starting_oid).' 2> '.$error_redir_dir, $output, $rc);
}
}
foreach ($output as $line) {
// Separate the OID from the value
$full_oid = explode('=', $line);
if (! isset($full_oid[1])) {
continue;
}
$oid = trim($full_oid[0]);
$value = trim($full_oid[1]);
// Parse the OID
$group = 0; $group = 0;
$sub_oid = ''; $sub_oid = '';
$ptr = &$oid_tree['__LEAVES__']; $ptr = &$oid_tree['__LEAVES__'];
for ($i = 0; $i < strlen($oid); $i++) { for ($i = 0; $i < $oid_len; $i++) {
// "X.Y.Z" // "X.Y.Z"
if ($oid[$i] == '"') { if ($oid[$i] == '"') {
$group = ($group ^ 1); $group = ($group ^ 1);
} }
// Move to the next element of the OID // Move to the next element of the OID.
if ($group == 0 && ($oid[$i] == '.' || ($oid[$i] == ':' && $oid[($i + 1)] == ':'))) { if ($group == 0 && ($oid[$i] == '.' || ($oid[$i] == ':' && $oid[($i + 1)] == ':'))) {
// Skip the next : // Skip the next ":".
if ($oid[$i] == ':') { if ($oid[$i] == ':') {
$i++; $i++;
} }
// Starting dot // Starting dot.
if ($sub_oid == '') { if ($sub_oid == '') {
continue; continue;
} }
@ -410,7 +319,7 @@ function snmp_browser_get_tree(
} }
} }
// The last element will contain the full OID // The last element will contain the full OID.
$ptr[$sub_oid] = [ $ptr[$sub_oid] = [
'__OID__' => $oid, '__OID__' => $oid,
'__VALUE__' => $value, '__VALUE__' => $value,
@ -459,83 +368,27 @@ function snmp_browser_get_oid(
return; return;
} }
$output = get_snmpwalk(
$target_ip,
$version,
$community,
$snmp3_auth_user,
$snmp3_security_level,
$snmp3_auth_method,
$snmp3_auth_pass,
$snmp3_privacy_method,
$snmp3_privacy_pass,
0,
$target_oid,
'',
$server_to_exec,
'',
'-On'
);
$oid_data['oid'] = $target_oid; $oid_data['oid'] = $target_oid;
if (empty($config['snmpget'])) { foreach ($output as $oid => $value) {
switch (PHP_OS) { $oid = trim($oid);
case 'FreeBSD':
$snmpget_bin = '/usr/local/bin/snmpget';
break;
case 'NetBSD':
$snmpget_bin = '/usr/pkg/bin/snmpget';
break;
default:
$snmpget_bin = 'snmpget';
break;
}
} else {
$snmpget_bin = $config['snmpget'];
}
switch (PHP_OS) {
case 'WIN32':
case 'WINNT':
case 'Windows':
$error_redir_dir = 'NUL';
break;
default:
$error_redir_dir = '/dev/null';
break;
}
if ($server_to_exec != 0) {
$sql = sprintf(
'SELECT ip_address FROM tserver WHERE id_server = %d',
$server_to_exec
);
$server_data = db_get_row_sql($sql);
if ($version == '3') {
$command = $snmpget_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($target_ip).' '.escapeshellarg($target_oid).' 2> '.$error_redir_dir;
} else {
$command = $snmpget_bin.' -m ALL -M +'.escapeshellarg($config['homedir'].'/attachment/mibs').' -On -c '.escapeshellarg(io_safe_output($community)).' -v '.escapeshellarg($version).' '.escapeshellarg($target_ip).' '.escapeshellarg($target_oid).' 2> '.$error_redir_dir;
}
exec(
'ssh pandora_exec_proxy@'.$server_data['ip_address'].' "'.$command.'"',
$output,
$rc
);
} else {
if ($version == '3') {
exec(
$snmpget_bin.' -m ALL -v 3 -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($target_ip).' '.escapeshellarg($target_oid).' 2> '.$error_redir_dir,
$output,
$rc
);
} else {
exec(
$snmpget_bin.' -m ALL -M +'.escapeshellarg($config['homedir'].'/attachment/mibs').' -On -c '.escapeshellarg(io_safe_output($community)).' -v '.escapeshellarg($version).' '.escapeshellarg($target_ip).' '.escapeshellarg($target_oid).' 2> '.$error_redir_dir,
$output,
$rc
);
}
}
if ($rc != 0) {
return $oid_data;
}
foreach ($output as $line) {
// Separate the OID from the value.
$full_oid = explode('=', $line);
if (! isset($full_oid[1])) {
break;
}
$oid = trim($full_oid[0]);
$oid_data['numeric_oid'] = $oid; $oid_data['numeric_oid'] = $oid;
// Translate the OID. // Translate the OID.
@ -594,16 +447,19 @@ function snmp_browser_get_oid(
$oid_data['description'] = $custom_data['description']; $oid_data['description'] = $custom_data['description'];
} }
$full_value = explode(':', trim($full_oid[1])); $full_value = explode(':', trim($value));
if (! isset($full_value[1])) { if (! isset($full_value[1])) {
$oid_data['value'] = trim($full_oid[1]); $oid_data['value'] = trim($value);
} else { } else {
$oid_data['type'] = trim($full_value[0]); $oid_data['type'] = trim($full_value[0]);
$oid_data['value'] = trim($full_value[1]); $oid_data['value'] = trim($full_value[1]);
} }
return $oid_data; // There should only be one OID.
break;
} }
return $oid_data;
} }

View File

@ -4364,7 +4364,7 @@ function ui_print_agent_autocomplete_input($parameters)
function '.$javascript_on_blur_function_name.'() { function '.$javascript_on_blur_function_name.'() {
input_value = $("#'.$input_id.'").val(); input_value = $("#'.$input_id.'").val();
if (input_value.length == 0) { if (input_value.length < 2) {
if (('.((int) $print_hidden_input_idagent).') if (('.((int) $print_hidden_input_idagent).')
|| ('.((int) $use_hidden_input_idagent).')) { || ('.((int) $use_hidden_input_idagent).')) {
$("#'.$hidden_input_idagent_id.'").val(0); $("#'.$hidden_input_idagent_id.'").val(0);
@ -4415,7 +4415,7 @@ function ui_print_agent_autocomplete_input($parameters)
url: action="'.$javascript_ajax_page.'", url: action="'.$javascript_ajax_page.'",
dataType: "json", dataType: "json",
success: function (data) { success: function (data) {
if (data.length == 0) { if (data.length < 2) {
//Set icon //Set icon
$("#'.$input_id.'") $("#'.$input_id.'")
.css("background", .css("background",

View File

@ -6096,3 +6096,30 @@ div#status_pie {
.white_table_no_border { .white_table_no_border {
border: none !important; border: none !important;
} }
/*
* ---------------------------------------------------------------------
* - SERVICES TABLE VIEW
* ---------------------------------------------------------------------
*/
#table_services {
display: grid;
grid-gap: 20px;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
grid-template-rows: 1fr;
margin-bottom: 30px;
}
.table_services_item_link {
font-size: 16px;
display: grid;
min-height: 80px;
box-sizing: border-box;
padding: 10px 10px 10px 0;
}
.table_services_item {
display: grid;
align-items: center;
grid-template-columns: 50px auto;
}

View File

@ -129,7 +129,7 @@
<div style='height: 10px'> <div style='height: 10px'>
<?php <?php
$version = '7.0NG.735'; $version = '7.0NG.735';
$build = '190604'; $build = '190606';
$banner = "v$version Build $build"; $banner = "v$version Build $build";
error_reporting(0); error_reporting(0);

View File

@ -616,7 +616,11 @@ foreach ($timezones as $timezone_name => $tz) {
} }
} }
echo '<form name="user_mod" method="post" action="'.ui_get_full_url('index.php?sec=workspace&sec2=operation/users/user_edit').'&amp;modified=1&amp;id='.$id.'&amp;pure='.$config['pure'].'">'; if (is_metaconsole()) {
echo '<form name="user_mod" method="post" action="'.ui_get_full_url('index.php?sec=advanced&sec2=advanced/users_setup').'&amp;tab=user_edit&amp;modified=1&amp;id='.$id.'&amp;pure='.$config['pure'].'">';
} else {
echo '<form name="user_mod" method="post" action="'.ui_get_full_url('index.php?sec=workspace&sec2=operation/users/user_edit').'&amp;modified=1&amp;id='.$id.'&amp;pure='.$config['pure'].'">';
}
echo '<div id="user_form"> echo '<div id="user_form">
<div class="user_edit_first_row"> <div class="user_edit_first_row">

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
%define httpd_name httpd %define httpd_name httpd
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name apache2 %define httpd_name apache2

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.735-190604 Version: 7.0NG.735-190606
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.735-190604" pandora_version="7.0NG.735-190606"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.735"; my $pandora_version = "7.0NG.735";
my $pandora_build = "190604"; my $pandora_build = "190606";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -4859,6 +4859,8 @@ sub pandora_process_policy_queue ($) {
logger($pa_config, "Starting policy queue patrol process.", 1); logger($pa_config, "Starting policy queue patrol process.", 1);
while($THRRUN == 1) { while($THRRUN == 1) {
eval {{
local $SIG{__DIE__};
# If we are not the master server sleep and check again. # If we are not the master server sleep and check again.
if (pandora_is_master($pa_config) == 0) { if (pandora_is_master($pa_config) == 0) {
@ -4866,9 +4868,6 @@ sub pandora_process_policy_queue ($) {
next; next;
} }
# Check the queue each 5 seconds
sleep (5);
my $operation = enterprise_hook('get_first_policy_queue', [$dbh]); my $operation = enterprise_hook('get_first_policy_queue', [$dbh]);
next unless (defined ($operation) && $operation ne ''); next unless (defined ($operation) && $operation ne '');
@ -4885,6 +4884,11 @@ sub pandora_process_policy_queue ($) {
} }
enterprise_hook('pandora_finish_queue_operation', [$dbh, $operation->{'id'}]); enterprise_hook('pandora_finish_queue_operation', [$dbh, $operation->{'id'}]);
}};
# Check the queue each 5 seconds
sleep(5);
} }
db_disconnect($dbh); db_disconnect($dbh);

View File

@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.735"; my $pandora_version = "7.0NG.735";
my $pandora_build = "190604"; my $pandora_build = "190606";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -29,6 +29,7 @@ use Sys::Syslog;
use Scalar::Util qw(looks_like_number); use Scalar::Util qw(looks_like_number);
use LWP::UserAgent; use LWP::UserAgent;
use threads; use threads;
use threads::shared;
# New in 3.2. Used to sendmail internally, without external scripts # New in 3.2. Used to sendmail internally, without external scripts
# use Module::Loaded; # use Module::Loaded;
@ -1864,7 +1865,7 @@ sub stop_server_threads {
$THRRUN = 0; $THRRUN = 0;
foreach my $thr (@ServerThreads) { foreach my $thr (@ServerThreads) {
$thr->detach(); $thr->join();
} }
@ServerThreads = (); @ServerThreads = ();

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.735 %define version 7.0NG.735
%define release 190604 %define release 190606
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -9,7 +9,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.735" PI_VERSION="7.0NG.735"
PI_BUILD="190604" PI_BUILD="190606"
MODE=$1 MODE=$1
if [ $# -gt 1 ]; then if [ $# -gt 1 ]; then

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB; use PandoraFMS::DB;
# version: define current version # version: define current version
my $version = "7.0NG.735 PS190604"; my $version = "7.0NG.735 PS190606";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv; Encode::Locale::decode_argv;
# version: define current version # version: define current version
my $version = "7.0NG.735 PS190604"; my $version = "7.0NG.735 PS190606";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);