arti/crates/tor-linkspec
Nick Mathewson 96875ea208 Bump crate versions in preparation for Arti 1.0.0 release.
Because we want to work more on ensuring that our semver stability
story is solid, we are _not_ bumping arti-client to 1.0.0 right now.

Here are the bumps we _are_ doing.  Crates with "minor" bumps have
had API breaks; crates with "patch" bumps have had new APIs added.

Note that `tor-congestion` is not bumped here: it's a new crate, and
hasn't been published before.

```
tor-basic-utils         minor
fs-mistrust             minor
tor-config              minor
tor-rtcompat            minor
tor-rtmock              minor
tor-llcrypto            patch
tor-bytes               patch
tor-linkspec            minor
tor-cell                minor
tor-proto               minor
tor-netdoc              patch
tor-netdir              minor
tor-persist             patch
tor-chanmgr             minor
tor-guardmgr            minor
tor-circmgr             minor
tor-dirmgr              minor
arti-client             minor
arti-hyper              minor
arti                    major
arti-bench              minor
arti-testing            minor
```
2022-09-01 08:59:49 -04:00
..
src enable doc_auto_cfg feature on every crate when documenting for docs.rs 2022-08-24 18:22:41 +02:00
Cargo.toml Bump crate versions in preparation for Arti 1.0.0 release. 2022-09-01 08:59:49 -04:00
README.md Update README.md files (automated). 2022-05-06 09:51:11 -04:00
semver.md tor-linkspec: Refactor out traits to represent a relay's ID set. 2022-08-02 12:40:23 -04:00

README.md

tor-linkspec

tor-linkspec: Descriptions of Tor relays, as used to connect to them.

Overview

The tor-linkspec crate provides traits and data structures that describe how to connect to Tor relays.

When describing the location of a Tor relay on the network, the Tor protocol uses a set of "link specifiers", each of which corresponds to a single aspect of the relay's location or identity—such as its IP address and port, its Ed25519 identity key, its (legacy) RSA identity fingerprint, or so on. This crate's [LinkSpec] type encodes these structures.

When a client is building a circuit through the Tor network, it needs to know certain information about the relays in that circuit. This crate's [ChanTarget] and [CircTarget] traits represent objects that describe a relay on the network that a client can use as the first hop, or as any hop, in a circuit.

This crate is part of Arti, a project to implement Tor in Rust. Several other crates in Arti depend on it. You will probably not need this crate yourself unless you are interacting with the Tor protocol at a fairly low level.

tor-linkspec is a separate crate so that it can be used by other crates that expose link specifiers and by crates that consume them.

Future work

TODO: Possibly we should rename this crate. "Linkspec" is a pretty esoteric term in the Tor protocols.

TODO: Possibly the link specifiers and the *Target traits belong in different crates.

License: MIT OR Apache-2.0