summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-hsservice: Unify ids as IptLocalId replacing IntroPointIdIan Jackson2023-09-184-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IntroPointId was RelayIds but that's wrong, because there can be different IPTs at the same relay - but also because an established IPT might change its RelayIds. Use IptLocalId instead, which I think is the type we decided to use for this, and which is, conveniently, Copy. And change the variable names to match, everywhere. Specifically: in places where an intro point is implied (ipt_mgr.rs, ipt_establish.rs) use the name `lid` everywhere, like in ipt_mgr.rs. Elsewhere, use `ipt_lid`. (We could use a longer name, but in that case it should be changed in ipt_mgr.rs too.) No actual functional change in this commit.
| * | tor-hsservice: Use correct name for k_hs_ipt_sid variableIan Jackson2023-09-182-7/+8
| |/ | | | | | | | | | | | | Local variables can have contextually implied elements omitted. In this case that's `hs` and `ipt`, leaving `k_sid` as in ipt_mgr.rs. Put the full name in the doc comment.
* | Merge branch 'ipt-set-2' into 'main'Ian Jackson2023-09-183-28/+258
|\ \ | |/ |/| | | | | tor-hsservice: Implement ipt_set See merge request tpo/core/arti!1577
| * tor-hsservice: ipt_set: Add some testsIan Jackson2023-09-182-0/+118
| |
| * tor-hsservice: ipt_set: note_publication_attempt: fmt bodgeIan Jackson2023-09-181-0/+1
| | | | | | | | Defend against rustfmt worsifying this by adding an empty comment.
| * tor-hsservice: ipt_set: note_publication_attempt: renameIan Jackson2023-09-181-3/+3
| | | | | | | | | | | | From ..._start. The old name is confusing when you see a call site, because the actual time passed isn't the start time, but the call site looks like it ought to be.
| * tor-hsservice: ipt_set: note_publication_attempt_start: implementIan Jackson2023-09-181-2/+28
| | | | | | | | This gains an almost impossible error case.
| * tor-hsservice: ipt_set: principal implementationIan Jackson2023-09-181-14/+91
| |
| * tor-hsservice: ipt_set: make await_update take &mut selfIan Jackson2023-09-181-1/+1
| | | | | | | | This is needed since the notification channel will be an mpsc.
| * tor-hsservice: Add a block to run_onceIan Jackson2023-09-181-9/+16
| |
| * tor-hsservice: Make IptSet be DebugIan Jackson2023-09-181-0/+1
| |
* | Merge branch 'make_hss_ntor_key' into 'main'Nick Mathewson2023-09-181-23/+8
|\ \ | |/ |/| | | | | | | | | Define a keypair type for HsSvcNtor{,Secret}Key, and use it in ipt_mgr. Closes #1030 See merge request tpo/core/arti!1590
| * Add a note about how the K_hss_ntor is passed.Nick Mathewson2023-09-171-0/+4
| |
| * ipt_mgr: use HsSvcNtorKeypair.Nick Mathewson2023-09-171-23/+4
| | | | | | | | Closes #1030.
* | Merge branch 'desc-publisher-retries' into 'main'gabi-2502023-09-143-56/+587
|\ \ | | | | | | | | | | | | tor-hsservice: Implement upload_descriptor_with_retries. See merge request tpo/core/arti!1592
| * | tor-hsservice: Use Either to simplify timeout logic (fmt).Gabriela Moldovan2023-09-131-1/+2
| | |
| * | tor-hsservice: Use Either to simplify timeout logic.Gabriela Moldovan2023-09-131-48/+16
| | | | | | | | | | | | | | | | | | We don't really need a separate task for handling timeouts, we can just create an `Either` future (one of the variants represents the timeout future, while the other is the forever pending, "no timeout" option).
| * | tor-hsservice: Remove extraneous whitespace.Gabriela Moldovan2023-09-131-1/+1
| | |
| * | tor-hsservice: Use warn_report! instead of error!.Gabriela Moldovan2023-09-131-4/+6
| | |
| * | tor-hsservice: Add more details to the backoff runner docs.Nick Mathewson2023-09-131-0/+4
| | |
| * | tor-hsservice: Implement upload_descriptor_with_retries.Gabriela Moldovan2023-09-131-7/+43
| | |
| * | tor-hsservice: Share the immutable reactor state with ↵Gabriela Moldovan2023-09-131-1/+8
| | | | | | | | | | | | upload_descriptor_with_retries.
| * | tor-hsservice: Put the shared reactor state in a new struct.Gabriela Moldovan2023-09-131-29/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | This state will be shared with the task spawned by `Reactor::upload_descriptor_with_retries()`. We need this refactoring because `upload_with_descriptor_with_retries` is not a `&self` method but requires several fields from `Reactor` (currently just `runtime`, `mockable`, `hsid`).
| * | tor-hsservice: Implement a BackoffSchedule for the descriptor publisher.Gabriela Moldovan2023-09-131-0/+35
| | |
| * | tor-hsservice: Split UploadError out of ReactorError.Gabriela Moldovan2023-09-131-9/+36
| | |
| * | tor-hsservice: Remove stray must_use.Gabriela Moldovan2023-09-131-1/+0
| | |
| * | tor-hsservice: Remove unused type parameter.Gabriela Moldovan2023-09-131-4/+4
| | |
| * | tor-hsservice: Introduce helpers for implementing a backoff schedule.Gabriela Moldovan2023-09-132-0/+424
| | |
| * | tor-hsservice: Log an error! if the descriptor upload fails (fmt).Gabriela Moldovan2023-09-131-2/+1
| | |
| * | tor-hsservice: Log an error! if the descriptor upload fails.Gabriela Moldovan2023-09-131-6/+24
| | |
| * | tor-hsservice: Make Reactor::upload_descriptor take a netdir reference.Gabriela Moldovan2023-09-131-2/+2
| | |
* | | Merge branch 'desc-publisher-uploads' into 'main'Ian Jackson2023-09-143-101/+329
|\| | | |/ |/| | | | | tor-hsservice: Don't block the reactor on the descriptor uploads. See merge request tpo/core/arti!1580
| * tor-hsservice: Add some TODOs for the publisher.Gabriela Moldovan2023-09-121-0/+17
| |
| * tor-hsservice: Set the size for the upload_task_complete channel to 0.Gabriela Moldovan2023-09-121-3/+5
| |
| * tor-hsservice: Use mpsc channels instead of async-broadcast (fmt).Gabriela Moldovan2023-09-121-15/+19
| |
| * tor-hsservice: Use mpsc channels instead of async-broadcast.Gabriela Moldovan2023-09-122-30/+39
| |
| * tor-hsservice: Make schedule_pending_upload take &mut self.Gabriela Moldovan2023-09-121-16/+18
| | | | | | | | | | | | We're going to need this when we switch from async-broadcast channels to mpsc channels, because the sending/receiving from the channel will require mutably borrowing the senders/receivers.
| * tor-hsservice: Require Mockable to impl Clone.Gabriela Moldovan2023-09-121-1/+2
| |
| * tor-hsservice: Reformat handle_upload_results docs.Gabriela Moldovan2023-09-121-1/+2
| |
| * tor-hsservice: Replace SystemTime::now() with runtime.now().Gabriela Moldovan2023-09-121-7/+5
| |
| * tor-hsservice: Remove the TODOs that have been addressed.Gabriela Moldovan2023-09-071-16/+0
| |
| * tor-hsservice: Tell the reactor about the status of the descriptor upload task.Gabriela Moldovan2023-09-071-1/+13
| |
| * tor-hsservice: Don't block the reactor on the descriptor uploads (fmt).Gabriela Moldovan2023-09-071-24/+38
| |
| * tor-hsservice: Don't block the reactor on the descriptor uploads.Gabriela Moldovan2023-09-072-53/+92
| | | | | | | | | | Instead of blocking the main loop until all pending uploads complete, the reactor now spawns an upload task for each relevant time period.
| * tor-hsservice: Handle upload completion events.Gabriela Moldovan2023-09-071-0/+14
| |
| * tor-hsservice: Add handler for descriptor upload results.Gabriela Moldovan2023-09-071-0/+44
| |
| * tor-hsservice: Add some types for representing upload results.Gabriela Moldovan2023-09-071-0/+39
| |
| * tor-hsservice: Run descriptor uploads in parallel instead of sequentially (fmt).Gabriela Moldovan2023-09-071-17/+22
| |
| * tor-hsservice: Run descriptor uploads in parallel instead of sequentially.Gabriela Moldovan2023-09-071-5/+26
| | | | | | | | | | | | | | | | | | | | For each time period, the publisher now parallelizes the descriptor uploads. Note that the upload batches for each time period still execute sequentially (rather than in parallel), and that the reactor loop is still blocked until the uploads complete. These limitations will be addressed in a future commit.
| * tor-hsservice: Increment the revision counter when generating a new descriptor.Gabriela Moldovan2023-09-071-2/+26
| |