summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | arti::cfg tests: Use fold to make nightly clippy happierNick Mathewson2023-08-221-4/+5
| | |
* | | Resolve a pair of warnings about redundant closures.Nick Mathewson2023-08-222-3/+3
| | |
* | | Merge branch 'netdir-todo-2-take-2' into 'main'gabi-2502023-08-223-6/+186
|\ \ \ | | | | | | | | | | | | | | | | tor-netdir: Add separate functions for computing hsdirs for upload/download. See merge request tpo/core/arti!1518
| * | | tor-netdir: Use an owned HsBlindId instead of a reference.Gabriela Moldovan2023-08-222-5/+5
| | | | | | | | | | | | | | | | `HsBlindId` is `Copy`.
| * | | tor-netdir: Replace flat_map() with cartesian_product().Gabriela Moldovan2023-08-221-7/+2
| | | |
| * | | tor-netdir: Make `hs_dirs_upload` take an iterator instead of a slice (fmt).Gabriela Moldovan2023-08-221-4/+6
| | | |
| * | | tor-netdir: Make `hs_dirs_upload` take an iterator instead of a slice.Gabriela Moldovan2023-08-221-7/+10
| | | |
| * | | tor-netdir: Add TODO about making HsDirOp private.Gabriela Moldovan2023-08-221-0/+3
| | | | | | | | | | | | | | | | When `hs_dirs` is removed this won't n't need to be public anymore.
| * | | tor-hsclient: Use hs_dirs_download instead of the deprecated hs_dirs.Gabriela Moldovan2023-08-222-7/+6
| | | |
| * | | tor-netdir: Deprecate hs_dirs().Gabriela Moldovan2023-08-222-0/+3
| | | |
| * | | tor-netdir: Add separate functions for computing hsdirs for upload/download.Gabriela Moldovan2023-08-222-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-netdir: Add private helpers for selecting hsdirs.Gabriela Moldovan2023-08-221-0/+72
| | |/ | |/| | | | | | | | | | | | | These will become useful when we split `hs_dirs()` into 2 separate functions (one for uploading/services, and another for downloading/clients).
* | | hss: Improve comments in IptEstablisher::drop.Nick Mathewson2023-08-221-2/+8
| | |
* | | hss: Allow IptEstablisher to start in Advertised mode.Nick Mathewson2023-08-221-18/+20
| | |
* | | hss: switch to select_biasedNick Mathewson2023-08-221-1/+1
| | |
* | | hss: change terminate oneshot to send "void".Nick Mathewson2023-08-222-7/+10
| | | | | | | | | | | | We don't actually want to distinguish drop from not-drop.
* | | hss: enable tor_proto/experimental-apiNick Mathewson2023-08-221-1/+5
| | | | | | | | | | | | Needed for ClientCirc::wait_for_close
* | | HSS: Use correct timeouts and delays in IptEstablisherNick Mathewson2023-08-222-8/+8
| | |
* | | HSS: Use a more accurate timeout for ESTABLISH_INTRO handshake.Nick Mathewson2023-08-221-10/+11
| | |
* | | HSS: Refactor RendRequest so we can return a stream of it.Nick Mathewson2023-08-225-46/+74
| | | | | | | | | | | | | | | | | | | | | 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.
* | | HSS: Use DropNotifyWatchSender.Nick Mathewson2023-08-221-3/+3
| | | | | | | | | | | | This ensures that the status becomes Faulty when the reactor exits.
* | | HSS: Implement start_accepting and drop for IptEstablisher.Nick Mathewson2023-08-221-14/+75
| | | | | | | | | | | | This does not yet do exactly what's documented, but it's closer.
* | | hss: launch task to establish introduce requests.Nick Mathewson2023-08-221-14/+76
| | | | | | | | | | | | | | | (This requires us to change the type of the data sent in the stream. I hope to put it back soon.)
* | | hss: Once an ipt session is established, let it keep running.Nick Mathewson2023-08-221-6/+10
| | |
* | | hss: make Ipt establisher code use an mpsc::Sender.Nick Mathewson2023-08-221-28/+32
| | | | | | | | | | | | | | | This solves some problems but introduces a few new ones; I've tried to open comments for the latter.
* | | hss: Establish intro point by RelayIds.Nick Mathewson2023-08-222-8/+55
| | |
* | | proto: fix a comment to refer to circuits, not channels.Nick Mathewson2023-08-221-1/+1
|/ /
* | Merge branch 'send_raw_msg' into 'main'Nick Mathewson2023-08-223-1/+50
|\ \ | | | | | | | | | | | | | | | | | | proto: new ClientCirc::send_raw_msg function. Closes #1010 See merge request tpo/core/arti!1525
| * | proto: Add crossrefs between start_conversation and send_raw_msgNick Mathewson2023-08-221-0/+6
| | |
| * | proto: new ClientCirc::send_raw_msg function.Nick Mathewson2023-08-213-1/+44
| | | | | | | | | | | | Closes #1010.
* | | Merge branch 'upgrade_num_enum' into 'main'Ian Jackson2023-08-222-2/+2
|\ \ \ | | | | | | | | | | | | | | | | Upgrade num_enum dependency to 0.7 See merge request tpo/core/arti!1530
| * | | Upgrade num_enum dependency to 0.7Nick Mathewson2023-08-212-2/+2
| | |/ | |/|
* | | Merge branch 'redundant_config_links' into 'main'Nick Mathewson2023-08-228-11/+11
|\ \ \ | | | | | | | | | | | | | | | | Resolve warnings about ambiguous/redundant doc links See merge request tpo/core/arti!1531
| * | | Resolve warnings about ambiguous/redundant doc linksNick Mathewson2023-08-228-11/+11
| |/ / | | | | | | | | | | | | 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.
* | | Merge branch 'hss_ct_from_parts' into 'main'Nick Mathewson2023-08-225-22/+79
|\ \ \ | |/ / |/| | | | | | | | hsservice: Compute rendezvous points correctly. See merge request tpo/core/arti!1521
| * | hsservice: Fix an error message.Nick Mathewson2023-08-221-1/+1
| | |
| * | hsservice: Compute rendezvous points correctly.Nick Mathewson2023-08-222-15/+56
| | | | | | | | | | | | | | | | | | | | | 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.
| * | Lower linkspec list parsing into new tor-linkspec method.Nick Mathewson2023-08-223-6/+22
| | |
* | | hashx/bench: Add cachegrind microbenchmarksMicah Elizabeth Scott2023-08-184-0/+102
| |/ |/| | | | | | | | | | | 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 <[email protected]>
* | Merge branch 'hss-err' into 'main'gabi-2502023-08-186-19/+69
|\ \ | | | | | | | | | | | | tor-hsservice errors: Introduce more error types See merge request tpo/core/arti!1515
| * | tor-hsservice errors: Distinguish operational errors by contextIan Jackson2023-08-175-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the very least, I need FatalError to be distinct: IptEstablisher::new ought not to fail unless everything is terrible. Add a the Spawn variant to FatalError (that we'll need soon) and the Bug variant (which it seems likely we might need). This also gets rid of the crate-level Result alias.
| * | tor-hsservice errors: Return ReconfigureError from reconfigureIan Jackson2023-08-172-1/+3
| | | | | | | | | | | | This is what we do elsewhere.
| * | tor-hsservice errors: Use Bug for methods that oughtn't to failIan Jackson2023-08-172-4/+9
| | | | | | | | | | | | | | | | | | If the service encouters operational errors, surfacing them here is not helpful. So these methods ought to work, if they weren't called erroneously.
| * | tor-hsservice errors: Make stop() infallibleIan Jackson2023-08-171-1/+1
| | | | | | | | | | | | | | | The semantics of an Err return from this are unclear. Was it stopped? And what kind of error might we even return?
| * | tor-hsservice errors: Use `crate::Result` rather than importsIan Jackson2023-08-172-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to change the error return types of many methods, so we need a way to name `std::result::Result`. We could use `StdResult`, but, actually, properly distinguishing the kinds of errors that can occur in various contexts means we don't actually want a single Error type for the whole crate, so `crate::Result` is going to go away.
* | | Merge branch 'ipt-e-drop' into 'main'gabi-2502023-08-183-2/+32
|\ \ \ | | | | | | | | | | | | | | | | Define drop behaviour of IPT establisher, wrt status watch See merge request tpo/core/arti!1516
| * | | tor-hsservice: Define drop behaviour of IPT establisher statusIan Jackson2023-08-172-0/+20
| | | |
| * | | tor-async-utils: Deprecate DropNotifyEofSignallable::is_eofIan Jackson2023-08-171-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was introduced in c82cda85d69d tor-basic-utils: DropNotifyWatchSender: use DropNotifyEofSignallable and already, then, the is_eof() method is redundant.
* | | | hsservice: Use correct circparameters_from_netparameters fnNick Mathewson2023-08-181-7/+5
| |_|/ |/| | | | | | | | I had incorrectly thought that this function was private.
* | | Merge branch 'allow_stream_req-hop-num' into 'main'Nick Mathewson2023-08-184-9/+80
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Make ClientCirc::allow_stream_requests take a HopNum. Closes #1009 See merge request tpo/core/arti!1519