pub struct TemplatePolicy {
pub roots: Vec<PathBuf>,
pub command_bytes: NonZeroU64,
pub records: NonZeroUsize,
pub arguments: NonZeroUsize,
pub environment_names: NonZeroUsize,
pub text_bytes: NonZeroUsize,
pub stop_timeout_ms: NonZeroU64,
}Expand description
Required roots and positive bounds for live executable records.
Fields§
§roots: Vec<PathBuf>Commands run as the exchange’s user; only operator-approved directories may supply them. Canonical paths prevent symlinks escaping these roots.
command_bytes: NonZeroU64Bounds command bytes read and hashed at proposal, execution and start.
records: NonZeroUsizeBounds live and retired template records; no historical record is evicted.
arguments: NonZeroUsizeBounds argument count before constructing a process invocation.
environment_names: NonZeroUsizeBounds environment-name count; values are never accepted from a request.
text_bytes: NonZeroUsizeBounds each argument, environment name, path and template name.
stop_timeout_ms: NonZeroU64Bounds a requested termination deadline so approval cannot stall shutdown.
Implementations§
Trait Implementations§
Source§impl Clone for TemplatePolicy
impl Clone for TemplatePolicy
Source§impl Debug for TemplatePolicy
impl Debug for TemplatePolicy
Source§impl<'de> Deserialize<'de> for TemplatePolicy
impl<'de> Deserialize<'de> for TemplatePolicy
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
impl Eq for TemplatePolicy
Source§impl PartialEq for TemplatePolicy
impl PartialEq for TemplatePolicy
impl StructuralPartialEq for TemplatePolicy
Auto Trait Implementations§
impl Freeze for TemplatePolicy
impl RefUnwindSafe for TemplatePolicy
impl Send for TemplatePolicy
impl Sync for TemplatePolicy
impl Unpin for TemplatePolicy
impl UnsafeUnpin for TemplatePolicy
impl UnwindSafe for TemplatePolicy
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
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.