arti/crates/tor-chanmgr
Nick Mathewson 3885a2c05b tor-proto: add a backend to detect reported clock skew.
NETINFO cells, which are sent in every handshake, may contain
timestamps.  This patch adds an accessor for the timestamp in the
Netinfo messages, and teaches the tor-proto code how to compute the
minimum clock skew in the code.

The computation isn't terribly precise, but it doesn't need to be:
Tor should work fine if your clock is accurate to within a few
hours.

This patch also notes a Y2038 problem in the protocol: see
torspec#80.

Part of #405.
2022-03-23 08:24:36 -04:00
..
src tor-proto: add a backend to detect reported clock skew. 2022-03-23 08:24:36 -04:00
Cargo.toml Move skip_fmt into tor-basic-utils 2022-03-04 11:45:24 +00:00
README.md Move all crates into a `crates` subdirectory. 2021-08-27 09:53:09 -04:00

README.md

tor-chanmgr

tor-chanmgr: Manage a set of channels on the Tor network.

Overview

This crate is part of Arti, a project to implement Tor in Rust.

In Tor, a channel is a connection to a Tor relay. It can be direct via TLS, or indirect via TLS over a pluggable transport. (For now, only direct channels are supported.)

Since a channel can be used for more than one circuit, it's important to reuse channels when possible. This crate implements a [ChanMgr] type that can be used to create channels on demand, and return existing channels when they already exist.

License: MIT OR Apache-2.0