| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
Fixes #1207.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
We're going to want to do more things here, all of which want the same
error handling.
|
| | | |
| | |
| | |
| | |
| | | |
This combines two logically-parallel options. Also, it provides us a
place to put another piece of information we want in a moment.
|
| | | | |
|
| | |/
|/| |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Resolve comments about publisher constants
Closes #1121
See merge request tpo/core/arti!1911
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This should give us better behavior if the network is slow.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now we have clearer-named constants for overall and individual
timeouts, and we use them in the right places.
Closes #1121.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These may need tuning eventually, but there's no reason to think
that we have a better guess now. (They don't correspond to anything
that C tor does, so we don't have that to guide us.)
Part of #1121; see there for some more discussion.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move state_dir to tor_persist and start to implement it
Closes #1205
See merge request tpo/core/arti!1913
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And, instead of being a hidden module, it's a public experimental one.
I have feature-gated all the new dependencies since we probably want
to feature-gate this module in perpetuity, since some builds of Arti
won't need it.
Closes #1205
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-hsservice: Make the publisher update the `OnionServiceStatus`
See merge request tpo/core/arti!1902
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The publisher status is obtained via `StatusSender` (rather than by
polling `Publisher::status()`).
Part of #1083
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, the status of the `OnionService` is derived from the statuses
of its subcomponents. Their initial status will be `Shutdown`, so we
don't need to explicitly initialize it.
As for setting the status when `RunnionOnionService::launch` fails, I
don't think that's necessary: `launch()` returns an error on failure, so
the user will know about it (it doesn't need to watch the stream of
status events to find out it failed).
Part of #1083
|
| | | | |
| | | |
| | | |
| | | | |
This isn't something we need to do for #1083.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
The new names are shorter and just as descriptive.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We need it to be public, because we're about to expose it in the
`OnionServiceStatus`.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We're about to report the inner error in the `OnionServiceStatus`
(without making `BackoffError` public).
|
| | | | |
| | | |
| | | |
| | | | |
They're not used anywhere, so let's remove them.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The key expiration status is only relevant if the service is running in
"offline mode", so these TODOs should be part of #1194.
|
| | | | |
| | | |
| | | |
| | | | |
This field is unused now that we have `ipt_mgr_state` and `publisher_state`.
|
| | | | |
| | | |
| | | |
| | | | |
Part of #1083
|
| | | | |
| | | |
| | | |
| | | | |
The publisher needs it to notify `OnionService` of status changes.
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
For updating the underlying component statuses of an `OnionServiceStatus.
Part of #1083
|
| |\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
hsservice: Fix some errorkinds and related error handling issues.
Closes #1225
See merge request tpo/core/arti!1906
|
| | |
| |
| |
| |
| | |
Also, change `keep_intro_established`'s return type to indicate that
it has no non-failing return cases.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
We already have the NetDir in establish_intro_once, so we might as
well use it to get the intro-point details there.
This confirms that we will not need IptError::NoNetdir, since we
use wait_for_netdir in establish_intro_once.
|
| | |
| |
| |
| |
| | |
This is not typically wrong, but it may become wrong if we do not
tidy up MissingHsIdKeypair in the future. The TODO now refers to
|
| | |
| |
| |
| | |
This is now #1255, which is not a MUST.
|
| | |
| |
| |
| | |
Part of #1225, also #1237.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Now the remove_if_expire closure, which does the actual work, is
lexically outside the macro, and the macro is trivial.
|
| | |
| |
| |
| |
| |
| | |
This allows us to have a closure containing runtime-polymorphic code,
reducing monomorphisation and moving code out of a macro into a
closure.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Our pattern is now supposed to ensure that we don't see any irrelevant
keys. So if we do, that's a bug.
(The code layout is getting increasingly odd. We'll sort that out
along with some code motion later.)
|
| | |
| |
| |
| |
| |
| |
| | |
Only examine keys for this HS.
This avoids thinking about every key for every HS for every netdir
change. That's quadratic in the number of HS's.
|