| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
llcrypto: make "traits" module present unconditionally.
See merge request tpo/core/arti!1815
|
| | |/
| |
| |
| | |
Removes a TODO HSS, since this trait is generally useful.
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
Enable use of warn_report etc with anyhow::Error
Closes #1157
See merge request tpo/core/arti!1818
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This will let us impl for dyn StdError.
|
| | |
| |
| |
| |
| | |
This impl can only compile for Self: Sized. This will let us remove
the Sized bound from the trait itself.
|
| | |
| |
| |
| |
| |
| | |
We're going to need to make change to this trait which would be
breaking for out-of-crate implementors. This should have been sealed
all along.
|
| |\ \
| | |
| | |
| | |
| | | |
Fix a clippy lint
See merge request tpo/core/arti!1814
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
warning: consider adding a `;` to the last statement for consistent formatting
--> crates/tor-circmgr/src/build.rs:162:13
|
162 | handshake_res = circ.create_firsthop_ntor(ct, params).await
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `handshake_res = circ.create_firsthop_ntor(ct, params).await;`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
|
| | |
| |
| |
| | |
This is now in the spec, with torspec!236.
|
| |\ \
| | |
| | |
| | |
| | | |
Resolve several TODO HSS items in hsrproxy
See merge request tpo/core/arti!1809
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
(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`).
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
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
|
| | |/ /
|/| | |
|