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