| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1917#note_2988815
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the `ProxySet` (and all the other `reconfigurable_modules`)
were kept alive by the `watch_for_config_changes` background thread,
which was preventing them from being dropped when `run()` exited. IOW,
onion services never received the shutdown signal.
Now `watch_for_config_changes` takes `Weak` references, and the only
strong references to the modules are kept in the
`reconfigurable_modules` local variable in `run()`, which is dropped
when `run()` exits (e.g. on SIGINT). This allows onion services to
execute their shutdown logic on CTRL-C.
Part of #1244
|
| | |
|
| | |
|
| |
|
|
|
| |
We are about to need the `svc_cfg` (for calling
`TorClient::create_onion_service`).
|
| |
|
|
|
|
|
|
| |
This will enable us to construct non-launched (but configured)
`OnionService`s. We need this, for example, for implementing
the `arti hss` CLI command.
Part of #1227
|
| |\
| |
| |
| |
| |
| |
| | |
Give an error when user configured onion services with no support.
Closes #1184
See merge request tpo/core/arti!1885
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We do this by adding a stub config and config builder type, whose
only purpose is to generate an error if anything is deserialized
into it.
(If this turns out not to be the best pattern, we can change it
later, since this is all internal to the `arti` crate.)
Closes #1184.
|
| |/
|
|
|
|
|
|
| |
I'm taking this out for now since we don't have support for actually
making these addresses work, and the current behavior will just
ignore connections silently.
Closes #1245
|
| |
|
|
|
|
| |
This resolves a `TODO HSS` in arti-client.
Part of #1187
|
| |
|
|
| |
These are not "must fix before releasing onion services".
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
Resolve Arti crate todos, redux
See merge request tpo/core/arti!1833
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
(We can't use `visibility::make(pub)` or `visible` here.
Try it yourself if you don't believe me!)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
The TODO HSS in question is about our inability to serialize every
possible builder. The right answer here might be to use something
else instead of a ListBuilder.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The most logical way to do this was to change the "List" type
to a HashMap, and add a build function to the ListBuilder.
This change additionally renames:
OnionServiceProxyConfig{List=>Map}
NamedProxyMap => ProxyBuilderMap
(We now have two kinds of map, and this name change will clarify the
distinction.)
|
| | |
| |
| |
| |
| |
| |
| | |
IIUC, there will never be a Some(InNew) entry here, since we will
never have an onion service be configured by default. Instead we
test this kind of configuration by having commented-out options that
we uncomment as needed.
|
| | |
| |
| |
| |
| |
| | |
It's correct that we'd like someday for the `arti` crate APIs to
allow all the different modes supported by `Reconfigure` enum;
this is #1156, and it does not block an HSS release.
|
| | | |
|
| | |
| |
| |
| | |
(This was solved with !1798)
|
| | | |
|
| | |
| |
| |
| | |
Part of #1071
|
| |/
|
|
| |
This was made possible by !1818.
|
| |\
| |
| |
| |
| | |
Resolve several TODO HSS items in hsrproxy
See merge request tpo/core/arti!1809
|
| | |
| |
| |
| | |
We'll use this for logging.
|
| | | |
|
| | |
| |
| |
| | |
Closes #1089.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now instead of having a hardwired list of of things to reconfigure,
the watch_cfg module now has a vector of ReconfigurableModule.
As noted in the documentation, I don't intend that this should be
our final API here: It is deliberately not exposed. When we revisit
the structure of `arti` more, we should probably do this
differently.
|
| |/ |
|
| |\
| |
| |
| |
| | |
Followups from MSRV 1.70 upgrade
See merge request tpo/core/arti!1785
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Cleanup and clarification re cache_dir and state_dir (rename in tor_dirmgr)
See merge request tpo/core/arti!1789
|
| | | |
| | |
| | |
| | | |
tor-ptmgr uses it, and the key manager too.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a TODO HSS for this. Fixes cargo check --workspace --all-targets
producing
warning: unused variable: `result`
--> crates/arti/src/cfg.rs:1060:13
|
1060 | let result = file.resolve::<(TorClientConfig, ArtiConfig)>();
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
|
= note: `#[warn(unused_variables)]` on by default
|
| |/
|
|
|
|
| |
This is not a change of ownership but just rebranding.
Signed-off-by: Andrew <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 21605d2c9e601c3a5099bfd8d8c887cbb3b36c0a.
We're doing this because we wanted the configuration of proxy rules
to be a 2-tuple, as in `[ "22", "127.0.0.1:22" ]`. But `config`
couldn't handle that before, so we temporarily changed it to
a string, as in "22 => 127.0.0.1:22".
Closes #1058.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Dropping the ProxySet causes all the services to terminate.
|