<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hscrypto/src/pk.rs, 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-10T17:17:33Z</updated>
<entry>
<title>hscrypto, linkspec, llcrypto: Use new redaction helpers</title>
<updated>2026-06-10T17:17:33Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-06-10T16:35:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=21ea6f773b627e1991e54422448d6731bf3df5ce'/>
<id>urn:sha1:21ea6f773b627e1991e54422448d6731bf3df5ce</id>
<content type='text'>
This eliminates some string slicing.
</content>
</entry>
<entry>
<title>everywhere: Add #[allow(clippy::string_slice)]</title>
<updated>2026-06-09T16:02:36Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T16:00:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d0af4abbd7b371f1eade609202a730cd9a1c21d3'/>
<id>urn:sha1:d0af4abbd7b371f1eade609202a730cd9a1c21d3</id>
<content type='text'>
This commit adds #[allow(clippy::string_slice)] to all functions in the
code where string slices are used, alongside a TODO comment.

We do this add the function header to have it consistent, as things like
expression based allow's are still experimental.
</content>
</entry>
<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-hcrypto: 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:51:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=545f87c9e315d550ede994fddfb127a5347a1200'/>
<id>urn:sha1:545f87c9e315d550ede994fddfb127a5347a1200</id>
<content type='text'>
</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>tor-hscrypto: derive_deftly is mandatory again</title>
<updated>2025-09-23T20:31:52Z</updated>
<author>
<name>hashcatHitman</name>
<email>3924-hashcatHitman@gitlab.torproject.org</email>
</author>
<published>2025-09-23T20:31:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ae8697fa9d0ce318c30133ca2315632d922e86b9'/>
<id>urn:sha1:ae8697fa9d0ce318c30133ca2315632d922e86b9</id>
<content type='text'>
I don't know why this was breaking rust-recent-async-std-rustls, but oh
well.

Signed-off-by: hashcatHitman &lt;3924-hashcatHitman@gitlab.torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-(hs|ll)crypto: export cteq macros correctly</title>
<updated>2025-09-23T19:52:04Z</updated>
<author>
<name>hashcatHitman</name>
<email>3924-hashcatHitman@gitlab.torproject.org</email>
</author>
<published>2025-09-23T19:52:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8cfe85d6ff3461a1110467ae45d63c0915460dec'/>
<id>urn:sha1:8cfe85d6ff3461a1110467ae45d63c0915460dec</id>
<content type='text'>
The macros to deftly derive `ConstantTimeEq` and `PartialEq` (for
`ConstantTimeEq`) are now only defined in `tor-llcrypto` and exported.

The macro to deftly derive `ConstantTimeEq` is now struct only and uses
`subtle::Choice::from(1)` for improved clarity.

Signed-off-by: hashcatHitman &lt;3924-hashcatHitman@gitlab.torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-(hs|ll)crypto: deftly derive ConstantTimeEq</title>
<updated>2025-09-23T08:25:49Z</updated>
<author>
<name>hashcatHitman</name>
<email>3924-hashcatHitman@gitlab.torproject.org</email>
</author>
<published>2025-09-23T08:25:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bc3de195b4f90f6bcd6697c7655a0663ceec5ef4'/>
<id>urn:sha1:bc3de195b4f90f6bcd6697c7655a0663ceec5ef4</id>
<content type='text'>
This is my initial attempt at deriving ConstantTimeEq and PartialEq.
This includes the previously missed HsSvcNtorKeypair and
HsClientDescEncKeypair types.

In tor-llcrypto, a few implementations still had to be done by hand, and
some types which previously derived normal PartialEq now derive it with
ConstantTimeEq.

I could not figure out how to properly set up the macros such that they
could be used both in the current crate and in others, so for the moment
they are duplicated. Just so I can get feedback. Ideally, this will be
replaced with a better solution before merge.

Signed-off-by: hashcatHitman &lt;3924-hashcatHitman@gitlab.torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-hscrypto: constant time PartialEq for keys</title>
<updated>2025-09-16T20:55:34Z</updated>
<author>
<name>hashcatHitman</name>
<email>3924-hashcatHitman@gitlab.torproject.org</email>
</author>
<published>2025-09-16T06:58:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1722932f76dfcc7e3e5e30d82b51f1b0263a10a1'/>
<id>urn:sha1:1722932f76dfcc7e3e5e30d82b51f1b0263a10a1</id>
<content type='text'>
Implemented `subtle::ConstantTimeEq` for all of the following types:
 - `pk::HsIdKey`
 - `pk::HsIdKeypair`
 - `pk::HsBlindIdKey`
 - `pk::HsBlindIdKeypair`
 - `pk::HsDescSigningKey`
 - `pk::HsDescSigningKeypair`
 - `pk::HsIntroPtSessionIdKey`
 - `pk::HsIntroPtSessionIdKeypair`
 - `pk::HsSvcNtorKey`
 - `pk::HsSvcNtorSecretKey`
 - `pk::hs_client_intro_auth::HsClientIntroAuthKey`
 - `pk::hs_client_intro_auth::HsClientIntroAuthKeypair`
 - `pk::HsClientDescEncKey`
 - `pk::HsClientDescEncSecretKey`
 - `pk::HsSvcDescEncKey`
 - `pk::HsSvcDescEncSecretKey`
 - `pk::HsSvcDescEncKeypair`

`PartialEq` has also been implemented for all listed types, using the
constant time comparison under the hood.

Signed-off-by: hashcatHitman &lt;3924-hashcatHitman@gitlab.torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-hscrypto: change redacted `HsId` from "???" to "[…]"</title>
<updated>2025-08-25T15:22:16Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-25T01:16:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=78f0cc445bd2abe4c43136d683997e96523f3d72'/>
<id>urn:sha1:78f0cc445bd2abe4c43136d683997e96523f3d72</id>
<content type='text'>
Before:

```text
INFO tor_hsservice: Generated a new identity for service bar: ???mad.onion
```

After:

```text
INFO tor_hsservice: Generated a new identity for service foo: […]2qd.onion
```
</content>
</entry>
</feed>
