<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-relay-crypto/src, branch arti-v2.5.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-09T15:36:01Z</updated>
<entry>
<title>maint: Run maint/add_warning to deny string slices</title>
<updated>2026-06-09T15:36:01Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T15:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9f5752a77fb57052c06ead0eeae606831f1e8e97'/>
<id>urn:sha1:9f5752a77fb57052c06ead0eeae606831f1e8e97</id>
<content type='text'>
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.

I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.

This commit makes cargo clippy fail.  We will add exceptions in the next
commit.
</content>
</entry>
<entry>
<title>tor-cert: Ed25519CertBuilder: do builder fn rename</title>
<updated>2026-04-29T16:49:21Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2026-04-28T09:58:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d90b703d0c4bc4ffb9068fb5c25fc78e72743961'/>
<id>urn:sha1:d90b703d0c4bc4ffb9068fb5c25fc78e72743961</id>
<content type='text'>
Change all call sites.

This completes the rename.
</content>
</entry>
<entry>
<title>relay: Modify RelayNtorKeys to use a constructor</title>
<updated>2026-04-21T18:01:27Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-04-21T14:27:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e84f73d564b71c386b4e18020da0093839a8874a'/>
<id>urn:sha1:e84f73d564b71c386b4e18020da0093839a8874a</id>
<content type='text'>
Because of the sorting requirement and the fact that a `KeyMgr` can have
multiple Ntor keys, the caller now explicitly extract the two Ntor keys
it wants from the `KeyMgr` and then creates a `RelayNtorKeys` object
with them.

Future changes (#2495) will move this into a view and warn if there are
more than 2 keys.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay-crypto: Add RelayNtorKeys struct holding both Ntor keys</title>
<updated>2026-04-21T18:01:27Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-04-16T16:11:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dc114d6c580b9360d241327b36e13f506d1cd529'/>
<id>urn:sha1:dc114d6c580b9360d241327b36e13f506d1cd529</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>relay-crypto: Add new RelayNtor key wrapper</title>
<updated>2026-04-09T17:34:01Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-04-01T13:05:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a677677e0bcbfd3cebe7c2e31f45bddbb00e2d07'/>
<id>urn:sha1:a677677e0bcbfd3cebe7c2e31f45bddbb00e2d07</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-relay: Move all key specifiers to a new keys module</title>
<updated>2026-04-01T11:17:50Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-04-01T10:45:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2cdc938a1bca3aa84eb7317a17d7776e55af5ae4'/>
<id>urn:sha1:2cdc938a1bca3aa84eb7317a17d7776e55af5ae4</id>
<content type='text'>
This extracts the key specifier types out of `tor-relay-crypto`, which

  * makes the code layout consistent with the hidden service crates (the
    key specifiers are defined in a `keys` module in `tor-hsservice`,
    while the key wrapper types live in `tor-hscrypto::pk`)
  * helps reduce the API surface: the key specifiers are only used in
    `arti-relay`, so we can move them there and make them `pub(crate)`
    instead of `pub`
</content>
</entry>
<entry>
<title>relay-crypto: Make the certs module non-pub</title>
<updated>2026-04-01T11:06:49Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-04-01T10:48:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fdab2662f237ab6eb2ded336de0b3986dff784b3'/>
<id>urn:sha1:fdab2662f237ab6eb2ded336de0b3986dff784b3</id>
<content type='text'>
This doesn't really need to be public.
</content>
</entry>
<entry>
<title>proto: Add key specifier types for the ntor keys</title>
<updated>2026-04-01T11:06:40Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-04-01T10:19:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a135f1ea5abd3eac7f565babf8f6b36d827e46e0'/>
<id>urn:sha1:a135f1ea5abd3eac7f565babf8f6b36d827e46e0</id>
<content type='text'>
Part of #2451
</content>
</entry>
<entry>
<title>tor-relay-crypto: port to web-time-compat</title>
<updated>2026-03-26T19:20:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-26T14:06:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3dd9cb6493681f12bb1b0e9426832fae478f2174'/>
<id>urn:sha1:3dd9cb6493681f12bb1b0e9426832fae478f2174</id>
<content type='text'>
</content>
</entry>
<entry>
<title>relay: Rewrite the rotation key logic in the crypto task</title>
<updated>2026-03-17T19:07:06Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-03-12T19:23:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2ffce9efd3b3dd30a0cbfd7e7af5484dc1f7031f'/>
<id>urn:sha1:2ffce9efd3b3dd30a0cbfd7e7af5484dc1f7031f</id>
<content type='text'>
This is almost a full rewrite of the crypto task which was needed in
order to support our relay signing certificate to be put in the keystore
which will be needed for the offline key feature.

Instead of having rotate_key() do all the things, we now instead do two
pass:

1. Remove all expired keys and certs.
2. Generate any missing keys.

This still results in using the minimum valid_until of all our keys for
the task sleep time.

We can know cleanup the local trait used for this gymnastic and trade it
for some more KeyMgr gymnastic.

Fixes #2404

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
</feed>
