[][src]Struct cvssrust::v2::V2Vector

pub struct V2Vector {
    pub access_vector: AccessVector,
    pub access_complexity: AccessComplexity,
    pub authentication: Authentication,
    pub confidentiality_impact: ConfidentialityImpact,
    pub integrity_impact: IntegrityImpact,
    pub availability_impact: AvailabilityImpact,
    pub exploitability: Exploitability,
    pub remediation_level: RemediationLevel,
    pub report_confidence: ReportConfidence,
    pub collateral_damage_potential: CollateralDamagePotential,
    pub target_distribution: TargetDistribution,
    pub confidentiality_requirement: ConfidentialityRequirement,
    pub integrity_requirement: IntegrityRequirement,
    pub availability_requirement: AvailabilityRequirement,
}

CVSS vector version v2

use cvssrust::v2::V2Vector;
use cvssrust::CVSSScore;
use std::str::FromStr;

let cvss_str = "AV:A/AC:L/Au:S/C:P/I:P/A:C/E:POC/RL:W/RC:UR/CDP:LM/TD:H/CR:M/IR:M/AR:M";
let cvss = V2Vector::from_str(cvss_str).unwrap();

assert_eq!(cvss.to_string(), String::from(cvss_str));
assert_eq!(cvss.base_score().value(), 6.7);
assert_eq!(cvss.base_score().severity().to_string(), "Medium");
assert_eq!(cvss.temporal_score().value(), 5.5);

Fields

access_vector: AccessVectoraccess_complexity: AccessComplexityauthentication: Authenticationconfidentiality_impact: ConfidentialityImpactintegrity_impact: IntegrityImpactavailability_impact: AvailabilityImpactexploitability: Exploitabilityremediation_level: RemediationLevelreport_confidence: ReportConfidencecollateral_damage_potential: CollateralDamagePotentialtarget_distribution: TargetDistributionconfidentiality_requirement: ConfidentialityRequirementintegrity_requirement: IntegrityRequirementavailability_requirement: AvailabilityRequirement

Implementations

impl V2Vector[src]

pub fn new(
    access_vector: AccessVector,
    access_complexity: AccessComplexity,
    authentication: Authentication,
    confidentiality_impact: ConfidentialityImpact,
    integrity_impact: IntegrityImpact,
    availability_impact: AvailabilityImpact
) -> Self
[src]

Constructor

Trait Implementations

impl CVSSScore for V2Vector[src]

fn temporal_score(&self) -> Score[src]

TemporalScore = round_to_1_decimal(BaseScore*Exploitability RemediationLevelReportConfidence)

fn environmental_score(&self) -> Score[src]

round_to_1_decimal((AdjustedTemporal+ (10-AdjustedTemporal)*CollateralDamagePotential)*TargetDistribution)

impl Debug for V2Vector[src]

impl Display for V2Vector[src]

impl FromStr for V2Vector[src]

type Err = ParseError

The associated error which can be returned from parsing.

impl PartialEq<V2Vector> for V2Vector[src]

impl StructuralPartialEq for V2Vector[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.