debian

package
Version: v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OSReleaseName = "Debian GNU/Linux"
	OSReleaseID   = "debian"
)

identifiers commonly in debian distro os-release file

View Source
const (
	OVALTemplate   = "https://www.debian.org/security/oval/oval-definitions-%s.xml"
	PkgNameVersion = `([^\s]+) DPKG is earlier than (.+)`
)

Variables

View Source
var AllReleases = map[Release]struct{}{
	Buster:  struct{}{},
	Jessie:  struct{}{},
	Stretch: struct{}{},
	Wheezy:  struct{}{},
}
View Source
var ReleaseToVersionID = map[Release]string{
	Buster:  "10",
	Jessie:  "8",
	Stretch: "9",
	Wheezy:  "7",
}

Functions

func ResolveVersionCodeName

func ResolveVersionCodeName(osrelease map[string]string) string

Resolve iterates over each os-release entry and tries to find a release string. if found we return the found release in string form. if not found empty string is returned

func UpdaterSet

func UpdaterSet(_ context.Context) (driver.UpdaterSet, error)

Types

type DistributionScanner

type DistributionScanner struct{}

DistributionScanner attempts to discover if a layer displays characteristics of a Debian distribution

func (*DistributionScanner) Kind

func (*DistributionScanner) Kind() string

Kind implements scanner.VersionedScanner.

func (*DistributionScanner) Name

func (*DistributionScanner) Name() string

Name implements scanner.VersionedScanner.

func (*DistributionScanner) Scan

Scan will inspect the layer for an os-release or lsb-release file and perform a regex match for keywords indicating the associated Debian release

If neither file is found a (nil,nil) is returned. If the files are found but all regexp fail to match an empty slice is returned.

func (*DistributionScanner) Version

func (*DistributionScanner) Version() string

Version implements scanner.VersionedScanner.

type Matcher

type Matcher struct{}

func (*Matcher) Filter

func (*Matcher) Filter(record *claircore.IndexRecord) bool

func (*Matcher) Name

func (*Matcher) Name() string

func (*Matcher) Query

func (*Matcher) Query() []driver.MatchConstraint

func (*Matcher) Vulnerable

func (*Matcher) Vulnerable(ctx context.Context, record *claircore.IndexRecord, vuln *claircore.Vulnerability) (bool, error)

type Release

type Release string
const (
	Buster  Release = "buster"
	Jessie  Release = "jessie"
	Stretch Release = "stretch"
	Wheezy  Release = "wheezy"
)

type Updater

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

Updater implements the claircore.Updater.Fetcher and claircore.Updater.Parser interfaces making it eligible to be used as an Updater.

func NewUpdater

func NewUpdater(release Release) *Updater

func (*Updater) Configure

func (u *Updater) Configure(ctx context.Context, f driver.ConfigUnmarshaler, c *http.Client) error

Configure implements driver.Configurable.

func (*Updater) Fetch

func (u *Updater) Fetch(ctx context.Context, fingerprint driver.Fingerprint) (io.ReadCloser, driver.Fingerprint, error)

func (*Updater) Name

func (u *Updater) Name() string

func (*Updater) Parse

type UpdaterConfig

type UpdaterConfig struct {
	URL string `json:"url" yaml:"url"`
}

UpdaterConfig is the configuration for the updater.

By convention, this is in a map called "debian-${RELEASE}-updater", e.g. "debian-buster-updater".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL