diff --git a/Cargo.toml b/Cargo.toml index 63b39996..1f33123f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "libcryptsetup-rs" version = "0.16.1" authors = ["John Baublitz "] -edition = "2021" +edition = "2024" rust-version = "1.87.0" # LOWEST SUPPORTED RUST TOOLCHAIN description = "High level Rust bindings for libcryptsetup" license = "MPL-2.0" diff --git a/Makefile b/Makefile index 22075e14..96ff8df8 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,7 @@ release: cargo build --release test: - RUST_BACKTRACE=1 cargo test -- --skip test_mutex_poisoning_panic + RUST_BACKTRACE=1 RUST_TEST_THREADS=1 cargo test -- --skip test_mutex_poisoning_panic test-mutex: RUST_BACKTRACE=1 cargo test --features=mutex -- --skip test_mutex_poisoning_panic diff --git a/examples/cryptsetup-luks2.rs b/examples/cryptsetup-luks2.rs index f71fceea..9196406f 100644 --- a/examples/cryptsetup-luks2.rs +++ b/examples/cryptsetup-luks2.rs @@ -9,11 +9,11 @@ use std::{ }; use libcryptsetup_rs::{ + CryptInit, LibcryptErr, consts::{ flags::{CryptActivate, CryptDeactivate, CryptVolumeKey}, vals::EncryptionFormat, }, - CryptInit, LibcryptErr, }; enum CryptCommand { @@ -33,7 +33,7 @@ fn parse_args() -> Result { None => { return Err(LibcryptErr::Other( "Device path for device to be encrypted is required".to_string(), - )) + )); } }); if dev.exists() { @@ -50,7 +50,7 @@ fn parse_args() -> Result { None => { return Err(LibcryptErr::Other( "Device path for device to be opened is required".to_string(), - )) + )); } }); if !dev.exists() { @@ -69,7 +69,7 @@ fn parse_args() -> Result { None => { return Err(LibcryptErr::Other( "Device path for device to be closed is required".to_string(), - )) + )); } }); if !dev.exists() { diff --git a/examples/format-luks2-with-token.rs b/examples/format-luks2-with-token.rs index 26a03347..3b48b106 100644 --- a/examples/format-luks2-with-token.rs +++ b/examples/format-luks2-with-token.rs @@ -4,9 +4,8 @@ use std::{ }; use libcryptsetup_rs::{ - c_uint, + CryptInit, LibcryptErr, TokenInput, c_uint, consts::{flags::CryptVolumeKey, vals::EncryptionFormat}, - CryptInit, LibcryptErr, TokenInput, }; #[macro_use] diff --git a/examples/label_and_uuid.rs b/examples/label_and_uuid.rs index b23652ea..8a15bb92 100644 --- a/examples/label_and_uuid.rs +++ b/examples/label_and_uuid.rs @@ -1,6 +1,6 @@ use std::{env::args, error::Error, path::Path}; -use libcryptsetup_rs::{consts::vals::EncryptionFormat, CryptInit, LibcryptErr}; +use libcryptsetup_rs::{CryptInit, LibcryptErr, consts::vals::EncryptionFormat}; use uuid::Uuid; fn main() -> Result<(), Box> { diff --git a/examples/unlock-luks2-with-token.rs b/examples/unlock-luks2-with-token.rs index dc1cf2c6..20904c93 100644 --- a/examples/unlock-luks2-with-token.rs +++ b/examples/unlock-luks2-with-token.rs @@ -6,8 +6,8 @@ use std::{ use libc::syscall; use libcryptsetup_rs::{ - consts::{flags::CryptActivate, vals::EncryptionFormat}, CryptInit, LibcryptErr, + consts::{flags::CryptActivate, vals::EncryptionFormat}, }; fn usage() -> &'static str { diff --git a/libcryptsetup-rs-sys/Cargo.toml b/libcryptsetup-rs-sys/Cargo.toml index 99b27a1d..1932d861 100644 --- a/libcryptsetup-rs-sys/Cargo.toml +++ b/libcryptsetup-rs-sys/Cargo.toml @@ -2,7 +2,7 @@ name = "libcryptsetup-rs-sys" version = "0.7.0" authors = ["John Baublitz "] -edition = "2021" +edition = "2024" rust-version = "1.87.0" # LOWEST SUPPORTED RUST TOOLCHAIN description = "Low level bindings for libcryptsetup" license = "MPL-2.0" diff --git a/src/format.rs b/src/format.rs index e1ca5259..6a251c90 100644 --- a/src/format.rs +++ b/src/format.rs @@ -3,7 +3,7 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use std::{ - ffi::{c_void, CString}, + ffi::{CString, c_void}, os::raw::c_uint, path::PathBuf, ptr, slice, diff --git a/src/lib.rs b/src/lib.rs index f5df7a5f..477d096a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -60,12 +60,12 @@ pub use crate::{ luks2::{ flags::CryptLuks2FlagsHandle, reencrypt::{CryptLuks2ReencryptHandle, CryptParamsReencrypt, CryptParamsReencryptRef}, - token::{register, CryptLuks2TokenHandle, CryptTokenInfo, TokenInput}, + token::{CryptLuks2TokenHandle, CryptTokenInfo, TokenInput, register}, }, mem::SafeMemHandle, runtime::{ActiveDevice, CryptRuntimeHandle}, settings::{CryptPbkdfType, CryptPbkdfTypeRef, CryptSettingsHandle}, - status::{get_sector_size, status, CryptDeviceStatusHandle}, + status::{CryptDeviceStatusHandle, get_sector_size, status}, wipe::CryptWipeHandle, }; diff --git a/src/luks2/reencrypt.rs b/src/luks2/reencrypt.rs index 47d5db86..08a07b63 100644 --- a/src/luks2/reencrypt.rs +++ b/src/luks2/reencrypt.rs @@ -8,7 +8,7 @@ use std::{ ptr, }; -use libcryptsetup_rs_sys::{crypt_params_reencrypt, CRYPT_ANY_SLOT}; +use libcryptsetup_rs_sys::{CRYPT_ANY_SLOT, crypt_params_reencrypt}; use crate::{ consts::{ diff --git a/src/macros.rs b/src/macros.rs index 5ec5f560..303bf113 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -67,11 +67,7 @@ macro_rules! try_int_to_return { macro_rules! ptr_to_option { ( $ptr:expr ) => {{ let p = $ptr; - if p.is_null() { - None - } else { - Some(p) - } + if p.is_null() { None } else { Some(p) } }}; } @@ -85,9 +81,7 @@ macro_rules! ptr_to_option_with_reference { /// Convert a pointer to an `Result` containing a pointer macro_rules! ptr_to_result { - ( $ptr:expr ) => {{ - ptr_to_option!($ptr).ok_or($crate::err::LibcryptErr::NullPtr) - }}; + ( $ptr:expr ) => {{ ptr_to_option!($ptr).ok_or($crate::err::LibcryptErr::NullPtr) }}; } /// Convert a pointer to a `Result` containing a reference diff --git a/src/tests/encrypt.rs b/src/tests/encrypt.rs index c492f6a4..bdb6c7c9 100644 --- a/src/tests/encrypt.rs +++ b/src/tests/encrypt.rs @@ -12,6 +12,7 @@ use std::{ }; use crate::{ + Either, consts::{ flags::{CryptActivate, CryptDeactivate, CryptKeyfile, CryptVolumeKey}, vals::EncryptionFormat, @@ -19,7 +20,6 @@ use crate::{ device::CryptInit, err::LibcryptErr, tests::loopback, - Either, }; use libc::c_uint; diff --git a/src/tests/keyfile.rs b/src/tests/keyfile.rs index 9123660b..00289cad 100644 --- a/src/tests/keyfile.rs +++ b/src/tests/keyfile.rs @@ -2,7 +2,7 @@ use std::{env, fs::File, io::Write, path::PathBuf}; use super::loopback; -use crate::{consts::flags::CryptKeyfile, CryptInit}; +use crate::{CryptInit, consts::flags::CryptKeyfile}; pub fn test_keyfile_cleanup() { loopback::use_loopback( diff --git a/src/tests/loopback.rs b/src/tests/loopback.rs index fa2a6cee..8f487430 100644 --- a/src/tests/loopback.rs +++ b/src/tests/loopback.rs @@ -4,7 +4,7 @@ use std::{ env, - fs::{remove_file, File}, + fs::{File, remove_file}, io::{self, Write}, panic::{self, RefUnwindSafe}, path::{Path, PathBuf}, diff --git a/src/tests/mod.rs b/src/tests/mod.rs index 99130607..c97e79a0 100644 --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -30,19 +30,19 @@ mod test { #[test] fn test_format_with_zeros() { - std::env::remove_var("FORMAT_WITH_ZEROS"); + unsafe { std::env::remove_var("FORMAT_WITH_ZEROS") }; assert!(format_with_zeros()); - std::env::set_var("FORMAT_WITH_ZEROS", "false"); + unsafe { std::env::set_var("FORMAT_WITH_ZEROS", "false") }; assert!(!format_with_zeros()); - std::env::remove_var("FORMAT_WITH_ZEROS"); + unsafe { std::env::remove_var("FORMAT_WITH_ZEROS") }; } #[test] fn test_do_cleanup() { - std::env::remove_var("DO_CLEANUP"); + unsafe { std::env::remove_var("DO_CLEANUP") }; assert!(do_cleanup()); - std::env::set_var("DO_CLEANUP", "false"); + unsafe { std::env::set_var("DO_CLEANUP", "false") }; assert!(!do_cleanup()); - std::env::remove_var("DO_CLEANUP"); + unsafe { std::env::remove_var("DO_CLEANUP") }; } } diff --git a/src/tests/reencrypt.rs b/src/tests/reencrypt.rs index 492a6871..2b324c59 100644 --- a/src/tests/reencrypt.rs +++ b/src/tests/reencrypt.rs @@ -3,6 +3,7 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use crate::{ + CryptParamsLuks2, CryptParamsReencrypt, Either, consts::{ flags::{CryptActivate, CryptDeactivate, CryptReencrypt, CryptVolumeKey}, vals::{CryptReencryptDirectionInfo, CryptReencryptModeInfo, EncryptionFormat}, @@ -10,7 +11,6 @@ use crate::{ device::CryptInit, get_sector_size, tests::loopback, - CryptParamsLuks2, CryptParamsReencrypt, Either, }; pub fn test_reencrypt_by_password() {