summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Write some examples for TorClient::connect()Nick Mathewson2022-02-111-5/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These should explain better what you can pass as an address, and what you should do if you _really need_ to provide a SocketAddr or something.
* | | | | Merge branch 'socksproto-errors' into 'main'Nick Mathewson2022-02-119-46/+156
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-socksproto: Implement HasKind See merge request tpo/core/arti!299
| * | | | socksproto: fix one more error type.Nick Mathewson2022-02-111-1/+1
| | | | |
| * | | | socksproto: Simplify Truncated handlingNick Mathewson2022-02-113-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the Error type to remove the yucky internal hidden Truncated variant. Instead, there's now an embedded tor_bytes::Error value. If that tor_bytes::Error is Truncated, we bubble it up when we convert our handshake result to the nested error struct. Thus there is still (sadly) a variant of tor_socksproto::Error that shouldn't be exposed to user code. But refactoring every inner method under handshake.rs seemed like a bad idea: once we're using Result<Result<..>>, the ? operator no longer helps us much.
| * | | | Move the Truncated error into tor-errors.Nick Mathewson2022-02-115-19/+30
| | | | |
| * | | | Try to resolve the "Truncated" error in tor-socksprotoNick Mathewson2022-02-114-50/+66
| | | | | | | | | | | | | | | | | | | | | | | | | I'm not in love with this solution; the others just seem a bit ugly too.
| * | | | tor-socksproto: Implement HasKindNick Mathewson2022-02-115-10/+93
|/ / / / | | | | | | | | | | | | | | | | (This error isn't yet wrapped in TorError, but it will be eventually when we implement socks proxy and PT support.)
* | | | 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
| | |