summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'error-kind-notimp' into 'main'Ian Jackson2022-02-144-15/+32
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | Split up ErrorKind::NoSupport See merge request tpo/core/arti!311
| * | | | ErrorKind::NotImplemented: fix two testsIan Jackson2022-02-142-2/+2
| | | | |
| * | | | Split up ErrorKind::NoSupportIan Jackson2022-02-144-13/+30
| |/ / /
* | | | Merge branch 'error-kind-config-transition' into 'main'Nick Mathewson2022-02-141-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Clarify ErrorKind::InvalidConfigTransition See merge request tpo/core/arti!309
| * | | | Clarify ErrorKind::InvalidConfigTransitionIan Jackson2022-02-141-0/+3
| |/ / /
* | | | Merge branch 'useless_qm' into 'main'Nick Mathewson2022-02-141-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | dirmgr: Remove a useless Ok(x?) See merge request tpo/core/arti!307
| * | | dirmgr: Remove a useless Ok(x?)Nick Mathewson2022-02-141-1/+1
| |/ / | | | | | | | | | Found by nightly clippy.
* | | Merge branch 'update_if_zero' into 'main'Nick Mathewson2022-02-142-4/+38
|\ \ \ | |/ / |/| | | | | | | | Use atomic set-and-check to update OptTimestamps if none. See merge request tpo/core/arti!297
| * | Use atomic set-and-check to update OptTimestamps if none.Nick Mathewson2022-02-092-4/+38
| | | | | | | | | | | | | | | | | | | | | This fixes a tiny race condition in the previous code, where we checked whether an OptTimestamp is None a bit before we set it. Since std::atomic gives us compare_exchange, we might as well use it.
* | | Rename bootstrap_existing to bootstrap.Nick Mathewson2022-02-112-12/+10
| | | | | | | | | | | | (Looks like this one got missed.)
* | | Merge branch 'eta/unbootstrapped-clients' into 'main'Nick Mathewson2022-02-1112-93/+386
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Allow creating unbootstrapped `TorClient`s (and `DirMgr`s) Closes #293 See merge request tpo/core/arti!298
| * | | Allow creating unbootstrapped `TorClient`s (and `DirMgr`s)eta2022-02-1112-93/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes how the `TorClient` type works, enabling it to be constructed synchronously without initiating the bootstrapping process. Daemon tasks are still started on construction (although some of them won't do anything if the client isn't bootstrapped). The old bootstrap() methods are now reimplemented in terms of the new create_unbootstrapped() and bootstrap_existing() methods. This required refactoring how the `DirMgr` works to enable the same sort of thing there. closes #293
* | | | Merge branch 'connect_examples' into 'main'eta2022-02-111-5/+64
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Write some examples for TorClient::connect() See merge request tpo/core/arti!303
| * | | | 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