From ccefa59888cef167e30ef3cbe34cc0ee721c63a5 Mon Sep 17 00:00:00 2001 From: juanmanuelr Date: Wed, 4 Apr 2012 12:30:11 +0000 Subject: [PATCH] 2012-04-04 Juan Manuel Ramon * include/javascript/pandora_modules.js include/functions.php extensions/snmp_explorer.php godmode/agentes/module_manager_editor.php: Fixed several errors in snmp walk and snmp explorer functionality. Fixes: #3514508 git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5896 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 10 ++++++++++ pandora_console/extensions/snmp_explorer.php | 2 +- .../godmode/agentes/module_manager_editor.php | 17 +++++++++++++---- pandora_console/include/functions.php | 7 ++++++- .../include/javascript/pandora_modules.js | 1 + 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 182934b64b..bd3c1e0850 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,13 @@ +2012-04-04 Juan Manuel Ramon + + * include/javascript/pandora_modules.js + include/functions.php + extensions/snmp_explorer.php + godmode/agentes/module_manager_editor.php: Fixed several errors in + snmp walk and snmp explorer functionality. + + Fixes: #3514508 + 2012-04-04 Dario Rodriguez * extensions/update_pandora.php: Moved from gsetup diff --git a/pandora_console/extensions/snmp_explorer.php b/pandora_console/extensions/snmp_explorer.php index 4fc1568a88..eed59ec33e 100755 --- a/pandora_console/extensions/snmp_explorer.php +++ b/pandora_console/extensions/snmp_explorer.php @@ -56,7 +56,7 @@ function snmp_explorer() { $snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user, $snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass, - $snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1"); + $snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1", $tcp_port); if($snmpis === false) { $snmpis = array(); diff --git a/pandora_console/godmode/agentes/module_manager_editor.php b/pandora_console/godmode/agentes/module_manager_editor.php index da40eefb6b..c985fd08b1 100644 --- a/pandora_console/godmode/agentes/module_manager_editor.php +++ b/pandora_console/godmode/agentes/module_manager_editor.php @@ -82,8 +82,16 @@ if (is_ajax ()) { } if ($snmp_walk) { - $ip_target = (string) get_parameter ('ip_target'); - $snmp_community = (string) get_parameter ('snmp_community'); + $test_ip_type = get_parameter ('ip_target'); + if (is_array($test_ip_type)) + $ip_target = (string)array_shift($test_ip_type); + else + $ip_target = (string) get_parameter ('ip_target'); + $test_snmp_community = get_parameter ('snmp_community'); + if (is_array($test_snmp_community)) + $snmp_community = (string)array_shift($test_snmp_community); + else + $snmp_community = (string) get_parameter ('snmp_community'); $snmp_version = get_parameter('snmp_version'); $snmp3_auth_user = get_parameter('snmp3_auth_user'); $snmp3_security_level = get_parameter('snmp3_security_level'); @@ -91,10 +99,11 @@ if (is_ajax ()) { $snmp3_auth_pass = get_parameter('snmp3_auth_pass'); $snmp3_privacy_method = get_parameter('snmp3_privacy_method'); $snmp3_privacy_pass = get_parameter('snmp3_privacy_pass'); - + $snmp_port = get_parameter('snmp_port'); + $snmpwalk = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user, $snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass, - $snmp3_privacy_method, $snmp3_privacy_pass, 1); + $snmp3_privacy_method, $snmp3_privacy_pass, 1, "", $snmp_port); if ($snmpwalk === false) { echo json_encode ($snmpwalk); diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php index bc73580b71..a1ff7ed097 100644 --- a/pandora_console/include/functions.php +++ b/pandora_console/include/functions.php @@ -1150,10 +1150,15 @@ function array_key_to_offset($array, $key) { */ function get_snmpwalk($ip_target, $snmp_version, $snmp_community = '', $snmp3_auth_user = '', $snmp3_security_level = '', $snmp3_auth_method = '', $snmp3_auth_pass = '', - $snmp3_privacy_method = '', $snmp3_privacy_pass = '', $quick_print = 0, $base_oid = "") { + $snmp3_privacy_method = '', $snmp3_privacy_pass = '', $quick_print = 0, $base_oid = "", $snmp_port = '') { snmp_set_quick_print ($quick_print); + // Fix for snmp port + if (!empty($snmp_port)){ + $ip_target = $ip_target.':'.$snmp_port; + } + switch ($snmp_version) { case '3': $snmpwalk = @snmp3_real_walk ($ip_target, $snmp3_auth_user, diff --git a/pandora_console/include/javascript/pandora_modules.js b/pandora_console/include/javascript/pandora_modules.js index 45d57f70a4..8dbc83d259 100644 --- a/pandora_console/include/javascript/pandora_modules.js +++ b/pandora_console/include/javascript/pandora_modules.js @@ -260,6 +260,7 @@ function configure_modules_form () { "snmp_walk" : 1, "ip_target" : $("#text-ip_target").fieldValue (), "snmp_community" : $("#text-snmp_community").fieldValue (), + "snmp_port" : $("#text-tcp_port").val(), "snmp_version": $('#snmp_version').val(), "snmp3_auth_user": $('input[name=snmp3_auth_user]').val(), "snmp3_security_level": $('#snmp3_security_level').val(),