| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | | |
We don't need to implement this for our first release of onion
services, but we shouldn't ship a function that calls todo!().
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
There was no actual bug here; just some missing comments.
Closes #1236.
|
| |\| |
| |/
|/|
| |
| |
| |
| | |
Do not reject INTRO_ESTABLISHED messages with extensions
Closes #1238
See merge request tpo/core/arti!1898
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The spec says that we should ignore unrecognized extensions.
Per discussion at torspec#249, this is still correct.
Additionally, this commit moves responsibility for checking
INTRO_ESTABLISHED messages into IptMsgHandler::handle_msg, to make
sure that the circuit is torn down as soon as possible on a bad
reply. (There's nothing to check yet, but there will be once we
start sending extensions that expect a reply.)
Closes #1238.
|
| |\ \
| |/
|/|
| |
| | |
Mark ShutdownStatus as must_use
See merge request tpo/core/arti!1897
|
| |/
|
|
| |
Followup from !1895.
|
| |\
| |
| |
| |
| | |
tor-hsservice: The publisher should exit when the IPT manager says so.
See merge request tpo/core/arti!1895
|
| | |
| |
| |
| |
| |
| | |
The publisher needs to shut down when
`IptPublisherView::sawait_update()` returns `None`, not pause the
uploads.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-hsservice: Reference #1226 instead of #1219 in a TODO.
Closes #1219
See merge request tpo/core/arti!1896
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
`note_publication_attempt` can only fail:
* due to an internal error, in which case there is no point in
retrying
* if `PublishIptSet::save` fails, i.e. if we fail to write to persistent
storage (this is #1226)
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
tor-hsservice: Add `RunningOnionService` API
Closes #1227
See merge request tpo/core/arti!1887
|
| | |
| |
| |
| |
| |
| | |
This introduces an internal `OnionServiceStateMgr` trait, which enables
us to store the `StateMgr` inside the `OnionServiceState` (without
having to parameterize `OnionServiceState` on `S: StateMgr`).
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This reduces code duplication.
|
| | |
| |
| |
| |
| | |
This code was duplicated by `create_inner()` and
`create_onion_service()`.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Both `OnionService` and `RunningOnionService` have an `onion_name()`
function. To reduce code duplication, we can move `onion_name()` to a
new `OnionServiceState` struct (which will grow more state management
functions int he future), and make both `*OnionService` structs deref to
it.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
The `StateMgr` is currently only needed in `launch()`, so we don't
really need to store it.
This allows us to unparameterize OnionService.
|
| | | |
|
| | |
| |
| |
| |
| | |
The functionality previously provided by the so-called `StateMgr` is now
part of `OnionService`, so we can remove state.rs altogether.
|
| | | |
|
| | |
| |
| |
| |
| | |
We are about to need the `svc_cfg` (for calling
`TorClient::create_onion_service`).
|
| | |
| |
| |
| |
| | |
This will be used from `arti` to create an `OnionService`, to implement
the `arti hss` command.
|
| | |
| |
| |
| |
| |
| |
| | |
This a modified version of `tor_hsservice::state::StateMgr::onion_name`.
`tor_hsservice::state::StateMgr` will soon be abolished.
Part of #1220, #1227
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/
|
|
| |
Part of #1227
|
| |\
| |
| |
| |
| |
| |
| | |
Implement is_ipt_failure better.
Closes #1234
See merge request tpo/core/arti!1889
|
| | | |
|
| | |
| |
| |
| |
| | |
Additionally, explain its behavior better, since we cannot always
identify an Ipt failure with certainty.
|
| |\ \
| | |
| | |
| | |
| | | |
shadow ci: add instructions for building arti-extra
See merge request tpo/core/arti!1891
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
hsdesc: Document why enc_key_cert signbit is always zero.
Closes #1221
See merge request tpo/core/arti!1888
|
| | | |/
| |/|
| | |
| | |
| | |
| | | |
Closes #1221.
See torspec!240 for a corresponding spec change.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Several clean-ups around failures in incoming stream request handlers.
Closes #1190, #1189, and #1188
See merge request tpo/core/arti!1892
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Closes #1190
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In theory, it might be better to just un-register the
IncomingStreamRequestHandler when the Receiver for the stream
requests is dropped. However, there are two reasons not to do so:
1. It's tricky. We never actually poll on the corresponding Sink,
so there isn't a place where the Reactor would expect to get a
prompt notification of closure. We only find out that the
Receiver has been dropped when an attempt to send on the Sink
returns an `is_disconnected` error.
2. It's unnecessary. In the Tor protocols, once we have decided to
accept incoming stream requests on a circuit, we want to continue
to do so until one of the parties closes the circuit.
I've documented this in several comments, in case whe want to get
fancier in the future.
Closes #1188.
|
| | | |/
| |/|
| | |
| | | |
Closes #1189.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
hsservice: Document circ lifetime in OpenSession.
Closes #1224
See merge request tpo/core/arti!1894
|
| | |/ /
| | |
| | |
| | |
| | | |
Closes #1224, by making it more clear that we aren't keeping a
circuit alive indefinitely.
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Remove TODO for #1191
Closes #1191
See merge request tpo/core/arti!1893
|
| |/ /
| |
| |
| |
| |
| | |
The bug described here was already fixed as #1065 via !1681.
Closes #1191.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
RouterStatus: Add test functions for Fast and Stable flags.
Closes #1240
See merge request tpo/core/arti!1884
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
All appropriate checks here should be in `is_hs_intro_point()`.
Closes #1211.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This implements Relay::is_hs_intro_point.
Close #1240.
|
| | | |
| | |
| | |
| | |
| | | |
As we enforce these flags in more places, it will be handy for our
default network to have them for its relays.
|