pub struct InputTaint {
pub refs: BTreeSet<InputRef>,
pub overflow: bool,
}Expand description
The session taint: the untrusted origins a session has read. Bounded; overflow is sticky. An older session file without it reads untainted, which is safe because the taint only restricts.
Fields§
§refs: BTreeSet<InputRef>§overflow: boolImplementations§
Source§impl InputTaint
impl InputTaint
Sourcepub fn add(&mut self, input: Option<InputRef>) -> bool
pub fn add(&mut self, input: Option<InputRef>) -> bool
Record input; None (an unrecordable ref) or a full set marks
overflow. Returns whether the taint changed.
Sourcepub fn mark_overflow(&mut self) -> bool
pub fn mark_overflow(&mut self) -> bool
Set the sticky overflow mark. Returns whether the taint changed.
Sourcepub fn merge(&mut self, other: &Self) -> bool
pub fn merge(&mut self, other: &Self) -> bool
Union with other. Returns whether the taint changed.
pub fn is_tainted(&self) -> bool
Trait Implementations§
Source§impl Clone for InputTaint
impl Clone for InputTaint
Source§impl Debug for InputTaint
impl Debug for InputTaint
Source§impl Default for InputTaint
impl Default for InputTaint
Source§impl<'de> Deserialize<'de> for InputTaint
impl<'de> Deserialize<'de> for InputTaint
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 InputTaint
Source§impl PartialEq for InputTaint
impl PartialEq for InputTaint
Source§impl Serialize for InputTaint
impl Serialize for InputTaint
impl StructuralPartialEq for InputTaint
Auto Trait Implementations§
impl Forget for InputTaint
impl Freeze for InputTaint
impl Move for InputTaint
impl RefUnwindSafe for InputTaint
impl Send for InputTaint
impl Sync for InputTaint
impl Unpin for InputTaint
impl UnsafeUnpin for InputTaint
impl UnwindSafe for InputTaint
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>,
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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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