diff options
author | Adolfo García Veytia (Puerco) <puerco@chainguard.dev> | 2022-11-30 20:15:56 -0600 |
---|---|---|
committer | Adolfo García Veytia (Puerco) <puerco@chainguard.dev> | 2022-11-30 20:15:56 -0600 |
commit | 0f3173734ff2134dc3c98d06a80c326437ab57e5 (patch) | |
tree | 2b82961d7d621a00c14ff8f6abb62077775578bf | |
parent | d7a12a575f3e56f98f0084988ea442028f2e519c (diff) | |
download | spdx-tools-0f3173734ff2134dc3c98d06a80c326437ab57e5.tar.gz |
Update 2.2 RDF parsers to support all algorithms
Signed-off-by: Adolfo García Veytia (Puerco) <puerco@chainguard.dev>
-rw-r--r-- | rdfloader/parser2v2/parse_file.go | 10 | ||||
-rw-r--r-- | rdfloader/parser2v2/parse_package.go | 16 |
2 files changed, 22 insertions, 4 deletions
diff --git a/rdfloader/parser2v2/parse_file.go b/rdfloader/parser2v2/parse_file.go index e807667..d5a19ef 100644 --- a/rdfloader/parser2v2/parse_file.go +++ b/rdfloader/parser2v2/parse_file.go @@ -135,7 +135,15 @@ func (parser *rdfParser2_2) setFileChecksumFromNode(file *v2_2.File, checksumNod file.Checksums = []common.Checksum{} } switch checksumAlgorithm { - case common.MD5, common.SHA1, common.SHA256: + case common.SHA1, + common.SHA224, + common.SHA256, + common.SHA384, + common.SHA512, + common.MD2, + common.MD4, + common.MD5, + common.MD6: file.Checksums = append(file.Checksums, common.Checksum{Algorithm: checksumAlgorithm, Value: checksumValue}) case "": return fmt.Errorf("empty checksum algorithm and value") diff --git a/rdfloader/parser2v2/parse_package.go b/rdfloader/parser2v2/parse_package.go index eff2e0f..e6d9f60 100644 --- a/rdfloader/parser2v2/parse_package.go +++ b/rdfloader/parser2v2/parse_package.go @@ -237,7 +237,8 @@ func (parser *rdfParser2_2) setFileToPackage(pkg *v2_2.Package, file *v2_2.File) // given a supplierObject, sets the PackageSupplier attribute of the pkg. // Args: -// value: [NOASSERTION | [Person | Organization]: string] +// +// value: [NOASSERTION | [Person | Organization]: string] func setPackageSupplier(pkg *v2_2.Package, value string) error { value = strings.TrimSpace(value) supplier := &common.Supplier{} @@ -266,7 +267,8 @@ func setPackageSupplier(pkg *v2_2.Package, value string) error { // given a OriginatorObject, sets the PackageOriginator attribute of the pkg. // Args: -// value: [NOASSERTION | [Person | Organization]: string] +// +// value: [NOASSERTION | [Person | Organization]: string] func setPackageOriginator(pkg *v2_2.Package, value string) error { value = strings.TrimSpace(value) originator := &common.Originator{} @@ -326,7 +328,15 @@ func (parser *rdfParser2_2) setPackageChecksum(pkg *v2_2.Package, node *gordfPar pkg.PackageChecksums = make([]common.Checksum, 0, 1) } switch checksumAlgorithm { - case common.MD5, common.SHA1, common.SHA256: + case common.SHA1, + common.SHA224, + common.SHA256, + common.SHA384, + common.SHA512, + common.MD2, + common.MD4, + common.MD5, + common.MD6: pkg.PackageChecksums = append(pkg.PackageChecksums, common.Checksum{Algorithm: checksumAlgorithm, Value: checksumValue}) default: return fmt.Errorf("unknown checksumAlgorithm %s while parsing a package", checksumAlgorithm) |