<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-guardmgr, branch arti-v1.0.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.0.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.0.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-09-01T12:59:49Z</updated>
<entry>
<title>Bump crate versions in preparation for Arti 1.0.0 release.</title>
<updated>2022-09-01T12:59:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-01T12:52:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=96875ea20875e3a5cfc9f348365f19a158578190'/>
<id>urn:sha1:96875ea20875e3a5cfc9f348365f19a158578190</id>
<content type='text'>
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
```
</content>
</entry>
<entry>
<title>Downgrade "guard set loaded" messages</title>
<updated>2022-08-25T15:03:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-25T15:03:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f133de6b90e799d37fdcd9dc75f9f94acb6bb6c'/>
<id>urn:sha1:0f133de6b90e799d37fdcd9dc75f9f94acb6bb6c</id>
<content type='text'>
These aren't interesting to the user.
</content>
</entry>
<entry>
<title>enable doc_auto_cfg feature on every crate when documenting for docs.rs</title>
<updated>2022-08-24T16:22:41Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-08-17T19:13:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7f939fa4804b3c934343141b79e8e2ded5fe0b0d'/>
<id>urn:sha1:7f939fa4804b3c934343141b79e8e2ded5fe0b0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'main' into 'linkspec_refactor_v3'</title>
<updated>2022-08-10T14:48:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-10T14:48:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36a28a8587bbef44daa735c52a0207434989f11b'/>
<id>urn:sha1:36a28a8587bbef44daa735c52a0207434989f11b</id>
<content type='text'>
# Conflicts:
#   crates/tor-netdir/semver.md</content>
</entry>
<entry>
<title>Make sure all HasRelayIds constaints allow ?Sized.</title>
<updated>2022-08-10T14:39:47Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-05T16:53:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6dc8b1af20ce25d37fee53ff0ec2997a7d96929c'/>
<id>urn:sha1:6dc8b1af20ce25d37fee53ff0ec2997a7d96929c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdir: Collapse by_id and by_relay_id into a single fn.</title>
<updated>2022-08-10T14:39:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-05T16:30:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=37b3daa11d7e51abe02a92c3fcabccec267dca28'/>
<id>urn:sha1:37b3daa11d7e51abe02a92c3fcabccec267dca28</id>
<content type='text'>
There are some downstream changes required for this to work, but
they are all just unit tests that could no longer infer the type of
an Ed25519 key.
</content>
</entry>
<entry>
<title>Final (?) API revisions for tor-linkspec</title>
<updated>2022-08-10T14:39:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-05T15:47:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d4507ff35f8e8cf874c81d3754804b2c20f31aa'/>
<id>urn:sha1:2d4507ff35f8e8cf874c81d3754804b2c20f31aa</id>
<content type='text'>
With this change, each individual identity type becomes optional.
The functions that expose them unconditionally are now in a "legacy"
trait that only some downstream types are expected to implement.

There are new convenience APIs in HasRelayIds:
  * to return Option&lt;&amp;keytype&gt;,
  * to see if one identity-set contains another.

This commit will break several downstream crates!  For the
reviewer's convenience, I will put the fixes for those crates into a
series of squash! commits on this one.

tor-netdir
----------

Revise tor-netdir to accept optional identities.  This required some
caveats and workarounds about the cases where we have to deal with a
key type that the tor-netdir code does not currently recognize at
all.  If we start to add more identity types in the future, we may
well want more internal indices in this code.

tor-proto
---------

In order to make tor-proto support optional identities, there were
fewer changes than I thought.  Some "check" functions needed to start
looking at "all the ids we want" rather than at "the two known IDs";
they also needed to accommodate that case where we don't have an ID
that we demand.

This change will also help with bridges, since we want to be able to
connect to a bridge without knowing all of its IDs up front.

The protocol currently _requires_ the two current ID types in some
places. To deal with that, I added a new `MissingId` error.

I also removed a couple of unconditional identity accessors for
chanmgr; code should use `target().identity(...)` instead.

tor-chanmgr
-----------

This is an incomplete conversion: it does not at all handle channel
targets without Ed25519 identities yet.  It still uses those
identities to index its internal map from identity to channel; but
it gives a new `MissingId` error type if it's given a channel target
that doesn't have one.

We'll want to revise the map type again down the road when we
implement bridges, but I'd rather not step on the channel-padding
work in progress right now.

tor-guardmgr
------------

This change is mostly a matter of constructing owned identity types
more sensibly, rather than unwrapping them directly.

There are some places marked with TODOs where we still depend on
particular identity types, because of how the directory protocol
works.  This will need revisiting when we add bridge support here.

tor-circmgr
-----------

These changes are just relatively simple API changes in the tests.
</content>
</entry>
<entry>
<title>Introduce a RelayIdSet and use it in place of HashSet&lt;RelayId&gt;.</title>
<updated>2022-08-10T14:39:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-04T21:41:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b56e1bf119252907a2ac6d2838fc5bfd1d08d6dd'/>
<id>urn:sha1:b56e1bf119252907a2ac6d2838fc5bfd1d08d6dd</id>
<content type='text'>
This makes lookups a little more efficient.  I do with that HashSet
just supported this use-case, but for now this seems our best option.
</content>
</entry>
<entry>
<title>Teach guard restrictions about RelayId.</title>
<updated>2022-08-10T14:39:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-04T14:07:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=deaf8b657d7b84cc1fd1ad89c5b25afd71062ebf'/>
<id>urn:sha1:deaf8b657d7b84cc1fd1ad89c5b25afd71062ebf</id>
<content type='text'>
This implementation is (sadly) too copy-heavy or now, because
HashSet&lt;RelayId&gt; can't be indexed with RelayIdRef.
</content>
</entry>
<entry>
<title>Use accessors in two places where tests look at specific keys.</title>
<updated>2022-08-10T14:39:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-03T20:34:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8af41bd65feb80fcbacf2478e9422a1d6ec0d654'/>
<id>urn:sha1:8af41bd65feb80fcbacf2478e9422a1d6ec0d654</id>
<content type='text'>
(It's safe to require these specific keys, since we constructed the
objects for testing, and we know for certain that they contain given
keys.)
</content>
</entry>
</feed>
