<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/err.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-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>rpc: Adjust invoke_rpc_method API and related lookups.</title>
<updated>2026-04-13T19:25:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-13T17:26:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6785f80fde8a2c0e1dea91d51ec0f4d36bdcb6bf'/>
<id>urn:sha1:6785f80fde8a2c0e1dea91d51ec0f4d36bdcb6bf</id>
<content type='text'>
The important thing here is that we need to look up the object
_after_ we invoke any non-dispatched methods, since the object might
be an expired weak reference.

This required some related changes to tests and error types.

Additionally, it required us to change the return value of
Context::remove, since we can remove objects that are not completely
present.
</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>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>rpcbase: Enforce validity on error datum keywords.</title>
<updated>2025-01-27T21:10:47Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-27T18:41:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5b36cfcf4c66331f22db16ea1d46c278ea127195'/>
<id>urn:sha1:5b36cfcf4c66331f22db16ea1d46c278ea127195</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Include "data" field in error.</title>
<updated>2024-10-17T23:23:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-17T23:04:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b126228d3297596113e187d2793cf7aa79bd8a34'/>
<id>urn:sha1:b126228d3297596113e187d2793cf7aa79bd8a34</id>
<content type='text'>
In older versions of the rpc spec, this field held a serialized
version of the Arti error object.  That's no longer the design: now
it provides a way for specific errors to include extra, specified,
machine-readable data.  For more information see the section
"Errors" in rpc-meta-draft.md
</content>
</entry>
<entry>
<title>Remove Rpc* variants from tor_error::ErrorKind</title>
<updated>2024-10-17T23:16:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-16T18:58:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5219f4cee5a74c0abdd8ad548b4ead9e2066cb2c'/>
<id>urn:sha1:5219f4cee5a74c0abdd8ad548b4ead9e2066cb2c</id>
<content type='text'>
These are not regular ErrorKinds, since they can never occur in an
error that's meant to be returned from a Rust API like
`arti-client`.  Instead, they only exist for errors returned from
RpcError.

(I can't find the place where we discussed this previously, but the
rationale is that if an ErrorKind never makes sense in response to
something that the user does from Rust, we should never have that be
an ErrorKind.  The fact that the removed kinds do not actually
appear outside the RPC system suggests that this is reasonable.)
</content>
</entry>
<entry>
<title>Tweak some RpcErrorKind member names.</title>
<updated>2024-10-17T19:19:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-16T17:32:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=124038aaa8c9e85e773cc150c0732761f4cf9562'/>
<id>urn:sha1:124038aaa8c9e85e773cc150c0732761f4cf9562</id>
<content type='text'>
In some cases, the tor_error::ErrorKind names were nicer.
</content>
</entry>
<entry>
<title>rpc: Create a constructor for RpcError.</title>
<updated>2024-10-17T19:19:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-15T21:07:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=74424b2dd0eed95b96096ed0267c71f3c8f70ae2'/>
<id>urn:sha1:74424b2dd0eed95b96096ed0267c71f3c8f70ae2</id>
<content type='text'>
We'll use this to make RpcErrors directly, without having to go
through an error that implements HasKind.

Later, we'll add the ability to set the `data` fields on an RpcError.
</content>
</entry>
<entry>
<title>rpc: Allow the "RpcError.kinds" to be an RpcErrorKind.</title>
<updated>2024-10-17T19:19:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-15T21:03:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b7368d270364f15945dc3a81d81a7109a4e98a5d'/>
<id>urn:sha1:b7368d270364f15945dc3a81d81a7109a4e98a5d</id>
<content type='text'>
This change will let us start removing the not-entirely-logical
`Rpc.*` variants from tor_error::ErrorKind.
</content>
</entry>
</feed>
