<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/path, 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>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>Require the Fast flag on all randomly selected relays.</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T15:56:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8a92abd3b8696c542575657a61d95ba1bc4cb0c0'/>
<id>urn:sha1:8a92abd3b8696c542575657a61d95ba1bc4cb0c0</id>
<content type='text'>
This matches the behavior of C tor.

Part of #1100.
</content>
</entry>
<entry>
<title>Only pick Fast-flagged relays as directory caches</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T15:52:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=54126746eb7c305237af686041410b2b271949b8'/>
<id>urn:sha1:54126746eb7c305237af686041410b2b271949b8</id>
<content type='text'>
Matches the behavior of C tor.

Part of #1100.
</content>
</entry>
<entry>
<title>Require that guards are Fast and Stable.</title>
<updated>2024-02-20T14:37:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-12T15:30:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f20669fe460332b8656421d4f331f4287b754dd7'/>
<id>urn:sha1:f20669fe460332b8656421d4f331f4287b754dd7</id>
<content type='text'>
This matches the behavior of C tor.

Part of #1100.
</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>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to actually apply new lint allows</title>
<updated>2023-07-10T12:49:51Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-10T11:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=473447a82e099fd52a674c28f5bc24b3e05208c0'/>
<id>urn:sha1:473447a82e099fd52a674c28f5bc24b3e05208c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ExitPath: Add an explanation of WeightRole::Exit on non-exit circs</title>
<updated>2023-04-12T13:50:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-12T13:50:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2efdcd38ff009a53ea4b0b8f822c13247cf9ca75'/>
<id>urn:sha1:2efdcd38ff009a53ea4b0b8f822c13247cf9ca75</id>
<content type='text'>
In one case, we use WeightRole::Exit on circuits that can't
actually be used to exit.  This commit adds a comment to explain
why, so that we don't wonder about it in the future, and we have
some indication of whether it's still appropriate.

Closes #785
</content>
</entry>
</feed>
