pub struct LimitsPolicy {
pub max_timeout_secs: u64,
pub default_timeout_secs: u64,
pub max_output_bytes: usize,
pub var_allowlist: Vec<String>,
pub max_glob_depth: usize,
pub max_glob_matches: usize,
pub proxy_max_head: usize,
pub proxy_conn_timeout_secs: u64,
pub proxy_bind: String,
pub audit_sink: Option<String>,
pub env_denylist: Vec<String>,
}Expand description
Shell-tool + egress-proxy limits (shell_tool.rs / net_proxy.rs constants).
Anti-drift tests for these land with the wiring PR (#143) where the consts live.
Fields§
§max_timeout_secs: u64Max permitted wall-clock timeout, seconds (MAX_TIMEOUT_SECS).
default_timeout_secs: u64Default timeout when unspecified, seconds (DEFAULT_TIMEOUT_SECS).
max_output_bytes: usizeCaptured stdout/stderr cap, bytes (MAX_OUTPUT_BYTES).
var_allowlist: Vec<String>Env vars expandable in redirect targets (VAR_ALLOWLIST).
max_glob_depth: usizeMax glob nesting depth (MAX_GLOB_DEPTH).
max_glob_matches: usizeMax glob matches (MAX_GLOB_MATCHES).
proxy_max_head: usizeProxy request-header cap, bytes (MAX_HEAD).
proxy_conn_timeout_secs: u64Proxy per-connection socket timeout, seconds (CONN_TIMEOUT).
proxy_bind: StringProxy bind address (loopback ephemeral).
audit_sink: Option<String>Egress audit sink path (subsumes BRIDLE_NET_AUDIT); None = off.
env_denylist: Vec<String>AB-004: environment variable names DROPPED before spawning a child,
regardless of the exec leash. Loader / interpreter / hook vars
(LD_PRELOAD, PYTHONPATH, GIT_SSH_COMMAND, BASH_ENV, …) change what
an allowed program actually executes, so they can never be caller-set.
Overridable config data (three-Cs).
Trait Implementations§
Source§impl Clone for LimitsPolicy
impl Clone for LimitsPolicy
Source§fn clone(&self) -> LimitsPolicy
fn clone(&self) -> LimitsPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LimitsPolicy
impl Debug for LimitsPolicy
Source§impl Default for LimitsPolicy
impl Default for LimitsPolicy
Source§fn default() -> LimitsPolicy
fn default() -> LimitsPolicy
Source§impl<'de> Deserialize<'de> for LimitsPolicy
impl<'de> Deserialize<'de> for LimitsPolicy
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LimitsPolicy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LimitsPolicy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for LimitsPolicy
Source§impl PartialEq for LimitsPolicy
impl PartialEq for LimitsPolicy
Source§impl Serialize for LimitsPolicy
impl Serialize for LimitsPolicy
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for LimitsPolicy
Auto Trait Implementations§
impl Freeze for LimitsPolicy
impl RefUnwindSafe for LimitsPolicy
impl Send for LimitsPolicy
impl Sync for LimitsPolicy
impl Unpin for LimitsPolicy
impl UnsafeUnpin for LimitsPolicy
impl UnwindSafe for LimitsPolicy
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
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,
Source§impl<F, T> ConvertInto<T> for Fwhere
T: ConvertFrom<F>,
impl<F, T> ConvertInto<T> for Fwhere
T: ConvertFrom<F>,
Source§fn convert_into(self) -> T
fn convert_into(self) -> T
Self to a value of type T.Source§impl<F, T> ConvertTryFrom<F> for Twhere
F: ConvertInto<T>,
impl<F, T> ConvertTryFrom<F> for Twhere
F: ConvertInto<T>,
Source§impl<F, T> ConvertTryInto<T> for Fwhere
T: ConvertTryFrom<F>,
impl<F, T> ConvertTryInto<T> for Fwhere
T: ConvertTryFrom<F>,
Source§type Error = <T as ConvertTryFrom<F>>::Error
type Error = <T as ConvertTryFrom<F>>::Error
Source§fn convert_try_into(self) -> Result<T, <T as ConvertTryFrom<F>>::Error>
fn convert_try_into(self) -> Result<T, <T as ConvertTryFrom<F>>::Error>
Self to a value of type T.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
key and return true if they are equal.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> ⓘ
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> ⓘ
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