From 6954359209dacf956644d548fde1400a62bee70e Mon Sep 17 00:00:00 2001 From: Adrian Heine Date: Sun, 26 Dec 2021 01:45:00 +0100 Subject: [PATCH] Remove SuCommandRunner --- src/command_runner.rs | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/src/command_runner.rs b/src/command_runner.rs index fb6b7c0..9508ee2 100644 --- a/src/command_runner.rs +++ b/src/command_runner.rs @@ -147,42 +147,6 @@ impl> CommandRunner for SetuidCommandRunner { } } -#[derive(Debug)] -pub struct SuCommandRunner<'a, C> -where - C: CommandRunner, -{ - command_runner: &'a C, - user_name: &'a str, -} - -impl<'a, C> SuCommandRunner<'a, C> -where - C: 'a + CommandRunner, -{ - pub fn new(user_name: &'a str, command_runner: &'a C) -> SuCommandRunner<'a, C> { - SuCommandRunner { - command_runner, - user_name, - } - } -} - -// Su doesn't set XDG_RUNTIME_DIR -// https://github.com/systemd/systemd/blob/master/src/login/pam_systemd.c#L439 -#[async_trait(?Send)] -impl<'a, C> CommandRunner for SuCommandRunner<'a, C> -where - C: 'a + CommandRunner, -{ - async fn run(&self, program: &str, args: &[&OsStr], input: &[u8]) -> IoResult { - let raw_new_args = [self.user_name, "-s", "/usr/bin/env", "--", program]; - let mut new_args: Vec<&OsStr> = raw_new_args.iter().map(AsRef::as_ref).collect(); - new_args.extend_from_slice(args); - self.command_runner.run("su", &new_args, input).await - } -} - #[cfg(test)] mod test { use crate::args;