aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * ipt_mgr: use HsSvcNtorKeypair.Nick Mathewson2023-09-171-23/+4
| | | | | | | | Closes #1030.
| * hscrypto: Define a keypair type for HsSvcNtor{,Secret}KeyNick Mathewson2023-09-172-0/+35
| | | | | | | | | | (Also, extend our macro so that we can wrap other curve25519 keys in this way, if we want.)
* | 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 'pt-server-redux' into 'main'Ian Jackson2023-09-143-143/+165
|\ \ \ | | | | | | | | | | | | | | | | tor-ptmgr: refactor Pluggable Transport code See merge request tpo/core/arti!1581
| * | | Add semver.md to document error renamingSaksham Mittal2023-09-141-0/+1
| | | |
| * | | Resolve ClientTransportLaunched and ServerTransportLaunched in different armsSaksham Mittal2023-09-131-24/+26
| | | |
| * | | Rename ClientTransportGaveError to TransportGaveErrorSaksham Mittal2023-09-132-4/+4
| | | |
| * | | Deduplicate ClientTransportLaunched and ServerTransportLaunchedSaksham Mittal2023-09-111-106/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: this isn't perfect, though it moves both match arms to try_match_common_messages, it does end up resolving them separately using a helper function, and also necessitated creating another function in the PluggableTransportPrivate trait
| * | | Deduplicate ClientTransportFailed and ServerTransportFailedSaksham Mittal2023-09-111-22/+11
| | | |
| * | | Import sealed module to avoid syntactic vinegarSaksham Mittal2023-09-111-14/+15
| | | |
* | | | Merge branch 'desc-publisher-uploads' into 'main'Ian Jackson2023-09-144-102/+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-123-31/+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
| | | |
| * | | tor-hsservice: Move the revision counter out of Descriptor.Gabriela Moldovan2023-09-072-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `Descriptor` struct is meant to contain TP-agnostic data, (such as the intro points or client authorization info), and the revision counter is going to be different for each TP as per rend-spec-v3: Implementations MAY generate revision counters in any way they please, so long as they are monotonically increasing over the lifetime of each blinded public key. (the blinded public key changes with the time period)
| * | | tor-hsservice: Remove unused publisher reactor function.Gabriela Moldovan2023-09-071-5/+0
| | | |
| * | | tor-hsservice: Remove unnecessary allow annotations.Gabriela Moldovan2023-09-071-2/+0
| | | |
| * | | tor-hsservice: Use existing postage::watch import.Gabriela Moldovan2023-09-071-1/+1
| | | |
* | | | Merge branch 'locked' into 'main'Ian Jackson2023-09-141-2/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | CI: Use cargo install --locked See merge request tpo/core/arti!1587