summaryrefslogtreecommitdiff
path: root/crates/tor-socksproto
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Split up ErrorKind::ProtocolViolationIan Jackson2022-02-141-1/+1
| |/
* | ErrorKind::NotImplemented: fix two testsIan Jackson2022-02-142-2/+2
| |
* | Split up ErrorKind::NoSupportIan Jackson2022-02-143-6/+6
|/
* socksproto: fix one more error type.Nick Mathewson2022-02-111-1/+1
|
* socksproto: Simplify Truncated handlingNick Mathewson2022-02-112-20/+14
| | | | | | | | | | | | | 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-113-19/+5
|
* Try to resolve the "Truncated" error in tor-socksprotoNick Mathewson2022-02-113-47/+63
| | | | | I'm not in love with this solution; the others just seem a bit ugly too.
* tor-socksproto: Implement HasKindNick Mathewson2022-02-113-10/+67
| | | | | (This error isn't yet wrapped in TorError, but it will be eventually when we implement socks proxy and PT support.)
* Bump all crate versions to 0.0.3.Nick Mathewson2022-01-111-3/+3
|
* Minimize the required version for each dependency.Nick Mathewson2022-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|
* Idle hacking to get tor-socksproto line coverage over 90%Nick Mathewson2021-12-021-1/+1
| | | | This was just a matter of adding a call to one function.
* Bump every crate by one patch version.Nick Mathewson2021-11-291-3/+3
|
* add semicolons if nothing returnedDaniel Eades2021-11-251-0/+1
|
* Bump all crate versions to 0.0.1Nick Mathewson2021-10-291-3/+3
|
* enable checked_conversions lint.Nick Mathewson2021-10-091-0/+1
|
* fix/silence clippy lints in test modulesDaniel Eades2021-09-082-2/+4
|
* Update corpus and links.Nick Mathewson2021-09-071-1/+1
|
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-2710-0/+1143
This will cause some pain for now, but now is really the best time to do this kind of thing.