From 677de37f987f89f80b5bb486dcc203bd6b8933a4 Mon Sep 17 00:00:00 2001 From: tuxuser <462620+tuxuser@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:40:55 +0200 Subject: [PATCH] cleanup: Manual clippy fixes --- gamestreaming_native/src/packets/audio.rs | 4 ++-- .../src/packets/mux_dct_channel.rs | 2 +- pcap_parser/src/main.rs | 12 +++++------- smartglass/src/client.rs | 4 ++-- teredo/src/lib.rs | 4 ++-- xal/src/models.rs | 18 +++++++++++++++++- xal/src/request_signer.rs | 3 ++- 7 files changed, 31 insertions(+), 16 deletions(-) diff --git a/gamestreaming_native/src/packets/audio.rs b/gamestreaming_native/src/packets/audio.rs index 967f652..11a9b94 100644 --- a/gamestreaming_native/src/packets/audio.rs +++ b/gamestreaming_native/src/packets/audio.rs @@ -9,8 +9,8 @@ pub enum AudioPacketType { #[derive(Debug, Clone, PartialEq, Eq)] pub enum AudioCodec { Opus = 0, - PCM = 1, - AAC = 2, + Pcm = 1, + Aac = 2, } bitflags! { diff --git a/gamestreaming_native/src/packets/mux_dct_channel.rs b/gamestreaming_native/src/packets/mux_dct_channel.rs index b05dbe6..865c2b6 100644 --- a/gamestreaming_native/src/packets/mux_dct_channel.rs +++ b/gamestreaming_native/src/packets/mux_dct_channel.rs @@ -26,7 +26,7 @@ pub enum ChannelType { QoS, } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, Eq, PartialEq)] pub enum ChannelPacket { Audio(audio::AudioPacket), Video(video::VideoPacket), diff --git a/pcap_parser/src/main.rs b/pcap_parser/src/main.rs index f165dd2..a937f59 100644 --- a/pcap_parser/src/main.rs +++ b/pcap_parser/src/main.rs @@ -53,7 +53,7 @@ impl PcapParser { if stun::message::is_message(payload) { let mut stun_msg = stun::message::Message::new(); stun_msg.raw = payload.to_vec(); - if let Ok(_) = stun_msg.decode() { + if stun_msg.decode().is_ok() { println!("STUN Packet: {}", stun_msg); } else { println!("Malformed STUN packet"); @@ -211,7 +211,6 @@ fn main() { } else { let dummy_key = "RdHzuLLVGuO1aHILIEVJ1UzR7RWVioepmpy+9SRf"; crypto::MsSrtpCryptoContext::from_base64(dummy_key) - .ok() .expect("Failed to init dummy crypto context") } }; @@ -256,10 +255,10 @@ fn main() { let mut plaintext_eth_data: Vec = vec![]; plaintext_eth_data - .write(&pcap_packet.data[..datasize_until_ciphertext]) + .write_all(&pcap_packet.data[..datasize_until_ciphertext]) .expect("Failed to write packet data until ciphertext"); plaintext_eth_data - .write(&plaintext) + .write_all(&plaintext) .expect("Failed to write decrypted ciphertext portion"); // Save decrypted RTP packet to pcap out @@ -275,9 +274,8 @@ fn main() { } } else { // Write non-RTP packet as-is - match pcap_out_handle.as_mut() { - Some(savefile) => savefile.write(&pcap_packet), - None => {} + if let Some(savefile) = pcap_out_handle.as_mut() { + savefile.write(&pcap_packet) } } } diff --git a/smartglass/src/client.rs b/smartglass/src/client.rs index c23b02f..545ab14 100644 --- a/smartglass/src/client.rs +++ b/smartglass/src/client.rs @@ -34,13 +34,13 @@ impl SmartglassClient { let client_builder = reqwest::ClientBuilder::new(); let client = client_builder .user_agent( - user_agent.unwrap_or("Xbox/2008.0915.0311 CFNetwork/1197 Darwin/20.0.0".to_owned()), + user_agent.unwrap_or_else(||"Xbox/2008.0915.0311 CFNetwork/1197 Darwin/20.0.0".to_owned()), ) .default_headers(headers) .build()?; Ok(Self { - session_id: session_id.unwrap_or(uuid::Uuid::new_v4()), + session_id: session_id.unwrap_or_else(uuid::Uuid::new_v4), request_signer: request_signer::RequestSigner::default(), ms_cv: CorrelationVector::default(), client, diff --git a/teredo/src/lib.rs b/teredo/src/lib.rs index 8dc08d9..b86dfb2 100644 --- a/teredo/src/lib.rs +++ b/teredo/src/lib.rs @@ -136,8 +136,8 @@ mod test { let ipv6 = Ipv6Addr::from_str("2001:0:338c:24f4:43b:30e3:d2f3:c93d").unwrap(); let ipv6_not_teredo = Ipv6Addr::from_str("2019:0:338c:24f4:43b:30e3:d2f3:c93d").unwrap(); - assert_eq!(ipv6.is_teredo(), true); - assert_eq!(ipv6_not_teredo.is_teredo(), false); + assert!(ipv6.is_teredo()); + assert!(!ipv6_not_teredo.is_teredo()); } #[test] diff --git a/xal/src/models.rs b/xal/src/models.rs index ba95563..80a7899 100644 --- a/xal/src/models.rs +++ b/xal/src/models.rs @@ -1,20 +1,36 @@ use serde::{Deserialize, Serialize}; use std::collections::HashMap; -use std::convert::Into; +use std::convert::From; #[derive(Debug, Serialize, Deserialize, Copy, Clone)] pub enum DeviceType { + UNKNOWN, IOS, ANDROID, WIN32, } +impl From<&str> for DeviceType { + fn from(s: &str) -> Self { + match s.to_lowercase().as_ref() { + "android" => DeviceType::ANDROID, + "ios" => DeviceType::IOS, + "win32" => DeviceType::WIN32, + _ => DeviceType::UNKNOWN, + } + } +} + +#[allow(clippy::from_over_into)] impl<'a> Into<&'a str> for DeviceType { fn into(self) -> &'a str { match self { DeviceType::ANDROID => "Android", DeviceType::IOS => "iOS", DeviceType::WIN32 => "Win32", + DeviceType::UNKNOWN => { + panic!("DeviceType::UNKNOWN should nevert be constructed") + } } } } diff --git a/xal/src/request_signer.rs b/xal/src/request_signer.rs index df4c5dd..f48f49b 100644 --- a/xal/src/request_signer.rs +++ b/xal/src/request_signer.rs @@ -105,7 +105,7 @@ impl RequestSigner { let signature = self .sign( self.signing_policy.version, - timestamp.unwrap_or(Utc::now()), + timestamp.unwrap_or_else(Utc::now), to_sign, ) .expect("Signing request failed!"); @@ -175,6 +175,7 @@ impl RequestSigner { }) } + #[allow(clippy::too_many_arguments)] fn assemble_message_data( &self, signing_policy_version: &[u8],