aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdolfo García Veytia (Puerco) <puerco@chainguard.dev>2022-11-30 20:15:56 -0600
committerAdolfo García Veytia (Puerco) <puerco@chainguard.dev>2022-11-30 20:15:56 -0600
commit0f3173734ff2134dc3c98d06a80c326437ab57e5 (patch)
tree2b82961d7d621a00c14ff8f6abb62077775578bf
parentd7a12a575f3e56f98f0084988ea442028f2e519c (diff)
downloadspdx-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.go10
-rw-r--r--rdfloader/parser2v2/parse_package.go16
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)