<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/err.rs, branch arti-v2.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-07T15:28:36Z</updated>
<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>dirmgr: Backend support for cacheing protocol status.</title>
<updated>2025-04-16T23:06:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-03T12:47:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b483b454669b8b0ce93ea52896992d9234e4779d'/>
<id>urn:sha1:b483b454669b8b0ce93ea52896992d9234e4779d</id>
<content type='text'>
We want to store this separately from the consensus,
because we want to access it very early in our load-from-cache
process, without checking the consensus that contains it
for timeliness.
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2024-09-03T08:09:02Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2024-09-03T08:09:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=676f913463b7d84f34dd6101b99d03ef79cf57ad'/>
<id>urn:sha1:676f913463b7d84f34dd6101b99d03ef79cf57ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-dirmgr: Return an error if storage is readonly and DB is missing/incompatbile.</title>
<updated>2024-07-30T10:00:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-07-23T15:16:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d7b92bd91d117deb6be85f82bfadd1bbae463a2c'/>
<id>urn:sha1:d7b92bd91d117deb6be85f82bfadd1bbae463a2c</id>
<content type='text'>
This fixes a bug in `SqliteStore`'s constructor: previously, it would
unconditionally try to create the missing database, even if it didn't
have write access. As a result, it was impossible to reliably start
multiple concurrent arti processes configured with the same (empty or
nonexistent) cache_dir, because many of them would fail with errors such
as
```
attempt to write a readonly database: Error code 8: Attempt to write a readonly database
```

Returning a `LocalResourceAlreadyInUse` error kind here enables us to
leverage the retry loop from `TorClientBuilder::create_unbootstrapped`
(which retries on local resource errors if `local_resource_timeout` is
set).

Closes #1497
</content>
</entry>
<entry>
<title>tor-dirmgr: Deprecate Error::CachePermissions, use CacheAccess</title>
<updated>2024-07-10T10:50:44Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-07-09T13:35:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=19fd35e1a3936929a88f077c58019189323044b0'/>
<id>urn:sha1:19fd35e1a3936929a88f077c58019189323044b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-dirmgr: Correct message and description for mistrust error</title>
<updated>2024-07-10T10:50:44Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-07-09T13:32:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a29495316b94bba214dc3970d23d5d6e5110f7b'/>
<id>urn:sha1:1a29495316b94bba214dc3970d23d5d6e5110f7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-persist: Provide FsMistrustErrorExt, and use it</title>
<updated>2023-12-13T17:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-12-07T16:18:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=76bd3c0f4dc5886dbc4a11304a87661d1252b829'/>
<id>urn:sha1:76bd3c0f4dc5886dbc4a11304a87661d1252b829</id>
<content type='text'>
This code needs fs_mistrust::Error and tor_error::ErrorKind.  I think
we probably don't want fs_mistrust to depend on tor_error or vice
versa.

tor_persist is approximately the place where these two threads of
thought come together, and it's currently the lowest place where this
is needed.

Use it in tor-dirmgr too, which is currently the other place that
embodies this knowledge about fs_mistrust::Error.
</content>
</entry>
<entry>
<title>tor-dirmgr: impl AsRef&lt;dyn Error&gt; for Error</title>
<updated>2022-11-04T19:01:24Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-11-02T18:59:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9424b0970d29f16713059a859c633f7c2691f2c2'/>
<id>urn:sha1:9424b0970d29f16713059a859c633f7c2691f2c2</id>
<content type='text'>
This allows use with tor_error::Report.
</content>
</entry>
<entry>
<title>`TaskSchedule`: give error on `sleep*()` if last handle is dropped</title>
<updated>2022-09-07T13:22:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-07T13:22:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86e479ae1360a0cea3ad8020653c59f6aa52d338'/>
<id>urn:sha1:86e479ae1360a0cea3ad8020653c59f6aa52d338</id>
<content type='text'>
This fixes an busy-loop.

When the last `TaskHandle` on a `TaskSchedule` is dropped, the
schedule is permanently canceled: whatever operation it was
scheduling should no longer be performed.  But our code was broken:
the `sleep()` and `sleep_until_wallclock()` functions don't verify
whether the handles are dropped or not.

This breakage caused an CPU-eating busy-loop in
`sleep_until_wallclock`.

With this patch, we now return a `Result&lt;(), SleepError&gt;` from these
functions.

Fixes #572.
</content>
</entry>
<entry>
<title>Use anonymize_home() when displaying various messages.</title>
<updated>2022-08-31T13:38:35Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-26T16:38:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a9f19b00453ffd19fddb724f2b75f32ea1f37edb'/>
<id>urn:sha1:a9f19b00453ffd19fddb724f2b75f32ea1f37edb</id>
<content type='text'>
Closes #555
</content>
</entry>
</feed>
