| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | | |
(These are the ones about warning on questionable configuration
choices.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
"We might someday want to do X" does not really rise to the level of
a "must-fix".
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We separate these from our failures to connect to a local proxy,
since that is a much more common error.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
See arti#1153 for followup work here. The current behavior is IMO
a decent default.
|
| | | | |
| | | |
| | | |
| | | | |
See torspec!237
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
We'll use this for logging.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
tor-hsservice: Publish the IptPublishSet we called note_publication_attempt on
Closes #1097
See merge request tpo/core/arti!1805
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This line is too long.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We already log the outcome of the HsDir upload in the function that
calls this code.
|
| | | | |
| | | |
| | | |
| | | | |
This also wraps the line.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, it was possible for the `IptPublishSet` used to generate the
descriptor and the `IptPublishSet` `note_publication_attempt` to
differ. Now, the publisher generates the descriptor using the same
`IptPublishSet` it calls `note_publication_attempt` on.
Note that as a consequence, the publisher generates a new descriptor
just before _each_ HsDir upload. This means each HsDir could, in theory,
receive a different descriptor (not just in terms of revision-counters,
but also with a different set of IPTs). It may seem like this could lead
to some HsDirs being left with an outdated descriptor, but that's not
the case: after the upload completes, the publisher will be notified by
the ipt_watcher of the IPT change event (if there was one to begin
with), which will trigger another upload job.
Previously, the publisher would only generate a single descriptor for
each time period (all HsDirs in a given time period would receive the
same descriptor).
Closes #1097
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was previously in `TimePeriodUploadResult`. We will soon have
different revision_counter for each `HsDirUploadResult`, so let's
preemptively move the field there.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
We're going to need to clone it soon.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`generate_revision_counter` and `create_ope_key` don't use anything from
`self` other than `imm`, so they might as well be methods on
`Immutable`. This change is needed because we're soon going to need to
use `generate_revision_counter` from an associated `Reactor` function
(where we don't have `self`).
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
hsrproxy: Add a test for the contents of a parsed configuration.
See merge request tpo/core/arti!1810
|
| |/ / / |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-hsservice: Derive service state from the state of its components.
See merge request tpo/core/arti!1808
|
| | | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This tests ntor_v3 in the shadow integration test.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The arti-extra binary has several experimental features enabled.
Currently it is used to test experimental onion service features, but it
would be useful also do a test of the arti-extra binary in the same
configuration and workload as the arti binary (which has the default
featureset).
In a follow-up commit, we'll enable the experimental ntor-v3 handshake
implementation in the arti-extra binary.
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|