<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cert/src/encode.rs, branch arti-v2.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-v2.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-03-26T19:20:16Z</updated>
<entry>
<title>tor-cert: 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-26T13:46:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ef910cf3dad3957b3e7560e8f4f53559e9ef27c7'/>
<id>urn:sha1:ef910cf3dad3957b3e7560e8f4f53559e9ef27c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cell, proto, cert: Simplify CERTS cell building.</title>
<updated>2026-03-19T15:43:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-19T15:43:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8a4cbe020879ae011c9e02197d824cbe20e2f736'/>
<id>urn:sha1:8a4cbe020879ae011c9e02197d824cbe20e2f736</id>
<content type='text'>
Formerly we required the caller for push_cert_body to specify the
type of the cert that they were pushing.  But in nearly every case,
the certificate object that the caller is holding knows what its
own type is!  This makes the tor_proto build_certs_cell function
a bit less error-prone, since we don't have to worry about mismatch.
</content>
</entry>
<entry>
<title>cert: Deduplicate expiry-in-hours logic</title>
<updated>2026-03-17T13:54:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-17T13:54:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d337afeb1023ea51ce85c0c21fe4ec830c096f49'/>
<id>urn:sha1:d337afeb1023ea51ce85c0c21fe4ec830c096f49</id>
<content type='text'>
These certificates use a weird expiration format: counting hours
since the unix epoch.  Previously we had it implemented in two
different places.  This patch centralizes it, since we are about to
become slightly more complicated.
</content>
</entry>
<entry>
<title>Remove unnecessary `doc(cfg(...))` attributes</title>
<updated>2025-12-05T02:40:50Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2025-11-01T23:25:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=26b40cb08b6b715ee80e2b9084810e07512a85c6'/>
<id>urn:sha1:26b40cb08b6b715ee80e2b9084810e07512a85c6</id>
<content type='text'>
Fixes part of #2193.

(Edits from nickm: I selected the cases here that I could verify
were correct from immediate context.)

Edited-by: Nick Mathewson &lt;nickm@torproject.org&gt;
</content>
</entry>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
<entry>
<title>clippy: fix `clippy::duplicated_attributes` warnings</title>
<updated>2025-08-11T15:22:24Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-11T15:22:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=327f6a31c0fed9ff0b17ac2257157274fbe6d4cb'/>
<id>urn:sha1:327f6a31c0fed9ff0b17ac2257157274fbe6d4cb</id>
<content type='text'>
```text
warning: duplicated attribute
   --&gt; crates/tor-hsservice/src/timeout_track.rs:630:14
    |
630 |     #![allow(clippy::needless_pass_by_value)] // TODO hoist into standard lint block
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>squash! Upgrade rand dependency to 0.9.</title>
<updated>2025-03-18T16:09:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-18T13:01:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f8993c22c2b86010e4fd8b5169ef0ab83f8c754'/>
<id>urn:sha1:2f8993c22c2b86010e4fd8b5169ef0ab83f8c754</id>
<content type='text'>
- `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
</content>
</entry>
<entry>
<title>Wrap ed25519-dalek types.</title>
<updated>2025-03-18T12:45:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-17T18:31:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d50e945a5286d89d75892878ff3aa9ed7ebed1f7'/>
<id>urn:sha1:d50e945a5286d89d75892878ff3aa9ed7ebed1f7</id>
<content type='text'>
With this change, we'll no longer need to expose the types from
dalek-cryptography as part of our API, and we'll have more freedom
to switch ed25519 implementations, or to upgrade to a newer
`rand` ahead of their schedule.

Unlike with x25519-dalek, I had to tweak the API a bit: There's no
way to get a &amp;PublicKey out of a Keypair now, and implementing the
old ed25519-dalek traits seemed unnecessary.
</content>
</entry>
<entry>
<title>tor-cert: Add experimental API for building EncodedEd25519Certs.</title>
<updated>2025-01-13T19:28:01Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-12T12:15:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=73f0570d73eefc0936707ba154020ba364eecc2e'/>
<id>urn:sha1:73f0570d73eefc0936707ba154020ba364eecc2e</id>
<content type='text'>
This will enable us to deserialize byte slices as `EncodedEd25519Certs`.

Needed because this type will be used to representing a parsed + validated
cert retrieved from the keystore.

Technically, we *could* do without this function by defining a separate
newtype wrapper over `Vec&lt;u8&gt;` to represent the validated cert data, but
IMO adding a second encoded ed25519 cert type in another crate might be
confusing later down the line (because the two types will be nearly
identical, and are bound to eventually diverge in terms of API and
implementation).

Part of #1137
</content>
</entry>
<entry>
<title>tor-cert: Remove no-longer-needed experimental API.</title>
<updated>2025-01-13T19:25:57Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-09T19:38:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=498c0cf0ac2876871aa76f1bb8126eef66b6af75'/>
<id>urn:sha1:498c0cf0ac2876871aa76f1bb8126eef66b6af75</id>
<content type='text'>
Part of #1768
</content>
</entry>
</feed>
