From 319bb126279115a4f133df8f7bb4681bacce2f80 Mon Sep 17 00:00:00 2001 From: Christopher Phillips <32073428+spiffcs@users.noreply.github.com> Date: Fri, 26 Sep 2025 15:07:48 -0400 Subject: [PATCH] chore: do not redesign private Signed-off-by: Christopher Phillips <32073428+spiffcs@users.noreply.github.com> --- syft/pkg/cataloger/debian/parse_deb_archive.go | 16 ++++++++-------- syft/pkg/cataloger/debian/parse_dpkg_db.go | 8 ++------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/syft/pkg/cataloger/debian/parse_deb_archive.go b/syft/pkg/cataloger/debian/parse_deb_archive.go index e62499928..133eabbc2 100644 --- a/syft/pkg/cataloger/debian/parse_deb_archive.go +++ b/syft/pkg/cataloger/debian/parse_deb_archive.go @@ -34,7 +34,7 @@ func parseDebArchive(cfg CatalogerConfig) generic.Parser { } } -func parseDebArchiveWithConfig(ctx context.Context, _ file.Resolver, _ *generic.Environment, reader file.LocationReadCloser, _ CatalogerConfig) ([]pkg.Package, []artifact.Relationship, error) { +func parseDebArchiveWithConfig(ctx context.Context, _ file.Resolver, _ *generic.Environment, reader file.LocationReadCloser, cfg CatalogerConfig) ([]pkg.Package, []artifact.Relationship, error) { arReader := ar.NewReader(reader) var metadata *pkg.DpkgArchiveEntry @@ -56,7 +56,7 @@ func parseDebArchiveWithConfig(ctx context.Context, _ file.Resolver, _ *generic. if err != nil { return nil, nil, unknown.New(reader.Location, fmt.Errorf("failed to decompress control.tar.* file: %w", err)) } - metadata, err = processControlTar(dcReader) + metadata, err = processControlTar(dcReader, cfg) if err != nil { return nil, nil, unknown.New(reader.Location, fmt.Errorf("failed to process control.tar.* file: %w", err)) } @@ -110,7 +110,7 @@ func processDataTar(dcReader io.ReadCloser) ([]string, error) { return licenses, nil } -func processControlTar(dcReader io.ReadCloser) (*pkg.DpkgArchiveEntry, error) { +func processControlTar(dcReader io.ReadCloser, cfg CatalogerConfig) (*pkg.DpkgArchiveEntry, error) { defer internal.CloseAndLogError(dcReader, "") // Extract control, md5sums, and conffiles files from control.tar @@ -124,7 +124,7 @@ func processControlTar(dcReader io.ReadCloser) (*pkg.DpkgArchiveEntry, error) { return nil, fmt.Errorf("control file not found in archive") } - metadata, err := newDpkgArchiveMetadata(controlFileContent, md5Content, confContent) + metadata, err := newDpkgArchiveMetadata(controlFileContent, md5Content, confContent, cfg) if err != nil { return nil, fmt.Errorf("failed to create package metadata: %w", err) } @@ -132,9 +132,9 @@ func processControlTar(dcReader io.ReadCloser) (*pkg.DpkgArchiveEntry, error) { return &metadata, nil } -func newDpkgArchiveMetadata(controlFile, md5sums, confFiles []byte) (pkg.DpkgArchiveEntry, error) { +func newDpkgArchiveMetadata(controlFile, md5sums, confFiles []byte, cfg CatalogerConfig) (pkg.DpkgArchiveEntry, error) { // parse the control file to get package metadata - metadata, err := parseControlFile(string(controlFile)) + metadata, err := parseControlFile(string(controlFile), cfg) if err != nil { return pkg.DpkgArchiveEntry{}, fmt.Errorf("failed to parse control file: %w", err) } @@ -207,11 +207,11 @@ func readControlFiles(tarReader *tar.Reader) (controlFile, md5sums, conffiles [] } // parseControlFile parses the content of a debian control file into package metadata -func parseControlFile(controlFileContent string) (pkg.DpkgArchiveEntry, error) { +func parseControlFile(controlFileContent string, cfg CatalogerConfig) (pkg.DpkgArchiveEntry, error) { // Reuse the existing dpkg status file parsing logic reader := strings.NewReader(controlFileContent) - entries, err := parseDpkgStatus(reader) + entries, err := parseDpkgStatus(reader, cfg) if err != nil { return pkg.DpkgArchiveEntry{}, fmt.Errorf("failed to parse control file: %w", err) } diff --git a/syft/pkg/cataloger/debian/parse_dpkg_db.go b/syft/pkg/cataloger/debian/parse_dpkg_db.go index 6acc46bc4..35194669c 100644 --- a/syft/pkg/cataloger/debian/parse_dpkg_db.go +++ b/syft/pkg/cataloger/debian/parse_dpkg_db.go @@ -40,7 +40,7 @@ func parseDpkgDB(cfg CatalogerConfig) generic.Parser { } func parseDpkgDBWithConfig(ctx context.Context, resolver file.Resolver, env *generic.Environment, reader file.LocationReadCloser, cfg CatalogerConfig) ([]pkg.Package, []artifact.Relationship, error) { - metadata, err := parseDpkgStatusWithConfig(reader, cfg) + metadata, err := parseDpkgStatus(reader, cfg) if err != nil { return nil, nil, fmt.Errorf("unable to catalog dpkg DB=%q: %w", reader.RealPath, err) } @@ -82,11 +82,7 @@ func findDpkgInfoFiles(name string, resolver file.Resolver, dbLocation file.Loca return locations } -func parseDpkgStatus(reader io.Reader) ([]pkg.DpkgDBEntry, error) { - return parseDpkgStatusWithConfig(reader, DefaultCatalogerConfig()) -} - -func parseDpkgStatusWithConfig(reader io.Reader, cfg CatalogerConfig) ([]pkg.DpkgDBEntry, error) { +func parseDpkgStatus(reader io.Reader, cfg CatalogerConfig) ([]pkg.DpkgDBEntry, error) { buffedReader := bufio.NewReader(reader) var metadata []pkg.DpkgDBEntry