Ian Jackson
7e1d0b7f45
hashx_cachegrind: Introduce mk_c_equix helper macro
...
The macro generates precisely the existing code.
2023-08-23 10:36:33 +01:00
Ian Jackson
e7765ce969
hashx_cachegrind: Introduce mk_rust helper macro
...
The macro generates precisely the existing code.
2023-08-23 10:36:33 +01:00
Ian Jackson
696696857d
Merge branch 'hashx_perf' into 'main'
...
hashx: Performance improvements for program generation
See merge request tpo/core/arti!1524
2023-08-23 09:24:13 +00:00
Nick Mathewson
8007c1bd08
Merge branch 'spelling' into 'main'
...
Fix a few typos.
See merge request tpo/core/arti!1532
2023-08-22 20:58:11 +00:00
Nick Mathewson
c2faedbca7
arti-client: Fix a couple more typos.
...
I spotted these while I was working on something else.
2023-08-22 16:23:51 -04:00
Nick Mathewson
7a37641aeb
Use "typos-cli" to fix a bunch of typos.
2023-08-22 16:23:51 -04:00
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
Micah Elizabeth Scott
26b5ae9a3c
hashx: Use a boxed slice for Program storage
...
This is a very small change that converts our Vec cheaply into a boxed
slice during program generation. Program generation speed shows no
changes, and there's no change when using compiled hashes, but is a
surprisingly effective 10% speedup to interpreted hash execution.
Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2023-08-21 15:27:28 -07:00
Micah Elizabeth Scott
52dbdbea3b
hashx: Assembly buffer sizing and tidying
...
I was looking for ways to optimize out the many redundant capacity
checks in the Assembler. I didn't find any promising approaches, but
I also saw no evidence that it was an important bottleneck. (A simple
unsafe fix didn't improve any important metrics)
While I was in there, I tightened up the buffer size definitions for
both x86_64 and aarch64, and added assertions to test the limits we
set for the size of prologue, epilogue, and single instructions.
I kept some of the inlining and data type tweaks, even though benchmarks
show no difference. They seem like a step in the right direction, from
the disassembly at least.
Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
2023-08-21 15:27:28 -07:00