| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2994999
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2995000
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1977#note_2994998
Removing the intermediate variable removes the possibility that the
information in it could fail to be transferred to the main mutable
state, so we don't need the IEFE any more.
|
| | | |
| | |
| | |
| | | |
We do have some tests, but they're not as comprehensive as we'd like.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Without this, we can regenerate the same IptLocalIds (etc.) on
shutdown/restart (which involves calling startup again within a test
case).
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Indentation left anmolaous briefly for ease of review.
|
| | | |
| | |
| | |
| | |
| | | |
The expiry code is going to want this too. We should at least make a
constant of it.
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
We shouldn't keep the same IPT relays just because they're not
working! Firstly, that's just silly, and secondly, for privacy
reasons we want to put a limit on teh lifetime anyway.
Indentation left anmolaous briefly for ease of review.
|
| | | |
|
| | |
| |
| |
| | |
The old link now 404s, so let's link to spec.torproject.org instead.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Part of #1241
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to the spec, the publisher needs to periodically reupload the
descriptor.
```
Specifically, every time a hidden service publishes its descriptor, it also sets up a timer for a random time
between 60 minutes and 120 minutes in the future. When the timer triggers, the hidden service needs to
publish its descriptor again to the responsible HSDirs for that time period. [TODO SPEC: Control republish period
using a consensus parameter?]
```
After each `upload_for_time_period()`, the publisher now sets a timer as
described in the spec, by pushing a `ReuploadTimer` into its
`reupload_timers` heap.
Closes #1241
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
We will soon need the ability to trigger a descriptor reupload for a
specific time period.
Part of #1241
|
| | |
| |
| |
| | |
Will make the situation in #1264 clear, I think.
|
| | | |
|
| |/
|
|
|
|
|
|
|
| |
Something libtest is doing hides the child stderr/stdout from the test
log, when --nocapture is not given.
With these changes, I see much more output in failing cases or with
--nocapture. In the case mentioned in #1264, the message
"we survived raise SIGUSR2" is now printed both with and without --nocapture.
|
| |
|
|
|
|
| |
Reviewing uses of `#[educe(default)]`, I came across these two places
where it was applied to a non-generic struct without any special
attributes on fields. std's derive will do just as well here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Since Rust 1.66, std's default works properly for enums, provided that
the default variant is a unit.
Review all uses of `#[educe(default)]` on enums and replace them with
std where possible, which is most of them.
In 1.66 and later, std's `#[derive(Default)]` doesn't infer any
generic bounds on the derived impl, where it's an enum - since the
unit variant can always be constructed. So this change doesn't add
any generic bounds and is not API-visible.
|
| |\
| |
| |
| |
| | |
hsproxy: Improve error messages.
See merge request tpo/core/arti!1973
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When giving an error message about an hsrproxy configuration:
1) mention that this is for an onion service.
2) mention what the invalid text was.
Part of #1266
|
| | |
| |
| |
| |
| | |
Actually, we want to test handling of the string with whatever the
extension would be, if it changed.
|
| | |
| |
| |
| |
| |
| |
| | |
And replace ".lock" with it.
Now the only place that the "lock" extension this is still present as
a literal is in a test.
|
| | |
| |
| |
| |
| |
| | |
And replace "lock" with it. This is the first half of not open-coding
this; the sites where the literal string is ".lock" are in the next
commit, to help avoid the slip of using the wrong constant.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Now ee consistently use "instance id" or "instance identity" (or,
where unambiguous, "id"), to mean the identity of an instance within a
kind, and "instance" to refer to the whole thing including the kind.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
We're going to get more call sites.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Slug is the general type. Instance kinds are slugs too. We need a
word for the slug-within-an-instance which identifies a storage
location for StorageHandle, or a raw subdirectory. Let's use "key".
Change the terminology (and variable names) everywhere.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Add comments where it's done automatically.
(There will be tests of the claims I'm making, in a later commit.)
|
| | | |
|