diff --git a/extras/deploy-scripts/deploy_ext_database_el8.sh b/extras/deploy-scripts/deploy_ext_database_el8.sh
index 3ff86cc56b..4417265599 100644
--- a/extras/deploy-scripts/deploy_ext_database_el8.sh
+++ b/extras/deploy-scripts/deploy_ext_database_el8.sh
@@ -19,10 +19,10 @@ LOGFILE="/tmp/deploy-ext-db-$(date +%F).log"
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
-[ "$DBPASS" ] || DBPASS=pandora
+[ "$DBPASS" ] || DBPASS='Pandor4!'
[ "$DBPORT" ] || DBPORT=3306
[ "$DBROOTUSER" ] || DBROOTUSER=root
-[ "$DBROOTPASS" ] || DBROOTPASS=pandora
+[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!'
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
@@ -79,6 +79,53 @@ check_root_permissions () {
fi
}
+# Function to check if a password meets the MySQL secure password requirements
+is_mysql_secure_password() {
+ local password=$1
+
+ # Check password length (at least 8 characters)
+ if [[ ${#password} -lt 8 ]]; then
+ echo "Password length should be at least 8 characters."
+ return 1
+ fi
+
+ # Check if password contains at least one uppercase letter
+ if [[ $password == ${password,,} ]]; then
+ echo "Password should contain at least one uppercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one lowercase letter
+ if [[ $password == ${password^^} ]]; then
+ echo "Password should contain at least one lowercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one digit
+ if ! [[ $password =~ [0-9] ]]; then
+ echo "Password should contain at least one digit."
+ return 1
+ fi
+
+ # Check if password contains at least one special character
+ if ! [[ $password =~ [[:punct:]] ]]; then
+ echo "Password should contain at least one special character."
+ return 1
+ fi
+
+ # Check if password is not a common pattern (e.g., "password", "123456")
+ local common_patterns=("password" "123456" "qwerty")
+ for pattern in "${common_patterns[@]}"; do
+ if [[ $password == *"$pattern"* ]]; then
+ echo "Password should not contain common patterns."
+ return 1
+ fi
+ done
+
+ # If all checks pass, the password is MySQL secure compliant
+ return 0
+}
+
## Main
echo "Starting PandoraFMS External DB deployment EL8 ver. $S_VERSION"
@@ -128,6 +175,10 @@ execute_cmd "grep --version" 'Checking needed tools: grep'
execute_cmd "sed --version" 'Checking needed tools: sed'
execute_cmd "dnf --version" 'Checking needed tools: dnf'
+#Check mysql pass
+execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+
# Creating working directory
rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE"
mkdir "$HOME"/pandora_deploy_tmp &>> "$LOGFILE"
@@ -207,16 +258,12 @@ if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
if [ "$MYVER" -eq '80' ] ; then
echo """
- SET PASSWORD FOR '$DBROOTUSER'@'localhost' = 'Pandor4!';
- UNINSTALL COMPONENT 'file://component_validate_password';
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = '$DBROOTPASS';
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"
fi
if [ "$MYVER" -ne '80' ] ; then
echo """
- SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('Pandor4!');
- UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('$DBROOTPASS');
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"fi
fi
diff --git a/extras/deploy-scripts/deploy_ext_database_ubuntu_2204.sh b/extras/deploy-scripts/deploy_ext_database_ubuntu_2204.sh
index 21f9b21fa0..767be5632f 100644
--- a/extras/deploy-scripts/deploy_ext_database_ubuntu_2204.sh
+++ b/extras/deploy-scripts/deploy_ext_database_ubuntu_2204.sh
@@ -26,9 +26,9 @@ rm -f $LOGFILE &> /dev/null # remove last log before start
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
-[ "$DBPASS" ] || DBPASS=pandora
+[ "$DBPASS" ] || DBPASS='Pandor4!'
[ "$DBPORT" ] || DBPORT=3306
-[ "$DBROOTPASS" ] || DBROOTPASS=pandora
+[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!'
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
@@ -86,6 +86,53 @@ check_root_permissions () {
fi
}
+# Function to check if a password meets the MySQL secure password requirements
+is_mysql_secure_password() {
+ local password=$1
+
+ # Check password length (at least 8 characters)
+ if [[ ${#password} -lt 8 ]]; then
+ echo "Password length should be at least 8 characters."
+ return 1
+ fi
+
+ # Check if password contains at least one uppercase letter
+ if [[ $password == ${password,,} ]]; then
+ echo "Password should contain at least one uppercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one lowercase letter
+ if [[ $password == ${password^^} ]]; then
+ echo "Password should contain at least one lowercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one digit
+ if ! [[ $password =~ [0-9] ]]; then
+ echo "Password should contain at least one digit."
+ return 1
+ fi
+
+ # Check if password contains at least one special character
+ if ! [[ $password =~ [[:punct:]] ]]; then
+ echo "Password should contain at least one special character."
+ return 1
+ fi
+
+ # Check if password is not a common pattern (e.g., "password", "123456")
+ local common_patterns=("password" "123456" "qwerty")
+ for pattern in "${common_patterns[@]}"; do
+ if [[ $password == *"$pattern"* ]]; then
+ echo "Password should not contain common patterns."
+ return 1
+ fi
+ done
+
+ # If all checks pass, the password is MySQL secure compliant
+ return 0
+}
+
## Main
echo "Starting PandoraFMS External DB deployment Ubuntu 22.04 ver. $S_VERSION"
@@ -137,6 +184,10 @@ execute_cmd "grep --version" 'Checking needed tools: grep'
execute_cmd "sed --version" 'Checking needed tools: sed'
execute_cmd "apt --version" 'Checking needed tools: apt'
+#Check mysql pass
+execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+
# Creating working directory
rm -rf "$WORKDIR" &>> "$LOGFILE"
mkdir -p "$WORKDIR" &>> "$LOGFILE"
@@ -170,6 +221,7 @@ if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
""" | mysql -uroot &>> "$LOGFILE"
export MYSQL_PWD=$DBROOTPASS
+ echo "INSTALL COMPONENT 'file://component_validate_password';" | mysql -uroot -P$DBPORT -h$DBHOST &>> "$LOGFILE"
echo -en "${cyan}Creating Pandora FMS database...${reset}"
echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST
check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support."
diff --git a/extras/deploy-scripts/pandora_deploy_community.sh b/extras/deploy-scripts/pandora_deploy_community.sh
index 2e40524588..c16729bca0 100644
--- a/extras/deploy-scripts/pandora_deploy_community.sh
+++ b/extras/deploy-scripts/pandora_deploy_community.sh
@@ -11,7 +11,7 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
-S_VERSION='2023050901'
+S_VERSION='2023062901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
@@ -285,8 +285,7 @@ console_dependencies=" \
mod_ssl \
libzstd \
openldap-clients \
- chromium \
- http://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm"
+ chromium"
execute_cmd "yum install -y $console_dependencies" "Installing Pandora FMS Console dependencies"
# Server dependencies
@@ -313,7 +312,6 @@ server_dependencies=" \
bind-utils \
whois \
cpanminus \
- http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.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"
@@ -341,7 +339,6 @@ execute_cmd "yum install -y $oracle_dependencies || yum reinstall -y $oracle_dep
#ipam dependencies
ipam_dependencies=" \
- http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
perl(NetAddr::IP) \
perl(Sys::Syslog) \
perl(DBI) \
@@ -719,6 +716,9 @@ echo "* * * * * root wget -q -O - --no-check-certificate --load-cookies /tmp/cro
systemctl enable pandora_agent_daemon &>> $LOGFILE
execute_cmd "systemctl start pandora_agent_daemon" "Starting Pandora FMS Agent"
+# Enable postrix
+systemctl enable postfix --now &>> "$LOGFILE"
+
#SSH banner
[ "$(curl -s ifconfig.me)" ] && ipplublic=$(curl -s ifconfig.me)
diff --git a/extras/deploy-scripts/pandora_deploy_community_el8.sh b/extras/deploy-scripts/pandora_deploy_community_el8.sh
index 972a094c95..32422ab98b 100644
--- a/extras/deploy-scripts/pandora_deploy_community_el8.sh
+++ b/extras/deploy-scripts/pandora_deploy_community_el8.sh
@@ -14,7 +14,7 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
-S_VERSION='2023050901'
+S_VERSION='2023062901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
@@ -24,10 +24,10 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
-[ "$DBPASS" ] || DBPASS=pandora
+[ "$DBPASS" ] || DBPASS='Pandor4!'
[ "$DBPORT" ] || DBPORT=3306
[ "$DBROOTUSER" ] || DBROOTUSER=root
-[ "$DBROOTPASS" ] || DBROOTPASS=pandora
+[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!'
[ "$SKIP_PRECHECK" ] || SKIP_PRECHECK=0
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
@@ -125,6 +125,52 @@ installing_docker () {
echo "End installig docker" &>> "$LOGFILE"
}
+# Function to check if a password meets the MySQL secure password requirements
+is_mysql_secure_password() {
+ local password=$1
+
+ # Check password length (at least 8 characters)
+ if [[ ${#password} -lt 8 ]]; then
+ echo "Password length should be at least 8 characters."
+ return 1
+ fi
+
+ # Check if password contains at least one uppercase letter
+ if [[ $password == ${password,,} ]]; then
+ echo "Password should contain at least one uppercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one lowercase letter
+ if [[ $password == ${password^^} ]]; then
+ echo "Password should contain at least one lowercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one digit
+ if ! [[ $password =~ [0-9] ]]; then
+ echo "Password should contain at least one digit."
+ return 1
+ fi
+
+ # Check if password contains at least one special character
+ if ! [[ $password =~ [[:punct:]] ]]; then
+ echo "Password should contain at least one special character."
+ return 1
+ fi
+
+ # Check if password is not a common pattern (e.g., "password", "123456")
+ local common_patterns=("password" "123456" "qwerty")
+ for pattern in "${common_patterns[@]}"; do
+ if [[ $password == *"$pattern"* ]]; then
+ echo "Password should not contain common patterns."
+ return 1
+ fi
+ done
+
+ # If all checks pass, the password is MySQL secure compliant
+ return 0
+}
## Main
echo "Starting PandoraFMS Community deployment EL8 ver. $S_VERSION"
@@ -189,6 +235,10 @@ execute_cmd "grep --version" 'Checking needed tools: grep'
execute_cmd "sed --version" 'Checking needed tools: sed'
execute_cmd "dnf --version" 'Checking needed tools: dnf'
+#Check mysql pass
+execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+
# Creating working directory
rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE"
mkdir "$HOME"/pandora_deploy_tmp &>> "$LOGFILE"
@@ -344,8 +394,7 @@ console_dependencies=" \
http://firefly.pandorafms.com/centos8/chromium-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.pandorafms.com/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
- http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm \
- http://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm"
+ http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.x86_64.rpm"
execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies"
# Server dependencies
@@ -371,7 +420,7 @@ server_dependencies=" \
java \
bind-utils \
whois \
- http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
+ libnsl \
http://firefly.pandorafms.com/centos7/wmic-1.4-1.el7.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"
@@ -399,7 +448,6 @@ execute_cmd "dnf install -y $oracle_dependencies" "Installing Oracle Instant cli
#ipam dependencies
ipam_dependencies=" \
- http://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm \
perl(NetAddr::IP) \
perl(Sys::Syslog) \
perl(DBI) \
@@ -439,7 +487,6 @@ if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
if [ "$MYVER" -eq '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = 'Pandor4!';
- UNINSTALL COMPONENT 'file://component_validate_password';
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = '$DBROOTPASS';
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"
fi
@@ -447,7 +494,6 @@ if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
if [ "$MYVER" -ne '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('Pandor4!');
- UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('$DBROOTPASS');
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"fi
fi
@@ -622,8 +668,9 @@ sed -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini
sed -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini
sed -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini
-#adding 900s to httpd timeout
+#adding 900s to httpd timeout and 300 to ProxyTimeout
echo 'TimeOut 900' > /etc/httpd/conf.d/timeout.conf
+echo 'ProxyTimeout 300' >> /etc/httpd/conf.d/timeout.conf
cat > /var/www/html/index.html << EOF_INDEX
@@ -787,6 +834,9 @@ echo "* * * * * root wget -q -O - --no-check-certificate --load-cookies /tmp/cro
systemctl enable pandora_agent_daemon &>> "$LOGFILE"
execute_cmd "systemctl start pandora_agent_daemon" "Starting Pandora FMS Agent"
+# Enable postfix
+systemctl enable postfix --now &>> "$LOGFILE"
+
#SSH banner
[ "$(curl -s ifconfig.me)" ] && ipplublic=$(curl -s ifconfig.me)
diff --git a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh
index 3d31ae10af..a215808d17 100644
--- a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh
+++ b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh
@@ -17,7 +17,7 @@ PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
WORKDIR=/opt/pandora/deploy
-S_VERSION='2023050901'
+S_VERSION='2023062901'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
rm -f $LOGFILE &> /dev/null # remove last log before start
@@ -27,9 +27,9 @@ rm -f $LOGFILE &> /dev/null # remove last log before start
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
-[ "$DBPASS" ] || DBPASS=pandora
+[ "$DBPASS" ] || DBPASS='Pandor4!'
[ "$DBPORT" ] || DBPORT=3306
-[ "$DBROOTPASS" ] || DBROOTPASS=pandora
+[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!'
[ "$SKIP_PRECHECK" ] || SKIP_PRECHECK=0
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
@@ -113,6 +113,53 @@ check_root_permissions () {
fi
}
+# Function to check if a password meets the MySQL secure password requirements
+is_mysql_secure_password() {
+ local password=$1
+
+ # Check password length (at least 8 characters)
+ if [[ ${#password} -lt 8 ]]; then
+ echo "Password length should be at least 8 characters."
+ return 1
+ fi
+
+ # Check if password contains at least one uppercase letter
+ if [[ $password == ${password,,} ]]; then
+ echo "Password should contain at least one uppercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one lowercase letter
+ if [[ $password == ${password^^} ]]; then
+ echo "Password should contain at least one lowercase letter."
+ return 1
+ fi
+
+ # Check if password contains at least one digit
+ if ! [[ $password =~ [0-9] ]]; then
+ echo "Password should contain at least one digit."
+ return 1
+ fi
+
+ # Check if password contains at least one special character
+ if ! [[ $password =~ [[:punct:]] ]]; then
+ echo "Password should contain at least one special character."
+ return 1
+ fi
+
+ # Check if password is not a common pattern (e.g., "password", "123456")
+ local common_patterns=("password" "123456" "qwerty")
+ for pattern in "${common_patterns[@]}"; do
+ if [[ $password == *"$pattern"* ]]; then
+ echo "Password should not contain common patterns."
+ return 1
+ fi
+ done
+
+ # If all checks pass, the password is MySQL secure compliant
+ return 0
+}
+
installing_docker () {
#Installing docker for debug
echo "Start installig docker" &>> "$LOGFILE"
@@ -194,6 +241,10 @@ execute_cmd "grep --version" 'Checking needed tools: grep'
execute_cmd "sed --version" 'Checking needed tools: sed'
execute_cmd "apt --version" 'Checking needed tools: apt'
+#Check mysql pass
+execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
+
# Creating working directory
rm -rf "$WORKDIR" &>> "$LOGFILE"
mkdir -p "$WORKDIR" &>> "$LOGFILE"
@@ -265,7 +316,6 @@ server_dependencies=" \
openssh-client \
postfix \
unzip \
- xprobe \
coreutils \
libio-compress-perl \
libmoosex-role-timer-perl \
@@ -287,6 +337,8 @@ server_dependencies=" \
libgeo-ip-perl \
arping \
snmp-mibs-downloader \
+ snmptrapd \
+ libnsl2 \
openjdk-8-jdk "
execute_cmd "apt install -y $server_dependencies" "Installing Pandora FMS Server dependencies"
@@ -299,17 +351,7 @@ echo -en "${cyan}Installing wmic and pandorawmic...${reset}"
chmod +x pandorawmic wmic &>> "$LOGFILE" && \
cp -a wmic /usr/bin/ &>> "$LOGFILE" && \
cp -a pandorawmic /usr/bin/ &>> "$LOGFILE"
-check_cmd_status "Error Installing phanromjs"
-
-# phantomjs
-echo -en "${cyan}Installing phantomjs...${reset}"
- export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
- export OPENSSL_CONF=/etc/ssl
- curl -LSs -O "https://firefly.pandorafms.com/pandorafms/utils/$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \
- tar xvjf "$PHANTOM_JS.tar.bz2" &>> "$LOGFILE" && \
- mv $PHANTOM_JS/bin/phantomjs /usr/bin &>> "$LOGFILE" && \
- /usr/bin/phantomjs --version &>> "$LOGFILE"
-check_cmd_status "Error Installing phanromjs"
+check_cmd_status "Error Installing pandorawmic/wmic"
# create symlink for fping
rm -f /usr/sbin/fping &>> "$LOGFILE"
@@ -370,7 +412,6 @@ source '/root/.profile' &>> "$LOGFILE"
#ipam dependencies
ipam_dependencies=" \
- xprobe \
libnetaddr-ip-perl \
coreutils \
libdbd-mysql-perl \
@@ -413,6 +454,7 @@ if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
""" | mysql -uroot &>> "$LOGFILE"
export MYSQL_PWD=$DBROOTPASS
+ echo "INSTALL COMPONENT 'file://component_validate_password';" | mysql -uroot -P$DBPORT -h$DBHOST &>> "$LOGFILE"
echo -en "${cyan}Creating Pandora FMS database...${reset}"
echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST
check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support."
@@ -619,8 +661,9 @@ sed --follow-symlinks -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.i
sed --follow-symlinks -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini
sed --follow-symlinks -i -e "s/^disable_functions/;disable_functions/" /etc/php.ini
-#adding 900s to httpd timeout
-#echo 'TimeOut 900' > /etc/httpd/conf.d/timeout.conf
+#adding 900s to httpd timeout and 300 to ProxyTimeout
+echo 'TimeOut 900' > /etc/apache2/conf-enabled/timeout.conf
+echo 'ProxyTimeout 300' >> /etc/apache2/conf-enabled/timeout.conf
cat > /var/www/html/index.html << EOF_INDEX
@@ -792,6 +835,13 @@ systemctl enable pandora_agent_daemon &>> "$LOGFILE"
#fix path phantomjs
sed --follow-symlinks -i -e "s/^openssl_conf = openssl_init/#openssl_conf = openssl_init/g" /etc/ssl/openssl.cnf &>> "$LOGFILE"
+# Enable postfix
+systemctl enable postfix --now &>> "$LOGFILE"
+
+# Disable snmptrapd
+systemctl disable --now snmptrapd &>> "$LOGFILE"
+systemctl disable --now snmptrapd.socket &>> "$LOGFILE"
+
#SSH banner
[ "$(curl -s ifconfig.me)" ] && ipplublic=$(curl -s ifconfig.me)
diff --git a/pandora_agents/pc/DEBIAN/control b/pandora_agents/pc/DEBIAN/control
index cdbcc99cfe..ac23fd959f 100644
--- a/pandora_agents/pc/DEBIAN/control
+++ b/pandora_agents/pc/DEBIAN/control
@@ -4,7 +4,7 @@ Architecture: all
Priority: optional
Section: admin
Installed-Size: 260
-Maintainer: ÁRTICA ST
+Maintainer: Pandora FMS
Homepage: https://pandorafms.org/
Depends: coreutils, perl, unzip
Description: Pandora FMS agents are based on native languages in every platform: scripts that can be written in any language. It’s possible to reproduce any agent in any programming language and can be extended without difficulty the existing ones in order to cover aspects not taken into account up to the moment. These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent gathers several "chunks" of information; this one is organized in a data set and stored in a single file, called data file.
diff --git a/pandora_agents/shellscript/linux/DEBIAN/control b/pandora_agents/shellscript/linux/DEBIAN/control
index 55a5168f93..2ffdee57df 100755
--- a/pandora_agents/shellscript/linux/DEBIAN/control
+++ b/pandora_agents/shellscript/linux/DEBIAN/control
@@ -4,7 +4,7 @@ Architecture: all
Priority: optional
Section: admin
Installed-Size: 260
-Maintainer: ÁRTICA ST
+Maintainer: Pandora FMS
Homepage: http://pandorafms.org/
Depends: coreutils, perl
Description: Pandora FMS agents are based on native languages in every platform: scripts that can be written in any language. It’s possible to reproduce any agent in any programming language and can be extended without difficulty the existing ones in order to cover aspects not taken into account up to the moment. These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent gathers several "chunks" of information; this one is organized in a data set and stored in a single file, called data file.
diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control
index eae2a56807..80a3821568 100644
--- a/pandora_agents/unix/DEBIAN/control
+++ b/pandora_agents/unix/DEBIAN/control
@@ -1,10 +1,10 @@
package: pandorafms-agent-unix
-Version: 7.0NG.772-230705
+Version: 7.0NG.772-230801
Architecture: all
Priority: optional
Section: admin
Installed-Size: 260
-Maintainer: ÁRTICA ST
+Maintainer: Pandora FMS
Homepage: http://pandorafms.org/
Depends: coreutils, perl, unzip
Description: Pandora FMS agents are based on native languages in every platform: scripts that can be written in any language. It’s possible to reproduce any agent in any programming language and can be extended without difficulty the existing ones in order to cover aspects not taken into account up to the moment. These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent gathers several "chunks" of information; this one is organized in a data set and stored in a single file, called data file.
diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh
index 0e9751413d..6bea6f1f68 100644
--- a/pandora_agents/unix/DEBIAN/make_deb_package.sh
+++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.772-230705"
+pandora_version="7.0NG.772-230801"
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
diff --git a/pandora_agents/unix/Darwin/dmg/files/pandorafms_uninstall/PandoraFMS agent uninstaller.app/Contents/Info.plist b/pandora_agents/unix/Darwin/dmg/files/pandorafms_uninstall/PandoraFMS agent uninstaller.app/Contents/Info.plist
index 4ee8965fef..e7c5fa5a91 100644
--- a/pandora_agents/unix/Darwin/dmg/files/pandorafms_uninstall/PandoraFMS agent uninstaller.app/Contents/Info.plist
+++ b/pandora_agents/unix/Darwin/dmg/files/pandorafms_uninstall/PandoraFMS agent uninstaller.app/Contents/Info.plist
@@ -6,7 +6,7 @@
CFBundleIdentifier com.pandorafms.pandorafms_uninstall
CFBundleVersion 7.0NG.772
- CFBundleGetInfoString 7.0NG.772 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020
+ CFBundleGetInfoString 7.0NG.772 Pandora FMS on Aug 2020
CFBundleShortVersionString 7.0NG.772
NSPrincipalClassNSApplication
diff --git a/pandora_agents/unix/SunOS/pandora_agent.conf b/pandora_agents/unix/SunOS/pandora_agent.conf
index e439bfaaf2..7e7e637899 100644
--- a/pandora_agents/unix/SunOS/pandora_agent.conf
+++ b/pandora_agents/unix/SunOS/pandora_agent.conf
@@ -213,5 +213,5 @@ module_end
module_plugin grep_log /var/adm/syslog Syslog .
-
-
+#Inventory plugin
+#module_plugin /usr/share/pandora_agent/plugins/inventory_solaris.pl
diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent
index a1370e569c..2dfb967438 100755
--- a/pandora_agents/unix/pandora_agent
+++ b/pandora_agents/unix/pandora_agent
@@ -1031,7 +1031,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.772';
-use constant AGENT_BUILD => '230705';
+use constant AGENT_BUILD => '230801';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;
diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec
index 5376afeb5d..4e1d5d73f4 100644
--- a/pandora_agents/unix/pandora_agent.redhat.spec
+++ b/pandora_agents/unix/pandora_agent.redhat.spec
@@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.772
-%define release 230705
+%define release 230801
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.spec b/pandora_agents/unix/pandora_agent.redhat_bin.spec
new file mode 100644
index 0000000000..226c73426b
--- /dev/null
+++ b/pandora_agents/unix/pandora_agent.redhat_bin.spec
@@ -0,0 +1,168 @@
+#
+#Pandora FMS Linux Agent
+#
+%global __os_install_post %{nil}
+%define name pandorafms_agent_linux_bin
+%define source_name pandorafms_agent_linux
+%define version 7.0NG.772
+%define release 230725
+
+Summary: Pandora FMS Linux agent, binary version
+Name: %{name}
+Version: %{version}
+Release: %{release}
+License: GPL
+Vendor: ArticaST
+Source0: %{source_name}-%{version}.tar.gz
+URL: http://pandorafms.org
+Group: System/Monitoring
+Packager: Sancho Lerena
+Prefix: /usr/share
+BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
+BuildArch: noarch
+Requires(pre): shadow-utils
+Requires(post): chkconfig /bin/ln
+Requires(preun): chkconfig /bin/rm /usr/sbin/userdel
+Requires: coreutils unzip
+Requires: util-linux procps grep
+Requires: /sbin/ip /bin/awk
+Requires: perl(Sys::Syslog) perl(IO::Compress::Zip)
+# Required by plugins
+#Requires: sh-utils sed passwd net-tools rpm
+AutoReq: 0
+Provides: %{name}-%{version}
+
+%description
+Pandora FMS agent for unix. Pandora FMS is an OpenSource full-featured monitoring software.
+
+%prep
+rm -rf $RPM_BUILD_ROOT
+
+%setup -q -n unix
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_agent/
+mkdir -p $RPM_BUILD_ROOT/usr/bin/
+mkdir -p $RPM_BUILD_ROOT/usr/sbin/
+mkdir -p $RPM_BUILD_ROOT/etc/pandora/
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d/
+mkdir -p $RPM_BUILD_ROOT/var/log/pandora/
+mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
+cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_agent/
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/tentacle_client $RPM_BUILD_ROOT/usr/bin/
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent $RPM_BUILD_ROOT/usr/bin/
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_exec $RPM_BUILD_ROOT/usr/bin/
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent_daemon $RPM_BUILD_ROOT/etc/rc.d/init.d/pandora_agent_daemon
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/pandora_agent.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/man/man1/tentacle_client.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/
+
+cp -aRf $RPM_BUILD_ROOT%{prefix}/pandora_agent/Linux/pandora_agent.conf $RPM_BUILD_ROOT/usr/share/pandora_agent/pandora_agent.conf.rpmnew
+
+install -m 0644 pandora_agent_logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_agent
+
+if [ -f $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec ] ; then
+ rm $RPM_BUILD_ROOT%{prefix}/pandora_agent/pandora_agent.spec
+fi
+
+%clean
+rm -Rf $RPM_BUILD_ROOT
+
+%pre
+getent passwd pandora >/dev/null || \
+ /usr/sbin/useradd -d %{prefix}/pandora -s /bin/false -M -g 0 pandora
+exit 0
+chown pandora:root /var/log/pandora
+
+%post
+if [ ! -d /etc/pandora ] ; then
+ mkdir -p /etc/pandora
+fi
+
+if [ ! -f /usr/share/pandora_agent/pandora_agent.conf ] ; then
+ cp /usr/share/pandora_agent/pandora_agent.conf.rpmnew /usr/share/pandora_agent/pandora_agent.conf
+fi
+
+if [ ! -f /etc/pandora/pandora_agent.conf ] ; then
+ ln -s /usr/share/pandora_agent/pandora_agent.conf /etc/pandora/pandora_agent.conf
+else
+ [[ ! -f /etc/pandora/pandora_agent.conf.rpmnew ]] && ln -s /usr/share/pandora_agent/pandora_agent.conf.rpmnew /etc/pandora/pandora_agent.conf.rpmnew
+fi
+
+if [ ! -e /etc/pandora/plugins ]; then
+ ln -s /usr/share/pandora_agent/plugins /etc/pandora
+fi
+
+if [ ! -e /etc/pandora/collections ]; then
+ mkdir -p /usr/share/pandora_agent/collections
+ ln -s /usr/share/pandora_agent/collections /etc/pandora
+fi
+
+if [ ! -e /etc/pandora/commands ]; then
+ mkdir -p /usr/share/pandora_agent/commands
+ ln -s /usr/share/pandora_agent/commands /etc/pandora
+fi
+
+mkdir -p /var/spool/pandora/data_out
+if [ ! -d /var/log/pandora ]; then
+ mkdir -p /var/log/pandora
+fi
+
+if [ `command -v systemctl` ];
+then
+ echo "Copying new version of pandora_agent_daemon service"
+ cp -f /usr/share/pandora_agent/pandora_agent_daemon.service /usr/lib/systemd/system/
+ chmod -x /usr/lib/systemd/system/pandora_agent_daemon.service
+# Enable the services on SystemD
+ systemctl enable pandora_agent_daemon.service
+else
+ /sbin/chkconfig --add pandora_agent_daemon
+ /sbin/chkconfig pandora_agent_daemon on
+fi
+
+if [ "$1" -gt 1 ]
+then
+
+ echo "If Pandora Agent daemon was running with init.d script,"
+ echo "please stop it manually and start the service with systemctl"
+
+fi
+
+
+%preun
+
+# Upgrading
+if [ "$1" = "1" ]; then
+ exit 0
+fi
+
+/sbin/chkconfig --del pandora_agent_daemon
+/etc/rc.d/init.d/pandora_agent_daemon stop >/dev/null 2>&1 || :
+
+# Remove symbolic links
+pushd /etc/pandora
+for f in pandora_agent.conf plugins collections
+do
+ [ -L $f ] && rm -f $f
+done
+exit 0
+
+%files
+%defattr(750,root,root)
+/usr/bin/pandora_agent
+
+%defattr(755,pandora,root)
+%{prefix}/pandora_agent
+
+%defattr(755,root,root)
+/usr/bin/pandora_agent_exec
+/usr/bin/tentacle_client
+/etc/rc.d/init.d/pandora_agent_daemon
+
+%defattr(644,root,root)
+/usr/share/man/man1/pandora_agent.1.gz
+/usr/share/man/man1/tentacle_client.1.gz
+%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_agent
diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec
index aa619d96fc..da2b6b7fa7 100644
--- a/pandora_agents/unix/pandora_agent.spec
+++ b/pandora_agents/unix/pandora_agent.spec
@@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.772
-%define release 230705
+%define release 230801
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer
index 19d56d9041..c2c04e866d 100755
--- a/pandora_agents/unix/pandora_agent_installer
+++ b/pandora_agents/unix/pandora_agent_installer
@@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.772"
-PI_BUILD="230705"
+PI_BUILD="230801"
OS_NAME=`uname -s`
FORCE=0
@@ -541,8 +541,17 @@ install () {
then
echo "Define 'pandora_agent=\"YES\"' in /etc/rc.conf to enable the daemon."
else
- echo "Check your startup configuration to be sure Pandora FMS Agent is ready "
- echo "to start automatically when system restarts":
+ # Enable startup service
+ if [ `command -v systemctl` ]
+ then
+ systemctl enable pandora_agent_daemon
+ elif [ `command -v chkconfig` ]
+ then
+ chkconfig pandora_agent_daemon on
+ else
+ echo "Check your startup configuration to be sure Pandora FMS Agent is ready "
+ echo "to start automatically when system restarts":
+ fi
fi
# Restore the daemon script
diff --git a/pandora_agents/unix/plugins/inventory_solaris.pl b/pandora_agents/unix/plugins/inventory_solaris.pl
new file mode 100644
index 0000000000..fa07650e39
--- /dev/null
+++ b/pandora_agents/unix/plugins/inventory_solaris.pl
@@ -0,0 +1,121 @@
+#!/usr/bin/perl -w
+#
+
+use strict;
+use Data::Dumper;
+
+#print header
+print "\n";
+
+#get pakahes
+my @pkg_list = `/usr/bin/pkginfo -l 2> /dev/null`;
+
+print " \n";
+print " \n";
+print " \n";
+print " \n";
+#close software module
+
+
+#CPU module
+print " \n";
+print " \n";
+print " \n";
+print " \n";
+#close cpu module
+
+
+#RAM module
+print " \n";
+print " \n";
+print " \n";
+print " \n";
+#close RAM module
+
+#NIC module
+print " \n";
+print " \n";
+print " \n";
+print " \n";
+#close NIC module
+
+#close inventory
+print "\n";
\ No newline at end of file
diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi
index 92f642b538..7a88382b36 100644
--- a/pandora_agents/win32/installer/pandora.mpi
+++ b/pandora_agents/win32/installer/pandora.mpi
@@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
-{230705}
+{230801}
ViewReadme
{Yes}
diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc
index 363e89008d..57d4e2a9fd 100644
--- a/pandora_agents/win32/pandora.cc
+++ b/pandora_agents/win32/pandora.cc
@@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
-#define PANDORA_VERSION ("7.0NG.772 Build 230705")
+#define PANDORA_VERSION ("7.0NG.772 Build 230801")
string pandora_path;
string pandora_dir;
diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc
index 435bb08511..1f922a2123 100644
--- a/pandora_agents/win32/versioninfo.rc
+++ b/pandora_agents/win32/versioninfo.rc
@@ -6,12 +6,12 @@ BEGIN
BEGIN
BLOCK "080904E4"
BEGIN
- VALUE "CompanyName", "Artica ST"
+ VALUE "CompanyName", "Pandora FMS"
VALUE "FileDescription", "Pandora FMS Agent for Windows Platform"
- VALUE "LegalCopyright", "Artica ST"
+ VALUE "LegalCopyright", "Pandora FMS"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
- VALUE "ProductVersion", "(7.0NG.772(Build 230705))"
+ VALUE "ProductVersion", "(7.0NG.772(Build 230801))"
VALUE "FileVersion", "1.0.0.0"
END
END
diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control
index d165d8a1e3..66f3140f52 100644
--- a/pandora_console/DEBIAN/control
+++ b/pandora_console/DEBIAN/control
@@ -1,10 +1,10 @@
package: pandorafms-console
-Version: 7.0NG.772-230705
+Version: 7.0NG.772-230801
Architecture: all
Priority: optional
Section: admin
Installed-Size: 42112
-Maintainer: Artica ST
+Maintainer: Pandora FMS
Homepage: https://pandorafms.com/
Depends: php, php-snmp, php-gd, php-mysqlnd, php-db, php-xmlrpc, php-curl, graphviz, dbconfig-common, php-ldap, mysql-client | virtual-mysql-client, php-xmlrpc, php-zip, php-mbstring
Description: Pandora FMS is an Open Source monitoring tool. It monitor your systems and applications, and allows you to control the status of any element of them. The web console is the graphical user interface (GUI) to manage the pool and to generate reports and graphs from the Pandora FMS monitoring process.
diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh
index 622109247e..5211fe12bc 100644
--- a/pandora_console/DEBIAN/make_deb_package.sh
+++ b/pandora_console/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.772-230705"
+pandora_version="7.0NG.772-230801"
package_pear=0
package_pandora=1
@@ -163,7 +163,7 @@ if [ $package_pear -eq 1 ]
then
echo "Make the package \"php-xml-rpc\"."
cd temp_package
- dh-make-pear --maintainer "ÁRTICA ST " XML_RPC
+ dh-make-pear --maintainer "Pandora FMS " XML_RPC
cd php-xml-rpc-*
dpkg-buildpackage -rfakeroot
cd ..
diff --git a/pandora_console/composer.lock b/pandora_console/composer.lock
index d7a05579a9..cf6f9f2502 100644
--- a/pandora_console/composer.lock
+++ b/pandora_console/composer.lock
@@ -609,7 +609,7 @@
}
],
"description": "PHP library for ChartJS",
- "homepage": "https://artica.es/",
+ "homepage": "https://pandorafms.com/",
"keywords": [
"chartjs",
"graph",
diff --git a/pandora_console/extras/delete_files/delete_files.txt b/pandora_console/extras/delete_files/delete_files.txt
index 0c0e0bd7fc..5d603ac1f9 100644
--- a/pandora_console/extras/delete_files/delete_files.txt
+++ b/pandora_console/extras/delete_files/delete_files.txt
@@ -1692,3 +1692,14 @@ enterprise/godmode/modules/manage_inventory_modules_form.php
enterprise/operation/inventory/inventory.php
include/test.js
include/web2image.js
+enterprise/meta/monitoring/wizard/wizard.agent.php
+enterprise/meta/monitoring/wizard/wizard.create_agent.php
+enterprise/meta/monitoring/wizard/wizard.create_module.php
+enterprise/meta/monitoring/wizard/wizard.main.php
+enterprise/meta/monitoring/wizard/wizard.manage_alert.php
+enterprise/meta/monitoring/wizard/wizard.module.local.php
+enterprise/meta/monitoring/wizard/wizard.module.network.php
+enterprise/meta/monitoring/wizard/wizard.module.web.php
+enterprise/meta/monitoring/wizard/wizard.php
+enterprise/meta/monitoring/wizard/wizard.update_agent.php
+enterprise/meta/monitoring/wizard/wizard.update_module.php
\ No newline at end of file
diff --git a/pandora_console/extras/mr/65.sql b/pandora_console/extras/mr/65.sql
index 0b48fd1a01..31e221f3b0 100644
--- a/pandora_console/extras/mr/65.sql
+++ b/pandora_console/extras/mr/65.sql
@@ -1,5 +1,67 @@
START TRANSACTION;
+CREATE TABLE IF NOT EXISTS `tdiscovery_apps` (
+ `id_app` int(10) auto_increment,
+ `short_name` varchar(250) NOT NULL DEFAULT '',
+ `name` varchar(250) NOT NULL DEFAULT '',
+ `section` varchar(250) NOT NULL DEFAULT 'custom',
+ `description` varchar(250) NOT NULL DEFAULT '',
+ `version` varchar(250) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id_app`),
+ UNIQUE (`short_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+CREATE TABLE IF NOT EXISTS `tdiscovery_apps_scripts` (
+ `id_app` int(10),
+ `macro` varchar(250) NOT NULL DEFAULT '',
+ `value` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id_app`, `macro`),
+ FOREIGN KEY (`id_app`) REFERENCES tdiscovery_apps(`id_app`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+CREATE TABLE IF NOT EXISTS `tdiscovery_apps_executions` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `id_app` int(10),
+ `execution` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`, `id_app`),
+ FOREIGN KEY (`id_app`) REFERENCES tdiscovery_apps(`id_app`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+CREATE TABLE IF NOT EXISTS `tdiscovery_apps_tasks_macros` (
+ `id_task` int(10) unsigned NOT NULL,
+ `macro` varchar(250) NOT NULL DEFAULT '',
+ `type` varchar(250) NOT NULL DEFAULT 'custom',
+ `value` text NOT NULL DEFAULT '',
+ `temp_conf` tinyint unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`id_task`, `macro`),
+ FOREIGN KEY (`id_task`) REFERENCES trecon_task(`id_rt`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+
+ALTER TABLE `trecon_task`
+ ADD COLUMN `id_app` int(10),
+ ADD COLUMN `setup_complete` tinyint unsigned NOT NULL DEFAULT 0,
+ ADD COLUMN `executions_timeout` int unsigned NOT NULL DEFAULT 60,
+ ADD FOREIGN KEY (`id_app`) REFERENCES tdiscovery_apps(`id_app`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+CREATE TABLE IF NOT EXISTS `tnetwork_explorer_filter` (
+`id` INT NOT NULL,
+`filter_name` VARCHAR(45) NULL,
+`top` VARCHAR(45) NULL,
+`action` VARCHAR(45) NULL,
+`advanced_filter` TEXT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+CREATE TABLE IF NOT EXISTS `tnetwork_usage_filter` (
+`id` INT NOT NULL auto_increment,
+`filter_name` VARCHAR(45) NULL,
+`top` VARCHAR(45) NULL,
+`action` VARCHAR(45) NULL,
+`advanced_filter` TEXT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
ALTER TABLE `tlayout`
ADD COLUMN `grid_color` VARCHAR(45) NOT NULL DEFAULT '#cccccc' AFTER `maintenance_mode`,
ADD COLUMN `grid_size` VARCHAR(45) NOT NULL DEFAULT '10' AFTER `grid_color`;
@@ -8,6 +70,45 @@ ALTER TABLE `tlayout_template`
ADD COLUMN `grid_color` VARCHAR(45) NOT NULL DEFAULT '#cccccc' AFTER `maintenance_mode`,
ADD COLUMN `grid_size` VARCHAR(45) NOT NULL DEFAULT '10' AFTER `grid_color`;
+
DELETE FROM tconfig WHERE token = 'refr';
+INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`,`script_mode`) VALUES (37,2,'CPU','CPU','','Brand;Clock;Model','',0,2);
+
+INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`,`script_mode`) VALUES (38,2,'RAM','RAM','','Size','',0,2);
+
+INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`,`script_mode`) VALUES (39,2,'NIC','NIC','','NIC;Mac;Speed','',0,2);
+
+INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`,`script_mode`) VALUES (40,2,'Software','Software','','PKGINST;VERSION;NAME','',0,2);
+
+ALTER TABLE `treport_content` ADD COLUMN `period_range` INT NULL DEFAULT 0 AFTER `period`;
+
+CREATE TABLE IF NOT EXISTS `tevent_comment` (
+ `id` serial PRIMARY KEY,
+ `id_event` BIGINT UNSIGNED NOT NULL,
+ `utimestamp` BIGINT NOT NULL DEFAULT 0,
+ `comment` TEXT,
+ `id_user` VARCHAR(255) DEFAULT NULL,
+ `action` TEXT,
+ FOREIGN KEY (`id_event`) REFERENCES `tevento`(`id_evento`)
+ ON UPDATE CASCADE ON DELETE CASCADE,
+ FOREIGN KEY (`id_user`) REFERENCES tusuario(`id_user`)
+ ON DELETE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
+
+INSERT INTO `tevent_comment` (`id_event`, `utimestamp`, `comment`, `id_user`, `action`)
+SELECT * FROM (
+ SELECT tevento.id_evento AS `id_event`,
+ JSON_UNQUOTE(JSON_EXTRACT(tevento.user_comment, CONCAT('$[',n.num,'].utimestamp'))) AS `utimestamp`,
+ JSON_UNQUOTE(JSON_EXTRACT(tevento.user_comment, CONCAT('$[',n.num,'].comment'))) AS `comment`,
+ JSON_UNQUOTE(JSON_EXTRACT(tevento.user_comment, CONCAT('$[',n.num,'].id_user'))) AS `id_user`,
+ JSON_UNQUOTE(JSON_EXTRACT(tevento.user_comment, CONCAT('$[',n.num,'].action'))) AS `action`
+ FROM tevento
+ INNER JOIN (SELECT 0 num UNION ALL SELECT 1 UNION ALL SELECT 2) n
+ ON n.num < JSON_LENGTH(tevento.user_comment)
+ WHERE tevento.user_comment != ""
+) t order by utimestamp DESC;
+
+ALTER TABLE tevento DROP COLUMN user_comment;
+
COMMIT;
diff --git a/pandora_console/general/header.php b/pandora_console/general/header.php
index 646e40481e..36090b9446 100644
--- a/pandora_console/general/header.php
+++ b/pandora_console/general/header.php
@@ -34,6 +34,22 @@ echo sprintf('';
+ $header_welcome = '';
+ if (check_acl($config['id_user'], $group, 'AW')) {
+ $header_welcome .= '';
+ }
// ======= Servers List ===============================================
if ((bool) check_acl($config['id_user'], 0, 'AW') !== false) {
@@ -217,11 +233,8 @@ echo sprintf('