| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | | |
|
| | | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
This option will primarily be used by integrators who want to modify
the configuration, either directly or via RPC, before launching Arti
completely.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
proto: Add a new channel -> circuit queue type
See merge request tpo/core/arti!4025
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is needed for relays as part of #2490.
Note that changing this type affects the client implementation too (i.e.
clients will start prioritizing inbound DESTROY, discarding any queued
data without forwarding it to their local streams). But that's okay,
because it will generally only affect misbehaving clients, and clients
unlucky enough to encounter a hibernating relay.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`CircuitRxSender` is no longer a `Sink`, so we don't need this import
anymore.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This adds new a `CircuitRxSender`/`CircuitRxReceiver` queue type.
The corresponding (`Sink`-link) sender and `Stream` implementations
prioritize the delivery of `DESTROY` messages, which get delivered
immediately, even if there are other messages queued in the underlying
MPSC message queue.
We are okay with the resulting data loss, because inbound DESTROY can be
indicative of malicious activity on the circuit. We choose to err on the
safe side, and free up the resources associated with such circuits as
soon as possible. DESTROY messages are also sent by relays when they're
about to hibernate, and by clients once they've decided to stop using a
circuit. In the latter case, the lack of an `RELAY_COMMAND_END_ACK`
does mean that this prioritization can cause data loss in cases where
the client closes the circuit immediately after END-ing a stream.
However, this is a deficiency in the protocol, and not something we want
to fix by implementing custom flushing logic in the reactor. See
torspec#196 and the discussion in #2490.
Part of #2490
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | | |
proto: Make the ClientDataStreamCtrl optional throughout
See merge request tpo/core/arti!4074
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This passes now that we can build a `DataStream` without a
`ClientDataStreamCtrl`.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously this would panic.
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We will reuse `DataStream` for relay exit streams, and those aren't
going to have a `ClientDataStreamCtrl`.
Part of #2557
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
maint/cargo-audit: Ignore RUSTSEC-2026-0173
See merge request tpo/core/arti!4075
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
`proc-macro-error2` is unmaintained. We depend on it via `getset` and
`dynasm`, so we'll this exception until they're updated.
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
fix coverage_fuzz_corpora to use the target-coverage dir
See merge request tpo/core/arti!4071
|
| |/ / / / |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Upgrade tokio to LTS 1.47.1
Closes #2137
See merge request tpo/core/arti!4033
|
| | | | |
| | | |
| | | |
| | | | |
Closes #2137.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Upgrade to filetime 0.2.29
Closes #2562
See merge request tpo/core/arti!4064
|
| | | | |
| | | |
| | | |
| | | | |
Closes #2562
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Needed so we can upgrade to the latest `filetime`.
See #2562
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
tor-netdoc: Avoid use of string slices in PortPolicy
See merge request tpo/core/arti!4062
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds a tor-netdoc test for checking for an edge case related
to UTF-8 symbols found within netdocs.
See arti#2566
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit removes the use of string slices in PortPolicy::from_str()
by making use of `str::split_once` instead.
See arti#2566
Co-authored-by: 5225225 <[email protected]>
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-netdoc: No longer import crate::Result in doc::netstatus
See merge request tpo/core/arti!4050
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This is a clearer.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
Bump some deps that have had breaking changes
See merge request tpo/core/arti!4053
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Part of #2559
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Uncontroversial RouterDesc field additions
See merge request tpo/core/arti!4006
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It is weird to have three possible states for truthiness here.
This commit removes the Option in favor of the inner type while adding a
TODO comment to somehow find a way to skip this during encoding.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Adds a TODO for using ConstantString for overload_general.
|
| | | | |
| | | |
| | | |
| | | | |
This field is taken from the spec.
|
| | | | |
| | | |
| | | |
| | | | |
This commit adds the contact field to RouterDesc.
|
| | | | |
| | | |
| | | |
| | | | |
This commit adds support for the overload-general field to RouterDesc.
|
| |/ / / |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-netdoc Rename NetdocUnverified trait to NetdocParseableUnverified
See merge request tpo/core/arti!4043
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Apparently, it is only correct to write
[`NetdocParseableUnverified`](derive_deftly_template_NetdocParseableUnverified),
*after* the definition of that template. Before then, the macro isn't
in scope.
Worse, rustdoc just treats it as a filename and doesn't spot the link,
so you don't get any kind of warning. I think this is an upstream bug,
https://github.com/rust-lang/rust/issues/157304
I found rustdoc's behaviour capricious. I don't intend to go through
the arti tree right now looking for similar patterns. Instead let's
hope the upstream bug gets fixed, and in the meantime do this crate::
thing when we notice we need it.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The NetdocParseableUnverified derive macro implements this
trait (amongst other things). Traits and derive macros should have
aligned names.
This is only used for parsing, so let's keep the "Parseable" part of
the name.
I don't think the effort of deprecated alias, for downstream
compatibility, is worth it, our compatibility policy notwithstanding.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
The trait is called NetdocUnverified, but the template is
NetdocParseableUnverified. This fixes a dead docs link (which somehow
isn't spotted by rustdoc, but is instead taken to refer to a
nonexistent file).
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Run routine cargo update
See merge request tpo/core/arti!4045
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without this, the shadow integration tests fail because
`touch_instance_dir()` isn't able to set the mtime on the state dir:
```
Err(Error { source: IoError(Os { code: 14, kind: Uncategorized, message: "Bad address" }), action: Initializing, resource: Directory { dir: "./hss/tgen_hs" } })
```
I suspect switching to the stblib implementation of these functions in
https://github.com/alexcrichton/filetime/pull/121 is what broke things
for us.
The new implementation calls into rust's `set_times()` impl, which calls
the `utimensat64` libc function under the hood. I suspect the underlying
syscall used by this function is not supported by shadow.
|
| | |/ /
| | |
| | |
| | | |
Part of #2599
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
proto: Fix inverted cert sig and AUTHENTICATE compare
Closes #2501 and #2502
See merge request tpo/core/arti!4048
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Goulet <[email protected]>
|