Merge branch 'develop' into ent-13649-errores-visuales-servicios-tema-oscuro

This commit is contained in:
Pablo Aragon 2024-05-09 07:56:37 +02:00
commit d70fab8f7a
67 changed files with 645 additions and 402 deletions

View File

@ -38,9 +38,11 @@ mkdir -p %{buildroot}/usr/share/man/man1/
install -m 0755 pandora_agent %{buildroot}%{_bindir}/pandora_agent
install -m 0755 pandora_agent_exec %{buildroot}%{_bindir}/pandora_agent_exec
install -m 0755 tentacle_client %{buildroot}%{_bindir}/tentacle_client
install -m 0755 tentacle_server %{buildroot}%{_bindir}/tentacle_server
install -m 0755 pandora_agent_daemon %{buildroot}/etc/init.d/pandora_agent_daemon
install -m 0644 man/man1/pandora_agent.1.gz %{buildroot}/usr/share/man/man1/pandora_agent.1.gz
install -m 0644 man/man1/tentacle_client.1.gz %{buildroot}/usr/share/man/man1/tentacle_client.1.gz
install -m 0644 man/man1/tentacle_server.1.gz %{buildroot}/usr/share/man/man1/tentacle_server.1.gz
install -m 0600 Linux/pandora_agent.conf %{buildroot}/etc/pandora/pandora_agent.conf
install -d -m 0755 %{buildroot}/etc/pandora/plugins
install -d -m 0755 %{buildroot}/etc/pandora/collections
@ -81,6 +83,7 @@ fi
/usr/bin/pandora_agent
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/init.d/pandora_agent_daemon
%defattr(-,pandora,root,770)
@ -96,6 +99,7 @@ fi
%doc
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz
%changelog
* Sun Feb 23 2014 Sancho Lerena <slerena at gmail.com> - 5.0

View File

@ -45,12 +45,14 @@ mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
# Checking old config file (if exists)
if [ -f /etc/pandora/pandora_agent.conf ] ; then
@ -113,6 +115,7 @@ rm -Rf /var/log/pandora/pandora_agent* 2> /dev/null
rm -Rf /usr/share/pandora_agent
rm -Rf /usr/share/man/man1/pandora_agent.1.gz
rm -Rf /usr/share/man/man1/tentacle_client.1.gz
rm -Rf /usr/share/man/man1/tentacle_server.1.gz
exit 0
%files
@ -125,6 +128,7 @@ exit 0
%defattr(755,pandora,root)
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/init.d/pandora_agent_daemon
%docdir %{prefix}/pandora_agents/docs
%{prefix}/pandora_agent
@ -132,4 +136,5 @@ exit 0
%defattr(644,pandora,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz

View File

@ -46,12 +46,14 @@ mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
# Checking old config file (if exists)
if [ -f /etc/pandora/pandora_agent.conf ] ; then
@ -115,6 +117,7 @@ rm -Rf /var/log/pandora/pandora_agent* 2> /dev/null
rm -Rf /usr/share/pandora_agent
rm -Rf /usr/share/man/man1/pandora_agent.1.gz
rm -Rf /usr/share/man/man1/tentacle_client.1.gz
rm -Rf /usr/share/man/man1/tentacle_server.1.gz
exit 0
%files
@ -127,6 +130,7 @@ exit 0
%defattr(755,pandora,root)
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/init.d/pandora_agent_daemon
%docdir %{prefix}/pandora_agents/docs
%{prefix}/pandora_agent
@ -134,4 +138,5 @@ exit 0
%defattr(644,pandora,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz

View File

@ -1757,12 +1757,6 @@ sub check_ssleay_version {
# Main
################################################################################
# Never run as root
if ($> == 0 && $^O ne 'MSWin32') {
print ("Error: for safety reasons $0 cannot be run with root privileges.\n");
exit 1;
}
# Parse command line options
parse_options ();

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.776-240503
Version: 7.0NG.776-240509
Architecture: all
Priority: optional
Section: admin

View File

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

Binary file not shown.

View File

@ -1039,7 +1039,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.776';
use constant AGENT_BUILD => '240503';
use constant AGENT_BUILD => '240509';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.776
%define release 240503
%define release 240509
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
@ -53,11 +53,13 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
@ -164,9 +166,11 @@ exit 0
%defattr(755,root,root)
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/rc.d/init.d/pandora_agent_daemon
%defattr(644,root,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent

View File

@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.776
%define release 240503
%define release 240509
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version
@ -55,11 +55,13 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
@ -161,9 +163,11 @@ exit 0
%defattr(755,root,root)
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/rc.d/init.d/pandora_agent_daemon
%defattr(644,root,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent

View File

@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.776
%define release 240503
%define release 240509
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version
@ -55,11 +55,13 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
#cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
@ -150,8 +152,10 @@ exit 0
%defattr(755,root,root)
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/usr/bin/tentacle_server
%defattr(644,root,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent

View File

@ -5,7 +5,7 @@
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.776
%define release 240503
%define release 240509
Summary: Pandora FMS Linux agent, binary version
Name: %{name}
@ -53,11 +53,13 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
@ -159,9 +161,11 @@ exit 0
%defattr(755,root,root)
/usr/bin/pandora_agent_exec
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/rc.d/init.d/pandora_agent_daemon
%defattr(644,root,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.776
%define release 240503
%define release 240509
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
@ -46,12 +46,14 @@ mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_server $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/init.d/pandora_agent_daemon
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_server.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
@ -147,6 +149,7 @@ rm -Rf /var/log/pandora/pandora_agent* 2> /dev/null
rm -Rf /usr/share/pandora_agent
rm -Rf /usr/share/man/man1/pandora_agent.1.gz
rm -Rf /usr/share/man/man1/tentacle_client.1.gz
rm -Rf /usr/share/man/man1/tentacle_server.1.gz
exit 0
%postun
@ -165,6 +168,7 @@ rm -Rf /etc/logrotate.d/pandora_agent
%defattr(755,pandora,root)
/usr/bin/tentacle_client
/usr/bin/tentacle_server
/etc/init.d/pandora_agent_daemon
%docdir %{prefix}/pandora_agents/docs
%{prefix}/pandora_agent
@ -172,4 +176,5 @@ rm -Rf /etc/logrotate.d/pandora_agent
%defattr(644,pandora,root)
/usr/share/man/man1/pandora_agent.1.gz
/usr/share/man/man1/tentacle_client.1.gz
/usr/share/man/man1/tentacle_server.1.gz

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.776"
PI_BUILD="240503"
PI_BUILD="240509"
OS_NAME=`uname -s`
FORCE=0

View File

@ -1757,12 +1757,6 @@ sub check_ssleay_version {
# Main
################################################################################
# Never run as root
if ($> == 0 && $^O ne 'MSWin32') {
print ("Error: for safety reasons $0 cannot be run with root privileges.\n");
exit 1;
}
# Parse command line options
parse_options ();

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{240503}
{240509}
ViewReadme
{Yes}

View File

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

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Pandora FMS"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.776(Build 240503))"
VALUE "ProductVersion", "(7.0NG.776(Build 240509))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.776-240503
Version: 7.0NG.776-240509
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -69,38 +69,41 @@ function api_execute(
if (empty($url) === true) {
$url = 'http://'.$ip.$pandora_url.'/include/api.php?';
} else {
$url_schema = parse_url($url);
$url = $url_schema['scheme'].'://'.$url_schema['host'].$pandora_url.'/include/api.php?';
}
if (empty($op) === false) {
$data['op'] = $op;
}
if (empty($op) === false) {
$data['op'] = $op;
}
if (empty($op2) === false) {
$data['op2'] = $op2;
}
if (empty($op2) === false) {
$data['op2'] = $op2;
}
if (empty($id) === false) {
$data['id'] = $id;
}
if (empty($id) === false) {
$data['id'] = $id;
}
if (empty($id2) === false) {
$data['id2'] = $id2;
}
if (empty($id2) === false) {
$data['id2'] = $id2;
}
if (empty($return_type) === false) {
$data['return_type'] = $return_type;
}
if (empty($return_type) === false) {
$data['return_type'] = $return_type;
}
if (empty($other) === false) {
$data['other_mode'] = $other_mode;
$data['other'] = $other;
}
if (empty($other) === false) {
$data['other_mode'] = $other_mode;
$data['other'] = $other;
}
// If token is not reported,use old method.
if (empty($token) === true) {
$data['apipass'] = $apipass;
$data['user'] = $user;
$data['pass'] = $password;
}
// If token is not reported,use old method.
if (empty($token) === true) {
$data['apipass'] = $apipass;
$data['user'] = $user;
$data['pass'] = $password;
}
$url_protocol = parse_url($url)['scheme'];

View File

@ -15,6 +15,8 @@ ALTER TABLE tfiles_repo_group CONVERT TO CHARACTER SET UTF8MB4;
ALTER TABLE `tusuario`
ADD COLUMN `stop_lts_modal` TINYINT NOT NULL DEFAULT 0 AFTER `session_max_time_expire`;
ALTER TABLE `tlayout_template` ADD COLUMN `create_from` INT UNSIGNED NOT NULL DEFAULT 0;
-- START MIGRATION MSSQL --
SET @current_app_type = 12;
SET @short_name = 'pandorafms.mssql';
@ -7764,4 +7766,9 @@ DELETE FROM tconfig WHERE `token` = 'loginhash_pwd';
UPDATE `tdiscovery_apps` SET `version` = '1.5' WHERE `short_name` = 'pandorafms.vmware';
-- Delete Create incident from event, from tevent_response
DELETE FROM tevent_response WHERE name = 'Create&#x20;incident&#x20;from&#x20;event';
UPDATE tconfig_os SET `name` = 'Web&#x20;Server' WHERE `id_os` = 12;
COMMIT;

View File

@ -566,10 +566,10 @@ if ($search != '') {
if ($id != '') {
$aux = $id[0]['id_agent'];
$search_sql = sprintf(
' AND ( REPLACE(nombre, "&#x20;", " ") LIKE "%%%s%%"
OR REPLACE(alias, "&#x20;", " ") LIKE "%%%s%%"
OR REPLACE(comentarios, "&#x20;", " ") LIKE "%%%s%%"
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND REPLACE(description, "&#x20;", " ") LIKE "%%%s%%")
' AND ( nombre LIKE "%%%s%%"
OR alias LIKE "%%%s%%"
OR comentarios LIKE "%%%s%%"
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND description LIKE "%%%s%%")
OR tagente.id_agente = %d',
$search,
$search,
@ -591,10 +591,10 @@ if ($search != '') {
$search_sql .= ')';
} else {
$search_sql = sprintf(
' AND ( REPLACE(nombre, "&#x20;", " ")
LIKE "%%%s%%" OR REPLACE(alias, "&#x20;", " ")
LIKE "%%%s%%" OR REPLACE(comentarios, "&#x20;", " ") LIKE "%%%s%%"
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND REPLACE(description, "&#x20;", " ") LIKE "%%%s%%"))',
' AND ( nombre
LIKE "%%%s%%" OR alias
LIKE "%%%s%%" OR comentarios LIKE "%%%s%%"
OR EXISTS (SELECT * FROM tagent_custom_data WHERE id_agent = id_agente AND description LIKE "%%%s%%"))',
$search,
$search,
$search,

View File

@ -437,7 +437,7 @@ if ($is_management_allowed === true
$icon = (string) get_parameter('icon');
$id_parent = (int) get_parameter('id_parent');
$group_pass = (string) get_parameter('group_pass');
$alerts_disabled = (bool) get_parameter('alerts_disabled');
$alerts_disabled = (bool) get_parameter_switch('alerts_enabled', 0);
$custom_id = (string) get_parameter('custom_id');
$description = (string) get_parameter('description');
$contact = (string) get_parameter('contact');
@ -459,7 +459,7 @@ if ($is_management_allowed === true
'nombre' => $name,
'icon' => $icon,
'parent' => $id_parent,
'disabled' => $alerts_disabled,
'disabled' => !$alerts_disabled,
'custom_id' => $custom_id,
'description' => $description,
'contact' => $contact,
@ -493,7 +493,7 @@ if ($is_management_allowed === true && $update_group === true) {
$id_parent = (int) get_parameter('id_parent');
$description = (string) get_parameter('description');
$group_pass = (string) get_parameter('group_pass');
$alerts_enabled = (bool) get_parameter('alerts_enabled');
$alerts_enabled = (bool) get_parameter_switch('alerts_enabled', 0);
$custom_id = (string) get_parameter('custom_id');
$propagate = (bool) get_parameter('propagate');
$description = (string) get_parameter('description');
@ -1108,7 +1108,7 @@ if ($tab == 'tree') {
// Reporting_get_group_stats.
$table->data[$key][3] = ($group['disabled']) ? __('Disabled') : __('Enabled');
$table->data[$key][3] = ($group['disabled'] === '1') ? __('Disabled') : __('Enabled');
$table->data[$key][4] = $group['parent_name'];
$table->data[$key][5] = $group['description'];
if ($is_management_allowed === true) {

View File

@ -362,14 +362,20 @@ if (is_ajax() === true) {
$row['name'] = __('Admin secondary LDAP password');
$row['control'] = html_print_input_password(
'ldap_admin_pass_secondary',
io_output_password($config['ldap_admin_pass_secondary']),
(empty(io_output_password($config['ldap_admin_pass_secondary'])) === false) ? '*****' : '',
$alt = '',
60,
100,
true,
false,
false,
'w400px-important'
'w400px-important',
'on',
false,
'',
true,
false,
true
);
$table->data['ldap_admin_pass_secondary'] = $row;
break;

View File

@ -160,6 +160,16 @@ class ManageExtensions extends HTML
public function run()
{
global $config;
if (! check_acl($config['id_user'], 0, 'AR')) {
db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION,
'Trying to access Manage disco packages'
);
include 'general/noaccess.php';
return;
}
// Load styles.
parent::run();
@ -278,52 +288,54 @@ class ManageExtensions extends HTML
$this->printHeader(true)
);
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
$table->size = [];
$table->size[0] = '80%';
$table->align[3] = 'right';
$table->data = [];
$table->data[0][0] = html_print_label_input_block(
__('Load DISCO'),
html_print_div(
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
$table->size = [];
$table->size[0] = '80%';
$table->align[3] = 'right';
$table->data = [];
$table->data[0][0] = html_print_label_input_block(
__('Load DISCO'),
html_print_div(
[
'id' => 'upload_file',
'content' => html_print_input_file(
'file',
true,
['style' => 'width:100%']
),
'class' => 'mrgn_top_15px',
],
true
)
);
$table->data[0][3] = html_print_submit_button(
__('Upload DISCO'),
'upload_button',
false,
[
'id' => 'upload_file',
'content' => html_print_input_file(
'file',
true,
['style' => 'width:100%']
),
'class' => 'mrgn_top_15px',
'class' => 'sub ok float-right',
'icon' => 'next',
],
true
)
);
$table->data[0][3] = html_print_submit_button(
__('Upload DISCO'),
'upload_button',
false,
[
'class' => 'sub ok float-right',
'icon' => 'next',
],
true
);
);
echo '<form id="uploadExtension" enctype="multipart/form-data" action="index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=magextensions" method="POST">';
html_print_input_hidden('upload_disco', 1);
html_print_table($table);
// Auxiliar div ant string for migrate modal.
$modal = '<div id="migrate_modal" class="invisible"></div>';
$modal .= '<div class="invisible" id="msg"></div>';
echo '<form id="uploadExtension" enctype="multipart/form-data" action="index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=magextensions" method="POST">';
html_print_input_hidden('upload_disco', 1);
html_print_table($table);
// Auxiliar div ant string for migrate modal.
$modal = '<div id="migrate_modal" class="invisible"></div>';
$modal .= '<div class="invisible" id="msg"></div>';
echo $modal;
echo $modal;
echo '<div class="action-buttons w700px">';
echo '<div class="action-buttons w700px">';
echo '</div>';
echo '</form>';
echo '</div>';
echo '</form>';
}
echo '<script type="text/javascript">
var page = "'.$this->ajaxController.'";
@ -366,7 +378,7 @@ class ManageExtensions extends HTML
ui_print_datatable(
[
'id' => 'list_extensions',
'class' => 'info_table',
'class' => 'info_table discovery-list-extensions',
'style' => 'width: 99%',
'dom_elements' => 'plfti',
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
@ -723,39 +735,45 @@ class ManageExtensions extends HTML
$data[$key]['short_name'] = $row['short_name'];
$data[$key]['description'] = io_safe_output($row['description']);
$data[$key]['version'] = $row['version'];
$data[$key]['actions'] = '<form name="grupo" method="post" class="rowPair table_action_buttons" action="'.$this->url.'&action=delete">';
$data[$key]['actions'] .= html_print_input_image(
'button_delete',
'images/delete.svg',
'',
'',
true,
[
'onclick' => 'if (!confirm(\''.__('Deleting this application will also delete all the discovery tasks using it. Do you want to delete it?').'\')) return false;',
'class' => 'main_menu_icon invert_filter action_button_hidden',
'title' => 'Delete',
]
);
$data[$key]['actions'] .= html_print_input_hidden('short_name', $row['short_name'], true);
$data[$key]['actions'] .= '</form>';
if ($this->checkFolderConsole($row['short_name']) === true) {
$data[$key]['actions'] .= '<form name="grupo" method="post" class="rowPair table_action_buttons" action="'.$this->url.'&action=sync_server">';
$data[$key]['actions'] = '';
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
$data[$key]['actions'] .= '<form name="grupo" method="post" class="rowPair table_action_buttons" action="'.$this->url.'&action=delete">';
$data[$key]['actions'] .= html_print_input_image(
'button_refresh',
'images/refresh@svg.svg',
'button_delete',
'images/delete.svg',
'',
'',
true,
[
'onclick' => 'if (!confirm(\''.__('Are you sure you want to reapply?').'\')) return false;',
'onclick' => 'if (!confirm(\''.__('Deleting this application will also delete all the discovery tasks using it. Do you want to delete it?').'\')) return false;',
'class' => 'main_menu_icon invert_filter action_button_hidden',
'title' => 'Refresh',
'title' => 'Delete',
]
);
$data[$key]['actions'] .= html_print_input_hidden('sync_action', 'refresh', true);
$data[$key]['actions'] .= html_print_input_hidden('short_name', $row['short_name'], true);
$data[$key]['actions'] .= '</form>';
}
if ($this->checkFolderConsole($row['short_name']) === true) {
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
$data[$key]['actions'] .= '<form name="grupo" method="post" class="rowPair table_action_buttons" action="'.$this->url.'&action=sync_server">';
$data[$key]['actions'] .= html_print_input_image(
'button_refresh',
'images/refresh@svg.svg',
'',
'',
true,
[
'onclick' => 'if (!confirm(\''.__('Are you sure you want to reapply?').'\')) return false;',
'class' => 'main_menu_icon invert_filter action_button_hidden',
'title' => 'Refresh',
]
);
$data[$key]['actions'] .= html_print_input_hidden('sync_action', 'refresh', true);
$data[$key]['actions'] .= html_print_input_hidden('short_name', $row['short_name'], true);
$data[$key]['actions'] .= '</form>';
}
} else {
$data[$key]['actions'] .= html_print_image(
'images/error_red.png',

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>loop v2@svg</title>
<g id="loop-v2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" fill="#3F3F3F">
<path d="M20,10 C20,14.418278 16.418278,18 12,18 L11,18 L11,16 L12,16 C15.3137085,16 18,13.3137085 18,10 C18,6.92328108 15.6842046,4.38744515 12.7005882,4.04046651 L14,3 L12.7999684,2.03949706 C16.8426417,2.44086199 20,5.85171073 20,10 Z M9,2 L9,4 L8,4 C4.6862915,4 2,6.6862915 2,10 C2,13.0774099 4.31683558,15.6136938 7.30142194,15.9597669 L6,17 L7.19902859,17.9604033 C3.15683607,17.5585739 0,14.1479462 0,10 C0,5.581722 3.581722,2 8,2 L9,2 Z" id="Path-107" transform="translate(10, 10) scale(-1, -1) translate(-10, -10)"></path>
<polygon id="Path-106" points="8 0 8 6 12 3"></polygon>
<polygon id="Path-106" transform="translate(10, 17) scale(-1, 1) translate(-10, -17)" points="8 14 8 20 12 17"></polygon>
</g>
<path d="M0.292893219,0.292893219 C0.683417511,-0.0976310729 1.31658249,-0.0976310729 1.70710678,0.292893219 L1.79912396,0.384910402 C1.85821492,0.444001355 1.91326052,0.499046961 1.96703474,0.552821173 L2.08705149,0.672837932 C2.1271221,0.712908533 2.1676478,0.753434236 2.20979886,0.795585301 L2.38984567,0.975632111 C2.40603428,0.99182072 2.42257686,1.0083633 2.43951675,1.02530319 L2.94454935,1.53033579 C2.99669098,1.58247741 3.05180882,1.63759526 3.11024963,1.69603607 L4.94491536,3.5307018 C5.06686811,3.65265454 5.19457102,3.78035746 5.32837086,3.91415729 L5.97279454,4.55858098 L6.20710678,4.79289322 C6.53523178,5.12101822 6.84284897,5.42863541 7.13325424,5.71904068 L7.5563652,6.14215164 C7.62486954,6.21065598 7.69240112,6.27818756 7.75901146,6.3447979 L8.33502121,6.92080765 C8.39656754,6.98235397 8.45734711,7.04313354 8.51741142,7.10319786 L8.86962624,7.45541267 C8.92703552,7.51282196 8.98383255,7.56961899 9.04006882,7.62585525 L9.37116928,7.95695572 C9.4253685,8.01115494 9.47910996,8.06489639 9.53244514,8.11823158 L10.9113152,9.49710159 C11.0117027,9.59748917 11.1123192,9.69810562 11.2135765,9.79936295 L11.6749508,10.2607372 C11.7790577,10.3648441 11.8844234,10.4702099 11.99146,10.5772465 L12.4857933,11.0715797 C12.7117455,11.2975319 12.9468529,11.5326393 13.1944115,11.7801979 L14.4035942,12.9893806 C14.7690041,13.3547905 15.1615936,13.7473801 15.5878002,14.1735867 L17.2784931,15.8642796 C17.5881874,16.1739738 17.9127647,16.4985512 18.2536156,16.839402 L19.326379,17.9121655 L19.7071068,18.2928932 C20.0976311,18.6834175 20.0976311,19.3165825 19.7071068,19.7071068 C19.3165825,20.0976311 18.6834175,20.0976311 18.2928932,19.7071068 C18.163987,19.5782005 18.0370949,19.4513084 17.9121655,19.326379 L16.839402,18.2536156 C16.4985512,17.9127647 16.1739738,17.5881874 15.8642796,17.2784931 L14.1735867,15.5878002 C13.7473801,15.1615936 13.3547905,14.7690041 12.9893806,14.4035942 L11.7801979,13.1944115 C11.5326393,12.9468529 11.2975319,12.7117455 11.0715797,12.4857933 L10.5772465,11.99146 C10.4702099,11.8844234 10.3648441,11.7790577 10.2607372,11.6749508 L9.79936295,11.2135765 C9.69810562,11.1123192 9.59748917,11.0117027 9.49710159,10.9113152 L8.11823158,9.53244514 C8.06489639,9.47910996 8.01115494,9.4253685 7.95695572,9.37116928 L7.62585525,9.04006882 C7.56961899,8.98383255 7.51282196,8.92703552 7.45541267,8.86962624 L7.10319786,8.51741142 C7.04313354,8.45734711 6.98235397,8.39656754 6.92080765,8.33502121 L6.3447979,7.75901146 C6.27818756,7.69240112 6.21065598,7.62486954 6.14215164,7.5563652 L5.71904068,7.13325424 C5.42863541,6.84284897 5.12101822,6.53523178 4.79289322,6.20710678 C4.71310598,6.12731955 4.63501635,6.04922991 4.55858098,5.97279454 L3.91415729,5.32837086 C3.78035746,5.19457102 3.65265454,5.06686811 3.5307018,4.94491536 L1.69603607,3.11024963 C1.63759526,3.05180882 1.58247741,2.99669098 1.53033579,2.94454935 L1.02530319,2.43951675 C1.0083633,2.42257686 0.99182072,2.40603428 0.975632111,2.38984567 L0.795585301,2.20979886 C0.753434236,2.1676478 0.712908533,2.1271221 0.672837932,2.08705149 L0.552821173,1.96703474 C0.499046961,1.91326052 0.444001355,1.85821492 0.384910402,1.79912396 L0.292893219,1.70710678 C-0.0976310729,1.31658249 -0.0976310729,0.683417511 0.292893219,0.292893219 Z" id="Path-99" fill="#3F3F3F" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -85,6 +85,13 @@ class SnmpConsole extends HTML
*/
private $filter_free_search;
/**
* Filter alias.
*
* @var string
*/
private $filter_alias_search;
/**
* Filter status.
*
@ -135,7 +142,8 @@ class SnmpConsole extends HTML
int $filter_group_by,
int $filter_hours_ago,
int $filter_trap_type,
int $refr
int $refr,
string $filter_alias_search
) {
global $config;
@ -157,6 +165,7 @@ class SnmpConsole extends HTML
$this->filter_alert = $filter_alert;
$this->filter_severity = $filter_severity;
$this->filter_free_search = $filter_free_search;
$this->filter_alias_search = $filter_alias_search;
$this->filter_status = $filter_status;
$this->filter_group_by = $filter_group_by;
$this->filter_hours_ago = $filter_hours_ago;
@ -375,13 +384,21 @@ class SnmpConsole extends HTML
'style' => 'widht:100%',
],
[
'label' => __('Free search'),
'label' => __('Search').ui_print_help_tip(__('It will search through the contents of the raw trap, which does not include the agent name. You can search by the next values: IP, OID, Value, Text, Description, User ID and Source.'), true),
'type' => 'text',
'id' => 'filter_free_search',
'input_class' => 'filter_input_datatable',
'name' => 'filter_free_search',
'value' => $this->filter_free_search,
],
[
'label' => __('Search Alias').ui_print_help_tip(__('It will search by the agent alias. This option could make the system slower.'), true),
'type' => 'text',
'id' => 'filter_alias_search',
'input_class' => 'filter_input_datatable',
'name' => 'filter_alias_search',
'value' => $this->filter_alias_search,
],
[
'label' => __('Status'),
'type' => 'select',
@ -449,7 +466,7 @@ class SnmpConsole extends HTML
1000,
],
],
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar snmp-console-filter',
]
);
} catch (Exception $e) {
@ -554,10 +571,6 @@ class SnmpConsole extends HTML
$filters = get_parameter('filter', []);
// Build ranges.
if (empty($filters['filter_hours_ago']) === true) {
$filters['filter_hours_ago'] = 8;
}
$now_timestamp = time();
$interval_seconds = ($filters['filter_hours_ago'] * 3600);
$ago_timestamp = ($now_timestamp - $interval_seconds);
@ -577,118 +590,148 @@ class SnmpConsole extends HTML
ob_start();
$data = [];
$user_groups = users_get_groups($config['id_user'], 'AR', false);
$prea = array_keys($user_groups);
$ids = join(',', $prea);
$whereSubquery = '';
$sql = 'SELECT
*
FROM
ttrap
%s
WHERE 1=1
%s
ORDER BY
timestamp DESC
LIMIT %d, %d';
$user_in_group_wo_agents = db_get_value_sql('select count(DISTINCT(id_usuario)) from tusuario_perfil where id_usuario ="'.$config['id_user'].'" and id_perfil = 1 and id_grupo in (select id_grupo from tgrupo where id_grupo in ('.$ids.') and id_grupo not in (select id_grupo from tagente))');
if ($user_in_group_wo_agents == 0) {
$sql_count = 'SELECT
COUNT(`ttrap`.`id_trap`)
FROM
ttrap
%s
WHERE 1=1
%s';
if (users_is_admin() === false || users_can_manage_group_all('AR') === false) {
$user_groups = users_get_groups($config['id_user'], 'AR', false);
$rows = db_get_all_rows_filter(
'tagente',
['id_grupo' => array_keys($user_groups)],
['id_agente']
);
$id_agents = [];
foreach ($rows as $row) {
$id_agents[] = $row['id_agente'];
}
if (!empty($id_agents)) {
if (empty($id_agents) === false) {
$address_by_user_groups = agents_get_addresses($id_agents);
foreach ($address_by_user_groups as $i => $a) {
$address_by_user_groups[$i] = '"'.$a.'"';
}
}
} else {
$rows = db_get_all_rows_filter(
'tagente',
[],
['id_agente']
if (empty($address_by_user_groups) === true) {
$address_by_user_groups = [];
array_unshift($address_by_user_groups, '""');
}
$whereSubquery .= sprintf(
'AND (
`ttrap`.`source` IN (%s) OR
`ttrap`.`source`=""
)',
implode(',', $address_by_user_groups)
);
$id_agents = [];
foreach ($rows as $row) {
$id_agents[] = $row['id_agente'];
}
$all_address_agents = agents_get_addresses($id_agents);
foreach ($all_address_agents as $i => $a) {
$all_address_agents[$i] = '"'.$a.'"';
}
}
if (empty($address_by_user_groups)) {
$address_by_user_groups = [];
array_unshift($address_by_user_groups, '""');
if ($filters['filter_alias_search'] !== '') {
$sql_join = '
LEFT JOIN `tagente`
ON `tagente`.`direccion` = `ttrap`.`source`
LEFT JOIN `taddress_agent`
ON `tagente`.`id_agente` = `taddress_agent`.`id_agent`
LEFT JOIN `taddress`
ON `taddress_agent`.`id_a` = `taddress`.`id_a`
';
} else {
$sql_join = '';
}
if (empty($all_address_agents)) {
$all_address_agents = [];
array_unshift($all_address_agents, '""');
}
$sql = 'SELECT * FROM ttrap
WHERE (
`source` IN ('.implode(',', $address_by_user_groups).") OR
`source`='' OR
`source` NOT IN (".implode(',', $all_address_agents).')
)
%s
ORDER BY timestamp DESC
LIMIT %d,%d';
$whereSubquery = '';
if ($filters['filter_alert'] != -1) {
$whereSubquery .= ' AND alerted = '.$filters['filter_alert'];
$whereSubquery .= ' AND `ttrap`.`alerted` = '.$filters['filter_alert'];
}
$filters['filter_severity'] = (int) $filters['filter_severity'];
if ($filters['filter_severity'] != -1) {
// There are two special severity values aimed to match two different trap standard severities
// in database: warning/critical and critical/normal.
if ($filters['filter_severity'] !== EVENT_CRIT_OR_NORMAL
&& $filters['filter_severity'] !== EVENT_CRIT_WARNING_OR_CRITICAL
&& $filters['filter_severity'] !== EVENT_CRIT_NOT_NORMAL
if ($filters['filter_severity'] != EVENT_CRIT_OR_NORMAL
&& $filters['filter_severity'] != EVENT_CRIT_WARNING_OR_CRITICAL
) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND severity = '.$filters['filter_severity'];
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 0 AND `ttrap`.`severity` = '.$filters['filter_severity'].') OR
(`ttrap`.`alerted` = 1 AND `ttrap`.`priority` = '.$filters['filter_severity'].'))';
} else {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 0 AND 1 = '.$filters['filter_severity'].') OR
(`ttrap`.`alerted` = 1 AND `ttrap`.`priority` = '.$filters['filter_severity'].'))';
}
} else if ($filters['filter_severity'] === EVENT_CRIT_WARNING_OR_CRITICAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_WARNING_OR_CRITICAL.')';
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 0 AND (`ttrap`.`severity` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`severity` = '.EVENT_CRIT_CRITICAL.')) OR
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
} else {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
}
} else if ($filters['filter_severity'] === EVENT_CRIT_OR_NORMAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_OR_NORMAL.')';
} else if ($filters['filter_severity'] === EVENT_CRIT_NOT_NORMAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_NOT_NORMAL.')';
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 0 AND (`ttrap`.`severity` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`severity` = '.EVENT_CRIT_CRITICAL.')) OR
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
} else {
$whereSubquery .= ' AND (
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
}
}
}
if ($filters['filter_free_search'] !== '') {
$free_search_str = io_safe_output($filters['filter_free_search']);
$whereSubquery .= '
AND (source LIKE "%'.$free_search_str.'%" OR
oid LIKE "%'.$free_search_str.'%" OR
oid_custom LIKE "%'.$free_search_str.'%" OR
type_custom LIKE "%'.$free_search_str.'%" OR
value LIKE "%'.$free_search_str.'%" OR
value_custom LIKE "%'.$free_search_str.'%" OR
id_usuario LIKE "%'.$free_search_str.'%" OR
text LIKE "%'.$free_search_str.'%" OR
description LIKE "%'.$free_search_str.'%")';
AND (`ttrap`.`source` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`oid` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`oid_custom` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`type_custom` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`value` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`value_custom` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`id_usuario` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`text` LIKE "%'.$free_search_str.'%" OR
`ttrap`.`description` LIKE "%'.$free_search_str.'%")';
}
if ($filters['filter_alias_search'] !== '') {
$alias_search = io_safe_output($filters['filter_alias_search']);
$whereSubquery .= '
AND `tagente`.`alias` LIKE "%'.$alias_search.'%"';
}
if ($filters['filter_status'] != -1) {
$whereSubquery .= ' AND status = '.$filters['filter_status'];
$whereSubquery .= ' AND `ttrap`.`status` = '.$filters['filter_status'];
}
if ($date_from_trap != '') {
if ($time_from_trap != '') {
$whereSubquery .= '
AND (utimestamp > '.$ago_timestamp.')
AND (`ttrap`.`utimestamp` > '.$ago_timestamp.')
';
} else {
$whereSubquery .= '
AND (UNIX_TIMESTAMP(timestamp) > UNIX_TIMESTAMP("'.$date_from_trap.' 23:59:59"))
AND (UNIX_TIMESTAMP(`ttrap`.`timestamp`) > UNIX_TIMESTAMP("'.$date_from_trap.' 23:59:59"))
';
}
}
@ -696,37 +739,31 @@ class SnmpConsole extends HTML
if ($date_to_trap != '') {
if ($time_to_trap) {
$whereSubquery .= '
AND (utimestamp < '.$now_timestamp.')
AND (`ttrap`.`utimestamp` < '.$now_timestamp.')
';
} else {
$whereSubquery .= '
AND (UNIX_TIMESTAMP(timestamp) < UNIX_TIMESTAMP("'.$date_to_trap.' 23:59:59"))
AND (UNIX_TIMESTAMP(`ttrap`.`timestamp`) < UNIX_TIMESTAMP("'.$date_to_trap.' 23:59:59"))
';
}
}
if ($filters['filter_trap_type'] == 5) {
$whereSubquery .= ' AND type NOT IN (0, 1, 2, 3, 4)';
$whereSubquery .= ' AND `ttrap`.`type` NOT IN (0, 1, 2, 3, 4)';
} else if ($filters['filter_trap_type'] != -1) {
$whereSubquery .= ' AND type = '.$filters['filter_trap_type'];
$whereSubquery .= ' AND `ttrap`.`type` = '.$filters['filter_trap_type'];
}
$where_without_group = '';
if ($filters['filter_group_by']) {
$where_without_group = $whereSubquery;
$whereSubquery .= ' GROUP BY source,oid';
$whereSubquery .= ' GROUP BY `ttrap`.`source`,`ttrap`.`oid`,`ttrap`.`id_trap`';
} else if ($filters['filter_alias_search'] !== '') {
$whereSubquery .= ' GROUP BY `ttrap`.`id_trap`';
}
$sql = sprintf($sql, $whereSubquery, $start, $length);
$sql_count = 'SELECT COUNT(id_trap) FROM ttrap
WHERE (
source IN ('.implode(',', $address_by_user_groups).") OR
source='' OR
source NOT IN (".implode(',', $all_address_agents).')
)
%s';
$sql_count = sprintf($sql_count, $whereSubquery);
$sql = sprintf($sql, $sql_join, $whereSubquery, $start, $length);
$sql_count = sprintf($sql_count, $sql_join, $whereSubquery);
$traps = db_get_all_rows_sql($sql, true);
$total = (int) db_get_value_sql($sql_count, false, false);
@ -781,8 +818,8 @@ class SnmpConsole extends HTML
$tmp->snmp_agent .= '<a class="'.$severity_class.'" href="index.php?sec=estado&sec2=godmode/agentes/configurar_agente&new_agent=1&direccion='.$tmp->source.'" title="'.__('Create agent').'">'.$tmp->source.'</a>';
} else {
$tmp->snmp_agent .= '<div class="'.$severity_class.' snmp-div"><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'" title="'.__('View agent details').'">';
$tmp->snmp_agent .= '<strong>'.$agent['alias'].'</strong></a>'.ui_print_help_tip($tmp->source, true);
'</div>';
$tmp->snmp_agent .= '<strong>'.$agent['alias'].ui_print_help_tip($tmp->source, true);
'</strong></a></div>';
}
// Enterprise string.
@ -819,7 +856,13 @@ class SnmpConsole extends HTML
// User ID.
$tmp->user_id = '<div class="'.$severity_class.' snmp-div">';
if (empty($status) === false) {
$tmp->user_id .= '<a href="index.php?sec=workspace&sec2=operation/users/user_edit&ver='.$tmp->id_usuario.'">'.substr($tmp->id_usuario, 0, 8).'</a>';
if (users_is_admin($config['id_user']) === true || check_acl($config['id_user'], 0, 'UM') === true) {
$url = ui_get_full_url('index.php?sec=gusuarios&sec2=godmode/users/configure_user&edit_user=1&pure=0&id_user='.$tmp->id_usuario);
$tmp->user_id .= '<a href="'.$url.'">'.substr($tmp->id_usuario, 0, 8).'</a>';
} else {
$tmp->user_id .= substr($tmp->id_usuario, 0, 8);
}
if (!empty($tmp->id_usuario)) {
$tmp->user_id .= ui_print_help_tip(get_user_fullname($tmp->id_usuario), true);
}
@ -1129,25 +1172,42 @@ class SnmpConsole extends HTML
$whereSubquery .= ' AND alerted = '.$$alert;
}
$severity = (int) $severity;
if ($severity !== -1) {
if ($severity != -1) {
// There are two special severity values aimed to match two different trap standard severities
// in database: warning/critical and critical/normal.
if ($severity !== EVENT_CRIT_OR_NORMAL
&& $severity !== EVENT_CRIT_WARNING_OR_CRITICAL
&& $severity !== EVENT_CRIT_NOT_NORMAL
if ($severity != EVENT_CRIT_OR_NORMAL
&& $severity != EVENT_CRIT_WARNING_OR_CRITICAL
) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND severity = '.$severity;
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(alerted = 0 AND severity = '.$severity.') OR
(alerted = 1 AND priority = '.$severity.'))';
} else {
$whereSubquery .= ' AND (
(alerted = 0 AND 1 = '.$severity.') OR
(alerted = 1 AND priority = '.$severity.'))';
}
} else if ($severity === EVENT_CRIT_WARNING_OR_CRITICAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_WARNING_OR_CRITICAL.')';
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(alerted = 0 AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.')) OR
(alerted = 1 AND (priority = '.EVENT_CRIT_WARNING.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
} else {
$whereSubquery .= ' AND (
(alerted = 1 AND (priority = '.EVENT_CRIT_WARNING.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
}
} else if ($severity === EVENT_CRIT_OR_NORMAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_OR_NORMAL.')';
} else if ($severity === EVENT_CRIT_NOT_NORMAL) {
// Test if enterprise is installed to search oid in text or oid field in ttrap.
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_NOT_NORMAL.')';
if ($config['enterprise_installed']) {
$whereSubquery .= ' AND (
(alerted = 0 AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.')) OR
(alerted = 1 AND (priority = '.EVENT_CRIT_NORMAL.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
} else {
$whereSubquery .= ' AND (
(alerted = 1 AND (priority = '.EVENT_CRIT_NORMAL.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
}
}
}

View File

@ -22,7 +22,7 @@ use DI\ContainerBuilder;
/*
* Pandora build version and version
*/
$build_version = 'PC240503';
$build_version = 'PC240509';
$pandora_version = 'v7.0NG.776';
// Do not overwrite default timezone set if defined.

View File

@ -258,6 +258,7 @@ define('VISUAL_MAP_STATUS_NORMAL', 0);
define('VISUAL_MAP_STATUS_WARNING', 2);
define('VISUAL_MAP_STATUS_UNKNOWN', 3);
define('VISUAL_MAP_STATUS_WARNING_ALERT', 10);
define('VISUAL_MAP_STATUS_LOOPING', 33);
// Wizard.
define('VISUAL_MAP_WIZARD_PARENTS_NONE', 0);
define('VISUAL_MAP_WIZARD_PARENTS_ITEM_MAP', 1);

View File

@ -741,8 +741,10 @@ function config_update_config()
$error_update[] = __('Admin secondary LDAP login');
}
if (config_update_value('ldap_admin_pass_secondary', get_parameter('ldap_admin_pass_secondary'), true, true) === false) {
$error_update[] = __('Admin secondary LDAP password');
if ((bool) get_parameter('ldap_admin_pass_secondary_password_changed', false) === true) {
if (config_update_value('ldap_admin_pass_secondary', get_parameter('ldap_admin_pass_secondary'), true, true) === false) {
$error_update[] = __('Admin LDAP password secondary');
}
}
if (config_update_value('fallback_local_auth', get_parameter('fallback_local_auth'), true) === false) {

View File

@ -120,6 +120,19 @@ function upload_file($upload_file_or_zip, $default_real_directory, $destination_
$upload_zip = (bool) get_parameter('upload_zip');
}
// Validate file size vs collection_max_size token.
if ($_FILES['file']['size'] > (int) $config['collection_max_size']) {
$upload_file = false;
$config['filemanager']['message'] = ui_print_error_message(
__(
'File of collection is bigger than the limit (%s bytes)',
$config['collection_max_size'],
'',
true
)
);
}
// Upload file.
if ($upload_file === true) {
if (isset($_FILES['file']) === true && empty($_FILES['file']['name']) === false) {

View File

@ -134,11 +134,14 @@ function forecast_projection_graph(
// 3.1 Standard deviation for X: sqrt((Sum(Xi²)/Obs) - (avg X)²)
// 3.2 Standard deviation for Y: sqrt((Sum(Yi²)/Obs) - (avg Y)²)
// Linear correlation coefficient:
// Agent interval could be zero, 300 is the predefined
// Agent interval could be zero, 300 is the predefined.
if ($sum_obs == 0) {
$agent_interval = SECONDS_5MINUTES;
} else {
$agent_interval = ($sum_diff_dates / $sum_obs);
if ($agent_interval < 60) {
$agent_interval = SECONDS_1MINUTE;
}
}
// Could be a inverse correlation coefficient
@ -170,7 +173,7 @@ function forecast_projection_graph(
$a = 0;
}
// Data inicialization
// Data inicialization.
$output_data = [];
if ($prediction_period != false) {
$limit_timestamp = ($last_timestamp + $prediction_period);
@ -199,50 +202,54 @@ function forecast_projection_graph(
$time_format = 'M d';
}
// Aplying linear regression to module data in order to do the prediction
$idx = 0;
// Create data in graph format like
while ($in_range) {
$now = time();
try {
// Aplying linear regression to module data in order to do the prediction.
$idx = 0;
// Create data in graph format like.
while ($in_range) {
$now = time();
// Check that exec time is not greater than half max exec server time
if ($max_exec_time != false) {
if (($begin_time + ($max_exec_time / 2)) < $now) {
return false;
}
}
$timestamp_f = ($current_ts * 1000);
if ($csv) {
$output_data[$idx]['date'] = $current_ts;
$output_data[$idx]['data'] = ($a + ($b * $current_ts));
} else {
$output_data[$idx][0] = $timestamp_f;
$output_data[$idx][1] = ($a + ($b * $current_ts));
}
// Using this function for prediction_date
if ($prediction_period == false) {
// These statements stop the prediction when interval is greater than 2 years
if (($current_ts - $last_timestamp) >= 94608000
|| $max_value == $min_value
) {
return false;
// Check that exec time is not greater than half max exec server time.
if ($max_exec_time != false) {
if (($begin_time + ($max_exec_time / 2)) < $now) {
return false;
}
}
// Found it
if (($max_value >= $output_data[$idx][1])
&& ($min_value <= $output_data[$idx][0])
) {
return ($current_ts + ($sum_diff_dates * $agent_interval));
}
} else if ($current_ts > $limit_timestamp) {
$in_range = false;
}
$timestamp_f = ($current_ts * 1000);
$current_ts = ($current_ts + $agent_interval);
$idx++;
if ($csv) {
$output_data[$idx]['date'] = $current_ts;
$output_data[$idx]['data'] = ($a + ($b * $current_ts));
} else {
$output_data[$idx][0] = $timestamp_f;
$output_data[$idx][1] = ($a + ($b * $current_ts));
}
// Using this function for prediction_date.
if ($prediction_period == false) {
// These statements stop the prediction when interval is greater than 2 years.
if (($current_ts - $last_timestamp) >= 94608000
|| $max_value == $min_value
) {
return false;
}
// Found it.
if (($max_value >= $output_data[$idx][1])
&& ($min_value <= $output_data[$idx][0])
) {
return ($current_ts + ($sum_diff_dates * $agent_interval));
}
} else if ($current_ts > $limit_timestamp) {
$in_range = false;
}
$current_ts = ($current_ts + $agent_interval);
$idx++;
}
} catch (\Exception $e) {
return false;
}
return $output_data;

View File

@ -3509,7 +3509,7 @@ function graph_custom_sql_graph(
}
if ((int) $ttl === 2) {
$options['dataLabel'] = ['display' => 'auto'];
$options['dataLabel'] = ['display' => true];
if ($layout !== false && is_array($layout) === true) {
$options['layout'] = $layout;

View File

@ -2662,7 +2662,20 @@ function tactical_groups_get_agents_and_monitoring($id_groups, $data='')
$tdata[1] = '<a class="big_data" href="'.$urls['total_agents'].'">'.$tdata[1].'</a>';
if ($data['total_agents'] > 500 && !enterprise_installed()) {
$tdata[2] = "<div id='agentsmodal' class='publienterprise' title='".__('Enterprise version not installed')."'><img data-title='Enterprise version' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>";
$tdata[2] = "<div id='agentsmodal' class='publienterprise' title='Community version' >";
$tdata[2] .= html_print_image(
'images/alert_enterprise.png',
true,
[
'title' => __('Enterprise version not installed'),
'class' => 'img_help'
],
false,
false,
false,
true
);
$tdata[2] .= '</div>';
}
$tdata[3] = html_print_image('images/module.png', true, ['title' => __('Monitor checks'), 'class' => 'invert_filter'], false, false, false, true);
@ -2676,7 +2689,20 @@ function tactical_groups_get_agents_and_monitoring($id_groups, $data='')
*/
if ($data['total_agents']) {
if (($data['monitor_total'] / $data['total_agents'] > 100) && !enterprise_installed()) {
$tdata[5] = "<div id='monitorcheckmodal' class='publienterprise' title='Community version' ><img data-title='".__('Enterprise version not installed')."' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>";
$tdata[5] = "<div id='monitorcheckmodal' class='publienterprise' title='Community version' >";
$tdata[5] .= html_print_image(
'images/alert_enterprise.png',
true,
[
'title' => __('Enterprise version not installed'),
'class' => 'img_help'
],
false,
false,
false,
true
);
$tdata[5] .= '</div>';
}
}
@ -2728,7 +2754,20 @@ function tactical_groups_get_stats_alerts($id_groups, $data='')
*/
if ($data['monitor_alerts'] > $data['total_agents'] && !enterprise_installed()) {
$tdata[2] = "<div id='alertagentmodal' class='publienterprise' title='Community version' ><img data-title='".__('Enterprise version not installed')."' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>";
$tdata[2] = "<div id='alertagentmodal' class='publienterprise' title='Community version' >";
$tdata[2] .= html_print_image(
'images/alert_enterprise.png',
true,
[
'title' => __('Enterprise version not installed'),
'class' => 'img_help'
],
false,
false,
false,
true
);
$tdata[2] .= '</div>';
}
$tdata[3] = html_print_image(

View File

@ -2235,7 +2235,7 @@ function html_print_select_from_sql(
foreach ($result as $row) {
$id = array_shift($row);
$value = array_shift($row);
$fields[$id] = $value;
$fields[$id] = io_safe_output($value);
}
return html_print_select(
@ -7942,6 +7942,7 @@ function html_print_select_date_range(
$date_format_js='yy/mm/dd',
$time_format_js='HH:mm:ss',
$id='',
$units_selected='1',
) {
global $config;
@ -8136,7 +8137,7 @@ function html_print_select_date_range(
$output .= html_print_select(
$units,
$name.'_units',
'1',
$units_selected,
'',
'',
0,

View File

@ -6128,7 +6128,7 @@ function reporting_alert_get_fired($id_agent_module, $id_alert_template_module,
$datelimit = ($datetime - $period);
$empty = '----------------------------';
$empty = '';
if (empty($firedTimes)) {
$firedTimes = [];
$firedTimes[0]['timestamp'] = $empty;
@ -6429,7 +6429,7 @@ function reporting_alert_report_agent($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6441,7 +6441,7 @@ function reporting_alert_report_agent($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6453,7 +6453,7 @@ function reporting_alert_report_agent($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6604,7 +6604,7 @@ function reporting_alert_report_module($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6616,7 +6616,7 @@ function reporting_alert_report_module($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6628,7 +6628,7 @@ function reporting_alert_report_module($report, $content)
$data_action[$naction]['name'] = $action['name'];
$fired = $action['fired'];
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
$data_action[$naction]['fired'] = '----------------------------';
$data_action[$naction]['fired'] = '';
} else {
$data_action[$naction]['fired'] = $fired;
}
@ -6692,6 +6692,7 @@ function reporting_sql_graph(
switch ($type_sql_graph) {
case 'sql_graph_hbar':
default:
$layout = ['padding' => ['right' => '40']];
$return['type'] = 'sql_graph_hbar';
break;

View File

@ -1712,7 +1712,7 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
$table1->head[3] = __('Name');
$table1->head[4] = __('Agent');
$table1->head[5] = __('Severity');
$table1->head[6] = __('Val. by');
$table1->head[6] = __('Validated by');
$table1->head[7] = __('Timestamp');
} else {
$table1->head[0] = __('Status');
@ -1720,7 +1720,7 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
$table1->head[2] = __('Name');
$table1->head[3] = __('Agent');
$table1->head[4] = __('Severity');
$table1->head[5] = __('Val. by');
$table1->head[5] = __('Validated by');
$table1->head[6] = __('Timestamp');
}
@ -1801,7 +1801,11 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
'id_user',
$event['id_usuario']
);
$data[] = io_safe_output($user_name);
if (isset($event['id_usuario']) === true && empty($event['id_usuario']) === false) {
$data[] = io_safe_output($user_name).' ('.$event['id_usuario'].')';
} else {
$data[] = '';
}
}
if ($item['show_summary_group']) {
@ -3845,7 +3849,7 @@ function reporting_html_event_report_agent($table, $item, $pdf=0)
$table1->head[2] = __('Name');
$table1->head[4] = __('Severity');
$table1->head[5] = __('Val. by');
$table1->head[5] = __('Validated by');
$table1->head[6] = __('Timestamp');
if ((bool) $item['show_custom_data'] === true) {
$table1->head[7] = __('Custom data');
@ -3904,7 +3908,11 @@ function reporting_html_event_report_agent($table, $item, $pdf=0)
$data[] = '<i>'.__('System').'</i>';
} else {
$user_name = db_get_value('fullname', 'tusuario', 'id_user', $event['validated_by']);
$data[] = io_safe_output($user_name);
if (isset($event['id_usuario']) === true && empty($event['id_usuario']) === false) {
$data[] = io_safe_output($user_name).' ('.$event['id_usuario'].')';
} else {
$data[] = '';
}
}
if ($item['show_summary_group']) {

View File

@ -3221,6 +3221,10 @@ function visual_map_get_image_status_element($layoutData, $status=false)
$img .= '_warning.png';
break;
case 33:
$img = 'images/broken_loop.svg';
break;
case 3:
// Unknown.
default:
@ -3886,10 +3890,28 @@ function visual_map_translate_module_status($module_status)
*
* @return integer The status of the given layout.
*/
function visual_map_get_layout_status($layout_id, $status_data=[], $depth=0)
{
function visual_map_get_layout_status(
$layout_id,
$status_data=[],
$depth=0,
$exclude_recursive=[],
&$num_elements_by_status=[
VISUAL_MAP_STATUS_CRITICAL_BAD => 0,
VISUAL_MAP_STATUS_CRITICAL_ALERT => 0,
VISUAL_MAP_STATUS_NORMAL => 0,
VISUAL_MAP_STATUS_WARNING => 0,
VISUAL_MAP_STATUS_UNKNOWN => 0,
VISUAL_MAP_STATUS_WARNING_ALERT => 0,
VISUAL_MAP_STATUS_LOOPING => 0,
]
) {
global $config;
if (in_array($layout_id, $exclude_recursive) === true) {
return VISUAL_MAP_STATUS_LOOPING;
}
$exclude_recursive[] = $layout_id;
// TODO: Implement this limit into the setup.
if ($depth > 10) {
return VISUAL_MAP_STATUS_UNKNOWN;
@ -3951,15 +3973,6 @@ function visual_map_get_layout_status($layout_id, $status_data=[], $depth=0)
sort_by_column($valid_layout_items, 'id_metaconsole');
}
$num_elements_by_status = [
VISUAL_MAP_STATUS_CRITICAL_BAD => 0,
VISUAL_MAP_STATUS_CRITICAL_ALERT => 0,
VISUAL_MAP_STATUS_NORMAL => 0,
VISUAL_MAP_STATUS_WARNING => 0,
VISUAL_MAP_STATUS_UNKNOWN => 0,
VISUAL_MAP_STATUS_WARNING_ALERT => 0,
];
$meta_connected_to = null;
foreach ($valid_layout_items as $layout_item_data) {
@ -4018,7 +4031,9 @@ function visual_map_get_layout_status($layout_id, $status_data=[], $depth=0)
$status = visual_map_get_layout_status(
$layout_item_data['id_layout_linked'],
$layout_item_data,
($depth + 1)
($depth + 1),
$exclude_recursive,
$num_elements_by_status
);
} else if (!empty($layout_item_data['id_agente_modulo'])) {
// Module.
@ -4085,6 +4100,10 @@ function visual_map_get_layout_status($layout_id, $status_data=[], $depth=0)
if (isset($status_data['linked_layout_status_type']) === true) {
// Status calculation.
if (isset($num_elements_by_status[VISUAL_MAP_STATUS_LOOPING]) === true && empty($num_elements_by_status[VISUAL_MAP_STATUS_LOOPING]) === false) {
return VISUAL_MAP_STATUS_LOOPING;
}
switch ($status_data['linked_layout_status_type']) {
default:
case 'default':

View File

@ -1722,3 +1722,16 @@ function show_projection_period() {
$("#div_projection_period").hide();
}
}
// Paused and resume if edit mode is checked.
// eslint-disable-next-line no-unused-vars
function paused_resume_dashboard_countdown() {
$("#checkbox-edit-mode").on("click", function() {
let isChecked = $("#checkbox-edit-mode").is(":checked");
if (isChecked) {
$("#refrcounter").countdown("pause");
} else {
$("#refrcounter").countdown("resume");
}
});
}

View File

@ -389,29 +389,6 @@ class Netflow extends Widget
{
return '
$(document).ready(function(){
//Limit 1 week
$("#period_select option").each(function(key, element){
if(element.value > 604800){
$(element).remove();
}
})
$("#period_manual option").each(function(key, element){
if(element.value > 604800){
$(element).remove();
}
});
$("#period_manual input").on("change", function(e){
if($("#hidden-period").val() > 604800) {
$(this).val(1);
$("#hidden-period").val(604800);
$("#period_manual select option").removeAttr("selected");
setTimeout(() => {
$("#period_default select option[value=\'604800\']").attr("selected", "selected");
$("#period_manual select option[value=\'604800\']").attr("selected", "selected");
$("#period_manual select").val(604800);
}, 500);
}
});
if($("#chart_type").val() === "usage_map") {
$("#data_to_show").show();
$("#aggregated").hide();

View File

@ -2654,6 +2654,18 @@ class Item extends CachedModel
*/
public static function checkLayoutAlertsRecursive(array $item, array $visitedLayouts=[])
{
static $cache = [];
if (isset($cache[$item['id_layout_linked']]) === true && empty($item['id_layout_linked']) === false) {
return $cache[$item['id_layout_linked']];
}
if (in_array($item['id_layout'], $visitedLayouts) === true) {
// Item has no linked layout or it has already been visited (avoid infinite loop caused by circular references).
$cache[$item['id_layout']] = false;
return false;
}
if (isset($item['type']) === true) {
$excludedItemTypes = [
22,
@ -2668,6 +2680,7 @@ class Item extends CachedModel
];
if (in_array($item['type'], $excludedItemTypes) === true) {
$cache[$item['id_layout']] = false;
return false;
}
}
@ -2712,15 +2725,11 @@ class Item extends CachedModel
// Item has a triggered alert.
if ($firedAlert !== false) {
$cache[$item['id_layout']] = true;
return true;
}
}
if ($linkedLayoutID === 0 || in_array($linkedLayoutID, $visitedLayouts) === true) {
// Item has no linked layout or it has already been visited (avoid infinite loop caused by circular references).
return false;
}
$filter = ['id_layout' => $linkedLayoutID];
$linkedLayoutItems = \db_get_all_rows_filter(
@ -2737,15 +2746,18 @@ class Item extends CachedModel
if ($linkedLayoutItems === false) {
// There are no items in the linked visual console. Nothing to check.
$cache[$item['id_layout']] = false;
return false;
}
foreach ($linkedLayoutItems as $linkedLayoutItem) {
if (self::checkLayoutAlertsRecursive($linkedLayoutItem, $visitedLayouts)) {
$cache[$item['id_layout']] = true;
return true;
}
}
$cache[$item['id_layout']] = false;
return false;
}

View File

@ -150,7 +150,7 @@ final class StaticGraph extends Item
// Due to this DB call, this function cannot be unit tested without
// a proper mock.
$data = parent::fetchDataFromDB($filter, $ratio, $widthRatio);
$tooltip_infinite_loop = null;
/*
* Retrieve extra data.
*/
@ -189,41 +189,30 @@ final class StaticGraph extends Item
// There's no need to connect to the metaconsole before searching
// for the image status cause the function itself does that for us.
$imagePath = \visual_map_get_image_status_element($data);
if (str_contains($imagePath, '_bad.png') === true) {
// Critical or critical alert (BAD).
$data['colorStatus'] = COL_CRITICAL;
} else if (str_contains($imagePath, '_ok.png') === true) {
// Normal (OK).
$data['colorStatus'] = COL_NORMAL;
} else if (str_contains($imagePath, '_warning.png') === true) {
// Warning or warning alert.
$data['colorStatus'] = COL_WARNING;
} else if (str_contains($imagePath, 'broken_loop.svg') === true) {
// Default is Grey (Other).
$data['colorStatus'] = COL_UNKNOWN;
$tooltip_infinite_loop = __('Infinite link loop found. Can not determine status.');
} else {
// Default is Grey (Other).
$data['colorStatus'] = COL_UNKNOWN;
}
$data['statusImageSrc'] = \ui_get_full_url(
$imagePath,
false,
false,
false
);
$status = \visual_map_get_status_element($data);
// Magic numbers from the hell.
switch ($status) {
case 1:
case 4:
// Critical or critical alert (BAD).
$data['colorStatus'] = COL_CRITICAL;
break;
case 0:
// Normal (OK).
$data['colorStatus'] = COL_NORMAL;
break;
case 2:
case 10:
// Warning or warning alert.
$data['colorStatus'] = COL_WARNING;
break;
case 3:
// Unknown.
default:
// Default is Grey (Other).
$data['colorStatus'] = COL_UNKNOWN;
break;
}
} else {
$data['colorStatus'] = COL_UNKNOWN;
$imagePath = 'images/console/icons/'.$data['image'].'.png';
@ -295,6 +284,11 @@ final class StaticGraph extends Item
}
}
if (empty($tooltip_infinite_loop) === false) {
$data['lastValue'] = $tooltip_infinite_loop;
$data['showLastValueTooltip'] = 'enabled';
}
return $data;
}

View File

@ -14316,6 +14316,10 @@ div.fixed-bottom-box.tree-view-bottom-modal {
background-image: none !important;
}
.discovery-list-extensions tbody tr td {
height: 30px;
}
.legend_servicemap_title {
cursor: pointer;
}

View File

@ -131,7 +131,7 @@
<div style='padding-bottom: 50px'>
<?php
$version = '7.0NG.776';
$build = '240503';
$build = '240509';
$banner = "v$version Build $build";
error_reporting(0);

View File

@ -1389,7 +1389,15 @@ if ($autosearch) {
if ($result === false) {
$result = [];
} else {
$tablePagination = ui_pagination($count, false, $offset, 0, true, 'offset', false);
$tablePagination = ui_pagination(
$count,
'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params,
$offset,
0,
true,
'offset',
false
);
}
} else {
// For each server defined and not disabled.
@ -1460,7 +1468,15 @@ if ($autosearch) {
$show_count = true;
}
$tablePagination = ui_pagination($count_modules, false, $offset, 0, true, 'offset', $show_count);
$tablePagination = ui_pagination(
$count_modules,
'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params,
$offset,
0,
true,
'offset',
$show_count
);
}
// Get number of elements of the pagination.
@ -2337,7 +2353,15 @@ if (empty($result) === false) {
$show_count = true;
}
$tablePagination = ui_pagination($count_modules, false, $offset, 0, true, 'offset', $show_count);
$tablePagination = ui_pagination(
$count_modules,
'index.php?sec='.$section.'&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params,
$offset,
0,
true,
'offset',
$show_count
);
}
} else {
if (get_parameter('ag_group', false) !== false) {

View File

@ -46,6 +46,7 @@ $date_init_less = (strtotime(date('Y/m/d')) - SECONDS_1DAY);
$date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less));
$time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less));
$datetime_init = strtotime($date_init.' '.$time_init);
$date_units = get_parameter('utimestamp_units');
if ($custom_date === '1') {
if ($datetime_init >= $datetime_end) {
$datetime_init = $date_init_less;
@ -55,7 +56,6 @@ if ($custom_date === '1') {
$date_end = date('Y/m/d H:i:s', $datetime_end);
$period = ($datetime_end - $datetime_init);
} else if ($custom_date === '2') {
$date_units = get_parameter('utimestamp_units');
$date_end = date('Y/m/d H:i:s');
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - ((int) $date_text * (int) $date_units)));
$period = (strtotime($date_end) - strtotime($date_init));
@ -768,7 +768,14 @@ if (is_metaconsole() === false) {
date('H:i:s', $date_init),
date('Y/m/d', $utimestamp),
date('H:i:s', $utimestamp),
$date_text
$date_text,
'w100p',
'Y/m/d',
'H:i:s',
'yy/mm/dd',
'HH:mm:ss',
'',
$date_units
)
);
}

View File

@ -55,11 +55,12 @@ if (is_ajax()) {
$search = io_safe_input($search_left);
// Agents.
// Concatenate AW and AD permisions to get all the possible groups where the user can manage.
// Concatenate AR, AW and AD permisions to get all the possible groups where the user can manage.
$user_groupsAW = users_get_groups($config['id_user'], 'AW');
$user_groupsAD = users_get_groups($config['id_user'], 'AD');
$user_groupsAR = users_get_groups($config['id_user'], 'AR');
$user_groups = ($user_groupsAW + $user_groupsAD);
$user_groups = ($user_groupsAW + $user_groupsAD + $user_groupsAR);
$user_groups_to_sql = implode(',', array_keys($user_groups));
$search_sql = ' AND (nombre LIKE "%%'.$search.'%%" OR alias LIKE "%%'.$search.'%%")';
@ -197,6 +198,9 @@ if (is_ajax()) {
'graph_analytics' => true,
];
// Included dependencies when is an ajax request.
include_javascript_dependencies_flot_graph(false);
$graph_return = graphic_combined_module(
$modules,
$params,

View File

@ -36,6 +36,7 @@ $ajaxPage = $config['homedir'].'/operation/snmpconsole/snmp_view';
$filter_alert = get_parameter('filter_alert', -1);
$filter_severity = get_parameter('filter_severity', -1);
$filter_free_search = get_parameter('filter_free_search', '');
$filter_alias_search = get_parameter('filter_alias_search', '');
$filter_status = get_parameter('filter_status', 0);
$filter_group_by = get_parameter('filter_group_by', 0);
$filter_hours_ago = get_parameter('filter_hours_ago', 8);
@ -54,7 +55,8 @@ try {
$filter_group_by,
$filter_hours_ago,
$filter_trap_type,
$refr
$refr,
$filter_alias_search
);
} catch (Exception $e) {
if ((bool) is_ajax() === true) {

View File

@ -6,7 +6,7 @@
%define debug_package %{nil}
%define name pandorafms_console
%define version 7.0NG.776
%define release 240503
%define release 240509
# User and Group under which Apache is running
%define httpd_name httpd

View File

@ -6,7 +6,7 @@
%define debug_package %{nil}
%define name pandorafms_console
%define version 7.0NG.776
%define release 240503
%define release 240509
# User and Group under which Apache is running
%define httpd_name httpd

View File

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

View File

@ -3777,6 +3777,7 @@ CREATE TABLE IF NOT EXISTS `tlayout_template` (
`maintenance_mode` TEXT,
`grid_color` VARCHAR(45) NOT NULL DEFAULT '#cccccc',
`grid_size` VARCHAR(45) NOT NULL DEFAULT '10',
`create_from` INT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;

View File

@ -176,7 +176,7 @@ INSERT INTO `tconfig_os` (`id_os`, `name`, `description`, `icon_name`, `previous
(9,'Windows','Microsoft Windows OS','windows@os.svg', ''),
(10,'Other','Other SO','other-OS@os.svg', ''),
(11,'Network','Network Agent','network-server@os.svg', ''),
(12,'Web Server','Web Server/Application','network-server@os.svg', ''),
(12,'Web&#x20;Server','Web Server/Application','network-server@os.svg', ''),
(13,'Sensor','Hardware Agent (Sensor)','network-server@os.svg', ''),
(14,'Embedded','Embedded device running an agent','embedded@os.svg', ''),
(15,'Android','Android agent','android@os.svg', ''),
@ -1217,7 +1217,7 @@ INSERT INTO `tagent_custom_fields` VALUES (1,'Serial&#x20;Number',0,0,'',0),(2,'
INSERT INTO `ttag` VALUES (1,'network','Network&#x20;equipment','http://pandorafms.com','','',''),(2,'critical','Critical&#x20;modules','','','',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone','','','',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules','','','',''),(5,'configuration','','','','','');
INSERT INTO `tevent_response` VALUES (1,'Ping&#x20;to&#x20;host','Ping&#x20;to&#x20;the&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_agent_address_','command',0,620,500,0,'',0,90,0),(3,'Create&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;the&#x20;standard&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS','index.php?sec=workspace&amp;sec2=operation/incidents/incident_detail&amp;insert_form&amp;from_event=_event_id_','url',0,0,0,1,'',0,90,0),(5,'Restart&#x20;agent','Restart&#x20;the&#x20;agent&#x20;with&#x20;using&#x20;UDP&#x20;protocol.&#x0d;&#x0a;&#x0d;&#x0a;To&#x20;use&#x20;this&#x20;response&#x20;is&#x20;necessary&#x20;to&#x20;have&#x20;installed&#x20;Pandora&#x20;FMS&#x20;server&#x20;and&#x20;console&#x20;in&#x20;the&#x20;same&#x20;machine.','/usr/share/pandora_server/util/udp_client.pl&#x20;_agent_address_&#x20;41122&#x20;&quot;REFRESH&#x20;AGENT&quot;','command',0,620,500,0,'',0,90,0),(6,'Ping&#x20;to&#x20;module&#x20;agent&#x20;host','Ping&#x20;to&#x20;the&#x20;module&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_module_address_','command',0,620,500,0,'',0,90,0),(7,'Create&#x20;ticket&#x20;in&#x20;Pandora&#x20;ITSM&#x20;from&#x20;event','Create&#x20;a&#x20;ticket&#x20;in&#x20;Pandora&#x20;ITSM&#x20;from&#x20;an&#x20;event','index.php?sec=manageTickets&amp;sec2=operation/ITSM/itsm&amp;operation=edit&amp;from_event=_event_id_','url',0,0,0,1,'',0,90,1);
INSERT INTO `tevent_response` VALUES (1,'Ping&#x20;to&#x20;host','Ping&#x20;to&#x20;the&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_agent_address_','command',0,620,500,0,'',0,90,0),(5,'Restart&#x20;agent','Restart&#x20;the&#x20;agent&#x20;with&#x20;using&#x20;UDP&#x20;protocol.&#x0d;&#x0a;&#x0d;&#x0a;To&#x20;use&#x20;this&#x20;response&#x20;is&#x20;necessary&#x20;to&#x20;have&#x20;installed&#x20;Pandora&#x20;FMS&#x20;server&#x20;and&#x20;console&#x20;in&#x20;the&#x20;same&#x20;machine.','/usr/share/pandora_server/util/udp_client.pl&#x20;_agent_address_&#x20;41122&#x20;&quot;REFRESH&#x20;AGENT&quot;','command',0,620,500,0,'',0,90,0),(6,'Ping&#x20;to&#x20;module&#x20;agent&#x20;host','Ping&#x20;to&#x20;the&#x20;module&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_module_address_','command',0,620,500,0,'',0,90,0),(7,'Create&#x20;ticket&#x20;in&#x20;Pandora&#x20;ITSM&#x20;from&#x20;event','Create&#x20;a&#x20;ticket&#x20;in&#x20;Pandora&#x20;ITSM&#x20;from&#x20;an&#x20;event','index.php?sec=manageTickets&amp;sec2=operation/ITSM/itsm&amp;operation=edit&amp;from_event=_event_id_','url',0,0,0,1,'',0,90,1);
INSERT INTO `tupdate_settings` VALUES ('current_update', '412'), ('customer_key', 'PANDORA-FREE'), ('updating_binary_path', 'Path where the updated binary files will be stored'), ('updating_code_path', 'Path where the updated code is stored'), ('dbname', ''), ('dbhost', ''), ('dbpass', ''), ('dbuser', ''), ('dbport', ''), ('proxy', ''), ('proxy_port', ''), ('proxy_user', ''), ('proxy_pass', '');

View File

@ -94,5 +94,8 @@ echo $output;
$("#button-add-widget-"+cellId).trigger("click");
}, 500);
}
// Paused and resume if edit mode is checked.
paused_resume_dashboard_countdown();
});
</script>

View File

@ -1,5 +1,5 @@
package: pandorafms-server
Version: 7.0NG.776-240503
Version: 7.0NG.776-240509
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -1757,12 +1757,6 @@ sub check_ssleay_version {
# Main
################################################################################
# Never run as root
if ($> == 0 && $^O ne 'MSWin32') {
print ("Error: for safety reasons $0 cannot be run with root privileges.\n");
exit 1;
}
# Parse command line options
parse_options ();

View File

@ -1757,12 +1757,6 @@ sub check_ssleay_version {
# Main
################################################################################
# Never run as root
if ($> == 0 && $^O ne 'MSWin32') {
print ("Error: for safety reasons $0 cannot be run with root privileges.\n");
exit 1;
}
# Parse command line options
parse_options ();

View File

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

View File

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

View File

@ -7,7 +7,7 @@
%define debug_package %{nil}
%define name pandorafms_server
%define version 7.0NG.776
%define release 240503
%define release 240509
Summary: Pandora FMS Server
Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_server
%define version 7.0NG.776
%define release 240503
%define release 240509
Summary: Pandora FMS Server
Name: %{name}

View File

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

View File

@ -38,7 +38,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
my $version = "7.0NG.776 Build 240503";
my $version = "7.0NG.776 Build 240509";
# Pandora server configuration
my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv;
# version: define current version
my $version = "7.0NG.776 Build 240503";
my $version = "7.0NG.776 Build 240509";
# save program name for logging
my $progname = basename($0);
@ -5772,8 +5772,8 @@ sub cli_get_agents() {
}
if($os_name ne '') {
$id_os = get_os_id($dbh, $os_name);
exist_check($id_os,'operative system',$os_name);
$id_os = get_os_id($dbh, safe_input($os_name));
exist_check($id_os,'operative system', $os_name);
$condition .= " AND id_os = $id_os ";
}

View File

@ -1784,12 +1784,6 @@ sub check_ssleay_version {
# Main
################################################################################
# Never run as root
if ($> == 0 && $^O ne 'MSWin32') {
print ("Error: for safety reasons $0 cannot be run with root privileges.\n");
exit 1;
}
# Parse command line options
parse_options ();