pub struct TrustSpec {
pub permissions: Vec<String>,
}Expand description
Declarative [trust] section of a plugin manifest. Absent ⇒ least privilege.
Fields§
§permissions: Vec<String>Requested capabilities (network, fs_write, env_passthrough).
Implementations§
Source§impl TrustSpec
impl TrustSpec
Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate that every declared permission is recognized (fail-closed: an unknown permission is a manifest error, not a silent grant).
Sourcepub fn policy(&self) -> SandboxPolicy
pub fn policy(&self) -> SandboxPolicy
Resolve the enforceable policy. Unknown strings are ignored here because
validate() already rejects them at parse time.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TrustSpec
impl<'de> Deserialize<'de> for TrustSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TrustSpec
impl RefUnwindSafe for TrustSpec
impl Send for TrustSpec
impl Sync for TrustSpec
impl Unpin for TrustSpec
impl UnsafeUnpin for TrustSpec
impl UnwindSafe for TrustSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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