| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | | |
We need to pass around an Arc<HsCircPool<R>>, but doing so directly
would force us to make RendRequestContext parameterized on R.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we go to answer a RendRequest, we need to have a few objects
present. This commit makes sure that they're available at the
right places.
We also note a significant problem with the need for a Subcredential
here.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-hsclient: state expiry test: Use MockSleepProvider advance
See merge request tpo/core/arti!1609
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
See
https://gitlab.torproject.org/tpo/core/arti/-/issues/1040
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-hsservice: Fix compile error, make Publisher use Arc<OnionServiceConfig>.
See merge request tpo/core/arti!1612
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a compile error introduced as a result of merging a couple of
conflicting MRs (!1611 and !1604).
This also makes the channel the publisher uses for watching for config
changes receive `Arc<OnionServiceConfig>` (rather than
`OnionServiceConfig`).
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
tor-hsservice: Make config a watch receiver
Closes #1041
See merge request tpo/core/arti!1611
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We introduce a bug here which the next commit will fix.
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Start to implement OnionService::new (part 1)
See merge request tpo/core/arti!1604
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We'll use this to implement intro point persistence.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This has a lot of open questions, and won't work yet, but it
starts to show us the current level of interface mismatch between
our pieces.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This data is all duplicated in other places, or will be.
|
| |\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
Upgrade to fixed-capacity-vec 1.0
See merge request tpo/core/arti!1606
|
| | | | | | |
|
| | | |/ /
| |/| | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor_config: Provide Flatten
See merge request tpo/core/arti!1605
|
| | | | | |
| | | | |
| | | | |
| | | | | |
At some earlier point of development this struct was pub.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a better trickery! Now we don't need to derive the list of
field names at all.
The test case becomes much simpler too, and no longer needs to compare
field lists since we have only the serde field list.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add a performance note, and the manually-verified test case to support
it.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This involves returning the field list in the
`FlattenableTesterSuccess`.
This leaves the names a little off; we'll update those at the end.
Export this - it's going to replace the hidden pub test function.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We're going to use this some more, even.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1605#note_2945202
|
| | | | | | |
|
| | | | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
This is an attempt to deal with the fact that `#[serde(flatten)]`
is weirdly broken and doesn't work with `serde_ignored`.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-hsservice: Make the publisher compile again.
See merge request tpo/core/arti!1607
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The compile error happened because there was a conflict between
arti!1603 and arti!1599:
* the patch from !1603 uses `OnionServiceConfig::encrypt_descriptor`
* !1599 removes `encrypt_descriptor` altogether
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
tor-hsservice: Descriptor publisher improvements
See merge request tpo/core/arti!1603
|
| | | | |
| | | |
| | | |
| | | | |
See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1603#note_2944902
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous code was correct too: after uploading the descriptor, the
`PublishStatus` is not updated, because the reactor is still in a state
where it has enough information to publish descriptors. Note that simply
"being" in the `UploadScheduled` state isn't enough to trigger another
upload, because `publish_status_rx.next()` (from the `select_biased!` of
the main-loop), blocks until something triggers another state transition
(`AwaitingIpts` -> `UploadScheduled`, or even `UploadScheduled` ->
`UploadScheduled`), so while a third state is not strictly necessary, it
does help with readability.
|
| | | | |
| | | |
| | | |
| | | | |
This also documents how updates are rescheduled.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Now that we've switched to `std::sync::Mutex` many publish functions no
longer need to be async.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
`handle_ipt_change` no longer handles the new intro points: it now
handles the IPT _change_ by updating the publish state of the reactor.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't really need to keep the handles around, so let's just discard
them.
This also updates `upload_all` to propagate any errors coming from
`build_sign`.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|