mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
This one is a bit tricky. Our auth scheme requires me to know the current time as a UNIX timestamp and that I can only get from `SystemTime` but not `Instant`. The `Server` is meant to be SANS-IO, including the current time so technically, I would have to pass that in as a parameter. I ended up settling on a compromise of making the auth verification impure and internally calling `SystemTime::now`. That results in a much nicer API and allows us to use `Instant` for everything else, e.g. expiry of channel bindings, allocations etc. Resolves: #4464.
Rust development guide
Firezone uses Rust for all data plane components. This directory contains the Linux and Windows clients, and low-level networking implementations related to STUN/TURN.
We target the last stable release of Rust using rust-toolchain.toml.
If you are using rustup, that is automatically handled for you.
Otherwise, ensure you have the latest stable version of Rust installed.