Documentation ¶
Index ¶
- type Advisory
- type Affected
- type AffectedStatus
- type Arch
- type Bug
- type Bugzilla
- type ConfigLine
- type ConstantVariable
- type Criteria
- type Criterion
- type Cve
- type Date
- type Debian
- type Definition
- type Definitions
- type DpkgInfoObject
- type DpkgInfoState
- type DpkgInfoTest
- type DpkgName
- type EVR
- type Epoch
- type ErrNotFound
- type Generator
- type ID
- type IDType
- type LineObject
- type LineState
- type LineTest
- type ObjectRef
- type Objects
- type Operation
- type RPMInfoObject
- type RPMInfoState
- type RPMInfoTest
- type RPMSignatureKeyID
- type RPMVerifyFileObject
- type RPMVerifyFileTest
- type Ref
- type Reference
- type Release
- type Resolution
- type Root
- type StateRef
- type States
- type TCInstance
- type Test
- type Tests
- type TextfileContent54Object
- type TextfileContent54Test
- type UnameTest
- type Value
- type Variables
- type VerifyFileBehaviors
- type VerifyFileOp
- type Version
- type Version55Object
- type Version55State
- type Version55Test
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 PublicDate Date `xml:"public_date"` Issued Date `xml:"issued"` Updated Date `xml:"updated"` Affected AffectedStatus `xml:"affected"` // Red Hat Only }
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 AffectedStatus ¶ added in v0.8.7
type AffectedStatus struct {
Resolutions []Resolution `xml:"resolution"`
}
AffectedStatus documentation: https://access.redhat.com/articles/5554431 section Oct 13, 2021 Oval
type Arch ¶ added in v0.8.2
type Arch struct { XMLName xml.Name `xml:"arch"` Operation Operation `xml:"operation,attr"` Body string `xml:",chardata"` }
Arch
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 ConstantVariable ¶ added in v0.8.2
type ConstantVariable struct { XMLName xml.Name `xml:"constant_variable"` ID string `xml:"id,attr"` Version string `xml:"version,attr"` Datatype string `xml:"datatype,attr"` Comment string `xml:"comment,attr"` Values []Value `xml:"value"` }
ConstantVariable
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 Date ¶ added in v0.8.0
Date is a wrapper type for decoding a range of date, datestamp, and timestamp strings seen in the wild.
Currently, it will only examine attributes with the key "date".
func (*Date) UnmarshalXML ¶ added in v0.8.0
UnmarshalXML implements xml.Unmarshaler.
type Debian ¶
type Debian struct { XMLName xml.Name `xml:"debian"` MoreInfo string `xml:"moreinfo"` Date Date `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 DpkgInfoObject ¶ added in v0.8.2
type DpkgInfoObject struct { XMLName xml.Name `xml:"dpkginfo_object"` ID string `xml:"id,attr"` Version int `xml:"version,attr"` Name *DpkgName `xml:"name"` }
DpkgInfoObject : >objects>dpkginfo_object
type DpkgInfoState ¶ added in v0.8.2
type DpkgInfoState struct { XMLName xml.Name `xml:"dpkginfo_state"` ID string `xml:"id,attr"` Version int `xml:"version,attr"` Arch *Arch `xml:"arch"` Epoch *Epoch `xml:"epoch"` Release *Release `xml:"release"` DpkgVersion *Version `xml:"version"` EVR *EVR `xml:"evr"` }
DpkgInfoState : >states>dpkginfo_state
type DpkgInfoTest ¶ added in v0.8.2
type DpkgInfoTest struct { XMLName xml.Name `xml:"dpkginfo_test"` ID string `xml:"id,attr"` Comment string `xml:"comment,attr"` Check string `xml:"check,attr"` Version int `xml:"version,attr"` // contains filtered or unexported fields }
DpkgInfoTest : >tests>dpkginfo_test
type DpkgName ¶ added in v0.8.2
type DpkgName struct { XMLName xml.Name `xml:"name"` Ref string `xml:"var_ref,attr"` Body string `xml:",chardata"` }
DpkgName : >objects>dpkginfo_object>name
when parsing ubuntu var_ref is a reference to the <variables> section of the document
when parsing debian var_ref is empty and the Body field is used directly
type EVR ¶ added in v0.8.2
type EVR struct { XMLName xml.Name `xml:"evr"` Operation Operation `xml:"operation,attr"` Body string `xml:",chardata"` }
EVR
type Epoch ¶ added in v0.8.2
type Epoch struct { XMLName xml.Name `xml:"epoch"` Operation Operation `xml:"operation,attr"` Body string `xml:",chardata"` }
Epoch
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 ¶
ID is an OVAL identifier.
func (*ID) UnmarshalText ¶
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) UnmarshalText ¶
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"` Comment string `xml:"comment,attr"` // contains filtered or unexported fields }
LineTest : >tests>line_test
type ObjectRef ¶
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"` TextfileContent54Objects []TextfileContent54Object `xml:"textfilecontent54_object"` RPMInfoObjects []RPMInfoObject `xml:"rpminfo_object"` RPMVerifyFileObjects []RPMVerifyFileObject `xml:"rpmverifyfile_object"` DpkgInfoObjects []DpkgInfoObject `xml:"dpkginfo_object"` // contains filtered or unexported fields }
Objects : >objects
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) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler.
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 *Arch `xml:"arch"` Epoch *Epoch `xml:"epoch"` Release *Release `xml:"release"` RPMVersion *Version `xml:"version"` EVR *EVR `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"` // contains filtered or unexported fields }
RPMInfoTest : >tests>rpminfo_test
type RPMSignatureKeyID ¶
type RPMVerifyFileObject ¶ added in v0.8.5
type RPMVerifyFileObject struct { XMLName xml.Name `xml:"rpmverifyfile_object"` ID string `xml:"id,attr"` Version int `xml:"version,attr"` Behaviors VerifyFileBehaviors `xml:"behaviors"` Name VerifyFileOp `xml:"name"` Epoch VerifyFileOp `xml:"epoch"` Release VerifyFileOp `xml:"release"` RPMVersion VerifyFileOp `xml:"version"` Arch VerifyFileOp `xml:"arch"` Filepath string `xml:"filepath"` }
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"` // contains filtered or unexported fields }
RPMVerifyFileTest : >tests>rpmverifyfile_test
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 Release ¶ added in v0.8.2
type Release struct { XMLName xml.Name `xml:"release"` Operation Operation `xml:"operation,attr"` Body string `xml:",chardata"` }
Release
type Resolution ¶ added in v0.8.7
Resolution state values are one of: Affected, Under investigation, Will not fix, Out of support scope, and Fix deferred
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"` Variables Variables `xml:"variables"` }
Root : root object
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"` DpkgInfoStates []DpkgInfoState `xml:"dpkginfo_state"` // contains filtered or unexported fields }
States : >states
type TCInstance ¶ added in v0.8.6
type Test ¶ added in v0.8.4
Test is an interface for OVAL objects that reports Object and State refs.
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"` DpkgInfoTests []DpkgInfoTest `xml:"dpkginfo_test"` RPMVerifyFileTests []RPMVerifyFileTest `xml:"rpmverifyfile_test"` UnameTests []UnameTest `xml:"uname_test"` TextfileContent54Tests []TextfileContent54Test `xml:"textfilecontent54_test"` // contains filtered or unexported fields }
Tests : >tests
type TextfileContent54Object ¶ added in v0.8.6
type TextfileContent54Object struct { XMLName xml.Name `xml:"textfilecontent54_object"` ID string `xml:"id,attr"` Version int `xml:"version,attr"` Filepath string `xml:"filepath"` Pattern string `xml:"pattern"` Instance TCInstance `xml:"instance"` }
TextfileContent54Object : >tests>textfilecontent54_object
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"` Comment string `xml:"comment,attr"` // contains filtered or unexported fields }
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"` // contains filtered or unexported fields }
UnameTest : >tests>uname_test
type Variables ¶ added in v0.8.2
type Variables struct { XMLName xml.Name `xml:"variables"` ConstantVariables []ConstantVariable `xml:"constant_variable"` // contains filtered or unexported fields }
Variables : >variables
type VerifyFileBehaviors ¶ added in v0.8.5
type VerifyFileBehaviors struct { XMLName xml.Name `xml:"behaviors"` NoConfigFiles bool `xml:"noconfigfiles"` NoGhostFiles bool `xml:"noghostfiles"` NoGroup bool `xml:"nogroup"` NoLinkTo bool `xml:"nolinkto"` NoMD5 bool `xml:"nomd5"` NoMode bool `xml:"nomode"` NoMTime bool `xml:"nomtime"` NoRDev bool `xml:"nordev"` NoSize bool `xml:"nosize"` NoUser bool `xml:"nouser"` }
type VerifyFileOp ¶ added in v0.8.5
type Version ¶ added in v0.8.2
type Version struct { XMLName xml.Name `xml:"version"` Operation Operation `xml:"operation,attr"` Body string `xml:",chardata"` }
Version
type Version55Object ¶
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