| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
The nickname is needed for retrieving keys from the keystore.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
We will need the string rerpresentation (minus the TimePeriod or any
other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
|
| | | |
|
| |\ \
| |/
|/|
| |
| | |
proto: Make StreamTarget::close() misuse less likely.
See merge request tpo/core/arti!1678
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
It turns out that we can make `IncomingStream::reject()` consume
self, thus making it impossible to hit the double-close error
from outside the `tor-proto` crate.
Also, we rename `StreamTarget::close()` to `close_pending()` to
better reflect its limited applicability.
|
| |/
|
|
|
|
|
|
| |
Since none of these methods were invoked from outside
`tor-dirclient` (except for debugging), and since we have had a fair
amount of churn on what we actually want them to be, it seems like a
good idea to use this trick to hide them. This will let us make
other changes to the actual behavior of Requestable in the future.
|
| |
|
|
|
|
|
|
| |
Simply running `rustfmt` makes a mess.
This new formatting is less nice but repo policy requires that the
layout is a fixed point under rustfmt and this is the least bad fixed
point I found.
|
| | |
|
| | |
|
| |
|
|
| |
Suppresses some erroneous warnings.
|
| | |
|
| |
|
|
| |
And add a TODO HSS for improving it.
|
| | |
|
| |
|
|
| |
I wish we could `use Duration::from_secs as secs`.
|
| |
|
|
|
| |
This doesn't test all the code paths, but it does test the main path
of execution (and detected a couple of bugs).
|
| |
|
|
|
| |
We're want to be able to return a mutable borrow of a field in the
mock state. This means we must make `Rng` a GAT.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|