aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-hsservice: Narrow some dead code allowsIan Jackson2023-10-166-2/+7
|
* tor-hsservice: timeout_track: Change semantics to do what's neededIan Jackson2023-10-161-32/+68
| | | | | | | | | | | | | | | | | The key point is this: +//! I.e., the timeout tracker tells you when (in the future) +//! any of the comparisons you have made, might produce different answers. +//! So, that can be used to know how long to sleep for when waiting for timeout(s). That's how the code in ipt_mgr.rs uses this. Without this change, things go wrong in the following case: we've got at least one good IPT, but not quite enough, and the others are taking too long. Ie, the timeout for "we should publish" is in the past. We decide to publish (correctly) but this *past* timeout should be disregarded. Disregarding past timeouts is correct if the code which is making the comparisons acts on the timeout when it occurs.
* tor-hsservice: timeout_track: Provided shortest() for all trackersIan Jackson2023-10-161-0/+25
|
* tor-hsservice: timeout_track: Mark some unused variablesIan Jackson2023-10-161-2/+2
|
* tor-hsservice: timeout_track: Add a dead code allowIan Jackson2023-10-161-0/+1
| | | | For the same reason as the allow(unreachable_pub).
* tor-hsservice: ipt_mgr: Improve waiting publish messageIan Jackson2023-10-161-10/+18
| | | | | | This involves plumbing the duration through. Also it involved breaking out the multiplication by two into an addition, since if we were to change the factor we'd want to print the scaled value.
* tor-hsservice: ipt_mgr: Add several debug/trace messagesIan Jackson2023-10-161-4/+22
| | | | | We're going to improve the "establishing_very_recently" one in a moment.
* tor-hsservice: ipt_mgr: Fix a message styleIan Jackson2023-10-161-1/+2
| | | | | Add a colon. This is going to be the style for our trace and debug output.
* tor-hsservice: ipt_mgr: Avoid looping with a zero timeoutIan Jackson2023-10-161-0/+3
| | | | | If the time we're supposed to wait is zero, something has gone wrong. We'd probably just go round again and loop indefinitely.
* tor-hsservice: ipt_mgr: Apply a limit to loopingIan Jackson2023-10-161-0/+10
| | | | This is a backstop to stop us just spinning. Instead, we crash.
* tor-hsservice: ipt_mgr: Actually wait for (fast-ish) IPTsIan Jackson2023-10-161-0/+4
| | | | | We never called the `started_establishing_very_recently` machinery. Do so.
* tor-hsservice: ipt_mgr: Remove vestigial expiry time code (2)Ian Jackson2023-10-161-10/+1
| | | | | lifetime is passed in the IptSet and doesn't want to be made absolute here.
* tor-hsservice: ipt_mgr: Remove vestigial expiry time codeIan Jackson2023-10-161-4/+0
| | | | | | | This calculation is now done elsewhere: the addition of IPT_PUBLISH_EXPIRY_SLOP happens in IptSet::note_publication_attempt and the storage in the manager's data structure is done by IptManager::import_new_expiry_times.
* tor-hsservice: ipt_mgr: Mark an argument as unusedIan Jackson2023-10-161-1/+1
|
* tor-hsservice: Better debug impl for IptLocalIdIan Jackson2023-10-161-1/+5
|
* hss: use Arc to avoid copying on k_hss_ntor.Nick Mathewson2023-10-123-15/+8
| | | | (We try to avoid making tons and tons of copies of a secret key.)
* Remove the (fairly bogus) HsNtorServiceInput type.Nick Mathewson2023-10-123-23/+28
| | | | This will let avoid some copying inside our HSS code.
* Merge branch 'bug1051' into 'main'gabi-2502023-10-113-4/+188
|\ | | | | | | | | Implement build_auth_clients() See merge request tpo/core/arti!1642
| * Implement build_auth_clients()Neel Chauhan2023-10-113-4/+188
| |
* | oneshot: Apply deferred rustfmt churnIan Jackson2023-10-113-8/+4
| | | | | | | | cargo fmt, precisely.
* | oneshot: Use veneer in tor-hsserviceIan Jackson2023-10-115-6/+7
| |
* | oneshot: Avoid (one) use of .try_recv()Ian Jackson2023-10-111-2/+4
|/ | | | | | It's not so straightforward to provide this (we'd need to poll the FusedFuture and make a dummy a Context and so on), but this is just used once in a test where we can replace it with use of `poll!`
* tor-hsservice: Add tests for maybe_generate_hsid.Gabriela Moldovan2023-10-091-0/+189
|
* tor-hsservice: Move hsid generation to a separate function.Gabriela Moldovan2023-10-091-59/+71
|
* tor-hsservice: Make OnionServices auto-generate the hs_id, if it's missing.Gabriela Moldovan2023-10-092-0/+89
|
* Note reconfigure limitations.Nick Mathewson2023-10-051-0/+4
|
* hss: Implement a reconfigure function.Nick Mathewson2023-10-052-3/+43
|
* Merge branch 'new-mock-time' into 'main'Nick Mathewson2023-10-052-3/+2
|\ | | | | | | | | Provide and use a SimpleMockTimeProvider See merge request tpo/core/arti!1639
| * tor-rtmock: Abolish deprecated Runtime::advance()Ian Jackson2023-10-031-2/+1
| | | | | | | | | | Now we're making breaking changes anyway, in or mock crate, it is a convenient time to get rid of this.
| * tor-rtmock: Rename MockRuntime::jump_to to jump_wallclockIan Jackson2023-10-031-1/+1
| | | | | | | | | | | | This was named after the method from MockSleepRuntime. The name is confusing because it seems to imply it might do something to the monotonic time.
* | Merge branch 'launch_onion_proxies' into 'main'Nick Mathewson2023-10-052-1/+8
|\ \ | | | | | | | | | | | | arti: Write the minimal code needed to launch onion proxies. See merge request tpo/core/arti!1644
| * | hss: Mark RendCircConnector as Send+SyncNick Mathewson2023-10-041-1/+1
| | | | | | | | | | | | This makes some other futures Send+Sync, which lets us spawn them.
| * | hss: Give Config a nickname accessor.Nick Mathewson2023-10-041-0/+7
| | |
* | | Merge branch 'clarify2' into 'main'gabi-2502023-10-041-3/+9
|\ \ \ | | | | | | | | | | | | | | | | tor-hsservice: ipt_set: Docs clarifications See merge request tpo/core/arti!1647
| * | | tor-hsservice: ipt_set: Docs clarificationsIan Jackson2023-10-041-3/+9
| |/ / | | | | | | | | | Apropos a conversation in !1645
* | | tor-hsservice: Remove unnecessary let binding.Gabriela Moldovan2023-10-041-4/+2
| | |
* | | tor-hsservice: Remove a now-outdated TODO.Gabriela Moldovan2023-10-041-23/+0
| | |
* | | tor-hsservice: Share an IptsPublisherUploadView with each upload task.Gabriela Moldovan2023-10-041-21/+50
|/ / | | | | | | | | | | This enables us to specify a more accurate `worst_case_end` publish time. Closes #1050
* | tor-hsservice: Fix semantic conflict.Gabriela Moldovan2023-10-041-3/+1
| | | | | | | | | | This fixes a compile error that resulted from a semantic conflict between !1634 and !1638.
* | Merge branch 'configure_onion_service' into 'main'Nick Mathewson2023-10-034-11/+26
|\ \ | | | | | | | | | | | | Initial work on top-level onion service configuration See merge request tpo/core/arti!1638
| * | Add/clarify comments about name duplication.Nick Mathewson2023-10-031-0/+5
| | |
| * | arti: Make onion_services serialize as a map.Nick Mathewson2023-10-031-0/+5
| | | | | | | | | | | | This lets us write `[onion_services.allium_cepa]`.
| * | hss: Rename the "name" config field to "nickname".Nick Mathewson2023-10-033-3/+3
| | |
| * | hss: Temporarily disable POW config items.Nick Mathewson2023-10-031-4/+5
| | | | | | | | | | | | | | | We plan to ship without them at first, so we may as well remove them.
| * | hss: Make more of the configuration defaultable.Nick Mathewson2023-10-031-0/+2
| | |
| * | hss: Make configs and builders implement more traits.Nick Mathewson2023-10-032-4/+6
| |/
* | Merge branch 'publisher-nickname' into 'main'Alexander Færøy2023-10-033-45/+45
|\ \ | | | | | | | | | | | | tor-hsservice: Make the publisher not require callers to specify the hsid. See merge request tpo/core/arti!1637
| * | tor-hsservice: Remove a fixed TODO.Gabriela Moldovan2023-10-031-1/+0
| | |
| * | tor-hsservice: Make the publisher not require callers to specify the hsid.Gabriela Moldovan2023-10-033-41/+42
| | | | | | | | | | | | | | | | | | | | | | | | Previously, the descriptor publisher needed the `hsid` for logging purposes and for deriving the blinded public keys. This changes the publisher to log the `HsNickname` of the service instead of the hsid, and to read the blinded keys from the keystore.
| * | tor-hsservice: Make Reactor::compute_time_periods a method.Gabriela Moldovan2023-10-031-4/+4
| | | | | | | | | | | | | | | We will soon rewrite this function to load the blinded key from `KeyMgr` (instead of deriving it from `self.hsid_key`).