summaryrefslogtreecommitdiff
path: root/crates/tor-rtcompat/Cargo.toml
Commit message (Collapse)AuthorAgeFilesLines
* Bump all arti*, tor* crates to 0.2.0Nick Mathewson2022-04-011-1/+1
| | | | | | | | Not all of these strictly need to be bumped to 0.2.0; many could go to 0.1.1 instead. But since everything at the tor-rtcompat and higher layers has had breaking API changes, it seems not so useful to distinguish. (It seems unlikely that anybody at this stage is depending on e.g. tor-protover but not arti-client.)
* Replace manual Clone impl with educe in tor-rtcompatIan Jackson2022-03-021-0/+1
|
* Bump all crates to 0.1.0arti-v0.1.0Nick Mathewson2022-03-011-1/+1
|
* Bump minimum tokio to 1.7, since tokio-util now needs that.Nick Mathewson2022-02-251-1/+1
|
* Upgrade dependency to new version of tokio-util.Nick Mathewson2022-02-251-1/+1
|
* Upgrade required version of futures crate to 0.3.14Nick Mathewson2022-02-011-1/+1
| | | | | Earlier versions have a bug in UnboundedReceiver that make our new dirclient tests fail.
* Bump the patch version of every crate that changed since 0.0.3Nick Mathewson2022-01-311-1/+1
|
* Make the native-tls crate optional.Nick Mathewson2022-01-261-3/+11
| | | | | | | | | | | This commit puts the native-tls crate behind a feature. The feature is off-by-default in the tor-rtcompat crate, but can be enabled either from arti or arti-client. There is an included script that I used to test that tor-rtcompat could build and run its tests with all subsets of its features. Closes #300
* Refactor native_tls usage into its own moduleNick Mathewson2022-01-251-4/+3
| | | | | 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/+4
| | | | | | | | | | | | | | | | | | | 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.
* Bump all crate versions to 0.0.3.Nick Mathewson2022-01-111-1/+1
|
* Minimize the required version for each dependency.Nick Mathewson2022-01-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found these versions empirically, by using the following process: First, I used `cargo tree --depth 1 --kind all` to get a list of every immediate dependency we had. Then, I used `cargo upgrade --workspace package@version` to change each dependency to the earliest version with which (in theory) the current version is semver-compatible. IOW, if the current version was 3.2.3, I picked "3". If the current version was 0.12.8, I picked "0.12". Then, I used `cargo +nightly upgrade -Z minimal-versions` to downgrade Cargo.lock to the minimal listed version for each dependency. (I had to override a few packages; see .gitlab-ci.yml for details). Finally, I repeatedly increased the version of each of our dependencies until our code compiled and the tests passed. Here's what I found that we need: anyhow >= 1.0.5: Earlier versions break our hyper example. async-broadcast >= 0.3.2: Earlier versions fail our tests. async-compression 0.3.5: Earlier versions handled futures and tokio differently. async-trait >= 0.1.2: Earlier versions are too buggy to compile our code. clap 2.33.0: For Arg::default_value_os(). coarsetime >= 0.1.20: exposed as_ticks() function. curve25519-dalek >= 3.2: For is_identity(). generic-array 0.14.3: Earlier versions don't implement From<&[T; 32]> httparse >= 1.2: Earlier versions didn't implement Error. itertools at 0.10.1: For at_most_once. rusqlite >= 0.26.3: for backward compatibility with older rustc. serde 1.0.103: Older versions break our code. serde_json >= 1.0.50: Since we need its Value type to implement Eq. shellexpand >= 2.1: To avoid a broken dirs crate version. tokio >= 1.4: For Handle::block_on(). tracing >= 0.1.18: Previously, tracing_core and tracing had separate LevelFilter types. typenum >= 1.12: Compatibility with rust-crypto crates x25519-dalek >= 1.2.0: For was_contributory(). Closes #275.
* Bump every crate by one patch version.Nick Mathewson2021-11-291-1/+1
|
* Upgrade to async-native-tls 0.4.0Nick Mathewson2021-11-121-1/+1
|
* Bump all crate versions to 0.0.1Nick Mathewson2021-10-291-1/+1
|
* Require up-to-date x25519-dalek, async_executors, and argh.Nick Mathewson2021-10-091-1/+1
| | | | | | | | I tried using -Z minimal-versions to downgrade all first-level dependencies to their oldest permitted versions, and found that we were apparently depending on newer features of all three crates. I'm kind of surprised there were only three.
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-271-0/+35
This will cause some pain for now, but now is really the best time to do this kind of thing.