From 2db85a1e9c43fc0b33eb2812831e427c1f4b33b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=81=E6=A0=91=E4=BA=BA?= Date: Mon, 8 Sep 2025 20:35:09 +0900 Subject: [PATCH] fix: address clippy warnings --- um_cli/src/cmd/kgm.rs | 2 +- um_cli/src/cmd/mod.rs | 10 +++++----- um_cli/src/cmd/ncm.rs | 2 +- um_cli/src/cmd/qtfm.rs | 4 ++-- um_cli/src/main.rs | 18 +++++++++--------- um_crypto/joox/src/decrypt.rs | 2 +- um_crypto/kgm/src/header.rs | 6 +++--- um_crypto/kgm/src/v2.rs | 2 +- um_crypto/qmc/src/footer/pc_v1_legacy.rs | 2 +- um_crypto/qrc/src/des/{des.rs => des_impl.rs} | 0 um_crypto/qrc/src/des/mod.rs | 4 ++-- um_crypto/qtfm/src/secret.rs | 2 +- 12 files changed, 27 insertions(+), 27 deletions(-) rename um_crypto/qrc/src/des/{des.rs => des_impl.rs} (100%) diff --git a/um_cli/src/cmd/kgm.rs b/um_cli/src/cmd/kgm.rs index 1114188..48b3806 100644 --- a/um_cli/src/cmd/kgm.rs +++ b/um_cli/src/cmd/kgm.rs @@ -48,7 +48,7 @@ impl ArgsKGM { let mut file_input = File::open(&self.input)?; let mut header = [0u8; 0x40]; file_input.read_exact(&mut header)?; - let kgm_header = Header::from_buffer(&mut header)?; + let kgm_header = Header::from_buffer(header)?; let decipher = Decipher::new(&kgm_header)?; file_input.seek(SeekFrom::Start(kgm_header.offset_to_data as u64))?; diff --git a/um_cli/src/cmd/mod.rs b/um_cli/src/cmd/mod.rs index bdea98a..3f473cd 100644 --- a/um_cli/src/cmd/mod.rs +++ b/um_cli/src/cmd/mod.rs @@ -13,16 +13,16 @@ pub mod xmly; #[derive(Subcommand)] pub enum Commands { #[command(name = "ncm")] - NCM(ncm::ArgsNCM), + Ncm(ncm::ArgsNCM), #[command(name = "kgm")] - KGM(kgm::ArgsKGM), + Kgm(kgm::ArgsKGM), #[command(name = "mg3d")] Migu3D(mg3d::ArgsMigu3D), #[command(name = "joox")] - JOOX(joox::ArgsJoox), + Joox(joox::ArgsJoox), #[command(name = "qmc1")] QMCv1(qmc1::ArgsQMCv1), @@ -30,11 +30,11 @@ pub enum Commands { QMCv2(qmc2::ArgsQMCv2), #[command(name = "qtfm")] - QTFM(qtfm::ArgsQingTingFM), + QtFM(qtfm::ArgsQingTingFM), #[command(name = "xiami")] Xiami(xiami::ArgsXiami), #[command(name = "xmly")] - XMLY(xmly::ArgsXimalaya), + Xmly(xmly::ArgsXimalaya), } diff --git a/um_cli/src/cmd/ncm.rs b/um_cli/src/cmd/ncm.rs index 8b3a01a..4f2f8fe 100644 --- a/um_cli/src/cmd/ncm.rs +++ b/um_cli/src/cmd/ncm.rs @@ -48,7 +48,7 @@ impl ArgsNCM { fn write_cover(&self, cli: &Cli, ncm: &NCMFile) -> anyhow::Result<()> { if let Some(cover_path) = &self.cover { if let Some(cover) = &ncm.image1 { - File::create(cover_path)?.write_all(&cover)?; + File::create(cover_path)?.write_all(cover)?; if cli.verbose { let cover_path = cover_path.display(); let len = cover.len(); diff --git a/um_cli/src/cmd/qtfm.rs b/um_cli/src/cmd/qtfm.rs index 21d2ca2..a5242be 100644 --- a/um_cli/src/cmd/qtfm.rs +++ b/um_cli/src/cmd/qtfm.rs @@ -48,8 +48,8 @@ impl ArgsQingTingFM { let iv = make_decipher_iv(&file_name)?; if cli.verbose { eprintln!(" file_name: {}", file_name); - eprintln!("device_key: {}", hex::encode(&device_key)); - eprintln!(" file_iv: {}", hex::encode(&iv)); + eprintln!("device_key: {}", hex::encode(device_key)); + eprintln!(" file_iv: {}", hex::encode(iv)); } let decipher = Decipher::new(&device_key, &iv); diff --git a/um_cli/src/main.rs b/um_cli/src/main.rs index 6ca0f0d..b14f8b4 100644 --- a/um_cli/src/main.rs +++ b/um_cli/src/main.rs @@ -28,15 +28,15 @@ pub struct Cli { fn run_command(cli: &Cli) -> Result { match &cli.command { - Some(Commands::JOOX(cmd)) => cmd.run(&cli), - Some(Commands::KGM(cmd)) => cmd.run(&cli), - Some(Commands::Migu3D(cmd)) => cmd.run(&cli), - Some(Commands::NCM(cmd)) => cmd.run(&cli), - Some(Commands::QMCv1(cmd)) => cmd.run(&cli), - Some(Commands::QMCv2(cmd)) => cmd.run(&cli), - Some(Commands::QTFM(cmd)) => cmd.run(&cli), - Some(Commands::Xiami(cmd)) => cmd.run(&cli), - Some(Commands::XMLY(cmd)) => cmd.run(&cli), + Some(Commands::Joox(cmd)) => cmd.run(cli), + Some(Commands::Kgm(cmd)) => cmd.run(cli), + Some(Commands::Migu3D(cmd)) => cmd.run(cli), + Some(Commands::Ncm(cmd)) => cmd.run(cli), + Some(Commands::QMCv1(cmd)) => cmd.run(cli), + Some(Commands::QMCv2(cmd)) => cmd.run(cli), + Some(Commands::QtFM(cmd)) => cmd.run(cli), + Some(Commands::Xiami(cmd)) => cmd.run(cli), + Some(Commands::Xmly(cmd)) => cmd.run(cli), None => { // https://github.com/clap-rs/clap/issues/3857#issuecomment-1161796261 todo!("implement a sensible default command, similar to um/cli"); diff --git a/um_crypto/joox/src/decrypt.rs b/um_crypto/joox/src/decrypt.rs index dfa8cba..77fe550 100644 --- a/um_crypto/joox/src/decrypt.rs +++ b/um_crypto/joox/src/decrypt.rs @@ -23,7 +23,7 @@ impl JooxDecipher for Header { let (buffer, _) = buffer .split_at_mut_checked(buffer_size) - .ok_or_else(|| JooxError::OutputBufferTooSmall(buffer_size))?; + .ok_or(JooxError::OutputBufferTooSmall(buffer_size))?; let result = (&self.aes_engine) .decrypt_padded_mut::(buffer) diff --git a/um_crypto/kgm/src/header.rs b/um_crypto/kgm/src/header.rs index 0c77796..d267115 100644 --- a/um_crypto/kgm/src/header.rs +++ b/um_crypto/kgm/src/header.rs @@ -96,9 +96,9 @@ impl Header { } fn get_challenge_data(magic_header: &[u8; 0x10]) -> Result<[u8; 0x10], KugouError> { - match magic_header { - &KGM_HEADER => Ok(KGM_TEST_DATA), - &VPR_HEADER => Ok(VPR_TEST_DATA), + match *magic_header { + KGM_HEADER => Ok(KGM_TEST_DATA), + VPR_HEADER => Ok(VPR_TEST_DATA), _ => Err(KugouError::NotKGMFile)?, } } diff --git a/um_crypto/kgm/src/v2.rs b/um_crypto/kgm/src/v2.rs index 9cbc684..dc3fa59 100644 --- a/um_crypto/kgm/src/v2.rs +++ b/um_crypto/kgm/src/v2.rs @@ -9,7 +9,7 @@ pub struct DecipherV2 { impl DecipherV2 { pub fn new(header: &Header) -> Result { let mut key = [0u8; 4]; - key.copy_from_slice(get_slot_key(&header)?); + key.copy_from_slice(get_slot_key(header)?); Ok(Self { key }) } diff --git a/um_crypto/qmc/src/footer/pc_v1_legacy.rs b/um_crypto/qmc/src/footer/pc_v1_legacy.rs index e93d4d5..b142cb7 100644 --- a/um_crypto/qmc/src/footer/pc_v1_legacy.rs +++ b/um_crypto/qmc/src/footer/pc_v1_legacy.rs @@ -28,7 +28,7 @@ impl MetadataParser for PcV1Legacy { let ekey = payload .iter() .take_while(|&&b| b != 0) - .map(|&b| b) + .copied() .collect::>(); let ekey = String::from_utf8_lossy(ekey.as_slice()); if !is_base64(ekey.as_bytes()) { diff --git a/um_crypto/qrc/src/des/des.rs b/um_crypto/qrc/src/des/des_impl.rs similarity index 100% rename from um_crypto/qrc/src/des/des.rs rename to um_crypto/qrc/src/des/des_impl.rs diff --git a/um_crypto/qrc/src/des/mod.rs b/um_crypto/qrc/src/des/mod.rs index 231ab11..1dfbed6 100644 --- a/um_crypto/qrc/src/des/mod.rs +++ b/um_crypto/qrc/src/des/mod.rs @@ -1,5 +1,5 @@ mod constants; -mod des; +mod des_impl; mod utils; -pub use des::{DESMode, QrcDes}; +pub use des_impl::{DESMode, QrcDes}; diff --git a/um_crypto/qtfm/src/secret.rs b/um_crypto/qtfm/src/secret.rs index e64d569..700dba1 100644 --- a/um_crypto/qtfm/src/secret.rs +++ b/um_crypto/qtfm/src/secret.rs @@ -28,7 +28,7 @@ pub fn make_device_secret>( let device_id_hash_code_hex = device_id_hash_code_hex.as_bytes(); let mut device_key = [0u8; 0x10]; - device_key[..device_id_hash_code_hex.len()].copy_from_slice(&device_id_hash_code_hex); + device_key[..device_id_hash_code_hex.len()].copy_from_slice(device_id_hash_code_hex); for (key, salt) in device_key.iter_mut().zip(DEVICE_KEY_SALT) { *key = salt.wrapping_add(*key); }