예제 #1
0
function get_version_list($conn, $data)
{
    $response = array();
    $model = $data['model'];
    ossim_valid($model, OSS_NULLABLE, OSS_ALPHA, OSS_PUNC_EXT, 'illegal:' . _("Model"));
    check_ossim_error();
    if (empty($model)) {
        $items = array();
    } else {
        $model = escape_sql($model, $conn);
        $items = Software::get_versions_by_cpe($conn, $model, TRUE);
    }
    $response['error'] = FALSE;
    $response['data']['items'] = $items;
    return $response;
}
예제 #2
0
    $active_plugins = Plugin::get_plugins_by_device(Util::uuid_format($selected_sensor));
    $asset_plugins = is_array($active_plugins[$asset_id]) ? $active_plugins[$asset_id] : array();
    foreach ($asset_plugins as $pdata) {
        $model_list = array();
        $version_list = array();
        list($vendor, $model, $version) = Plugin::translate_cpe_to_software($pdata['cpe']);
        if ($vendor != '') {
            try {
                $model_list = Software::get_models_by_cpe($conn, $vendor, TRUE);
            } catch (Exception $e) {
                Av_exception::write_log(Av_exception::USER_ERROR, $e->getMessage());
            }
        }
        if ($model != '') {
            try {
                $version_list = Software::get_versions_by_cpe($conn, $model, TRUE);
            } catch (Exception $e) {
                Av_exception::write_log(Av_exception::USER_ERROR, $e->getMessage());
            }
        }
        $plugin_list[] = array('vendor' => $vendor, 'model' => $model, 'version' => $version, 'model_list' => $model_list, 'version_list' => $version_list);
    }
} catch (Exception $e) {
    Av_exception::write_log(Av_exception::USER_ERROR, $e->getMessage());
}
if (empty($plugin_list)) {
    $plugin_list[] = array('vendor' => '', 'model' => '', 'version' => '', 'model_list' => array(), 'version_list' => array());
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">