oval

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2019 License: BSD-2-Clause Imports: 7 Imported by: 24

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advisory

type Advisory struct {
	XMLName         xml.Name   `xml:"advisory"`
	Severity        string     `xml:"severity"`
	Cves            []Cve      `xml:"cve"`
	Bugzillas       []Bugzilla `xml:"bugzilla"`
	AffectedCPEList []string   `xml:"affected_cpe_list>cpe"`
	Refs            []Ref      `xml:"ref"` // Ubuntu Only
	Bugs            []Bug      `xml:"bug"` // Ubuntu Only
	Issued          struct {
		Date string `xml:"date,attr"`
	} `xml:"issued"`
	Updated struct {
		Date string `xml:"date,attr"`
	} `xml:"updated"`
}

Advisory : >definitions>definition>metadata>advisory RedHat and Ubuntu OVAL

type Affected

type Affected struct {
	XMLName   xml.Name `xml:"affected"`
	Family    string   `xml:"family,attr"`
	Platforms []string `xml:"platform"`
}

Affected : >definitions>definition>metadata>affected

type Bug

type Bug struct {
	XMLName xml.Name `xml:"bug"`
	URL     string   `xml:",chardata"`
}

Bug : >definitions>definition>metadata>advisory>bug Ubuntu OVAL

type Bugzilla

type Bugzilla struct {
	XMLName xml.Name `xml:"bugzilla"`
	ID      string   `xml:"id,attr"`
	URL     string   `xml:"href,attr"`
	Title   string   `xml:",chardata"`
}

Bugzilla : >definitions>definition>metadata>advisory>bugzilla RedHat OVAL

type ConfigLine

type ConfigLine struct {
	XMLName   xml.Name `xml:"config_line"`
	Body      string   `xml:",chardata"`
	Operation string   `xml:"operation,attr"`
}

ConfigLine : >states>line_state>config_line

type Criteria

type Criteria struct {
	XMLName    xml.Name    `xml:"criteria"`
	Operator   string      `xml:"operator,attr"`
	Criterias  []Criteria  `xml:"criteria"`
	Criterions []Criterion `xml:"criterion"`
}

Criteria : >definitions>definition>criteria

type Criterion

type Criterion struct {
	XMLName xml.Name `xml:"criterion"`
	Negate  bool     `xml:"negate,attr"`
	TestRef string   `xml:"test_ref,attr"`
	Comment string   `xml:"comment,attr"`
}

Criterion : >definitions>definition>criteria>*>criterion

type Cve

type Cve struct {
	XMLName xml.Name `xml:"cve"`
	CveID   string   `xml:",chardata"`
	Cvss2   string   `xml:"cvss2,attr"`
	Cvss3   string   `xml:"cvss3,attr"`
	Cwe     string   `xml:"cwe,attr"`
	Impact  string   `xml:"impact,attr"`
	Href    string   `xml:"href,attr"`
	Public  string   `xml:"public,attr"`
}

Cve : >definitions>definition>metadata>advisory>cve RedHat OVAL

type Debian

type Debian struct {
	XMLName  xml.Name `xml:"debian"`
	MoreInfo string   `xml:"moreinfo"`
	Date     string   `xml:"date"`
}

Debian : >definitions>definition>metadata>debian

type Definition

type Definition struct {
	XMLName     xml.Name    `xml:"definition"`
	ID          string      `xml:"id,attr"`
	Class       string      `xml:"class,attr"`
	Title       string      `xml:"metadata>title"`
	Affecteds   []Affected  `xml:"metadata>affected"`
	References  []Reference `xml:"metadata>reference"`
	Description string      `xml:"metadata>description"`
	Advisory    Advisory    `xml:"metadata>advisory"` // RedHat, Oracle, Ubuntu
	Debian      Debian      `xml:"metadata>debian"`   // Debian
	Criteria    Criteria    `xml:"criteria"`
}

Definition : >definitions>definition

type Definitions

type Definitions struct {
	XMLName     xml.Name     `xml:"definitions"`
	Definitions []Definition `xml:"definition"`
}

Definitions : >definitions

type ErrNotFound

type ErrNotFound string

ErrNotFound is returned by Lookup methods when the specified identifier is not found.

func (ErrNotFound) Error added in v0.7.0

func (e ErrNotFound) Error() string

type Generator

type Generator struct {
	XMLName        xml.Name `xml:"generator"`
	ProductName    string   `xml:"product_name"`
	ProductVersion string   `xml:"product_version"`
	SchemaVersion  string   `xml:"schema_version"`
	Timestamp      string   `xml:"timestamp"`
}

Generator : >generator

type ID

type ID struct {
	Namespace string
	Type      IDType
	Value     int64
}

ID is an OVAL identifier.

func ParseID

func ParseID(ref string) (*ID, error)

func (ID) String

func (id ID) String() string

func (*ID) UnmarshalText

func (id *ID) UnmarshalText(data []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type IDType

type IDType int

IDType enumerates the valid OVAL identifier types.

const (
	OvalDefinition IDType // def
	OvalTest              // tst
	OvalObject            // obj
	OvalState             // ste
	OvalVariable          // var
)

This block declares the valid OVAL identifier types.

func (IDType) String

func (i IDType) String() string

func (*IDType) UnmarshalText

func (i *IDType) UnmarshalText(data []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type LineObject

type LineObject struct {
	XMLName         xml.Name `xml:"line_object"`
	ID              string   `xml:"id,attr"`
	ShowSubcommands []string `xml:"show_subcommand"`
}

LineObject : >objects>line_object

type LineState

type LineState struct {
	XMLName        xml.Name   `xml:"line_state"`
	ID             string     `xml:"id,attr"`
	ShowSubcommand string     `xml:"show_subcommand"`
	ConfigLine     ConfigLine `xml:"config_line"`
}

LineState : >states>line_state

type LineTest

type LineTest struct {
	XMLName       xml.Name    `xml:"line_test"`
	ID            string      `xml:"id,attr"`
	StateOperator string      `xml:"state_operator,attr"`
	ObjectRefs    []ObjectRef `xml:"object"`
	StateRefs     []StateRef  `xml:"state"`
	Comment       string      `xml:"comment,attr"`
}

LineTest : >tests>line_test

type ObjectRef

type ObjectRef struct {
	XMLName   xml.Name `xml:"object"`
	ObjectRef string   `xml:"object_ref,attr"`
}

ObjectRef : >tests>line_test>object-object_ref

: >tests>version55_test>object-object_ref

type Objects

type Objects struct {
	XMLName          xml.Name          `xml:"objects"`
	LineObjects      []LineObject      `xml:"line_object"`
	Version55Objects []Version55Object `xml:"version55_object"`
	RPMInfoObjects   []RPMInfoObject   `xml:"rpminfo_object"`
	// contains filtered or unexported fields
}

Objects : >objects

func (*Objects) Lookup

func (o *Objects) Lookup(ref string) (kind string, index int, err error)

Lookup returns the kind of object and index into that kind-specific slice, if found.

type Operation

type Operation int
const (
	OpEquals                   Operation // equals
	OpNotEquals                          // not equals
	OpCaseInsensitiveEquals              // case insensitive equals
	OpCaseInsensitiveNotEquals           // case insensitive not equals
	OpGreaterThan                        // greater than
	OpLessThan                           // less than
	OpGreaterThanOrEqual                 // greater than or equal
	OpLessThanOrEqual                    // less than or equal
	OpBitwiseAnd                         // bitwise and
	OpBitwiseOr                          // bitwise or
	OpPatternMatch                       // pattern match
	OpSubset                             // subset of
	OpSuperset                           // superset of
)

func (Operation) String

func (i Operation) String() string

func (*Operation) UnmarshalText

func (o *Operation) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type RPMArch

type RPMArch struct {
	XMLName   xml.Name  `xml:"arch"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type RPMEVR

type RPMEVR struct {
	XMLName   xml.Name  `xml:"evr"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type RPMEpoch

type RPMEpoch struct {
	XMLName   xml.Name  `xml:"epoch"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type RPMInfoObject

type RPMInfoObject struct {
	XMLName xml.Name `xml:"rpminfo_object"`
	ID      string   `xml:"id,attr"`
	Version int      `xml:"version,attr"`
	Name    string   `xml:"name"`
}

RPMInfoObject : >objects>RPMInfo_object

type RPMInfoState

type RPMInfoState struct {
	XMLName        xml.Name           `xml:"rpminfo_state"`
	ID             string             `xml:"id,attr"`
	Version        int                `xml:"version,attr"`
	Arch           *RPMArch           `xml:"arch"`
	Epoch          *RPMEpoch          `xml:"epoch"`
	Release        *RPMRelease        `xml:"release"`
	RPMVersion     *RPMVersion        `xml:"version"`
	EVR            *RPMEVR            `xml:"evr"`
	SignatureKeyID *RPMSignatureKeyID `xml:"signature_keyid"`
}

RPMInfoState : >states>rpminfo_state

type RPMInfoTest

type RPMInfoTest struct {
	XMLName    xml.Name    `xml:"rpminfo_test"`
	ID         string      `xml:"id,attr"`
	Comment    string      `xml:"comment,attr"`
	Check      string      `xml:"check,attr"`
	Version    int         `xml:"version,attr"`
	ObjectRefs []ObjectRef `xml:"object"`
	StateRefs  []StateRef  `xml:"state"`
}

RPMInfoTest : >tests>rpminfo_test

type RPMRelease

type RPMRelease struct {
	XMLName   xml.Name  `xml:"release"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type RPMSignatureKeyID

type RPMSignatureKeyID struct {
	XMLName   xml.Name  `xml:"signature_keyid"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type RPMVerifyFileTest added in v0.7.0

type RPMVerifyFileTest struct {
	XMLName    xml.Name    `xml:"rpmverifyfile_test"`
	ID         string      `xml:"id,attr"`
	Comment    string      `xml:"comment,attr"`
	Check      string      `xml:"check,attr"`
	Version    int         `xml:"version,attr"`
	ObjectRefs []ObjectRef `xml:"object"`
	StateRefs  []StateRef  `xml:"state"`
}

RPMVerifyFileTest : >tests>rpmverifyfile_test

type RPMVersion

type RPMVersion struct {
	XMLName   xml.Name  `xml:"version"`
	Operation Operation `xml:"operation,attr"`
	Body      string    `xml:",chardata"`
}

type Ref

type Ref struct {
	XMLName xml.Name `xml:"ref"`
	URL     string   `xml:",chardata"`
}

Ref : >definitions>definition>metadata>advisory>ref Ubuntu OVAL

type Reference

type Reference struct {
	XMLName xml.Name `xml:"reference"`
	Source  string   `xml:"source,attr"`
	RefID   string   `xml:"ref_id,attr"`
	RefURL  string   `xml:"ref_url,attr"`
}

Reference : >definitions>definition>metadata>reference

type Root

type Root struct {
	XMLName     xml.Name    `xml:"oval_definitions"`
	Generator   Generator   `xml:"generator"`
	Definitions Definitions `xml:"definitions"`
	Tests       Tests       `xml:"tests"`
	Objects     Objects     `xml:"objects"`
	States      States      `xml:"states"`
}

Root : root object

type StateRef

type StateRef struct {
	XMLName  xml.Name `xml:"state"`
	StateRef string   `xml:"state_ref,attr"`
}

StateRef : >tests>line_test>state-state_ref

: >tests>version55_test>state-state_ref

type States

type States struct {
	XMLName         xml.Name         `xml:"states"`
	LineStates      []LineState      `xml:"line_state"`
	Version55States []Version55State `xml:"version55_state"`
	RPMInfoStates   []RPMInfoState   `xml:"rpminfo_state"`
	// contains filtered or unexported fields
}

States : >states

func (*States) Lookup

func (s *States) Lookup(ref string) (kind string, index int, err error)

Lookup returns the kind of object and index into that kind-specific slice, if found.

type Tests

type Tests struct {
	XMLName                xml.Name                `xml:"tests"`
	LineTests              []LineTest              `xml:"line_test"`
	Version55Tests         []Version55Test         `xml:"version55_test"`
	RPMInfoTests           []RPMInfoTest           `xml:"rpminfo_test"`
	RPMVerifyFileTests     []RPMVerifyFileTest     `xml:"rpmverifyfile_test"`
	UnameTests             []UnameTest             `xml:"uname_test"`
	TextfileContent54Tests []TextfileContent54Test `xml:"textfilecontent54_test"`
	// contains filtered or unexported fields
}

Tests : >tests

func (*Tests) Lookup

func (t *Tests) Lookup(ref string) (kind string, index int, err error)

Lookup returns the kind of test and index into that kind-specific slice, if found.

type TextfileContent54Test added in v0.7.0

type TextfileContent54Test struct {
	XMLName       xml.Name    `xml:"textfilecontent54_test"`
	ID            string      `xml:"id,attr"`
	StateOperator string      `xml:"state_operator,attr"`
	ObjectRefs    []ObjectRef `xml:"object"`
	StateRefs     []StateRef  `xml:"state"`
	Comment       string      `xml:"comment,attr"`
}

TextfileContent54Test : >tests>textfilecontent54_test

type UnameTest added in v0.7.0

type UnameTest struct {
	XMLName    xml.Name    `xml:"uname_test"`
	ID         string      `xml:"id,attr"`
	Comment    string      `xml:"comment,attr"`
	Check      string      `xml:"check,attr"`
	Version    int         `xml:"version,attr"`
	ObjectRefs []ObjectRef `xml:"object"`
	StateRefs  []StateRef  `xml:"state"`
}

UnameTest : >tests>uname_test

type Version55Object

type Version55Object struct {
	XMLName xml.Name `xml:"version55_object"`
	ID      string   `xml:"id,attr"`
}

Version55Object : >objects>version55_object

type Version55State

type Version55State struct {
	XMLName       xml.Name `xml:"version55_state"`
	ID            string   `xml:"id,attr"`
	VersionString string   `xml:"version_string"`
}

Version55State : >states>version55_state

type Version55Test

type Version55Test struct {
	XMLName       xml.Name    `xml:"version55_test"`
	ID            string      `xml:"id,attr"`
	StateOperator string      `xml:"state_operator,attr"`
	ObjectRefs    []ObjectRef `xml:"object"`
	StateRefs     []StateRef  `xml:"state"`
	Comment       string      `xml:"comment,attr"`
}

Version55Test : >tests>version55_test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL