| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We only have one command right now (`Shutdown`), so this is mostly just
boilerplate.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will need a handle to the runtime to spawn the "secondary" reactor
from the main one.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There will soon be multiple systems that need to be notified of reactor
shut down, so it's time to change this to a channel type with a
cloneable receiver.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
These will be shared with the relay code.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The TODO is silly, because there will be no "outgoing channel map".
There will be at most *one* outgoing channel, and that is represented by
`Option<Outbound>`.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
That way we don't need to make halfstream `pub(crate)` (we only really
use it in streammap, and in the client reactor, because of the
`handle_msg()` kludge).
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We need it for exits and leaky pipe.
Part of #2212
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
"Backward" because this reactor will deal with relaying cells in the
backward direction (from exit to client). In addition, this reactor will
deal with stream handling and control/command messages.
We will soon have another, "forward", reactor, relaying cells in the
forward direction.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
These fields aren't public so this doesn't have semver impacts.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In a moment, we're going to want to transform the field arguments.
That would leave us open to bugs like this:
valid_after: valid_after.into(),
fresh_until: fresh_until.into(),
valid_until: valid_after.into(),
We'll sort out the indentation later in this branch.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This (briefly) regresses the documentation, but it's going to appear
again when we derive the methods.
|
| |/ / / |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
We decided to move away from the `Error` + `ErrorDetail`
all-encompassing enum design, and will use `anyhow::Error` in more
places. When we need to handle specific errors, we will create smaller
more-specific error types in those cases.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use random_hostname() to pick an (E)SNI
Closes #2210
See merge request tpo/core/arti!3372
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
Closes #2210.
Edited-by: Nick Mathewson <[email protected]>
|
| | | | |
|
| |/ /
| |
| |
| | |
Closes #2067.
|
| |\ \
| | |
| | |
| | |
| | | |
Add more detail on retry times to GuardMgr logging
See merge request tpo/core/arti!3153
|
| | | |
| | |
| | |
| | |
| | | |
While this is fairly nested, it's short, and most of the complexity is
just in the logging code.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
The "Next retry time unknown" message can't be hit right now, but could
be if the code changes in the future.
|
| | | |
| | |
| | |
| | |
| | | |
I don't love shoving such a complicated expression in thiserror, but it
seems nicer than writing the implementation by hand...
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
arti: Ignore reload_cfg::test::watch_multiple.
See merge request tpo/core/arti!3364
|
| | |/ /
| | |
| | |
| | | |
This is flaky, ignoring until #1607 is fixed.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
proto: Split out IncomingDataCmdChecker as a separate type
See merge request tpo/core/arti!3348
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
The previous "incoming" terminology was rather ambiguous.
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3348#note_3275337
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will be used by relays too (for validating incoming messages on
streams).
This is just code motion, so it's best reviewed with `--color-moved`.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The incoming one will be used for the exit relay implementation too.
Also, with this change, receiving `CONNECTED` on an incoming stream will
result in a clearer error message. Previously, the check against
receiving `CONNECTED` on an incoming stream was bundled with the
double-CONNECTED check for client data streams, so in the incoming
stream case, the error message was misleading ("Received CONNECTED twice
on a stream.").
|
| | | |
| | |
| | |
| | |
| | | |
`Arc` is already in scope, and not fully-qualifying it makes it more
readable.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This makes it easier to see which parts are implementation-agnostic
(i.e. do not import from crate::client).
|
| | | |
| | |
| | |
| | |
| | | |
The CmdChecker will be used by relays too, so I am moving it to the
shared `stream` module.
|