summaryrefslogtreecommitdiff
path: root/tor-proto/src/crypto
Commit message (Collapse)AuthorAgeFilesLines
* Misc tests in tor-proto.Nick Mathewson2021-06-191-1/+18
|
* Use the "typos" tool to fix some spellingNick Mathewson2021-05-261-1/+1
|
* Update hs_ntor code.Nick Mathewson2021-05-251-4/+6
| | | | | Work with the latest version of the crypto crate, and suppress the unreachable_pub warning.
* Add the "unreachable_pub" lint.Nick Mathewson2021-05-187-46/+46
| | | | | | This is a somewhat obnoxious change in its scope and requirements, but it makes it easier to understand what the real public and private parts of our APIs are.
* Prefer "relay" to "server" when appropriate.Nick Mathewson2021-05-181-3/+3
|
* Resolve clippy warnings from Rust 1.52.Nick Mathewson2021-05-071-1/+1
| | | | | | | | | | Rust 1.52 just came out, and there are new clippy lints to deal with: * It spots more cases when we could use Option::map * It spots more cases when we could use Iterator::flatten * When we build a struct instance, it wants us to list the fields in the same order that the struct declares them.
* Upgrade to latest RustCrypto crates.Nick Mathewson2021-05-062-8/+10
|
* Fix documentation warnings.Nick Mathewson2021-05-051-1/+3
|
* Add unseparated_literal_suffix lint, and fix it.Nick Mathewson2021-05-034-7/+7
|
* hs_ntor: add a disclaimer and put it behind a feature.Nick Mathewson2021-04-022-0/+8
|
* First draft of HS Ntor implementation.George Kadianakis2021-04-022-0/+521
|
* Fix a bunch more new clippy lints in Rust 1.51Nick Mathewson2021-03-291-1/+1
| | | | | | | | The major types are: * You implemented Into when you should have implemented From. * You sliced a slice when you didn't have to. * You said Ok(x?) when you could have said x. * You said Vec::new(); push(); push(); when you could have said vec![].
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-294-53/+53
| | | | This is painful, but we shouldn't have to do it again.
* Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-8/+8
|
* Add a compatibility layer so we can upgrade rand_core.Nick Mathewson2021-03-181-5/+6
| | | | | | dalek-crypto is stuck on rand_core 0.5.1, so we've been stuck too. This commit introduces a compatibility module so that we can wrap new rand_core instances to make them backward compatible.
* Avoid a slice copy in send_relay_cell().George Kadianakis2021-03-121-2/+3
| | | | Convert slice to array in the parent function instead of copying.
* Simplify RelayCellBody::recognized() method.George Kadianakis2020-12-171-27/+22
| | | | | | self is no longer mutable. Co-authored-by: David Goulet <[email protected]>
* Expand test to handle building circuit with ntor.Nick Mathewson2020-10-271-0/+8
|
* Run "cargo upgrade".Nick Mathewson2020-10-261-1/+1
|
* Resolve a bunch of XXXM3 comments in tor-proto.Nick Mathewson2020-10-261-2/+0
|
* Implement From, not Into.Nick Mathewson2020-10-191-6/+6
| | | | | These traits are inverses of one another, but implementing From is always preferred since rust 1.41 relaxed the "orphan rules".
* Mark must-resolve XXXX issues with "XXXXM3".Nick Mathewson2020-10-181-1/+1
| | | | | | | | | | "M3" is for "milestone 3" -- my target to fix the technical debt that I think will be bad if we ship even a pre-alpha with it. These aren't necessarily _all_ must-resolve, but they're all must-look-at. Closes #15
* Document all private members in tor-protoNick Mathewson2020-10-134-2/+47
|
* Split client relay crypto into separate directionsNick Mathewson2020-10-091-56/+136
| | | | | I think we should have the reactor task own the reverse crypto and the circuit own the forward crypto.
* make it work on rust 1.45Nick Mathewson2020-09-281-1/+1
|
* test vectors for cell crypto.Nick Mathewson2020-09-281-2/+48
|
* Mark most of the cell crypto code as crate-local.Nick Mathewson2020-09-281-7/+7
|
* Add a round-trip test for cell encryption.Nick Mathewson2020-09-281-0/+74
|
* Split the cell-handling parts of tor-proto into a new crate.Nick Mathewson2020-09-261-1/+1
|
* Lower our "#[allow(dead_code)]" decl in tor_proto."Nick Mathewson2020-09-251-0/+1
|
* Try to get sendme crypto workingNick Mathewson2020-09-251-23/+50
| | | | | | | | There's a problem, though: this code assumes that tags are 20 bytes long whereas actually the tag type is part of the crypto layer info. So maybe in the long term we need to move the queue of tags from the send window into being part of the crypto layers.
* Incomplete implementation of circuit SENDME handling.Nick Mathewson2020-09-251-4/+9
| | | | | | This is incomplete because the cell crypto code doesn't actually expose tags yet, and because it demands tags unconditionally, without caring about the linkspec protocol version.
* turn hopnum into a first-class typeNick Mathewson2020-09-211-4/+32
|
* Start implementing streams and circuit-level reactors.Nick Mathewson2020-09-211-2/+2
| | | | | | Also, revise nearly all of the circuit/channel interaction to actually send relay cells to the right place and do sensible things with them.
* Add tests for CREATE_FAST handshakeNick Mathewson2020-09-193-26/+98
|
* Add tests for failing ntor handshakes.Nick Mathewson2020-09-191-1/+51
|
* ntor: test the ClientHandshake/ServerHandshake implNick Mathewson2020-09-181-3/+4
|
* tests for kdf functions in tor_protoNick Mathewson2020-09-181-0/+127
|
* Simple functions to send and receive relay cells.Nick Mathewson2020-09-121-0/+2
|
* Refactoring around our 509-byte array type.Nick Mathewson2020-09-121-30/+46
|
* Ntor handshake (first hop) is go.Nick Mathewson2020-09-111-2/+2
|
* Wrap ntor handshake in appropriate trait.Nick Mathewson2020-09-111-10/+39
|
* For circuits: Implement first hop create via create_fast.Nick Mathewson2020-09-114-9/+117
|
* Pare down and sort dependenciesNick Mathewson2020-09-091-1/+2
|
* update to use latest rust-crypto traits and modulesNick Mathewson2020-06-103-19/+22
|
* tor-proto: Simplify ct::lookup API.Nick Mathewson2020-05-101-2/+2
|
* Document most of tor-protoNick Mathewson2020-05-095-2/+152
| | | | (except for the worst parts that need refactoring the most)
* tor-proto: Fix a logic error in KDF-TOR implementation.Nick Mathewson2020-05-091-2/+2
|
* Use links for traits in llcrypto docsNick Mathewson2020-05-081-1/+1
|
* Upgrade to a modern version of "sha-1".Nick Mathewson2020-05-081-1/+2
| | | | | Apparently the "sha1" crate doesn't implement the RustCrypto API, but the "sha-1" crate does.