pub enum IsolationLevel {
None,
Capsicum,
CapsicumProcess,
}Expand description
The degree of sandbox isolation applied to a plugin process.
On non-FreeBSD platforms only None is available;
requesting a stricter level yields [PluginError::Sandbox] at load time.
Variants§
None
No sandboxing — plugin code runs in the host process (unsafe with untrusted plugins).
Capsicum
Available on FreeBSD only.
FreeBSD Capsicum capability mode (cap_enter). The plugin retains
file descriptors inherited at load time but cannot open new ones.
CapsicumProcess
Available on FreeBSD only.
Full per-plugin process isolation via pdfork + Capsicum. Each plugin
runs in its own child process with a dedicated log channel.
Implementations§
Trait Implementations§
Source§impl Clone for IsolationLevel
impl Clone for IsolationLevel
Source§fn clone(&self) -> IsolationLevel
fn clone(&self) -> IsolationLevel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for IsolationLevel
Source§impl Debug for IsolationLevel
impl Debug for IsolationLevel
impl Eq for IsolationLevel
Source§impl Hash for IsolationLevel
impl Hash for IsolationLevel
Source§impl PartialEq for IsolationLevel
impl PartialEq for IsolationLevel
impl StructuralPartialEq for IsolationLevel
Auto Trait Implementations§
impl Freeze for IsolationLevel
impl RefUnwindSafe for IsolationLevel
impl Send for IsolationLevel
impl Sync for IsolationLevel
impl Unpin for IsolationLevel
impl UnsafeUnpin for IsolationLevel
impl UnwindSafe for IsolationLevel
Blanket Implementations§
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