Module proxy
Available on crate features
quic and std only.Expand description
QUIC interception: inspect an association’s Initial flight, then forward it untouched or terminate it and relay the established connections.
Structs§
- Admission
Stats - What a
QuicAssociationAdmissionrefused, and how inspection of admitted associations ended when it was refused too, since it was created. - Association
Key - The addresses an association is fixed to. Its egress target is not part of it: other targets do not make the same incoming datagrams distinguishable.
- Association
Limits - Bounds applied before any datagram of an association is inspected. A source is an IPv4 address or an IPv6 /64.
- Association
Permit - An admitted association. Dropping it releases its slot and quarantines its addresses; its start stays counted.
- Input
With Quic Client Hello - The input handed on after a complete QUIC ClientHello was found in the client’s Initials.
- NoQuic
Peek Routing - Default inspection behavior: no cross-association routing.
- NoQuic
Reject Error - The fallback’s default rejection: the association carried no complete QUIC ClientHello.
- Peek
Quic Client Hello Service - Inspects the first datagrams of a UDP association for a QUIC client’s Initial flight and its ClientHello, then hands the association on with those datagrams replayed in front.
- Quic
Admission Layer - Admits each association before its inner service, usually a
PeekQuicClientHelloService, inspects it, and holds the permit until that service is done. - Quic
Admission Service - The service a
QuicAdmissionLayerproduces. - Quic
Association Admission - Admission shared, by cloning, by every producer and listener of one policy domain.
- Quic
Egress Migration - Common egress-only policy: ask a factory initially, and when a trusted network update or validated ingress move requires another transport. The factory returns None to retain the old one. Its own egress move does not recursively trigger another replacement.
- Quic
Migration Config - Quic
Migration Decision - Decisions are independent. Keeping ingress while replacing egress is an ordinary case. A transparent ingress backed by QuicMitmIngress accepts Keep or Refresh. Replace is refused: platform paths must join its existing aggregate through the ingress router.
- Quic
Migration Input - Current connection handles and latest trusted network state for policy evaluation.
- Quic
Migration Layer - Supervise an established QUIC relay with a normal Rama policy service.
- Quic
Migration Service - Quic
Mirror Ceiling - What a mirrored client may make the relay hold on its egress connection
(
QuicMitmRelay::with_mirror_client): larger receive windows and stream counts are lowered to these, and the change is traced. - Quic
Mitm Ingress - Coordinate migration between platform flows without sharing connection endpoints.
- Quic
Mitm Ingress ByIdentity - Reusable transparent-proxy ingress registry, keyed by the caller’s trusted policy identity.
- Quic
Mitm Ingress ByIdentity Config - Bounds for a collection of independent interception policy identities.
- Quic
Mitm Ingress Config - Resource bounds for one trusted migration-routing identity. No payload queue is introduced.
- Quic
Mitm Relay - Terminates a QUIC association whose ClientHello was peeked, using the egress socket the producer prepared for its origin: the QUIC counterpart of the TLS MITM relay.
- Quic
Mitm Relay Service - The service a
QuicMitmRelaylayer produces. - Quic
Mitm Route - A terminal route decision for one new transport path of an existing connection.
- Quic
Network Changes - A bounded, coalescing source of trusted network/interface/policy changes.
- Quic
Network Path - Latest trusted platform state for one side. Extensions carry platform/policy metadata.
- Quic
Network Snapshot - Full latest state, so coalescing notifications never loses one side’s update.
- Quic
Peek Fallback Policy - Which
QuicPeekRejections reach the fallback; any other fails the association withQuicPeekRejectedError. - Quic
Peek Rejected Error - An association refused because its peek ended in a class the fallback policy does not admit.
- Quic
Relay - Relay dedicated QUIC connections through Rama’s ordinary service boundary.
- Quic
Transport Replacement - An owned, prepared transport. No application bytes are copied or replayed by replacement. Preparing it does not change a connection; the supervisor applies the latest decision.
Enums§
- Admission
Error - Why an association was not admitted. A refusal consumes no slot and no start.
- Quic
Migration Failure Action - What to do when policy evaluation, its deadline or transport replacement fails.
- Quic
Migration Side - Which independently terminated side a policy is considering.
- Quic
Migration Trigger - Quic
Network Availability - Platform reachability, independent of QUIC’s authenticated path validation.
- Quic
Path Action - Quic
Peek Rejection - Why a QUIC peek found no complete ClientHello. A fallback receives this detail
in its extensions. For the current inspection outcome, including a cleared
failure after a later successful or non-QUIC peek, use
ClientHelloPeekStatus.
Constants§
- DEFAULT_
QUIC_ MITM_ HANDSHAKE_ TIMEOUT - The default for
QuicMitmRelay::with_handshake_timeout. - DEFAULT_
QUIC_ PEEK_ LIMITS - Default live-inspection budgets. A 256 KiB ClientHello has room for packet overhead, fragmentation and retransmissions within 1 MiB of datagrams. These apply before dispatch; they do not change capture or endpoint admission limits.
- DEFAULT_
QUIC_ PEEK_ TIMEOUT - The default for
PeekQuicClientHelloService::with_peek_timeout: one handshake flight over a slow path, short enough that a silent client cannot hold an inspection open.
Traits§
- Quic
Peek Route - Owns the selected endpoint/path decision until the association ends.
- Quic
Peek Router - Optional first-datagram routing, sharing inspection’s deadline and receive buffer. A positive decision is terminal: subsequent rejection must never invoke fallback policy.