| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
The macro is going to want to be able to do a back-conversion from an
ArtiPath, so there has to be an owned version.
|
| | | |
| | |
| | |
| | |
| | | |
Now they are in the order they appear in the ArtiPath, which is a bit
clearer.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
And implement serde that way, using SerdeStringOrTransparent.
|
| | | |
| | |
| | |
| | |
| | | |
And make it useable elsewhere by not expecting the particular error
type.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows a principled implentation via Display. The alternative
would be to have runtime panics whenever someone uses
KeySpecifierComponentViaDisplayFromStr but the Display impl can
produce wrong syntax (that doesn't fit in an ArtiPathComponent).
Bug seems like the right error since implemnting KeySpecifierComponent
implies that every value is representable in an ArtiPathComponent.
|
| | | | |
|