summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
...
| * Replace manual Debug impl with educe in tor-chanmgrIan Jackson2022-03-021-0/+2
| |
| * Replace manual Debug impl with educe in tor-cellIan Jackson2022-03-021-0/+1
| |
| * Replace manual Debug impl with educe in tor-guardmgrIan Jackson2022-03-021-0/+2
| |
| * Replace manual Debug impl with educe in tor-circmgrIan Jackson2022-03-021-0/+2
| |
| * Import educe into tor-bytes and provide skip_fmtIan Jackson2022-03-021-0/+26
| | | | | | | | Preparatory work for getting rid of some manual Debug impls
* | Merge branch 'arti-testing-part1' into 'main'eta2022-03-041-0/+23
|\ \ | | | | | | | | | | | | arti-testing: Initial implementation See merge request tpo/core/arti!378
| * | arti-testing: Initial implementationNick Mathewson2022-03-031-0/+23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new program to try to implement the ideas behind experimentation in arti#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.
* / Switch to shellexpand-fork version of shellexpandIan Jackson2022-03-021-4/+4
|/ | | | | Apropos discussion in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/274
* Bump all crates to 0.1.0arti-v0.1.0Nick Mathewson2022-03-011-31/+31
|
* Final "cargo update" before relase.Nick Mathewson2022-03-011-6/+6
|
* arti-hyper: Provide TLS connector and make space for TLS streamIan Jackson2022-02-281-7/+200
| | | | | | | | | | 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.
* Run "cargo upgrade" in preparation for 0.1.0.Nick Mathewson2022-02-251-168/+204
| | | | | | (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)
* Upgrade to newer version of config crate.Nick Mathewson2022-02-251-26/+21
|
* Upgrade dependency to new version of rlimit.Nick Mathewson2022-02-251-2/+2
|
* arti-hyper: impl HasKind for ConnectionErrorIan Jackson2022-02-231-0/+1
|
* arti-hyper: Introduce new ConnectionError typeIan Jackson2022-02-231-0/+1
| | | | | 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.
* arti-hyper: Move hyper example from arti-clientIan Jackson2022-02-231-1/+5
| | | | Code motion and consequential dependency adjustments.
* arti-hyper: empty crate skeletonIan Jackson2022-02-231-0/+8
|
* Provide error reporter and use it in the arti binaryIan Jackson2022-02-181-0/+1
|
* Merge branch 'remaining-errors'Nick Mathewson2022-02-171-0/+2
|\
| * dirmgr: Remember where netdocs came from.Nick Mathewson2022-02-161-0/+1
| | | | | | | | | | This isn't complete (see TODO), but it's enough to let us report the right ErrorKind if something fails to parse.
| * Implement HasKind for tor_dirclient::ErrorNick Mathewson2022-02-161-0/+1
| |
* | Merge branch 'eta/lazy-init' into 'main'eta2022-02-161-0/+1
|\ \ | |/ |/| | | | | | | | | arti-client: add ability to automatically bootstrap Closes #278 See merge request tpo/core/arti!322
| * arti-client: add ability to automatically bootstrapeta2022-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 arti#278
* | Merge branch 'cell-proto-error' into 'main'Nick Mathewson2022-02-161-0/+2
|\ \ | |/ |/| | | | | tor-cell and tor-proto: provide HasKind. See merge request tpo/core/arti!304
| * tor-proto: use InternalError for internal errors.Nick Mathewson2022-02-151-0/+1
| |
| * tor-cell: provide HasKind.Nick Mathewson2022-02-151-0/+1
| | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'doc-errors' into 'main'Nick Mathewson2022-02-151-0/+2
|\ \ | |/ |/| | | | | Refactor errors in tor-netdoc See merge request tpo/core/arti!314
| * Refactor tor_netdoc::ErrorNick Mathewson2022-02-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Simplify wait_for_bootstrap to use a Mutex.Nick Mathewson2022-02-141-1/+0
|/ | | | | | | | 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.
* Merge branch 'eta/unbootstrapped-clients' into 'main'Nick Mathewson2022-02-111-0/+2
|\ | | | | | | | | | | | | 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-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | tor-socksproto: Implement HasKindNick Mathewson2022-02-111-0/+1
| | | | | | | | | | (This error isn't yet wrapped in TorError, but it will be eventually when we implement socks proxy and PT support.)
* | tor-bytes: Use InternalError.Nick Mathewson2022-02-091-0/+1
| | | | | | | | | | | | 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.
* | tor-config: Add HasKind support.Nick Mathewson2022-02-091-0/+1
|/ | | | This required a few new ErrorKinds.
* Expire channels that have been unused for too longYuan Lyu2022-02-041-0/+1
|
* spawn errors: impl HasKind for futures::SpawnErrorIan Jackson2022-02-041-0/+3
| | | | | | | | | 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.
* tor-error: Add as a ddpendency to many cratesIan Jackson2022-02-041-0/+5
| | | | Doing this here makes it easier when I rebase/reorder things
* tor-error: Introduce InternalError as a type and a kindIan Jackson2022-02-041-0/+46
| | | | This can contain a backtrace, which will be printed.
* tor-error: Skeleton for new crateIan Jackson2022-02-041-0/+7
| | | | | | As per doc/Errors.md. Currently there are no error kinds. Some will be added as we go along.
* Reload configuration when our configuration files change.Nick Mathewson2022-02-011-47/+269
| | | | Closes #270
* Bump tor-netdir and tor-guardmgr versionsarti-v0.0.4Nick Mathewson2022-01-311-2/+2
| | | | | | | | tor-netdir needs to bump because tor-netdoc bumped, even though there were no other changes in tor-netdir. Whoops. tor-guardmgr needs to bump because it already published, with the older tor-netdir.
* Bump the patch version of every crate that changed since 0.0.3Nick Mathewson2022-01-311-14/+14
|
* Run "cargo update" in preparation for monday's release.Nick Mathewson2022-01-281-88/+103
|
* arti: be more careful to use the user-selected runtimeNick Mathewson2022-01-261-0/+1
|
* Refactor native_tls usage into its own moduleNick Mathewson2022-01-251-11/+0
| | | | | This change uses the async-native-tls crate for everything, and deletes some duplicated code.
* tor-rtcompat: Add support for rustls.Nick Mathewson2022-01-251-0/+78
| | | | | | | | | | | | | | | | | | | This is based on @janimo's approach in !74, but diverges in a few important ways. 1. It assumes that something like !251 will merge, so that we can have separate implementations for native_tls and rustls compiled at the same time. 2. It assumes that we can implement this for the futures::io traits only with no real penalty. 3. It uses the `x509-signature` crate to work around the pickiness of the `webpki` crate. If webpki eventually solves their [bug 219](https://github.com/briansmith/webpki/issues/219), we can remove a lot of that workaround. Closes #86.
* Refactor Runtimes to use separate TLS implementations internally.Nick Mathewson2022-01-191-1/+0
| | | | | This will make it easier to implement them using some other TLS provider as well, without having to duplicate all of our code.
* Merge branch 'bootstrap_reporting'Nick Mathewson2022-01-191-0/+10
|\
| * tor-chanmgr: Add bootstrap/status reporting.Nick Mathewson2022-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The information is pretty basic here: we use "have we been able to connect/TLS-handshake/Tor-handshake" as a proxy for "are we on the internet? Are we on a reasonably unfiltered part of the internet?" Eventually we'll want to make the information gathered and exported more detailed: I've noted a few places in the code. For now, however, this is about as good as C Tor does today, and it should be a good starting point. This uses a slightly different design from tor-dirmgr. Instead of exporting an entire state structure via `postage::watch`, it exports only the parts of that structure which the user is supposed to read. I think that's more reasonable in this case because most of the possible internal transitions in the tor-chanmgr state don't cause a change in the exposed status.