Documentation
¶
Index ¶
- type Advisory
- type Affected
- 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 Extension
- type Generator
- type ID
- type IDType
- type LineObject
- type LineState
- type LineTest
- type Name
- type ObjectRef
- type Objects
- type Operation
- type RPMInfoObject
- type RPMInfoState
- type RPMInfoTest
- type RPMSignatureKeyID
- type RPMVerifyFileObject
- type RPMVerifyFileState
- type RPMVerifyFileTest
- type Ref
- type Reference
- type Release
- type Root
- type StateRef
- type States
- type Subexpression
- type TCInstance
- type Test
- type Tests
- type Text
- type TextfileContent54Object
- type TextfileContent54State
- type TextfileContent54Test
- type UnameTest
- type Value
- type VariableObject
- type VariableState
- type VariableTest
- 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"`
}
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 Arch ¶
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 ¶
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"`
ExtendDefinition Extension `xml:"extend_definition"`
}
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"`
// both values below are ubuntu specific
CvssScore string `xml:"cvss_score,attr"`
CvssVector string `xml:"cvss_vector,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 ¶
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 ¶
UnmarshalXML implements xml.Unmarshaler.
type Debian ¶
type Debian struct {
XMLName xml.Name `xml:"debian"`
MoreInfo string `xml:"moreinfo"`
Date Date `xml:"date"`
Dsa string `xml:"dsa"`
}
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"`
// contains filtered or unexported fields
}
Definitions : >definitions
func (*Definitions) Lookup ¶
func (d *Definitions) Lookup(ref string) int
Lookup searches for a definition by its id and returns its index. If the id cannot be found return -1
type DpkgInfoObject ¶
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 ¶
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 ¶
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 ¶
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 ¶
type EVR struct {
XMLName xml.Name `xml:"evr"`
Operation Operation `xml:"operation,attr"`
Body string `xml:",chardata"`
}
EVR
type Epoch ¶
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 ¶
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"`
VariableObjects []VariableObject `xml:"variable_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 ¶
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 RPMVerifyFileState ¶
type RPMVerifyFileState struct {
XMLName xml.Name `xml:"rpmverifyfile_state"`
ID string `xml:"id,attr"`
Version int `xml:"version,attr"`
Name *Name `xml:"name"`
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"`
}
RPMVerifyFileState: >states>rpmverifyfile_state
type RPMVerifyFileTest ¶
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 ¶
type Release struct {
XMLName xml.Name `xml:"release"`
Operation Operation `xml:"operation,attr"`
Body string `xml:",chardata"`
}
Release
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"`
TextfileContent54States []TextfileContent54State `xml:"textfilecontent54_state"`
RPMVerifyFileState []RPMVerifyFileState `xml:"rpmverifyfile_state"`
VariableStates []VariableState `xml:"variable_state"`
// contains filtered or unexported fields
}
States : >states
type Subexpression ¶
type TCInstance ¶
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"`
VariableTests []VariableTest `xml:"variable_test"`
// contains filtered or unexported fields
}
Tests : >tests
type TextfileContent54Object ¶
type TextfileContent54Object struct {
XMLName xml.Name `xml:"textfilecontent54_object"`
ID string `xml:"id,attr"`
Version int `xml:"version,attr"`
Filepath string `xml:"filepath"`
Path string `xml:"path"`
Filename string `xml:"filename"`
Pattern string `xml:"pattern"`
Instance TCInstance `xml:"instance"`
}
TextfileContent54Object : >tests>textfilecontent54_object
type TextfileContent54State ¶
type TextfileContent54State struct {
XMLName xml.Name `xml:"textfilecontent54_state"`
ID string `xml:"id,attr"`
Version int `xml:"version,attr"`
Subexpression Subexpression `xml:"subexpression"`
Text Text `xml:"text"`
}
TextfileContent54State : >states>textfilecontent54_state
type TextfileContent54Test ¶
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 ¶
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 VariableObject ¶
type VariableObject struct {
XMLName xml.Name `xml:"variable_object"`
ID string `xml:"id,attr"`
VarRef string `xml:"var_ref"`
}
VariableObject : >objects>variable_object
type VariableState ¶
type VariableState struct {
XMLName xml.Name `xml:"variable_state"`
ID string `xml:"id,attr"`
Value string `xml:"value"`
}
VariableState : >states>variable_state
type VariableTest ¶
type VariableTest struct {
XMLName xml.Name `xml:"variable_test"`
ID string `xml:"id,attr"`
StateOperator string `xml:"state_operator,attr"`
Comment string `xml:"comment,attr"`
// contains filtered or unexported fields
}
VariableTest : >tests>variable_test
type Variables ¶
type Variables struct {
XMLName xml.Name `xml:"variables"`
ConstantVariables []ConstantVariable `xml:"constant_variable"`
// contains filtered or unexported fields
}
Variables : >variables
type VerifyFileBehaviors ¶
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 ¶
type Version ¶
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