github.com/khulnasoft-lab/tunnel-db@v0.0.0-20231117205118-74e1113bd007/pkg/vulnsrc/suse-cvrf/types.go (about)

     1  package susecvrf
     2  
     3  type SuseCvrf struct {
     4  	Title           string           `xml:"DocumentTitle"`
     5  	Tracking        DocumentTracking `xml:"DocumentTracking"`
     6  	Notes           []DocumentNote   `xml:"DocumentNotes>Note"`
     7  	ProductTree     ProductTree      `xml:"ProductTree"`
     8  	References      []Reference      `xml:"DocumentReferences>Reference"`
     9  	Vulnerabilities []Vulnerability  `xml:"Vulnerability"`
    10  }
    11  
    12  type DocumentTracking struct {
    13  	ID                 string     `xml:"Identification>ID"`
    14  	Status             string     `xml:"Status"`
    15  	Version            string     `xml:"Version"`
    16  	InitialReleaseDate string     `xml:"InitialReleaseDate"`
    17  	CurrentReleaseDate string     `xml:"CurrentReleaseDate"`
    18  	RevisionHistory    []Revision `xml:"RevisionHistory>Revision"`
    19  }
    20  
    21  type DocumentNote struct {
    22  	Text  string `xml:",chardata"`
    23  	Title string `xml:"Title,attr"`
    24  	Type  string `xml:"Type,attr"`
    25  }
    26  
    27  type ProductTree struct {
    28  	Relationships []Relationship `xml:"Relationship"`
    29  }
    30  
    31  type Relationship struct {
    32  	ProductReference          string `xml:"ProductReference,attr"`
    33  	RelatesToProductReference string `xml:"RelatesToProductReference,attr"`
    34  	RelationType              string `xml:"RelationType,attr"`
    35  }
    36  
    37  type Revision struct {
    38  	Number      string `xml:"Number"`
    39  	Date        string `xml:"Date"`
    40  	Description string `xml:"Description"`
    41  }
    42  
    43  type Vulnerability struct {
    44  	CVE             string      `xml:"CVE"`
    45  	Description     string      `xml:"Notes>Note"`
    46  	Threats         []Threat    `xml:"Threats>Threat"`
    47  	References      []Reference `xml:"References>Reference"`
    48  	ProductStatuses []Status    `xml:"ProductStatuses>Status"`
    49  	CVSSScoreSets   ScoreSet    `xml:"CVSSScoreSets>ScoreSet" json:",omitempty"`
    50  }
    51  
    52  type Threat struct {
    53  	Type     string `xml:"Type,attr"`
    54  	Severity string `xml:"Description"`
    55  }
    56  
    57  type Reference struct {
    58  	URL         string `xml:"URL"`
    59  	Description string `xml:"Description"`
    60  }
    61  
    62  type Status struct {
    63  	Type      string   `xml:"Type,attr"`
    64  	ProductID []string `xml:"ProductID"`
    65  }
    66  
    67  type ScoreSet struct {
    68  	BaseScore string `xml:"BaseScore" json:",omitempty"`
    69  	Vector    string `xml:"Vector" json:",omitempty"`
    70  }
    71  
    72  type Package struct {
    73  	Name         string
    74  	FixedVersion string
    75  }
    76  
    77  type AffectedPackage struct {
    78  	Package Package
    79  	OSVer   string
    80  }