| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-error: Introduce ErrorKind::LocalResourceAlreadyInUse
See merge request tpo/core/arti!1775
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Our HSS code isn't going to work if you run more than one copy. Soon
we'll detect this (via our use of tor_persist).
There may be other places this ought to be used. Eg if we get
EADDRINUSE from trying to set up a proxy, maybe ...
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
tor-hsservice: Remove a publisher TODO that has been addressed.
Closes #1131
See merge request tpo/core/arti!1807
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The publisher doesn't reupload unless explicitly asked to do so by the
`IptManager` (via `await_update()`).
Also, when the consensus changes, we always trigger a reupload, but only
to those HsDirs that don't already have the descriptor (the HsDirs
marked as "clean" stay "clean", and any new HsDirs are marked "dirty"
until they get a copy of the descriptor. See !1806).
Similarly, a config change only triggers a reupload if the change means
we need to generate a new descriptor (e.g. if the `anonymity` of the
service changes). Note, however, that this logic is currently commented
out (it depends on #1028).
Closes #1131
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
arti: Reconfigure onion services as needed
Closes #1089
See merge request tpo/core/arti!1798
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Part of #1083
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to know the status of each component to be able to report the
overall status of the service. Without this change, the service (and its
components) have no way of knowing if a given transition is valid: if
the state of a component (say, the IPT manager) is `Bootstrapping`,
`Recovering` or `Broken`, a transition out of the current state is only
valid if it is initiated by the same component that caused the current
state (for example, if the publisher sets the state to `Recovering`, the
IPT manager should not be allowed to trigger an overall state transition
to `Running`).
Part of #1083
|
| | |/ /
|/| | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-hsservice: Fix publisher bug causing unnecessary uploads.
See merge request tpo/core/arti!1806
|
| | | | |
| | | |
| | | |
| | | | |
Fixes a clippy lint.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a bug where the publisher wasn't preserving the
`DescriptorStatus` of its `HsDirs` when handling consensus changes.
The bug is described in more detailed in the TODO removed by this commit.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This is actually a `TimePeriodContext`.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
arti: add ntor-v3 handshake experimental feature
Closes #1084
See merge request tpo/core/arti!1766
|
| | | | | | |
|
| | | | | | |
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
An encoded set of extensions in the ntorv3 handshake includes a header
with the number of extensions. This change adds that header.
It also changes `write_many_onto` to take a slice instead of an
iterator, since we need to know the number of extensions up-front. In
principle we could take a clonable iterator instead and use
Iterator::count, but it's probably not worth the extra complexity.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
hsclient: Clean up some TODOs about parallelism.
See merge request tpo/core/arti!1795
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
* Be a little more specific about what is being parallelized.
* Remove TODOs about specs, in favor of torspec#244.
* Note some other issues surrounding some of the cases.
(See discussions of points 3-6 at #913)
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Improve KeySpecifier, errors, IptKeySpecifier impl, etc.
Closes #1116 and #1148
See merge request tpo/core/arti!1796
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This makes this like the list for ArtiPath.
|
| | | |
| | |
| | |
| | | |
That would allow construction of invalid paths.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test that the FromStr and TryFrom impls give the same answers as
new().
These tests dodn't even compile before
Properly validate in FromStr
because the derive-more generated version has a wrong error type.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
As pointed out in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1796#note_2974513
derive-more just parses like the inner type, so an unvalidated String.
That is wrong.
|
| | | |
| | |
| | |
| | | |
Now ArtiPath too is TryFrom<String> and AsRef<str>.
|
| | | |
| | |
| | |
| | | |
This makes it more like ArtiPathComponent and will allow more unification
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Rename VALID_ARTI_PATH_COMPONENTS from _PATHS. These are tested for
validity as components. I want to add a test for a multi-component
path, so make a place to put it.
|
| | | |
| | |
| | |
| | | |
Rebinding inner locally like this confused me.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
These don't seem critical to me.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
The previous name was ambiguous, and confusable with KeyPathError
(of which it is, basically, a variant).
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Fix docs link breakage.
|
| | | |
| | |
| | |
| | | |
Minimal changes to still compile and pass tests.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Normally as_... is a cheap and non-consuming (reference to reference)
conversion. to_ is better here since we don't consume, but we do
allocate.
|
| | | | |
|