summaryrefslogtreecommitdiff
path: root/crates/tor-llcrypto
Commit message (Collapse)AuthorAgeFilesLines
* 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-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* extend lints to include 'clippy::all'Daniel Eades2021-12-281-0/+1
|
* address lint warningsDaniel Eades2021-12-091-1/+1
|
* Remove a XXXX comment in tor-llcrypto.Nick Mathewson2021-12-081-1/+0
| | | | | This comment was about an unspecified string; the issue of specifying the string is now torspec!55.
* Upgrade to digest v0.10.0Nick Mathewson2021-12-072-6/+6
| | | | | We generally try to track the latest rust-crypto traits when we can: fortunately, this upgrade didn't break much, considering.
* Resolve roughly half of the XXXXs.Nick Mathewson2021-12-062-6/+5
| | | | | | | | We want to only use TODO in the codebase for non-blockers, and open tickets for anything that is a bigger blocker than a TODO. These XXXXs seem like definite non-blockers to me. Part of arti#231.
* Idle hacking: Get 90% coverage in tor-llcryptoNick Mathewson2021-12-021-0/+112
| | | | | | | For this one I just wrote some "are things completely broken" tests for the rand_compat wrappers. These won't detect subtle biases in the RNGs! They'll only let you know if the wrappers have screwed up in some way that always sets a given bit to 1 or 0.
* Merge branch 'readme_fixes'Nick Mathewson2021-11-301-0/+7
|\
| * run ./maint/readmes.shdagon2021-11-291-0/+7
| |
* | Bump every crate by one patch version.Nick Mathewson2021-11-291-1/+1
| |
* | add semicolons if nothing returnedDaniel Eades2021-11-252-2/+3
|/
* Fix a few typos.Nick Mathewson2021-11-241-1/+1
| | | | Also fix some commonwealth spellings that had slipped in.
* Merge branch 'ticket125' into 'main'eta2021-11-164-7/+35
|\ | | | | | | | | | | | | Put most non-universally-needed functionality behind features Closes #125 See merge request tpo/core/arti!129
| * tor-llcrypto: Put currently unused functions behind features.Nick Mathewson2021-11-124-7/+35
| | | | | | | | | | | | | | | | We don't currently need a couple of the key manipulation features that we have, since we aren't yet doing relays or onion service clients. Part of #125
* | Update to simple_asn1 0.6.1.Nick Mathewson2021-11-141-1/+1
|/ | | | | | This is a security fix for a panic. Closes #236
* Merge branch 'S0AndS0/arti-cargo-husky' into HEADeta2021-11-091-3/+2
|
* Bump all crate versions to 0.0.1Nick Mathewson2021-10-291-1/+1
|
* Improve some documentation linksNick Mathewson2021-10-291-2/+2
| | | | | | | | | Instead of putting a fully qualified name in the text, in most cases we should just use the short name of the type or function we're referring to. In other words, instead of saying [`crate::module::Foo`], we should typically say [`Foo`](crate::module::Foo).
* Upgrade curve25519-dalek requirement to 3.2.0Nick Mathewson2021-10-251-1/+1
| | | | We need this now that we check for contributory behavior.
* Upgrade to new version of simple_asn1.Nick Mathewson2021-10-221-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.
* enable checked_conversions lint.Nick Mathewson2021-10-091-0/+1
|
* Implement ConstantTimeEq for key ids.Nick Mathewson2021-10-012-4/+16
|
* Enable js feature for getrandom for WASM.Jani Monoses2021-09-171-0/+4
| | | | By default rand does not build for WASM browser targets.
* Typo fixesNick Mathewson2021-09-091-1/+1
|
* fix/silence clippy lints in test modulesDaniel Eades2021-09-083-0/+3
|
* Update corpus and links.Nick Mathewson2021-09-071-1/+1
|
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-2719-0/+2053
This will cause some pain for now, but now is really the best time to do this kind of thing.