<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-keymgr/src/keystore/ctor, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<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>keymgr: Remove RawKeystoreEntry (fmt)</title>
<updated>2026-05-18T15:07:50Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-05-18T13:28:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4673b7a95bd023ac8d84046462a3790ec3785893'/>
<id>urn:sha1:4673b7a95bd023ac8d84046462a3790ec3785893</id>
<content type='text'>
</content>
</entry>
<entry>
<title>keymgr: Remove RawKeystoreEntry</title>
<updated>2026-05-18T15:07:50Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-05-18T13:24:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2cfba1e031f5721cda583d95c03223e517c11612'/>
<id>urn:sha1:2cfba1e031f5721cda583d95c03223e517c11612</id>
<content type='text'>
I think this adds unnecessary indirection, and it's a bit confusing to
have two separate keystore entry types (we have `KeystoreEntry` too).

This type exists just to server as a wrapper over the `RawEntryId` of an
unrecognized keystore entry, and the `KeystoreId` of the keystore it was
found in.

This commit folds `RawKeystoreEntry` into `UnrecognizedEntry`, which was
previously a thin wrapper over `RawKeystoreEntry`.
</content>
</entry>
<entry>
<title>keymgr: Make CTorPath more like the client/service specifiers (fmt)</title>
<updated>2026-01-06T15:25:20Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-06T10:45:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cf0267f8e4b6182448963949cfeebe35f949eb0f'/>
<id>urn:sha1:cf0267f8e4b6182448963949cfeebe35f949eb0f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>keymgr: Make CTorPath more like the client/service specifiers</title>
<updated>2026-01-06T15:25:20Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-06T10:43:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71178a54dc8c3c3ed75b14ecbca3197feb22accc'/>
<id>urn:sha1:71178a54dc8c3c3ed75b14ecbca3197feb22accc</id>
<content type='text'>
This will make it easier to see the correspondence between CTorPaths
and the HS client/service key specifiers.

Initially, I was hoping this would make it easier to write a d-d macro
that automatically derives a `CTorPath` variant (e.g.
`HsClientDescEncKeypair`) from the KeySpecifier type name
(`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can
"chop off" name suffixes ("Specifier", in this case).
`from_ctor_path()`/`ctor_path()` implementations for converting
`CTorPath`s to and from key specifiers.
</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>misc: cleanup now that `_report!` macros support fields</title>
<updated>2025-08-18T19:45:55Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-09T20:31:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2de5c18fae7be30c4ab3c3fae520c81fb3ff74ed'/>
<id>urn:sha1:2de5c18fae7be30c4ab3c3fae520c81fb3ff74ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clippy: fix `clippy::implicit_clone` errors</title>
<updated>2025-08-11T15:18:41Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-11T15:18:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=691177eae9f0d3117220f7927237fbf9fafc79e6'/>
<id>urn:sha1:691177eae9f0d3117220f7927237fbf9fafc79e6</id>
<content type='text'>
```text
error: implicitly cloning a `String` by calling `to_string` on its dereferenced type
   --&gt; crates/tor-config/src/lib.rs:109:32
    |
109 |             V::String(_, s) =&gt; s.to_string(),
    |                                ^^^^^^^^^^^^^ help: consider using: `s.clone()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_clone
note: the lint level is defined here
   --&gt; crates/tor-config/src/lib.rs:20:9
    |
 20 | #![deny(clippy::implicit_clone)]
    |         ^^^^^^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>arti: keys: Add arti keys-raw</title>
<updated>2025-07-14T14:33:56Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2025-07-10T08:07:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6958b6c89be93c77a68ab8a080a2f313bff02df0'/>
<id>urn:sha1:6958b6c89be93c77a68ab8a080a2f313bff02df0</id>
<content type='text'>
* CLI: Add `keys-raw` and subcommand `remove-by-path`
* arti: Add `arti::subcommand::raw` for the CLI `keys-raw`
* tor-keymgr: Add `ArtiNativeKeystoreError::UnexpectedRawEntry`,
  `ArtiEphemeralKeystoreError::NotSupported`
* tor-keymgr: Add `tor-keymgr::raw` module
* tor-keymgr: Add `Keystore::remove_unchecked`
* tor-keymgr: Change `Keystore::list` to return `KeystoreEntry`
* tor-keymgr: Add field `KeystoreEntry::raw_id`
* doc: Update keys.md
* doc: Add raw.md
* tor-keymgr: BREAKING: `UnrecognizedEntryError::new` associated
  function is now only accessible within the crate `tor-keymgr`
* tor-keymgr: BREAKING: `UnrecognizedEntryId` is renamed to
  `UnrecognizedEntry`
* tor-keymgr: BREAKING: `KeyMgr::list()` and `Keystore::list()`
  now return `Result&lt;Vec&lt;KeystoreEntryResult&lt;KeystoreEntry&gt;&gt;&gt;`
</content>
</entry>
</feed>
