From 4e8199b572f2035b7749cba276ece3a26630d23e Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:18:21 +0200 Subject: Adding upstream version 1.67.1+dfsg1. Signed-off-by: Daniel Baumann --- vendor/spdx-rs/src/models/checksum.rs | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vendor/spdx-rs/src/models/checksum.rs (limited to 'vendor/spdx-rs/src/models/checksum.rs') diff --git a/vendor/spdx-rs/src/models/checksum.rs b/vendor/spdx-rs/src/models/checksum.rs new file mode 100644 index 000000000..bd91f4c7a --- /dev/null +++ b/vendor/spdx-rs/src/models/checksum.rs @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: 2020-2021 HH Partners +// +// SPDX-License-Identifier: MIT + +use serde::{Deserialize, Serialize}; + +/// Representation of SPDX's +/// [Package Checksum](https://spdx.github.io/spdx-spec/3-package-information/#310-package-checksum) +/// and +/// [File Checksum](https://spdx.github.io/spdx-spec/4-file-information/#44-file-checksum). +/// According to the spec, SHA1 is mandatory but we don't currently enforce that. +#[derive(Debug, Serialize, Deserialize, PartialEq, PartialOrd, Clone)] +pub struct Checksum { + /// Algorithm used to calculate the checksum + pub algorithm: Algorithm, + + /// The checksum value. + #[serde(rename = "checksumValue")] + pub value: String, +} + +impl Checksum { + /// Create new checksum. + pub fn new(algorithm: Algorithm, value: &str) -> Self { + Self { + algorithm, + value: value.to_lowercase(), + } + } +} + +/// Possible algorithms to be used for SPDX's +/// [package checksum](https://spdx.github.io/spdx-spec/3-package-information/#310-package-checksum) +/// and [file checksum](https://spdx.github.io/spdx-spec/4-file-information/#44-file-checksum). +#[derive(Debug, Serialize, Deserialize, PartialEq, PartialOrd, Clone, Copy)] +pub enum Algorithm { + SHA1, + SHA224, + SHA256, + SHA384, + SHA512, + MD2, + MD4, + MD5, + MD6, +} -- cgit v1.2.3