ovalutil

package
v0.0.18 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2020 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Links(def oval.Definition) string

Links joins all the links in the cve definition into a single string.

func RPMDefsToVulns added in v0.0.14

func RPMDefsToVulns(ctx context.Context, root oval.Root, protoVuln ProtoVulnFunc) ([]*claircore.Vulnerability, error)

RPMDefsToVulns iterates over the definitions in an oval root and assumes RPMInfo objects and states.

Each Criterion encountered with an EVR string will be tranlated into a claircore.Vulnerability

Types

type Compressor

type Compressor uint

Compressor is used by Fetcher to decompress data it fetches.

const (
	CompressionNone  Compressor = iota // none
	CompressionGzip                    // gzip
	CompressionBzip2                   // bzip2
)

These are the kinds of Compession a Fetcher can deal with.

func ParseCompressor

func ParseCompressor(s string) (c Compressor, err error)

ParseCompressor reports the Compressor indicated by the passed in string.

func (Compressor) String

func (i Compressor) String() string

type Fetcher

type Fetcher struct {
	Compression Compressor
	URL         *url.URL
	Client      *http.Client
}

Fetcher implements the driver.FetcherNG interface.

Fetcher expects all of its exported members to be filled out appropriately, and may panic if not.

func (*Fetcher) Fetch added in v0.0.8

Fetch fetches the resource as specified by Fetcher.URL and Fetcher.Compression, using the client provided as Fetcher.Client.

Fetch makes GET requests, and will make conditional requests using the passed-in hint as an HTTP date. The returned hint will be an HTTP date if the server sends a Last-Modified header.

Tmp.File is used to return a ReadCloser that outlives the passed-in context.

type ProtoVulnFunc added in v0.0.14

type ProtoVulnFunc func(def oval.Definition) (*claircore.Vulnerability, error)

ProtoVulnFunc allows a caller to create a prototype vulnerability that will be used copied and further defined for every applicable oval.Criterion discovered.

This allows the caller to use oval.Definition fields and closure syntax when defining how a vulnerability should be parsed

type RPMInfo

type RPMInfo struct {
	// contains filtered or unexported fields
}

RPMInfo holds information for extracting Vulnerabilities from an OVAL database with rpm_info states, objects, and tests.

func NewRPMInfo

func NewRPMInfo(root *oval.Root) *RPMInfo

NewRPMInfo creates an RPMInfo ready to examine the passed-in OVAL database.

func (*RPMInfo) Extract

func (r *RPMInfo) Extract(ctx context.Context) ([]*claircore.Vulnerability, error)

Extract pulls out all Vulnerabilites by walking all the definition's criteria and pulling out rpm_info objects that have rpm_info evr tests.

Jump to

Keyboard shortcuts

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