diff options
author | metamuffin <metamuffin@disroot.org> | 2024-03-18 10:46:39 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-03-18 10:46:39 +0100 |
commit | 7d410d53274fdd6840261c286bc2785222256436 (patch) | |
tree | 807ac6f960f4c8c9d026111311ec8d8490002157 | |
parent | 0825cb66e63a0af09f0c0945542d412091010f73 (diff) | |
download | keks-meet-7d410d53274fdd6840261c286bc2785222256436.tar keks-meet-7d410d53274fdd6840261c286bc2785222256436.tar.bz2 keks-meet-7d410d53274fdd6840261c286bc2785222256436.tar.zst |
clippy
-rw-r--r-- | client-native-gui/src/main.rs | 26 | ||||
-rw-r--r-- | client-native-lib/src/crypto.rs | 4 | ||||
-rw-r--r-- | client-native-lib/src/instance.rs | 12 | ||||
-rw-r--r-- | client-native-rift/src/file.rs | 6 | ||||
-rw-r--r-- | client-native-rift/src/main.rs | 2 | ||||
-rw-r--r-- | server/src/assets.rs | 4 | ||||
-rw-r--r-- | server/src/idgen.rs | 9 | ||||
-rw-r--r-- | server/src/logic.rs | 5 | ||||
-rw-r--r-- | server/src/main.rs | 8 |
9 files changed, 31 insertions, 45 deletions
diff --git a/client-native-gui/src/main.rs b/client-native-gui/src/main.rs index 13aa9ae..095fa5e 100644 --- a/client-native-gui/src/main.rs +++ b/client-native-gui/src/main.rs @@ -10,6 +10,8 @@ use anyhow::bail; use async_std::task::block_on; use chat::Chat; use clap::Parser; +use crossbeam_channel::Sender; +use egui::{ScrollArea, Ui, Visuals}; use libkeks::{ instance::Instance, peer::Peer, @@ -24,9 +26,6 @@ use libkeks::{ }, Config, EventHandler, }; -use crossbeam_channel::Sender; -use eframe::egui; -use egui::{ScrollArea, Ui, Visuals}; use log::{debug, error, warn}; use std::{ collections::{HashMap, VecDeque}, @@ -158,7 +157,7 @@ impl eframe::App for App { impl Inroom { pub async fn new(config: Config, secret: &str) -> Self { - let handler = Arc::new(Handler::new()); + let handler = Arc::new(Handler::default()); let instance = Instance::new(config, handler.clone()).await; instance.spawn_ping().await; { @@ -244,8 +243,8 @@ impl GuiResource { } } -impl Handler { - pub fn new() -> Self { +impl Default for Handler { + fn default() -> Self { Self { k: RwLock::new(None), peers: Default::default(), @@ -262,10 +261,7 @@ impl GuiPeer { } impl EventHandler for Handler { - fn peer_join( - &self, - peer: std::sync::Arc<libkeks::peer::Peer>, - ) -> libkeks::DynFut<()> { + fn peer_join(&self, peer: std::sync::Arc<libkeks::peer::Peer>) -> libkeks::DynFut<()> { self.peers.write().unwrap().insert( peer.id, Arc::new(RwLock::new(GuiPeer { @@ -277,10 +273,7 @@ impl EventHandler for Handler { Box::pin(async move {}) } - fn peer_leave( - &self, - peer: std::sync::Arc<libkeks::peer::Peer>, - ) -> libkeks::DynFut<()> { + fn peer_leave(&self, peer: std::sync::Arc<libkeks::peer::Peer>) -> libkeks::DynFut<()> { self.peers.write().unwrap().remove(&peer.id); Box::pin(async move {}) } @@ -411,6 +404,7 @@ pub fn play(peer: Arc<Peer>, track: Arc<TrackRemote>) { debug!("mpv open: {uri}"); state.clone() } + #[allow(clippy::boxed_local)] fn close(state: Box<State>) { let _ = state.1.send(()); debug!("mpv close"); @@ -488,7 +482,7 @@ async fn track_to_raw( if !packet.payload.is_empty() { let raw_payload = cached_packet.depacketize(&packet.payload)?; // let raw_payload = packet.payload; - if raw_payload.len() != 0 { + if raw_payload.is_empty() { debug!("writing {} bytes", raw_payload.len()); let mut target = target.write().unwrap(); @@ -508,7 +502,7 @@ async fn track_to_raw( if !packet.payload.is_empty() { let raw_payload = cached_packet.depacketize(&packet.payload)?; // let raw_payload = packet.payload; - if raw_payload.len() != 0 { + if raw_payload.is_empty() { debug!("writing {} bytes", raw_payload.len()); let mut target = target.write().unwrap(); diff --git a/client-native-lib/src/crypto.rs b/client-native-lib/src/crypto.rs index ad36e02..2005d8b 100644 --- a/client-native-lib/src/crypto.rs +++ b/client-native-lib/src/crypto.rs @@ -12,8 +12,8 @@ use log::info; pub struct Key(Aes256Gcm); -const CRYPTO_SALT: &'static str = "keksmeet/cryptosaltAAA=="; -const HASH_SALT: &'static str = "keksmeet/roomhashsaltA=="; +const CRYPTO_SALT: &str = "keksmeet/cryptosaltAAA=="; +const HASH_SALT: &str = "keksmeet/roomhashsaltA=="; impl Key { pub fn derive(secret: &str) -> Self { diff --git a/client-native-lib/src/instance.rs b/client-native-lib/src/instance.rs index 517d979..899e48c 100644 --- a/client-native-lib/src/instance.rs +++ b/client-native-lib/src/instance.rs @@ -46,9 +46,9 @@ impl Instance { pub async fn join(&self, secret: Option<&str>) { info!("join room {secret:?}"); - *self.key.write().await = secret.map(|secret| crypto::Key::derive(&secret)); + *self.key.write().await = secret.map(crypto::Key::derive); self.send_packet(ServerboundPacket::Join { - hash: secret.map(|secret| hash(secret)), + hash: secret.map(hash), }) .await; } @@ -104,11 +104,9 @@ impl Instance { protocol::ClientboundPacket::ClientLeave { id } => { if id == self.my_id().await { // we left - } else { - if let Some(peer) = self.peers.write().await.remove(&id) { - peer.on_leave().await; - self.event_handler.peer_leave(peer).await; - } + } else if let Some(peer) = self.peers.write().await.remove(&id) { + peer.on_leave().await; + self.event_handler.peer_leave(peer).await; } } protocol::ClientboundPacket::Message { sender, message } => { diff --git a/client-native-rift/src/file.rs b/client-native-rift/src/file.rs index 93dde62..a988595 100644 --- a/client-native-rift/src/file.rs +++ b/client-native-rift/src/file.rs @@ -126,11 +126,10 @@ impl RequestHandler for DownloadHandler { .label .clone() .unwrap_or("download".to_owned()) - .replace("/", "_") + .replace('/', "_") .replace("..", "_") .into() }); - if path.exists() {} Box::pin(async move { let pos = Arc::new(AtomicUsize::new(0)); let writer: Arc<RwLock<Option<Pin<Box<dyn AsyncWrite + Send + Sync>>>>> = @@ -178,9 +177,8 @@ impl RequestHandler for DownloadHandler { let writer = writer.clone(); let pos = pos.clone(); Box::pin(async move { - // TODO if mesg.is_string { - let s = String::from_utf8((&mesg.data).to_vec()).unwrap(); + let s = String::from_utf8(mesg.data.to_vec()).unwrap(); if &s == "end" { info!("transfer complete") } diff --git a/client-native-rift/src/main.rs b/client-native-rift/src/main.rs index fad4bb7..40b9aab 100644 --- a/client-native-rift/src/main.rs +++ b/client-native-rift/src/main.rs @@ -3,7 +3,7 @@ which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2023 metamuffin <metamuffin.org> */ - +#![allow(clippy::type_complexity)] pub mod file; pub mod port; diff --git a/server/src/assets.rs b/server/src/assets.rs index d4c1ded..4ddb3a5 100644 --- a/server/src/assets.rs +++ b/server/src/assets.rs @@ -63,9 +63,7 @@ struct GrassFs; #[cfg(debug_assertions)] impl GrassFs { pub fn map(p: &std::path::Path) -> std::path::PathBuf { - std::path::PathBuf::try_from("../client-web/style") - .unwrap() - .join(p.file_name().unwrap()) + std::path::PathBuf::from("../client-web/style").join(p.file_name().unwrap()) } } #[cfg(debug_assertions)] diff --git a/server/src/idgen.rs b/server/src/idgen.rs index 216b682..ac40b93 100644 --- a/server/src/idgen.rs +++ b/server/src/idgen.rs @@ -5,17 +5,10 @@ */ use tokio::sync::RwLock; +#[derive(Default)] pub struct IdGenerator { x: RwLock<u64>, } - -impl Default for IdGenerator { - fn default() -> Self { - Self { - x: Default::default(), - } - } -} impl IdGenerator { pub async fn generate(&self) -> u64 { // TODO: dummy implementation; ideal would be encrypting the counter diff --git a/server/src/logic.rs b/server/src/logic.rs index b16e605..b660914 100644 --- a/server/src/logic.rs +++ b/server/src/logic.rs @@ -17,6 +17,7 @@ use std::{ use tokio::sync::{mpsc::Sender, RwLock}; use warp::ws::WebSocket; +#[allow(clippy::redundant_closure)] static CLIENTS: LazyLock<RwLock<HashMap<Client, Sender<ClientboundPacket>>>> = LazyLock::new(|| Default::default()); @@ -141,7 +142,7 @@ impl State { let mut w = self.watches.write().await; let r = self.rooms.read().await; - for e in list.to_owned() { + for e in list.iter().cloned() { w.entry(e.to_string()).or_default().insert(client); if let Some(r) = r.get(&e) { client @@ -170,7 +171,7 @@ impl State { impl Client { pub async fn send(&self, packet: ClientboundPacket) { - if let Some(s) = CLIENTS.read().await.get(&self) { + if let Some(s) = CLIENTS.read().await.get(self) { s.send(packet).await.unwrap(); } else { warn!("invalid recipient {self:?}") diff --git a/server/src/main.rs b/server/src/main.rs index 306aa98..56566db 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -4,6 +4,7 @@ Copyright (C) 2023 metamuffin <metamuffin.org> */ #![feature(lazy_cell)] +#![allow(clippy::let_with_type_underscore)] pub mod assets; pub mod config; pub mod idgen; @@ -137,9 +138,12 @@ async fn run() { async fn handle_rejection(err: Rejection) -> Result<impl Reply, Infallible> { let code = if err.is_not_found() { StatusCode::NOT_FOUND - } else if let Some(_) = err.find::<warp::filters::body::BodyDeserializeError>() { + } else if err + .find::<warp::filters::body::BodyDeserializeError>() + .is_some() + { StatusCode::BAD_REQUEST - } else if let Some(_) = err.find::<warp::reject::MethodNotAllowed>() { + } else if err.find::<warp::reject::MethodNotAllowed>().is_some() { StatusCode::METHOD_NOT_ALLOWED } else { error!("unhandled rejection: {:?}", err); |