summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'typos' into 'main'Nick Mathewson2022-02-102-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix typos See merge request tpo/core/arti!301
| * | | | Fix typosDimitris Apostolou2022-02-102-2/+2
| | | | |
* | | | | Merge branch 'bytes-err' into 'main'eta2022-02-104-3/+19
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-bytes: Use InternalError. See merge request tpo/core/arti!300
| * | | | tor-bytes: Use InternalError.Nick Mathewson2022-02-094-3/+19
|/ / / / | | | | | | | | | | | | | | | | | | | | This crate's Error type is too low-level to have an ErrorKind, but it does make sense to use InternalError for the internal errors here.
* | | | Merge branch 'tor-config-err' into 'main'Nick Mathewson2022-02-095-0/+80
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-config: Add HasKind support. See merge request tpo/core/arti!296
| * | | tor-config: Add HasKind support.Nick Mathewson2022-02-095-0/+80
|/ / / | | | | | | | | | This required a few new ErrorKinds.
* | | Add TODOs on uncertain points about time_since_last_trafficNick Mathewson2022-02-092-0/+2
| | | | | | | | | | | | | | | | | | This edge-case was there even before the migration of 595fe1ab881b94106649, but now it's more explicit and ought to be revisited.
* | | Merge branch 'issue-324' into 'main'Nick Mathewson2022-02-096-65/+83
|\ \ \ | |/ / |/| | | | | | | | Remove the use of Mutex in channel unused_since timestamp See merge request tpo/core/arti!293
| * | Remove the use of Mutex in channel unused_since timestampYuan Lyu2022-02-086-65/+83
| | |
* | | Merge branch 'allow-failure-coverage' into 'main'eta2022-02-091-0/+1
|\ \ \ | |/ / |/| | | | | | | | Temporarily allow failures in the coverage CI. See merge request tpo/core/arti!295
| * | Temporarily allow failures in the coverage CI.Nick Mathewson2022-02-091-0/+1
|/ / | | | | | | Right now it's failing on nightly through no fault of our own.
* | Merge branch 'error_improvements2' into 'main'eta2022-02-084-91/+144
|\ \ | | | | | | | | | | | | | | | | | | Another set of improvements to the error code Closes #321 See merge request tpo/core/arti!294
| * | Update launch of chan expiration task to new APINick Mathewson2022-02-081-4/+6
| | | | | | | | | | | | This fixes a compilation error.
| * | ErrorDetail Simplify visibility macros a bit.Nick Mathewson2022-02-082-19/+53
| | | | | | | | | | | | | | | | | | | | | | | | Instead of declaring a macro that takes vis as an argument, we now conditionally declare a macro that applies an appropriate visibility. There's a long comment explaining the rationale here, along with a couple of other solutions that don't work.
| * | Rename TorResult to Result.Nick Mathewson2022-02-083-27/+28
| | | | | | | | | | | | | | | | | | | | | This is closer to common usage. (Not that we all agree with common usage, but it's closer to what people expect.)
| * | arti_client: Rename Error to ErrorDetail.Nick Mathewson2022-02-084-48/+43
| | | | | | | | | | | | | | | | | | | | | This is closer to what we described in Errors.md. Also, remove the (sometimes private) Result alias: it was only used in one or two places, and never exposed in public.
| * | TorError: Make detail() an accessor function.Nick Mathewson2022-02-081-4/+25
|/ / | | | | | | | | | | This change lets us make TorError's members unconditionally hidden, and makes our API a little more consistent (since basically nothing else is a public field).
* | Merge branch 'error-improvements' into 'main'eta2022-02-0815-225/+469
|\ \ | | | | | | | | | | | | Hopefully uncontroversial improvements to new Error code See merge request tpo/core/arti!291
| * | Tests for TargetPorts::display()Nick Mathewson2022-02-041-1/+12
| | |
| * | tests for tor-error::internalNick Mathewson2022-02-041-1/+47
| | | | | | | | | | | | | | | | | | These tests turned up a need for using the #[track_caller] annotation in order to get accurate locations, which is fortunately stable since Rust 1.46.0.
| * | Docs and clarification for a bunch of Error stuffNick Mathewson2022-02-043-73/+134
| | |
| * | Make SpawnError wrappers contain a 'spawning' stringNick Mathewson2022-02-049-94/+164
| | | | | | | | | | | | | | | (By our convention, these errors should say what we were trying to spawn when the error occurred.)
| * | Make the Error detail type non-exported from arti-clientNick Mathewson2022-02-045-44/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least by default, we should have Error be private, and not expose it as part of our APIs. To keep functionality in `arti`, I had to add an `ExitTimeout` error kind. For interface consistency, I also re-exported ErrorKind and HasError from `arti_client`.
| * | Test that TorError implements the right traits.Nick Mathewson2022-02-041-3/+21
| | | | | | | | | | | | | | | I had planned to use assert_impl, but that can't check for the 'static lifetime.
| * | Make TorError implement Clone.Nick Mathewson2022-02-043-10/+41
| | | | | | | | | | | | | | | This patch makes only minimal changes in lower-level error types: we have more refactoring to do.
* | | Merge branch 'issue-41' into 'main'Nick Mathewson2022-02-0710-30/+304
|\ \ \ | |/ / |/| | | | | | | | Expire channels that have been unused for too long See merge request tpo/core/arti!273
| * | Clean up ChannelState ready_to_expireYuan Lyu2022-02-061-10/+9
| | |
| * | Expire channels that have been unused for too longYuan Lyu2022-02-0410-30/+305
|/ /
* | Fix a doc link.Nick Mathewson2022-02-041-1/+2
| |
* | Merge branch 'error-poc' into 'main'Nick Mathewson2022-02-0431-61/+850
|\ \ | | | | | | | | | | | | New error handling proof of concept See merge request tpo/core/arti!262
| * | Require backtrace 0.3.8.Nick Mathewson2022-02-041-1/+1
| | | | | | | | | | | | | | | | | | This is the first version that builds correctly on our CI. It's from back in 2018, so requiring it shouldn't cause any major problems.
| * | channel errors: Include what we were doingIan Jackson2022-02-042-11/+16
| | |
| * | errors: Add some TODOs as per discussion commentsIan Jackson2022-02-042-0/+8
| | |
| * | errors: ErrorKind::TODO: Fix typo in messageIan Jackson2022-02-041-1/+1
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/262#note_2772816
| * | errors: Change docs for ErrorKind to refer to ArtiIan Jackson2022-02-041-2/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/262#note_2772810
| * | errors: Drop "Error" and "Failed" from various enum variantsIan Jackson2022-02-047-9/+9
| | |
| * | Box the Error in a TorErrorIan Jackson2022-02-041-2/+10
| | | | | | | | | | | | | | | | | | This will get quite large and boxing it here is very convenient. This also avoids us exposing a large error type to our callers.
| * | errors: Handle exit circuit creation failure the new wayIan Jackson2022-02-042-2/+22
| | |
| * | errors: Handle circmgr setup errors differentlyIan Jackson2022-02-042-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for doing this now is to remove the `#[from]` so we would spot where operationsl circuit setup failures were handled. (But it turns out that they are turned into internal errors!) Perhaps this will want to become a different error type from circmgr in due course, but for now we simply use a bespoke variant of TorError. It will want its own Kind. The TODO in the HasKind impl marks this (amongst much else here).
| * | tor-circmgr: Introduce TargetPorts with a pretty Display implIan Jackson2022-02-042-2/+35
| | |
| * | tor-circmgr::Error: impl HasKindIan Jackson2022-02-041-0/+12
| | |
| * | tor-circmgr: Handle channel creation errors in the new styleIan Jackson2022-02-042-4/+19
| | |
| * | tor-chanmgr::Error: impl HasKindIan Jackson2022-02-042-0/+21
| | |
| * | tor-chanmgr: Handle IO errora in the new styleIan Jackson2022-02-042-14/+26
| | | | | | | | | | | | | | | Two ? in the tests become expects, which will do. That avoids having to construct a proper error with context here.
| * | errors: Introduce error_detail featureIan Jackson2022-02-044-3/+39
| | | | | | | | | | | | | | | Right now we must always expose the `Error` type since we haven't converted everything.
| * | errors: Refer to err::Error in some bits of arti_clientIan Jackson2022-02-044-9/+11
| | | | | | | | | | | | We are going to make the top-level Error type conditionally hidden.
| * | errors: Introduce TorErrorIan Jackson2022-02-043-7/+50
| | | | | | | | | | | | Still much to do here.
| * | errors: Initial impl HasKind in arti-client, ErrorKind::TODOIan Jackson2022-02-042-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This involves making a temporary ErrorKind::TODO. That will continue to exist until all errors (at least, the ones that make it out to here) can be properly categorised. Introducing this will let us work from the top and bottom towards the middle.
| * | errors: impl HasKind for GuardMgrErrorIan Jackson2022-02-041-0/+12
| | |
| * | spawn errors: tor-guardmgr: Use formulaic patternIan Jackson2022-02-041-2/+2
| | | | | | | | | | | | This makes this like all the others, and is marginally shorter