diff --git a/usr/local/www/services_snmp.php b/usr/local/www/services_snmp.php index 7a762a1b0a..e3b09eb9f9 100755 --- a/usr/local/www/services_snmp.php +++ b/usr/local/www/services_snmp.php @@ -35,9 +35,17 @@ require("guiconfig.inc"); if (!is_array($config['snmpd'])) { $config['snmpd'] = array(); $config['snmpd']['rocommunity'] = "public"; + $config['snmpd']['pollport'] = "161"; } +if (!is_array($config['snmpd']['modules'])) { + $config['snmpd']['modules'] = array(); + $config['snmpd']['modules']['mibii'] = true; + $config['snmpd']['modules']['netgraph'] = true; + $config['snmpd']['modules']['pf'] = true; +} $pconfig['enable'] = isset($config['snmpd']['enable']); +$pconfig['pollport'] = $config['snmpd']['pollport']; $pconfig['syslocation'] = $config['snmpd']['syslocation']; $pconfig['syscontact'] = $config['snmpd']['syscontact']; $pconfig['rocommunity'] = $config['snmpd']['rocommunity']; @@ -50,6 +58,10 @@ $pconfig['trapserver'] = $config['snmpd']['trapserver']; $pconfig['trapserverport'] = $config['snmpd']['trapserverport']; $pconfig['trapstring'] = $config['snmpd']['trapstring']; +$pconfig['mibii'] = isset($config['snmpd']['modules']['mibii']); +$pconfig['netgraph'] = isset($config['snmpd']['modules']['netgraph']); +$pconfig['pf'] = isset($config['snmpd']['modules']['pf']); + if ($_POST) { unset($input_errors); @@ -59,7 +71,10 @@ if ($_POST) { if ($_POST['enable']) { $reqdfields = explode(" ", "rocommunity"); $reqdfieldsn = explode(",", "Community"); - + do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); + + $reqdfields = explode(" ", "pollport"); + $reqdfieldsn = explode(",", "Polling Port"); do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); } @@ -67,9 +82,11 @@ if ($_POST) { $reqdfields = explode(" ", "trapserver"); $reqdfieldsn = explode(",", "Trap server"); do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); + $reqdfields = explode(" ", "trapserverport"); $reqdfieldsn = explode(",", "Trap server port"); do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); + $reqdfields = explode(" ", "trapstring"); $reqdfieldsn = explode(",", "Trap string"); do_input_validation($_POST, $reqdfields, $reqdfields, $reqdfieldsn, &$input_errors); @@ -88,6 +105,7 @@ if ($_POST) { if (!$input_errors) { $config['snmpd']['enable'] = $_POST['enable'] ? true : false; + $config['snmpd']['pollport'] = $_POST['pollport']; $config['snmpd']['syslocation'] = $_POST['syslocation']; $config['snmpd']['syscontact'] = $_POST['syscontact']; $config['snmpd']['rocommunity'] = $_POST['rocommunity']; @@ -100,6 +118,9 @@ if ($_POST) { $config['snmpd']['trapserverport'] = $_POST['trapserverport']; $config['snmpd']['trapstring'] = $_POST['trapstring']; + $config['snmpd']['modules']['mibii'] = $_POST['mibii'] ? true : false; + $config['snmpd']['modules']['netgraph'] = $_POST['netgraph'] ? true : false; + $config['snmpd']['modules']['pf'] = $_POST['pf'] ? true : false; write_config(); @@ -153,6 +174,7 @@ function enable_change(whichone) { if( document.iform.enable.checked == true ) { + document.iform.pollport.disabled = false; document.iform.syslocation.disabled = false; document.iform.syscontact.disabled = false; document.iform.rocommunity.disabled = false; @@ -180,9 +202,13 @@ function enable_change(whichone) { document.iform.trapserverport.disabled = true; document.iform.trapstring.disabled = true; } + document.iform.mibii.disabled = false; + document.iform.netgraph.disabled = false; + document.iform.pf.disabled = false; } else { + document.iform.pollport.disabled = true; document.iform.syslocation.disabled = true; document.iform.syscontact.disabled = true; document.iform.rocommunity.disabled = true; @@ -194,6 +220,10 @@ function enable_change(whichone) { document.iform.trapserver.disabled = true; document.iform.trapserverport.disabled = true; document.iform.trapstring.disabled = true; + + document.iform.mibii.disabled = true; + document.iform.netgraph.disabled = true; + document.iform.pf.disabled = true; } } //--> @@ -213,79 +243,97 @@ function enable_change(whichone) {