- Mar 07, 2022
-
-
Nick Mathewson authored
This commit adds support for a BrokenTcp provider that can make connection attempts fail or time out. It doesn't yet have a way to turn on the failure.
-
- Mar 04, 2022
-
-
Ian Jackson authored
Code motion and the minimal mechanical changes. As per !375 (comment 2783078)
-
Ian Jackson authored
Empty crate right now
-
- Mar 03, 2022
-
-
Nick Mathewson authored
This commit adds a new program to try to implement the ideas behind experimentation in #329. In particular, it tries to implement basic client "can I bootstrap and connect" functionality testing, with a lot of instrumentation, and support for breaking things. So far, the instrumentation is limited to counting TCP bytes and connections, and counting events. Still, this is enough to measure behavior on some of the incorrect-clock tests. NOTE: For now, you are _required_ to pass in an explicit configuration, in hopes that this will lead you to override your storage directories for doing specific experiments.
-
- Mar 02, 2022
-
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
We now print slighly more information.
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
Preparatory work for getting rid of some manual Debug impls
-
Ian Jackson authored
Apropos discussion in tpo/core/arti!274
-
- Mar 01, 2022
-
-
Nick Mathewson authored
- Feb 28, 2022
-
-
Ian Jackson authored
Add tls_conn field to ArtiHttpConnector (and argument to constructor). Introduce MaybeHttpsStream and use it in ArtiHttpConnection. Have the example program pass the native TLS connector. Currently the TLS connector and the HTTPS variant are not used, but this commit is very noisy and fomrulaic, so I have split out the code to use them into a separate commit for easier preparation and review.
-
- Feb 25, 2022
-
-
Nick Mathewson authored
(It's good to do this a couple of days in advance in case it turns up any bugs. That's how we caught the panic bug in simple_asn1 0.6.0)
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Feb 23, 2022
-
-
Ian Jackson authored
-
Ian Jackson authored
We need this not to use anyhow because we don't want our libraries to expose anyhow, and this is about to go into the library.
-
Ian Jackson authored
Code motion and consequential dependency adjustments.
-
Ian Jackson authored
-
- Feb 18, 2022
-
-
Ian Jackson authored
-
- Feb 16, 2022
-
-
Nick Mathewson authored
This isn't complete (see TODO), but it's enough to let us report the right ErrorKind if something fails to parse.
-
Nick Mathewson authored
-
eta authored
The new `BootstrapBehavior` enum controls whether an unbootstrapped `TorClient` will bootstrap itself automatically (`Ondemand`) when an attempt is made to use it, or whether the user must perform bootstrapping themselves (`Manual`). The `lazy-init` example shows how you could write a simple `get_tor_client()` function that used a global `OnceCell` to share a Tor client across an entire application with this API. closes #278
-
- Feb 15, 2022
-
-
Nick Mathewson authored
-
Nick Mathewson authored
Additionally, refactor the IoError out of tor_cell::Error: nothing in TorCell created this; it was only used by tor_proto. This required refactoring in tor_proto to use a new error type. Here I decided to use a new CodecError for now, though we may refactor that away soon too.
-
- Feb 14, 2022
-
-
Nick Mathewson authored
This error type doesn't impement HasKind, since the kind will depend on context. However, the existing implementation was pretty messy and inconsistent: Some errors had positions, some didn't. Some took messages as str, some as String. Some had internal errors that were somewhat orthogonal to their actual types. This commit refactors tor_netdoc::Error to use a ParseErrorKind, and adds a set of convenience functions to add positions and messages to the errors that need them.
-
Nick Mathewson authored
Since the only purpose of this function is to make sure that no bootstrapping task is running, a simple futures::lock::Mutex should do the job just fine. Closes #337.
-
- Feb 11, 2022
-
-
eta authored
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
-
Nick Mathewson authored
(This error isn't yet wrapped in TorError, but it will be eventually when we implement socks proxy and PT support.)
-
- Feb 09, 2022
-
-
Nick Mathewson authored
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.
-
Nick Mathewson authored
This required a few new ErrorKinds.
-
- Feb 05, 2022
-
-
yuan authored
-
- Feb 04, 2022
-
-
Ian Jackson authored
This needs two kinds. We have decided to treat a non-shutdown SpawnError as "unexplained" rather than as an InternalError. There are many crates whose From<futures::task::SpawnError> for Error erroneously treat it as an internal error. We will fix them in a moment.
-
Ian Jackson authored
Doing this here makes it easier when I rebase/reorder things
-