Ejemplo n.º 1
0
function querySNMPData()
{
    genericAssertion('ver', 'uint');
    $snmpsetup = array();
    switch ($_REQUEST['ver']) {
        case 1:
        case 2:
            genericAssertion('community', 'string');
            $snmpsetup['community'] = $_REQUEST['community'];
            break;
        case 3:
            assertStringArg('sec_name');
            assertStringArg('sec_level');
            assertStringArg('auth_protocol');
            assertStringArg('auth_passphrase', TRUE);
            assertStringArg('priv_protocol');
            assertStringArg('priv_passphrase', TRUE);
            $snmpsetup['sec_name'] = $_REQUEST['sec_name'];
            $snmpsetup['sec_level'] = $_REQUEST['sec_level'];
            $snmpsetup['auth_protocol'] = $_REQUEST['auth_protocol'];
            $snmpsetup['auth_passphrase'] = $_REQUEST['auth_passphrase'];
            $snmpsetup['priv_protocol'] = $_REQUEST['priv_protocol'];
            $snmpsetup['priv_passphrase'] = $_REQUEST['priv_passphrase'];
            break;
        default:
            throw new InvalidRequestArgException('ver', $_REQUEST['ver']);
    }
    $snmpsetup['version'] = $_REQUEST['ver'];
    doSNMPmining(getBypassValue(), $snmpsetup);
    // shows message by itself
}
Ejemplo n.º 2
0
Archivo: api.php Proyecto: xtha/salt
         assertStringArg('auth_protocol');
         assertStringArg('auth_passphrase', TRUE);
         assertStringArg('priv_protocol');
         assertStringArg('priv_passphrase', TRUE);
         $snmpsetup['sec_name'] = $_REQUEST['sec_name'];
         $snmpsetup['sec_level'] = $_REQUEST['sec_level'];
         $snmpsetup['auth_protocol'] = $_REQUEST['auth_protocol'];
         $snmpsetup['auth_passphrase'] = $_REQUEST['auth_passphrase'];
         $snmpsetup['priv_protocol'] = $_REQUEST['priv_protocol'];
         $snmpsetup['priv_passphrase'] = $_REQUEST['priv_passphrase'];
         break;
     default:
         throw new InvalidRequestArgException('ver', $_REQUEST['ver']);
 }
 $snmpsetup['version'] = $_REQUEST['ver'];
 doSNMPmining($object_id, $snmpsetup);
 $snmp_result = '';
 // look inside $log_messages -- fragile but all we
 // have since doSNMPminint() is meant to return data
 // via the UI
 if (count($log_messages)) {
     $msg = array_shift($log_messages);
     if (in_array('a', $msg)) {
         $snmp_result = $msg['a'][0];
     }
 }
 if ($snmp_result) {
     sendAPIResponse(array(), array('message' => "SNMP sync for object id {$object_id} successful", 'model_data' => $snmp_result));
 } else {
     throw new InvalidArgException('(unknown)', '(unknown)', "unknown problem syncing object id {$object_id} via SNMP v{$_REQUEST['ver']}");
 }