diff --git a/src/bin/dosh-client.rs b/src/bin/dosh-client.rs index 4dcf0ce..4ed2a22 100644 --- a/src/bin/dosh-client.rs +++ b/src/bin/dosh-client.rs @@ -2501,7 +2501,6 @@ fn download_file( let mut file = if offset > 0 { let file = fs::OpenOptions::new() .read(true) - .write(true) .append(true) .open(local) .with_context(|| format!("open {}", local.display()))?; diff --git a/src/bin/dosh-server.rs b/src/bin/dosh-server.rs index 740f588..6de20ea 100644 --- a/src/bin/dosh-server.rs +++ b/src/bin/dosh-server.rs @@ -1743,10 +1743,10 @@ async fn handle_detach(state: &Arc>, packet: &protocol::Packe let (key, _) = find_client_decrypt_key(state, &packet.header)?; let _ = protocol::decrypt_body(packet, &key, CLIENT_TO_SERVER)?; let mut locked = state.lock().expect("server state poisoned"); - if let Some(client) = locked.client_mut(&packet.header.conn_id) { - if !client.replay.accept(packet.header.seq) { - return Ok(()); - } + if let Some(client) = locked.client_mut(&packet.header.conn_id) + && !client.replay.accept(packet.header.seq) + { + return Ok(()); } locked.remove_client_everywhere(&packet.header.conn_id); Ok(()) @@ -2681,7 +2681,6 @@ async fn handle_file_request( let (file, temp_path, written, atomic) = if resume && final_path.exists() { let mut file = fs::OpenOptions::new() .read(true) - .write(true) .append(true) .open(&final_path) .with_context(|| format!("open {}", final_path.display()))?;