1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 18:15:42 +01:00

added omitempty for cvss structs

This commit is contained in:
Christoph Klassen 2023-09-04 16:06:47 +02:00
parent f59a8cc7a9
commit 4fc2fd9bf2

View file

@ -655,57 +655,57 @@ var CVSSv3VersionPattern = alternativesUnmarshal(
type CVSSv2 struct { type CVSSv2 struct {
Version string `json:"version"` // required Version string `json:"version"` // required
VectorString string `json:"vectorString"` // required VectorString string `json:"vectorString"` // required
AccessVector *CVSS20AccessVector `json:"accessVector"` AccessVector *CVSS20AccessVector `json:"accessVector,omitempty"`
AccessComplexity *CVSS20AccessComplexity `json:"accessComplexity"` AccessComplexity *CVSS20AccessComplexity `json:"accessComplexity,omitempty"`
Authentication *CVSS20Authentication `json:"authentication"` Authentication *CVSS20Authentication `json:"authentication,omitempty"`
ConfidentialityImpact *CVSS20Cia `json:"confidentialityImpact"` ConfidentialityImpact *CVSS20Cia `json:"confidentialityImpact,omitempty"`
IntegrityImpact *CVSS20Cia `json:"integrityImpact"` IntegrityImpact *CVSS20Cia `json:"integrityImpact,omitempty"`
AvailabilityImpact *CVSS20Cia `json:"availabilityImpact"` AvailabilityImpact *CVSS20Cia `json:"availabilityImpact,omitempty"`
BaseScore float64 `json:"baseScore"` // required BaseScore float64 `json:"baseScore"` // required
Exploitability *CVSS20Exploitability `json:"exploitability"` Exploitability *CVSS20Exploitability `json:"exploitability,omitempty"`
RemediationLevel *CVSS20RemediationLevel `json:"remediationLevel"` RemediationLevel *CVSS20RemediationLevel `json:"remediationLevel,omitempty"`
ReportConfidence *CVSS20ReportConfidence `json:"reportConfidence"` ReportConfidence *CVSS20ReportConfidence `json:"reportConfidence,omitempty"`
TemporalScore *float64 `json:"temporalScore"` TemporalScore *float64 `json:"temporalScore,omitempty"`
CollateralDamagePotential *CVSS20CollateralDamagePotential `json:"collateralDamagePotential"` CollateralDamagePotential *CVSS20CollateralDamagePotential `json:"collateralDamagePotential,omitempty"`
TargetDistribution *CVSS20TargetDistribution `json:"targetDistribution"` TargetDistribution *CVSS20TargetDistribution `json:"targetDistribution,omitempty"`
ConfidentialityRequirement *CVSS20CiaRequirement `json:"confidentialityRequirement"` ConfidentialityRequirement *CVSS20CiaRequirement `json:"confidentialityRequirement,omitempty"`
IntegrityRequirement *CVSS20CiaRequirement `json:"integrityRequirement"` IntegrityRequirement *CVSS20CiaRequirement `json:"integrityRequirement,omitempty"`
AvailabilityRequirement *CVSS20CiaRequirement `json:"availabilityRequirement"` AvailabilityRequirement *CVSS20CiaRequirement `json:"availabilityRequirement,omitempty"`
EnvironmentalScore *float64 `json:"environmentalScore"` EnvironmentalScore *float64 `json:"environmentalScore,omitempty"`
} }
// CVSSv3 holding a CVSS v3.x value // CVSSv3 holding a CVSS v3.x value
type CVSSv3 struct { type CVSSv3 struct {
Version string `json:"version"` // required Version string `json:"version"` // required
VectorString string `json:"vectorString"` // required VectorString string `json:"vectorString"` // required
AttackVector *CVSS30AttackVector `json:"attackVector"` AttackVector *CVSS30AttackVector `json:"attackVector,omitempty"`
AttackComplexity *CVSS30AttackComplexity `json:"attackComplexity"` AttackComplexity *CVSS30AttackComplexity `json:"attackComplexity,omitempty"`
PrivilegesRequired *CVSS30PrivilegesRequired `json:"privilegesRequired"` PrivilegesRequired *CVSS30PrivilegesRequired `json:"privilegesRequired,omitempty"`
UserInteraction *CVSS30UserInteraction `json:"userInteraction"` UserInteraction *CVSS30UserInteraction `json:"userInteraction,omitempty"`
Scope *CVSS30Scope `json:"scope"` Scope *CVSS30Scope `json:"scope,omitempty"`
ConfidentialityImpact *CVSS30Cia `json:"confidentialityImpact"` ConfidentialityImpact *CVSS30Cia `json:"confidentialityImpact,omitempty"`
IntegrityImpact CVSS30Cia `json:"integrityImpact"` IntegrityImpact CVSS30Cia `json:"integrityImpact,omitempty"`
AvailabilityImpact *CVSS30Cia `json:"availabilityImpact"` AvailabilityImpact *CVSS30Cia `json:"availabilityImpact,omitempty"`
BaseScore float64 `json:"baseScore"` // required BaseScore float64 `json:"baseScore"` // required
BaseSeverity CVSS30Severity `json:"baseSeverity"` // required BaseSeverity CVSS30Severity `json:"baseSeverity"` // required
ExploitCodeMaturity *CVSS30ExploitCodeMaturity `json:"exploitCodeMaturity"` ExploitCodeMaturity *CVSS30ExploitCodeMaturity `json:"exploitCodeMaturity,omitempty"`
RemediationLevel *CVSS30RemediationLevel `json:"remediationLevel"` RemediationLevel *CVSS30RemediationLevel `json:"remediationLevel,omitempty"`
ReportConfidence *CVSS30Confidence `json:"reportConfidence"` ReportConfidence *CVSS30Confidence `json:"reportConfidence,omitempty"`
TemporalScore *float64 `json:"temporalScore"` TemporalScore *float64 `json:"temporalScore,omitempty"`
TemporalSeverity *CVSS30Severity `json:"temporalSeverity"` TemporalSeverity *CVSS30Severity `json:"temporalSeverity,omitempty"`
ConfidentialityRequirement *CVSS30CiaRequirement `json:"confidentialityRequirement"` ConfidentialityRequirement *CVSS30CiaRequirement `json:"confidentialityRequirement,omitempty"`
IntegrityRequirement *CVSS30CiaRequirement `json:"integrityRequirement"` IntegrityRequirement *CVSS30CiaRequirement `json:"integrityRequirement,omitempty"`
AvailabilityRequirement *CVSS30CiaRequirement `json:"availabilityRequirement"` AvailabilityRequirement *CVSS30CiaRequirement `json:"availabilityRequirement,omitempty"`
ModifiedAttackVector *CVSS30ModifiedAttackVector `json:"modifiedAttackVector"` ModifiedAttackVector *CVSS30ModifiedAttackVector `json:"modifiedAttackVector,omitempty"`
ModifiedAttackComplexity *CVSS30ModifiedAttackComplexity `json:"modifiedAttackComplexity"` ModifiedAttackComplexity *CVSS30ModifiedAttackComplexity `json:"modifiedAttackComplexity,omitempty"`
ModifiedPrivilegesRequired *CVSS30ModifiedPrivilegesRequired `json:"modifiedPrivilegesRequired"` ModifiedPrivilegesRequired *CVSS30ModifiedPrivilegesRequired `json:"modifiedPrivilegesRequired,omitempty"`
ModifiedUserInteraction *CVSS30ModifiedUserInteraction `json:"modifiedUserInteraction"` ModifiedUserInteraction *CVSS30ModifiedUserInteraction `json:"modifiedUserInteraction,omitempty"`
ModifiedScope *CVSS30ModifiedScope `json:"modifiedScope"` ModifiedScope *CVSS30ModifiedScope `json:"modifiedScope,omitempty"`
ModifiedConfidentialityImpact *CVSS30ModifiedCia `json:"modifiedConfidentialityImpact"` ModifiedConfidentialityImpact *CVSS30ModifiedCia `json:"modifiedConfidentialityImpact,omitempty"`
ModifiedIntegrityImpact *CVSS30ModifiedCia `json:"modifiedIntegrityImpact"` ModifiedIntegrityImpact *CVSS30ModifiedCia `json:"modifiedIntegrityImpact,omitempty"`
ModifiedAvailabilityImpact *CVSS30ModifiedCia `json:"modifiedAvailabilityImpact"` ModifiedAvailabilityImpact *CVSS30ModifiedCia `json:"modifiedAvailabilityImpact,omitempty"`
EenvironmentalScore *float64 `json:"environmentalScore"` EenvironmentalScore *float64 `json:"environmentalScore,omitempty"`
EnvironmentalSeverity *CVSS30Severity `json:"environmentalSeverity"` EnvironmentalSeverity *CVSS30Severity `json:"environmentalSeverity,omitempty"`
} }
// Score specifies information about (at least one) score of the vulnerability and for which // Score specifies information about (at least one) score of the vulnerability and for which