<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/usage.rs, branch arti-v1.2.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-02-22T15:37:55Z</updated>
<entry>
<title>Mark code with "TODO #504" and "TODO #789".</title>
<updated>2024-02-22T15:37:55Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-20T14:49:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=01ab38232eb2e6d32a9a3a8789d3588a830e87ce'/>
<id>urn:sha1:01ab38232eb2e6d32a9a3a8789d3588a830e87ce</id>
<content type='text'>
I've done this by looking for every non-test instance of pick_relays
or pick_n_relays, and for every non-test usage of any non-ID-related
method on Relay or UncheckedRelay.

Part of #504.
</content>
</entry>
<entry>
<title>Teach *CircUsage structs about stability.</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T17:23:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07373d8c0990748ea89cc600882168f08787cab5'/>
<id>urn:sha1:07373d8c0990748ea89cc600882168f08787cab5</id>
<content type='text'>
This lets us check long_lived_ports only when we are constructing
a TargetCircUsage, and lets us remember whether or not the circuit
we've built is suitable for non-long-lived ports.

It also lets us decide whether existing circuits are compatible with
new requests.

Closes #1100.
</content>
</entry>
<entry>
<title>Add a couple of TODOs about Stable-based path selection.</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T16:42:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2646d0caf99697d87c881c4826ef1d10587a6215'/>
<id>urn:sha1:2646d0caf99697d87c881c4826ef1d10587a6215</id>
<content type='text'>
</content>
</entry>
<entry>
<title>When building paths, require the Stable flag as appropriate</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T16:35:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aceccb1a675f5dd0661e58f580ee3398b02c7403'/>
<id>urn:sha1:aceccb1a675f5dd0661e58f580ee3398b02c7403</id>
<content type='text'>
The Stable flag means that circuits build through a given relay are
not likely to get closed precipitously.  (Currently, the authorities
guess this by looking at the relay's mean time between failures.)

Generally speaking, paths must be Stable if:
  * They are going to get used for a rendezvous point.
  * They are going to get used for an introduction point.
  * They are going to get used for exiting to a member of
    long_lived_ports.
</content>
</entry>
<entry>
<title>Downgrade some messages to trace</title>
<updated>2023-11-29T18:51:30Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-11-29T18:44:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d67519d71b2f452dcc947acc12b3bdc50e3e7920'/>
<id>urn:sha1:d67519d71b2f452dcc947acc12b3bdc50e3e7920</id>
<content type='text'>
These messages are very verbose and I doubt anyone will want them,
usually, even when debugging.
</content>
</entry>
<entry>
<title>arti-client: add exit selection with GeoIP country codes</title>
<updated>2023-09-18T11:25:36Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2023-08-22T15:52:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a6fe895eb5c605e9c8de7ba871fc2114d65e098c'/>
<id>urn:sha1:a6fe895eb5c605e9c8de7ba871fc2114d65e098c</id>
<content type='text'>
This threads the country codes work through the rest of the codebase:

- `tor-dirmgr` will now enable GeoIP with the embedded database when the
  `geoip` future is enabled
  - This can be extended later using the `DirMgrConfig` to allow
    specifying a custom database; this is not done here, though
- `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain
  new `country_code` members to allow filtering circuits by country
  - These are `()` in builds where the `geoip` feature is not enabled --
    doing it this way means we don't have to copy and paste huge swathes
    of code, since we can't use `#[cfg]` in patterns
- `ExitPathBuilder` gains (hacked-in) support for choosing a relay with
  the correct country code
  - Due to the lack of conjuction, we just copy and paste a small bit,
    pending further refactoring
- `StreamPrefs` now lets you specify a country code, letting embedders
  make use of the feature
</content>
</entry>
<entry>
<title>circmgr: Mark a number of internal APIs as hs-only.</title>
<updated>2023-04-06T13:05:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-06T13:00:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=43e1128cdf722d183f337ac36dd3d944259b3e8d'/>
<id>urn:sha1:43e1128cdf722d183f337ac36dd3d944259b3e8d</id>
<content type='text'>
This resolves a few dead-code warnings.

Closes #801.
</content>
</entry>
<entry>
<title>Add some missing imports</title>
<updated>2023-03-28T14:49:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-03-28T13:16:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=00e522a91ac1ecd59f48dc97a64319d748f2c482'/>
<id>urn:sha1:00e522a91ac1ecd59f48dc97a64319d748f2c482</id>
<content type='text'>
Now
  nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets
actually works.

squash! Add some missing imports
</content>
</entry>
<entry>
<title>circmgr: Make a separate SupportedCircUsage for HS stuff</title>
<updated>2023-03-22T16:35:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-21T13:04:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=19a229155cbcc0fa16e4e03a6c03b8e6a65ae38d'/>
<id>urn:sha1:19a229155cbcc0fa16e4e03a6c03b8e6a65ae38d</id>
<content type='text'>
This uncovered a bug: NoUsage wasn't correct for Hs circuits because
of its behavior with channel_usage().
</content>
</entry>
<entry>
<title>circmgr: Add a usage for building the beginning of an hs circ</title>
<updated>2023-03-22T15:52:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-03-15T14:41:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dce4da55ae20d4867d5caf79adc6402fe03559bd'/>
<id>urn:sha1:dce4da55ae20d4867d5caf79adc6402fe03559bd</id>
<content type='text'>
This only builds the first 3 hops. It can be extended to a fourth
hop later -- or not, depending on the circuit kind.
</content>
</entry>
</feed>
