diff --git a/extras/deploy-scripts/pandora_deploy_community.sh b/extras/deploy-scripts/pandora_deploy_community.sh index 00c31d911b..7f70addfec 100644 --- a/extras/deploy-scripts/pandora_deploy_community.sh +++ b/extras/deploy-scripts/pandora_deploy_community.sh @@ -151,7 +151,7 @@ execute_cmd "yum install -y $extra_repos" "Installing extra repositories" execute_cmd "yum-config-manager --enable remi-php73" "Configuring PHP" # Install percona Database -[ -f /etc/resolv.conf ] && rm -rf /etc/my.cnf +[ -f /etc/my.cnf ] && rm -rf /etc/my.cnf execute_cmd "yum install -y Percona-Server-server-57" "Installing Percona Server" # Console dependencies @@ -429,6 +429,7 @@ sed -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini sed -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini 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 cat > /var/www/html/index.html << EOF_INDEX diff --git a/extras/docker/centos8/pandora-stack/sources/init_pandora.sh b/extras/docker/centos8/pandora-stack/sources/init_pandora.sh index 7c000ebebd..76a0954bb8 100755 --- a/extras/docker/centos8/pandora-stack/sources/init_pandora.sh +++ b/extras/docker/centos8/pandora-stack/sources/init_pandora.sh @@ -149,6 +149,7 @@ EOF_INDEX sed -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini 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 echo "- Setting Public URL: $PUBLICURL" q=$(mysql -u$DBUSER -p$DBPASS $DBNAME -h$DBHOST -sNe "select token from tconfig;" | grep public_url) diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index d24e9d2fa5..4a53219893 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.756-210726 +Version: 7.0NG.756-210910 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 5ff9d64bf4..9299c5c702 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.756-210726" +pandora_version="7.0NG.756-210910" 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/pandora_agent b/pandora_agents/unix/pandora_agent index 6baeaa16fa..c21c66dab0 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -1015,7 +1015,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.756'; -use constant AGENT_BUILD => '210726'; +use constant AGENT_BUILD => '210910'; # 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 573af49127..ad7af1ad18 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.756 -%define release 210726 +%define release 210910 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 495b8c26ee..a05cdc508f 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.756 -%define release 210726 +%define release 210910 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 8b09996874..8f89d060c2 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.756" -PI_BUILD="210726" +PI_BUILD="210910" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index aef71b265f..d39e523a55 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{210726} +{210910} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 5fba5d73db..37893c5aa4 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.756 Build 210726") +#define PANDORA_VERSION ("7.0NG.756 Build 210910") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index c71f51047b..b6956f55c9 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.756(Build 210726))" + VALUE "ProductVersion", "(7.0NG.756(Build 210910))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index 4955feeea8..41440d41f3 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.756-210726 +Version: 7.0NG.756-210910 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index 64b5dac436..50a20b36d6 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.756-210726" +pandora_version="7.0NG.756-210910" package_pear=0 package_pandora=1 diff --git a/pandora_console/extensions/users_connected.php b/pandora_console/extensions/users_connected.php index 884285dd28..32be153e69 100644 --- a/pandora_console/extensions/users_connected.php +++ b/pandora_console/extensions/users_connected.php @@ -33,10 +33,19 @@ function users_extension_main_god($god=true) $image = 'images/user.png'; } - // Header + // Header. ui_print_page_header(__('Users connected'), $image, false, '', $god); - // Get groups user has permission + $check_profile = db_get_row('tusuario_perfil', 'id_usuario', $config['id_user'], 'id_up'); + if ($check_profile === false && !users_is_admin()) { + return ui_print_error_message( + __('This user does not have any associated profile'), + '', + false + ); + } + + // Get groups user has permission. $group_um = users_get_groups_UM($config['id_user']); // Is admin or has group permissions all. $groups = implode(',', array_keys($group_um, 1)); @@ -44,51 +53,85 @@ function users_extension_main_god($god=true) // Get user conected last 5 minutes.Show only those on which the user has permission. switch ($config['dbtype']) { case 'mysql': - $sql = sprintf( - 'SELECT tusuario.id_user, tusuario.last_connect - FROM tusuario - INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user - AND tusuario_perfil.id_grupo IN (%s) - WHERE last_connect > (UNIX_TIMESTAMP(NOW()) - '.SECONDS_5MINUTES.') - GROUP BY tusuario.id_user - ORDER BY last_connect DESC', - $groups - ); + if (users_is_admin()) { + $sql = sprintf( + 'SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + WHERE last_connect > (UNIX_TIMESTAMP(NOW()) - '.SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC' + ); + } else { + $sql = sprintf( + 'SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user + AND tusuario_perfil.id_grupo IN (%s) + WHERE last_connect > (UNIX_TIMESTAMP(NOW()) - '.SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC', + $groups + ); + } break; case 'postgresql': - $sql = sprintf( - "SELECT tusuario.id_user, tusuario.last_connect - FROM tusuario - INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user - AND tusuario_perfil.id_grupo IN (%s) - WHERE last_connect > (ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_5MINUTES.') - GROUP BY tusuario.id_user - ORDER BY last_connect DESC', - $groups - ); + if (users_is_admin()) { + $sql = sprintf( + "SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + WHERE last_connect > (ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC' + ); + } else { + $sql = sprintf( + "SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user + AND tusuario_perfil.id_grupo IN (%s) + WHERE last_connect > (ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC', + $groups + ); + } break; case 'oracle': - $sql = sprintf( - "SELECT tusuario.id_user, tusuario.last_connect - FROM tusuario - INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user - AND tusuario_perfil.id_grupo IN (%s) - WHERE last_connect > (ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_5MINUTES.') - GROUP BY tusuario.id_user - ORDER BY last_connect DESC', - $groups - ); + if (users_is_admin()) { + $sql = sprintf( + "SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + WHERE last_connect > (ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC' + ); + } else { + $sql = sprintf( + "SELECT tusuario.id_user, tusuario.last_connect + FROM tusuario + INNER JOIN tusuario_perfil ON tusuario_perfil.id_usuario = tusuario.id_user + AND tusuario_perfil.id_grupo IN (%s) + WHERE last_connect > (ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_5MINUTES.') + GROUP BY tusuario.id_user + ORDER BY last_connect DESC', + $groups + ); + } + break; + + default: + // Nothing to do. break; } $rows = db_get_all_rows_sql($sql); - if (empty($rows)) { $rows = []; echo "
'.__('Interval').'
'; @@ -500,7 +507,10 @@ if (enterprise_installed()) { false, // Delete_groups. // Do not show the primary group in this selection. - array_merge(($secondary_groups_selected['plain'] ?? []), [$agent['id_grupo']]) + array_merge( + (empty($secondary_groups_selected['plain']) === false) ? $secondary_groups_selected['plain'] : [], + [$agent['id_grupo']] + ) // Include_groups. // Size. // Simple_multiple_options. @@ -1243,6 +1253,9 @@ ui_require_jquery_file('bgiframe'); }); $("select#id_os").pandoraSelectOS (); + $('select#grupo').pandoraSelectGroupIcon (); + + var checked = $("#checkbox-cascade_protection").is(":checked"); if (checked) { diff --git a/pandora_console/godmode/agentes/configurar_agente.php b/pandora_console/godmode/agentes/configurar_agente.php index abdb5a8dca..8617f85b70 100644 --- a/pandora_console/godmode/agentes/configurar_agente.php +++ b/pandora_console/godmode/agentes/configurar_agente.php @@ -2095,7 +2095,7 @@ if ($delete_module) { exit; } - // Also call base function to delete modules madafakas de los cojones. + // Also call base function to delete modules. modules_delete_agent_module($id_borrar_modulo); // Check for errors. @@ -2368,7 +2368,7 @@ switch ($tab) { var aget_id_os = ''; - if('' != $('#text-name').val() && + if('' != $('#text-name').val() && '' == 19){ event.preventDefault(); @@ -2402,7 +2402,7 @@ switch ($tab) { var module_type_snmp = ''; - if('' != $('#text-name').val() && ( + if('' != $('#text-name').val() && ( module_type_snmp == 15 || module_type_snmp == 16 || module_type_snmp == 17 || module_type_snmp == 18)){ event.preventDefault(); diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index 84f9c77ed7..36efc20290 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -215,7 +215,7 @@ $table_simple->colspan[3][1] = 3; $table_simple->data[0][0] = __('Name'); $table_simple->data[0][1] = html_print_input_text_extended( 'name', - io_safe_input(html_entity_decode($name, ENT_QUOTES, 'UTF-8')), + $name, 'text-name', '', 45, diff --git a/pandora_console/godmode/agentes/module_manager_editor_network.php b/pandora_console/godmode/agentes/module_manager_editor_network.php index be00db6518..6109445d29 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_network.php +++ b/pandora_console/godmode/agentes/module_manager_editor_network.php @@ -443,6 +443,13 @@ $data[1] = html_print_input_text_extended( $largeClassDisabledBecauseInPolicy, true ); +$data[1] .= ui_print_help_tip( + __( + 'Please use single quotation marks when necessary. '."\n".' +If double quotation marks are needed, please escape them with a backslash (\")' + ), + true +); $table_simple->colspan['row-cmd-row-1'][1] = 3; push_table_simple($data, 'row-cmd-row-1'); @@ -577,12 +584,7 @@ $(document).ready (function () { $('#text-ip_target').keyup(function() { $('#text-target_ip').val($(this).val()); }); - $('#text-target_ip').keyup(function() { - $('#text-ip_target').val($(this).val()); - }); - $('#text-community').keyup(function() { - $('#text-snmp_community').val($(this).val()); - }); + $('#text-snmp_community').keyup(function() { $('#text-community').val($(this).val()); }); @@ -591,61 +593,25 @@ $(document).ready (function () { // Display or collapse the SNMP browser's v3 options checkSNMPVersion (); }); - $('#snmp_browser_version').change(function() { - $('#snmp_version').val($(this).val()); - - // Display or collapse the SNMP v3 options in the main window - if ($(this).val() == "3") { - $("#simple-field_snmpv3_row1").attr("style", ""); - $("#simple-field_snmpv3_row2").attr("style", ""); - $("#simple-field_snmpv3_row3").attr("style", ""); - $("input[name=active_snmp_v3]").val(1); - $("input[name=snmp_community]").attr("disabled", true); - } - else { - $("#simple-field_snmpv3_row1").css("display", "none"); - $("#simple-field_snmpv3_row2").css("display", "none"); - $("#simple-field_snmpv3_row3").css("display", "none"); - $("input[name=active_snmp_v3]").val(0); - $("input[name=snmp_community]").removeAttr('disabled'); - } - }); $('#snmp3_auth_user').keyup(function() { $('#snmp3_browser_auth_user').val($(this).val()); }); - $('#snmp3_browser_auth_user').keyup(function() { - $('#snmp3_auth_user').val($(this).val()); - }); $('#snmp3_security_level').change(function() { $('#snmp3_browser_security_level').val($(this).val()); }); - $('#snmp3_browser_security_level').change(function() { - $('#snmp3_security_level').val($(this).val()); - }); $('#snmp3_auth_method').change(function() { $('#snmp3_browser_auth_method').val($(this).val()); }); - $('#snmp3_browser_auth_method').change(function() { - $('#snmp3_auth_method').val($(this).val()); - }); $('#snmp3_auth_pass').keyup(function() { $('#snmp3_browser_auth_pass').val($(this).val()); }); - $('#snmp3_browser_auth_pass').keyup(function() { - $('#snmp3_auth_pass').val($(this).val()); - }); $('#snmp3_privacy_method').change(function() { $('#snmp3_browser_privacy_method').val($(this).val()); }); - $('#snmp3_browser_privacy_method').change(function() { - $('#snmp3_privacy_method').val($(this).val()); - }); $('#snmp3_privacy_pass').keyup(function() { $('#snmp3_browser_privacy_pass').val($(this).val()); }); - $('#snmp3_browser_privacy_pass').keyup(function() { - $('#snmp3_privacy_pass').val($(this).val()); - }); + var custom_ip_target = ""; if(custom_ip_target == ''){ $("#text-custom_ip_target").hide(); diff --git a/pandora_console/godmode/alerts/alert_list.list.php b/pandora_console/godmode/alerts/alert_list.list.php index 399bb55cfd..a9de8608e7 100644 --- a/pandora_console/godmode/alerts/alert_list.list.php +++ b/pandora_console/godmode/alerts/alert_list.list.php @@ -708,7 +708,7 @@ foreach ($simple_alerts as $alert) { $data[3] .= '