From 331820371e247941cf47eee4a016bbbeb3289f3d Mon Sep 17 00:00:00 2001 From: hkosaka Date: Wed, 20 Jun 2012 07:27:56 +0000 Subject: [PATCH] 2012-06-20 Hirofumi Kosaka * extensions/net_tools.php: Fixed bug: cannot find traceroute other than /usr/sbin/traceroute. Merged from 4.0.2 git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6605 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 6 ++++ pandora_console/extensions/net_tools.php | 42 +++++++++++++++--------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 307b385f8b..5929d063c5 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,9 @@ +2012-06-20 Hirofumi Kosaka + + * extensions/net_tools.php: Fixed bug: cannot find traceroute + other than /usr/sbin/traceroute. + Merged from 4.0.2 + 2012-06-20 Hirofumi Kosaka * include/functions.php: Changed ambiguous time representation diff --git a/pandora_console/extensions/net_tools.php b/pandora_console/extensions/net_tools.php index c44720a171..08a0400acc 100644 --- a/pandora_console/extensions/net_tools.php +++ b/pandora_console/extensions/net_tools.php @@ -46,24 +46,36 @@ function main_net_tools () { echo ""; echo ""; echo ""; - - + + $operation = get_parameter ("operation",0); $community = get_parameter ("community","public"); - + switch($operation) { - case 1: - if (!file_exists('/usr/sbin/traceroute')) { - ui_print_error_message(__('Traceroute executable does not exist.')); - } - else { - echo "

".__("Traceroute to "). $ip. "

"; - echo "
";
-				echo system ("/usr/sbin/traceroute $ip");
-				echo "
"; - } - break; - case 2: + case 1: + ob_start(); + system('whereis traceroute'); + $output = ob_get_clean(); + $result = explode(':', $output); + $result = trim($result[1]); + if (! empty($result)) { + echo "

".__("Traceroute to "). $ip. "

"; + echo "
";
+                                echo system ("traceroute $ip");
+                                echo "
"; + } + elseif (file_exists('/usr/sbin/traceroute')) { + echo "

".__("Traceroute to "). $ip. "

"; + echo "
";
+                                echo system ("/usr/sbin/traceroute $ip");
+                                echo "
"; + } + else { + ui_print_error_message(__('Traceroute executable does not exist.')); + } + break; + + case 2: ob_start(); system('whereis ping'); $output = ob_get_clean();