Merge branch 'develop' into ent-11001-15457-tips-solo-en-espanol

This commit is contained in:
Jonathan 2023-05-30 13:19:23 +02:00
commit 01ec39bde0
551 changed files with 42297 additions and 36621 deletions

View File

@ -1,73 +0,0 @@
Name: xprobe2
Version: 0.3
Release: 2
Summary: Tool to detect OS remotely by TCP/IP fingerprinting
License: GPLv2
Group: Network/Security
URL: http://xprobe.sourceforge.net/
Packager: Sancho Lerena <slerena@gmail.com>
Source: http://dl.sf.net/xprobe/xprobe2-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}
Provides: %{name}-%{version}
Requires: libpcap
BuildRequires: gcc-c++ libpcap-devel
#This is for SUSE build service, to avoid enforce FHS paths
#!BuildIgnore: post-build-checks
%description
Xprobe is an alternative to some tools which are heavily dependent upon the
usage of the TCP protocol for remote active operating system fingerprinting.
Xprobe I combines various remote active operating system fingerprinting methods
using the ICMP protocol, which were discovered during the "ICMP Usage in
Scanning" research project, into a simple, fast, efficient and a powerful way
to detect an underlying operating system a targeted host is using.
Xprobe2 is an active operating system fingerprinting tool with a different
approach to operating system fingerprinting. Xprobe2 rely on fuzzy signature
matching, probabilistic guesses, multiple matches simultaneously, and a
signature database.
%prep
%setup
%build
./configure --with-libpcap-libraries=/usr/lib --with-libpcap-includes=/usr/include/pcap --mandir=%{_mandir} --disable-schemas-install
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
%clean
rm -rf $RPM_BUILD_ROOT
%post
ln -s /usr/local/bin/xprobe2 /usr/bin
%preun
%postun
%files
%defattr(755,root,root)
/usr/local/etc
/usr/local/etc/xprobe2
%defattr(644,root,root)
%doc AUTHORS CHANGELOG COPYING CREDITS README TODO docs/*
%doc /usr/share/man/man1/xprobe2.1.gz
/usr/local/etc/xprobe2/xprobe2.conf
%defattr(755,root,root)
/usr/local/bin/xprobe2
%changelog
* Fri Dec 18 2009 Sancho Lerena <slerena@gmail.com> 3.2-2
- A lot of changes to be ready for all RPM plattforms available on build.opensuse.org
* Tue Dec 08 2009 Sancho Lerena <slerena@gmail.com> 3.2-1
- First RPM Spec for SUSE Systems, based on CentOS Spec from Dag Wieers

View File

@ -1,62 +0,0 @@
Get the original xprobe2-0.3 from Sourceforge:
http://downloads.sourceforge.net/project/xprobe/xprobe2/Xprobe2%200.3/xprobe2-0.3.tar.gz
Uncompress it under, for example /tmp/xprobe2-0.3 directory
Copy the diff file at /tmp
Execute the patch command:
patch -p1 < ../xprobe2-0.3.diff.patch
This should look like:
patching file CHANGELOG
patching file config.status
patching file configure
patching file libs-external/USI++/src/config.h
patching file libs-external/USI++/src/config.log
patching file libs-external/USI++/src/config.status
patching file libs-external/USI++/src/ip.cc
patching file libs-external/USI++/src/Makefile
patching file libs-external/USI++/src/misc.cc
patching file libs-external/USI++/src/usi++/arp.h
patching file libs-external/USI++/src/usi++/config.h
patching file libs-external/USI++/src/usi++/datalink.h
patching file libs-external/USI++/src/usi++/icmp.h
patching file libs-external/USI++/src/usi++/if.h
patching file libs-external/USI++/src/usi++/ip.h
patching file libs-external/USI++/src/usi++/Layer2.h
patching file libs-external/USI++/src/usi++/README
patching file libs-external/USI++/src/usi++/RX.h
patching file libs-external/USI++/src/usi++/tcp.h
patching file libs-external/USI++/src/usi++/TX.h
patching file libs-external/USI++/src/usi++/TX_IP.h
patching file libs-external/USI++/src/usi++/udp.h
patching file libs-external/USI++/src/usi++/usi++
patching file libs-external/USI++/src/usi++/usi++.h
patching file libs-external/USI++/src/usi++/usi-structs.h
patching file libs-external/USI++/usi++/config.h
patching file libs-external/USI++/usi++/tcp.h
patching file Makefile
patching file src/config.h
patching file src/defines.h
patching file src/Makefile
patching file src/xplib/Makefile
patching file src/xpmodules/alive_probe/Makefile
patching file src/xpmodules/alive_probe/portscanner/Makefile
patching file src/xpmodules/alive_probe/ttl_calc/Makefile
patching file src/xpmodules/Makefile
patching file src/xpmodules/os_probe/icmp_addrmask/Makefile
patching file src/xpmodules/os_probe/icmp_echo_id/Makefile
patching file src/xpmodules/os_probe/icmp_inforeq/Makefile
patching file src/xpmodules/os_probe/icmp_port_unreach/Makefile
patching file src/xpmodules/os_probe/icmp_timestamp/Makefile
patching file src/xpmodules/os_probe/Makefile
patching file src/xpmodules/os_probe/smb/Makefile
patching file src/xpmodules/os_probe/snmp/Makefile
patching file src/xpmodules/os_probe/tcp_handshake/Makefile
patching file src/xpmodules/os_probe/tcp_rst/Makefile
Your patched code is now ready to be used.

View File

@ -82,6 +82,10 @@ check_root_permissions () {
## Main ## Main
echo "Starting PandoraFMS External DB deployment EL8 ver. $S_VERSION" echo "Starting PandoraFMS External DB deployment EL8 ver. $S_VERSION"
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
# Centos Version # Centos Version
if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then
printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n" printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n"

View File

@ -89,6 +89,9 @@ check_root_permissions () {
## Main ## Main
echo "Starting PandoraFMS External DB deployment Ubuntu 22.04 ver. $S_VERSION" echo "Starting PandoraFMS External DB deployment Ubuntu 22.04 ver. $S_VERSION"
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
# Ubuntu Version # Ubuntu Version
if [ ! "$(grep -Ei 'Ubuntu' /etc/lsb-release)" ]; then if [ ! "$(grep -Ei 'Ubuntu' /etc/lsb-release)" ]; then
printf "\n ${red}Error this is not a Ubuntu system, this installer is compatible with Ubuntu systems only${reset}\n" printf "\n ${red}Error this is not a Ubuntu system, this installer is compatible with Ubuntu systems only${reset}\n"

View File

@ -1,12 +1,19 @@
#!/bin/bash #!/bin/bash
#export PANDORA_SERVER_IP='newdemos.artica.es' && curl -sSL http://firefly.artica.es/projects/pandora_deploy_agent.sh | bash #export PANDORA_SERVER_IP='newdemos.artica.es' && curl -sSL http://firefly.pandorafms.com/projects/pandora_deploy_agent.sh | bash
# define variables # define variables
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='2022052301' S_VERSION='2023050901'
LOGFILE="/tmp/pandora-agent-deploy-$(date +%F).log" LOGFILE="/tmp/pandora-agent-deploy-$(date +%F).log"
#Check if possible to get os version
if [ ! -e /etc/os-release ]; then
echo ' > Imposible to determinate the OS version for this machine, please make sure you are intalling in a compatible OS'
echo ' > More info: https://pandorafms.com/manual/en/documentation/02_installation/01_installing#minimum_software_requirements'
exit -1
fi
# Ansi color code variables # Ansi color code variables
red="\e[0;91m" red="\e[0;91m"
green="\e[0;92m" green="\e[0;92m"
@ -49,7 +56,7 @@ check_cmd_status () {
} }
check_repo_connection () { check_repo_connection () {
execute_cmd "ping -c 2 firefly.artica.es" "Checking Community repo" execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo"
} }
check_root_permissions () { check_root_permissions () {
@ -73,7 +80,7 @@ cd unix && ./pandora_agent_installer --install
install_autodiscover () { install_autodiscover () {
local arch=$1 local arch=$1
wget http://firefly.artica.es/projects/autodiscover-linux.zip wget http://firefly.pandorafms.com/projects/autodiscover-linux.zip
unzip autodiscover-linux.zip unzip autodiscover-linux.zip
chmod +x $arch/autodiscover chmod +x $arch/autodiscover
mv -f $arch/autodiscover /etc/pandora/plugins/autodiscover mv -f $arch/autodiscover /etc/pandora/plugins/autodiscover
@ -84,6 +91,9 @@ echo "Starting PandoraFMS Agent deployment ver. $S_VERSION"
execute_cmd "[ $PANDORA_SERVER_IP ]" 'Check Server IP Address' 'Please define env variable PANDORA_SERVER_IP' execute_cmd "[ $PANDORA_SERVER_IP ]" 'Check Server IP Address' 'Please define env variable PANDORA_SERVER_IP'
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error sed is not detected on the system, sed tool is needed for installation.'; exit -1 ;fi
#Detect OS #Detect OS
os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"') os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"')
execute_cmd "echo $os_name" "OS detected: ${os_name}" execute_cmd "echo $os_name" "OS detected: ${os_name}"
@ -148,7 +158,7 @@ if [[ $OS_RELEASE =~ 'rhel' ]] || [[ $OS_RELEASE =~ 'fedora' ]]; then
echo -e "${cyan}Installing agent dependencies...${reset}" ${green}OK${reset} echo -e "${cyan}Installing agent dependencies...${reset}" ${green}OK${reset}
# Insatall pandora agent # Insatall pandora agent
$package_manager_cmd install -y http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm &>> $LOGFILE $package_manager_cmd install -y http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm &>> $LOGFILE
echo -en "${cyan}Installing Pandora FMS agent...${reset}" echo -en "${cyan}Installing Pandora FMS agent...${reset}"
check_cmd_status 'Error installing Pandora FMS agent' check_cmd_status 'Error installing Pandora FMS agent'
[[ $PANDORA_AGENT_SSL ]] && execute_cmd "$package_manager_cmd install -y perl-IO-Socket-SSL" "Installing SSL libraries for encrypted connection" [[ $PANDORA_AGENT_SSL ]] && execute_cmd "$package_manager_cmd install -y perl-IO-Socket-SSL" "Installing SSL libraries for encrypted connection"
@ -158,7 +168,7 @@ fi
if [[ $OS_RELEASE == 'debian' ]]; then if [[ $OS_RELEASE == 'debian' ]]; then
execute_cmd "apt update" 'Updating repos' execute_cmd "apt update" 'Updating repos'
execute_cmd "apt install -y perl wget curl unzip procps python3 python3-pip" 'Installing agent dependencies' execute_cmd "apt install -y perl wget curl unzip procps python3 python3-pip" 'Installing agent dependencies'
execute_cmd 'wget http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz' 'Downloading Pandora FMS agent package' execute_cmd 'wget http://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz' 'Downloading Pandora FMS agent package'
execute_cmd 'install_tarball pandorafms_agent_linux-7.0NG.tar.gz' 'Installing Pandora FMS agent' execute_cmd 'install_tarball pandorafms_agent_linux-7.0NG.tar.gz' 'Installing Pandora FMS agent'
[[ $PANDORA_AGENT_SSL ]] && execute_cmd 'apt install -y libio-socket-ssl-perl' "Installing SSL libraries for encrypted connection" [[ $PANDORA_AGENT_SSL ]] && execute_cmd 'apt install -y libio-socket-ssl-perl' "Installing SSL libraries for encrypted connection"
cd $HOME/pandora_deploy_tmp cd $HOME/pandora_deploy_tmp
@ -204,4 +214,4 @@ execute_cmd '/etc/init.d/pandora_agent_daemon restart' 'Starting Pandora Agent'
cd cd
execute_cmd 'rm -rf $HOME/pandora_deploy_tmp' 'Cleaning up temporay files' execute_cmd 'rm -rf $HOME/pandora_deploy_tmp' 'Cleaning up temporay files'
echo -e "${green}PandoraFMS Agent installed and running, sending data to: $PANDORA_SERVER_IP${reset}" echo -e "${green}PandoraFMS Agent installed and running, sending data to: $PANDORA_SERVER_IP${reset}"

View File

@ -11,7 +11,7 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='202304111' S_VERSION='2023050901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables # define default variables
@ -31,6 +31,13 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
[ "$PANDORA_BETA" ] || PANDORA_BETA=0 [ "$PANDORA_BETA" ] || PANDORA_BETA=0
[ "$PANDORA_LTS" ] || PANDORA_LTS=1 [ "$PANDORA_LTS" ] || PANDORA_LTS=1
#Check if possible to get os version
if [ ! -e /etc/os-release ]; then
echo ' > Imposible to determinate the OS version for this machine, please make sure you are intalling in a compatible OS'
echo ' > More info: https://pandorafms.com/manual/en/documentation/02_installation/01_installing#minimum_software_requirements'
exit -1
fi
# Ansi color code variables # Ansi color code variables
red="\e[0;91m" red="\e[0;91m"
green="\e[0;92m" green="\e[0;92m"
@ -85,7 +92,7 @@ check_pre_pandora () {
} }
check_repo_connection () { check_repo_connection () {
execute_cmd "ping -c 2 firefly.artica.es" "Checking Community repo" execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo"
execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo"
} }
@ -105,6 +112,12 @@ check_root_permissions () {
## Main ## Main
echo "Starting PandoraFMS Community deployment ver. $S_VERSION" echo "Starting PandoraFMS Community deployment ver. $S_VERSION"
#check tools
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error sed is not detected on the system, sed tool is needed for installation.'; exit -1 ;fi
if ! curl --version &>> $LOGFILE ; then echo 'Error curl is not detected on the system, curl tool is needed for installation.'; exit -1 ;fi
if ! ping -V &>> $LOGFILE ; then echo 'Error ping is not detected on the system, ping tool is needed for installation.'; exit -1 ;fi
# Centos Version # Centos Version
if [ ! "$(grep -i centos /etc/redhat-release)" ]; then if [ ! "$(grep -i centos /etc/redhat-release)" ]; then
printf "${red}Error this is not a Centos Base system, this installer is compatible with Centos systems only${reset}\n" printf "${red}Error this is not a Centos Base system, this installer is compatible with Centos systems only${reset}\n"
@ -118,7 +131,7 @@ os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"')
execute_cmd "echo $os_name" "OS detected: ${os_name}" execute_cmd "echo $os_name" "OS detected: ${os_name}"
echo -en "${cyan}Check Centos Version...${reset}" echo -en "${cyan}Check Centos Version...${reset}"
[ $(sed -nr 's/VERSION_ID+=\s*"([0-9])"$/\1/p' /etc/os-release) -eq '7' ] [[ $(sed -nr 's/VERSION_ID+=\s*"([0-9])"$/\1/p' /etc/os-release) -eq '7' ]]
check_cmd_status 'Error OS version, Centos 7 is expected' check_cmd_status 'Error OS version, Centos 7 is expected'
# initialice logfile # initialice logfile
@ -273,7 +286,7 @@ console_dependencies=" \
libzstd \ libzstd \
openldap-clients \ openldap-clients \
chromium \ chromium \
http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm" http://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm"
execute_cmd "yum install -y $console_dependencies" "Installing Pandora FMS Console dependencies" execute_cmd "yum install -y $console_dependencies" "Installing Pandora FMS Console dependencies"
# Server dependencies # Server dependencies
@ -300,9 +313,9 @@ server_dependencies=" \
bind-utils \ bind-utils \
whois \ whois \
cpanminus \ cpanminus \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \ http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \ http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm \
https://firefly.artica.es/centos7/pandorawmic-1.0.0-1.x86_64.rpm" https://firefly.pandorafms.com/centos7/pandorawmic-1.0.0-1.x86_64.rpm"
execute_cmd "yum install -y $server_dependencies" "Installing Pandora FMS Server dependencies" execute_cmd "yum install -y $server_dependencies" "Installing Pandora FMS Server dependencies"
# install cpan dependencies # install cpan dependencies
@ -311,13 +324,13 @@ execute_cmd "cpanm -i Thread::Semaphore" "Installing Thread::Semaphore"
# SDK VMware perl dependencies # SDK VMware perl dependencies
vmware_dependencies=" \ vmware_dependencies=" \
http://firefly.artica.es/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm \ http://firefly.pandorafms.com/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm \
perl-JSON \ perl-JSON \
perl-Archive-Zip \ perl-Archive-Zip \
openssl-devel \ openssl-devel \
perl-Crypt-CBC \ perl-Crypt-CBC \
perl-Digest-SHA \ perl-Digest-SHA \
http://firefly.artica.es/centos7/perl-Crypt-OpenSSL-AES-0.02-1.el7.x86_64.rpm" http://firefly.pandorafms.com/centos7/perl-Crypt-OpenSSL-AES-0.02-1.el7.x86_64.rpm"
execute_cmd "yum install -y $vmware_dependencies" "Installing SDK VMware perl dependencies" execute_cmd "yum install -y $vmware_dependencies" "Installing SDK VMware perl dependencies"
# Instant client Oracle # Instant client Oracle
@ -328,7 +341,7 @@ execute_cmd "yum install -y $oracle_dependencies || yum reinstall -y $oracle_dep
#ipam dependencies #ipam dependencies
ipam_dependencies=" \ ipam_dependencies=" \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \ http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
perl(NetAddr::IP) \ perl(NetAddr::IP) \
perl(Sys::Syslog) \ perl(Sys::Syslog) \
perl(DBI) \ perl(DBI) \
@ -451,20 +464,20 @@ export MYSQL_PWD=$DBPASS
#Define packages #Define packages
#Define packages #Define packages
if [ "$PANDORA_LTS" -eq '1' ] ; then if [ "$PANDORA_LTS" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm"
elif [ "$PANDORA_LTS" -ne '1' ] ; then elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi fi
# if beta is enable # if beta is enable
if [ "$PANDORA_BETA" -eq '1' ] ; then if [ "$PANDORA_BETA" -eq '1' ] ; then
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm" PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm" PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi fi
# Downloading Pandora Packages # Downloading Pandora Packages
@ -617,7 +630,16 @@ net.core.optmem_max = 81920
EO_KO EO_KO
[ -d /dev/lxd/ ] || execute_cmd "sysctl --system" "Applying Kernel optimization" echo -en "${cyan}Applying Kernel optimization... ${reset}"
sysctl --system &>> $LOGFILE
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
echo -e "${yellow}Your kernel could not be optimized, you may be running this script in a virtualized environment with no support for accessing the kernel.${reset}"
echo -e "${yellow}This system can be used for testing but is not recommended for a production environment.${reset}"
echo "$old_sysctl_file" > old_sysctl_file
else
echo -e "${green}OK${reset}"
fi
fi fi
# Fix pandora_server.{log,error} permissions to allow Console check them # Fix pandora_server.{log,error} permissions to allow Console check them
@ -704,7 +726,7 @@ cat > /etc/issue.net << EOF_banner
Welcome to Pandora FMS appliance on CentOS Welcome to Pandora FMS appliance on CentOS
------------------------------------------ ------------------------------------------
Go to Public http://$ipplublic/pandora_console$to to login web console Go to Public http://$ipplublic/pandora_console to login web console
$(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}') $(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}')
You can find more information at http://pandorafms.com You can find more information at http://pandorafms.com
@ -725,4 +747,4 @@ execute_cmd "rm -rf $HOME/pandora_deploy_tmp" "Removing temporary files"
GREEN='\033[01;32m' GREEN='\033[01;32m'
NONE='\033[0m' NONE='\033[0m'
printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server" printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server"
ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}' ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}'

View File

@ -14,7 +14,7 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='202304111' S_VERSION='2023050901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables # define default variables
@ -35,10 +35,18 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
[ "$PANDORA_LTS" ] || PANDORA_LTS=1 [ "$PANDORA_LTS" ] || PANDORA_LTS=1
[ "$PANDORA_BETA" ] || PANDORA_BETA=0 [ "$PANDORA_BETA" ] || PANDORA_BETA=0
#Check if possible to get os version
if [ ! -e /etc/os-release ]; then
echo ' > Imposible to determinate the OS version for this machine, please make sure you are intalling in a compatible OS'
echo ' > More info: https://pandorafms.com/manual/en/documentation/02_installation/01_installing#minimum_software_requirements'
exit -1
fi
# Ansi color code variables # Ansi color code variables
red="\e[0;91m" red="\e[0;91m"
green="\e[0;92m" green="\e[0;92m"
cyan="\e[0;36m" cyan="\e[0;36m"
yellow="\e[33m"
reset="\e[0m" reset="\e[0m"
# Functions # Functions
@ -90,7 +98,7 @@ check_pre_pandora () {
} }
check_repo_connection () { check_repo_connection () {
execute_cmd "ping -c 2 firefly.artica.es" "Checking Community repo" execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo"
execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo"
} }
@ -121,6 +129,12 @@ installing_docker () {
## Main ## Main
echo "Starting PandoraFMS Community deployment EL8 ver. $S_VERSION" echo "Starting PandoraFMS Community deployment EL8 ver. $S_VERSION"
#check tools
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error sed is not detected on the system, sed tool is needed for installation.'; exit -1 ;fi
if ! curl --version &>> $LOGFILE ; then echo 'Error curl is not detected on the system, curl tool is needed for installation.'; exit -1 ;fi
if ! ping -V &>> $LOGFILE ; then echo 'Error ping is not detected on the system, ping tool is needed for installation.'; exit -1 ;fi
# Centos Version # Centos Version
if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then
printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n" printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n"
@ -129,8 +143,8 @@ fi
echo -en "${cyan}Check Centos Version...${reset}" echo -en "${cyan}Check Centos Version...${reset}"
[ $(sed -nr 's/VERSION_ID+=\s*"([0-9]).*"$/\1/p' /etc/os-release) -eq '8' ] [[ $(sed -nr 's/VERSION_ID+=\s*"([0-9]).*"$/\1/p' /etc/os-release) -eq '8' ]]
check_cmd_status 'Error OS version, RHEL/Almalinux/Centos/Rockylinux 8+ is expected' check_cmd_status 'Error OS version, RHEL/Almalinux/Centos/Rockylinux 8.x is expected'
#Detect OS #Detect OS
os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"') os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"')
@ -327,11 +341,11 @@ console_dependencies=" \
mod_ssl \ mod_ssl \
libzstd \ libzstd \
openldap-clients \ openldap-clients \
http://firefly.artica.es/centos8/chromium-110.0.5481.177-1.el7.x86_64.rpm \ http://firefly.pandorafms.com/centos8/chromium-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/chromium-common-110.0.5481.177-1.el7.x86_64.rpm \ http://firefly.pandorafms.com/centos8/chromium-common-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \ http://firefly.pandorafms.com/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \ http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm" http://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm"
execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies" execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies"
# Server dependencies # Server dependencies
@ -357,9 +371,9 @@ server_dependencies=" \
java \ java \
bind-utils \ bind-utils \
whois \ whois \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \ http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \ http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm \
https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm" https://firefly.pandorafms.com/centos8/pandorawmic-1.0.0-1.x86_64.rpm"
execute_cmd "dnf install -y $server_dependencies" "Installing Pandora FMS Server dependencies" execute_cmd "dnf install -y $server_dependencies" "Installing Pandora FMS Server dependencies"
# SDK VMware perl dependencies # SDK VMware perl dependencies
@ -373,8 +387,8 @@ vmware_dependencies=" \
perl-Math-Random-ISAAC \ perl-Math-Random-ISAAC \
perl-JSON \ perl-JSON \
perl-Crypt-SSLeay \ perl-Crypt-SSLeay \
http://firefly.artica.es/centos8/perl-Crypt-OpenSSL-AES-0.02-1.el8.x86_64.rpm \ http://firefly.pandorafms.com/centos8/perl-Crypt-OpenSSL-AES-0.02-1.el8.x86_64.rpm \
http://firefly.artica.es/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm" http://firefly.pandorafms.com/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm"
execute_cmd "dnf install -y $vmware_dependencies" "Installing SDK VMware perl dependencies" execute_cmd "dnf install -y $vmware_dependencies" "Installing SDK VMware perl dependencies"
# Instant client Oracle # Instant client Oracle
@ -385,7 +399,7 @@ execute_cmd "dnf install -y $oracle_dependencies" "Installing Oracle Instant cli
#ipam dependencies #ipam dependencies
ipam_dependencies=" \ ipam_dependencies=" \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \ http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
perl(NetAddr::IP) \ perl(NetAddr::IP) \
perl(Sys::Syslog) \ perl(Sys::Syslog) \
perl(DBI) \ perl(DBI) \
@ -507,20 +521,20 @@ export MYSQL_PWD=$DBPASS
#Define packages #Define packages
if [ "$PANDORA_LTS" -eq '1' ] ; then if [ "$PANDORA_LTS" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm"
elif [ "$PANDORA_LTS" -ne '1' ] ; then elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi fi
# if beta is enable # if beta is enable
if [ "$PANDORA_BETA" -eq '1' ] ; then if [ "$PANDORA_BETA" -eq '1' ] ; then
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm" PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm" PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi fi
# Downloading Pandora Packages # Downloading Pandora Packages
@ -654,6 +668,9 @@ EOF_ENV
# Kernel optimization # Kernel optimization
if [ "$SKIP_KERNEL_OPTIMIZATIONS" -eq '0' ] ; then if [ "$SKIP_KERNEL_OPTIMIZATIONS" -eq '0' ] ; then
old_sysctl_file=$(cat /etc/sysctl.conf)
cat >> /etc/sysctl.conf <<EO_KO cat >> /etc/sysctl.conf <<EO_KO
# Pandora FMS Optimization # Pandora FMS Optimization
@ -680,7 +697,17 @@ net.core.optmem_max = 81920
EO_KO EO_KO
[ -d /dev/lxd/ ] || execute_cmd "sysctl --system" "Applying Kernel optimization" echo -en "${cyan}Applying Kernel optimization... ${reset}"
sysctl --system &>> $LOGFILE
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
echo -e "${yellow}Your kernel could not be optimized, you may be running this script in a virtualized environment with no support for accessing the kernel.${reset}"
echo -e "${yellow}This system can be used for testing but is not recommended for a production environment.${reset}"
echo "$old_sysctl_file" > old_sysctl_file
else
echo -e "${green}OK${reset}"
fi
fi fi
# Fix pandora_server.{log,error} permissions to allow Console check them # Fix pandora_server.{log,error} permissions to allow Console check them
@ -767,7 +794,7 @@ cat > /etc/issue.net << EOF_banner
Welcome to Pandora FMS appliance on RHEL/Rocky Linux 8 Welcome to Pandora FMS appliance on RHEL/Rocky Linux 8
------------------------------------------ ------------------------------------------
Go to Public http://$ipplublic/pandora_console$to to login web console Go to Public http://$ipplublic/pandora_console to login web console
$(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}') $(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}')
You can find more information at http://pandorafms.com You can find more information at http://pandorafms.com
@ -788,4 +815,4 @@ execute_cmd "rm -rf $HOME/pandora_deploy_tmp" "Removing temporary files"
GREEN='\033[01;32m' GREEN='\033[01;32m'
NONE='\033[0m' NONE='\033[0m'
printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server" printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server"
ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}' ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}'

View File

@ -17,7 +17,7 @@ PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
WORKDIR=/opt/pandora/deploy WORKDIR=/opt/pandora/deploy
S_VERSION='202304181' S_VERSION='2023050901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
rm -f $LOGFILE &> /dev/null # remove last log before start rm -f $LOGFILE &> /dev/null # remove last log before start
@ -37,6 +37,12 @@ rm -f $LOGFILE &> /dev/null # remove last log before start
[ "$PANDORA_BETA" ] || PANDORA_BETA=0 [ "$PANDORA_BETA" ] || PANDORA_BETA=0
[ "$PANDORA_LTS" ] || PANDORA_LTS=1 [ "$PANDORA_LTS" ] || PANDORA_LTS=1
#Check if possible to get os version
if [ ! -e /etc/os-release ]; then
echo ' > Imposible to determinate the OS version for this machine, please make sure you are intalling in a compatible OS'
echo ' > More info: https://pandorafms.com/manual/en/documentation/02_installation/01_installing#minimum_software_requirements'
exit -1
fi
# Ansi color code variables # Ansi color code variables
red="\e[0;91m" red="\e[0;91m"
@ -90,7 +96,7 @@ check_pre_pandora () {
} }
check_repo_connection () { check_repo_connection () {
execute_cmd "ping -c 2 firefly.artica.es" "Checking Community repo" execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo"
execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo" execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo"
} }
@ -125,6 +131,12 @@ installing_docker () {
## Main ## Main
echo "Starting PandoraFMS Community deployment Ubuntu 22.04 ver. $S_VERSION" echo "Starting PandoraFMS Community deployment Ubuntu 22.04 ver. $S_VERSION"
#check tools
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error sed is not detected on the system, sed tool is needed for installation.'; exit -1 ;fi
if ! curl --version &>> $LOGFILE ; then echo 'Error curl is not detected on the system, curl tool is needed for installation.'; exit -1 ;fi
if ! ping -V &>> $LOGFILE ; then echo 'Error ping is not detected on the system, ping tool is needed for installation.'; exit -1 ;fi
# Ubuntu Version # Ubuntu Version
if [ ! "$(grep -Ei 'Ubuntu' /etc/lsb-release)" ]; then if [ ! "$(grep -Ei 'Ubuntu' /etc/lsb-release)" ]; then
printf "\n ${red}Error this is not a Ubuntu system, this installer is compatible with Ubuntu systems only${reset}\n" printf "\n ${red}Error this is not a Ubuntu system, this installer is compatible with Ubuntu systems only${reset}\n"
@ -133,7 +145,7 @@ fi
echo -en "${cyan}Check Ubuntu Version...${reset}" echo -en "${cyan}Check Ubuntu Version...${reset}"
[ $(sed -nr 's/VERSION_ID+=\s*"([0-9][0-9].[0-9][0-9])"$/\1/p' /etc/os-release) == "22.04" ] [[ $(sed -nr 's/VERSION_ID+=\s*"([0-9][0-9].[0-9][0-9])"$/\1/p' /etc/os-release) == "22.04" ]]
check_cmd_status 'Error OS version, Ubuntu 22.04 is expected' check_cmd_status 'Error OS version, Ubuntu 22.04 is expected'
#Detect OS #Detect OS
@ -281,8 +293,8 @@ execute_cmd "apt install -y $server_dependencies" "Installing Pandora FMS Server
execute_cmd "installing_docker" "Installing Docker for debug" execute_cmd "installing_docker" "Installing Docker for debug"
# wmic and pandorawmic # wmic and pandorawmic
execute_cmd "curl -O https://firefly.artica.es/pandorafms/utils/bin/wmic" "Downloading wmic" execute_cmd "curl -O https://firefly.pandorafms.com/pandorafms/utils/bin/wmic" "Downloading wmic"
execute_cmd "curl -O https://firefly.artica.es/pandorafms/utils/bin/pandorawmic" "Downloading pandorawmic" execute_cmd "curl -O https://firefly.pandorafms.com/pandorafms/utils/bin/pandorawmic" "Downloading pandorawmic"
echo -en "${cyan}Installing wmic and pandorawmic...${reset}" echo -en "${cyan}Installing wmic and pandorawmic...${reset}"
chmod +x pandorawmic wmic &>> "$LOGFILE" && \ chmod +x pandorawmic wmic &>> "$LOGFILE" && \
cp -a wmic /usr/bin/ &>> "$LOGFILE" && \ cp -a wmic /usr/bin/ &>> "$LOGFILE" && \
@ -293,7 +305,7 @@ check_cmd_status "Error Installing phanromjs"
echo -en "${cyan}Installing phantomjs...${reset}" echo -en "${cyan}Installing phantomjs...${reset}"
export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64" export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
export OPENSSL_CONF=/etc/ssl export OPENSSL_CONF=/etc/ssl
curl -LSs -O "https://firefly.artica.es/pandorafms/utils/$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \ curl -LSs -O "https://firefly.pandorafms.com/pandorafms/utils/$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \
tar xvjf "$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \ tar xvjf "$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \
mv $PHANTOM_JS/bin/phantomjs /usr/bin &>> "$LOGFILE" && \ mv $PHANTOM_JS/bin/phantomjs /usr/bin &>> "$LOGFILE" && \
/usr/bin/phantomjs --version &>> "$LOGFILE" /usr/bin/phantomjs --version &>> "$LOGFILE"
@ -323,7 +335,7 @@ vmware_dependencies="\
libsoap-lite-perl \ libsoap-lite-perl \
libmodule-build-perl" libmodule-build-perl"
execute_cmd "apt install -y $vmware_dependencies" "Installing VMware SDK dependencies" execute_cmd "apt install -y $vmware_dependencies" "Installing VMware SDK dependencies"
execute_cmd "wget https://firefly.artica.es/pandorafms/utils/VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz" "Downloading VMware SDK" execute_cmd "wget https://firefly.pandorafms.com/pandorafms/utils/VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz" "Downloading VMware SDK"
echo -en "${cyan}Installing VMware SDK...${reset}" echo -en "${cyan}Installing VMware SDK...${reset}"
tar xvzf VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz &>> "$LOGFILE" tar xvzf VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz &>> "$LOGFILE"
cd vmware-vsphere-cli-distrib/ &>> "$LOGFILE" cd vmware-vsphere-cli-distrib/ &>> "$LOGFILE"
@ -458,19 +470,19 @@ execute_cmd "systemctl restart mysql" "Configuring and restarting database engin
#Define packages #Define packages
if [ "$PANDORA_LTS" -eq '1' ] ; then if [ "$PANDORA_LTS" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/LTS/pandorafms_server-7.0NG.tar.gz" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/LTS/pandorafms_server-7.0NG.tar.gz"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/LTS/pandorafms_console-7.0NG.tar.gz" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/LTS/pandorafms_console-7.0NG.tar.gz"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/LTS/pandorafms_agent_linux-7.0NG.tar.gz" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/LTS/pandorafms_agent_linux-7.0NG.tar.gz"
elif [ "$PANDORA_LTS" -ne '1' ] ; then elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz" [ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz" [ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz" [ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz"
fi fi
if [ "$PANDORA_BETA" -eq '1' ] ; then if [ "$PANDORA_BETA" -eq '1' ] ; then
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest_x86_64.tar.gz" PANDORA_SERVER_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest_x86_64.tar.gz"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.tar.gz" PANDORA_CONSOLE_PACKAGE="http://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.tar.gz"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz" PANDORA_AGENT_PACKAGE="http://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz"
fi fi
# Downloading Pandora Packages # Downloading Pandora Packages
@ -681,7 +693,16 @@ net.core.optmem_max = 81920
EO_KO EO_KO
[ -d /dev/lxd/ ] || execute_cmd "sysctl --system" "Applying Kernel optimization" echo -en "${cyan}Applying Kernel optimization... ${reset}"
sysctl --system &>> $LOGFILE
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
echo -e "${yellow}Your kernel could not be optimized, you may be running this script in a virtualized environment with no support for accessing the kernel.${reset}"
echo -e "${yellow}This system can be used for testing but is not recommended for a production environment.${reset}"
echo "$old_sysctl_file" > old_sysctl_file
else
echo -e "${green}OK${reset}"
fi
fi fi
# Fix pandora_server.{log,error} permissions to allow Console check them # Fix pandora_server.{log,error} permissions to allow Console check them
@ -778,7 +799,7 @@ cat > /etc/issue.net << EOF_banner
Welcome to Pandora FMS appliance on Ubuntu Welcome to Pandora FMS appliance on Ubuntu
------------------------------------------ ------------------------------------------
Go to Public http://$ipplublic/pandora_console$to to login web console Go to Public http://$ipplublic/pandora_console to login web console
$(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}') $(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}')
You can find more information at http://pandorafms.com You can find more information at http://pandorafms.com
@ -799,4 +820,4 @@ execute_cmd "rm -rf $WORKDIR" "Removing temporary files"
GREEN='\033[01;32m' GREEN='\033[01;32m'
NONE='\033[0m' NONE='\033[0m'
printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server" printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server"
ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}' ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}'

View File

@ -125,7 +125,6 @@ RUN dnf install -y --setopt=tsflags=nodocs \
bind-utils \ bind-utils \
whois \ whois \
libnsl \ libnsl \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \ http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \
https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm ; dnf clean all https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm ; dnf clean all
@ -136,7 +135,7 @@ RUN dnf install -y http://firefly.artica.es/centos8/perl-Crypt-OpenSSL-AES-0.02-
# Instant client Oracle # Instant client Oracle
RUN dnf install -y https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm RUN dnf install -y https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm
# Install IPAM dependencies # Install IPAM dependencies
RUN dnf install -y http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm "perl(NetAddr::IP)" "perl(Sys::Syslog)" "perl(DBI)" "perl(XML::Simple)" "perl(Geo::IP)" "perl(IO::Socket::INET6)" "perl(XML::Twig)" "perl(DBD::mysql)" --setopt=tsflags=nodocs RUN dnf install -y "perl(NetAddr::IP)" "perl(Sys::Syslog)" "perl(DBI)" "perl(XML::Simple)" "perl(Geo::IP)" "perl(IO::Socket::INET6)" "perl(XML::Twig)" "perl(DBD::mysql)" --setopt=tsflags=nodocs
EXPOSE 80 443 41121 162/udp EXPOSE 80 443 41121 162/udp

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, AIX version # Version 7.0NG.771, AIX version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, FreeBSD Version # Version 7.0NG.771, FreeBSD Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, HP-UX Version # Version 7.0NG.771, HP-UX Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, GNU/Linux # Version 7.0NG.771, GNU/Linux
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, GNU/Linux # Version 7.0NG.771, GNU/Linux
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, Solaris Version # Version 7.0NG.771, Solaris Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent # Base config file for Pandora FMS Windows Agent
# (c) 2006-2021 Artica Soluciones Tecnologicas # (c) 2006-2021 Artica Soluciones Tecnologicas
# Version 7.0NG.770 # Version 7.0NG.771
# This program is Free Software, you can redistribute it and/or modify it # This program is Free Software, you can redistribute it and/or modify it
# under the terms of the GNU General Public Licence as published by the Free Software # under the terms of the GNU General Public Licence as published by the Free Software
# Foundation; either version 2 of the Licence or any later version # Foundation; either version 2 of the Licence or any later version

View File

@ -2018,7 +2018,7 @@ sub pandora_agent_run () {
$Xml = $xml_header . $Xml . "</agent_data>"; $Xml = $xml_header . $Xml . "</agent_data>";
# Save XML data file # Save XML data file
my $temp_file = $Conf{'temporal'} . '/' . $Conf{'agent_name'} . '.' . time () . '.data'; my $temp_file = $Conf{'temporal'} . '/' . md5($Conf{'agent_name'}) . '.' . time () . '.data';
if (-l $temp_file && !unlink($temp_file)) { if (-l $temp_file && !unlink($temp_file)) {
error ("File '$temp_file' already exists as a symlink and could not be removed: $!"); error ("File '$temp_file' already exists as a symlink and could not be removed: $!");
return 1; return 1;

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora # Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents # Base config file for Pandora agents
# Version 7.0NG.770, AIX version # Version 7.0NG.771, AIX version
# General Parameters # General Parameters
# ================== # ==================

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora # Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents # Base config file for Pandora agents
# Version 7.0NG.770 # Version 7.0NG.771
# FreeBSD/IPSO version # FreeBSD/IPSO version
# Licenced under GPL licence, 2003-2007 Sancho Lerena # Licenced under GPL licence, 2003-2007 Sancho Lerena

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora # Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents # Base config file for Pandora agents
# Version 7.0NG.770, HPUX Version # Version 7.0NG.771, HPUX Version
# General Parameters # General Parameters
# ================== # ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770 # Version 7.0NG.771
# Licensed under GPL license v2, # Licensed under GPL license v2,
# (c) 2003-2021 Artica Soluciones Tecnologicas # (c) 2003-2021 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net # please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770 # Version 7.0NG.771
# Licensed under GPL license v2, # Licensed under GPL license v2,
# (c) 2003-2021 Artica Soluciones Tecnologicas # (c) 2003-2021 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net # please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770 # Version 7.0NG.771
# Licensed under GPL license v2, # Licensed under GPL license v2,
# please visit http://pandora.sourceforge.net # please visit http://pandora.sourceforge.net

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora # Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents # Base config file for Pandora agents
# Version 7.0NG.770, Solaris version # Version 7.0NG.771, Solaris version
# General Parameters # General Parameters
# ================== # ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, AIX version # Version 7.0NG.771, AIX version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.770-230425 Version: 7.0NG.771-230530
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.770-230425" pandora_version="7.0NG.771-230530"
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

@ -31,7 +31,7 @@ fi
if [ "$#" -ge 2 ]; then if [ "$#" -ge 2 ]; then
VERSION="$2" VERSION="$2"
else else
VERSION="7.0NG.770" VERSION="7.0NG.771"
fi fi
# Path for the generated DMG file # Path for the generated DMG file

View File

@ -19,11 +19,11 @@
<choice id="com.pandorafms.pandorafms_src" visible="false"> <choice id="com.pandorafms.pandorafms_src" visible="false">
<pkg-ref id="com.pandorafms.pandorafms_src"/> <pkg-ref id="com.pandorafms.pandorafms_src"/>
</choice> </choice>
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.770" onConclusion="none">pandorafms_src.pdk</pkg-ref> <pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.771" onConclusion="none">pandorafms_src.pdk</pkg-ref>
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications"> <choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/> <pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
</choice> </choice>
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.770" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref> <pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.771" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
<!-- <installation-check script="check()" /> <!-- <installation-check script="check()" />
<script> <script>
<![CDATA[ <![CDATA[

View File

@ -5,9 +5,9 @@
<key>CFBundleIconFile</key> <string>pandorafms.icns</string> <key>CFBundleIconFile</key> <string>pandorafms.icns</string>
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string> <key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
<key>CFBundleVersion</key> <string>7.0NG.770</string> <key>CFBundleVersion</key> <string>7.0NG.771</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.770 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string> <key>CFBundleGetInfoString</key> <string>7.0NG.771 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
<key>CFBundleShortVersionString</key> <string>7.0NG.770</string> <key>CFBundleShortVersionString</key> <string>7.0NG.771</string>
<key>NSPrincipalClass</key><string>NSApplication</string> <key>NSPrincipalClass</key><string>NSApplication</string>
<key>NSMainNibFile</key><string>MainMenu</string> <key>NSMainNibFile</key><string>MainMenu</string>

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, GNU/Linux # Version 7.0NG.771, GNU/Linux
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, FreeBSD Version # Version 7.0NG.771, FreeBSD Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, HP-UX Version # Version 7.0NG.771, HP-UX Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, GNU/Linux # Version 7.0NG.771, GNU/Linux
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, GNU/Linux # Version 7.0NG.771, GNU/Linux
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, NetBSD Version # Version 7.0NG.771, NetBSD Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.770, Solaris Version # Version 7.0NG.771, Solaris Version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1022,8 +1022,8 @@ my $Sem = undef;
# Semaphore used to control the number of threads # Semaphore used to control the number of threads
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.770'; use constant AGENT_VERSION => '7.0NG.771';
use constant AGENT_BUILD => '230425'; use constant AGENT_BUILD => '230530';
# 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;
@ -4377,7 +4377,7 @@ while (1) {
$Xml = $xml_header . $Xml . "</agent_data>"; $Xml = $xml_header . $Xml . "</agent_data>";
# Save XML data file # Save XML data file
my $temp_file = $Conf{'temporal'} . '/' . $Conf{'agent_name'} . '.' . time () . '.data'; my $temp_file = $Conf{'temporal'} . '/' . md5($Conf{'agent_name'}) . '.' . time () . '.data';
error ("File '$temp_file' already exists as a symlink and could not be removed: $!") if (-l $temp_file && !unlink($temp_file)); error ("File '$temp_file' already exists as a symlink and could not be removed: $!") if (-l $temp_file && !unlink($temp_file));
open (TEMP_FILE, "> $temp_file") || error ("Could not write XML data file: $!"); open (TEMP_FILE, "> $temp_file") || error ("Could not write XML data file: $!");
print TEMP_FILE $Xml; print TEMP_FILE $Xml;

View File

@ -3,8 +3,8 @@
# #
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_agent_linux %define name pandorafms_agent_linux
%define version 7.0NG.770 %define version 7.0NG.771
%define release 230425 %define release 230530
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,8 +3,8 @@
# #
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_agent_linux %define name pandorafms_agent_linux
%define version 7.0NG.770 %define version 7.0NG.771
%define release 230425 %define release 230530
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -9,8 +9,8 @@
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license. # Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.770" PI_VERSION="7.0NG.771"
PI_BUILD="230425" PI_BUILD="230530"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent # Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS # (c) 2006-2023 Pandora FMS
# Version 7.0NG.770 # Version 7.0NG.771
# This program is Free Software, you can redistribute it and/or modify it # This program is Free Software, you can redistribute it and/or modify it
# under the terms of the GNU General Public Licence as published by the Free Software # under the terms of the GNU General Public Licence as published by the Free Software
# Foundation; either version 2 of the Licence or any later version # Foundation; either version 2 of the Licence or any later version

View File

@ -3,7 +3,7 @@ AllowLanguageSelection
{Yes} {Yes}
AppName AppName
{Pandora FMS Windows Agent v7.0NG.770} {Pandora FMS Windows Agent v7.0NG.771}
ApplicationID ApplicationID
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F} {17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{230425} {230530}
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.770 Build 230425") #define PANDORA_VERSION ("7.0NG.771 Build 230530")
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.770(Build 230425))" VALUE "ProductVersion", "(7.0NG.771(Build 230530))"
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.770-230425 Version: 7.0NG.771-230530
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.770-230425" pandora_version="7.0NG.771-230530"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -185,7 +185,7 @@ if (isset($config['force_instant_logout']) === true
header_remove('Set-Cookie'); header_remove('Set-Cookie');
setcookie(session_name(), $_COOKIE[session_name()], (time() - 4800), '/'); setcookie(session_name(), $_COOKIE[session_name()], (time() - 4800), '/');
if ($config['auth'] === 'saml') { if ($config['auth'] === 'saml' && empty($public_hash) === true) {
include_once $config['saml_path'].'simplesamlphp/lib/_autoload.php'; include_once $config['saml_path'].'simplesamlphp/lib/_autoload.php';
$as = new SimpleSAML_Auth_Simple('PandoraFMS'); $as = new SimpleSAML_Auth_Simple('PandoraFMS');
$as->logout(); $as->logout();

View File

@ -9,14 +9,14 @@
], ],
"config": { "config": {
"platform": { "platform": {
"php": "8.0.0" "php": "8.0.2"
} }
}, },
"require": { "require": {
"mpdf/mpdf": "^8.0.15", "mpdf/mpdf": "^8.0.15",
"swiftmailer/swiftmailer": "^6.0", "swiftmailer/swiftmailer": "^6.0",
"amphp/parallel-functions": "^1.0", "amphp/parallel-functions": "^1.0",
"chrome-php/chrome": "^1.7.1", "chrome-php/chrome": "^1.8.1",
"artica/phpchartjs": "^1.0", "artica/phpchartjs": "^1.0",
"tinymce/tinymce": "^6.4" "tinymce/tinymce": "^6.4"
}, },

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@ global $config;
check_login(); check_login();
// ACL Check. // ACL Check.
if (!check_acl($config['id_user'], 0, 'AR')) { if (check_acl($config['id_user'], 0, 'AR') === 0 && check_acl($config['id_user'], 0, 'RR') === 0) {
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to access Module Groups view' 'Trying to access Module Groups view'

View File

@ -186,10 +186,6 @@ function pandora_realtime_graphs()
$table->data[] = $data; $table->data[] = $data;
if ($graph == 'snmp_interface' || $graph == 'snmp_module') {
echo snmp_browser_print_container(true, '100%', '60%', 'none');
}
// Print the relative path to AJAX calls. // Print the relative path to AJAX calls.
html_print_input_hidden('rel_path', get_parameter('rel_path', '')); html_print_input_hidden('rel_path', get_parameter('rel_path', ''));
@ -224,7 +220,7 @@ function pandora_realtime_graphs()
false, false,
'', '',
'white-box-content', 'white-box-content',
'box-flat white_table_graph' 'box-flat white_table_graph fixed_filter_bar'
); );
$chart[time()]['graph'] = '0'; $chart[time()]['graph'] = '0';
@ -266,6 +262,16 @@ function pandora_realtime_graphs()
] ]
); );
if ($graph == 'snmp_interface' || $graph == 'snmp_module') {
html_print_div(
[
'class' => 'white_box',
'id' => 'graph_snmp_interface',
'content' => snmp_browser_print_container(true, '100%', '60%', '', false, false),
]
);
}
// echo $canvas; // echo $canvas;
// Define a custom action to save // Define a custom action to save
// the OID selected in the SNMP browser to the form. // the OID selected in the SNMP browser to the form.

View File

@ -453,7 +453,7 @@ function resource_exportation_extension_main()
true true
) )
); );
$table->data[0][] = html_print_button(__('Export'), '', false, 'export_to_ptr(\'report\');', ['mode' => 'link'], true); $table->data[0][] = html_print_button(__('Export'), '', false, 'export_to_ptr("report");', ['mode' => 'link'], true);
$table->data[1][] = html_print_label_input_block( $table->data[1][] = html_print_label_input_block(
__('Visual console'), __('Visual console'),
@ -465,7 +465,7 @@ function resource_exportation_extension_main()
true true
) )
); );
$table->data[1][] = html_print_button(__('Export'), '', false, 'export_to_ptr(\'visual_console\');', ['mode' => 'link'], true); $table->data[1][] = html_print_button(__('Export'), '', false, 'export_to_ptr("visual_console");', ['mode' => 'link'], true);
if ($hook_enterprise === true) { if ($hook_enterprise === true) {
add_rows_for_enterprise($table->data); add_rows_for_enterprise($table->data);

View File

@ -0,0 +1,43 @@
START TRANSACTION;
ALTER TABLE tpolicy_group_agents CONVERT TO CHARACTER SET UTF8MB4;
ALTER TABLE tevent_sound CONVERT TO CHARACTER SET UTF8MB4;
ALTER TABLE tsesion_filter CONVERT TO CHARACTER SET UTF8MB4;
CREATE TABLE IF NOT EXISTS `tsesion_filter` (
`id_filter` INT NOT NULL AUTO_INCREMENT,
`id_name` TEXT NULL,
`text` TEXT NULL,
`period` TEXT NULL,
`ip` TEXT NULL,
`type` TEXT NULL,
`user` TEXT NULL,
PRIMARY KEY (`id_filter`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
CREATE TABLE IF NOT EXISTS `tsesion_filter_log_viewer` (
`id_filter` INT NOT NULL AUTO_INCREMENT,
`id_name` TEXT NULL,
`id_group_filter` TEXT NULL,
`id_search_mode` INT NULL,
`order` VARCHAR(45) NULL,
`search` VARCHAR(255) NULL,
`group_id` INT NULL,
`date_range` TINYINT NULL,
`start_date_defined` VARCHAR(45) NULL,
`start_date_time` VARCHAR(45) NULL,
`start_date_date` VARCHAR(45) NULL,
`start_date_date_range` VARCHAR(45) NULL,
`start_date_time_range` VARCHAR(45) NULL,
`end_date_date_range` VARCHAR(45) NULL,
`end_date_time_range` VARCHAR(45) NULL,
`agent` VARCHAR(255) NULL,
`source` VARCHAR(255) NULL,
`display_mode` INT NULL,
`capture_model` INT NULL,
`graph_type` INT NULL,
PRIMARY KEY (`id_filter`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
ALTER TABLE `talert_template_module_actions` ADD COLUMN `recovered` TINYINT NOT NULL DEFAULT 0;
COMMIT;

View File

@ -62,4 +62,22 @@ INSERT INTO `twelcome_tip` (`id_lang`,`id_profile`,`title`,`text`,`url`,`enable`
SELECT @last_id := LAST_INSERT_ID(); SELECT @last_id := LAST_INSERT_ID();
INSERT INTO `twelcome_tip_file` (`twelcome_tip_file`,`filename`,`path`) VALUES (@last_id,'zoom_en_graficas.png','images/tips/'); INSERT INTO `twelcome_tip_file` (`twelcome_tip_file`,`filename`,`path`) VALUES (@last_id,'zoom_en_graficas.png','images/tips/');
ALTER TABLE `tnetwork_component` ADD COLUMN `target_ip` VARCHAR(255) NOT NULL DEFAULT '';
UPDATE `tnetwork_component`
SET module_enabled=1
WHERE name='Cisco&#x20;_nameOID_&#x20;power&#x20;state';
ALTER TABLE `tlayout_data`
ADD COLUMN `recursive_group` TINYINT NOT NULL DEFAULT '0' AFTER `fill_color`;
ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_section` VARCHAR(255) NOT NULL DEFAULT 'Default' AFTER `data_section`;
ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_data_section` VARCHAR(255) NOT NULL DEFAULT '' AFTER `metaconsole_section`;
ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `default_event_filter`;
COMMIT; COMMIT;

Binary file not shown.

View File

@ -263,7 +263,7 @@ switch ($login_screen) {
} }
if ($config['auth'] == 'saml') { if ($config['auth'] == 'saml') {
echo '<div id="log_nick" class="login_nick invisible" >'; echo '<div id="log_nick" class="login_nick invisible '.$style_theme.'" >';
html_print_input_text_extended( html_print_input_text_extended(
'nick', 'nick',
'', '',
@ -294,7 +294,7 @@ switch ($login_screen) {
echo '</div>'; echo '</div>';
echo '<div id="log_button" class="login_button invisible">'; echo '<div id="log_button" class="login_button invisible">';
html_print_submit_button(__('Login as admin'), 'login_button', false, [ 'fixed_id' => 'submit-login_button', 'class' => 'next_login']); html_print_submit_button(__('Let&#39;s go'), 'login_button', false, [ 'fixed_id' => 'submit-login_button', 'class' => 'next_login']);
echo '</div>'; echo '</div>';
echo '<div class="login_button" id="remove_button">'; echo '<div class="login_button" id="remove_button">';
@ -303,7 +303,7 @@ switch ($login_screen) {
'input_saml', 'input_saml',
false, false,
[ [
'fixed_id' => 'submit-login_button', 'fixed_id' => 'submit-admin_button',
'class' => 'next_login', 'class' => 'next_login',
'onclick' => 'show_normal_menu()', 'onclick' => 'show_normal_menu()',
'id' => 'input_saml', 'id' => 'input_saml',
@ -833,13 +833,15 @@ html_print_div(['id' => 'forced_title_layer', 'class' => 'forced_title_layer', '
?> ?>
<script type="text/javascript" language="javascript"> <script type="text/javascript" language="javascript">
function show_normal_menu() { function show_normal_menu() {
document.getElementById('input_saml').style.display = 'none'; event.preventDefault();
const style = '<?php echo $style_theme; ?>';
document.getElementById('remove_button').style.display = 'none';
document.getElementById('log_nick').style.display = 'block'; document.getElementById('log_nick').style.display = 'block';
document.getElementById('log_pass').style.display = 'block'; document.getElementById('log_pass').style.display = 'block';
document.getElementById('log_nick').className = `login_nick ${style}`;
document.getElementById('log_pass').className = `login_pass ${style}`;
document.getElementById('log_button').style.display = 'block'; document.getElementById('log_button').style.display = 'block';
document.getElementById('remove_button').style.display = 'none';
document.getElementById('log_nick').className = 'login_nick';
document.getElementById('log_pass').className = 'login_pass';
} }
switch ("<?php echo $login_screen; ?>") { switch ("<?php echo $login_screen; ?>") {

View File

@ -33,6 +33,15 @@ require_once 'include/config.php';
global $config; global $config;
check_login(); check_login();
// ACL Check.
if (check_acl($config['id_user'], 0, 'AR') === 0) {
db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION,
'Trying to access Default view'
);
include 'general/noaccess.php';
exit;
}
require_once 'include/functions_reporting.php'; require_once 'include/functions_reporting.php';
require_once 'include/functions_tactical.php'; require_once 'include/functions_tactical.php';
@ -202,22 +211,58 @@ if (!empty($news)) {
$output_news = '<div id="news_board" class="new">'; $output_news = '<div id="news_board" class="new">';
foreach ($news as $article) { foreach ($news as $article) {
$image = false; $default = false;
if ($article['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') { if ($article['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') {
$image = true; $article['subject'] = __('Welcome to Pandora FMS Console');
$default = true;
} }
$text_bbdd = io_safe_output($article['text']); $text_bbdd = io_safe_output($article['text']);
$text = html_entity_decode($text_bbdd); $text = html_entity_decode($text_bbdd);
$output_news .= '<span class="green_title">'.$article['subject'].'</span>';
$output_news .= '<div class="new-board">';
$output_news .= '<div class="new-board-header">';
$output_news .= '<span class="new-board-title">'.$article['subject'].'</span>';
$output_news .= '<span class="new-board-author">'.__('By').' '.$article['author'].' '.ui_print_timestamp($article['timestamp'], true).'</span>';
$output_news .= '</div>';
$output_news .= '<div class="new content">'; $output_news .= '<div class="new content">';
$output_news .= '<p>'.__('by').' <b>'.$article['author'].'</b> <i>'.ui_print_timestamp($article['timestamp'], true).'</i> '.$comparation_suffix.'</p>';
if ($image) { if ($default) {
$output_news .= '<center><img src="./images/welcome_image.png" alt="img colabora con nosotros - Support" width="191" height="207"></center>'; $output_news .= '<div class="default-new">';
$output_news .= '<div class="default-image-new">';
$output_news .= '<img src="./images/welcome_image.svg" alt="img colabora con nosotros - Support">';
$output_news .= '</div><div class="default-text-new">';
$output_news .= '
<p>'.__('Welcome to our monitoring tool so grand,').'
<br>'.__('Where data insights are at your command.').'
<br>'.__('Sales, marketing, operations too,').'
<br>'.__("Customer support, we've got you.").'
</p>
<p>'.__('Our interface is user-friendly,').'
<br>'.__("Customize your dashboard, it's easy.").'
<br>'.__('Set up alerts and gain insights so keen,').'
<br>'.__("Optimize your data, like you've never seen.").'
</p>
<p>'.__('Unleash its power now, and join the pro league,').'
<br>'.__('Unlock the potential of your data to intrigue.').'
<br>'.__('Monitoring made simple, efficient and fun,').'
<br>'.__('Discover a whole new way to get things done.').'
</p>
<p>'.__('And take control of your IT once and for all.').'</p>
<span>'.__('You can replace this message with a personalized one at Admin tools -> Site news.').'</span>
';
$output_news .= '</div></div>';
} else {
$output_news .= nl2br($text);
} }
$output_news .= nl2br($text); $output_news .= '</div></div>';
$output_news .= '</div>';
} }
$output_news .= '</div>'; $output_news .= '</div>';

View File

@ -38,6 +38,11 @@ ui_require_css_file('maintenance');
<br> <br>
<?php <?php
html_print_image(
'images/pandora_tinylogo.png',
false,
['class' => 'responsive flex margn']
);
html_print_image( html_print_image(
'images/maintenance.png', 'images/maintenance.png',
false, false,

View File

@ -38,6 +38,11 @@ ui_require_css_file('maintenance');
<br> <br>
<?php <?php
html_print_image(
'images/pandora_tinylogo.png',
false,
['class' => 'responsive flex margn']
);
html_print_image( html_print_image(
'images/maintenance.png', 'images/maintenance.png',
false, false,

View File

@ -50,6 +50,11 @@ $data['check_php_version'] = phpversion();
<br> <br>
<?php <?php
html_print_image(
'images/pandora_tinylogo.png',
false,
['class' => 'responsive flex margn']
);
html_print_image( html_print_image(
'images/maintenance.png', 'images/maintenance.png',
false, false,

View File

@ -0,0 +1,71 @@
<?php
/**
* Agents deploy view.
*
* @category Agents deploy
* @package Pandora FMS
* @subpackage Opensource
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Begin.
global $config;
require_once $config['homedir'].'/include/class/AgentDeployWizard.class.php';
$ajaxPage = 'godmode/agentes/agent_deploy';
// Control call flow.
try {
// User access and validation is being processed on class constructor.
$adw = new AgentDeployWizard($ajaxPage);
} catch (Exception $e) {
if (is_ajax()) {
echo json_encode(['error' => '[AgentDeployWizard]'.$e->getMessage() ]);
exit;
} else {
echo '[AgentDeployWizard]'.$e->getMessage();
}
// Stop this execution, but continue 'globally'.
return;
}
// AJAX controller.
if (is_ajax()) {
$method = get_parameter('method');
if (method_exists($adw, $method) === true) {
if ($adw->ajaxMethod($method) === true) {
$adw->{$method}();
} else {
$adw->error('Unavailable method.');
}
} else {
$adw->error('Method not found. ['.$method.']');
}
// Stop any execution.
exit;
} else {
// Run.
$adw->run();
}

View File

@ -295,25 +295,25 @@ if (enterprise_installed() === true) {
$cps_val = $cps; $cps_val = $cps;
} }
} }
}
// Parent agents. // Parent agents.
$paramsParentAgent = []; $paramsParentAgent = [];
$paramsParentAgent['return'] = true; $paramsParentAgent['return'] = true;
$paramsParentAgent['show_helptip'] = false; $paramsParentAgent['show_helptip'] = false;
$paramsParentAgent['input_name'] = 'id_parent'; $paramsParentAgent['input_name'] = 'id_parent';
$paramsParentAgent['print_hidden_input_idagent'] = true; $paramsParentAgent['print_hidden_input_idagent'] = true;
$paramsParentAgent['hidden_input_idagent_name'] = 'id_agent_parent'; $paramsParentAgent['hidden_input_idagent_name'] = 'id_agent_parent';
$paramsParentAgent['hidden_input_idagent_value'] = $id_parent; $paramsParentAgent['hidden_input_idagent_value'] = $id_parent;
$paramsParentAgent['value'] = db_get_value('alias', 'tagente', 'id_agente', $id_parent); $paramsParentAgent['value'] = db_get_value('alias', 'tagente', 'id_agente', $id_parent);
$paramsParentAgent['selectbox_id'] = 'cascade_protection_module'; $paramsParentAgent['selectbox_id'] = 'cascade_protection_module';
$paramsParentAgent['javascript_is_function_select'] = true; $paramsParentAgent['javascript_is_function_select'] = true;
$paramsParentAgent['cascade_protection'] = true; $paramsParentAgent['cascade_protection'] = true;
$paramsParentAgent['input_style'] = 'width: 100%;'; $paramsParentAgent['input_style'] = 'width: 100%;';
if ($id_agente !== 0) { if ($id_agente !== 0) {
// Deletes the agent's offspring. // Deletes the agent's offspring.
$paramsParentAgent['delete_offspring_agents'] = $id_agente; $paramsParentAgent['delete_offspring_agents'] = $id_agente;
}
} }
$listIcons = gis_get_array_list_icons(); $listIcons = gis_get_array_list_icons();
@ -631,15 +631,18 @@ $tableAdvancedAgent->style = [];
$tableAdvancedAgent->cellclass = []; $tableAdvancedAgent->cellclass = [];
$tableAdvancedAgent->colspan = []; $tableAdvancedAgent->colspan = [];
$tableAdvancedAgent->rowspan = []; $tableAdvancedAgent->rowspan = [];
// Secondary groups.
$tableAdvancedAgent->data['secondary_groups'][] = html_print_label_input_block( if (enterprise_installed() === true) {
__('Secondary groups'), // Secondary groups.
html_print_select_agent_secondary( $tableAdvancedAgent->data['secondary_groups'][] = html_print_label_input_block(
$agent, __('Secondary groups'),
$id_agente, html_print_select_agent_secondary(
['selected_post' => $secondary_groups] $agent,
) $id_agente,
); ['selected_post' => $secondary_groups]
)
);
}
// Parent agent. // Parent agent.
$tableAdvancedAgent->data['parent_agent'][] = html_print_label_input_block( $tableAdvancedAgent->data['parent_agent'][] = html_print_label_input_block(
@ -795,8 +798,6 @@ if (enterprise_installed() === true) {
'', '',
'w540px', 'w540px',
'', '',
// Autocomplete.
'new-password'
); );
} else { } else {
$urlAddressInput = html_print_input_text( $urlAddressInput = html_print_input_text(
@ -903,18 +904,16 @@ $tableAdvancedAgent->data['safe_operation'][] = html_print_label_input_block(
) )
); );
if (enterprise_installed() === true) { ui_toggle(
ui_toggle( html_print_table($tableAdvancedAgent, true),
html_print_table($tableAdvancedAgent, true), '<span class="subsection_header_title">'.__('Advanced options').'</span>',
'<span class="subsection_header_title">'.__('Advanced options').'</span>', '',
'', '',
'', true,
true, false,
false, 'white_box_content',
'white_box_content', 'no-border white_table_graph'
'no-border white_table_graph' );
);
}
// Custom fields. // Custom fields.
$customOutputData = ''; $customOutputData = '';

View File

@ -1525,8 +1525,8 @@ if ($update_module === true || $create_module === true) {
$percentage_warning = 0; $percentage_warning = 0;
$warning_inverse = 0; $warning_inverse = 0;
} else if ($warning_threshold_check_type === 'warning_inverse') { } else if ($warning_threshold_check_type === 'warning_inverse') {
$warning_inverse = (int) get_parameter('warning_inverse_string_sent'); $warning_inverse = (int) get_parameter('warning_inverse_string_sent');
$percentage_warning = 0; $percentage_warning = 0;
} else { } else {
$percentage_warning = (int) get_parameter('warning_inverse_string_sent'); $percentage_warning = (int) get_parameter('warning_inverse_string_sent');
$warning_inverse = 0; $warning_inverse = 0;
@ -1538,15 +1538,20 @@ if ($update_module === true || $create_module === true) {
$percentage_critical = 0; $percentage_critical = 0;
$critical_inverse = 0; $critical_inverse = 0;
} else if ($critical_threshold_check_type === 'critical_inverse') { } else if ($critical_threshold_check_type === 'critical_inverse') {
$critical_inverse = (int) get_parameter('critical_inverse_string_sent'); $critical_inverse = (int) get_parameter('critical_inverse_string_sent');
$percentage_critical = 0; $percentage_critical = 0;
} else { } else {
$percentage_critical = (int) get_parameter('critical_inverse_string_sent'); $percentage_critical = (int) get_parameter('critical_inverse_string_sent');
$critical_inverse = 0; $critical_inverse = 0;
} }
// Inverse string checkbox. // Inverse string checkbox.
if ($id_module_type === MODULE_TYPE_GENERIC_DATA_STRING || $id_module_type === MODULE_TYPE_ASYNC_STRING) { if ($id_module_type === MODULE_TYPE_GENERIC_DATA_STRING
|| $id_module_type === MODULE_TYPE_ASYNC_STRING
|| $id_module_type === MODULE_TYPE_REMOTE_TCP_STRING
|| $id_module_type === MODULE_TYPE_REMOTE_CMD_STRING
|| $id_module_type === MODULE_TYPE_REMOTE_SNMP_STRING
) {
// Warning inverse string checkbox. // Warning inverse string checkbox.
$warning_string_checkbox = get_parameter('warning_inverse_string'); $warning_string_checkbox = get_parameter('warning_inverse_string');
if (!empty($warning_string_checkbox) && $warning_string_checkbox === 'warning_inverse_string') { if (!empty($warning_string_checkbox) && $warning_string_checkbox === 'warning_inverse_string') {
@ -2024,10 +2029,10 @@ if ($create_module) {
// MODULE ENABLE/DISABLE // MODULE ENABLE/DISABLE
// =====================. // =====================.
if ($enable_module) { /*
if ($enable_module) {
$result = modules_change_disabled($enable_module, 0); $result = modules_change_disabled($enable_module, 0);
$module_name = modules_get_agentmodule_name($enable_module); $module_name = modules_get_agentmodule_name($enable_module);
// Write for conf disable if remote_config. // Write for conf disable if remote_config.
$configuration_data = enterprise_hook( $configuration_data = enterprise_hook(
'config_agents_get_module_from_conf', 'config_agents_get_module_from_conf',
@ -2041,10 +2046,8 @@ if ($enable_module) {
// Force Update when disabled for save disabled in conf. // Force Update when disabled for save disabled in conf.
$old_configuration_data = $configuration_data; $old_configuration_data = $configuration_data;
// Successfull action. // Successfull action.
$success_action = $result; $success_action = $result;
$success_action = $result; $success_action = $result;
if ($result === NOERR) { if ($result === NOERR) {
db_pandora_audit( db_pandora_audit(
@ -2057,9 +2060,11 @@ if ($enable_module) {
'Fail to enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias']) 'Fail to enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
); );
} }
} }
if ($disable_module) { if ($disable_module) {
hd($disable_module, true);
$result = modules_change_disabled($disable_module, 1); $result = modules_change_disabled($disable_module, 1);
$module_name = modules_get_agentmodule_name($disable_module); $module_name = modules_get_agentmodule_name($disable_module);
@ -2083,18 +2088,20 @@ if ($disable_module) {
if ($result === NOERR) { if ($result === NOERR) {
hd($disable_module, true);
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_MODULE_MANAGEMENT, AUDIT_LOG_MODULE_MANAGEMENT,
'Disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias']) 'Disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
); );
} else { } else {
hd($disable_module, true);
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_MODULE_MANAGEMENT, AUDIT_LOG_MODULE_MANAGEMENT,
'Fail to disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias']) 'Fail to disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
); );
} }
} }
*/
// Fix to stop the module from being added to the agent's conf // Fix to stop the module from being added to the agent's conf
// when an error occurred while updating or inserting. or enable disable module. // when an error occurred while updating or inserting. or enable disable module.
if ($update_module || $create_module if ($update_module || $create_module
@ -2521,10 +2528,10 @@ switch ($tab) {
}); });
// Change description when edit port // Change description when edit port
$( "#text-tcp_port" ).change(function() { /*$( "#text-tcp_port" ).change(function() {
$( "#textarea_description" ).text(`Checks port ${$( "#text-tcp_port" ).val()} is opened`); $( "#textarea_description" ).text(`Checks port ${$( "#text-tcp_port" ).val()} is opened`);
}); });*/
// Set the position and width of the subtab // Set the position and width of the subtab
/* /*
function agent_wizard_tab_setup() { function agent_wizard_tab_setup() {

View File

@ -46,7 +46,7 @@ $custom_fields = array_map(
function ($field) { function ($field) {
$field['secure'] = (bool) $field['secure']; $field['secure'] = (bool) $field['secure'];
if ($field['secure']) { if ($field['secure']) {
$field['value'] = io_input_password($field['value']); $field['value'] = io_input_password(io_safe_output($field['value']));
} }
return $field; return $field;
@ -75,7 +75,7 @@ if ($add_inventory_module) {
'interval' => $interval, 'interval' => $interval,
'username' => $username, 'username' => $username,
'password' => $password, 'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '', 'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields), JSON_UNESCAPED_UNICODE)) : '',
]; ];
$result = db_process_sql_insert('tagent_module_inventory', $values); $result = db_process_sql_insert('tagent_module_inventory', $values);
@ -119,7 +119,7 @@ if ($add_inventory_module) {
'interval' => $interval, 'interval' => $interval,
'username' => $username, 'username' => $username,
'password' => $password, 'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '', 'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields, true), JSON_UNESCAPED_UNICODE)) : '',
]; ];
$result = db_process_sql_update('tagent_module_inventory', $values, ['id_agent_module_inventory' => $id_agent_module_inventory, 'id_agente' => $id_agente]); $result = db_process_sql_update('tagent_module_inventory', $values, ['id_agent_module_inventory' => $id_agent_module_inventory, 'id_agente' => $id_agente]);

View File

@ -229,7 +229,7 @@ if ($enable_agent > 0) {
); );
} }
if ($disable_agent > 0) { if ($disable_agent > 0 && $agent_to_delete === 0) {
$result = db_process_sql_update('tagente', ['disabled' => 1], ['id_agente' => $disable_agent]); $result = db_process_sql_update('tagente', ['disabled' => 1], ['id_agente' => $disable_agent]);
$alias = io_safe_output(agents_get_alias($disable_agent)); $alias = io_safe_output(agents_get_alias($disable_agent));
@ -419,6 +419,9 @@ ui_toggle(
'filter-datatable-main box-flat white_table_graph fixed_filter_bar' 'filter-datatable-main box-flat white_table_graph fixed_filter_bar'
); );
require_once 'godmode/agentes/agent_deploy.php';
// Data table. // Data table.
$selected = true; $selected = true;
$selectNameUp = false; $selectNameUp = false;
@ -762,7 +765,9 @@ if ($agents !== false) {
} }
if (empty($agent['alias']) === true) { if (empty($agent['alias']) === true) {
$agent['alias'] = $agent['nombre']; $agent['alias'] = io_safe_output($agent['nombre']);
} else {
$agent['alias'] = io_safe_output($agent['alias']);
} }
$additionalDataAgentName = []; $additionalDataAgentName = [];
@ -1025,23 +1030,35 @@ if ($agents !== false) {
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) { if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
// Create agent button. // Create agent button.
echo '<form method="post" action="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente">'; echo '<form id="create-agent" method="post" action="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente"></form>';
$buttons = html_print_button(
__('Create agent'),
'crt-2',
false,
'',
[
'icon' => 'next',
'onClick' => "document.getElementById('create-agent').submit();",
],
true
).html_print_button(
__('Deploy agent'),
'modal_deploy_agent',
false,
'',
[],
true
);
html_print_action_buttons( html_print_action_buttons(
html_print_submit_button( $buttons,
__('Create agent'),
'crt-2',
false,
[ 'icon' => 'next' ],
true
),
[ [
'type' => 'data_table', 'type' => 'data_table',
'class' => 'fixed_action_buttons', 'class' => 'fixed_action_buttons',
'right_content' => $tablePagination, 'right_content' => $tablePagination,
] ]
); );
echo '</form>';
} }
?> ?>

View File

@ -769,7 +769,17 @@ if ($modules !== false) {
} }
if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === true) { if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === true) {
$data[0] .= '<a href="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&tab=module&edit_module=1&id_agent_module='.$module['id_agente_modulo'].'">'; if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
$linked = policies_is_module_linked($module['id_agente_modulo']);
$adopt = policies_is_module_adopt($module['id_agente_modulo']);
if ($linked !== false && $adopt === false) {
$data[0] .= '<a href="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&tab=module&edit_module=1&id_agent_module='.$module['id_agente_modulo'].'&id_policy_module='.$module['id_policy_module'].'">';
} else {
$data[0] .= '<a href="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&tab=module&edit_module=1&id_agent_module='.$module['id_agente_modulo'].'">';
}
} else {
$data[0] .= '<a href="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&tab=module&edit_module=1&id_agent_module='.$module['id_agente_modulo'].'">';
}
} }
if ((bool) $module['disabled'] === true) { if ((bool) $module['disabled'] === true) {
@ -830,8 +840,8 @@ if ($modules !== false) {
$linked = policies_is_module_linked($module['id_agente_modulo']); $linked = policies_is_module_linked($module['id_agente_modulo']);
$adopt = policies_is_module_adopt($module['id_agente_modulo']); $adopt = policies_is_module_adopt($module['id_agente_modulo']);
if ($linked !== false) { if ((bool) $linked !== false) {
if ($adopt === true) { if ((bool) $adopt === true) {
$img = 'images/policies_brick.png'; $img = 'images/policies_brick.png';
$title = '('.__('Adopted').') '.$policyInfo['name_policy']; $title = '('.__('Adopted').') '.$policyInfo['name_policy'];
} else { } else {
@ -839,7 +849,7 @@ if ($modules !== false) {
$title = $policyInfo['name_policy']; $title = $policyInfo['name_policy'];
} }
} else { } else {
if ($adopt === true) { if ((bool) $adopt === true) {
$img = 'images/policies_not_brick.png'; $img = 'images/policies_not_brick.png';
$title = '('.__('Unlinked').') ('.__('Adopted').') '.$policyInfo['name_policy']; $title = '('.__('Unlinked').') ('.__('Adopted').') '.$policyInfo['name_policy'];
} else { } else {
@ -872,6 +882,10 @@ if ($modules !== false) {
$title $title
); );
if (strlen($module['ip_target']) !== 0) {
$title .= '<br/>IP: '.$module['ip_target'];
}
// This module is initialized ? (has real data). // This module is initialized ? (has real data).
if ($status === STATUS_MODULE_NO_DATA) { if ($status === STATUS_MODULE_NO_DATA) {
$data[2] .= html_print_image( $data[2] .= html_print_image(
@ -995,7 +1009,7 @@ if ($modules !== false) {
$data[8] .= html_print_menu_button( $data[8] .= html_print_menu_button(
[ [
'href' => 'index.php?sec=gagente&tab=module&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&delete_module='.$module['id_agente_modulo'], 'href' => 'index.php?sec=gagente&tab=module&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&delete_module='.$module['id_agente_modulo'],
'onClick' => "if (!confirm(\' '.__('Are you sure?').'\')) return false;", 'onClick' => 'javascript: if (!confirm(\''.__('Are you sure?').'\')) return false;',
'image' => 'images/delete.svg', 'image' => 'images/delete.svg',
'title' => __('Delete'), 'title' => __('Delete'),
], ],
@ -1091,8 +1105,9 @@ $createModuleTable->data[0][] = html_print_label_input_block(
false, false,
'', '',
false, false,
'max-width:300px;' 'width:350px;'
) ),
['div_style' => 'margin-top: 25px;'],
); );
$createModuleTable->data[1][] = html_print_label_input_block( $createModuleTable->data[1][] = html_print_label_input_block(
@ -1120,8 +1135,9 @@ $modalCreateModule .= html_print_div(
'modal_button_create', 'modal_button_create',
false, false,
[ [
'icon' => 'next', 'icon' => 'next',
'mode' => 'mini secondary', 'mode' => 'mini secondary',
'style' => 'margin-top: 140px;',
], ],
true true
), ),
@ -1148,8 +1164,8 @@ html_print_div(
draggable: true, draggable: true,
modal: true, modal: true,
close: false, close: false,
height: 222, height: 400,
width: 480, width: 495,
overlay: { overlay: {
opacity: 0.5, opacity: 0.5,
background: "black" background: "black"

View File

@ -509,7 +509,7 @@ $tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text(
10, 10,
1024, 1024,
true, true,
$disabledBecauseInPolicy || $edit === false, $disabledBecauseInPolicy,
false, false,
'', '',
$classdisabledBecauseInPolicy $classdisabledBecauseInPolicy
@ -524,6 +524,11 @@ $tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_div(
true true
); );
// CHANGE TO CRITICAL STATUS
$tableBasicThresholds->data['caption_warning_time'][0] .= __('Change to critical status after');
$tableBasicThresholds->data['warning_time'][0] .= html_print_input_text('warning_time', $warning_time, '', 5, 15, true);
$tableBasicThresholds->data['warning_time'][1] .= '&nbsp;&nbsp;<b>'.__('intervals in warning status.').'</b>';
// CRITICAL THRESHOLD. // CRITICAL THRESHOLD.
$tableBasicThresholds->rowclass['caption_critical_threshold'] = 'field_half_width pdd_t_10px'; $tableBasicThresholds->rowclass['caption_critical_threshold'] = 'field_half_width pdd_t_10px';
$tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width'; $tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width';
@ -607,7 +612,7 @@ $tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text(
$classdisabledBecauseInPolicy $classdisabledBecauseInPolicy
); );
$table_simple->rowstyle['thresholds_table'] = 'margin-top: 15px;height: 340px;width: 100%'; $table_simple->rowstyle['thresholds_table'] = 'margin-top: 15px;height: 400px;width: 100%';
$table_simple->cellclass['thresholds_table'][0] = 'table_section half_section_left'; $table_simple->cellclass['thresholds_table'][0] = 'table_section half_section_left';
$table_simple->data['thresholds_table'][0] = html_print_table($tableBasicThresholds, true); $table_simple->data['thresholds_table'][0] = html_print_table($tableBasicThresholds, true);
if (modules_is_string_type($id_module_type) === false || (bool) $edit === true) { if (modules_is_string_type($id_module_type) === false || (bool) $edit === true) {
@ -685,6 +690,7 @@ if ((int) $moduletype === MODULE_DATA) {
// If it is a non policy form, the module_interval will not provided and will. // If it is a non policy form, the module_interval will not provided and will.
// be taken the agent interval (this code is at configurar_agente.php). // be taken the agent interval (this code is at configurar_agente.php).
} else { } else {
$interval = ($interval === '') ? '300' : $interval;
$outputExecutionInterval = html_print_extended_select_for_time('module_interval', $interval, '', '', '0', false, true, false, false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy); $outputExecutionInterval = html_print_extended_select_for_time('module_interval', $interval, '', '', '0', false, true, false, false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy);
} }
@ -694,6 +700,8 @@ if (isset($module['id_policy_module']) === true) {
} }
$cps_array[-1] = __('Disabled'); $cps_array[-1] = __('Disabled');
$cps_array[0] = __('Enabled');
if ($cps_module > 0) { if ($cps_module > 0) {
$cps_array[$cps_module] = __('Enabled'); $cps_array[$cps_module] = __('Enabled');
} else { } else {
@ -705,7 +713,9 @@ if ($cps_module > 0) {
} }
} }
$cps_array[$cps_inc] = __('Enabled'); if ($cps_inc > -1) {
$cps_array[$cps_inc] = __('Enabled');
}
} }
// JS Scripts for ff thresholds. // JS Scripts for ff thresholds.
@ -1040,8 +1050,8 @@ $table_advanced->data['textarea_description_instructions'][1] = html_print_texta
$table_advanced->rowclass['caption_textarea_crit_warn_instructions'] = 'field_half_width pdd_t_10px'; $table_advanced->rowclass['caption_textarea_crit_warn_instructions'] = 'field_half_width pdd_t_10px';
$table_advanced->rowclass['textarea_crit_warn_instructions'] = 'field_half_width'; $table_advanced->rowclass['textarea_crit_warn_instructions'] = 'field_half_width';
$table_advanced->data['caption_textarea_crit_warn_instructions'][1] = __('Warning instructions');
$table_advanced->data['caption_textarea_crit_warn_instructions'][0] = __('Critical instructions'); $table_advanced->data['caption_textarea_crit_warn_instructions'][0] = __('Critical instructions');
$table_advanced->data['caption_textarea_crit_warn_instructions'][1] = __('Warning instructions');
$table_advanced->data['textarea_crit_warn_instructions'][0] = html_print_textarea( $table_advanced->data['textarea_crit_warn_instructions'][0] = html_print_textarea(
'critical_instructions', 'critical_instructions',
5, 5,
@ -1934,7 +1944,7 @@ $(document).ready (function () {
var thisLabel = $(this).attr('for'); var thisLabel = $(this).attr('for');
$('#'+thisLabel).prop('checked', true); $('#'+thisLabel).prop('checked', true);
$('#'+thisLabel).siblings().prop('checked', false); $('#'+thisLabel).siblings().prop('checked', false);
if ($('#radius-percentage_warning').prop('checked') === true || $('#radius-percentage_critical').prop('checked') === true) { if ($('#radius-percentage_warning').prop('checked') === true || $('#radius-percentage_critical').prop('checked') === true) {
$("#svg_dinamic").hide(); $("#svg_dinamic").hide();
} else { } else {

View File

@ -28,6 +28,7 @@
global $config; global $config;
require_once $config['homedir'].'/include/class/CredentialStore.class.php'; require_once $config['homedir'].'/include/class/CredentialStore.class.php';
require_once $config['homedir'].'/operation/snmpconsole/snmp_browser.php';
require_once $config['homedir'].'/include/functions_snmp_browser.php'; require_once $config['homedir'].'/include/functions_snmp_browser.php';
$snmp_browser_path = (is_metaconsole() === true) ? '../../' : ''; $snmp_browser_path = (is_metaconsole() === true) ? '../../' : '';
$snmp_browser_path .= 'include/javascript/pandora_snmp_browser.js'; $snmp_browser_path .= 'include/javascript/pandora_snmp_browser.js';
@ -310,7 +311,7 @@ $data[2] .= html_print_button(
__('SNMP Walk'), __('SNMP Walk'),
'snmp_walk', 'snmp_walk',
false, false,
'snmpBrowserWindow()', 'snmpBrowserWindow('.$id_agente.')',
[ 'mode' => 'link' ], [ 'mode' => 'link' ],
true true
); );
@ -390,14 +391,16 @@ $data[1] = html_print_input_text(
$data[2] = __('Auth password').ui_print_help_tip(__('The pass length must be eight character minimum.'), true); $data[2] = __('Auth password').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password( $data[3] = html_print_input_password(
'snmp3_auth_pass', 'snmp3_auth_pass',
'', $snmp3_auth_pass,
'', '',
15, 15,
60, 60,
true, true,
$disabledBecauseInPolicy, $disabledBecauseInPolicy,
false, false,
$largeclassdisabledBecauseInPolicy $largeclassdisabledBecauseInPolicy,
'off',
true
); );
$data[3] .= html_print_input_hidden_extended('active_snmp_v3', 0, 'active_snmp_v3_mmen', true); $data[3] .= html_print_input_hidden_extended('active_snmp_v3', 0, 'active_snmp_v3_mmen', true);
if ($snmp_version != 3) { if ($snmp_version != 3) {
@ -412,14 +415,16 @@ $data[1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp3_pr
$data[2] = __('Privacy pass').ui_print_help_tip(__('The pass length must be eight character minimum.'), true); $data[2] = __('Privacy pass').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password( $data[3] = html_print_input_password(
'snmp3_privacy_pass', 'snmp3_privacy_pass',
'', $snmp3_privacy_pass,
'', '',
15, 15,
60, 60,
true, true,
$disabledBecauseInPolicy, $disabledBecauseInPolicy,
false, false,
$largeclassdisabledBecauseInPolicy $largeclassdisabledBecauseInPolicy,
'off',
true
); );
if ($snmp_version != 3) { if ($snmp_version != 3) {
@ -731,12 +736,6 @@ $(document).ready (function () {
$("#text-custom_ip_target").hide(); $("#text-custom_ip_target").hide();
} }
}); });
// Add input password values with js to hide it in browser inspector.
$('#password-snmp3_auth_pass').val('<?php echo $snmp3_auth_pass; ?>');
$('#password-snmp3_privacy_pass').val('<?php echo $snmp3_privacy_pass; ?>');
observerInputPassword();
}); });

View File

@ -103,7 +103,19 @@ if (!empty($macros)) {
} }
if ($m_hide) { if ($m_hide) {
$data[1] = html_print_input_password($m['macro'], '', '', 100, 1024, true); $data[1] = html_print_input_password(
$m['macro'],
io_output_password($m['value']),
'',
100,
1024,
true,
false,
false,
'',
'off',
true
);
array_push($password_fields, $m); array_push($password_fields, $m);
} else { } else {
$data[1] = html_print_input_text( $data[1] = html_print_input_text(
@ -141,18 +153,24 @@ foreach ($password_fields as $k => $p) {
?> ?>
<script type="text/javascript"> <script type="text/javascript">
function changePluginSelect() { function changePluginSelect() {
if (flag_load_plugin_component) { if (typeof flag_load_plugin_component !== 'undefined' && flag_load_plugin_component) {
flag_load_plugin_component = false; flag_load_plugin_component = false;
return; return;
} }
const moduleId = <?php echo $id_agent_module; ?>;
load_plugin_description($("#id_plugin").val()); load_plugin_description($("#id_plugin").val());
load_plugin_macros_fields('simple-macro'); load_plugin_macros_fields('simple-macro', moduleId);
forced_title_callback(); forced_title_callback();
$('select#id_plugin').select2('close'); $('select#id_plugin').select2('close');
} }
$(document).ready(function () {
changePluginSelect();
});
</script> </script>

View File

@ -103,6 +103,9 @@ if (isset($id_agent_module) === true && $id_agent_module !== 0) {
if ($id_policy_module > 0) { if ($id_policy_module > 0) {
$module = enterprise_hook('policies_get_module', [$id_policy_module]); $module = enterprise_hook('policies_get_module', [$id_policy_module]);
$plugin_parameter = $module['plugin_parameter']; $plugin_parameter = $module['plugin_parameter'];
} else if ($id_agent_module > 0) {
$module = modules_get_agentmodule($id_agent_module);
$plugin_parameter = $module['plugin_parameter'];
} else { } else {
$plugin_parameter = ''; $plugin_parameter = '';
} }
@ -190,7 +193,7 @@ $actionButtons .= html_print_button(
__('Debug'), __('Debug'),
'btn_debugModule', 'btn_debugModule',
$disableDebug, $disableDebug,
'loadDebugWindow()', '',
[ [
'icon' => 'cog', 'icon' => 'cog',
'mode' => 'mini secondary ', 'mode' => 'mini secondary ',

View File

@ -148,7 +148,7 @@ $data[2] = html_print_label_input_block(
__('Password'), __('Password'),
html_print_input_password( html_print_input_password(
'plugin_pass', 'plugin_pass',
'', $plugin_pass,
'', '',
15, 15,
60, 60,

View File

@ -1430,10 +1430,10 @@ ui_print_spinner('Loading');
$table = new stdClass(); $table = new stdClass();
$table->id = 'editor'; $table->id = 'editor';
$table->width = '100%'; $table->width = '100%';
$table->colspan['module'][1] = '5'; $table->colspan['module'][1] = '6';
$table->data = []; $table->data = [];
$table->data['module'] = []; $table->data['module'] = [];
$table->data['module'][0] = ''; // $table->data['module'][0] = '';
$table->data['module'][1] = '<h4>'.__('Modules').'</h4>'; $table->data['module'][1] = '<h4>'.__('Modules').'</h4>';
// List of modules, empty, it is populated by javascript. // List of modules, empty, it is populated by javascript.
@ -1457,7 +1457,7 @@ $table->data['module'][1] = "
[ [
'border' => '0', 'border' => '0',
'alt' => __('Delete'), 'alt' => __('Delete'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'."</td> ).'</a>'."</td>
</tr> </tr>
@ -1576,14 +1576,12 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
} else { } else {
// If is selected 'Any', get all the agents. // If is selected 'Any', get all the agents.
if (count($agents) === 1 && (int) $agents[0] === -2) { if (count($agents) === 1 && (int) $agents[0] === -2) {
if ($recursion === true) { $filter_group = groups_get_children_ids(
$filter_group = groups_get_children_ids( $filter_group,
$filter_group, false,
false, true,
true, 'AW'
'AW' );
);
};
$agents = db_get_all_rows_filter( $agents = db_get_all_rows_filter(
'tagente', 'tagente',
@ -1781,7 +1779,6 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
//Avoid freak states. //Avoid freak states.
if (action_in_progress) if (action_in_progress)
return; return;
//Check if the row editor module exists //Check if the row editor module exists
if ($('#loading_' + id_agent).length > 0) { if ($('#loading_' + id_agent).length > 0) {
//The row exists //The row exists
@ -1791,7 +1788,6 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
if ($('#module_editor_' + id_agent).length == 0) { if ($('#module_editor_' + id_agent).length == 0) {
$("#list-agent_" + id_agent).after( $("#list-agent_" + id_agent).after(
$("#loading-loading").clone().attr('id', 'loading_' + id_agent)); $("#loading-loading").clone().attr('id', 'loading_' + id_agent));
jQuery.post ('ajax.php', jQuery.post ('ajax.php',
{"page": "include/ajax/planned_downtime.ajax", {"page": "include/ajax/planned_downtime.ajax",
"get_modules_downtime": 1, "get_modules_downtime": 1,
@ -1801,15 +1797,15 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
function (data) { function (data) {
if (data['correct']) { if (data['correct']) {
//Check if the row editor module exists //Check if the row editor module exists
if ($('#loading_' + id_agent).length > 0) { if ($('#list-agent_' + id_agent).length > 0) {
//The row exists //The row exists
$('#loading_' + id_agent).remove(); //$('#loading_' + id_agent).remove();
$("#list-agent_" + id_agent).after( $("#list-agent_" + id_agent).after(
$("#editor-module").clone() $("#editor-module").clone()
.attr('id', 'module_editor_' + id_agent) .attr('id', 'module_editor_' + id_agent)
.hide()); .hide());
fill_row_editor(id_agent, data); fill_row_editor(id_agent, data);
} }
} }
@ -2041,7 +2037,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
var datetime_from = <?php echo json_encode(strtotime($once_date_from.' '.$once_time_from)); ?>; var datetime_from = <?php echo json_encode(strtotime($once_date_from.' '.$once_time_from)); ?>;
var datetime_now = <?php echo json_encode($utimestamp); ?>; var datetime_now = <?php echo json_encode($utimestamp); ?>;
var create = <?php echo json_encode($create); ?>; var create = <?php echo json_encode($create); ?>;
if (!create && (type_execution == 'periodically' || (type_execution == 'once' && datetime_from < datetime_now))) { if (!create && (type_execution == 'periodically' && (type_execution == 'once' && datetime_from < datetime_now))) {
$("input#submit-updbutton, input#submit-add_item, table#list a").click(function (e) { $("input#submit-updbutton, input#submit-add_item, table#list a").click(function (e) {
if (!confirm("<?php echo __('WARNING: If you edit this scheduled downtime, the data of future SLA reports may be altered'); ?>")) { if (!confirm("<?php echo __('WARNING: If you edit this scheduled downtime, the data of future SLA reports may be altered'); ?>")) {
e.preventDefault(); e.preventDefault();

View File

@ -133,7 +133,7 @@ if (is_ajax()) {
} }
} }
$style = ((int) $field_hidden === 1) ? '-webkit-text-security: disc;' : ''; $style = ((int) $field_hidden === 1) ? '-webkit-text-security: disc; font-family: text-security-disc;' : '';
if (!empty($field_value)) { if (!empty($field_value)) {
$field_value = io_safe_output($field_value); $field_value = io_safe_output($field_value);

View File

@ -1032,7 +1032,7 @@ foreach ($simple_alerts as $alert) {
$data[4] .= html_print_input_image( $data[4] .= html_print_input_image(
'update', 'update',
'images/builder.png', 'images/builder@svg.svg',
1, 1,
'', '',
true, true,

View File

@ -369,7 +369,7 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$selected, $selected,
!$is_management_allowed, !$is_management_allowed,
'cursor: \'pointer\'', 'cursor: \'pointer\'',
'class="hide_inputs"', ['input_class' => 'hide_inputs'],
true true
) )
); );
@ -413,16 +413,16 @@ $(document).ready (function () {
$(".hide_inputs").each(function(index) { $(".hide_inputs").each(function(index) {
var $input_in_row = $(this).closest('tr').find('.field_value'); var $input_in_row = $(this).closest('tr').find('.field_value');
if($(this).is(':checked')) { if($(this).is(':checked')) {
$input_in_row.prop('style', '-webkit-text-security: disc;'); $input_in_row.prop('style', '-webkit-text-security: disc; font-family: text-security-disc;');
} else { } else {
$input_in_row.prop('style', ''); $input_in_row.prop('style', '');
} }
}); });
$(".hide_inputs").click(function() { $(".hide_inputs").click(function() {
var $input_in_row = $(this).closest('tr').find('.field_value'); var $input_in_row = $(this).closest('tr').find('.field_value');
if($(this).is(':checked')) { if($(this).is(':checked')) {
$input_in_row.prop('style', '-webkit-text-security: disc;'); $input_in_row.prop('style', '-webkit-text-security: disc; font-family: text-security-disc;');
} else { } else {
$input_in_row.prop('style', ''); $input_in_row.prop('style', '');
} }

View File

@ -98,16 +98,15 @@ if (count($groups) > 0) {
echo '<div id="tactic_view">'; echo '<div id="tactic_view">';
echo '<table style="width: 100%;">'; echo '<div class="tactical_group_left_columns">';
echo '<tr>'; echo '<div class="tactical_group_left_column">';
echo '<td class="tactical_group_left_column">';
$table_col1 = new stdClass(); $table_col1 = new stdClass();
$table_col1->class = 'no-class'; $table_col1->class = 'no-class';
$table_col1->data = []; $table_col1->data = [];
$table_col1->rowclass[] = ''; $table_col1->rowclass[] = '';
$table_col1->headstyle[0] = 'text-align:center;'; $table_col1->headstyle[0] = 'text-align:center;';
$table_col1->width = '100%'; $table_col1->width = '100%';
$table_col1->data[0][0] = groups_get_heat_map_agents($id_groups, 450, 100); $table_col1->data[0][0] = groups_get_heat_map_agents($id_groups, 330, 100);
$table_col1->data[1][0] = tactical_groups_get_agents_and_monitoring($id_groups); $table_col1->data[1][0] = tactical_groups_get_agents_and_monitoring($id_groups);
$distribution_by_so = '<table cellpadding=0 cellspacing=0 class="databox pies graph-distribution-so" width=100%><tr><td style="width:50%;">'; $distribution_by_so = '<table cellpadding=0 cellspacing=0 class="databox pies graph-distribution-so" width=100%><tr><td style="width:50%;">';
@ -130,8 +129,8 @@ ui_toggle(
false false
); );
echo '</td>'; echo '</div>';
echo '<td class="tactical_group_left_column">'; echo '<div class="tactical_group_left_column">';
$table_col2 = new stdClass(); $table_col2 = new stdClass();
$table_col2->class = 'no-class'; $table_col2->class = 'no-class';
$table_col2->data = []; $table_col2->data = [];
@ -158,8 +157,9 @@ ui_toggle(
false, false,
false false
); );
echo '</td>'; echo '</div>';
echo '<td class="tactical_group_right_column">'; echo '</div>';
echo '<div class="tactical_group_right_column">';
$table_col3 = new stdClass(); $table_col3 = new stdClass();
$table_col3->class = 'no-class'; $table_col3->class = 'no-class';
$table_col3->data = []; $table_col3->data = [];
@ -179,7 +179,7 @@ try {
__('Alias'), __('Alias'),
__('Status'), __('Status'),
__('Alerts'), __('Alerts'),
__('Ultimo contacto remoto'), __('Last remote contact'),
]; ];
// Load datatables user interface. // Load datatables user interface.
@ -216,9 +216,8 @@ ui_toggle(
false, false,
false false
); );
echo '</td>'; echo '</div>';
echo '</tr>'; echo '</div>';
echo '</table>';
echo '<div id="modal-info-agent"></div>' echo '<div id="modal-info-agent"></div>'
?> ?>

View File

@ -109,7 +109,7 @@ if ($create_profiles) {
} else { } else {
foreach ($profiles_id as $profile) { foreach ($profiles_id as $profile) {
// Check profiles permissions for non admin user. // Check profiles permissions for non admin user.
if (is_user_admin($config['user_id']) === false) { if (is_user_admin($config['id_user']) === false) {
$user_profiles = profile_get_profiles( $user_profiles = profile_get_profiles(
[ [
'pandora_management' => '<> 1', 'pandora_management' => '<> 1',
@ -122,7 +122,7 @@ if ($create_profiles) {
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to add administrator profile whith standar user for user '.io_safe_input($user) 'Trying to add administrator profile whith standar user for user '.io_safe_input($user)
); );
exit; continue;
} }
} }
@ -132,7 +132,7 @@ if ($create_profiles) {
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to add profile group without permission for user '.io_safe_input($user) 'Trying to add profile group without permission for user '.io_safe_input($user)
); );
exit; continue;
} }
foreach ($users_id as $user) { foreach ($users_id as $user) {
@ -141,7 +141,7 @@ if ($create_profiles) {
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to edit user without permission for user '.io_safe_input($user) 'Trying to edit user without permission for user '.io_safe_input($user)
); );
exit; continue;
} }
$profile_data = db_get_row_filter('tusuario_perfil', ['id_usuario' => $user, 'id_perfil' => $profile, 'id_grupo' => $group]); $profile_data = db_get_row_filter('tusuario_perfil', ['id_usuario' => $user, 'id_perfil' => $profile, 'id_grupo' => $group]);

View File

@ -808,7 +808,7 @@ $table->data['edit1'][1] = '<table width="100%">';
1 1
); );
$table->data['edit3'][2] = __('SMNP community'); $table->data['edit3'][2] = __('SNMP community');
$table->data['edit3'][3] = html_print_input_text( $table->data['edit3'][3] = html_print_input_text(
'snmp_community', 'snmp_community',
'', '',

View File

@ -77,6 +77,7 @@ $min = (int) get_parameter('min');
$tcp_send = (string) get_parameter('tcp_send'); $tcp_send = (string) get_parameter('tcp_send');
$tcp_rcv = (string) get_parameter('tcp_rcv'); $tcp_rcv = (string) get_parameter('tcp_rcv');
$tcp_port = (int) get_parameter('tcp_port'); $tcp_port = (int) get_parameter('tcp_port');
$target_ip = (string) get_parameter('target_ip');
$snmp_oid = (string) get_parameter('snmp_oid'); $snmp_oid = (string) get_parameter('snmp_oid');
$snmp_community = (string) get_parameter('snmp_community'); $snmp_community = (string) get_parameter('snmp_community');
$id_module_group = (int) get_parameter('id_module_group'); $id_module_group = (int) get_parameter('id_module_group');
@ -360,6 +361,7 @@ if ($is_management_allowed === true && $create_component) {
'tcp_send' => $tcp_send, 'tcp_send' => $tcp_send,
'tcp_rcv' => $tcp_rcv, 'tcp_rcv' => $tcp_rcv,
'tcp_port' => $tcp_port, 'tcp_port' => $tcp_port,
'target_ip' => $target_ip,
'snmp_oid' => $snmp_oid, 'snmp_oid' => $snmp_oid,
'snmp_community' => $snmp_community, 'snmp_community' => $snmp_community,
'id_module_group' => $id_module_group, 'id_module_group' => $id_module_group,
@ -465,6 +467,7 @@ if ($is_management_allowed === true && $update_component) {
'tcp_send' => $tcp_send, 'tcp_send' => $tcp_send,
'tcp_rcv' => $tcp_rcv, 'tcp_rcv' => $tcp_rcv,
'tcp_port' => $tcp_port, 'tcp_port' => $tcp_port,
'target_ip' => $target_ip,
'snmp_oid' => $snmp_oid, 'snmp_oid' => $snmp_oid,
'snmp_community' => $snmp_community, 'snmp_community' => $snmp_community,
'id_module_group' => $id_module_group, 'id_module_group' => $id_module_group,

View File

@ -60,6 +60,7 @@ if ($create_network_from_module) {
$max = $data_module['max']; $max = $data_module['max'];
$min = $data_module['min']; $min = $data_module['min'];
$module_interval = $data_module['module_interval']; $module_interval = $data_module['module_interval'];
$target_ip = $data_module['target_ip'];
$tcp_port = $data_module['tcp_port']; $tcp_port = $data_module['tcp_port'];
$tcp_rcv = $data_module['tcp_rcv']; $tcp_rcv = $data_module['tcp_rcv'];
$tcp_send = $data_module['tcp_send']; $tcp_send = $data_module['tcp_send'];
@ -120,6 +121,7 @@ if (isset($id)) {
$max = $component['max']; $max = $component['max'];
$min = $component['min']; $min = $component['min'];
$module_interval = $component['module_interval']; $module_interval = $component['module_interval'];
$target_ip = $component['target_ip'];
$tcp_port = $component['tcp_port']; $tcp_port = $component['tcp_port'];
$tcp_rcv = $component['tcp_rcv']; $tcp_rcv = $component['tcp_rcv'];
$tcp_send = $component['tcp_send']; $tcp_send = $component['tcp_send'];
@ -207,6 +209,7 @@ if (isset($id)) {
$max = '0'; $max = '0';
$min = '0'; $min = '0';
$module_interval = '300'; $module_interval = '300';
$target_ip = '';
$tcp_port = ''; $tcp_port = '';
$tcp_rcv = ''; $tcp_rcv = '';
$tcp_send = ''; $tcp_send = '';

View File

@ -327,7 +327,7 @@ $table->data[10][2] = __('Discard unknown events');
$table->data[10][3] = html_print_checkbox( $table->data[10][3] = html_print_checkbox(
'throw_unknown_events', 'throw_unknown_events',
1, 1,
network_components_is_disable_type_event($id, EVENTS_GOING_UNKNOWN), network_components_is_disable_type_event(($id === 0) ? false : $id, EVENTS_GOING_UNKNOWN),
true true
); );

View File

@ -50,8 +50,19 @@ $snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3'; $snmp_versions['3'] = 'v. 3';
$data = []; $data = [];
$data[0] = __('Port'); $data[0] = __('Target IP');
$data[1] = html_print_input_text('tcp_port', $tcp_port, '', 5, 20, true); $data[1] = html_print_input_text_extended(
'target_ip',
$target_ip,
'target_ip',
'',
30,
10000,
'',
'',
'',
true
);
$data[2] = __('SNMP version'); $data[2] = __('SNMP version');
$data[3] = html_print_select( $data[3] = html_print_select(
$snmp_versions, $snmp_versions,
@ -66,19 +77,11 @@ $data[3] = html_print_select(
'' ''
); );
push_table_row($data, 'snmp_port'); push_table_row($data, 'row1');
$data = []; $data = [];
$data[0] = __('SNMP Enterprise String'); $data[0] = __('Port');
$data[1] = html_print_input_text( $data[1] = html_print_input_text('tcp_port', $tcp_port, '', 5, 20, true);
'snmp_oid',
$snmp_oid,
'',
30,
400,
true
);
$data[2] = __('SNMP community'); $data[2] = __('SNMP community');
$data[3] = html_print_input_text( $data[3] = html_print_input_text(
'snmp_community', 'snmp_community',
@ -89,17 +92,16 @@ $data[3] = html_print_input_text(
true true
); );
push_table_row($data, 'snmp_2'); push_table_row($data, 'snmp_port');
$data = []; $data = [];
$data[0] = __('Auth user'); $data[0] = __('SNMP Enterprise String');
$data[1] = html_print_input_text( $data[1] = html_print_input_text(
'snmp3_auth_user', 'snmp_oid',
$snmp3_auth_user, $snmp_oid,
'', '',
15, 30,
60, 400,
true true
); );
$data[2] = __('Auth password'); $data[2] = __('Auth password');
@ -117,20 +119,18 @@ $data[3] .= html_print_input_hidden_extended(
'active_snmp_v3_mncfn', 'active_snmp_v3_mncfn',
true true
); );
push_table_row($data, 'field_snmpv3_row1');
push_table_row($data, 'snmp_2');
$data = []; $data = [];
$data[0] = __('Privacy method'); $data[0] = __('Auth user');
$data[1] = html_print_select( $data[1] = html_print_input_text(
[ 'snmp3_auth_user',
'DES' => __('DES'), $snmp3_auth_user,
'AES' => __('AES'),
],
'snmp3_privacy_method',
$snmp3_privacy_method,
'',
'',
'', '',
15,
60,
true true
); );
$data[2] = __('Privacy pass'); $data[2] = __('Privacy pass');
@ -142,17 +142,18 @@ $data[3] = html_print_input_password(
60, 60,
true true
); );
push_table_row($data, 'field_snmpv3_row2');
push_table_row($data, 'field_snmpv3_row1');
$data = []; $data = [];
$data[0] = __('Auth method'); $data[0] = __('Privacy method');
$data[1] = html_print_select( $data[1] = html_print_select(
[ [
'MD5' => __('MD5'), 'DES' => __('DES'),
'SHA' => __('SHA'), 'AES' => __('AES'),
], ],
'snmp3_auth_method', 'snmp3_privacy_method',
$snmp3_auth_method, $snmp3_privacy_method,
'', '',
'', '',
'', '',
@ -172,6 +173,37 @@ $data[3] = html_print_select(
'', '',
true true
); );
push_table_row($data, 'field_snmpv3_row2');
$data = [];
$data[0] = __('Auth method');
$data[1] = html_print_select(
[
'MD5' => __('MD5'),
'SHA' => __('SHA'),
],
'snmp3_auth_method',
$snmp3_auth_method,
'',
'',
'',
true
);
$data[2] = __('Name OID').'&nbsp;'.ui_print_help_icon('xxx', true);
$data[3] = html_print_input_text_extended(
'name_oid',
$name_oid,
'name_oid',
'',
30,
10000,
'',
'',
'',
true
);
push_table_row($data, 'field_snmpv3_row3'); push_table_row($data, 'field_snmpv3_row3');
$data = []; $data = [];
@ -188,20 +220,6 @@ $data[1] = html_print_extended_select_for_post_process(
true true
); );
$data[2] = __('Name OID').'&nbsp;'.ui_print_help_icon('xxx', true);
$data[3] = html_print_input_text_extended(
'name_oid',
$name_oid,
'name_oid',
'',
30,
10000,
'',
'',
'',
true
);
push_table_row($data, 'field_process'); push_table_row($data, 'field_process');
// Advanced stuff. // Advanced stuff.

View File

@ -74,8 +74,8 @@ if ($id) {
// Header Buttons. // Header Buttons.
$buttons = []; $buttons = [];
$buttons[] = ['text' => '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_edit">'.html_print_image('images/logs@svg.svg', true, ['title' => __('Filter list')]).'</a>']; $buttons[] = ['text' => '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_edit">'.html_print_image('images/logs@svg.svg', true, ['title' => __('Filter list'), 'main_menu_icon' => true]).'</a>'];
$buttons[] = ['text' => '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_edit_form">'.html_print_image('images/plus@svg.svg', true, ['title' => __('Add filter')]).'</a>']; $buttons[] = ['text' => '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_edit_form">'.html_print_image('images/plus@svg.svg', true, ['title' => __('Add filter'), 'main_menu_icon' => true]).'</a>'];
// Header Caption. // Header Caption.
$headerTitle = ($id) ? __('Update filter') : __('Create filter'); $headerTitle = ($id) ? __('Update filter') : __('Create filter');

View File

@ -182,7 +182,7 @@ if ($delete_item) {
$buttons['graph_container'] = [ $buttons['graph_container'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image( 'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image(
'images/graph-container.png', 'images/graph-container@svg.svg',
true, true,
[ [
'title' => __('Graph container'), 'title' => __('Graph container'),

View File

@ -309,7 +309,7 @@ if ($edit_graph === true) {
'graph_editor' => [ 'graph_editor' => [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_builder&tab=graph_editor&edit_graph=1&id='.$id_graph.'">'.html_print_image( 'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_builder&tab=graph_editor&edit_graph=1&id='.$id_graph.'">'.html_print_image(
'images/builder.png', 'images/builder@svg.svg',
true, true,
[ [
'title' => __('Graph editor'), 'title' => __('Graph editor'),

View File

@ -95,7 +95,7 @@ $subsection = reporting_enterprise_add_graph_template_subsection('', $buttons);
$buttons['graph_container'] = [ $buttons['graph_container'] = [
'active' => true, 'active' => true,
'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image( 'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image(
'images/graph-container.png', 'images/graph-container.svg@svg',
true, true,
[ [
'title' => __('Graph container'), 'title' => __('Graph container'),

View File

@ -100,7 +100,7 @@ if ($enterpriseEnable) {
$buttons['graph_container'] = [ $buttons['graph_container'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image( 'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container">'.html_print_image(
'images/graph-container.png', 'images/graph-container@svg.svg',
true, true,
[ [
'title' => __('Graphs containers'), 'title' => __('Graphs containers'),

View File

@ -1219,11 +1219,9 @@ $class = 'databox filters';
<?php <?php
html_print_select( html_print_select(
$servers, $servers,
'combo_server', 'combo_server_sql',
$server_name, $server_name,
'', ''
$nothing,
$nothing_value
); );
?> ?>
</td> </td>

View File

@ -518,8 +518,9 @@ foreach ($items as $item) {
} }
$agent_name_db = implode('<br>', $agent_name_db); $agent_name_db = implode('<br>', $agent_name_db);
if (is_array($modules) === true) {
$module_name_db = implode('<br>', $modules); $module_name_db = implode('<br>', $modules);
}
} else { } else {
$agent_id = agents_get_agent_id_by_module_id($item['id_agent_module']); $agent_id = agents_get_agent_id_by_module_id($item['id_agent_module']);
$agent_name = agents_get_name($agent_id); $agent_name = agents_get_name($agent_id);

View File

@ -2197,9 +2197,12 @@ switch ($action) {
'id_custom' 'id_custom'
); );
if ($values['treport_custom_sql_id'] == 0) { if ($values['treport_custom_sql_id'] == 0) {
$values['external_source'] = get_parameter( $sql = get_parameter('sql', '');
'sql' if ($sql !== '') {
); $good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql;
} }
$values['historical_db'] = get_parameter( $values['historical_db'] = get_parameter(
@ -2207,7 +2210,14 @@ switch ($action) {
); );
$values['top_n_value'] = get_parameter('max_items'); $values['top_n_value'] = get_parameter('max_items');
$values['server_name'] = get_parameter('combo_server'); if ($values['type'] === 'sql_graph_hbar'
|| ($values['type'] === 'sql_graph_vbar')
|| ($values['type'] === 'sql_graph_pie')
) {
$values['server_name'] = get_parameter('combo_server_sql');
} else {
$values['server_name'] = get_parameter('combo_server');
}
} else if ($values['type'] == 'url') { } else if ($values['type'] == 'url') {
$values['external_source'] = get_parameter('url'); $values['external_source'] = get_parameter('url');
} else if ($values['type'] == 'event_report_group') { } else if ($values['type'] == 'event_report_group') {
@ -2936,9 +2946,12 @@ switch ($action) {
'id_custom' 'id_custom'
); );
if ($values['treport_custom_sql_id'] == 0) { if ($values['treport_custom_sql_id'] == 0) {
$values['external_source'] = get_parameter( $sql = get_parameter('sql', '');
'sql' if ($sql !== '') {
); $good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql;
} }
$values['historical_db'] = get_parameter( $values['historical_db'] = get_parameter(
@ -3684,7 +3697,7 @@ if ($idReport != 0) {
$tab_builder = ($activeTab === 'item_editor') ? 'reporting_item_editor_tab' : ''; $tab_builder = ($activeTab === 'item_editor') ? 'reporting_item_editor_tab' : '';
if ($action !== 'update') { if (is_metaconsole() === true || $action !== 'update') {
// Header. // Header.
ui_print_standard_header( ui_print_standard_header(
$textReportName, $textReportName,

View File

@ -208,7 +208,7 @@ $table->data[2][] = html_print_label_input_block(
if ($action === 'new') { if ($action === 'new') {
$backgroundColorInput = html_print_input_color( $backgroundColorInput = html_print_input_color(
'background_color', 'background_color',
'white', '#FFFFFF',
'background_color', 'background_color',
false, false,
true true
@ -408,7 +408,6 @@ $(document).ready (function () {
}); });
$( "button[type=submit]" ).click(function( event ) { $( "button[type=submit]" ).click(function( event ) {
console.log('aaaaaaaaaaa');
if (parseInt($('input[name=width]').val()) < 1024){ if (parseInt($('input[name=width]').val()) < 1024){
alert('Default width is '+$('input[name=width]').val()+'px, smaller than minimum -> 1024px'); alert('Default width is '+$('input[name=width]').val()+'px, smaller than minimum -> 1024px');
$('input[name=width]').val('1024'); $('input[name=width]').val('1024');

View File

@ -202,15 +202,6 @@ function visual_map_main() {
} }
} }
}); });
//Resize the view to adapt the screen size.
if ($("#main").length) {
//Console
$("#frame_view").height($("#main").height() - 75);
} else {
//Metaconsole
$("#frame_view").height($("#page").height() - 75);
}
} }
function cancel_button_palette_callback() { function cancel_button_palette_callback() {
@ -2426,10 +2417,10 @@ function loadFieldsFromDB(item) {
}); });
} }
function setAspectRatioBackground(side) { function setAspectRatioBackground(side, id) {
toggle_item_palette(); toggle_item_palette();
parameter = Array(); var parameter = Array();
parameter.push({ parameter.push({
name: "page", name: "page",
value: "include/ajax/visual_console_builder.ajax" value: "include/ajax/visual_console_builder.ajax"
@ -2440,18 +2431,20 @@ function setAspectRatioBackground(side) {
value: $("#background_img").attr("src") value: $("#background_img").attr("src")
}); });
parameter.push({ name: "id_visual_console", value: id });
jQuery.ajax({ jQuery.ajax({
url: "ajax.php", url: "ajax.php",
data: parameter, data: parameter,
type: "POST", type: "POST",
dataType: "json", dataType: "json",
success: function(data) { success: function(data) {
old_width = parseInt( var old_width = parseInt(
$("#background") $("#background")
.css("width") .css("width")
.replace("px", "") .replace("px", "")
); );
old_height = parseInt( var old_height = parseInt(
$("#background") $("#background")
.css("height") .css("height")
.replace("px", "") .replace("px", "")
@ -2464,8 +2457,12 @@ function setAspectRatioBackground(side) {
old_height = 768; old_height = 768;
} }
img_width = data[0]; var img_width = data[0];
img_height = data[1]; var img_height = data[1];
var ratio = 0;
var height = 0;
var width = 0;
if (side == "width") { if (side == "width") {
ratio = old_width / img_width; ratio = old_width / img_width;
@ -5821,14 +5818,14 @@ function deleteDB(idElement) {
} }
function activeToolboxButton(id, active) { function activeToolboxButton(id, active) {
if ($("input." + id + "[name=button_toolbox2]").length == 0) { if ($("button." + id + "[name=" + id + "]").length == 0) {
return; return;
} }
if (active) { if (active) {
$("input." + id + "[name=button_toolbox2]").removeAttr("disabled"); $("button." + id + "[name=" + id + "]").removeAttr("disabled");
} else { } else {
$("input." + id + "[name=button_toolbox2]").attr("disabled", true); $("button." + id + "[name=" + id + "]").attr("disabled", true);
} }
} }
@ -6446,9 +6443,9 @@ function eventsBackground() {
function move_elements_resize(original_width, original_height, width, height) { function move_elements_resize(original_width, original_height, width, height) {
jQuery.each($(".item"), function(key, value) { jQuery.each($(".item"), function(key, value) {
item = value; var item = value;
idItem = $(item).attr("id"); idItem = $(item).attr("id");
classItem = $(item) var classItem = $(item)
.attr("class") .attr("class")
.replace("item", "") .replace("item", "")
.replace("ui-draggable", "") .replace("ui-draggable", "")
@ -6456,22 +6453,22 @@ function move_elements_resize(original_width, original_height, width, height) {
.replace(/^\s+/g, "") .replace(/^\s+/g, "")
.replace(/\s+$/g, ""); .replace(/\s+$/g, "");
old_height = parseInt( var old_height = parseInt(
$(item) $(item)
.css("top") .css("top")
.replace("px", "") .replace("px", "")
); );
old_width = parseInt( var old_width = parseInt(
$(item) $(item)
.css("left") .css("left")
.replace("px", "") .replace("px", "")
); );
ratio_width = width / original_width; var ratio_width = width / original_width;
ratio_height = height / original_height; var ratio_height = height / original_height;
new_height = old_height * ratio_height; var new_height = old_height * ratio_height;
new_width = old_width * ratio_width; var new_width = old_width * ratio_width;
var values = {}; var values = {};

View File

@ -92,14 +92,14 @@ html_print_input_hidden('metaconsole', (is_metaconsole() === true) ? 1 : 0);
visual_map_editor_print_hack_translate_strings(); visual_map_editor_print_hack_translate_strings();
visual_map_editor_print_item_palette($visualConsole['id'], $background); visual_map_editor_print_item_palette($visualConsole['id'], $background);
if (is_metaconsole() === false) { if (is_metaconsole() === true) {
echo '<div id="frame_view" class="frame_view_meta">'; echo '<div id="frame_view" class="frame_view_meta">';
} else { } else {
echo '<div id="frame_view" class="frame_view_node mrgn_top_meta_35px">'; echo '<div id="frame_view" class="frame_view_node">';
} }
echo '<div id="background" class="" style="top:0px; echo '<div id="background" class="" style="top:0px;
margin: 0px auto;border: 1px lightgray solid; width: '.$widthBackground.'px; height: '.$heightBackground.'px;background-color: '.$visualConsole['background_color'].';">'; margin: 0px auto;border: 1px lightgray solid; width: '.$widthBackground.'px; height: '.$heightBackground.'px;background-color: '.$visualConsole['background_color'].';z-index:0;">';
echo "<div id='background_grid' echo "<div id='background_grid'
style='position: absolute; display: none; overflow: hidden; style='position: absolute; display: none; overflow: hidden;
background: url(".ui_get_full_url('images/console/background/white_boxed.jpg', false, false, false).'); background: url(".ui_get_full_url('images/console/background/white_boxed.jpg', false, false, false).');

View File

@ -833,7 +833,7 @@ $buttons['wizard'] = [
if ($config['legacy_vc']) { if ($config['legacy_vc']) {
$buttons['editor'] = [ $buttons['editor'] = [
'active' => false, 'active' => false,
'text' => '<a href="'.$url_base.$action.'&tab=editor&id_visual_console='.$idVisualConsole.'">'.html_print_image('images/builder.png', true, ['title' => __('Builder'), 'class' => 'invert_filter']).'</a>', 'text' => '<a href="'.$url_base.$action.'&tab=editor&id_visual_console='.$idVisualConsole.'">'.html_print_image('images/builder@svg.svg', true, ['title' => __('Builder'), 'class' => 'invert_filter']).'</a>',
]; ];
} }

View File

@ -389,9 +389,9 @@ if (empty($create) === false || empty($view) === false) {
$disabled = ($locked === true) ? 'readonly="readonly"' : ''; $disabled = ($locked === true) ? 'readonly="readonly"' : '';
if (empty($create) === true) { if (empty($create) === true) {
$formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&update_plugin='.$plugin_id.'&pure='.$config['pure']; $formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab='.$tab.'&update_plugin='.$plugin_id.'&pure='.$config['pure'];
} else { } else {
$formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&create_plugin=1&pure='.$config['pure']; $formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab='.$tab.'&create_plugin=1&pure='.$config['pure'];
} }
$formPluginType = [ $formPluginType = [
@ -403,7 +403,7 @@ if (empty($create) === false || empty($view) === false) {
$table = new stdClass(); $table = new stdClass();
$table->id = 'table-form'; $table->id = 'table-form';
$table->class = 'filter-table-adv'; $table->class = 'databox filter-table-adv';
$table->style = []; $table->style = [];
$table->data['plugin_name_captions'] = $data; $table->data['plugin_name_captions'] = $data;
$table->size[0] = '50%'; $table->size[0] = '50%';
@ -625,22 +625,14 @@ if (empty($create) === false || empty($view) === false) {
$datam = []; $datam = [];
$buttons = ''; $buttons = '';
if (!$locked) { if (!$locked) {
$datam[0] = '<a id="add_macro_btn" href="javascript:;">'.'<span class="bolder">'.__('Add macro').'</span>'.'&nbsp;'.html_print_image(
'images/add.png',
true,
['class' => 'invert_filter']
).'</a>';
$datam[0] .= '<div id="next_macro" class="invisible">'.$i.'</div>';
$datam[0] .= '<div id="next_row" class="invisible">'.$next_name_number.'</div>';
$buttons = html_print_anchor( $buttons = html_print_anchor(
[ [
'id' => 'add_macro_btn', 'id' => 'add_macro_btn',
'href' => 'javascript:;', 'href' => 'javascript:;',
'content' => html_print_image( 'content' => '<span>'.__('Add macro').'</span>'.html_print_image(
'images/plus@svg.svg', 'images/plus@svg.svg',
true, true,
['class' => 'invert_filter'] ['class' => 'invert_filter main_menu_icon']
), ),
], ],
true true
@ -660,10 +652,10 @@ if (empty($create) === false || empty($view) === false) {
'id' => 'delete_macro_button', 'id' => 'delete_macro_button',
'style' => $delete_macro_style, 'style' => $delete_macro_style,
'href' => 'javascript:;', 'href' => 'javascript:;',
'content' => html_print_image( 'content' => '<span>'.__('Remove macro').'</span>'.html_print_image(
'images/delete.svg', 'images/delete.svg',
true, true,
['class' => 'main_menu_icon invert_filter'] ['class' => 'main_menu_icon invert_filter mrgn_right_10px']
), ),
], ],
true true
@ -1097,7 +1089,7 @@ if (empty($create) === false || empty($view) === false) {
} }
if ($management_allowed === true) { if ($management_allowed === true) {
echo '<form name="plugin" method="POST" action="index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&create=1&pure='.$config['pure'].'">'; echo '<form name="plugin" method="POST" action="index.php?sec=gservers&sec2=godmode/servers/plugin&tab='.$tab.'&create=1&pure='.$config['pure'].'">';
html_print_action_buttons( html_print_action_buttons(
html_print_submit_button( html_print_submit_button(
@ -1207,7 +1199,7 @@ ui_require_javascript_file('pandora_modules');
delete_macro_form('table-form-plugin_'); delete_macro_form('table-form-plugin_');
update_preview(); update_preview();
} }
$('div#delete_macro_button>a').click(delete_macro_click_event); $('a#delete_macro_button').click(delete_macro_click_event);
update_preview(); update_preview();

View File

@ -93,10 +93,6 @@ if (is_metaconsole() === true) {
} }
} }
$str = 'This extension makes registering server plugins an easier task.';
$str .= ' Here you can upload a server plugin in .pspz zipped format.';
$str .= ' Please refer to the official documentation on how to obtain and use Server Plugins.';
$output = '<div class="new_task">'; $output = '<div class="new_task">';
$output .= '<div class="image_task">'; $output .= '<div class="image_task">';
$output .= html_print_image( $output .= html_print_image(
@ -108,7 +104,7 @@ $output .= '</div>';
$output .= '<div class="text_task">'; $output .= '<div class="text_task">';
$output .= '<h3>'.__('Plugin registration').'</h3>'; $output .= '<h3>'.__('Plugin registration').'</h3>';
$output .= '<p id="description_task">'; $output .= '<p id="description_task">';
$output .= __($str); $output .= __('This extension makes registering server plugins an easier task. Here you can upload a server plugin in .pspz zipped format. Please refer to the official documentation on how to obtain and use Server Plugins.');
$output .= '<br><br>'; $output .= '<br><br>';
$output .= __('You can get more plugins in our'); $output .= __('You can get more plugins in our');
$output .= '<a href="https://pandorafms.com/Library/Library/">'; $output .= '<a href="https://pandorafms.com/Library/Library/">';

View File

@ -73,6 +73,8 @@ $table->headstyle[8] = 'text-align:right;width: 120px;';
$table->titleclass = 'tabletitle'; $table->titleclass = 'tabletitle';
$table->titlestyle = 'text-transform:uppercase;'; $table->titlestyle = 'text-transform:uppercase;';
$table->style[6] = 'display: flex;align-items: center;';
$table->head = []; $table->head = [];
$table->head[0] = __('Name'); $table->head[0] = __('Name');
$table->head[1] = __('Status'); $table->head[1] = __('Status');
@ -165,11 +167,22 @@ foreach ($servers as $server) {
break; break;
} }
$data[6] = $server['threads'].' : '.$server['queued_modules']; $data[6] = '';
if ($server['queued_modules'] > 200) { if ($server['queued_modules'] > 500) {
$data[6] .= clippy_context_help('server_queued_modules'); $data[6] .= '<div class="inline"><a onclick="show_dialog();" >'.html_print_image(
'images/info-warning.svg',
true,
[
'width' => 16,
'heght' => 16,
'class' => 'pulsate clickable',
'style' => 'margin-left: -25px;',
]
).'</a></div>&nbsp;&nbsp;';
} }
$data[6] .= $server['threads'].' : '.$server['queued_modules'];
$data[7] = ui_print_timestamp($server['keepalive'], true); $data[7] = ui_print_timestamp($server['keepalive'], true);
@ -306,3 +319,26 @@ if ($tiny) {
} else { } else {
html_print_table($table); html_print_table($table);
} }
?>
<script type="text/javascript">
function show_dialog() {
confirmDialog({
title: "<?php echo __('Excesive Queued.'); ?>",
message: "<?php echo __('You have too many items in the processing queue. This can happen if your server is overloaded and/or improperly configured. This could be something temporary, or a bottleneck. If it is associated with a delay in monitoring, with modules going to unknown, try increasing the number of threads.'); ?>",
strOKButton: "<?php echo __('Close'); ?>",
hideCancelButton: true,
size: 675,
});
}
function runIt() {
$('.pulsate').animate({
opacity: '1'
}, 1000);
$('.pulsate').animate({
opacity: '0.6'
}, 1000, runIt);
}
runIt();
</script>

View File

@ -147,6 +147,10 @@ if ((isset($_GET['form_add'])) || (isset($_GET['form_edit']))) {
$result = db_get_row('tnews', 'id_news', $id_news); $result = db_get_row('tnews', 'id_news', $id_news);
if ($result['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') {
header('Location: '.ui_get_full_url('index.php?sec=gextensions&sec2=godmode/setup/news'));
}
if ($result !== false) { if ($result !== false) {
$subject = $result['subject']; $subject = $result['subject'];
$text = $result['text']; $text = $result['text'];
@ -355,42 +359,37 @@ if ((isset($_GET['form_add'])) || (isset($_GET['form_edit']))) {
echo '</tr></thead>'; echo '</tr></thead>';
$color = 1;
foreach ($rows as $row) { foreach ($rows as $row) {
if ($color == 1) { if ($row['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') {
$tdcolor = 'datos'; echo '<tr><td><b>'.__('Welcome to Pandora FMS Console').'</b></td>';
$color = 0;
} else { } else {
$tdcolor = 'datos2'; echo "<tr><td><b><a href='index.php?sec=gsetup&sec2=godmode/setup/news&form_edit=1&id_news=".$row['id_news']."'>".$row['subject'].'</a></b></td>';
$color = 1;
} }
echo "<tr><td class='$tdcolor'><b><a href='index.php?sec=gsetup&sec2=godmode/setup/news&form_edit=1&id_news=".$row['id_news']."'>".$row['subject'].'</a></b></td>';
if ($row['modal']) { if ($row['modal']) {
echo "<td class='$tdcolor'>".__('Modal').'</b></td>'; echo '<td>'.__('Modal').'</b></td>';
} else { } else {
echo "<td class='$tdcolor'>".__('Board').'</b></td>'; echo '<td>'.__('Board').'</b></td>';
} }
echo "<td class='$tdcolor'>".$row['author'].'</b></td>'; echo '<td>'.$row['author'].'</b></td>';
$utimestamp = time_w_fixed_tz($row['timestamp']); $utimestamp = time_w_fixed_tz($row['timestamp']);
echo "<td class='$tdcolor'>".date($config['date_format'], $utimestamp).'</b></td>'; echo '<td>'.date($config['date_format'], $utimestamp).'</b></td>';
if ($row['expire']) { if ($row['expire']) {
$expire_utimestamp = time_w_fixed_tz($row['expire_timestamp']); $expire_utimestamp = time_w_fixed_tz($row['expire_timestamp']);
$expire_in_secs = ($expire_utimestamp - $utimestamp); $expire_in_secs = ($expire_utimestamp - $utimestamp);
if ($expire_in_secs <= 0) { if ($expire_in_secs <= 0) {
echo "<td class='$tdcolor'>".__('Expired').'</b></td>'; echo '<td>'.__('Expired').'</b></td>';
} else { } else {
$expire_in = human_time_description_raw($expire_in_secs, false, 'large'); $expire_in = human_time_description_raw($expire_in_secs, false, 'large');
echo "<td class='$tdcolor'>".$expire_in.'</b></td>'; echo '<td>'.$expire_in.'</b></td>';
} }
} else { } else {
echo "<td class='$tdcolor'>".__('No').'</b></td>'; echo '<td>'.__('No').'</b></td>';
} }
echo '<td class="'.$tdcolor.' table_action_buttons"><a href="index.php?sec=gsetup&sec2=godmode/setup/news&id_news='.$row['id_news'].'&borrar='.$row['id_news'].'" onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">'.html_print_image('images/delete.svg', true, ['border' => '0', 'class' => 'invert_filter']).'</a></td></tr>'; echo '<td class="'.$tdcolor.' table_action_buttons"><a href="index.php?sec=gsetup&sec2=godmode/setup/news&id_news='.$row['id_news'].'&borrar='.$row['id_news'].'" onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">'.html_print_image('images/delete.svg', true, ['border' => '0', 'class' => 'invert_filter main_menu_icon']).'</a></td></tr>';
} }
echo '</table>'; echo '</table>';

View File

@ -24,7 +24,7 @@ global $config;
check_login(); check_login();
if ((bool) check_acl($config['id_user'], 0, 'PM') === true && is_user_admin($config['id_user']) === false) { if ((bool) check_acl($config['id_user'], 0, 'PM') === false && is_user_admin($config['id_user']) === false) {
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to access Setup Management' 'Trying to access Setup Management'

Some files were not shown because too many files have changed in this diff Show More