Struct DestinationScopePolicy
pub struct DestinationScopePolicy { /* private fields */ }Available on crate feature
masque only.Expand description
The default ConnectUdpPolicy: refuses every non-global address and the proxy itself.
Denied by default are loopback, private and unique-local, link-local, shared (CGNAT),
unspecified, multicast, broadcast, documentation, benchmarking and reserved ranges
(IpScopes::NON_GLOBAL), and any port on the IP the request arrived on. The proxy’s
own socket address is refused even when everything else is allowed: a tunnel to it
would loop.
Implementations§
§impl DestinationScopePolicy
impl DestinationScopePolicy
pub const fn new() -> DestinationScopePolicy
pub const fn new() -> DestinationScopePolicy
The safe default.
pub const fn allow_private() -> DestinationScopePolicy
pub const fn allow_private() -> DestinationScopePolicy
Allow private, local and loopback destinations, for a proxy into its own network.
pub fn with_denied_scopes(self, scopes: IpScopes) -> DestinationScopePolicy
pub fn with_denied_scopes(self, scopes: IpScopes) -> DestinationScopePolicy
The address scopes refused.
pub fn set_denied_scopes(
&mut self,
scopes: IpScopes,
) -> &mut DestinationScopePolicy
pub fn set_denied_scopes( &mut self, scopes: IpScopes, ) -> &mut DestinationScopePolicy
The address scopes refused.
pub fn with_deny_proxy_ip(self, deny: bool) -> DestinationScopePolicy
pub fn with_deny_proxy_ip(self, deny: bool) -> DestinationScopePolicy
Whether every port on the IP the request arrived on is refused.
pub fn set_deny_proxy_ip(&mut self, deny: bool) -> &mut DestinationScopePolicy
pub fn set_deny_proxy_ip(&mut self, deny: bool) -> &mut DestinationScopePolicy
Whether every port on the IP the request arrived on is refused.
Trait Implementations§
§impl Clone for DestinationScopePolicy
impl Clone for DestinationScopePolicy
§fn clone(&self) -> DestinationScopePolicy
fn clone(&self) -> DestinationScopePolicy
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 more§impl ConnectUdpPolicy for DestinationScopePolicy
impl ConnectUdpPolicy for DestinationScopePolicy
§fn allows(&self, destination: &ConnectUdpDestination<'_>) -> bool
fn allows(&self, destination: &ConnectUdpDestination<'_>) -> bool
Whether the tunnel may send to
destination.impl Copy for DestinationScopePolicy
§impl Debug for DestinationScopePolicy
impl Debug for DestinationScopePolicy
§impl Default for DestinationScopePolicy
impl Default for DestinationScopePolicy
§fn default() -> DestinationScopePolicy
fn default() -> DestinationScopePolicy
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for DestinationScopePolicy
impl RefUnwindSafe for DestinationScopePolicy
impl Send for DestinationScopePolicy
impl Sync for DestinationScopePolicy
impl Unpin for DestinationScopePolicy
impl UnsafeUnpin for DestinationScopePolicy
impl UnwindSafe for DestinationScopePolicy
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more