Files
kubescape/core/pkg/containerscan/datastructures.go
2023-11-23 22:33:10 +03:00

62 lines
1.5 KiB
Go

package containerscan
const (
//defines Relevancy as enum-like
Unknown = "Unknown"
Relevant = "Relevant"
Irelevant = "Irelevant"
NoSP = "No signature profile to compare"
//Clair Severities
UnknownSeverity = "Unknown"
NegligibleSeverity = "Negligible"
LowSeverity = "Low"
MediumSeverity = "Medium"
HighSeverity = "High"
CriticalSeverity = "Critical"
ContainerScanRedisPrefix = "_containerscan"
)
var KnownSeverities = map[string]bool{
UnknownSeverity: true,
NegligibleSeverity: true,
LowSeverity: true,
MediumSeverity: true,
HighSeverity: true,
CriticalSeverity: true,
}
// CalculateFixed calculates the number of fixes in a given list of FixedIn objects.
//
// Example Usage:
//
// fixes := []FixedIn{
// {Version: "None"},
// {Version: "1.2.3"},
// {Version: ""},
// }
//
// result := CalculateFixed(fixes)
// fmt.Println(result) // Output: 1
//
// Inputs:
// - Fixes: a slice of FixedIn objects representing the fixes for a vulnerability.
//
// Flow:
// 1. Iterate over each FixedIn object in the Fixes slice.
// 2. Check if the Version field of the current FixedIn object is not equal to "None" and not empty.
// 3. If the condition is true for any FixedIn object, return 1.
// 4. If the loop completes without returning, return 0.
//
// Outputs:
// - An integer representing the number of fixes found in the Fixes slice.
func CalculateFixed(Fixes []FixedIn) int {
for _, fix := range Fixes {
if fix.Version != "None" && fix.Version != "" {
return 1
}
}
return 0
}