From 231108f2c35491e4fefa8a3735e16fb0ba742294 Mon Sep 17 00:00:00 2001 From: Andrew Rioux Date: Wed, 6 Sep 2023 09:04:26 -0400 Subject: [PATCH] fix: swapped to just run the binary on the server moved away from `sh -c` --- .../sparse-05-client/src/commands/connect/shell.rs | 1 - sparse-05/sparse-05-server/src/connection/command.rs | 11 ++++++----- .../sparse-05-server/src/connection/upload_file.rs | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/sparse-05/sparse-05-client/src/commands/connect/shell.rs b/sparse-05/sparse-05-client/src/commands/connect/shell.rs index 1e23c89..7519b79 100644 --- a/sparse-05/sparse-05-client/src/commands/connect/shell.rs +++ b/sparse-05/sparse-05-client/src/commands/connect/shell.rs @@ -103,7 +103,6 @@ async fn run_command( } Event::Remote(Response::CommandDone(cid, _)) if cid == id => break, Event::Stdin(stdin) => { - println!("here"); let _ = connection .send_command(Command::SendStdin(stdin, id)) .await?; diff --git a/sparse-05/sparse-05-server/src/connection/command.rs b/sparse-05/sparse-05-server/src/connection/command.rs index 7415b2c..3080567 100644 --- a/sparse-05/sparse-05-server/src/connection/command.rs +++ b/sparse-05/sparse-05-server/src/connection/command.rs @@ -10,6 +10,8 @@ use std::{ thread::{scope, Scope}, }; +use anyhow::bail; + use sparse_05_common::messages::Response; use super::ConnectionInformation; @@ -31,7 +33,7 @@ pub(super) fn spawn_command<'a, 'b: 'a>( let id = CURRENT_COMMAND_ID.fetch_add(1, Ordering::Relaxed); - /*let mut command = command.split(" "); + let mut command = command.trim().split(" "); let bin_name = command.next(); @@ -45,13 +47,12 @@ pub(super) fn spawn_command<'a, 'b: 'a>( bail!("could not get binary name from command"); }; - let bin_name = bin_name.trim(); let mut command = Command::new(bin_name) - .args(&command.collect::>())*/ - let mut command = Command::new("sh") + .args(&command.collect::>()) + /*let mut command = Command::new("sh") .arg("-c") - .arg(&command) + .arg(&command)*/ .env("TERM", "screen") .stdin(Stdio::piped()) .stdout(Stdio::piped()) diff --git a/sparse-05/sparse-05-server/src/connection/upload_file.rs b/sparse-05/sparse-05-server/src/connection/upload_file.rs index 5fcfb24..28af231 100644 --- a/sparse-05/sparse-05-server/src/connection/upload_file.rs +++ b/sparse-05/sparse-05-server/src/connection/upload_file.rs @@ -29,5 +29,7 @@ pub(super) fn start_file_upload<'a, 'b: 'a>( let id = CURRENT_FILE_UPLOAD_ID.fetch_add(1, Ordering::Relaxed); + let buffer: Vec> = Vec::with_capacity(packet_count as usize); + Ok(UploadFileHandler { id, data_sender }) }