diff --git a/alpine/parser.go b/alpine/parser.go index b0d6bf400..74a2f83bc 100644 --- a/alpine/parser.go +++ b/alpine/parser.go @@ -40,7 +40,7 @@ func (u *updater) parse(ctx context.Context, sdb *SecurityDB) ([]*claircore.Vuln NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: pkg.Pkg.Name, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: u.release.Distribution(), } diff --git a/alpine/parser_test.go b/alpine/parser_test.go index 4de7777d7..9b70fe554 100644 --- a/alpine/parser_test.go +++ b/alpine/parser_test.go @@ -24,7 +24,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "botan", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -36,7 +36,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "botan", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -48,7 +48,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "botan", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -60,7 +60,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "botan", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -72,7 +72,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "cfengine", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -84,7 +84,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "chicken", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -96,7 +96,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "chicken", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -108,7 +108,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "chicken", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, @@ -120,7 +120,7 @@ var v3_10CommunityTruncatedVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "chicken", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, Dist: dist310, }, diff --git a/alpine/purl.go b/alpine/purl.go index 8af217951..4a5f2fee8 100644 --- a/alpine/purl.go +++ b/alpine/purl.go @@ -46,7 +46,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Package: &claircore.Package{ Name: purl.Name, Version: purl.Version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: purl.Qualifiers.Map()["arch"], Source: &claircore.Package{}, }, diff --git a/alpine/purl_test.go b/alpine/purl_test.go index a9add45cb..fe1c2e88a 100644 --- a/alpine/purl_test.go +++ b/alpine/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordAlpine(t *testing.T) { Name: "busybox", Version: "1.36.1-r0", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "apk:/busybox", Filepath: "/bin/busybox", Source: &claircore.Package{}, @@ -45,7 +45,7 @@ func TestRoundTripIndexRecordAlpine(t *testing.T) { Name: "busybox", Version: "1.36.1-r0", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "apk:/busybox", Filepath: "/bin/busybox", Source: &claircore.Package{}, diff --git a/apk/scanner.go b/apk/scanner.go index 3ad6e2d01..068110099 100644 --- a/apk/scanner.go +++ b/apk/scanner.go @@ -84,7 +84,7 @@ func (*Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircore. continue } p := claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: installedFile, } r := bytes.NewBuffer(entry) @@ -105,7 +105,7 @@ func (*Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircore. } else { p.Source = &claircore.Package{ Name: l, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, } if p.Version != "" { p.Source.Version = p.Version diff --git a/apk/scanner_test.go b/apk/scanner_test.go index 7fc0c8df8..f472b2cf8 100644 --- a/apk/scanner_test.go +++ b/apk/scanner_test.go @@ -17,126 +17,126 @@ func TestScan(t *testing.T) { { Name: "musl", Version: "1.1.22-r3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "musl", Version: "1.1.22-r3", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "musl", Version: "1.1.22-r3", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "0c777cf840e82cdc528651e3f3f8f9dda6b1b028", }, { Name: "busybox", Version: "1.30.1-r2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "busybox", Version: "1.30.1-r2", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "busybox", Version: "1.30.1-r2", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "d310e6a3189f51bd55bdc398fca5948c2d044804", }, { Name: "alpine-baselayout", Version: "3.1.2-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "alpine-baselayout", Version: "3.1.2-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "alpine-baselayout", Version: "3.1.2-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "770d8ce7c6c556d952884ad436dd82b17ceb1a9a", }, { Name: "alpine-keys", Version: "2.1-r2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "alpine-keys", Version: "2.1-r2", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "alpine-keys", Version: "2.1-r2", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "bdc861e495d33e961b7b9884324bea64a16d2b91", }, { Name: "libcrypto1.1", Version: "1.1.1d-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "openssl", Version: "1.1.1d-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "openssl", Version: "1.1.1d-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "95e4899bd4d379e6dde69de81fb0506e00322dec", }, { Name: "libssl1.1", Version: "1.1.1d-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "openssl", Version: "1.1.1d-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "openssl", Version: "1.1.1d-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "95e4899bd4d379e6dde69de81fb0506e00322dec", }, { Name: "ca-certificates-cacert", Version: "20190108-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "ca-certificates", Version: "20190108-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "ca-certificates", Version: "20190108-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "2e508d7528ca4d9496f05d7f453cbd17dbb80f9d", }, { Name: "libtls-standalone", Version: "2.9.1-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "libtls-standalone", Version: "2.9.1-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "libtls-standalone", Version: "2.9.1-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "981bf8f8fb3cbbc210ee4f2a2fb5b55d0132e02a", }, { Name: "ssl_client", Version: "1.30.1-r2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "busybox", Version: "1.30.1-r2", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "busybox", Version: "1.30.1-r2", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "d310e6a3189f51bd55bdc398fca5948c2d044804", }, { Name: "zlib", Version: "1.2.11-r1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "zlib", Version: "1.2.11-r1", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "zlib", Version: "1.2.11-r1", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "d2bfb22c8e8f67ad7d8d02704f35ec4d2a19f9b9", }, { Name: "apk-tools", Version: "2.10.4-r2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "apk-tools", Version: "2.10.4-r2", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "apk-tools", Version: "2.10.4-r2", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "1b98a2fa98c5af24a6a55cc61a4ff1ba1fa1f34f", }, { Name: "scanelf", Version: "1.2.3-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "pax-utils", Version: "1.2.3-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "pax-utils", Version: "1.2.3-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "7768569c07c52f01b11e62e523cd6ddcb4690889", }, { Name: "musl-utils", Version: "1.1.22-r3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "musl", Version: "1.1.22-r3", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "musl", Version: "1.1.22-r3", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "0c777cf840e82cdc528651e3f3f8f9dda6b1b028", }, { Name: "libc-utils", Version: "0.7.1-r0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", - Source: &claircore.Package{Name: "libc-dev", Version: "0.7.1-r0", Kind: claircore.SOURCE}, + Source: &claircore.Package{Name: "libc-dev", Version: "0.7.1-r0", Kind: claircore.PackageSource}, PackageDB: "lib/apk/db/installed", RepositoryHint: "cdca45021830765ad71e58af7ed31f42d1d3d644", }, diff --git a/archop_string.go b/archop_string.go index a054b85e8..3949845c7 100644 --- a/archop_string.go +++ b/archop_string.go @@ -19,8 +19,9 @@ const _ArchOp_name = "invalidequalsnot equalspattern match" var _ArchOp_index = [...]uint8{0, 7, 13, 23, 36} func (i ArchOp) String() string { - if i >= ArchOp(len(_ArchOp_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_ArchOp_index)-1 { return "ArchOp(" + strconv.FormatInt(int64(i), 10) + ")" } - return _ArchOp_name[_ArchOp_index[i]:_ArchOp_index[i+1]] + return _ArchOp_name[_ArchOp_index[idx]:_ArchOp_index[idx+1]] } diff --git a/aws/purl.go b/aws/purl.go index 17cff8d56..29e83c7d7 100644 --- a/aws/purl.go +++ b/aws/purl.go @@ -54,7 +54,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{}, diff --git a/aws/purl_test.go b/aws/purl_test.go index 58471b587..b3f602c33 100644 --- a/aws/purl_test.go +++ b/aws/purl_test.go @@ -26,7 +26,7 @@ func TestRoundTripIndexRecordAWS(t *testing.T) { Name: "curl", Version: "7.79.1-2.amzn2.0.2", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ @@ -46,7 +46,7 @@ func TestRoundTripIndexRecordAWS(t *testing.T) { Name: "bash", Version: "5.1.16-6.amzn2023.0.4", Arch: "aarch64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ diff --git a/aws/updater.go b/aws/updater.go index 7a3c895a9..36afd6f27 100644 --- a/aws/updater.go +++ b/aws/updater.go @@ -111,7 +111,7 @@ func (u *Updater) unpack(partial *claircore.Vulnerability, packages []alas.Packa v.Package = &claircore.Package{ Name: alasPKG.Name, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: alasPKG.Arch, } v.FixedInVersion = versionString(&b, alasPKG) diff --git a/datastore/postgres/querybuilder.go b/datastore/postgres/querybuilder.go index 79f79feec..359638226 100644 --- a/datastore/postgres/querybuilder.go +++ b/datastore/postgres/querybuilder.go @@ -26,7 +26,7 @@ func buildGetQuery(record *claircore.IndexRecord, opts *datastore.GetOpts) (stri } packageQuery := goqu.And( goqu.Ex{"package_name": record.Package.Name}, - goqu.Ex{"package_kind": record.Package.Kind}, + goqu.Ex{"package_kind": record.Package.Kind.String()}, ) exps = append(exps, packageQuery) @@ -34,7 +34,7 @@ func buildGetQuery(record *claircore.IndexRecord, opts *datastore.GetOpts) (stri if record.Package.Source.Name != "" { sourcePackageQuery := goqu.And( goqu.Ex{"package_name": record.Package.Source.Name}, - goqu.Ex{"package_kind": record.Package.Source.Kind}, + goqu.Ex{"package_kind": record.Package.Source.Kind.String()}, ) or := goqu.Or( packageQuery, diff --git a/datastore/postgres/types/package_kind.go b/datastore/postgres/types/package_kind.go new file mode 100644 index 000000000..6aeb76e23 --- /dev/null +++ b/datastore/postgres/types/package_kind.go @@ -0,0 +1,80 @@ +package types + +import ( + "context" + + "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgtype" + + "github.com/quay/claircore" +) + +func registerPackageKind(ctx context.Context, c *pgx.Conn) error { + tm := c.TypeMap() + tm.TryWrapEncodePlanFuncs = append([]pgtype.TryWrapEncodePlanFunc{ + packageKindWrapEncodePlan, + }, tm.TryWrapEncodePlanFuncs...) + tm.TryWrapScanPlanFuncs = append([]pgtype.TryWrapScanPlanFunc{ + packageKindWrapScanPlan, + }, tm.TryWrapScanPlanFuncs...) + return nil +} + +var ( + _ pgtype.TextScanner = (*PackageKind)(nil) + _ pgtype.TextValuer = PackageKind(0) +) + +// PackageKind is a wrapper around [claircore.PackageKind]. +type PackageKind claircore.PackageKind + +// ScanText implements [pgtype.TextScanner]. +func (p *PackageKind) ScanText(v pgtype.Text) error { + if !v.Valid { + *p = PackageKind(0) + return nil + } + return (*claircore.PackageKind)(p).UnmarshalText([]byte(v.String)) +} + +// TextValue implements [pgtype.TextValuer]. +func (p PackageKind) TextValue() (t pgtype.Text, err error) { + t.Valid = true + t.String = (claircore.PackageKind)(p).String() + return t, nil +} + +func packageKindWrapEncodePlan(value any) (pgtype.WrappedEncodePlanNextSetter, any, bool) { + switch k := value.(type) { + case claircore.PackageKind: + return &wrapPackageKindEncodePlan{}, PackageKind(k), true + case *claircore.PackageKind: + return &wrapPackageKindEncodePlan{}, PackageKind(*k), true + } + return nil, nil, false +} + +type wrapPackageKindEncodePlan struct { + encodeWrapper +} + +// Encode implements [pgtype.WrappedEncodePlanNextSetter]. +func (p *wrapPackageKindEncodePlan) Encode(value any, buf []byte) (newBuf []byte, err error) { + return p.next.Encode(PackageKind(value.(claircore.PackageKind)), buf) +} + +func packageKindWrapScanPlan(target any) (pgtype.WrappedScanPlanNextSetter, any, bool) { + if p, ok := target.(*claircore.PackageKind); ok { + return &wrapPackageKindScanPlan{}, (*PackageKind)(p), true + } + return nil, nil, false +} + +type wrapPackageKindScanPlan struct { + scanWrapper +} + +// Scan implements [pgtype.WrappedScanPlanNextSetter]. +func (p *wrapPackageKindScanPlan) Scan(src []byte, dst any) error { + return p.next.Scan(src, (*PackageKind)(dst.(*claircore.PackageKind))) +} diff --git a/datastore/postgres/types/types.go b/datastore/postgres/types/types.go index b464a3b5e..3eed3ed57 100644 --- a/datastore/postgres/types/types.go +++ b/datastore/postgres/types/types.go @@ -1,3 +1,5 @@ +// Package types implements encoding and decoding hooks between claircore and a +// PostgreSQL database. package types import ( @@ -10,6 +12,7 @@ import ( func ConnectRegisterTypes(ctx context.Context, c *pgx.Conn) error { for _, f := range []func(context.Context, *pgx.Conn) error{ registerVersionRange, + registerPackageKind, } { if err := f(ctx, c); err != nil { return err diff --git a/datastore/postgres/updatevulnerabilities.go b/datastore/postgres/updatevulnerabilities.go index de8d148b2..7c6b9789b 100644 --- a/datastore/postgres/updatevulnerabilities.go +++ b/datastore/postgres/updatevulnerabilities.go @@ -329,7 +329,7 @@ func md5Vuln(v *claircore.Vulnerability) (string, []byte) { b.WriteString(v.Package.Version) b.WriteString(v.Package.Module) b.WriteString(v.Package.Arch) - b.WriteString(v.Package.Kind) + b.WriteString(v.Package.Kind.String()) } if v.Dist != nil { b.WriteString(v.Dist.DID) diff --git a/debian/parser.go b/debian/parser.go index f1e6b03db..6b8e95158 100644 --- a/debian/parser.go +++ b/debian/parser.go @@ -64,7 +64,7 @@ func (u *updater) Parse(ctx context.Context, r io.ReadCloser) ([]*claircore.Vuln FixedInVersion: releaseData.FixedVersion, Package: &claircore.Package{ Name: src, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, }, } vs = append(vs, &v) diff --git a/debian/purl.go b/debian/purl.go index 50a734a7d..009ed16d6 100644 --- a/debian/purl.go +++ b/debian/purl.go @@ -57,7 +57,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ diff --git a/debian/purl_test.go b/debian/purl_test.go index 7d5bb7d23..f4d9633ec 100644 --- a/debian/purl_test.go +++ b/debian/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordDebian(t *testing.T) { Name: "bash", Version: "5.1.8-6", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "deb:/var/lib/dpkg/status", Source: &claircore.Package{}, }, diff --git a/dpkg/distroless_scanner.go b/dpkg/distroless_scanner.go index 261692781..2af8c8e78 100644 --- a/dpkg/distroless_scanner.go +++ b/dpkg/distroless_scanner.go @@ -97,14 +97,14 @@ func (ps *DistrolessScanner) Scan(ctx context.Context, layer *claircore.Layer) ( p := &claircore.Package{ Name: name, Version: v, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: hdr.Get("Architecture"), PackageDB: fn, } if src := hdr.Get("Source"); src != "" { p.Source = &claircore.Package{ Name: src, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, // Right now, this is an assumption that discovered source // packages relate to their binary versions. We see this in // Debian. diff --git a/dpkg/distroless_scanner_test.go b/dpkg/distroless_scanner_test.go index c6ad7e00e..9bc68167b 100644 --- a/dpkg/distroless_scanner_test.go +++ b/dpkg/distroless_scanner_test.go @@ -15,7 +15,7 @@ func TestDistrolessLayer(t *testing.T) { { Name: "base-files", Version: "11.1+deb11u5", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", Source: nil, PackageDB: "var/lib/dpkg/status.d/base", @@ -24,7 +24,7 @@ func TestDistrolessLayer(t *testing.T) { { Name: "netbase", Version: "6.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", Source: nil, PackageDB: "var/lib/dpkg/status.d/netbase", @@ -33,7 +33,7 @@ func TestDistrolessLayer(t *testing.T) { { Name: "tzdata", Version: "2021a-1+deb11u8", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", Source: nil, PackageDB: "var/lib/dpkg/status.d/tzdata", diff --git a/dpkg/scanner.go b/dpkg/scanner.go index 99f5b5020..8ddcd555a 100644 --- a/dpkg/scanner.go +++ b/dpkg/scanner.go @@ -268,7 +268,7 @@ Restart: p := &claircore.Package{ Name: name, Version: v, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: arch, PackageDB: fn, } @@ -287,7 +287,7 @@ Restart: if !ok { srcpkg = &claircore.Package{ Name: name, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Version: ver, PackageDB: fn, } @@ -299,7 +299,7 @@ Restart: // 1-to-1 mapping. p.Source = &claircore.Package{ Name: name, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Version: v, PackageDB: fn, } diff --git a/dpkg/scanner_test.go b/dpkg/scanner_test.go index ec55e8418..8660bf29a 100644 --- a/dpkg/scanner_test.go +++ b/dpkg/scanner_test.go @@ -23,801 +23,801 @@ func TestScanner(t *testing.T) { { Name: "fdisk", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "9debc95b96eed7df33817e62654b7649", }, { Name: "libpam-runtime", Version: "1.1.8-3.6ubuntu2.18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "f96da69e0bd2f91f257c09522e2e48a9", }, { Name: "libncurses5", Version: "6.1-1ubuntu1.18.04", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "9d18792b91935a5849328cb368005ec9", }, { Name: "libcom-err2", Version: "1.44.1-1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6ed12cf8b536fa9eca59fd8b0e544111", }, { Name: "libapt-pkg5.0", Version: "1.6.11", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "apt", Version: "1.6.11", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "apt", Version: "1.6.11", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "b0e3976b91845036e35cbfb01ec6d6eb", }, { Name: "libaudit1", Version: "1:2.8.2-1ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "audit", Version: "1:2.8.2-1ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "audit", Version: "1:2.8.2-1ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "5c0000030cfa810d6c835ab82f517ee6", }, { Name: "libtinfo5", Version: "6.1-1ubuntu1.18.04", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "33ca525ace7a21d05093465f64207cca", }, { Name: "perl-base", Version: "5.26.1-6ubuntu0.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "perl", Version: "5.26.1-6ubuntu0.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "perl", Version: "5.26.1-6ubuntu0.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "f17ad9208249962b7a52349494ce75ff", }, { Name: "libudev1", Version: "237-3ubuntu10.25", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "systemd", Version: "237-3ubuntu10.25", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "systemd", Version: "237-3ubuntu10.25", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "a6216ccf2388067c734fb7f568f3e0a8", }, { Name: "libunistring2", Version: "0.9.9-0ubuntu2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libunistring", Version: "0.9.9-0ubuntu2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libunistring", Version: "0.9.9-0ubuntu2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "db7af6bc39ecfe032ce4e7a6f858259d", }, { Name: "libnettle6", Version: "3.4-1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "nettle", Version: "3.4-1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "nettle", Version: "3.4-1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "02bfb40df3039b604a89a846e5daf10c", }, { Name: "libattr1", Version: "1:2.4.47-2build1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "attr", Version: "1:2.4.47-2build1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "attr", Version: "1:2.4.47-2build1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "a915a7ea4dd5f10d4d4d385d2c24192d", }, { Name: "libss2", Version: "1.44.1-1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "06ebd35af75313d7ce587f6d83720209", }, { Name: "liblzma5", Version: "5.2.2-1.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "xz-utils", Version: "5.2.2-1.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "xz-utils", Version: "5.2.2-1.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "16e9fc306ca68a3a7806754784b52d8c", }, { Name: "libidn2-0", Version: "2.0.4-1.1build2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libidn2", Version: "2.0.4-1.1build2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libidn2", Version: "2.0.4-1.1build2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "ebecbbce67182ce137f5ca10ed2122e4", }, { Name: "libpam-modules-bin", Version: "1.1.8-3.6ubuntu2.18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "7b7262bc55945a4b9dfc5bb3a4125974", }, { Name: "grep", Version: "3.1-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "grep", Version: "3.1-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "grep", Version: "3.1-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4455aef7b04af0c9ce1cf2aa6129fed7", }, { Name: "base-passwd", Version: "3.5.44", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "base-passwd", Version: "3.5.44", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "base-passwd", Version: "3.5.44", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "302889f7be244dc6664821cdba719b6e", }, { Name: "liblz4-1", Version: "0.0~r131-2ubuntu3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "lz4", Version: "0.0~r131-2ubuntu3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "lz4", Version: "0.0~r131-2ubuntu3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "2c4983fb7dd0ba7e990ff7661a3f2379", }, { Name: "debianutils", Version: "4.8.4", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "debianutils", Version: "4.8.4", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "debianutils", Version: "4.8.4", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "e4235d987575ef2b67b99113b311f5b6", }, { Name: "libgcrypt20", Version: "1.8.1-4ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libgcrypt20", Version: "1.8.1-4ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libgcrypt20", Version: "1.8.1-4ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "217a9e55d627ef5e638296a0ad54a4fd", }, { Name: "libncursesw5", Version: "6.1-1ubuntu1.18.04", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "14164ca584dfc5968d2f00cced8e9dd7", }, { Name: "bash", Version: "4.4.18-2ubuntu1.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "bash", Version: "4.4.18-2ubuntu1.2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "bash", Version: "4.4.18-2ubuntu1.2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "bc32b6211b320538050b775f28daa2a1", }, { Name: "libuuid1", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "056a0822246369948a91cdebbb295225", }, { Name: "libdb5.3", Version: "5.3.28-13.1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "db5.3", Version: "5.3.28-13.1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "db5.3", Version: "5.3.28-13.1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "d81a5051ae0295d8ec791e8592849b8e", }, { Name: "debconf", Version: "1.5.66ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "debconf", Version: "1.5.66ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "debconf", Version: "1.5.66ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "f3217960643ae75cc292e59488aabae2", }, { Name: "zlib1g", Version: "1:1.2.11.dfsg-0ubuntu2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "zlib", Version: "1:1.2.11.dfsg-0ubuntu2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "zlib", Version: "1:1.2.11.dfsg-0ubuntu2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "3270b12c3a9a6ee9f4ae27ffeb407a6c", }, { Name: "hostname", Version: "3.20", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "hostname", Version: "3.20", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "hostname", Version: "3.20", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6e0f038548ebd196e0659b06fe81a466", }, { Name: "mawk", Version: "1.3.3-17ubuntu3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "mawk", Version: "1.3.3-17ubuntu3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "mawk", Version: "1.3.3-17ubuntu3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4e377c681d072a697175326a3fcd14da", }, { Name: "gzip", Version: "1.6-5ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gzip", Version: "1.6-5ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gzip", Version: "1.6-5ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "762f8b7616e78c56ef2c6345361ec179", }, { Name: "gpgv", Version: "2.2.4-1ubuntu1.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gnupg2", Version: "2.2.4-1ubuntu1.2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gnupg2", Version: "2.2.4-1ubuntu1.2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4ff938019bf794bd82c6306a04597855", }, { Name: "bsdutils", Version: "1:2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "944a8ca185896c4fc8e6d403c44c089f", }, { Name: "dash", Version: "0.5.8-2.10", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "dash", Version: "0.5.8-2.10", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "dash", Version: "0.5.8-2.10", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "5267d9451e76c53a4a6dd49a7abf3d0a", }, { Name: "mount", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "81cd4e0dabde7615af9fbf50c251f034", }, { Name: "libgnutls30", Version: "3.5.18-1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gnutls28", Version: "3.5.18-1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gnutls28", Version: "3.5.18-1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "3ded475856db7dde94c0fd8f5300480a", }, { Name: "libsystemd0", Version: "237-3ubuntu10.25", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "systemd", Version: "237-3ubuntu10.25", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "systemd", Version: "237-3ubuntu10.25", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "c809acd40a40b37b55491cdb4bd69fb2", }, { Name: "libzstd1", Version: "1.3.3+dfsg-2ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libzstd", Version: "1.3.3+dfsg-2ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libzstd", Version: "1.3.3+dfsg-2ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "753d597807e707445ac96a84de2fc62a", }, { Name: "libc6", Version: "2.27-3ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "glibc", Version: "2.27-3ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "glibc", Version: "2.27-3ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "69b26e314836bc5fc6364b99b6656f20", }, { Name: "libfdisk1", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "ba4b64c92f8c2d133390d30a86dd75b7", }, { Name: "libpcre3", Version: "2:8.39-9", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "pcre3", Version: "2:8.39-9", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "pcre3", Version: "2:8.39-9", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "56b9cf5dd90f5da6b904b2b90f2a757d", }, { Name: "coreutils", Version: "8.28-1ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "coreutils", Version: "8.28-1ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "coreutils", Version: "8.28-1ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "c39a8196b07f782ffeea8909a36af21a", }, { Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "15e1f965b09cd8b51d75001e7c043ae0", }, { Name: "tar", Version: "1.29b-2ubuntu0.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "tar", Version: "1.29b-2ubuntu0.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "tar", Version: "1.29b-2ubuntu0.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "e403332f4aee4679e817acaa5d0809eb", }, { Name: "libprocps6", Version: "2:3.3.12-3ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "procps", Version: "2:3.3.12-3ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "procps", Version: "2:3.3.12-3ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "1dfb5da1f9e5b56b91557cf3d0fadc17", }, { Name: "libbz2-1.0", Version: "1.0.6-8.1ubuntu0.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "bzip2", Version: "1.0.6-8.1ubuntu0.2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "bzip2", Version: "1.0.6-8.1ubuntu0.2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4c94d04d3bd207d6c66b0275467a3434", }, { Name: "libblkid1", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "002355d5a4c210677b484b88ee906711", }, { Name: "libtasn1-6", Version: "4.13-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libtasn1-6", Version: "4.13-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libtasn1-6", Version: "4.13-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "40833fb62f189ad0b699085f37fa126b", }, { Name: "bzip2", Version: "1.0.6-8.1ubuntu0.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "bzip2", Version: "1.0.6-8.1ubuntu0.2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "bzip2", Version: "1.0.6-8.1ubuntu0.2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "7870caea30545bd4fc8470cd7c71cee5", }, { Name: "libhogweed4", Version: "3.4-1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "nettle", Version: "3.4-1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "nettle", Version: "3.4-1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "7d676949637c18ec15c784d9e0f0d2b7", }, { Name: "lsb-base", Version: "9.20170808ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "lsb", Version: "9.20170808ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "lsb", Version: "9.20170808ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "81f59c0711532f60f4bba8cff2bdc194", }, { Name: "procps", Version: "2:3.3.12-3ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "procps", Version: "2:3.3.12-3ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "procps", Version: "2:3.3.12-3ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6226ab16fc27c981a04e5236cd357db4", }, { Name: "libgpg-error0", Version: "1.27-6", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libgpg-error", Version: "1.27-6", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libgpg-error", Version: "1.27-6", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "9ac0b2bb54b5fca41b5699ab285fd537", }, { Name: "base-files", Version: "10.1ubuntu2.6", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "base-files", Version: "10.1ubuntu2.6", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "base-files", Version: "10.1ubuntu2.6", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "b7adc247e1bbd04d0fa877ad976e6999", }, { Name: "libgmp10", Version: "2:6.1.2+dfsg-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gmp", Version: "2:6.1.2+dfsg-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gmp", Version: "2:6.1.2+dfsg-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "0582a99d7e1af42e4e467f8bfb3eefb2", }, { Name: "sensible-utils", Version: "0.0.12", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "sensible-utils", Version: "0.0.12", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "sensible-utils", Version: "0.0.12", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "acacef732b02d7b18bc55fb076129e97", }, { Name: "passwd", Version: "1:4.5-1ubuntu2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "shadow", Version: "1:4.5-1ubuntu2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "shadow", Version: "1:4.5-1ubuntu2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "b07c719065496584ffc5d22aad31bd26", }, { Name: "init-system-helpers", Version: "1.51", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "init-system-helpers", Version: "1.51", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "init-system-helpers", Version: "1.51", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "12ce455753af8d952171bcd97fd9ae46", }, { Name: "ncurses-base", Version: "6.1-1ubuntu1.18.04", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "82f72407e909caaa18dbc13a5d8dcec4", }, { Name: "libc-bin", Version: "2.27-3ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "glibc", Version: "2.27-3ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "glibc", Version: "2.27-3ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6a8dfc87afeac7c23a876c771153203c", }, { Name: "libsemanage1", Version: "2.7-2build2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libsemanage", Version: "2.7-2build2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libsemanage", Version: "2.7-2build2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "2213290d7f16a01ea80c776b161c4d4b", }, { Name: "libseccomp2", Version: "2.4.1-0ubuntu0.18.04.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libseccomp", Version: "2.4.1-0ubuntu0.18.04.2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libseccomp", Version: "2.4.1-0ubuntu0.18.04.2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6a2c4bd25b02d438edc8b955a190c182", }, { Name: "sysvinit-utils", Version: "2.88dsf-59.10ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "sysvinit", Version: "2.88dsf-59.10ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "sysvinit", Version: "2.88dsf-59.10ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4df656cc5c9bf0083c342c8bd294c28e", }, { Name: "libsemanage-common", Version: "2.7-2build2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "libsemanage", Version: "2.7-2build2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libsemanage", Version: "2.7-2build2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "d39631bf96b2162fdc3a53291a39df62", }, { Name: "libp11-kit0", Version: "0.23.9-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "p11-kit", Version: "0.23.9-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "p11-kit", Version: "0.23.9-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "61f2a011afb14b04083002d28cb94b9e", }, { Name: "libdebconfclient0", Version: "0.213ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "cdebconf", Version: "0.213ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "cdebconf", Version: "0.213ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "8a28204a765d5720cb4af1753f45bed7", }, { Name: "libselinux1", Version: "2.7-2build2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libselinux", Version: "2.7-2build2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libselinux", Version: "2.7-2build2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "a2f847fab267ff4cc6f08351c5d72e16", }, { Name: "dpkg", Version: "1.19.0.5ubuntu2.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "dpkg", Version: "1.19.0.5ubuntu2.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "dpkg", Version: "1.19.0.5ubuntu2.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "db01a1c0f91bf54aa1126ae814a48760", }, { Name: "gcc-8-base", Version: "8.3.0-6ubuntu1~18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "7dac2f53b10d468727cfd34dfe5fdaf7", }, { Name: "apt", Version: "1.6.11", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "apt", Version: "1.6.11", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "apt", Version: "1.6.11", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "bc3018653614f09a74c49875673b4e35", }, { Name: "diffutils", Version: "1:3.6-1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "diffutils", Version: "1:3.6-1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "diffutils", Version: "1:3.6-1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "49ed959780dcc73b86202dff1614518d", }, { Name: "libpam-modules", Version: "1.1.8-3.6ubuntu2.18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "d26dab685afef1e59fdf6eea227a764f", }, { Name: "libstdc++6", Version: "8.3.0-6ubuntu1~18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "67d777333913485c1776d89fe0be2265", }, { Name: "libffi6", Version: "3.2.1-8", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libffi", Version: "3.2.1-8", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libffi", Version: "3.2.1-8", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "c98a2d5689d41ff8c9d7fa0b8053fd35", }, { Name: "libaudit-common", Version: "1:2.8.2-1ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "audit", Version: "1:2.8.2-1ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "audit", Version: "1:2.8.2-1ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "96dff9fbe852eedc8324c4c659c6c9fb", }, { Name: "findutils", Version: "4.6.0+git+20170828-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "findutils", Version: "4.6.0+git+20170828-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "findutils", Version: "4.6.0+git+20170828-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "a69359638ce4239976bc4d2902fd422e", }, { Name: "libpam0g", Version: "1.1.8-3.6ubuntu2.18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "pam", Version: "1.1.8-3.6ubuntu2.18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "2b70bcd8348ded4048eb05371d206057", }, { Name: "libcap-ng0", Version: "0.7.7-3.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libcap-ng", Version: "0.7.7-3.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libcap-ng", Version: "0.7.7-3.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "eef5c8b83a5c83ac1d800421013c35d4", }, { Name: "libmount1", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "54de57abe4e728e553aa9bb3c0a3486b", }, { Name: "login", Version: "1:4.5-1ubuntu2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "shadow", Version: "1:4.5-1ubuntu2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "shadow", Version: "1:4.5-1ubuntu2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "fb7eb3beb226312b5fc206b9b68196e4", }, { Name: "adduser", Version: "3.116ubuntu1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "adduser", Version: "3.116ubuntu1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "adduser", Version: "3.116ubuntu1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "695a46afe8d2418119a6c814272624b2", }, { Name: "libext2fs2", Version: "1.44.1-1ubuntu1.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "e2fsprogs", Version: "1.44.1-1ubuntu1.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "b1b278bfc418d3ded83ce0fa811c1b72", }, { Name: "libacl1", Version: "2.2.52-3build1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "acl", Version: "2.2.52-3build1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "acl", Version: "2.2.52-3build1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4eb315544d7022817f09883f271f3838", }, { Name: "ncurses-bin", Version: "6.1-1ubuntu1.18.04", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ncurses", Version: "6.1-1ubuntu1.18.04", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "87fcc071cfb913ef124a557295cfe91f", }, { Name: "libsepol1", Version: "2.7-1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "libsepol", Version: "2.7-1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "libsepol", Version: "2.7-1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "969d98356cf0185d41fcb360b3cc78f0", }, { Name: "ubuntu-keyring", Version: "2018.09.18.1~18.04.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "all", - Source: &claircore.Package{Name: "ubuntu-keyring", Version: "2018.09.18.1~18.04.0", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "ubuntu-keyring", Version: "2018.09.18.1~18.04.0", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "6670fc17c7bfbf2f394e994c2324809a", }, { Name: "libgcc1", Version: "1:8.3.0-6ubuntu1~18.04.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "gcc-8", Version: "8.3.0-6ubuntu1~18.04.1", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "9bccc3f84c1c9038a55c211f84014a65", }, { Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "4fedd5fb77f729d76705cc545e983730", }, { Name: "sed", Version: "4.4-2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "sed", Version: "4.4-2", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "sed", Version: "4.4-2", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "bf8c924cef13e42a861f3297ac32ce49", }, { Name: "libsmartcols1", Version: "2.31.1-0.4ubuntu3.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "amd64", - Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.SOURCE, PackageDB: "var/lib/dpkg/status"}, + Source: &claircore.Package{Name: "util-linux", Version: "2.31.1-0.4ubuntu3.3", Kind: claircore.PackageSource, PackageDB: "var/lib/dpkg/status"}, PackageDB: "var/lib/dpkg/status", RepositoryHint: "daafc6eba6eae603327bf8fc49645999", }, diff --git a/generate.go b/generate.go index 5c6009701..8962fc7fe 100644 --- a/generate.go +++ b/generate.go @@ -3,3 +3,4 @@ package claircore //go:generate -command stringer go run golang.org/x/tools/cmd/stringer //go:generate stringer -type=ArchOp -linecomment //go:generate stringer -type=Severity +//go:generate stringer -type=PackageKind -linecomment diff --git a/gobin/exe.go b/gobin/exe.go index c746712b6..3cb3c9878 100644 --- a/gobin/exe.go +++ b/gobin/exe.go @@ -63,7 +63,7 @@ func toPackages(ctx context.Context, out *[]*claircore.Package, p string, r io.R } *out = append(*out, &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Name: "stdlib", // This was previously bi.GoVersion, // but it must be changed to ensure an entry @@ -135,7 +135,7 @@ func toPackages(ctx context.Context, out *[]*claircore.Package, p string, r io.R name = "command-line-arguments" } *out = append(*out, &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: pkgdb, Name: name, Version: mmv, @@ -162,7 +162,7 @@ func toPackages(ctx context.Context, out *[]*claircore.Package, p string, r io.R } *out = append(*out, &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: pkgdb, Name: d.Path, Version: d.Version, diff --git a/gobin/gobin_test.go b/gobin/gobin_test.go index 1f671ff25..554e1b566 100644 --- a/gobin/gobin_test.go +++ b/gobin/gobin_test.go @@ -163,7 +163,7 @@ func TestScanner(t *testing.T) { continue case strings.HasPrefix(v.Version, "(devel)"): continue - case v.Kind != claircore.BINARY: + case v.Kind != claircore.PackageBinary: case v.PackageDB != "go:bin/bisect": t.Errorf("unexpected package DB: %s: %q", v.Name, v.PackageDB) case !versionRegex.MatchString(v.Version): diff --git a/gobin/purl.go b/gobin/purl.go index 316c4df78..df439af06 100644 --- a/gobin/purl.go +++ b/gobin/purl.go @@ -50,7 +50,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Package: &claircore.Package{ Name: fullName, Version: purl.Version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, NormalizedVersion: pVersion, Arch: purl.Qualifiers.Map()["arch"], Source: &claircore.Package{}, diff --git a/gobin/purl_test.go b/gobin/purl_test.go index a57ad3214..9b6d302b4 100644 --- a/gobin/purl_test.go +++ b/gobin/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordGobin(t *testing.T) { Name: "github.com/example/app", Version: "v1.2.3", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "go:/usr/local/bin/app", Source: &claircore.Package{}, }, @@ -39,7 +39,7 @@ func TestRoundTripIndexRecordGobin(t *testing.T) { Name: "github.com/example/agent", Version: "v0.9.0", Arch: "aarch64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "go:/opt/agent/agent", Source: &claircore.Package{}, }, @@ -53,7 +53,7 @@ func TestRoundTripIndexRecordGobin(t *testing.T) { Name: "stdlib", Version: "v1.0.0", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "go:/usr/local/bin/go", Source: &claircore.Package{}, }, @@ -68,7 +68,7 @@ func TestRoundTripIndexRecordGobin(t *testing.T) { Name: "go.opentelemetry.io/otel/exporters/jaeger", Version: "v1.15.1", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "go:/usr/local/bin/app", Source: &claircore.Package{}, }, diff --git a/internal/dnf/dnf_test.go b/internal/dnf/dnf_test.go index adc9d80d3..08a8f4bd8 100644 --- a/internal/dnf/dnf_test.go +++ b/internal/dnf/dnf_test.go @@ -53,7 +53,7 @@ func TestWrap(t *testing.T) { Package: claircore.Package{ Name: "apr-util-bdb", Version: "1.6.1-23.el9", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", RepositoryHint: "something=nothing", }, @@ -65,7 +65,7 @@ func TestWrap(t *testing.T) { Package: claircore.Package{ Name: "apr-util-bdb", Version: "1.7.1-23.el9", // different version - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", RepositoryHint: "something=nothing", }, @@ -87,7 +87,7 @@ func TestWrap(t *testing.T) { Package: claircore.Package{ Name: "dnf5", Version: "5.2.12.0-1.fc42", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", RepositoryHint: "something=nothing", }, @@ -99,7 +99,7 @@ func TestWrap(t *testing.T) { Package: claircore.Package{ Name: "dnf5", Version: "5.2.12.0-1.fc42.local1", // different version - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", RepositoryHint: "something=nothing", }, diff --git a/internal/rpm/database.go b/internal/rpm/database.go index 49615d9f7..da80d6596 100644 --- a/internal/rpm/database.go +++ b/internal/rpm/database.go @@ -64,7 +64,7 @@ func (db *Database) Packages(ctx context.Context) iter.Seq2[claircore.Package, e } pkg := claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Name: info.Name, Arch: info.Arch, Module: info.ModuleStream(), @@ -92,7 +92,7 @@ func (db *Database) Packages(ctx context.Context) iter.Seq2[claircore.Package, e break } src := claircore.Package{ - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Name: *v.Name, Version: v.EVR(), // Don't want [Info.Hint] here, as it would encode the diff --git a/java/matcher_test.go b/java/matcher_test.go index 05859fb2f..4e5ae329d 100644 --- a/java/matcher_test.go +++ b/java/matcher_test.go @@ -25,7 +25,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.openmeetings:openmeetings-parent", Version: "3.2.9", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -46,7 +46,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.openmeetings:openmeetings-parent", Version: "3.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -67,7 +67,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "com.jfinal:jfinal", Version: "4.9.0", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -88,7 +88,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "com.gitblit:gitblit", Version: "1.9.3", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -109,7 +109,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "com.gitblit:gitblit", Version: "1.9.4", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -130,7 +130,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.openmeetings:openmeetings-parent", Version: "3.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -151,7 +151,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.openmeetings:openmeetings-parent", Version: "3.1.9", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -172,7 +172,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.tiles:tiles-core", Version: "3.0.7", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ diff --git a/java/packagescanner.go b/java/packagescanner.go index eeba37458..baf9684f2 100644 --- a/java/packagescanner.go +++ b/java/packagescanner.go @@ -218,7 +218,7 @@ func (s *Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircor var pkg claircore.Package pkg.Name = i.Name pkg.Version = i.Version - pkg.Kind = claircore.BINARY + pkg.Kind = claircore.PackageBinary pkg.Filepath = n b := ck if len(i.SHA) != 0 { diff --git a/java/packagescanner_test.go b/java/packagescanner_test.go index 04067c315..96953a1ab 100644 --- a/java/packagescanner_test.go +++ b/java/packagescanner_test.go @@ -58,7 +58,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-groovy", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/ext/gremlin-groovy/lib/gremlin-groovy-3.4.8.jar", RepositoryHint: "sha1:9ae4c997e7b38ef6f6bc72c53412434743705866", Filepath: "opt/gremlin-console/ext/gremlin-groovy/lib/gremlin-groovy-3.4.8.jar", @@ -66,7 +66,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-groovy", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/ext/gremlin-groovy/plugin/gremlin-groovy-3.4.8.jar", RepositoryHint: "sha1:9ae4c997e7b38ef6f6bc72c53412434743705866", Filepath: "opt/gremlin-console/ext/gremlin-groovy/plugin/gremlin-groovy-3.4.8.jar", @@ -74,7 +74,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:tinkergraph-gremlin", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/ext/tinkergraph-gremlin/lib/tinkergraph-gremlin-3.4.8.jar", RepositoryHint: "sha1:b438353c7514e468f983370a909328aa5957813a", Filepath: "opt/gremlin-console/ext/tinkergraph-gremlin/lib/tinkergraph-gremlin-3.4.8.jar", @@ -82,7 +82,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:tinkergraph-gremlin", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/ext/tinkergraph-gremlin/plugin/tinkergraph-gremlin-3.4.8.jar", RepositoryHint: "sha1:b438353c7514e468f983370a909328aa5957813a", Filepath: "opt/gremlin-console/ext/tinkergraph-gremlin/plugin/tinkergraph-gremlin-3.4.8.jar", @@ -90,7 +90,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.github.ben-manes.caffeine", Version: "2.3.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/caffeine-2.3.1.jar", RepositoryHint: "sha1:d6aec5cbd26313a341ee7c034bd56d604f68bebe", Filepath: "opt/gremlin-console/lib/caffeine-2.3.1.jar", @@ -98,7 +98,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "commons-codec:commons-codec", Version: "1.14", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-codec-1.14.jar", RepositoryHint: "sha1:3cb1181b2141a7e752f5bdc998b7ef1849f726cf", Filepath: "opt/gremlin-console/lib/commons-codec-1.14.jar", @@ -106,7 +106,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "commons-collections:commons-collections", Version: "3.2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-collections-3.2.2.jar", RepositoryHint: "sha1:8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5", Filepath: "opt/gremlin-console/lib/commons-collections-3.2.2.jar", @@ -114,7 +114,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "commons-configuration:commons-configuration", Version: "1.10", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-configuration-1.10.jar", RepositoryHint: "sha1:2b36e4adfb66d966c5aef2d73deb6be716389dc9", Filepath: "opt/gremlin-console/lib/commons-configuration-1.10.jar", @@ -122,7 +122,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "commons-lang:commons-lang", Version: "2.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-lang-2.6.jar", RepositoryHint: "sha1:0ce1edb914c94ebc388f086c6827e8bdeec71ac2", Filepath: "opt/gremlin-console/lib/commons-lang-2.6.jar", @@ -130,7 +130,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.commons:commons-lang3", Version: "3.8.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-lang3-3.8.1.jar", RepositoryHint: "sha1:6505a72a097d9270f7a9e7bf42c4238283247755", Filepath: "opt/gremlin-console/lib/commons-lang3-3.8.1.jar", @@ -138,7 +138,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "commons-logging:commons-logging", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/commons-logging-1.2.jar", RepositoryHint: "sha1:4bfc12adfe4842bf07b657f0369c4cb522955686", Filepath: "opt/gremlin-console/lib/commons-logging-1.2.jar", @@ -146,7 +146,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "net.objecthunter:exp4j", Version: "0.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/exp4j-0.4.8.jar", RepositoryHint: "sha1:cf1cfc0f958077d86ac7452c7e36d944689b2ec4", Filepath: "opt/gremlin-console/lib/exp4j-0.4.8.jar", @@ -154,7 +154,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-console", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-console-3.4.8.jar", RepositoryHint: "sha1:f001a2644ca44cf60fdde8dbd271e919168ec208", Filepath: "opt/gremlin-console/lib/gremlin-console-3.4.8.jar", @@ -162,7 +162,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-core", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-core-3.4.8.jar", RepositoryHint: "sha1:7d6074aa75fc8e219fd7456fa94312ba52922dac", Filepath: "opt/gremlin-console/lib/gremlin-core-3.4.8.jar", @@ -170,7 +170,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-driver", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-driver-3.4.8.jar", RepositoryHint: "sha1:53a55a34441c49ad7b933a7ddb4276d3e81dbe72", Filepath: "opt/gremlin-console/lib/gremlin-driver-3.4.8.jar", @@ -178,7 +178,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.tinkerpop:gremlin-shaded", Version: "3.4.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -186,7 +186,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.esotericsoftware:kryo-shaded", Version: "3.0.3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -194,7 +194,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.esotericsoftware:reflectasm", Version: "1.10.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -202,7 +202,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.esotericsoftware:minlog", Version: "1.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -210,7 +210,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.fasterxml.jackson.core:jackson-databind", Version: "2.9.10.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -218,7 +218,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.fasterxml.jackson.core:jackson-annotations", Version: "2.9.10", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -226,7 +226,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.fasterxml.jackson.core:jackson-core", Version: "2.9.10", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", RepositoryHint: "sha1:eecca88aa8b7e6ca0d85821a0b7df9f9b873e95b", Filepath: "opt/gremlin-console/lib/gremlin-shaded-3.4.8.jar", @@ -234,7 +234,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-2.5.11-indy.jar", RepositoryHint: "sha1:1d90cbcff0947aaf43f31741b48839e5fe190f13", Filepath: "opt/gremlin-console/lib/groovy-2.5.11-indy.jar", @@ -242,7 +242,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-cli-picocli", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-cli-picocli-2.5.11.jar", RepositoryHint: "sha1:d612d63d4ef1083bc05fcadc233b3d8f201d10f2", Filepath: "opt/gremlin-console/lib/groovy-cli-picocli-2.5.11.jar", @@ -250,7 +250,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-console", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-console-2.5.11.jar", RepositoryHint: "sha1:3db61e9f5806dbf999bbeb44bf6c532540abc731", Filepath: "opt/gremlin-console/lib/groovy-console-2.5.11.jar", @@ -258,7 +258,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-groovysh", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-groovysh-2.5.11-indy.jar", RepositoryHint: "sha1:c4c372f662fdfb5f298aee7484553379ef207d1b", Filepath: "opt/gremlin-console/lib/groovy-groovysh-2.5.11-indy.jar", @@ -266,7 +266,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-json", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-json-2.5.11-indy.jar", RepositoryHint: "sha1:50233b0100cdb17a90a49a8aaaa9f0d020608600", Filepath: "opt/gremlin-console/lib/groovy-json-2.5.11-indy.jar", @@ -274,7 +274,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-jsr223", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-jsr223-2.5.11-indy.jar", RepositoryHint: "sha1:c95ee910c2e74cfc37c73a6510b8476b146f3d10", Filepath: "opt/gremlin-console/lib/groovy-jsr223-2.5.11-indy.jar", @@ -282,7 +282,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-swing", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-swing-2.5.11.jar", RepositoryHint: "sha1:bcb2614685279e845f075cd1a22fe6950ce960b2", Filepath: "opt/gremlin-console/lib/groovy-swing-2.5.11.jar", @@ -290,7 +290,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-templates", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-templates-2.5.11.jar", RepositoryHint: "sha1:941001acfda010320e2426a3b8fe056d6a1eb8f1", Filepath: "opt/gremlin-console/lib/groovy-templates-2.5.11.jar", @@ -298,7 +298,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "groovy-xml", Version: "2.5.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/groovy-xml-2.5.11.jar", RepositoryHint: "sha1:3b1e713e805d7ea354a83d1c9e17a0754ea74132", Filepath: "opt/gremlin-console/lib/groovy-xml-2.5.11.jar", @@ -306,7 +306,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.carrotsearch:hppc", Version: "0.7.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/hppc-0.7.1.jar", RepositoryHint: "sha1:8b5057f74ea378c0150a1860874a3ebdcb713767", Filepath: "opt/gremlin-console/lib/hppc-0.7.1.jar", @@ -314,7 +314,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.httpcomponents:httpclient", Version: "4.5.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/httpclient-4.5.8.jar", RepositoryHint: "sha1:c27c9d6f15435dc2b6947112027b418b0eef32b9", Filepath: "opt/gremlin-console/lib/httpclient-4.5.8.jar", @@ -322,7 +322,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.httpcomponents:httpcore", Version: "4.4.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/httpcore-4.4.11.jar", RepositoryHint: "sha1:de748cf874e4e193b42eceea9fe5574fabb9d4df", Filepath: "opt/gremlin-console/lib/httpcore-4.4.11.jar", @@ -330,7 +330,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.apache.ivy", Version: "2.3.0.final_20130110142753", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/ivy-2.3.0.jar", RepositoryHint: "sha1:c5ebf1c253ad4959a29f4acfe696ee48cdd9f473", Filepath: "opt/gremlin-console/lib/ivy-2.3.0.jar", @@ -338,7 +338,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.squareup:javapoet", Version: "1.8.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/javapoet-1.8.0.jar", RepositoryHint: "sha1:e858dc62ef484048540d27d36f3ec2177a3fa9b1", Filepath: "opt/gremlin-console/lib/javapoet-1.8.0.jar", @@ -346,7 +346,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.javatuples:javatuples", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/javatuples-1.2.jar", RepositoryHint: "sha1:507312ac4b601204a72a83380badbca82683dd36", Filepath: "opt/gremlin-console/lib/javatuples-1.2.jar", @@ -354,7 +354,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.mindrot:jbcrypt", Version: "0.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/jbcrypt-0.4.jar", RepositoryHint: "sha1:af7e61017f73abb18ac4e036954f9f28c6366c07", Filepath: "opt/gremlin-console/lib/jbcrypt-0.4.jar", @@ -362,7 +362,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.jcabi:jcabi-log", Version: "0.14", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/jcabi-log-0.14.jar", RepositoryHint: "sha1:819a57348f2448f01d74f8a317dab61d6a90cac2", Filepath: "opt/gremlin-console/lib/jcabi-log-0.14.jar", @@ -370,7 +370,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "com.jcabi:jcabi-manifests", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/jcabi-manifests-1.1.jar", RepositoryHint: "sha1:e4f4488c0e3905c6fab287aca2569928fe1712df", Filepath: "opt/gremlin-console/lib/jcabi-manifests-1.1.jar", @@ -378,7 +378,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.slf4j:jcl-over-slf4j", Version: "1.7.25", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/jcl-over-slf4j-1.7.25.jar", RepositoryHint: "sha1:f8c32b13ff142a513eeb5b6330b1588dcb2c0461", Filepath: "opt/gremlin-console/lib/jcl-over-slf4j-1.7.25.jar", @@ -386,7 +386,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "jline:jline", Version: "2.14.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/jline-2.14.6.jar", RepositoryHint: "sha1:c3aeac59c022bdc497c8c48ed86fa50450e4896a", Filepath: "opt/gremlin-console/lib/jline-2.14.6.jar", @@ -394,7 +394,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "log4j:log4j", Version: "1.2.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/log4j-1.2.17.jar", RepositoryHint: "sha1:5af35056b4d257e4b64b9e8069c0746e8b08629f", Filepath: "opt/gremlin-console/lib/log4j-1.2.17.jar", @@ -402,7 +402,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "io.netty:netty-all", Version: "4.1.49.Final", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/netty-all-4.1.49.Final.jar", RepositoryHint: "sha1:ffe903492be79f5bd8348b04c958de3734a22c6b", Filepath: "opt/gremlin-console/lib/netty-all-4.1.49.Final.jar", @@ -410,7 +410,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "picocli", Version: "4.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:opt/gremlin-console/lib/picocli-4.0.1.jar", RepositoryHint: "sha1:282c164057d55e6b6af2de49e8930f3c760439da", Filepath: "opt/gremlin-console/lib/picocli-4.0.1.jar", @@ -418,7 +418,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-api", Version: "1.7.25", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/slf4j-api-1.7.25.jar", RepositoryHint: "sha1:da76ca59f6a57ee3102f8f9bd9cee742973efa8a", Filepath: "opt/gremlin-console/lib/slf4j-api-1.7.25.jar", @@ -426,7 +426,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-log4j12", Version: "1.7.25", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/slf4j-log4j12-1.7.25.jar", RepositoryHint: "sha1:110cefe2df103412849d72ef7a67e4e91e4266b4", Filepath: "opt/gremlin-console/lib/slf4j-log4j12-1.7.25.jar", @@ -434,7 +434,7 @@ var tinkerpop = test.ScannerTestcase{ { Name: "org.yaml:snakeyaml", Version: "1.15", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:opt/gremlin-console/lib/snakeyaml-1.15.jar", RepositoryHint: "sha1:3b132bea69e8ee099f416044970997bde80f4ea6", Filepath: "opt/gremlin-console/lib/snakeyaml-1.15.jar", @@ -451,7 +451,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.main:jenkins-war", Version: "2.316", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:f9f22bab538db3c075251ae693a524204efdc32b", Filepath: "usr/share/jenkins/jenkins.war", @@ -459,7 +459,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:winstone", Version: "5.21", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -467,7 +467,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-server", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -475,7 +475,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.servlet:javax.servlet-api", Version: "3.1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -483,7 +483,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-http", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -491,7 +491,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-io", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -499,7 +499,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-util", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -507,7 +507,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-servlet", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -515,7 +515,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-security", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -523,7 +523,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-util-ajax", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -531,7 +531,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-webapp", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -539,7 +539,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-xml", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -547,7 +547,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.http2:http2-server", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -555,7 +555,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.http2:http2-common", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -563,7 +563,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.http2:http2-hpack", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -571,7 +571,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-alpn-server", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -579,7 +579,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.alpn:alpn-api", Version: "1.1.3.v20160715", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -587,7 +587,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-jmx", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -595,7 +595,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.websocket:websocket-server", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -603,7 +603,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.websocket:websocket-common", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -611,7 +611,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.websocket:websocket-api", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -619,7 +619,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.websocket:websocket-client", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -627,7 +627,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty:jetty-client", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -635,7 +635,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.eclipse.jetty.websocket:websocket-servlet", Version: "9.4.43.v20210629", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -643,7 +643,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.jenkins.lib:support-log-formatter", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:winstone.jar", RepositoryHint: "sha1:40c26ecf0491aae65f2fe5c4d08c9352a846f412", Filepath: "usr/share/jenkins/jenkins.war", @@ -651,7 +651,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins.workflow:workflow-step-api", Version: "2.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/workflow-step-api.hpi:WEB-INF/lib/workflow-step-api.jar", RepositoryHint: "sha1:b3eb4f90b8fcccba673cecb3b34cb9a19fa39772", Filepath: "usr/share/jenkins/jenkins.war", @@ -659,7 +659,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins.workflow:workflow-step-api", Version: "2.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/workflow-step-api.hpi:WEB-INF/lib/workflow-step-api.jar", RepositoryHint: "sha1:b3eb4f90b8fcccba673cecb3b34cb9a19fa39772", Filepath: "usr/share/jenkins/jenkins.war", @@ -667,7 +667,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:junit", Version: "1.29", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/junit.hpi:WEB-INF/lib/junit.jar", RepositoryHint: "sha1:cb91bfc6d9833495462b82a95d937599ef11c1a9", Filepath: "usr/share/jenkins/jenkins.war", @@ -675,7 +675,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:junit", Version: "1.29", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/junit.hpi:WEB-INF/lib/junit.jar", RepositoryHint: "sha1:cb91bfc6d9833495462b82a95d937599ef11c1a9", Filepath: "usr/share/jenkins/jenkins.war", @@ -683,7 +683,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:bouncycastle-api", Version: "2.20", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/bouncycastle-api.hpi:WEB-INF/lib/bouncycastle-api.jar", RepositoryHint: "sha1:1b22775d6f258b5be61d855d5cedb9cf935e2d1b", Filepath: "usr/share/jenkins/jenkins.war", @@ -691,7 +691,7 @@ var jenkins = test.ScannerTestcase{ { Name: "bcprov", Version: "1.68", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/bouncycastle-api.hpi:WEB-INF/lib/bcprov-jdk15on-1.68.jar", RepositoryHint: "sha1:1b22775d6f258b5be61d855d5cedb9cf935e2d1b", Filepath: "usr/share/jenkins/jenkins.war", @@ -699,7 +699,7 @@ var jenkins = test.ScannerTestcase{ { Name: "bcpkix", Version: "1.68", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/bouncycastle-api.hpi:WEB-INF/lib/bcpkix-jdk15on-1.68.jar", RepositoryHint: "sha1:1b22775d6f258b5be61d855d5cedb9cf935e2d1b", Filepath: "usr/share/jenkins/jenkins.war", @@ -707,7 +707,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:bouncycastle-api", Version: "2.20", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/bouncycastle-api.hpi:WEB-INF/lib/bouncycastle-api.jar", RepositoryHint: "sha1:1b22775d6f258b5be61d855d5cedb9cf935e2d1b", Filepath: "usr/share/jenkins/jenkins.war", @@ -715,7 +715,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:matrix-project", Version: "1.18", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/matrix-project.hpi:WEB-INF/lib/matrix-project.jar", RepositoryHint: "sha1:cffd146e62b20db3aaad544acca543bda9381903", Filepath: "usr/share/jenkins/jenkins.war", @@ -723,7 +723,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:matrix-project", Version: "1.18", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/matrix-project.hpi:WEB-INF/lib/matrix-project.jar", RepositoryHint: "sha1:cffd146e62b20db3aaad544acca543bda9381903", Filepath: "usr/share/jenkins/jenkins.war", @@ -731,7 +731,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:matrix-auth", Version: "2.6.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/matrix-auth.hpi:WEB-INF/lib/matrix-auth.jar", RepositoryHint: "sha1:060cd7df64ae6ece1805e4626efc97709aed61b9", Filepath: "usr/share/jenkins/jenkins.war", @@ -739,7 +739,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:matrix-auth", Version: "2.6.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/matrix-auth.hpi:WEB-INF/lib/matrix-auth.jar", RepositoryHint: "sha1:060cd7df64ae6ece1805e4626efc97709aed61b9", Filepath: "usr/share/jenkins/jenkins.war", @@ -747,7 +747,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:script-security", Version: "1.75", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/script-security.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -755,7 +755,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke:groovy-sandbox", Version: "1.27", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/groovy-sandbox-1.27.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -763,7 +763,7 @@ var jenkins = test.ScannerTestcase{ { Name: "checker-qual", Version: "3.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/checker-qual-3.3.0.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -771,7 +771,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.ben-manes.caffeine", Version: "2.8.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/caffeine-2.8.2.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -779,7 +779,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.google.errorprone:error_prone_annotations", Version: "2.3.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/error_prone_annotations-2.3.4.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -787,7 +787,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:script-security", Version: "1.75", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/script-security.hpi:WEB-INF/lib/script-security.jar", RepositoryHint: "sha1:346cb1183d04bf076ffcb05ff0663eeda8075182", Filepath: "usr/share/jenkins/jenkins.war", @@ -795,7 +795,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:mailer", Version: "1.32.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/mailer.hpi:WEB-INF/lib/mailer.jar", RepositoryHint: "sha1:07026888e4b109a66685364111229ab7b99ee4e8", Filepath: "usr/share/jenkins/jenkins.war", @@ -803,7 +803,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:mailer", Version: "1.32.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/mailer.hpi:WEB-INF/lib/mailer.jar", RepositoryHint: "sha1:07026888e4b109a66685364111229ab7b99ee4e8", Filepath: "usr/share/jenkins/jenkins.war", @@ -811,7 +811,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:display-url-api", Version: "2.3.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/display-url-api.hpi:WEB-INF/lib/display-url-api.jar", RepositoryHint: "sha1:dc5918a37ef530866f6aeb84fe5b6afb177c1ac5", Filepath: "usr/share/jenkins/jenkins.war", @@ -819,7 +819,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:display-url-api", Version: "2.3.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/display-url-api.hpi:WEB-INF/lib/display-url-api.jar", RepositoryHint: "sha1:dc5918a37ef530866f6aeb84fe5b6afb177c1ac5", Filepath: "usr/share/jenkins/jenkins.war", @@ -827,7 +827,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:antisamy-markup-formatter", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/antisamy-markup-formatter.hpi:WEB-INF/lib/antisamy-markup-formatter.jar", RepositoryHint: "sha1:61c4d370eec0566835f452cdcfdbb185b002c67e", Filepath: "usr/share/jenkins/jenkins.war", @@ -835,7 +835,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:antisamy-markup-formatter", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/antisamy-markup-formatter.hpi:WEB-INF/lib/antisamy-markup-formatter.jar", RepositoryHint: "sha1:61c4d370eec0566835f452cdcfdbb185b002c67e", Filepath: "usr/share/jenkins/jenkins.war", @@ -843,7 +843,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:scm-api", Version: "2.6.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/scm-api.hpi:WEB-INF/lib/scm-api.jar", RepositoryHint: "sha1:9ef1275c52b988af9da4fc491cb0894fa241bd14", Filepath: "usr/share/jenkins/jenkins.war", @@ -851,7 +851,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:scm-api", Version: "2.6.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/scm-api.hpi:WEB-INF/lib/scm-api.jar", RepositoryHint: "sha1:9ef1275c52b988af9da4fc491cb0894fa241bd14", Filepath: "usr/share/jenkins/jenkins.war", @@ -859,7 +859,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:trilead-api", Version: "1.0.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/trilead-api.hpi:WEB-INF/lib/trilead-api.jar", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -867,7 +867,7 @@ var jenkins = test.ScannerTestcase{ { Name: "net.i2p.crypto:eddsa", Version: "0.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/trilead-api.hpi:WEB-INF/lib/eddsa-0.3.0.jar", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -875,7 +875,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke:trilead-putty-extension", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/trilead-api.hpi:WEB-INF/lib/trilead-putty-extension-1.2.jar", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -883,7 +883,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jbcrypt", Version: "1.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -891,7 +891,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:trilead-ssh2", Version: "build-217-jenkins-16", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/trilead-api.hpi:WEB-INF/lib/trilead-ssh2-build-217-jenkins-16.jar", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -899,7 +899,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:trilead-api", Version: "1.0.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/trilead-api.hpi:WEB-INF/lib/trilead-api.jar", RepositoryHint: "sha1:fa907c54fe14861b2170d4b463fd07df84a1551d", Filepath: "usr/share/jenkins/jenkins.war", @@ -907,7 +907,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:sshd", Version: "3.0.3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/sshd.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -915,7 +915,7 @@ var jenkins = test.ScannerTestcase{ { Name: "net.i2p.crypto:eddsa", Version: "0.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/eddsa-0.3.0.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -923,7 +923,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-api", Version: "1.7.30", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/slf4j-api-1.7.30.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -931,7 +931,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:sshd", Version: "3.0.3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/sshd.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -939,7 +939,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.github.stephenc.crypto:self-signed-cert-generator", Version: "1.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/self-signed-cert-generator-1.0.0.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -947,7 +947,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.sshd:sshd-core", Version: "1.7.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/sshd-core-1.7.0.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -955,7 +955,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:instance-identity", Version: "2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/sshd.hpi:WEB-INF/lib/instance-identity-2.2.jar", RepositoryHint: "sha1:e8be0e1230293cdb97252480eaba93d1b3663be3", Filepath: "usr/share/jenkins/jenkins.war", @@ -963,7 +963,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:jdk-tool", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jdk-tool.hpi:WEB-INF/lib/jdk-tool.jar", RepositoryHint: "sha1:e063550e164157d6ee90d78090860adc13961c9b", Filepath: "usr/share/jenkins/jenkins.war", @@ -971,7 +971,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:jdk-tool", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jdk-tool.hpi:WEB-INF/lib/jdk-tool.jar", RepositoryHint: "sha1:e063550e164157d6ee90d78090860adc13961c9b", Filepath: "usr/share/jenkins/jenkins.war", @@ -979,7 +979,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:structs", Version: "1.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/structs.hpi:WEB-INF/lib/structs.jar", RepositoryHint: "sha1:37b98115acc372cbdc517217ad45c74bd965e570", Filepath: "usr/share/jenkins/jenkins.war", @@ -987,7 +987,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:structs", Version: "1.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/structs.hpi:WEB-INF/lib/structs.jar", RepositoryHint: "sha1:37b98115acc372cbdc517217ad45c74bd965e570", Filepath: "usr/share/jenkins/jenkins.war", @@ -995,7 +995,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:symbol-annotation", Version: "1.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/structs.hpi:WEB-INF/lib/symbol-annotation-1.23.jar", RepositoryHint: "sha1:37b98115acc372cbdc517217ad45c74bd965e570", Filepath: "usr/share/jenkins/jenkins.war", @@ -1003,7 +1003,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.jenkins.plugins:jaxb", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1011,7 +1011,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.istack:istack-commons-runtime", Version: "3.0.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-core-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1019,7 +1019,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.jaxb:txw2", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-core-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1027,7 +1027,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.jaxb:jaxb-core", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-core-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1035,7 +1035,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.xml.bind:jaxb-core", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-core-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1043,7 +1043,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.jenkins.plugins:jaxb", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1051,7 +1051,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.jaxb:jaxb-runtime", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-impl-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1059,7 +1059,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.xml.bind:jaxb-impl", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-impl-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1067,7 +1067,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.xml.bind:jaxb-api", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/jaxb.hpi:WEB-INF/lib/jaxb-api-2.3.0.jar", RepositoryHint: "sha1:a3c9925e9eafdcadebaae750c523b7690cc0c890", Filepath: "usr/share/jenkins/jenkins.war", @@ -1075,7 +1075,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins.workflow:workflow-api", Version: "2.42", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/workflow-api.hpi:WEB-INF/lib/workflow-api.jar", RepositoryHint: "sha1:9f1b255ba430a7d4210a23d0ae510f7c48600ffd", Filepath: "usr/share/jenkins/jenkins.war", @@ -1083,7 +1083,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins.workflow:workflow-api", Version: "2.42", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/workflow-api.hpi:WEB-INF/lib/workflow-api.jar", RepositoryHint: "sha1:9f1b255ba430a7d4210a23d0ae510f7c48600ffd", Filepath: "usr/share/jenkins/jenkins.war", @@ -1091,7 +1091,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:windows-slaves", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/windows-slaves.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1099,7 +1099,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet:tiger-types", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/tiger-types-1.1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1107,7 +1107,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.samba.jcifs:jcifs", Version: "1.3.17-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/jcifs-1.3.17-kohsuke-1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1115,7 +1115,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.jinterop:jinterop-proxy", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/jinterop-proxy-1.1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1123,7 +1123,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.jinterop:j-interopdeps", Version: "2.0.6-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/j-interopdeps-2.0.6-kohsuke-1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1131,7 +1131,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.jinterop:j-interop", Version: "2.0.6-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/j-interop-2.0.6-kohsuke-1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1139,7 +1139,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:windows-slaves", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/windows-slaves.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1147,7 +1147,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:windows-remote-command", Version: "1.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/windows-remote-command-1.4.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1155,7 +1155,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:jinterop-wmi", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/windows-slaves.hpi:WEB-INF/lib/jinterop-wmi-1.1.jar", RepositoryHint: "sha1:15d036e22a49ffa7b0cdb6c9777ce40d584e40ec", Filepath: "usr/share/jenkins/jenkins.war", @@ -1163,7 +1163,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:command-launcher", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/command-launcher.hpi:WEB-INF/lib/command-launcher.jar", RepositoryHint: "sha1:4dd02e91f003be14b949b314636858b22741a2b8", Filepath: "usr/share/jenkins/jenkins.war", @@ -1171,7 +1171,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.plugins:command-launcher", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/detached-plugins/command-launcher.hpi:WEB-INF/lib/command-launcher.jar", RepositoryHint: "sha1:4dd02e91f003be14b949b314636858b22741a2b8", Filepath: "usr/share/jenkins/jenkins.war", @@ -1179,7 +1179,7 @@ var jenkins = test.ScannerTestcase{ { Name: "ant", Version: "1.10.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:b875cd48a0bc955ae9c5c477ad991e1f26fb24d2", Filepath: "usr/share/jenkins/jenkins.war", @@ -1187,7 +1187,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-fileupload:commons-fileupload", Version: "1.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-fileupload-1.4.jar", RepositoryHint: "sha1:f95188e3d372e20e7328706c37ef366e5d7859b0", Filepath: "usr/share/jenkins/jenkins.war", @@ -1195,7 +1195,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.xml.txw2:txw2", Version: "20110809", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/txw2-20110809.jar", RepositoryHint: "sha1:46afa3f3c468680875adb8f2a26086a126c89902", Filepath: "usr/share/jenkins/jenkins.war", @@ -1203,7 +1203,7 @@ var jenkins = test.ScannerTestcase{ { Name: "args4j:args4j", Version: "2.33", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/args4j-2.33.jar", RepositoryHint: "sha1:bd87a75374a6d6523de82fef51fc3cfe9baf9fc9", Filepath: "usr/share/jenkins/jenkins.war", @@ -1211,7 +1211,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-expression", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-expression-5.3.9.jar", RepositoryHint: "sha1:f5ca763cfb9d62d196efd5d25e8daca7d555ed75", Filepath: "usr/share/jenkins/jenkins.war", @@ -1219,7 +1219,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:log4j-over-slf4j", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/log4j-over-slf4j-1.7.32.jar", RepositoryHint: "sha1:152d3b5e2470bb8e898bd82886fc783361e2c32b", Filepath: "usr/share/jenkins/jenkins.war", @@ -1227,7 +1227,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jnr-a64asm", Version: "1.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jnr-a64asm-1.0.0.jar", RepositoryHint: "sha1:0a1cb8dbe71b5a6a0288043c3ba3ca64545be165", Filepath: "usr/share/jenkins/jenkins.war", @@ -1235,7 +1235,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:upstart-slave-installer", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/upstart-slave-installer-1.1.jar", RepositoryHint: "sha1:a2ce1f49745d63c8520d50a0c6430afd377ece48", Filepath: "usr/share/jenkins/jenkins.war", @@ -1243,7 +1243,7 @@ var jenkins = test.ScannerTestcase{ { Name: "groovy-all:groovy", Version: "2.4.12", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/groovy-all-2.4.12.jar", RepositoryHint: "sha1:760afc568cbd94c09d78f801ce51aed1326710af", Filepath: "usr/share/jenkins/jenkins.war", @@ -1251,7 +1251,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:stapler", Version: "1593.v0e838714faae", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/stapler-1593.v0e838714faae.jar", RepositoryHint: "sha1:fc5431d95cd9602a9ef20dd8d0da9e6903b8b98d", Filepath: "usr/share/jenkins/jenkins.war", @@ -1259,7 +1259,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jline:jline", Version: "2.14.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jline-2.14.6.jar", RepositoryHint: "sha1:c3aeac59c022bdc497c8c48ed86fa50450e4896a", Filepath: "usr/share/jenkins/jenkins.war", @@ -1267,7 +1267,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:commons-jelly", Version: "1.1-jenkins-20120928", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-jelly-1.1-jenkins-20120928.jar", RepositoryHint: "sha1:2720a0d54b7f32479b08970d7738041362e1f410", Filepath: "usr/share/jenkins/jenkins.war", @@ -1275,7 +1275,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-codec:commons-codec", Version: "1.15", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-codec-1.15.jar", RepositoryHint: "sha1:49d94806b6e3dc933dacbd8acb0fdbab8ebd1e5d", Filepath: "usr/share/jenkins/jenkins.war", @@ -1283,7 +1283,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet.hudson:commons-jelly-tags-define", Version: "1.0.1-hudson-20071021", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-jelly-tags-define-1.0.1-hudson-20071021.jar", RepositoryHint: "sha1:8b952d0e504ee505d234853119e5648441894234", Filepath: "usr/share/jenkins/jenkins.war", @@ -1291,7 +1291,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke:windows-package-checker", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/windows-package-checker-1.2.jar", RepositoryHint: "sha1:86b5d2f9023633808d65dbcfdfd50dc5ad3ca31f", Filepath: "usr/share/jenkins/jenkins.war", @@ -1299,7 +1299,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jnr-x86asm", Version: "1.0.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jnr-x86asm-1.0.2.jar", RepositoryHint: "sha1:006936bbd6c5b235665d87bd450f5e13b52d4b48", Filepath: "usr/share/jenkins/jenkins.war", @@ -1307,7 +1307,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.jinterop:j-interop", Version: "2.0.8-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/j-interop-2.0.8-kohsuke-1.jar", RepositoryHint: "sha1:7bcd527550b8415ba14c33a8ff00658c43d0c78e", Filepath: "usr/share/jenkins/jenkins.war", @@ -1315,7 +1315,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-beanutils:commons-beanutils", Version: "1.9.4", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-beanutils-1.9.4.jar", RepositoryHint: "sha1:d52b9abcd97f38c81342bb7e7ae1eee9b73cba51", Filepath: "usr/share/jenkins/jenkins.war", @@ -1323,7 +1323,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.annotation:javax.annotation-api", Version: "1.3.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/javax.annotation-api-1.3.2.jar", RepositoryHint: "sha1:934c04d3cfef185a8008e7bf34331b79730a9d43", Filepath: "usr/share/jenkins/jenkins.war", @@ -1331,7 +1331,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jfree:jcommon", Version: "1.0.23", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jcommon-1.0.23.jar", RepositoryHint: "sha1:a316f336ca996e0c6bec4e4fbd49be8f5e1c3968", Filepath: "usr/share/jenkins/jenkins.war", @@ -1339,7 +1339,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr.jffi.native:jffi", Version: "1.3.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/jffi-1.3.5-native.jar", RepositoryHint: "sha1:38602067b8cd1ed3dca6cbfcb3273fb24ab09a3f", Filepath: "usr/share/jenkins/jenkins.war", @@ -1347,7 +1347,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.google.inject:guice", Version: "4.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/guice-4.0.jar", RepositoryHint: "sha1:0f990a43d3725781b6db7cd0acf0a8b62dfd1649", Filepath: "usr/share/jenkins/jenkins.war", @@ -1355,7 +1355,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.samba.jcifs:jcifs", Version: "1.3.18-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jcifs-1.3.18-kohsuke-1.jar", RepositoryHint: "sha1:35711c36411d962d7228b7e01ab2567ec213a9d3", Filepath: "usr/share/jenkins/jenkins.war", @@ -1363,7 +1363,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet.localizer:localizer", Version: "1.31", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/localizer-1.31.jar", RepositoryHint: "sha1:aa7560693502015b7747697fa5a4fd1da9a95ccd", Filepath: "usr/share/jenkins/jenkins.war", @@ -1371,7 +1371,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.commons.jelly.tags.fmt", Version: "1.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-jelly-tags-fmt-1.0.jar", RepositoryHint: "sha1:2107da38fdd287ab78a4fa65c1300b5ad9999274", Filepath: "usr/share/jenkins/jenkins.war", @@ -1379,7 +1379,7 @@ var jenkins = test.ScannerTestcase{ { Name: "relaxngDatatype", Version: "20020414", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:de7952cecd05b65e0e4370cc93fc03035175eef5", Filepath: "usr/share/jenkins/jenkins.war", @@ -1387,7 +1387,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:jcl-over-slf4j", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jcl-over-slf4j-1.7.32.jar", RepositoryHint: "sha1:32c060250bcc5282cdbc1fd7008c12eb4ebad00e", Filepath: "usr/share/jenkins/jenkins.war", @@ -1395,7 +1395,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:stapler-groovy", Version: "1593.v0e838714faae", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/stapler-groovy-1593.v0e838714faae.jar", RepositoryHint: "sha1:700d2b6e99d7d8fb46746907105839dba51b1a20", Filepath: "usr/share/jenkins/jenkins.war", @@ -1403,7 +1403,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jffi", Version: "1.3.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jffi-1.3.5.jar", RepositoryHint: "sha1:1dadd62fc8434d4ba6e3c78ed42e4852d79d3a46", Filepath: "usr/share/jenkins/jenkins.war", @@ -1411,7 +1411,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:memory-monitor", Version: "1.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/memory-monitor-1.9.jar", RepositoryHint: "sha1:1935bfb46474e3043ee2310a9bb790d42dde2ed7", Filepath: "usr/share/jenkins/jenkins.war", @@ -1419,7 +1419,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet:tiger-types", Version: "2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/tiger-types-2.2.jar", RepositoryHint: "sha1:7ddc6bbc8ca59be8879d3a943bf77517ec190f39", Filepath: "usr/share/jenkins/jenkins.war", @@ -1427,7 +1427,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-api", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/slf4j-api-1.7.32.jar", RepositoryHint: "sha1:cdcff33940d9f2de763bc41ea05a0be5941176c3", Filepath: "usr/share/jenkins/jenkins.war", @@ -1435,7 +1435,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.jenkins.stapler:jenkins-stapler-support", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jenkins-stapler-support-1.1.jar", RepositoryHint: "sha1:95127e05b589288439684304a75474bb1261a11c", Filepath: "usr/share/jenkins/jenkins.war", @@ -1443,7 +1443,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet.robust-http-client:robust-http-client", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/robust-http-client-1.2.jar", RepositoryHint: "sha1:dee9fda92ad39a94a77ec6cf88300d4dd6db8a4d", Filepath: "usr/share/jenkins/jenkins.war", @@ -1451,7 +1451,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-io:commons-io", Version: "2.11.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-io-2.11.0.jar", RepositoryHint: "sha1:a2503f302b11ebde7ebc3df41daebe0e4eea3689", Filepath: "usr/share/jenkins/jenkins.war", @@ -1459,7 +1459,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.github.x-stream:mxparser", Version: "1.2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/mxparser-1.2.2.jar", RepositoryHint: "sha1:476fb3b3bb3716cad797cd054ce45f89445794e9", Filepath: "usr/share/jenkins/jenkins.war", @@ -1467,7 +1467,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-core", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-core-5.3.9.jar", RepositoryHint: "sha1:cfef19d1dfa41d56f8de66238dc015334997d573", Filepath: "usr/share/jenkins/jenkins.war", @@ -1475,7 +1475,7 @@ var jenkins = test.ScannerTestcase{ { Name: "dom4j", Version: "2.1.3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:a75914155a9f5808963170ec20653668a2ffd2fd", Filepath: "usr/share/jenkins/jenkins.war", @@ -1483,7 +1483,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:windows-slave-installer", Version: "2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/windows-slave-installer-2.0.jar", RepositoryHint: "sha1:7dec945c7b97096c6bcd7ad06f43767c544bb66e", Filepath: "usr/share/jenkins/jenkins.war", @@ -1491,7 +1491,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:stapler-adjunct-timeline", Version: "1.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/stapler-adjunct-timeline-1.5.jar", RepositoryHint: "sha1:3fa806cbb94679ceab9c1ecaaf5fea8207390cb7", Filepath: "usr/share/jenkins/jenkins.war", @@ -1499,7 +1499,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.fusesource.hawtjni:hawtjni-runtime", Version: "1.8", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jansi-1.11.jar", RepositoryHint: "sha1:655c643309c2f45a56a747fda70e3fadf57e9f11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1507,7 +1507,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.fusesource.jansi:jansi-native", Version: "1.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jansi-1.11.jar", RepositoryHint: "sha1:655c643309c2f45a56a747fda70e3fadf57e9f11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1515,7 +1515,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.fusesource.jansi:jansi", Version: "1.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jansi-1.11.jar", RepositoryHint: "sha1:655c643309c2f45a56a747fda70e3fadf57e9f11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1523,7 +1523,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.objectweb.asm.tree.analysis", Version: "9.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/asm-analysis-9.2.jar", RepositoryHint: "sha1:7487dd756daf96cab9986e44b9d7bcb796a61c10", Filepath: "usr/share/jenkins/jenkins.war", @@ -1531,7 +1531,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.solaris:embedded_su4j", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/embedded_su4j-1.1.jar", RepositoryHint: "sha1:9404130cc4e60670429f1ab8dbf94d669012725d", Filepath: "usr/share/jenkins/jenkins.war", @@ -1539,7 +1539,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jnr-posix", Version: "3.1.10", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jnr-posix-3.1.10.jar", RepositoryHint: "sha1:18f1ebd53c4a6d7d23487f8f73c3e6adc4cd6716", Filepath: "usr/share/jenkins/jenkins.war", @@ -1547,7 +1547,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jnr-constants", Version: "0.10.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jnr-constants-0.10.2.jar", RepositoryHint: "sha1:11a081b5482f415443d5e4b860b7a3cb62e319d3", Filepath: "usr/share/jenkins/jenkins.war", @@ -1555,7 +1555,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke:access-modifier-annotation", Version: "1.25", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/access-modifier-annotation-1.25.jar", RepositoryHint: "sha1:fab291c4249c077b9bcc48db313a2255df7408b8", Filepath: "usr/share/jenkins/jenkins.war", @@ -1563,7 +1563,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-beans", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-beans-5.3.9.jar", RepositoryHint: "sha1:48600db2cb1abc0f7ef2b073f0c1abd78a83bcfc", Filepath: "usr/share/jenkins/jenkins.war", @@ -1571,7 +1571,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:version-number", Version: "1.7", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/version-number-1.7.jar", RepositoryHint: "sha1:e2cb3f1d3e296adf74463b046bf79f498cc9b937", Filepath: "usr/share/jenkins/jenkins.war", @@ -1579,7 +1579,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-lang:commons-lang", Version: "2.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-lang-2.6.jar", RepositoryHint: "sha1:0ce1edb914c94ebc388f086c6827e8bdeec71ac2", Filepath: "usr/share/jenkins/jenkins.war", @@ -1587,7 +1587,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jbcrypt", Version: "1.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:f37bba2b8b78fcc8111bb932318b621dcc6c5194", Filepath: "usr/share/jenkins/jenkins.war", @@ -1595,7 +1595,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.github.jnr:jnr-ffi", Version: "2.2.7", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jnr-ffi-2.2.7.jar", RepositoryHint: "sha1:73987a1153030a3f1fd6c304531235ad5a0abc74", Filepath: "usr/share/jenkins/jenkins.war", @@ -1603,7 +1603,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:instance-identity", Version: "2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/instance-identity-2.2.jar", RepositoryHint: "sha1:986e58370b11287dfa73a8fb2eac74e2dc4e2a23", Filepath: "usr/share/jenkins/jenkins.war", @@ -1611,7 +1611,7 @@ var jenkins = test.ScannerTestcase{ { Name: "kxml2", Version: "2.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:ccbc77a5fd907ef863c29f3596c6f54ffa4e9442", Filepath: "usr/share/jenkins/jenkins.war", @@ -1619,7 +1619,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jaxen:jaxen", Version: "1.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jaxen-1.2.0.jar", RepositoryHint: "sha1:c10535a925bd35129a4329bc75065cc6b5293f2c", Filepath: "usr/share/jenkins/jenkins.war", @@ -1627,7 +1627,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:commons-jexl", Version: "1.1-jenkins-20111212", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-jexl-1.1-jenkins-20111212.jar", RepositoryHint: "sha1:0a990a77bea8c5a400d58a6f5d98122236300f7d", Filepath: "usr/share/jenkins/jenkins.war", @@ -1635,7 +1635,7 @@ var jenkins = test.ScannerTestcase{ { Name: "net.sf.ezmorph:ezmorph", Version: "1.0.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/ezmorph-1.0.6.jar", RepositoryHint: "sha1:01e55d2a0253ea37745d33062852fd2c90027432", Filepath: "usr/share/jenkins/jenkins.war", @@ -1643,7 +1643,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-context", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-context-5.3.9.jar", RepositoryHint: "sha1:887f4579ade4f47cf0102856f4f4c88eda8ec9d7", Filepath: "usr/share/jenkins/jenkins.war", @@ -1651,7 +1651,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:json-lib", Version: "2.4-jenkins-3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/json-lib-2.4-jenkins-3.jar", RepositoryHint: "sha1:83f848493c09c735861a90e91591499fb88d7fbb", Filepath: "usr/share/jenkins/jenkins.war", @@ -1659,7 +1659,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.jna", Version: "5.9.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/jna-5.9.0.jar", RepositoryHint: "sha1:8f503e6d9b500ceff299052d6be75b38c7257758", Filepath: "usr/share/jenkins/jenkins.war", @@ -1667,7 +1667,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-web", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-web-5.3.9.jar", RepositoryHint: "sha1:88c920ec1bda67fea04daa8e16165777440df473", Filepath: "usr/share/jenkins/jenkins.war", @@ -1675,7 +1675,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-security-core", Version: "5.5.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-security-core-5.5.2.jar", RepositoryHint: "sha1:cbb11a2fd6e86c45249562b980ba532476d9cae6", Filepath: "usr/share/jenkins/jenkins.war", @@ -1683,7 +1683,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.objectweb.asm.util", Version: "9.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/asm-util-9.2.jar", RepositoryHint: "sha1:fbc178fc5ba3dab50fd7e8a5317b8b647c8e8946", Filepath: "usr/share/jenkins/jenkins.war", @@ -1691,7 +1691,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.mail:jakarta.mail", Version: "1.6.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jakarta.mail-1.6.5.jar", RepositoryHint: "sha1:d08124137cf42397d00b71b5985fd1dc248ac07f", Filepath: "usr/share/jenkins/jenkins.war", @@ -1699,7 +1699,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:slave-installer", Version: "1.7", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/slave-installer-1.7.jar", RepositoryHint: "sha1:921d195a7a3d2b8af9f0847099dbb9eb652c7bd8", Filepath: "usr/share/jenkins/jenkins.war", @@ -1707,7 +1707,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.main:jenkins-core", Version: "2.316", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jenkins-core-2.316.jar", RepositoryHint: "sha1:4b047f12b03840fb7bee61d84c7f2678afb9e86a", Filepath: "usr/share/jenkins/jenkins.war", @@ -1715,7 +1715,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.objectweb.asm.commons", Version: "9.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/asm-commons-9.2.jar", RepositoryHint: "sha1:f4d7f0fc9054386f2893b602454d48e07d4fbead", Filepath: "usr/share/jenkins/jenkins.war", @@ -1723,7 +1723,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.jcraft:jzlib", Version: "1.1.3-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jzlib-1.1.3-kohsuke-1.jar", RepositoryHint: "sha1:af5d27e1de29df05db95da5d76b546d075bc1bc5", Filepath: "usr/share/jenkins/jenkins.war", @@ -1731,7 +1731,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.commons.jelly.tags.xml", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-jelly-tags-xml-1.1.jar", RepositoryHint: "sha1:cc0efc2ae0ff81ef7737afc786a0ce16a8540efc", Filepath: "usr/share/jenkins/jenkins.war", @@ -1739,7 +1739,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.objectweb.asm.tree", Version: "9.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/asm-tree-9.2.jar", RepositoryHint: "sha1:d96c99a30f5e1a19b0e609dbb19a44d8518ac01e", Filepath: "usr/share/jenkins/jenkins.war", @@ -1747,7 +1747,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:stapler-jelly", Version: "1593.v0e838714faae", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/stapler-jelly-1593.v0e838714faae.jar", RepositoryHint: "sha1:ce9a4f0f5c3eed64165c5915cf1fc2811448fc83", Filepath: "usr/share/jenkins/jenkins.war", @@ -1755,7 +1755,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.objectweb.asm", Version: "9.2.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/asm-9.2.jar", RepositoryHint: "sha1:81a03f76019c67362299c40e0ba13405f5467bff", Filepath: "usr/share/jenkins/jenkins.war", @@ -1763,7 +1763,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-collections:commons-collections", Version: "3.2.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-collections-3.2.2.jar", RepositoryHint: "sha1:8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5", Filepath: "usr/share/jenkins/jenkins.war", @@ -1771,7 +1771,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-security-crypto", Version: "5.5.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-security-crypto-5.5.2.jar", RepositoryHint: "sha1:83d2198c12e74dc78a6516563dcc3e989f134b54", Filepath: "usr/share/jenkins/jenkins.war", @@ -1779,7 +1779,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-aop", Version: "5.3.9", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-aop-5.3.9.jar", RepositoryHint: "sha1:9bcad31a74e60d205500dd67d2220bd0195c63f8", Filepath: "usr/share/jenkins/jenkins.war", @@ -1787,7 +1787,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.commons:commons-compress", Version: "1.21", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-compress-1.21.jar", RepositoryHint: "sha1:4ec95b60d4e86b5c95a0e919cb172a0af98011ef", Filepath: "usr/share/jenkins/jenkins.war", @@ -1795,7 +1795,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:crypto-util", Version: "1.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/crypto-util-1.5.jar", RepositoryHint: "sha1:432ba8058e9a653fa191cdda3ed5fe4bb4fc4e53", Filepath: "usr/share/jenkins/jenkins.war", @@ -1803,7 +1803,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.activation:jakarta.activation", Version: "1.2.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jakarta.activation-1.2.1.jar", RepositoryHint: "sha1:8013606426a73d8ba6b568370877251e91a38b89", Filepath: "usr/share/jenkins/jenkins.war", @@ -1811,7 +1811,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api", Version: "1.2.7", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jakarta.servlet.jsp.jstl-api-1.2.7.jar", RepositoryHint: "sha1:34a035507f0270f1c6b7722d728bd7b5a9bbac4c", Filepath: "usr/share/jenkins/jenkins.war", @@ -1819,7 +1819,7 @@ var jenkins = test.ScannerTestcase{ { Name: "asm5", Version: "5.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:71ab0620a41ed37f626b96d80c2a7c58165550df", Filepath: "usr/share/jenkins/jenkins.war", @@ -1827,7 +1827,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.stapler:stapler-adjunct-codemirror", Version: "1.3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/stapler-adjunct-codemirror-1.3.jar", RepositoryHint: "sha1:fd1d45544400d2a4da6dfee9e60edd4ec3368806", Filepath: "usr/share/jenkins/jenkins.war", @@ -1835,7 +1835,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.main:remoting", Version: "4.10", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1843,7 +1843,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus.bundles:tyrus-standalone-client-jdk", Version: "1.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1851,7 +1851,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-client", Version: "1.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1859,7 +1859,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-core", Version: "1.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1867,7 +1867,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-spi", Version: "1.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1875,7 +1875,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.websocket:javax.websocket-api", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1883,7 +1883,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-container-jdk-client", Version: "1.17", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1891,7 +1891,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.websocket:javax.websocket-client-api", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1899,7 +1899,7 @@ var jenkins = test.ScannerTestcase{ { Name: "args4j:args4j", Version: "2.33", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1907,7 +1907,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:constant-pool-scanner", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/remoting-4.10.jar", RepositoryHint: "sha1:c9016b2501e2a3849e8bd14aa7866b3a5385b330", Filepath: "usr/share/jenkins/jenkins.war", @@ -1915,7 +1915,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:symbol-annotation", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/symbol-annotation-1.1.jar", RepositoryHint: "sha1:14fe06e7287a8aff81434a2fe8226744183fe955", Filepath: "usr/share/jenkins/jenkins.war", @@ -1923,7 +1923,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jfree:jfreechart", Version: "1.0.19", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/jfreechart-1.0.19.jar", RepositoryHint: "sha1:ba9ee7dbb2e4c57a6901c79f614ed2dea9cc0e20", Filepath: "usr/share/jenkins/jenkins.war", @@ -1931,7 +1931,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.infradna.tool:bridge-method-annotation", Version: "1.21", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/bridge-method-annotation-1.21.jar", RepositoryHint: "sha1:f380b42653f21c503036a31ff87c6970eeaad080", Filepath: "usr/share/jenkins/jenkins.war", @@ -1939,7 +1939,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:annotation-indexer", Version: "1.15", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/annotation-indexer-1.15.jar", RepositoryHint: "sha1:b5e9548356e53060e7844b2e7fd235f112a6fb8f", Filepath: "usr/share/jenkins/jenkins.war", @@ -1947,7 +1947,7 @@ var jenkins = test.ScannerTestcase{ { Name: "javax.inject", Version: "1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:6975da39a7040257bd51d21a231b76c915872d38", Filepath: "usr/share/jenkins/jenkins.war", @@ -1955,7 +1955,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spotbugs-annotations", Version: "4.4.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spotbugs-annotations-4.4.1.jar", RepositoryHint: "sha1:a409167be27a1b197c0432ebfc421f8f79f9bf41", Filepath: "usr/share/jenkins/jenkins.war", @@ -1963,7 +1963,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.main:cli", Version: "2.316", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1971,7 +1971,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:annotation-indexer", Version: "1.15", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1979,7 +1979,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-io:commons-io", Version: "2.11.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1987,7 +1987,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet.localizer:localizer", Version: "1.31", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -1995,7 +1995,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.sshd:sshd-core", Version: "2.7.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2003,7 +2003,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.apache.sshd:sshd-common", Version: "2.7.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2011,7 +2011,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-api", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2019,7 +2019,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:jcl-over-slf4j", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2027,7 +2027,7 @@ var jenkins = test.ScannerTestcase{ { Name: "net.i2p.crypto:eddsa", Version: "0.3.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2035,7 +2035,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-jdk14", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2043,7 +2043,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus.bundles:tyrus-standalone-client-jdk", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2051,7 +2051,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-client", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2059,7 +2059,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-core", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2067,7 +2067,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-spi", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2075,7 +2075,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jakarta.websocket:jakarta.websocket-api", Version: "2.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2083,7 +2083,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jakarta.xml.bind:jakarta.xml.bind-api", Version: "3.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2091,7 +2091,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.sun.activation:jakarta.activation", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2099,7 +2099,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.glassfish.tyrus:tyrus-container-jdk-client", Version: "2.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2107,7 +2107,7 @@ var jenkins = test.ScannerTestcase{ { Name: "jakarta.websocket:jakarta.websocket-client-api", Version: "2.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2115,7 +2115,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-lang:commons-lang", Version: "2.6", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/cli-2.316.jar", RepositoryHint: "sha1:ec1386735dc81ac7f42a4958e1e980f8f89dee11", Filepath: "usr/share/jenkins/jenkins.war", @@ -2123,7 +2123,7 @@ var jenkins = test.ScannerTestcase{ { Name: "spring-security-web", Version: "5.5.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "jar:usr/share/jenkins/jenkins.war:WEB-INF/lib/spring-security-web-5.5.2.jar", RepositoryHint: "sha1:aa1b6fe3c48fbfbf47992633ff63b02208757d3a", Filepath: "usr/share/jenkins/jenkins.war", @@ -2131,7 +2131,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.google.guava:guava", Version: "11.0.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/guava-11.0.1.jar", RepositoryHint: "sha1:57b40a943725d43610c898ac0169adf1b2d55742", Filepath: "usr/share/jenkins/jenkins.war", @@ -2139,7 +2139,7 @@ var jenkins = test.ScannerTestcase{ { Name: "com.thoughtworks.xstream:xstream", Version: "1.4.18", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/xstream-1.4.18.jar", RepositoryHint: "sha1:12eb80b4c4b83b184b669866f510a0eae13f9475", Filepath: "usr/share/jenkins/jenkins.war", @@ -2147,7 +2147,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:launchd-slave-installer", Version: "1.2", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/launchd-slave-installer-1.2.jar", RepositoryHint: "sha1:8ef06fc2a3d9436aa214e318c66cb6dc274440b8", Filepath: "usr/share/jenkins/jenkins.war", @@ -2155,7 +2155,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci:task-reactor", Version: "1.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/task-reactor-1.5.jar", RepositoryHint: "sha1:62964c07bb64457bbbb5711482e9c79bab720f20", Filepath: "usr/share/jenkins/jenkins.war", @@ -2163,7 +2163,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke.jinterop:j-interopdeps", Version: "2.0.8-kohsuke-1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/j-interopdeps-2.0.8-kohsuke-1.jar", RepositoryHint: "sha1:0c6ae17b2cbb5e07e62fddab1cebadaf351a97c0", Filepath: "usr/share/jenkins/jenkins.war", @@ -2171,7 +2171,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-httpclient:commons-httpclient", Version: "3.1-jenkins-3", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-httpclient-3.1-jenkins-3.jar", RepositoryHint: "sha1:56110dc7f655c56c4e2ae8ae2bb055bf2282ba99", Filepath: "usr/share/jenkins/jenkins.war", @@ -2179,7 +2179,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.slf4j:slf4j-jdk14", Version: "1.7.32", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/slf4j-jdk14-1.7.32.jar", RepositoryHint: "sha1:4d5bdc7da49cd69c25f7eed5ae0b259358c7edeb", Filepath: "usr/share/jenkins/jenkins.war", @@ -2187,7 +2187,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.kohsuke:libpam4j", Version: "1.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/libpam4j-1.11.jar", RepositoryHint: "sha1:82cfca73e813c165c83b5d6b1d16808cb5291fe7", Filepath: "usr/share/jenkins/jenkins.war", @@ -2195,7 +2195,7 @@ var jenkins = test.ScannerTestcase{ { Name: "ant-launcher", Version: "1.10.11", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:ea0a0475fb6dfcdcf48b30410fd9d4f5c80df07e", Filepath: "usr/share/jenkins/jenkins.war", @@ -2203,7 +2203,7 @@ var jenkins = test.ScannerTestcase{ { Name: "commons-discovery:commons-discovery", Version: "0.5", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/commons-discovery-0.5.jar", RepositoryHint: "sha1:3a8ac816bbe02d2f88523ef22cbf2c4abd71d6a8", Filepath: "usr/share/jenkins/jenkins.war", @@ -2211,7 +2211,7 @@ var jenkins = test.ScannerTestcase{ { Name: "net.java.sezpoz:sezpoz", Version: "1.13", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/sezpoz-1.13.jar", RepositoryHint: "sha1:822ac382900587d0a7d6aaec7b1859f1cf5de2fb", Filepath: "usr/share/jenkins/jenkins.war", @@ -2219,7 +2219,7 @@ var jenkins = test.ScannerTestcase{ { Name: "xpp3", Version: "1.1.4c", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:9b988ea84b9e4e9f1874e390ce099b8ac12cfff5", Filepath: "usr/share/jenkins/jenkins.war", @@ -2227,7 +2227,7 @@ var jenkins = test.ScannerTestcase{ { Name: "antlr", Version: "2.7.7", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "file:usr/share/jenkins/jenkins.war", RepositoryHint: "sha1:83cd2cd674a217ade95a4bb83a8a14f351f48bd0", Filepath: "usr/share/jenkins/jenkins.war", @@ -2235,7 +2235,7 @@ var jenkins = test.ScannerTestcase{ { Name: "io.github.stephenc.crypto:self-signed-cert-generator", Version: "1.0.0", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/self-signed-cert-generator-1.0.0.jar", RepositoryHint: "sha1:45542f10d259405b42bf537afe30342575d37b18", Filepath: "usr/share/jenkins/jenkins.war", @@ -2243,7 +2243,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jenkins-ci.modules:systemd-slave-installer", Version: "1.1", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/systemd-slave-installer-1.1.jar", RepositoryHint: "sha1:a9a4adb0480ec8942d031b0fff9005077b889875", Filepath: "usr/share/jenkins/jenkins.war", @@ -2251,7 +2251,7 @@ var jenkins = test.ScannerTestcase{ { Name: "org.jvnet.winp:winp", Version: "1.28", - Kind: "binary", + Kind: claircore.PackageBinary, PackageDB: "maven:usr/share/jenkins/jenkins.war:WEB-INF/lib/winp-1.28.jar", RepositoryHint: "sha1:8dcfcc7214e73a906786b80704784d90fb593e75", Filepath: "usr/share/jenkins/jenkins.war", diff --git a/java/purl.go b/java/purl.go index 04d79f539..bf85dda6a 100644 --- a/java/purl.go +++ b/java/purl.go @@ -39,7 +39,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Package: &claircore.Package{ Name: purl.Namespace + ":" + purl.Name, Version: purl.Version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/java/purl_test.go b/java/purl_test.go index 42a91a3bd..10c586e18 100644 --- a/java/purl_test.go +++ b/java/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordJava(t *testing.T) { Package: &claircore.Package{ Name: "org.apache.commons:commons-lang3", Version: "3.12.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -37,7 +37,7 @@ func TestRoundTripIndexRecordJava(t *testing.T) { Package: &claircore.Package{ Name: "com.fasterxml.jackson.core:jackson-databind", Version: "2.17.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/libindex/libindex_test.go b/libindex/libindex_test.go index c31d14083..147676326 100644 --- a/libindex/libindex_test.go +++ b/libindex/libindex_test.go @@ -27,7 +27,7 @@ func createTestVulns(n int) []claircore.Vulnerability { NormalizedSeverity: claircore.Unknown, Package: &claircore.Package{ Name: "botan", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, }, }) } diff --git a/libvuln/updates/manager_test.go b/libvuln/updates/manager_test.go index 502b30139..ef8369754 100644 --- a/libvuln/updates/manager_test.go +++ b/libvuln/updates/manager_test.go @@ -159,6 +159,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, }, @@ -177,6 +178,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, }, @@ -195,6 +197,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, { @@ -207,6 +210,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, }, @@ -225,6 +229,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, { @@ -237,6 +242,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, { @@ -249,6 +255,7 @@ var testVulns = []*fetchedVulns{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, }, }, @@ -267,6 +274,7 @@ var finalVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, Dist: &claircore.Distribution{}, Repo: &claircore.Repository{}, @@ -281,6 +289,7 @@ var finalVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, Dist: &claircore.Distribution{}, Repo: &claircore.Repository{}, @@ -295,6 +304,7 @@ var finalVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, Dist: &claircore.Distribution{}, Repo: &claircore.Repository{}, @@ -309,6 +319,7 @@ var finalVulns = []*claircore.Vulnerability{ NormalizedSeverity: claircore.Medium, Package: &claircore.Package{ Name: "blah", + Kind: claircore.PackageBinary, }, Dist: &claircore.Distribution{}, Repo: &claircore.Repository{}, diff --git a/nodejs/packagescanner.go b/nodejs/packagescanner.go index 1e0e5af90..7d0b71e62 100644 --- a/nodejs/packagescanner.go +++ b/nodejs/packagescanner.go @@ -114,7 +114,7 @@ func (s *Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircor pkg := &claircore.Package{ Name: pkgJSON.Name, Version: pkgJSON.Version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "nodejs:" + p, Filepath: p, RepositoryHint: repository, diff --git a/nodejs/purl.go b/nodejs/purl.go index 7790297b3..1938dc283 100644 --- a/nodejs/purl.go +++ b/nodejs/purl.go @@ -36,7 +36,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In { Package: &claircore.Package{ Name: purl.Name, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Version: v.String(), NormalizedVersion: claircore.FromSemver(v), Source: &claircore.Package{}, diff --git a/nodejs/purl_test.go b/nodejs/purl_test.go index ac6b107ad..52f079857 100644 --- a/nodejs/purl_test.go +++ b/nodejs/purl_test.go @@ -27,7 +27,7 @@ func TestRoundTripIndexRecordNodeJS(t *testing.T) { Package: &claircore.Package{ Name: "express", Version: "4.18.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -39,7 +39,7 @@ func TestRoundTripIndexRecordNodeJS(t *testing.T) { Package: &claircore.Package{ Name: "lodash", Version: "4.17.21", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -51,7 +51,7 @@ func TestRoundTripIndexRecordNodeJS(t *testing.T) { Package: &claircore.Package{ Name: "left-pad", Version: "not-a-version", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/oracle/purl.go b/oracle/purl.go index d3c97e570..608a0ed76 100644 --- a/oracle/purl.go +++ b/oracle/purl.go @@ -45,7 +45,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{}, diff --git a/oracle/purl_test.go b/oracle/purl_test.go index eb449437c..1c8d5e1de 100644 --- a/oracle/purl_test.go +++ b/oracle/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordOracle(t *testing.T) { Name: "bash", Version: "5.1.8-6.el9", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: nineDist, @@ -38,7 +38,7 @@ func TestRoundTripIndexRecordOracle(t *testing.T) { Name: "coreutils", Version: "8.22-24.oe1", Arch: "aarch64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: sevenDist, diff --git a/package.go b/package.go index 847901690..ef0845001 100644 --- a/package.go +++ b/package.go @@ -1,6 +1,11 @@ package claircore -import "github.com/quay/claircore/pkg/cpe" +import ( + "bytes" + "slices" + + "github.com/quay/claircore/pkg/cpe" +) type Package struct { // unique ID of this package. this will be created as discovered by the library @@ -11,7 +16,7 @@ type Package struct { // the version of the package Version string `json:"version"` // type of package. currently expectations are binary or source - Kind string `json:"kind,omitempty"` + Kind PackageKind `json:"kind,omitempty"` // if type is a binary package a source package maybe present which built this binary package. // must be a pointer to support recursive type: Source *Package `json:"source,omitempty"` @@ -35,7 +40,47 @@ type Package struct { Detector *Detector `json:"detector"` } +// PackageKind indicates what kind of package is being described. +type PackageKind uint + +func (k PackageKind) MarshalText() ([]byte, error) { + return []byte(k.String()), nil +} + +func (k *PackageKind) UnmarshalText(text []byte) error { + pos := bytes.Index([]byte(_PackageKind_name), text) + x := slices.Index(_PackageKind_index[1:], uint8(pos)) + x++ + *k = PackageKind(x) + return nil +} + const ( - BINARY = "binary" - SOURCE = "source" + // "Unknown" is the default value which string-ifies to an empty string, the + // way the previous string-based representation did. + packageUnknown PackageKind = iota // + // A "binary" package is compiled or otherwise ready-to-use software. + // + // It describes a set of files inside a container image. + PackageBinary // binary + // A "source" package is software that must be compiled or otherwise + // processed before it's ready to use. + // + // Conceptually, all "binary" packages come from a "source" package. + // A single "source" package produces one or more other packages. + // + // It can be used to describe the set of packages produced from the source + // package. + PackageSource // source + // A "layer" package is used to refer to a container layer itself. + // + // Conceptually, a "layer" package is a higher type that describes the + // container image rather than the contents. + PackageLayer // layer + // An "ancestry" package is used to refer to a container layer and all + // previous layers in an image. + // + // Conceptually, an "ancestry" package is a higher type that describes the + // container image rather than the contents. + PackageAncestry // ancestry ) diff --git a/packagekind_string.go b/packagekind_string.go new file mode 100644 index 000000000..5b7a935a5 --- /dev/null +++ b/packagekind_string.go @@ -0,0 +1,28 @@ +// Code generated by "stringer -type=PackageKind -linecomment"; DO NOT EDIT. + +package claircore + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[packageUnknown-0] + _ = x[PackageBinary-1] + _ = x[PackageSource-2] + _ = x[PackageLayer-3] + _ = x[PackageAncestry-4] +} + +const _PackageKind_name = "binarysourcelayerancestry" + +var _PackageKind_index = [...]uint8{0, 0, 6, 12, 17, 25} + +func (i PackageKind) String() string { + idx := int(i) - 0 + if i < 0 || idx >= len(_PackageKind_index)-1 { + return "PackageKind(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _PackageKind_name[_PackageKind_index[idx]:_PackageKind_index[idx+1]] +} diff --git a/photon/purl.go b/photon/purl.go index bb97925b3..243b1b6b4 100644 --- a/photon/purl.go +++ b/photon/purl.go @@ -45,7 +45,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{}, diff --git a/photon/purl_test.go b/photon/purl_test.go index d524b9cd7..f7fb97d0d 100644 --- a/photon/purl_test.go +++ b/photon/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordPhoton(t *testing.T) { Name: "bash", Version: "5.1.8-6.el9", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: photon1Dist, @@ -38,7 +38,7 @@ func TestRoundTripIndexRecordPhoton(t *testing.T) { Name: "coreutils", Version: "8.22-24.oe1", Arch: "aarch64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: photon2Dist, diff --git a/pkg/ovalutil/dpkg.go b/pkg/ovalutil/dpkg.go index 1434066de..f85f500d3 100644 --- a/pkg/ovalutil/dpkg.go +++ b/pkg/ovalutil/dpkg.go @@ -114,7 +114,7 @@ func DpkgDefsToVulns(ctx context.Context, root *oval.Root, protoVulns ProtoVulns if pkg, ok := pkgcache[n]; !ok { p := &claircore.Package{ Name: n, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, } pkgcache[n] = p vuln.Package = p diff --git a/pkg/ovalutil/rpm.go b/pkg/ovalutil/rpm.go index ce6cc27f2..7dc63f491 100644 --- a/pkg/ovalutil/rpm.go +++ b/pkg/ovalutil/rpm.go @@ -128,7 +128,7 @@ func RPMDefsToVulns(ctx context.Context, root *oval.Root, protoVulns ProtoVulnsF vuln.Package = &claircore.Package{ Name: object.Name, Module: module, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, } if state != nil { vuln.FixedInVersion = state.EVR.Body diff --git a/purl/registry_test.go b/purl/registry_test.go index bcdfc26f5..fccb38cac 100644 --- a/purl/registry_test.go +++ b/purl/registry_test.go @@ -48,7 +48,7 @@ func TestRegistryGenerate(t *testing.T) { }, ir: &claircore.IndexRecord{ Package: &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Name: "pkg", Version: "1.0.0", Detector: &claircore.Detector{Name: "fake-scanner"}, diff --git a/python/packagescanner.go b/python/packagescanner.go index df990411a..a0c3a8d97 100644 --- a/python/packagescanner.go +++ b/python/packagescanner.go @@ -112,7 +112,7 @@ func (ps *Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*clairco Version: v.String(), PackageDB: "python:" + pkgDB, Filepath: n, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, NormalizedVersion: v.Version(), // TODO Is there some way to pick up on where a wheel or egg was // found? diff --git a/python/packagescanner_fixture_test.go b/python/packagescanner_fixture_test.go index 328dc3bf8..9fe91b1bb 100644 --- a/python/packagescanner_fixture_test.go +++ b/python/packagescanner_fixture_test.go @@ -16,7 +16,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "appdirs", Version: "1.4.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/appdirs-1.4.3.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -25,7 +25,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "args", Version: "0.1.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/args-0.1.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -34,7 +34,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "astor", Version: "0.8.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/astor-0.8.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -43,7 +43,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "clint", Version: "0.5.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/clint-0.5.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -52,7 +52,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "funcparserlib", Version: "0.3.6", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/funcparserlib-0.3.6.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -61,7 +61,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "hy", Version: "0.17.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/hy-0.17.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -70,7 +70,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "rply", Version: "0.7.7", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/rply-0.7.7.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -87,7 +87,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "attrs", Version: "19.3.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -96,7 +96,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "cffi", Version: "1.13.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/cffi-1.13.2.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -105,7 +105,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "coverage", Version: "5.0.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/coverage-5.0.3.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -114,7 +114,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "importlib-metadata", Version: "1.5.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/importlib_metadata-1.5.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -123,7 +123,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "more-itertools", Version: "8.1.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/more_itertools-8.1.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -132,7 +132,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "numpy", Version: "1.18.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/numpy-1.18.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -141,7 +141,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "olefile", Version: "0.46", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/olefile-0.46.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -150,7 +150,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "packaging", Version: "20.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/packaging-20.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -159,7 +159,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pip", Version: "20.0.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pip-20.0.2.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -168,7 +168,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pluggy", Version: "0.13.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pluggy-0.13.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -177,7 +177,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "py", Version: "1.8.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/py-1.8.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -186,7 +186,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pycparser", Version: "2.19", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pycparser-2.19.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -195,7 +195,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pyparsing", Version: "2.4.6", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pyparsing-2.4.6.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -204,7 +204,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pytest", Version: "5.3.4", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pytest-5.3.4.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -213,7 +213,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pytest-cov", Version: "2.8.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/pytest_cov-2.8.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -222,7 +222,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "setuptools", Version: "45.1.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/setuptools-45.1.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -231,7 +231,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "six", Version: "1.14.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/six-1.14.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -240,7 +240,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "wcwidth", Version: "0.1.8", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/wcwidth-0.1.8.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -249,7 +249,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "wheel", Version: "0.34.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/wheel-0.34.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -258,7 +258,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "zipp", Version: "2.1.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:vpy3/lib/python3.7/site-packages", Filepath: "vpy3/lib/python3.7/site-packages/zipp-2.1.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -275,7 +275,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "aiodns", Version: "2.0.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/aiodns-2.0.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -284,7 +284,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "aiohttp", Version: "3.5.4", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/aiohttp-3.5.4.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -293,7 +293,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "arrow", Version: "0.15.4", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/arrow-0.15.4.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -302,7 +302,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "async-timeout", Version: "3.0.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/async_timeout-3.0.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -311,7 +311,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "attrs", Version: "19.3.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/attrs-19.3.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -320,7 +320,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "beautifulsoup4", Version: "4.8.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/beautifulsoup4-4.8.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -329,7 +329,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "cffi", Version: "1.13.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/cffi-1.13.2.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -338,7 +338,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "chardet", Version: "3.0.4", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/chardet-3.0.4.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -347,7 +347,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "discord.py", Version: "1.2.5", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/discord.py-1.2.5.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -356,7 +356,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "fuzzywuzzy", Version: "0.17.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/fuzzywuzzy-0.17.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -365,7 +365,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "idna", Version: "2.8", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/idna-2.8.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -374,7 +374,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "multidict", Version: "4.6.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/multidict-4.6.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -383,7 +383,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pillow", Version: "6.2.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/Pillow-6.2.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -392,7 +392,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pycares", Version: "3.0.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/pycares-3.0.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -401,7 +401,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pycparser", Version: "2.19", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/pycparser-2.19.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -410,7 +410,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "python-dateutil", Version: "2.8.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/python_dateutil-2.8.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -419,7 +419,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "pytz", Version: "2019.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/pytz-2019.3.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -428,7 +428,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "six", Version: "1.13.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/six-1.13.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -437,7 +437,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "soupsieve", Version: "1.9.5", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/soupsieve-1.9.5.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -446,7 +446,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "websockets", Version: "6.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/websockets-6.0.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", @@ -455,7 +455,7 @@ var scanTable = []test.ScannerTestcase{ { Name: "yarl", Version: "1.4.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "python:usr/local/lib/python3.7/site-packages", Filepath: "usr/local/lib/python3.7/site-packages/yarl-1.4.1.dist-info/METADATA", RepositoryHint: "https://pypi.org/simple", diff --git a/python/purl.go b/python/purl.go index 8c1c00610..80ea639f8 100644 --- a/python/purl.go +++ b/python/purl.go @@ -38,7 +38,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: v.String(), NormalizedVersion: v.Version(), - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/python/purl_test.go b/python/purl_test.go index b18e2bf33..986a266ff 100644 --- a/python/purl_test.go +++ b/python/purl_test.go @@ -27,7 +27,7 @@ func TestRoundTripIndexRecordPython(t *testing.T) { Package: &claircore.Package{ Name: "urllib3", Version: "2.2.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -39,7 +39,7 @@ func TestRoundTripIndexRecordPython(t *testing.T) { Package: &claircore.Package{ Name: "django", Version: "1.11.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -51,7 +51,7 @@ func TestRoundTripIndexRecordPython(t *testing.T) { Package: &claircore.Package{ Name: "django", Version: "something-invalid", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/rhel/rhcc/coalescer_test.go b/rhel/rhcc/coalescer_test.go index edd571d46..de53d5c5d 100644 --- a/rhel/rhcc/coalescer_test.go +++ b/rhel/rhcc/coalescer_test.go @@ -30,14 +30,14 @@ func TestCoalescer(t *testing.T) { Name: "ubi8", Version: "8.4", RepositoryHint: "rhcc", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", PackageDB: "Dockerfile-rhacm", Source: &claircore.Package{ ID: "3", Name: "ubi8-container", Version: "8.10-1088", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Arch: "x86_64", PackageDB: "Dockerfile-rhacm", }, @@ -56,14 +56,14 @@ func TestCoalescer(t *testing.T) { Name: "rhacm2/acm-grafana-rhel8", Version: "v2.9.5-8", RepositoryHint: "rhcc", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Arch: "x86_64", PackageDB: "Dockerfile-rhacm", Source: &claircore.Package{ ID: "4", Name: "acm-grafana-container", Version: "v2.9.5-8", - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Arch: "x86_64", PackageDB: "Dockerfile-rhacm", }, diff --git a/rhel/rhcc/detector.go b/rhel/rhcc/detector.go index c82868379..e4a612026 100644 --- a/rhel/rhcc/detector.go +++ b/rhel/rhcc/detector.go @@ -74,7 +74,7 @@ func (s *detector) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.P normVer := rhctagVersion.Version(true) src := claircore.Package{ - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Name: labels.Name, Version: vr, NormalizedVersion: normVer, @@ -85,7 +85,7 @@ func (s *detector) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.P pkgs := []*claircore.Package{&src} pkgs = append(pkgs, &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Name: labels.Name, Version: vr, NormalizedVersion: normVer, diff --git a/rhel/rhcc/detector_test.go b/rhel/rhcc/detector_test.go index c2010c628..7259329fa 100644 --- a/rhel/rhcc/detector_test.go +++ b/rhel/rhcc/detector_test.go @@ -37,7 +37,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/labels.json", RepositoryHint: "rhcc", Arch: "x86_64", @@ -49,7 +49,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{ Name: "openshift-gitops-1/gitops-rhel8-operator", Version: "1744596866", @@ -57,7 +57,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/labels.json", RepositoryHint: "rhcc", Arch: "x86_64", @@ -80,7 +80,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "usr/share/buildinfo/labels.json", RepositoryHint: "rhcc", Arch: "x86_64", @@ -92,7 +92,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{ Name: "openshift-gitops-1/gitops-rhel8-operator", Version: "1744596866", @@ -100,7 +100,7 @@ func TestPackageDetector(t *testing.T) { Kind: "rhctag", V: [10]int32{1744596866}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "usr/share/buildinfo/labels.json", RepositoryHint: "rhcc", Arch: "x86_64", diff --git a/rhel/rhcc/scanner.go b/rhel/rhcc/scanner.go index bb5a9b105..268871813 100644 --- a/rhel/rhcc/scanner.go +++ b/rhel/rhcc/scanner.go @@ -164,7 +164,7 @@ func (s *scanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Pa minorRange := rhctagVersion.MinorStart() src := claircore.Package{ - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Name: buildName, Version: vr, NormalizedVersion: minorRange.Version(true), @@ -198,7 +198,7 @@ func (s *scanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Pa // ["rhel8/toolbox", "ubi8/toolbox"]`. Therefore, we want a binary // package entry for each. pkgs = append(pkgs, &claircore.Package{ - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Name: name, Version: vr, NormalizedVersion: minorRange.Version(true), diff --git a/rhel/rhcc/scanner_test.go b/rhel/rhcc/scanner_test.go index f38fd9af8..9bf82c3f5 100644 --- a/rhel/rhcc/scanner_test.go +++ b/rhel/rhcc/scanner_test.go @@ -27,7 +27,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{3, 5}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/Dockerfile-quay-clair-rhel8-v3.5.5-4", RepositoryHint: "rhcc", Arch: "x86_64", @@ -40,7 +40,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{3, 5}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/Dockerfile-quay-quay-rhel8-v3.5.6-4", RepositoryHint: "rhcc", Arch: "x86_64", @@ -53,7 +53,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{4, 6}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/Dockerfile-openshift-ose-logging-elasticsearch6-v4.6.0-202112132021.p0.g2a13a81.assembly.stream", RepositoryHint: "rhcc", Arch: "x86_64", @@ -65,7 +65,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{1, 3}, }, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, PackageDB: "root/buildinfo/Dockerfile-rhdh-rhdh-hub-rhel9-1.3-100", RepositoryHint: "rhcc", Arch: "x86_64", @@ -93,7 +93,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{3, 5}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: quaySourceContainer, PackageDB: "root/buildinfo/Dockerfile-quay-quay-rhel8-v3.5.6-4", RepositoryHint: "rhcc", @@ -113,7 +113,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{3, 5}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: clairSourceContainer, PackageDB: "root/buildinfo/Dockerfile-quay-clair-rhel8-v3.5.5-4", RepositoryHint: "rhcc", @@ -133,7 +133,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{4, 6}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: loggingSourceContainer, PackageDB: "root/buildinfo/Dockerfile-openshift-ose-logging-elasticsearch6-v4.6.0-202112132021.p0.g2a13a81.assembly.stream", RepositoryHint: "rhcc", @@ -153,7 +153,7 @@ func TestContainerScanner(t *testing.T) { Kind: "rhctag", V: [10]int32{1, 3}, }, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: rhdhSourceContainer, PackageDB: "root/buildinfo/Dockerfile-rhdh-rhdh-hub-rhel9-1.3-100", RepositoryHint: "rhcc", diff --git a/rhel/vex/parser.go b/rhel/vex/parser.go index d624728c6..490b79a33 100644 --- a/rhel/vex/parser.go +++ b/rhel/vex/parser.go @@ -346,7 +346,7 @@ func (c *creator) knownAffectedVulnerabilities(ctx context.Context, v csaf.Vulne // That's the plan so far as there's no PURL product ID helper. vuln.Package = &claircore.Package{ Name: pkgName, - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Module: modName, } sc := c.c.FindScore(pc) @@ -524,7 +524,7 @@ func (c *creator) fixedVulnerabilities(ctx context.Context, v csaf.Vulnerability vuln.FixedInVersion = fixedIn vuln.Package = &claircore.Package{ Name: packageName, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Module: modName, } diff --git a/rhel/vex/parser_test.go b/rhel/vex/parser_test.go index 11311779e..ea39bdf5a 100644 --- a/rhel/vex/parser_test.go +++ b/rhel/vex/parser_test.go @@ -394,7 +394,7 @@ func TestParseCompare(t *testing.T) { Links: "https://access.redhat.com/security/cve/CVE-2024-24786 https://bugzilla.redhat.com/show_bug.cgi?id=2268046 https://www.cve.org/CVERecord?id=CVE-2024-24786 https://nvd.nist.gov/vuln/detail/CVE-2024-24786 https://go.dev/cl/569356 https://groups.google.com/g/golang-announce/c/ArQ6CDgtEjY/ https://pkg.go.dev/vuln/GO-2024-2611 https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-24786.json", Severity: "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", NormalizedSeverity: claircore.Medium, - Package: &claircore.Package{Name: "cri-tools", Kind: "binary", Arch: "aarch64"}, + Package: &claircore.Package{Name: "cri-tools", Kind: claircore.PackageBinary, Arch: "aarch64"}, FixedInVersion: "0:1.29.0-3.1.el9", Repo: &claircore.Repository{ Name: "cpe:2.3:a:redhat:openshift:4.16:*:el9:*:*:*:*:*", diff --git a/ruby/matcher_test.go b/ruby/matcher_test.go index a4b9222f2..c699224f2 100644 --- a/ruby/matcher_test.go +++ b/ruby/matcher_test.go @@ -25,7 +25,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "bootstrap", Version: "3.2.9", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -46,7 +46,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "bootstrap", Version: "4.1.2", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -67,7 +67,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "openshift-origin-node", Version: "1.3.2", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -88,7 +88,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "openshift-origin-node", Version: "1.3.3", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -109,7 +109,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "dependabot-omnibus", Version: "0.120.0.beta2", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -130,7 +130,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "dependabot-omnibus", Version: "0.119.0-alpha3", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ @@ -151,7 +151,7 @@ func TestVulnerable(t *testing.T) { Package: &claircore.Package{ Name: "dependabot-omnibus", Version: "0.119.0", - Kind: "binary", + Kind: claircore.PackageBinary, }, }, vuln: &claircore.Vulnerability{ diff --git a/ruby/packagescanner.go b/ruby/packagescanner.go index c7da5fa17..54dbf48b0 100644 --- a/ruby/packagescanner.go +++ b/ruby/packagescanner.go @@ -139,7 +139,7 @@ func (ps *Scanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*clairco ret = append(ret, &claircore.Package{ Name: name, Version: version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:" + g, Filepath: g, RepositoryHint: repository, diff --git a/ruby/packagescanner_test.go b/ruby/packagescanner_test.go index 9704f7183..7108bca12 100644 --- a/ruby/packagescanner_test.go +++ b/ruby/packagescanner_test.go @@ -31,7 +31,7 @@ func TestScanRemote(t *testing.T) { { Name: "bar", Version: "0.0.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/bar-0.0.2.gemspec", Filepath: "usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/bar-0.0.2.gemspec", RepositoryHint: "rubygems", @@ -39,7 +39,7 @@ func TestScanRemote(t *testing.T) { { Name: "bundler", Version: "2.4.7", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/lib/ruby/gems/3.2.0/specifications/default/bundler-2.4.7.gemspec", Filepath: "usr/local/lib/ruby/gems/3.2.0/specifications/default/bundler-2.4.7.gemspec", RepositoryHint: "rubygems", @@ -47,7 +47,7 @@ func TestScanRemote(t *testing.T) { { Name: "foo", Version: "0.0.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec", Filepath: "usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec", RepositoryHint: "rubygems", @@ -55,7 +55,7 @@ func TestScanRemote(t *testing.T) { { Name: "rake", Version: "13.0.6", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/rake-13.0.6.gemspec", Filepath: "usr/local/bundle/specifications/rake-13.0.6.gemspec", RepositoryHint: "rubygems", @@ -63,7 +63,7 @@ func TestScanRemote(t *testing.T) { { Name: "rubyforge", Version: "0.0.1", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/rubyforge-0.0.1.gemspec", Filepath: "usr/local/bundle/gems/rubygems-update-3.4.7/test/rubygems/specifications/rubyforge-0.0.1.gemspec", RepositoryHint: "rubygems", @@ -71,7 +71,7 @@ func TestScanRemote(t *testing.T) { { Name: "rubygems-update", Version: "3.4.7", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/rubygems-update-3.4.7.gemspec", Filepath: "usr/local/bundle/specifications/rubygems-update-3.4.7.gemspec", RepositoryHint: "rubygems", @@ -91,7 +91,7 @@ func TestScanRemote(t *testing.T) { { Name: "actioncable", Version: "7.0.4.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/actioncable-7.0.4.3.gemspec", Filepath: "usr/local/bundle/specifications/actioncable-7.0.4.3.gemspec", RepositoryHint: "rubygems", @@ -99,7 +99,7 @@ func TestScanRemote(t *testing.T) { { Name: "actionpack", Version: "7.0.4.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/actionpack-7.0.4.3.gemspec", Filepath: "usr/local/bundle/specifications/actionpack-7.0.4.3.gemspec", RepositoryHint: "rubygems", @@ -107,7 +107,7 @@ func TestScanRemote(t *testing.T) { { Name: "concurrent-ruby", Version: "1.2.2", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/concurrent-ruby-1.2.2.gemspec", Filepath: "usr/local/bundle/specifications/concurrent-ruby-1.2.2.gemspec", RepositoryHint: "rubygems", @@ -115,7 +115,7 @@ func TestScanRemote(t *testing.T) { { Name: "rails", Version: "7.0.4.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/rails-7.0.4.3.gemspec", Filepath: "usr/local/bundle/specifications/rails-7.0.4.3.gemspec", RepositoryHint: "rubygems", @@ -123,7 +123,7 @@ func TestScanRemote(t *testing.T) { { Name: "rails-html-sanitizer", Version: "1.5.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "ruby:usr/local/bundle/specifications/rails-html-sanitizer-1.5.0.gemspec", Filepath: "usr/local/bundle/specifications/rails-html-sanitizer-1.5.0.gemspec", RepositoryHint: "rubygems", diff --git a/ruby/purl.go b/ruby/purl.go index 6122e29ce..112cb47df 100644 --- a/ruby/purl.go +++ b/ruby/purl.go @@ -31,7 +31,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Package: &claircore.Package{ Name: purl.Name, Version: purl.Version, - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/ruby/purl_test.go b/ruby/purl_test.go index 37d9b1962..e81496e64 100644 --- a/ruby/purl_test.go +++ b/ruby/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordRuby(t *testing.T) { Package: &claircore.Package{ Name: "rails", Version: "6.1.0", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, @@ -37,7 +37,7 @@ func TestRoundTripIndexRecordRuby(t *testing.T) { Package: &claircore.Package{ Name: "rack", Version: "2.2.8", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Repository: &Repository, diff --git a/sbom/spdx/encoder.go b/sbom/spdx/encoder.go index 1d83044b7..19e4dc732 100644 --- a/sbom/spdx/encoder.go +++ b/sbom/spdx/encoder.go @@ -186,7 +186,7 @@ func (e *Encoder) parseIndexReport(ctx context.Context, ir *claircore.IndexRepor } pkgPurpose := "APPLICATION" - if r.Package.Kind != claircore.BINARY { + if r.Package.Kind != claircore.PackageBinary { pkgPurpose = "SOURCE" } diff --git a/sbom/spdx/round_trip_test.go b/sbom/spdx/round_trip_test.go index 01f493498..37314b85f 100644 --- a/sbom/spdx/round_trip_test.go +++ b/sbom/spdx/round_trip_test.go @@ -36,7 +36,7 @@ func TestRoundTrip(t *testing.T) { ID: "1", Name: "github.com/example/pkg", Version: "v1.2.3", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Detector: &claircore.Detector{ Name: "gobin", Version: "1", diff --git a/severity_string.go b/severity_string.go index c17278406..6c2dd735e 100644 --- a/severity_string.go +++ b/severity_string.go @@ -21,8 +21,9 @@ const _Severity_name = "UnknownNegligibleLowMediumHighCritical" var _Severity_index = [...]uint8{0, 7, 17, 20, 26, 30, 38} func (i Severity) String() string { - if i >= Severity(len(_Severity_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_Severity_index)-1 { return "Severity(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Severity_name[_Severity_index[i]:_Severity_index[i+1]] + return _Severity_name[_Severity_index[idx]:_Severity_index[idx+1]] } diff --git a/suse/purl.go b/suse/purl.go index a44be59fa..fd76b658b 100644 --- a/suse/purl.go +++ b/suse/purl.go @@ -85,7 +85,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: dist, diff --git a/suse/purl_test.go b/suse/purl_test.go index 17538639c..c55525449 100644 --- a/suse/purl_test.go +++ b/suse/purl_test.go @@ -28,7 +28,7 @@ func TestRoundTripIndexRecord(t *testing.T) { Name: "zlib", Version: "1.2.11-150500.59.68.1", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ @@ -48,7 +48,7 @@ func TestRoundTripIndexRecord(t *testing.T) { Name: "bash", Version: "5.1-150300.51.1", Arch: "aarch64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ diff --git a/test/package.go b/test/package.go index 4feb08805..83f72ed41 100644 --- a/test/package.go +++ b/test/package.go @@ -45,7 +45,7 @@ func createPackage(i int, ii int, n int) *claircore.Package { Name: fmt.Sprintf("package-%d", ii), Version: fmt.Sprintf("version-%d", ii), Arch: fmt.Sprintf("arch-%d", ii), - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: fmt.Sprintf("package-db-%d", i), RepositoryHint: fmt.Sprintf("repository-hint-%d", i), Module: fmt.Sprintf("module:%d", ii), @@ -54,7 +54,7 @@ func createPackage(i int, ii int, n int) *claircore.Package { Name: fmt.Sprintf("source-package-%d", ii), Version: fmt.Sprintf("source-version-%d", ii), Arch: fmt.Sprintf("source-arch-%d", ii), - Kind: claircore.SOURCE, + Kind: claircore.PackageSource, Module: fmt.Sprintf("source-module:%d", ii), }, } diff --git a/test/rpmtest/manifest.go b/test/rpmtest/manifest.go index 38fec0192..a923b4f90 100644 --- a/test/rpmtest/manifest.go +++ b/test/rpmtest/manifest.go @@ -64,7 +64,7 @@ func PackagesFromManifest(t *testing.T, items iter.Seq[catalog.RpmsItems]) iter. p := claircore.Package{ Name: it.Name, Version: pv.EVR(), - Kind: "binary", + Kind: claircore.PackageBinary, Arch: it.Architecture, RepositoryHint: url.Values{"key": {it.GPG}}.Encode(), Module: it.Module, @@ -75,7 +75,7 @@ func PackagesFromManifest(t *testing.T, items iter.Seq[catalog.RpmsItems]) iter. } else { idx := len(srcs) srcs = append(srcs, claircore.Package{ - Kind: "source", + Kind: claircore.PackageSource, Name: *sv.Name, Version: sv.EVR(), Module: it.Module, diff --git a/test/vulnerability.go b/test/vulnerability.go index 3f3deba71..667a54568 100644 --- a/test/vulnerability.go +++ b/test/vulnerability.go @@ -30,7 +30,7 @@ func GenUniqueVulnerabilities(n int, updater string) []*claircore.Vulnerability Name: fmt.Sprintf("package-%d", i), Version: fmt.Sprintf("version-%d", i), Arch: fmt.Sprintf("arch-%d", i), - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, }, Dist: &claircore.Distribution{ ID: strconv.Itoa(i), diff --git a/toolkit/go.mod b/toolkit/go.mod index d0b8f2ee2..d2af78347 100644 --- a/toolkit/go.mod +++ b/toolkit/go.mod @@ -1,5 +1,13 @@ module github.com/quay/claircore/toolkit -go 1.24 +go 1.25.0 require github.com/google/go-cmp v0.7.0 + +require ( + golang.org/x/mod v0.34.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/tools v0.43.0 // indirect +) + +tool golang.org/x/tools/cmd/stringer diff --git a/toolkit/go.sum b/toolkit/go.sum index 40e761ae7..f418624af 100644 --- a/toolkit/go.sum +++ b/toolkit/go.sum @@ -1,2 +1,8 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= +golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= +golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= diff --git a/toolkit/types/cpe/attribute_string.go b/toolkit/types/cpe/attribute_string.go index 1e276b420..c5147d9cc 100644 --- a/toolkit/types/cpe/attribute_string.go +++ b/toolkit/types/cpe/attribute_string.go @@ -26,8 +26,9 @@ const _Attribute_name = "partvendorproductversionupdateeditionlanguagesw_edition var _Attribute_index = [...]uint8{0, 4, 10, 17, 24, 30, 37, 45, 55, 64, 73, 78} func (i Attribute) String() string { - if i < 0 || i >= Attribute(len(_Attribute_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_Attribute_index)-1 { return "Attribute(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Attribute_name[_Attribute_index[i]:_Attribute_index[i+1]] + return _Attribute_name[_Attribute_index[idx]:_Attribute_index[idx+1]] } diff --git a/toolkit/types/cpe/generate.go b/toolkit/types/cpe/generate.go index 955d4f416..385c25cb7 100644 --- a/toolkit/types/cpe/generate.go +++ b/toolkit/types/cpe/generate.go @@ -1,6 +1,6 @@ package cpe -//go:generate -command stringer go run golang.org/x/tools/cmd/stringer@latest +//go:generate -command stringer go tool stringer //go:generate stringer -type Attribute -linecomment //go:generate stringer -type ValueKind //go:generate stringer -type Relation -linecomment diff --git a/toolkit/types/cpe/relation_string.go b/toolkit/types/cpe/relation_string.go index 649e44cbc..054ca1dfd 100644 --- a/toolkit/types/cpe/relation_string.go +++ b/toolkit/types/cpe/relation_string.go @@ -20,8 +20,9 @@ const _Relation_name = "∅⊃⊂=≠" var _Relation_index = [...]uint8{0, 3, 6, 9, 10, 13} func (i Relation) String() string { - if i >= Relation(len(_Relation_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_Relation_index)-1 { return "Relation(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Relation_name[_Relation_index[i]:_Relation_index[i+1]] + return _Relation_name[_Relation_index[idx]:_Relation_index[idx+1]] } diff --git a/toolkit/types/cpe/valuekind_string.go b/toolkit/types/cpe/valuekind_string.go index 8f15280f4..3bda383ca 100644 --- a/toolkit/types/cpe/valuekind_string.go +++ b/toolkit/types/cpe/valuekind_string.go @@ -19,8 +19,9 @@ const _ValueKind_name = "ValueUnsetValueAnyValueNAValueSet" var _ValueKind_index = [...]uint8{0, 10, 18, 25, 33} func (i ValueKind) String() string { - if i >= ValueKind(len(_ValueKind_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_ValueKind_index)-1 { return "ValueKind(" + strconv.FormatInt(int64(i), 10) + ")" } - return _ValueKind_name[_ValueKind_index[i]:_ValueKind_index[i+1]] + return _ValueKind_name[_ValueKind_index[idx]:_ValueKind_index[idx+1]] } diff --git a/toolkit/types/cvss/cvss.go b/toolkit/types/cvss/cvss.go index 4efb12d03..4c9fc5001 100644 --- a/toolkit/types/cvss/cvss.go +++ b/toolkit/types/cvss/cvss.go @@ -216,7 +216,7 @@ const ( Critical ) -//go:generate go run golang.org/x/tools/cmd/stringer@latest -type=Qualitative +//go:generate go tool stringer -type=Qualitative // QualitativeScore returns the qualitative severity of the provided Vector "v". // diff --git a/toolkit/types/cvss/cvss_v2.go b/toolkit/types/cvss/cvss_v2.go index de03d1400..02788067e 100644 --- a/toolkit/types/cvss/cvss_v2.go +++ b/toolkit/types/cvss/cvss_v2.go @@ -172,7 +172,7 @@ func (v *V2) Environmental() (ok bool) { return ok } -//go:generate go run golang.org/x/tools/cmd/stringer@latest -type=V2Metric,v2Valid -linecomment +//go:generate go tool stringer -type=V2Metric,v2Valid -linecomment // V2Metric is a metric in a v2 vector. type V2Metric int diff --git a/toolkit/types/cvss/cvss_v3.go b/toolkit/types/cvss/cvss_v3.go index 40743a0ab..37742b085 100644 --- a/toolkit/types/cvss/cvss_v3.go +++ b/toolkit/types/cvss/cvss_v3.go @@ -108,7 +108,7 @@ func (v *V3) Environmental() (ok bool) { return false } -//go:generate go run golang.org/x/tools/cmd/stringer@latest -type=V3Metric,v3Valid -linecomment +//go:generate go tool stringer -type=V3Metric,v3Valid -linecomment // V3Metric is a metric in a v3 vector. type V3Metric int diff --git a/toolkit/types/cvss/cvss_v4.go b/toolkit/types/cvss/cvss_v4.go index 971288527..e2a91a946 100644 --- a/toolkit/types/cvss/cvss_v4.go +++ b/toolkit/types/cvss/cvss_v4.go @@ -135,7 +135,7 @@ func (v *V4) groups(yield func([2]int) bool) { yield(b) } -//go:generate go run golang.org/x/tools/cmd/stringer@latest -type=V4Metric,v4Valid -linecomment +//go:generate go tool stringer -type=V4Metric,v4Valid -linecomment // V4Metric is a metric in a v4 vector. type V4Metric int diff --git a/toolkit/types/cvss/qualitative_string.go b/toolkit/types/cvss/qualitative_string.go index 63f8dc9ac..2fe6495a2 100644 --- a/toolkit/types/cvss/qualitative_string.go +++ b/toolkit/types/cvss/qualitative_string.go @@ -20,9 +20,9 @@ const _Qualitative_name = "NoneLowMediumHighCritical" var _Qualitative_index = [...]uint8{0, 4, 7, 13, 17, 25} func (i Qualitative) String() string { - i -= 1 - if i < 0 || i >= Qualitative(len(_Qualitative_index)-1) { - return "Qualitative(" + strconv.FormatInt(int64(i+1), 10) + ")" + idx := int(i) - 1 + if i < 1 || idx >= len(_Qualitative_index)-1 { + return "Qualitative(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Qualitative_name[_Qualitative_index[i]:_Qualitative_index[i+1]] + return _Qualitative_name[_Qualitative_index[idx]:_Qualitative_index[idx+1]] } diff --git a/toolkit/types/cvss/v2metric_string.go b/toolkit/types/cvss/v2metric_string.go index 0ff184fa1..0ac136c34 100644 --- a/toolkit/types/cvss/v2metric_string.go +++ b/toolkit/types/cvss/v2metric_string.go @@ -29,10 +29,11 @@ const _V2Metric_name = "AVACAuCIAERLRCCDPTDCRIRAR" var _V2Metric_index = [...]uint8{0, 2, 4, 6, 7, 8, 9, 10, 12, 14, 17, 19, 21, 23, 25} func (i V2Metric) String() string { - if i < 0 || i >= V2Metric(len(_V2Metric_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_V2Metric_index)-1 { return "V2Metric(" + strconv.FormatInt(int64(i), 10) + ")" } - return _V2Metric_name[_V2Metric_index[i]:_V2Metric_index[i+1]] + return _V2Metric_name[_V2Metric_index[idx]:_V2Metric_index[idx+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. @@ -59,8 +60,9 @@ const _v2Valid_name = "LANHMLMSNNPCNPCNPCUPOCFHNDOFTFWUNDUCURCNDNLLMMHHNDNLMHNDL var _v2Valid_index = [...]uint8{0, 3, 6, 9, 12, 15, 18, 26, 34, 41, 50, 56, 61, 66, 71} func (i v2Valid) String() string { - if i < 0 || i >= v2Valid(len(_v2Valid_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_v2Valid_index)-1 { return "v2Valid(" + strconv.FormatInt(int64(i), 10) + ")" } - return _v2Valid_name[_v2Valid_index[i]:_v2Valid_index[i+1]] + return _v2Valid_name[_v2Valid_index[idx]:_v2Valid_index[idx+1]] } diff --git a/toolkit/types/cvss/v3metric_string.go b/toolkit/types/cvss/v3metric_string.go index 021ae4772..82d6701bc 100644 --- a/toolkit/types/cvss/v3metric_string.go +++ b/toolkit/types/cvss/v3metric_string.go @@ -37,10 +37,11 @@ const _V3Metric_name = "AVACPRUISCIAERLRCCRIRARMAVMACMPRMUIMSMCMIMA" var _V3Metric_index = [...]uint8{0, 2, 4, 6, 8, 9, 10, 11, 12, 13, 15, 17, 19, 21, 23, 26, 29, 32, 35, 37, 39, 41, 43} func (i V3Metric) String() string { - if i < 0 || i >= V3Metric(len(_V3Metric_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_V3Metric_index)-1 { return "V3Metric(" + strconv.FormatInt(int64(i), 10) + ")" } - return _V3Metric_name[_V3Metric_index[i]:_V3Metric_index[i+1]] + return _V3Metric_name[_V3Metric_index[idx]:_V3Metric_index[idx+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. @@ -75,8 +76,9 @@ const _v3Valid_name = "NALPLHNLHNRUCHLNHLNHLNXHFPUXUWTOXCRUXHMLXHMLXHMLXNALPXLHX var _v3Valid_index = [...]uint8{0, 4, 6, 9, 11, 13, 16, 19, 22, 27, 32, 36, 40, 44, 48, 53, 56, 60, 63, 66, 70, 74, 78} func (i v3Valid) String() string { - if i < 0 || i >= v3Valid(len(_v3Valid_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_v3Valid_index)-1 { return "v3Valid(" + strconv.FormatInt(int64(i), 10) + ")" } - return _v3Valid_name[_v3Valid_index[i]:_v3Valid_index[i+1]] + return _v3Valid_name[_v3Valid_index[idx]:_v3Valid_index[idx+1]] } diff --git a/toolkit/types/cvss/v4metric_string.go b/toolkit/types/cvss/v4metric_string.go index 02d0b7940..d1b024025 100644 --- a/toolkit/types/cvss/v4metric_string.go +++ b/toolkit/types/cvss/v4metric_string.go @@ -47,10 +47,11 @@ const _V4Metric_name = "AVACATPRUIVCVIVASCSISAECRIRARMAVMACMATMPRMUIMVCMVIMVAMSC var _V4Metric_index = [...]uint8{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 23, 25, 27, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 63, 65, 66, 67, 69, 70} func (i V4Metric) String() string { - if i < 0 || i >= V4Metric(len(_V4Metric_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_V4Metric_index)-1 { return "V4Metric(" + strconv.FormatInt(int64(i), 10) + ")" } - return _V4Metric_name[_V4Metric_index[i]:_V4Metric_index[i+1]] + return _V4Metric_name[_V4Metric_index[idx]:_V4Metric_index[idx+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. @@ -95,8 +96,9 @@ const _v4Valid_name = "NALPLHNPNLHNPAHLNHLNHLNHLNHLNHLNXAPUXHMLXHMLXHMLXNALPXLHX var _v4Valid_index = [...]uint8{0, 4, 6, 8, 11, 14, 17, 20, 23, 26, 29, 32, 36, 40, 44, 48, 53, 56, 59, 63, 67, 71, 75, 79, 83, 88, 93, 96, 99, 103, 106, 110, 129} func (i v4Valid) String() string { - if i < 0 || i >= v4Valid(len(_v4Valid_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_v4Valid_index)-1 { return "v4Valid(" + strconv.FormatInt(int64(i), 10) + ")" } - return _v4Valid_name[_v4Valid_index[i]:_v4Valid_index[i+1]] + return _v4Valid_name[_v4Valid_index[idx]:_v4Valid_index[idx+1]] } diff --git a/toolkit/types/generate.go b/toolkit/types/generate.go index 8894d68a0..96555072c 100644 --- a/toolkit/types/generate.go +++ b/toolkit/types/generate.go @@ -1,4 +1,4 @@ package types -//go:generate -command stringer go run golang.org/x/tools/cmd/stringer +//go:generate -command stringer go tool stringer //go:generate stringer -linecomment -output=generate_string.go -type=Severity,ArchOp,PackageKind diff --git a/toolkit/types/generate_string.go b/toolkit/types/generate_string.go index 828a53930..b705070c0 100644 --- a/toolkit/types/generate_string.go +++ b/toolkit/types/generate_string.go @@ -21,10 +21,11 @@ const _Severity_name = "UnknownNegligibleLowMediumHighCritical" var _Severity_index = [...]uint8{0, 7, 17, 20, 26, 30, 38} func (i Severity) String() string { - if i >= Severity(len(_Severity_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_Severity_index)-1 { return "Severity(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Severity_name[_Severity_index[i]:_Severity_index[i+1]] + return _Severity_name[_Severity_index[idx]:_Severity_index[idx+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. @@ -41,10 +42,11 @@ const _ArchOp_name = "invalidequalsnot equalspattern match" var _ArchOp_index = [...]uint8{0, 7, 13, 23, 36} func (i ArchOp) String() string { - if i >= ArchOp(len(_ArchOp_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_ArchOp_index)-1 { return "ArchOp(" + strconv.FormatInt(int64(i), 10) + ")" } - return _ArchOp_name[_ArchOp_index[i]:_ArchOp_index[i+1]] + return _ArchOp_name[_ArchOp_index[idx]:_ArchOp_index[idx+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. @@ -53,15 +55,18 @@ func _() { _ = x[UnknownPackage-0] _ = x[SourcePackage-1] _ = x[BinaryPackage-2] + _ = x[LayerPackage-3] + _ = x[AncestryPackage-4] } -const _PackageKind_name = "unknownsourcebinary" +const _PackageKind_name = "unknownsourcebinarylayerancestry" -var _PackageKind_index = [...]uint8{0, 7, 13, 19} +var _PackageKind_index = [...]uint8{0, 7, 13, 19, 24, 32} func (i PackageKind) String() string { - if i >= PackageKind(len(_PackageKind_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_PackageKind_index)-1 { return "PackageKind(" + strconv.FormatInt(int64(i), 10) + ")" } - return _PackageKind_name[_PackageKind_index[i]:_PackageKind_index[i+1]] + return _PackageKind_name[_PackageKind_index[idx]:_PackageKind_index[idx+1]] } diff --git a/toolkit/types/package_kind.go b/toolkit/types/package_kind.go index bfa531b28..bf7af541e 100644 --- a/toolkit/types/package_kind.go +++ b/toolkit/types/package_kind.go @@ -5,9 +5,11 @@ import "bytes" type PackageKind uint const ( - UnknownPackage PackageKind = iota // unknown - SourcePackage // source - BinaryPackage // binary + UnknownPackage PackageKind = iota // unknown + SourcePackage // source + BinaryPackage // binary + LayerPackage // layer + AncestryPackage // ancestry ) func (k PackageKind) MarshalText() (text []byte, err error) { diff --git a/ubuntu/purl.go b/ubuntu/purl.go index c3b5aad50..996dfd9d7 100644 --- a/ubuntu/purl.go +++ b/ubuntu/purl.go @@ -52,7 +52,7 @@ func ParsePURL(ctx context.Context, purl packageurl.PackageURL) ([]*claircore.In Name: purl.Name, Version: purl.Version, Arch: purl.Qualifiers.Map()["arch"], - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, Source: &claircore.Package{}, }, Distribution: &claircore.Distribution{ diff --git a/ubuntu/purl_test.go b/ubuntu/purl_test.go index 8b503db26..7441aff15 100644 --- a/ubuntu/purl_test.go +++ b/ubuntu/purl_test.go @@ -25,7 +25,7 @@ func TestRoundTripIndexRecordDebian(t *testing.T) { Name: "bash", Version: "5.1.8-6", Arch: "x86_64", - Kind: claircore.BINARY, + Kind: claircore.PackageBinary, PackageDB: "deb:/var/lib/dpkg/status", Source: &claircore.Package{}, }, diff --git a/updater/osv/osv.go b/updater/osv/osv.go index a3ccec17b..f33f25eef 100644 --- a/updater/osv/osv.go +++ b/updater/osv/osv.go @@ -709,7 +709,7 @@ func (e *ecs) Insert(ctx context.Context, log *slog.Logger, skipped *stats, name v.Package = pkg switch af.Package.Ecosystem { case ecosystemGo, ecosystemMaven, ecosystemNPM, ecosystemPyPI, ecosystemRubyGems: - v.Package.Kind = claircore.BINARY + v.Package.Kind = claircore.PackageBinary } if novel { pkg.RepositoryHint = af.Package.Ecosystem