From c4fc6dbff087474003845726066d56c48c5236ff Mon Sep 17 00:00:00 2001 From: Ionut Mihalcea Date: Fri, 29 Nov 2024 22:13:05 +0000 Subject: [PATCH] Fix clippy warnings Signed-off-by: Ionut Mihalcea --- .github/workflows/ci.yml | 3 +- tss-esapi/src/constants/mod.rs | 4 +- tss-esapi/src/ffi.rs | 2 +- tss-esapi/src/handles/mod.rs | 7 +- .../src/interface_types/reserved_handles.rs | 78 ++++++------- tss-esapi/src/structures/mod.rs | 109 +++++++++--------- tss-esapi/src/structures/nv/mod.rs | 4 +- tss-esapi/tests/valgrind.sh | 7 +- 8 files changed, 107 insertions(+), 107 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1de026f4..a9ce2700 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,6 +88,7 @@ jobs: - name: Run the tests run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi --security-opt seccomp=unconfined fedoracontainer dbus-run-session -- /tmp/rust-tss-esapi/tss-esapi/tests/all-fedora.sh + # SEE #558 : remove use of 1.82 once 1.84 rolls out; tests-valgrind: name: Valgrind test run runs-on: ubuntu-latest @@ -96,7 +97,7 @@ jobs: - name: Build the container run: docker build -t ubuntucontainer tss-esapi/tests/ --file tss-esapi/tests/Dockerfile-ubuntu --target tpm2-tools - name: Run the tests - run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/valgrind.sh + run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi -e RUST_TOOLCHAIN_VERSION="1.82" ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/valgrind.sh # Check that the documentation builds as well. docs: diff --git a/tss-esapi/src/constants/mod.rs b/tss-esapi/src/constants/mod.rs index 99883916..f1ada1a7 100644 --- a/tss-esapi/src/constants/mod.rs +++ b/tss-esapi/src/constants/mod.rs @@ -1,8 +1,8 @@ // Copyright 2020 Contributors to the Parsec project. // SPDX-License-Identifier: Apache-2.0 -/// This module contains both the constants defined in the TSS specification (tss module) -/// but also the internal representation of the TSS constants. +//! This module contains both the constants defined in the TSS specification (tss module) +//! but also the internal representation of the TSS constants. /// Representation of the constants defined in the /// Constants -> TPM_ALG_ID section of the specification diff --git a/tss-esapi/src/ffi.rs b/tss-esapi/src/ffi.rs index 2fbbe314..7812336e 100644 --- a/tss-esapi/src/ffi.rs +++ b/tss-esapi/src/ffi.rs @@ -38,7 +38,7 @@ where /// The owned bytes in the form of a `Vec` object. pub fn to_owned_bytes(ffi_bytes_ptr: *mut u8, size: usize) -> Vec { let ffi_bytes = unsafe { Malloced::<[u8]>::slice_from_raw_parts(ffi_bytes_ptr, size) }; - return Vec::::from(ffi_bytes.as_ref()); + Vec::::from(ffi_bytes.as_ref()) } /// Type used for handling `size_t` variables diff --git a/tss-esapi/src/handles/mod.rs b/tss-esapi/src/handles/mod.rs index 3d6daf53..e2bc865f 100644 --- a/tss-esapi/src/handles/mod.rs +++ b/tss-esapi/src/handles/mod.rs @@ -4,10 +4,9 @@ /// Module that contains the different types of handles /// that the ESAPI and the TPM uses in order to provide /// access to objects that was or has been created. - -///////////////////////////////////////////////////////// -/// ESYS Handles -///////////////////////////////////////////////////////// +// /////////////////////////////////////////////////////// +// ESYS Handles +// ////////////////////////////////////////////////////// pub use handle::auth::AuthHandle; pub use handle::key::KeyHandle; pub use handle::nv_index::NvIndexHandle; diff --git a/tss-esapi/src/interface_types/reserved_handles.rs b/tss-esapi/src/interface_types/reserved_handles.rs index 45c31363..a00570d2 100644 --- a/tss-esapi/src/interface_types/reserved_handles.rs +++ b/tss-esapi/src/interface_types/reserved_handles.rs @@ -8,11 +8,9 @@ use crate::{ Error, Result, WrapperErrorKind, }; use std::convert::TryFrom; -////////////////////////////////////////////////////////////////////////////////// /// Hierarchy /// /// Enum describing the object hierarchies in a TPM 2.0. -////////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum Hierarchy { Owner, @@ -74,9 +72,9 @@ impl TryFrom for Hierarchy { } } -////////////////////////////////////////////////////////////////////////////////// -/// Enables -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Enables +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Enables { Owner, @@ -143,9 +141,9 @@ impl TryFrom for Enables { } } -////////////////////////////////////////////////////////////////////////////////// -/// HierarchyAuth -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// HierarchyAuth +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum HierarchyAuth { Owner, @@ -206,13 +204,13 @@ impl TryFrom for HierarchyAuth { } } } -////////////////////////////////////////////////////////////////////////////////// -/// TODO: HierarchyPolicy -////////////////////////////////////////////////////////////////////////////////// +// /////////////////////////////////////////////////////////////////////////////// +// TODO: HierarchyPolicy +// /////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////// -/// Platform -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Platform +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Platform { Platform, @@ -234,9 +232,9 @@ impl TryFrom for Platform { } } } -////////////////////////////////////////////////////////////////////////////////// -/// Owner -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Owner +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Owner { Owner, @@ -263,9 +261,9 @@ impl TryFrom for Owner { } } } -////////////////////////////////////////////////////////////////////////////////// -/// Endorsement -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Endorsement +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Endorsement { Endorsement, @@ -292,9 +290,9 @@ impl TryFrom for Endorsement { } } } -////////////////////////////////////////////////////////////////////////////////// -/// Provision -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Provision +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Provision { Owner, @@ -321,9 +319,9 @@ impl TryFrom for Provision { } } } -////////////////////////////////////////////////////////////////////////////////// -/// Clear -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Clear +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Clear { Owner, @@ -350,9 +348,9 @@ impl TryFrom for Clear { } } } -////////////////////////////////////////////////////////////////////////////////// -/// NvAuth -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// NvAuth +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum NvAuth { Platform, @@ -381,9 +379,9 @@ impl TryFrom for NvAuth { } } } -////////////////////////////////////////////////////////////////////////////////// -/// Lockout -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// Lockout +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Lockout { Lockout, @@ -406,9 +404,9 @@ impl TryFrom for Lockout { } } -////////////////////////////////////////////////////////////////////////////////// -/// NvIndex -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// NvIndex +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum NvIndex { NvIndex(NvIndexTpmHandle), @@ -428,9 +426,9 @@ impl From for NvIndexTpmHandle { } } -////////////////////////////////////////////////////////////////////////////////// -/// AttachedComponent -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// +// AttachedComponent +// //////////////////////////////////////////////////////////////////////////////// #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum AttachedComponent { AttachedComponent(AttachedComponentTpmHandle), @@ -450,8 +448,8 @@ impl From for AttachedComponentTpmHandle { } } -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// // Act (authenticated timers) // // TODO: Figure out how to implement this. This is some kind of counter. -////////////////////////////////////////////////////////////////////////////////// +// //////////////////////////////////////////////////////////////////////////////// diff --git a/tss-esapi/src/structures/mod.rs b/tss-esapi/src/structures/mod.rs index 734f3bd5..407d8ad6 100644 --- a/tss-esapi/src/structures/mod.rs +++ b/tss-esapi/src/structures/mod.rs @@ -13,26 +13,25 @@ /// Published /// /// Chapter 10: Structure Definitions - -///////////////////////////////////////////////////////// -/// The capability data section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The capability data section +// ////////////////////////////////////////////////////// mod capability_data; pub use self::capability_data::CapabilityData; -///////////////////////////////////////////////////////// -/// The names section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The names section +// ////////////////////////////////////////////////////// mod names; pub use names::name::Name; -///////////////////////////////////////////////////////// -/// The result section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The result section +// ////////////////////////////////////////////////////// mod result; pub use result::CreateKeyResult; pub use result::CreatePrimaryKeyResult; -///////////////////////////////////////////////////////// -/// The sized buffers section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The sized buffers section +// ////////////////////////////////////////////////////// mod buffers; pub use self::buffers::{ attest::AttestBuffer, auth::Auth, data::Data, digest::Digest, ecc_parameter::EccParameter, @@ -43,19 +42,19 @@ pub use self::buffers::{ sensitive_create::SensitiveCreateBuffer, sensitive_data::SensitiveData, symmetric_key::SymmetricKey, timeout::Timeout, tpm_context_data::TpmContextData, }; -///////////////////////////////////////////////////////// -/// The creation section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The creation section +// ////////////////////////////////////////////////////// mod creation; pub use self::creation::CreationData; -///////////////////////////////////////////////////////// -/// The hash section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The hash section +// ////////////////////////////////////////////////////// mod hash; pub use self::hash::agile::HashAgile; -///////////////////////////////////////////////////////// -/// The pcr section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The pcr section +// ////////////////////////////////////////////////////// mod pcr; pub use self::pcr_slot::PcrSlot; @@ -77,9 +76,9 @@ pub use self::pcr_select_size::PcrSelectSize; pub mod pcr_select_size { pub use super::pcr::select_size::*; } -///////////////////////////////////////////////////////// -/// The lists section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The lists section +// ////////////////////////////////////////////////////// mod lists; pub use self::digest_list::DigestList; pub mod digest_list { @@ -133,14 +132,14 @@ pub mod command_code_attributes_list { } pub(crate) use pcr::slot_collection::PcrSlotCollection; -///////////////////////////////////////////////////////// -/// The parameters section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The parameters section +// ////////////////////////////////////////////////////// mod parameters; pub use self::parameters::SymmetricCipherParameters; -///////////////////////////////////////////////////////// -/// The tickets section -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// The tickets section +// ////////////////////////////////////////////////////// mod tickets; pub use tickets::AuthTicket; pub use tickets::CreationTicket; @@ -168,19 +167,19 @@ pub use tagged::{ signature::Signature, symmetric::{SymmetricDefinition, SymmetricDefinitionObject}, }; -///////////////////////////////////////////////////////// -/// ECC structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// ECC structures +// ////////////////////////////////////////////////////// mod ecc; pub use ecc::point::EccPoint; -///////////////////////////////////////////////////////// -/// Signatures structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// Signatures structures +// ////////////////////////////////////////////////////// mod signatures; pub use signatures::{EccSignature, RsaSignature}; -///////////////////////////////////////////////////////// -/// Attestation Structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// Attestation Structures +// ////////////////////////////////////////////////////// mod attestation; pub use attestation::{ attest::Attest, attest_info::AttestInfo, certify_info::CertifyInfo, @@ -188,32 +187,32 @@ pub use attestation::{ nv_certify_info::NvCertifyInfo, nv_digest_certify_info::NvDigestCertifyInfo, quote_info::QuoteInfo, session_audit_info::SessionAuditInfo, time_attest_info::TimeAttestInfo, }; -///////////////////////////////////////////////////////// -/// Clock/Time Structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// Clock/Time Structures +// ////////////////////////////////////////////////////// mod clock; pub use clock::{clock_info::ClockInfo, time_info::TimeInfo}; -///////////////////////////////////////////////////////// -/// Property Structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// Property Structures +// ////////////////////////////////////////////////////// mod property; pub use property::{ algorithm_property::AlgorithmProperty, tagged_pcr_select::TaggedPcrSelect, tagged_property::TaggedProperty, }; -///////////////////////////////////////////////////////// -/// NV structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// NV structures +// ////////////////////////////////////////////////////// mod nv; pub use nv::storage::{NvPublic, NvPublicBuilder}; -///////////////////////////////////////////////////////// -/// Algorithm Structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// Algorithm Structures +// ////////////////////////////////////////////////////// mod algorithm; pub use algorithm::symmetric::sensitive_create::SensitiveCreate; -///////////////////////////////////////////////////////// -/// TPM context structures -///////////////////////////////////////////////////////// +// ////////////////////////////////////////////////////// +// TPM context structures +// ////////////////////////////////////////////////////// mod tpm_context; pub use tpm_context::SavedTpmContext; diff --git a/tss-esapi/src/structures/nv/mod.rs b/tss-esapi/src/structures/nv/mod.rs index d5bf6ba1..940537d8 100644 --- a/tss-esapi/src/structures/nv/mod.rs +++ b/tss-esapi/src/structures/nv/mod.rs @@ -1,8 +1,8 @@ // Copyright 2020 Contributors to the Parsec project. // SPDX-License-Identifier: Apache-2.0 -/// This module contains code that deals with the non volatile -/// parts of the tpm. +//! This module contains code that deals with the non volatile +//! parts of the tpm. /// Non volatile storage module. pub mod storage; diff --git a/tss-esapi/tests/valgrind.sh b/tss-esapi/tests/valgrind.sh index d8034d9a..8775510b 100755 --- a/tss-esapi/tests/valgrind.sh +++ b/tss-esapi/tests/valgrind.sh @@ -8,6 +8,10 @@ set -euf -o pipefail +if [[ ! -z ${RUST_TOOLCHAIN_VERSION:+x} ]]; then + rustup override set ${RUST_TOOLCHAIN_VERSION} +fi + ################################# # Run the TPM simulation server # ################################# @@ -18,11 +22,10 @@ tpm2_startup -c -T mssim ########################## # Install cargo-valgrind # ########################## -apt update apt install -y valgrind cargo install cargo-valgrind ################# # Run the tests # ################# -TEST_TCTI=mssim: RUST_BACKTRACE=1 RUST_LOG=info cargo valgrind test --features "integration-tests serde" -- --test-threads=1 --nocapture +TEST_TCTI=mssim: RUST_BACKTRACE=1 RUST_LOG=info cargo valgrind test -- --test-threads=1 --nocapture