summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-netdir: Derive Hash for HsDirIndex.Gabriela Moldovan2023-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | This will become useful later when we build a `HashSet` of `HsDirIndex`.
| * | | | tor-netdir: Explain what the ring_items_at filter is for.Gabriela Moldovan2023-08-161-0/+5
| | | | |
| * | | | tor-netdir: Only select nodes that haven't been used for lower-numbered ↵Gabriela Moldovan2023-08-161-15/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | replicas. This implements the part of the spec that says a node that has already been selected for a lowered-numbered replica, shouldn't be considered when choosing `spread` nodes for any other higher-numbered replicas. Note: previously, the test added in this commit wouldn't have passed (because `NetDir::hs_dirs` used to return duplicate relays under some circumstances). Part of #960
| * | | | tor-netdir: Make ring_items_at() filter the items before returning.Gabriela Moldovan2023-08-162-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes `ring_items_at()` take an extra parameter which specifies whether an item is acceptable or not. The newly added filtering capabilities will be used to implement the part of the spec that says that if a node was selected for a replica, then it shouldn't be considered when choosing `spread` nodes for any other higher-numbered replicas.
| * | | | tor-netdir: Update ring_items_at() docs.Gabriela Moldovan2023-08-161-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This updates the docs to reference the `spread` parameter (rather than `spread_fetch`).
| * | | | tor-netdir: Remove extraneous whitespace.Gabriela Moldovan2023-08-161-1/+1
| | | | |
| * | | | tor-netdir: Use hsdir_spread_store if we're uploading.Gabriela Moldovan2023-08-161-4/+9
| |/ / / | | | | | | | | | | | | | | | | | | | | The spread should be either `hsdir_spread_store` or `hsdir_spread_fetch`, depending on whether we're uploading or downloading descriptors.
* | | | Merge branch 'ipt-e' into 'main'Nick Mathewson2023-08-162-8/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-hsservice: Have IptEstablisher::new() return the status watch See merge request tpo/core/arti!1511
| * | | tor-hsservice: Have IptEstablisher::new() return the status watch (fmt)Ian Jackson2023-08-161-2/+1
| | | |
| * | | tor-hsservice: Have IptEstablisher::new() return the status watchIan Jackson2023-08-161-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IPT manager is going to want to separate the IptEstablisher struct (which contains the Drop signal) from the watch receiver. We could add an accessor to clone the watch, but the copy in the IptEstablisher would be redundant. This makes new()'s signature a bit funky but it's an internal method so I think that's fine.
| * | | Apply some churn from rustfmt (beta)Ian Jackson2023-08-161-1/+1
|/ / /
* | | Merge branch 'upload-descriptor' into 'main'gabi-2502023-08-167-38/+120
|\ \ \ | | | | | | | | | | | | | | | | tor-dirclient: Add support for uploading descriptors. See merge request tpo/core/arti!1505
| * | | 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-166-106/+279
|\ \ | | | | | | | | | | | | Write more of IptEstablisher. See merge request tpo/core/arti!1510
| * | Wire up more of IptEstablisher.Nick Mathewson2023-08-163-7/+113
| | | | | | | | | | | | | | | 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-153-9/+14
| | |
| * | 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.
* | | Merge branch 'bump-ssh-key' into 'main'gabi-2502023-08-1611-190/+261
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | keymgr: Bump ssh-key to 0.6.0. Closes #936 See merge request tpo/core/arti!1508
| * | | keymgr: Write a registry sketch.Gabriela Moldovan2023-08-161-2/+49
| | | | | | | | | | | | | | | | This comment will form the basis for the protocol name registry.