pub struct Detail {Show 14 fields
pub affected_cpe_uri: Option<String>,
pub affected_package: Option<String>,
pub affected_version_end: Option<Version>,
pub affected_version_start: Option<Version>,
pub description: Option<String>,
pub fixed_cpe_uri: Option<String>,
pub fixed_package: Option<String>,
pub fixed_version: Option<Version>,
pub is_obsolete: Option<bool>,
pub package_type: Option<String>,
pub severity_name: Option<String>,
pub source: Option<String>,
pub source_update_time: Option<DateTime<Utc>>,
pub vendor: Option<String>,
}
Expand description
A detail for a distro and package affected by this vulnerability and its associated fix (if one is available).
This type is not used in any activity, and only used as part of another schema.
Fields§
§affected_cpe_uri: Option<String>
Required. The CPE URI this vulnerability affects.
affected_package: Option<String>
Required. The package this vulnerability affects.
affected_version_end: Option<Version>
The version number at the end of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail.
affected_version_start: Option<Version>
The version number at the start of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail.
description: Option<String>
A vendor-specific description of this vulnerability.
fixed_cpe_uri: Option<String>
The distro recommended CPE URI to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_cpe_uri.
fixed_package: Option<String>
The distro recommended package to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_package.
fixed_version: Option<Version>
The distro recommended version to update to that contains a fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no such version is yet available.
is_obsolete: Option<bool>
Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.
package_type: Option<String>
The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).
severity_name: Option<String>
The distro assigned severity of this vulnerability.
source: Option<String>
The source from which the information in this Detail was obtained.
source_update_time: Option<DateTime<Utc>>
The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
vendor: Option<String>
The name of the vendor of the product.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Detail
impl<'de> Deserialize<'de> for Detail
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Part for Detail
Auto Trait Implementations§
impl Freeze for Detail
impl RefUnwindSafe for Detail
impl Send for Detail
impl Sync for Detail
impl Unpin for Detail
impl UnwindSafe for Detail
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more