| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
For the same reason as the allow(unreachable_pub).
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
We're going to improve the "establishing_very_recently" one in a
moment.
|
| |
|
|
|
| |
Add a colon. This is going to be the style for our trace and debug
output.
|
| |
|
|
|
| |
If the time we're supposed to wait is zero, something has gone wrong.
We'd probably just go round again and loop indefinitely.
|
| |
|
|
| |
This is a backstop to stop us just spinning. Instead, we crash.
|
| |
|
|
|
| |
We never called the `started_establishing_very_recently` machinery.
Do so.
|
| |
|
|
|
| |
lifetime is passed in the IptSet and doesn't want to be made absolute
here.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
(We try to avoid making tons and tons of copies of a secret key.)
|
| |
|
|
| |
This will let avoid some copying inside our HSS code.
|
| |\
| |
| |
| |
| | |
Implement build_auth_clients()
See merge request tpo/core/arti!1642
|
| | | |
|
| | |
| |
| |
| | |
cargo fmt, precisely.
|
| | | |
|
| |/
|
|
|
|
| |
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!`
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
Provide and use a SimpleMockTimeProvider
See merge request tpo/core/arti!1639
|
| | |
| |
| |
| |
| | |
Now we're making breaking changes anyway, in or mock crate, it is a
convenient time to get rid of this.
|
| | |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | |
| | |
| | | |
arti: Write the minimal code needed to launch onion proxies.
See merge request tpo/core/arti!1644
|
| | | |
| | |
| | |
| | | |
This makes some other futures Send+Sync, which lets us spawn them.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-hsservice: ipt_set: Docs clarifications
See merge request tpo/core/arti!1647
|
| | |/ /
| | |
| | |
| | | |
Apropos a conversation in !1645
|
| | | | |
|
| | | | |
|
| |/ /
| |
| |
| |
| |
| | |
This enables us to specify a more accurate `worst_case_end` publish time.
Closes #1050
|
| | |
| |
| |
| |
| | |
This fixes a compile error that resulted from a semantic conflict
between !1634 and !1638.
|
| |\ \
| | |
| | |
| | |
| | | |
Initial work on top-level onion service configuration
See merge request tpo/core/arti!1638
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This lets us write `[onion_services.allium_cepa]`.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
We plan to ship without them at first, so we may as well remove
them.
|
| | | | |
|
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-hsservice: Make the publisher not require callers to specify the hsid.
See merge request tpo/core/arti!1637
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | | |
We will soon rewrite this function to load the blinded key from `KeyMgr`
(instead of deriving it from `self.hsid_key`).
|
| |\| |
| |/
|/|
| |
| | |
tor-hsservice: Fix hsdesc publisher bugs, add tests
See merge request tpo/core/arti!1634
|