summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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
| * | | tor-proto: Add test where an incoming stream comes from an unexpect hop.Gabriela Moldovan2023-08-181-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a test that checks if the reactor is shut down if it receives an incoming stream request from an unexpected hop. Part of #1009
| * | | tor-proto: Make ClientCirc::allow_stream_requests take a HopNum.Gabriela Moldovan2023-08-184-9/+36
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | For consistency with the other `ClientCirc` APIs, `ClientCirc::allow_stream_requests` now takes a `HopNum` argument. Upon receiving an incoming stream request, the reactor now checks if the request came from the hop specified in `allow_stream_requests` (and if it came from a different hop, the circuit is closed). Part of #1009
* / / tor-hsservice: Change IptEstablisher::new to take RelayIdsIan Jackson2023-08-171-3/+3
|/ / | | | | | | | | | | | | | | | | | | The IptEstablisher needs to continuously maintain the IPT even as the netdir is updated. Whereas, the IPT manager just wants to select the relay from the netdir once and then only think about the relay identity. So it makes sense for the establisher to do necessary lookups of the relay's ids in the netdir.
* | Merge branch 'rendezvous_handshake' into 'main'Nick Mathewson2023-08-176-0/+291
|\ \ | | | | | | | | | | | | hsservice: new rend_handshake module See merge request tpo/core/arti!1512