pub struct EscalateServer { /* private fields */ }Implementations§
Source§impl EscalateServer
impl EscalateServer
pub fn new<Policy>( shell_path: PathBuf, execve_wrapper: PathBuf, policy: Policy, ) -> Self
pub async fn exec( &self, params: ExecParams, cancel_rx: CancellationToken, command_executor: Arc<dyn ShellCommandExecutor>, ) -> Result<ExecResult>
Sourcepub fn start_session(
&self,
parent_cancellation_token: CancellationToken,
command_executor: Arc<dyn ShellCommandExecutor>,
) -> Result<EscalationSession>
pub fn start_session( &self, parent_cancellation_token: CancellationToken, command_executor: Arc<dyn ShellCommandExecutor>, ) -> Result<EscalationSession>
Starts an escalation session and returns the environment overlay a shell needs in order to route intercepted execs through this server.
This does not spawn the shell itself. Callers own process creation and only use the returned environment plus the session lifetime handle.
Auto Trait Implementations§
impl !RefUnwindSafe for EscalateServer
impl !UnwindSafe for EscalateServer
impl Freeze for EscalateServer
impl Send for EscalateServer
impl Sync for EscalateServer
impl Unpin for EscalateServer
impl UnsafeUnpin for EscalateServer
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more