summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-dirclient: Fix clippy lints.Gabriela Moldovan2023-08-161-5/+5
| | |
* | | tor-dirclient: Remove unused `StringBody` trait.Gabriela Moldovan2023-08-162-27/+0
| | |
* | | tor-dirclient: Make Requestable return requests with String bodies.Gabriela Moldovan2023-08-164-53/+25
| | | | | | | | | | | | | | | It's simpler to always use a `String` to represent directory request bodies. We no longer need the `StringBody` trait.
* | | tor-dirclient: Rename StringBody::str() to StringBody::as_str().Gabriela Moldovan2023-08-162-6/+6
| | |
* | | tor-dirclient: Deprecate download() instead of removing it.Gabriela Moldovan2023-08-162-1/+18
| | |
* | | tor-dirclient: Extend format test to check the body is formatted too (fmt)Gabriela Moldovan2023-08-161-1/+4
| | |
* | | tor-dirclient: Extend format test to check the body is formatted too.Gabriela Moldovan2023-08-161-8/+22
| | |
* | | tor-dirclient: Move request building to a test helper function.Gabriela Moldovan2023-08-161-11/+13
| | |
* | | tor-dirclient: Add `HsDescUploadRequest`.Gabriela Moldovan2023-08-163-0/+50
| | | | | | | | | | | | | | | The hsdir publisher will send the `HsDescUploadRequest`s to the appropriate directory using `send_request()`.
* | | tor-dirclient: Make the body type of a `Requestable` type configurable.Gabriela Moldovan2023-08-164-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the `Requestable` trait assumed the body of the request would always be empty (`http::Request<()>`). This change replaces the hardcoded `()` body type with the `Requestable::Body` associated type (which will allow implementors to create requests with non-empty bodies). This will enable us to reuse the `Requestable` trait for building `POST` requests for uploading descriptors.
* | | tor-dirclient: Rename download() to send_request() (fmt).Gabriela Moldovan2023-08-161-1/+5
| | |
* | | tor-dirclient: Rename download() to send_request().Gabriela Moldovan2023-08-165-9/+11
| | | | | | | | | | | | | | | | | | `download()` is actually a general-purpose function for sending HTTP requests on a stream. We will soon repurpose it for `POST`-ing descriptors, so let's rename it to `send_request`.
* | | Merge branch 'remove-unused-import' into 'main'Ian Jackson2023-08-161-1/+3
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: remove unused import See merge request tpo/core/arti!1493
| * | | tor-proto: remove unused importEmil Engler2023-08-101-1/+3
| |/ / | | | | | | | | | | | | This commit removes an unused import within the test module of the `tor_proto::circuit` module.
* | | Merge branch 'keystore-dir' into 'main'Ian Jackson2023-08-161-1/+39
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | arti-client: Make from_directories() derive the keystore_dir from state_dir. Closes #988 See merge request tpo/core/arti!1498
| * | arti-client: Use Path::join instead of format!.Gabriela Moldovan2023-08-141-1/+1
| | |
| * | arti-client: Make from_directories() derive the keystore_dir from state_dir.Gabriela Moldovan2023-08-111-1/+39
| |/ | | | | | | Closes #988
* | Merge branch 'more_introducing' into 'main'Nick Mathewson2023-08-165-106/+277
|\ \ | | | | | | | | | | | | Write more of IptEstablisher. See merge request tpo/core/arti!1510
| * | Wire up more of IptEstablisher.Nick Mathewson2023-08-162-7/+112
| | | | | | | | | | | | | | | It now supports running in a loop, trying to establish an introduction point, and reporting status.
| * | reformat establish_intro_onceNick Mathewson2023-08-151-75/+78
| | |
| * | Make establish_intro_once a method on a new IptEstablisherReactor.Nick Mathewson2023-08-151-18/+34
| | | | | | | | | | | | This will help with making a keep_established method.
| * | hsservice: Actually return from establish_intro_once.Nick Mathewson2023-08-151-13/+31
| | |
| * | hsservice: migrate IptStatus design to assume a postage::watchNick Mathewson2023-08-152-9/+13
| | |
| * | hsservice: Reject extensions in IntroEstablished cellsNick Mathewson2023-08-151-4/+12
| | | | | | | | | | | | | | | Intro points must not send these extensions except in response to a request that prompts them.
| * | cell: Add code to iterate over IntroEstablished extensionsNick Mathewson2023-08-152-1/+8
| | |
| * | cell, docs: Clarify what we mean by "Unrecognized".Nick Mathewson2023-08-151-2/+3
| | |
| * | hsservice: Send extensions in establish_intro msgs.Nick Mathewson2023-08-151-9/+18
| | | | | | | | | | | | | | | | | | I had planned to make this code accept extensions of unknown type, but for now I'm backing out of that plan: the set of extensions we send influences the set that we're willing to receive.
* | | Merge branch 'fix-weird-comment' into 'main'Ian Jackson2023-08-161-1/+1
|\ \ \ | | | | | | | | | | | | | | | | doc: fix malformatted comment in SliceWriterError See merge request tpo/core/arti!1503
| * | | doc: fix malformatted comment in SliceWriterErrorEmil Engler2023-08-141-1/+1
| | |/ | |/|
* | | Merge branch 'dangerously_assume_timely' into 'main'Ian Jackson2023-08-161-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-cert: actually use dangerously_assume_timely See merge request tpo/core/arti!1497
| * | | tor-cert: actually use dangerously_assume_timelyEmil Engler2023-08-101-1/+1
| |/ / | | | | | | | | | | | | | | | This commit makes a trait function use another currently unused trait function, thereby increasing the test coverage, as well as being potentially more correct from a semantic point of view.
* | | Merge branch 'test-expired-certs' into 'main'Ian Jackson2023-08-161-0/+37
|\ \ \ | | | | | | | | | | | | | | | | test: provide a test for expired certificates See merge request tpo/core/arti!1496
| * | | test: provide a test for expired certificatesEmil Engler2023-08-101-0/+37
| |/ / | | | | | | | | | | | | This commit implements a test for an expired Ed25519 certificate within the `tor_cert` crate.
* | | Merge branch 'coverage-encode' into 'main'Ian Jackson2023-08-161-0/+15
|\ \ \ | | | | | | | | | | | | | | | | test: encode unrecognized `tor_cert::CertExt` See merge request tpo/core/arti!1495
| * | | doc: note unreachable codeEmil Engler2023-08-101-0/+1
| | | |
| * | | test: encode unrecognized `tor_cert::CertExt`Emil Engler2023-08-101-0/+14
| |/ / | | | | | | | | | | | | This commit introduces a test for unrecognized `tor_cert::CertExt` fields.
* | | keymgr: Write a registry sketch.Gabriela Moldovan2023-08-161-2/+49
| | | | | | | | | | | | This comment will form the basis for the protocol name registry.
* | | tor-keymgr: Add sec1 0.7.3 dependency.Gabriela Moldovan2023-08-161-0/+10
| | |
* | | tor-keymgr: Re-export ssh-key.Gabriela Moldovan2023-08-164-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `KeypairData` type from [ssh-key] at some point leaked into the keymgr API (via the `EncodableKey` trait). Instead of re-exporting just `KeypairData`, let's re-export the entire `ssh_key` crate (`EncodableKey` implementors would need additional types from `ssh_key` to construct a `KeypairData` object anyway). [ssh-key]: https://crates.io/crates/ssh-key
* | | keymgr: Implement as_ssh_keypair_data for curve25519 keys.Gabriela Moldovan2023-08-161-4/+13
| | |
* | | keymgr: Import internal! (fmt).Gabriela Moldovan2023-08-161-4/+2
| | |
* | | keymgr: Import internal!.Gabriela Moldovan2023-08-161-3/+3
| | |
* | | keymgr: Remove unused helper.Gabriela Moldovan2023-08-161-33/+0
| | | | | | | | | | | | | | | This helper is no longer needed (the logic from `parse_ssh_format_erased` changed).
* | | tor-keymgr: Test x25519 key parsing.Gabriela Moldovan2023-08-163-0/+44
| | |
* | | keymgr: Do not expect x25519 keys to be stored as ed25519 ssh keys.Gabriela Moldovan2023-08-161-13/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the Arti key store would store x25519 secret keys as ed25519 OpenSSH keys, which it would convert to x25519 upon loading (using the conversion function added in !1297 (merged)). This approach isn't good enough though: most people will probably want to bring their existing x25519 keys, and in order to store those in OpenSSH format, we'd need convert them to ed25519, which is impossible (because the secret part of an x25519 key contains a SHA512'd secret, whereas the corresponding, "un-expanded", ed25519 secret key contains the secret itself rather than the SHA). Now that `ssh-key` has support for ssh keys with [custom algorithm names], we can store x25519 in OpenSSH format directly. This commit changes the storage format used by the keymgr for x25519 client auth keys (from ed25519-ssh to our own custom key type with an algorithm name of `"[email protected]"`). Closes #936 [custom algorithm names]: https://github.com/RustCrypto/SSH/pull/136
* | | keymgr: Bump ssh-key to 0.6.0.Gabriela Moldovan2023-08-162-2/+11
| | | | | | | | | | | | This brings in the changes from #936.
* | | tor-error, arti: Bump backtrace to 0.3.68.Gabriela Moldovan2023-08-152-2/+2
| |/ |/| | | | | | | | | | | | | Previously we were using backtrace 0.3.39, which has a [bug] that causes it to segault in some circumstances. I experienced this bug while trying to fix the minimal-versions build in !1508. [bug]: https://github.com/rust-lang/backtrace-rs/issues/267
* | Start working on the backend for an IptEstablisher.Nick Mathewson2023-08-142-8/+247
| | | | | | | | | | | | | | | | This should be enough now to establish real introduction points, though there is still a lot of work to do. Part of #976. This has been rebased and edited to incorporate discussions from !1465.
* | proto: Fix a type-complexity warning.Nick Mathewson2023-08-142-9/+21
| |
* | proto: API to expose the `CircuitBinding` type.Nick Mathewson2023-08-144-5/+40
| | | | | | | | Closes #993