summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src/svc
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'doc-fixes' into 'main'Nick Mathewson2023-09-052-3/+3
|\ | | | | | | | | tor-hsservice: Fix broken doc links. See merge request tpo/core/arti!1565
| * tor-hsservice: Fix IPT establisher broken doc link.Gabriela Moldovan2023-09-051-1/+1
| |
| * tor-hsservice: Fix broken publisher reactor broken doc link.Gabriela Moldovan2023-09-051-2/+2
| |
* | tor-hsservice: Add a TODO HSS re expiry timesIan Jackson2023-09-051-1/+1
| |
* | tor-hsservice: publish: Add type alias for PublishIptSetIan Jackson2023-09-052-9/+15
|/
* tor-hsservice: Add commentary re VerbatimLinkSpecCircTargetIan Jackson2023-09-051-0/+9
|
* tor-hsservice: Fix type of descriptor lifetime in IptSetIan Jackson2023-08-302-3/+3
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937976
* tor-hsservice: publish: Add more docs for `Option<IptSet>`Ian Jackson2023-08-301-0/+2
| | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937975
* tor-hsservice: ipt_estblish: Add TODOs re netdir monitoringIan Jackson2023-08-301-0/+16
| | | | | Apropos https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1559#note_2937973
* tor-hsservice: Have the manager be in charge of expiry timeIan Jackson2023-08-292-1/+6
| | | | | | | | | | | Add the expiry time (as wall clock time) to publish::IptSet. The manager is in a good position to know this information. Provide constants that will be used (for now) for actually calculating the expiry times. (Right now the part where the expiry time would actually be calculated doesn't exist, but it will come soon.)
* tor-hsservice: Allow the manager to tell the publisher to pauseIan Jackson2023-08-292-3/+11
| | | | | This is to implement the "Unknown" state described in "hssvc-ipt-algorithms.md".
* tor-hsservice: Dispose of a done TODO commentIan Jackson2023-08-291-3/+0
| | | | This function *does* take the new introduction points as an argument!
* tor-hsservice: Change publisher doc comment re intro point changesIan Jackson2023-08-291-1/+1
| | | | | | | | new_intro_points may be called even if they're actually all the same. (We have decided that it is the publisher which is responsible for eliding no-change updates: see the TODO HSS in publish/reactor.rs on Reactor, near l.50.
* tor-hsservice: Reconcile types between manager and publisherIan Jackson2023-08-293-11/+17
| | | | | | | | | | Move ipt_mgr::IptSetToPublish to be publish::IptSet, and use it everywhere appropriate. Define descriptor::Ipt to be an IntroPointDesc from tor_netdoc. The manager will have all the information to produce these, so it will be convenient to simply hand them, pre-canned, to the publisher.
* tor-hsservice: Have Establisher provide more information to ManagerIan Jackson2023-08-291-4/+23
| | | | | | The establisher has a netdir; the manager generally doesn't. So it will be convenient for the establisher to provide the linkspecs and so on.
* tor-hsservice: Add TODOs for the unimplemented parts.Gabriela Moldovan2023-08-251-0/+57
|
* tor-hsservice: Get rid of an unnecessary clone.Gabriela Moldovan2023-08-251-5/+3
|
* tor-hsservice: Remove unnecessary validate() function.Gabriela Moldovan2023-08-252-29/+11
|
* tor-hsservice: If we can't build the descriptor, log the error (fmt).Gabriela Moldovan2023-08-251-12/+15
|
* tor-hsservice: If we can't build the descriptor, log the error.Gabriela Moldovan2023-08-251-3/+6
|
* tor-hsservice: Document the non-Event events handled by the Reactor.Gabriela Moldovan2023-08-251-0/+10
|
* tor-hsservice: Clarify when `descriptor` is expected to be incomplete.Gabriela Moldovan2023-08-251-0/+3
|
* tor-hsservice: Explain what UPLOAD_RATE_LIM_THRESHOLD is used for.Gabriela Moldovan2023-08-251-0/+5
|
* tor-hsservice: Document when recompute_hs_dirs should be called.Gabriela Moldovan2023-08-251-0/+8
|
* tor-hsservice: s/fetch_hsdirs/compute_hsdirs (fmt).Gabriela Moldovan2023-08-251-1/+2
|
* tor-hsservice: s/fetch_hsdirs/compute_hsdirs.Gabriela Moldovan2023-08-251-3/+3
|
* tor-hsservice: Use [v].into_iter() instead of iter::once(v).Gabriela Moldovan2023-08-251-1/+1
|
* tor-hsservice: Handle schedule_upload_rx.recv() errors.Gabriela Moldovan2023-08-251-2/+4
|
* tor-hsservice: Remove unnecessary argument from recompute_hs_dirs.Gabriela Moldovan2023-08-251-5/+9
|
* tor-hsservice: Replace the netdir before recomputing the HsDirs.Gabriela Moldovan2023-08-251-2/+2
|
* tor-hsservice: Add partial descriptor publisher reactor implementation.Gabriela Moldovan2023-08-253-10/+836
| | | | | | | | This partially implements the descriptor publisher reactor. The code still has many TODOs and there are no tests. Partially implements #977
* tor-hsservice: Move PublisherError to a separate module, tweak publisher API.Gabriela Moldovan2023-08-252-5/+47
|
* tor-hsservice: Make wait_for_netdir* more widely available.Gabriela Moldovan2023-08-252-63/+76
| | | | | `wait_for_netdir` is needed by the descriptor publisher (to compute the initial netdir).
* hss: Retry rendezvous circuit attempts.Nick Mathewson2023-08-241-8/+26
| | | | Closes #1013.
* Merge branch 'hss_send_raw' into 'main'Ian Jackson2023-08-231-20/+2
|\ | | | | | | | | hss: use send_raw_msg in rend_handshake. See merge request tpo/core/arti!1536
| * hss: use send_raw_msg in rend_handshake.Nick Mathewson2023-08-221-20/+2
| |
* | ipt establisher API: pass a struct to new()Ian Jackson2023-08-231-9/+32
| | | | | | | | | | | | | | | | Now new() only has a reasonable number of arguments and removes some repetition in the mocking arrangements in the IPT Manager. This is the minimum amount that needs to be done in the commit that touches both the IPT Establisher and the Manager.
* | Use "typos-cli" to fix a bunch of typos.Nick Mathewson2023-08-221-1/+1
| |
* | 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-221-7/+9
| | | | | | | | We don't actually want to distinguish drop from not-drop.
* | HSS: Use correct timeouts and delays in IptEstablisherNick Mathewson2023-08-221-8/+7
| |
* | 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-222-16/+27
| | | | | | | | | | | | | | 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.