Commit Graph

8050 Commits

Author SHA1 Message Date
Nick Mathewson 2d50ffb0a7 Merge branch 'nightly-warnings-20230822' into 'main'
Fix a few warnings from nightly clippy

See merge request tpo/core/arti!1533
2023-08-22 17:01:05 +00:00
Nick Mathewson 7f44281725 arti::cfg tests: Use fold to make nightly clippy happier 2023-08-22 12:24:51 -04:00
Nick Mathewson c0e050b640 Resolve a pair of warnings about redundant closures. 2023-08-22 12:24:51 -04:00
gabi-250 d633efc28b Merge branch 'netdir-todo-2-take-2' into 'main'
tor-netdir: Add separate functions for computing hsdirs for upload/download.

See merge request tpo/core/arti!1518
2023-08-22 15:46:10 +00:00
Nick Mathewson 5e9140d1b8 Merge branch 'ipt_establish_better' into 'main'
hsserrvice: resolve many TODOs in ipt_establish.rs

See merge request tpo/core/arti!1522
2023-08-22 15:45:32 +00:00
Nick Mathewson 232c6d957e hss: Improve comments in IptEstablisher::drop. 2023-08-22 10:51:19 -04:00
Nick Mathewson d792bc2a5f hss: Allow IptEstablisher to start in Advertised mode. 2023-08-22 10:51:19 -04:00
Nick Mathewson 980407a894 hss: switch to select_biased 2023-08-22 10:51:19 -04:00
Nick Mathewson 683e607db7 hss: change terminate oneshot to send "void".
We don't actually want to distinguish drop from not-drop.
2023-08-22 10:51:19 -04:00
Nick Mathewson 2a20d1b05a hss: enable tor_proto/experimental-api
Needed for ClientCirc::wait_for_close
2023-08-22 10:51:18 -04:00
Nick Mathewson 1309bc6753 HSS: Use correct timeouts and delays in IptEstablisher 2023-08-22 10:50:43 -04:00
Nick Mathewson 28b8c9c31c HSS: Use a more accurate timeout for ESTABLISH_INTRO handshake. 2023-08-22 10:50:43 -04:00
Nick Mathewson ec6721ec94 HSS: Refactor RendRequest so we can return a stream of it.
We need a type that holds a rend_handshake::IntroRequest object
internally, but where we don't materialize that object from the
Introduce2 message inside the MsgHandler, since that's more crypto
than we want to put in that task.
2023-08-22 10:50:43 -04:00
Nick Mathewson 85c3820a5e HSS: Use DropNotifyWatchSender.
This ensures that the status becomes Faulty when the reactor exits.
2023-08-22 10:50:43 -04:00
Nick Mathewson 8439500e57 HSS: Implement start_accepting and drop for IptEstablisher.
This does not yet do exactly what's documented, but it's closer.
2023-08-22 10:50:43 -04:00
Nick Mathewson 36424540dd hss: launch task to establish introduce requests.
(This requires us to change the type of the data sent in the
stream. I hope to put it back soon.)
2023-08-22 10:50:43 -04:00
Nick Mathewson 07e7eabd3f hss: Once an ipt session is established, let it keep running. 2023-08-22 10:50:43 -04:00
Nick Mathewson 7c14371898 hss: make Ipt establisher code use an mpsc::Sender.
This solves some problems but introduces a few new ones; I've tried
to open comments for the latter.
2023-08-22 10:50:43 -04:00
Nick Mathewson d83ff291bf hss: Establish intro point by RelayIds. 2023-08-22 10:50:43 -04:00
Nick Mathewson 6021976466 proto: fix a comment to refer to circuits, not channels. 2023-08-22 10:50:43 -04:00
Gabriela Moldovan b1c54adae7
tor-netdir: Use an owned HsBlindId instead of a reference.
`HsBlindId` is `Copy`.
2023-08-22 15:48:07 +01:00
Gabriela Moldovan 59b94ed06c
tor-netdir: Replace flat_map() with cartesian_product(). 2023-08-22 15:48:04 +01:00
Gabriela Moldovan 3e193ebd63
tor-netdir: Make `hs_dirs_upload` take an iterator instead of a slice (fmt). 2023-08-22 15:48:00 +01:00
Gabriela Moldovan d651b3e3a2
tor-netdir: Make `hs_dirs_upload` take an iterator instead of a slice. 2023-08-22 15:47:57 +01:00
Gabriela Moldovan 3090259b55
tor-netdir: Add TODO about making HsDirOp private.
When `hs_dirs` is removed this won't n't need to be public anymore.
2023-08-22 15:47:54 +01:00
Gabriela Moldovan b0c3fc73ca
tor-hsclient: Use hs_dirs_download instead of the deprecated hs_dirs. 2023-08-22 15:47:51 +01:00
Gabriela Moldovan 83f26aebde
tor-netdir: Deprecate hs_dirs(). 2023-08-22 15:47:47 +01:00
Gabriela Moldovan 47e24dc8eb
tor-netdir: Add separate functions for computing hsdirs for upload/download.
The hsdir selection algorithm for uploads and downloads is different
enough to justify splitting `hs_dirs` into 2 different functions.
More specifically, when selecting the relays to upload a service's
descriptors to, the service's `hsids` need to be matched up with the
correct `ring` (using the time period) before applying `select_nodes` to
pick the replicas. This is not the case when downloading, because
for downloads select relays from the current ring.
2023-08-22 15:47:44 +01:00
Gabriela Moldovan 7e4c850efd
tor-netdir: Add private helpers for selecting hsdirs.
These will become useful when we split `hs_dirs()` into 2 separate
functions (one for uploading/services, and another for
downloading/clients).
2023-08-22 15:47:41 +01:00
Ian Jackson 1955e70499 Merge branch 'webpki-update' into 'main'
Resolve (mostly) RUSTSEC-2023-0052

See merge request tpo/core/arti!1534
2023-08-22 14:43:52 +00:00
Nick Mathewson f248607119 Merge branch 'send_raw_msg' into 'main'
proto: new ClientCirc::send_raw_msg function.

Closes #1010

See merge request tpo/core/arti!1525
2023-08-22 14:19:54 +00:00
Ian Jackson 403c931072 Merge branch 'upgrade_num_enum' into 'main'
Upgrade num_enum dependency to 0.7

See merge request tpo/core/arti!1530
2023-08-22 14:15:12 +00:00
Nick Mathewson 78328f096e Merge branch 'redundant_config_links' into 'main'
Resolve warnings about ambiguous/redundant doc links

See merge request tpo/core/arti!1531
2023-08-22 14:07:44 +00:00
Nick Mathewson 55bc297704 Add a cargo-audit exception for RUSTSEC-2023-0052
We've solved this for rustls-webpki, but tls-api (which arti-hyper
uses) still requires the unmaintained webpki crate.  See #1016.
2023-08-22 10:00:02 -04:00
Nick Mathewson 109efd3152 Merge branch 'hss_ct_from_parts' into 'main'
hsservice: Compute rendezvous points correctly.

See merge request tpo/core/arti!1521
2023-08-22 13:55:17 +00:00
Nick Mathewson 15bde8568c Upgrade to rustls-webpki unaffected by RUSTSEC-2023-0053 2023-08-22 09:42:08 -04:00
Nick Mathewson b4e0595f8d proto: Add crossrefs between start_conversation and send_raw_msg 2023-08-22 09:35:48 -04:00
Nick Mathewson 80c921c637 Resolve warnings about ambiguous/redundant doc links
Nightly rustdoc now warns if you have a link that isn't necessary,
and if you have a link that might refer to two different things.
2023-08-22 09:00:33 -04:00
Nick Mathewson 1ddf637572 hsservice: Fix an error message. 2023-08-22 08:04:12 -04:00
Nick Mathewson 3352b1373b hsservice: Compute rendezvous points correctly.
This duplicates some code from hsclient as noted in the comments;
it might be good to reduce this, but the remaining nontrivial
duplication is small, and the logic flow is slightly different
because of the two-step process.
2023-08-22 08:04:12 -04:00
Nick Mathewson 3e34cb6d33 Lower linkspec list parsing into new tor-linkspec method. 2023-08-22 08:04:12 -04:00
gabi-250 f47d0a8c27 Merge branch 'update-serde' into 'main'
upgrade serde to >=1.0.184 to not use prebuilt blob

Closes #1011

See merge request tpo/core/arti!1526
2023-08-22 09:48:08 +00:00
Nick Mathewson e699607ef8 Upgrade num_enum dependency to 0.7 2023-08-21 13:47:08 -04:00
Ian Jackson c9d8e58f65 Merge branch 'hashx_iai' into 'main'
hashx/bench: Add cachegrind microbenchmarks

See merge request tpo/core/arti!1513
2023-08-21 13:59:12 +00:00
trinity-1686a 5527da5711 upgrade serde to >=1.0.184
to remove the use of a pre-built blob
2023-08-21 15:54:23 +02:00
Nick Mathewson e4373e88e2 proto: new ClientCirc::send_raw_msg function.
Closes #1010.
2023-08-21 09:23:46 -04:00
Micah Elizabeth Scott 780e10e1d5 hashx/bench: Add cachegrind microbenchmarks
This uses the 'iai' crate and valgrind to measure fine grained cache
behavior during program generation and hash computation.

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2023-08-18 20:09:40 -07:00
gabi-250 15f9da4d0e Merge branch 'hss-err' into 'main'
tor-hsservice errors: Introduce more error types

See merge request tpo/core/arti!1515
2023-08-18 13:39:20 +00:00
gabi-250 fbd3a4f597 Merge branch 'ipt-e-drop' into 'main'
Define drop behaviour of IPT establisher, wrt status watch

See merge request tpo/core/arti!1516
2023-08-18 13:15:19 +00:00
gabi-250 b450461dae Merge branch 'hss_circparams' into 'main'
hsservice: Use correct circparameters_from_netparameters fn

See merge request tpo/core/arti!1520
2023-08-18 12:58:30 +00:00