The tls-virt crates (tls-virt-common, tls-virt-guest, tls-virt-wasmtime) were promoted out of experimental/ with their behavior unchanged; this issue tracks the gaps between that behavior and production use. Each crate README lists its limits; this is the actionable union.
Both deliveries:
tls-virt-guest:
tls-virt-wasmtime:
The tls-virt crates (
tls-virt-common,tls-virt-guest,tls-virt-wasmtime) were promoted out ofexperimental/with their behavior unchanged; this issue tracks the gaps between that behavior and production use. Each crate README lists its limits; this is the actionable union.Both deliveries:
rust/quinn/tests/testdata/ca.derat compile time. Needs a design ruling: the guest delivery has no configuration surface by design (a virtualizer is composed, not configured), so roots plausibly arrive by composition-time embedding or a dedicated import; the wasmtime delivery can take a CLI flag.not-supportedexplicitly.tls-virt-guest:get-address-familyon a tunnel reports IPv6 regardless of the real transport family.listenis unsupported (wrapping accepted nominal resources needs a resident task no export on that path can host). Revisit if an upstream mechanism appears.tls-virt-wasmtime:SocketAddrCheckispub(crate)and the tunnel transport is native tokio, so tunneled connects bypass the sandbox address check today. The embedding needs its own policy knob (or an upstream API to run the configured check).p2::add_to_linker_asyncare unwrapped; a guest importing p2 sockets bypasses the tunnel. Wrap them or register p2 without sockets. (Wrapped in e6eb1dc; the 0.2 tunnel path also enforces the sandbox address check.)