diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index c72730a98b..2aedb1a757 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 6.0dev-150422 +Version: 6.0dev-150427 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 8e6acc2300..490df892cf 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="6.0dev-150422" +pandora_version="6.0dev-150427" 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 f43420b46f..7ca44dcb8f 100644 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -41,7 +41,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '6.0dev'; -use constant AGENT_BUILD => '150422'; +use constant AGENT_BUILD => '150427'; # Commands to retrieve total memory information in kB use constant TOTALMEMORY_CMDS => { @@ -754,8 +754,31 @@ sub read_config (;$) { $RemoteConfFile = "$AgentMD5.conf"; $RemoteMD5File = "$AgentMD5.md5"; - # Set the maximun number of threads - $ThreadSem = Thread::Semaphore->new ($Conf{'agent_threads'}) if defined ($Sem); + # Load thread support if agent_threads is greater than 1. + if ($Conf{'agent_threads'} > 1) { + eval { + local $SIG{__DIE__}; + require threads; + require threads::shared; + require Thread::Semaphore; + }; + if (!$@) { + $Sem = Thread::Semaphore->new; + $ThreadSem = Thread::Semaphore->new ($Conf{'agent_threads'}); + threads::shared::share (\$Xml); + threads::shared::share (\$Sem); + log_message ('log', 'Using thread library.'); + } else { + log_message ('log', 'Thread library is not available. agent_threads is set to 1 (disabled).'); + $Conf{'agent_threads'} = 1; + $Sem = undef; + $ThreadSem = undef; + } + } else { + $Sem = undef; + $ThreadSem = undef; + log_message ('log', 'Thread is disabled.'); + } # Set tentacle client options if ($Conf{'transfer_mode'} eq 'tentacle') { @@ -1205,7 +1228,7 @@ sub guess_os_version ($) { ################################################################################ sub exec_module ($) { my $module = shift; - +print "THREAD " . threads->tid() . " EXECUTING MODULE " . $module->{'name'} . "\n"; # Need something to execute if ($module->{'func'} == 0) { $ThreadSem->up () if (defined ($ThreadSem) && $Conf{'agent_threads'} > 1); @@ -2064,27 +2087,6 @@ error ("Temporal directory '" . $Conf{'temporal'} . "' does not exist.") unless $Conf{'server_path'} = fix_directory ($Conf{'server_path'}); $Conf{'secondary_server_path'} = fix_directory ($Conf{'secondary_server_path'}); -# Load thread support if agent_threads is greater than 1. -if ($Conf{'agent_threads'} > 1) { - eval { - local $SIG{__DIE__}; - require threads; - require threads::shared; - require Thread::Semaphore; - }; - if (!$@) { - $Sem = Thread::Semaphore->new; - threads::shared::share (\$Xml); - threads::shared::share (\$Sem); - log_message ('log', 'Using thread library.'); - } else { - log_message ('log', 'Thread library is not available. agent_threads is set to 1 (disabled).'); - $Conf{'agent_threads'} = 1; - } -} else { - log_message ('log', 'Thread is disabled.'); -} - # Startup delay log_message ('log', 'Sleeping for ' . $Conf{'delayed_startup'} . ' seconds.') if ($Conf{'delayed_startup'} > 0); sleep ($Conf{'delayed_startup'}); diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index c457e6ba20..a9927948cd 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 6.0dev -%define release 150422 +%define release 150427 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 c1c69046e0..e906675e87 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 6.0dev -%define release 150422 +%define release 150427 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_daemon b/pandora_agents/unix/pandora_agent_daemon index 9b0205ce87..5181132d88 100755 --- a/pandora_agents/unix/pandora_agent_daemon +++ b/pandora_agents/unix/pandora_agent_daemon @@ -47,9 +47,9 @@ pidof_pandora () { fi if [ "$ZONE" = "global" ] then - PANDORA_PID=`ps -f -z global | grep "$TRUNCATED_DAEMON" | grep -v grep | head -1 | awk '{ print $2 }'` + PANDORA_PID=`ps -f -z global | grep "$TRUNCATED_DAEMON" | grep -v grep | awk '{ print $2 }'` else - PANDORA_PID=`ps -Af | grep "$TRUNCATED_DAEMON" | grep -v grep | head -1 | awk '{ print $2 }'` + PANDORA_PID=`ps -Af | grep "$TRUNCATED_DAEMON" | grep -v grep | awk '{ print $2 }'` fi elif [ "$OS_NAME" = "Linux" ] && [ -x /usr/sbin/vzpid ] then @@ -66,7 +66,7 @@ pidof_pandora () { fi done else - PANDORA_PID=`ps -Af | grep "$DAEMON $PANDORA_PATH" | grep -v grep | head -1 | awk '{ print $2 }'` + PANDORA_PID=`ps -Af | grep "$DAEMON $PANDORA_PATH" | grep -v grep | awk '{ print $2 }'` fi echo $PANDORA_PID @@ -90,7 +90,14 @@ case "$1" in su $PANDORA_USER -c "PATH=$PATH nohup $DAEMON $PANDORA_PATH >/dev/null 2>$LOGFILE &" sleep 2 PANDORA_PID=`pidof_pandora` - echo "Pandora FMS Agent is now running with PID $PANDORA_PID" + if [ "$PANDORA_PID" = "" ] + then + + echo "Pandora FMS Agent could not be started. Please check the file $LOGFILE." + exit 1 + else + echo "Pandora FMS Agent is now running with PID $PANDORA_PID" + fi ;; stop) diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index 470a2e0629..fbed5b1a66 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{150422} +{150427} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 89ff13577e..81fc0d6fdb 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 ("6.0dev(Build 150422)") +#define PANDORA_VERSION ("6.0dev(Build 150427)") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index 0551809a53..b7aa57760d 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", "(6.0dev(Build 150422))" + VALUE "ProductVersion", "(6.0dev(Build 150427))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index 3d6b108492..9f50b8e7e4 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 6.0dev-150422 +Version: 6.0dev-150427 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 ab433c1265..7215ec29ff 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="6.0dev-150422" +pandora_version="6.0dev-150427" package_pear=0 package_pandora=1 diff --git a/pandora_console/godmode/reporting/visual_console_builder.elements.php b/pandora_console/godmode/reporting/visual_console_builder.elements.php index 0809aee4b8..e827e05dbd 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.elements.php +++ b/pandora_console/godmode/reporting/visual_console_builder.elements.php @@ -340,11 +340,9 @@ foreach ($layoutDatas as $layoutData) { $params['javascript_ajax_page'] = '../../ajax.php'; $params['disabled_javascript_on_blur_function'] = true; - $params['print_input_server'] = true; - $params['input_server_id'] = - $params['input_server_name'] = 'id_server_name_' . $idLayoutData; - $params['input_server_value'] = - db_get_value('server_name', 'tmetaconsole_setup', 'id', $layoutData['id_metaconsole']); + $params['print_input_id_server'] = true; + $params['input_id_server_id'] = $params['input_id_server_name'] = 'id_server_id_' . $idLayoutData; + $params['input_id_server_value'] = $layoutData['id_metaconsole']; $params['metaconsole_enabled'] = true; $params['print_hidden_input_idagent'] = true; $params['hidden_input_idagent_name'] = 'id_agent_' . $idLayoutData; diff --git a/pandora_console/godmode/reporting/visual_console_builder.php b/pandora_console/godmode/reporting/visual_console_builder.php index f3ab691db0..df41615261 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.php +++ b/pandora_console/godmode/reporting/visual_console_builder.php @@ -281,11 +281,8 @@ switch ($activeTab) { } $agentName = get_parameter('agent_' . $id, ''); if (defined('METACONSOLE')) { - $values['id_metaconsole'] = db_get_value('id', - 'tmetaconsole_setup', 'server_name', - get_parameter('id_server_name_' . $id, '')); - $values['id_agent'] = - (int)get_parameter('id_agent_' . $id, 0); + $values['id_metaconsole'] = (int) get_parameter('id_server_id_' . $id, ''); + $values['id_agent'] = (int) get_parameter('id_agent_' . $id, 0); } else { $values['id_agent'] = agents_get_agent_id($agentName); diff --git a/pandora_console/godmode/reporting/visual_console_builder.wizard.php b/pandora_console/godmode/reporting/visual_console_builder.wizard.php index 3562686f9d..2196865ded 100644 --- a/pandora_console/godmode/reporting/visual_console_builder.wizard.php +++ b/pandora_console/godmode/reporting/visual_console_builder.wizard.php @@ -180,7 +180,7 @@ if (defined('METACONSOLE')) { $table->rowstyle["all_2"] = 'display: none;'; $table->data["all_2"][0] = __('Servers'); $table->data["all_2"][1] = html_meta_print_select_servers(false, - false, 'servers', '', '', '', 0, true); + false, 'servers', '', 'metaconsole_init();', '', 0, true); } @@ -207,8 +207,12 @@ $table->data["all_one_item_per_agent"][1] .= html_print_input_hidden( $table->rowstyle["all_4"] = 'display: none;'; $table->data["all_4"][0] = __('Agents'); -$table->data["all_4"][1] = html_print_select( - agents_get_group_agents(0, false, "none", false, true), + +$agents_list = array(); +if (!defined('METACONSOLE')) + $agents_list = agents_get_group_agents(0, false, "none", false, true); + +$table->data["all_4"][1] = html_print_select($agents_list, 'id_agents[]', 0, false, '', '', true, true); $table->data["all_4"][2] = ' ' . __('Modules') . ''; @@ -269,7 +273,7 @@ else { onsubmit="if (! confirm(\''.__('Are you sure to add many elements\nin visual map?').'\')) return false; else return check_fields();">'; } -if(defined("METACONSOLE")){ +if (defined("METACONSOLE")) { echo "