| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
Conforms to rpc-cookie-sketch.md.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
We want to load cookies only after we've connected and gotten a
banner.
|
| | | | |
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Update P101 numbers for Q4-2024
See merge request tpo/core/arti!2711
|
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
arti-relay: remove 'override_net_params' config
See merge request tpo/core/arti!2709
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
We think that for relays, the 'override_net_params' config option is
overly broad and a footgun. We can always re-add this back later if we
want to, but for now the focus will be on exposing specific config
options for features that are okay to be changed by users.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
tor-proto: Initial KIST support (Linux-only)
Closes #1728, #1729, and #1730
See merge request tpo/core/arti!2706
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This also removes the TODO that was addressed by adding the kist params
to this type.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This moves the `NetParameters -> KistParams` conversion to
`tor-chanmgr`.
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2706#note_3147557
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This renames UnsupportedStreamOpsHandle to NoOpStreamOpsHandle for
clarity (the old name kind of sounded like the name of an error type).
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Closes #1730, #1728
|
| | | |
| | |
| | |
| | |
| | | |
Needed for the chanmgr to be able to update existing channels with new
KIST settings read from the consensus.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This will enable us to update the channel's KIST configuration whenever
there is a change in the consensus or config.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This is unfortunately necessary, because after the channel handshake, we
need to give the channel reactor a `StreamOps` handle to the underlying
stream.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
We're about to add a trait bound that forces `MockTlsStream` to impl
`StreamOps`.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Needed for cases where we wrap an object that implements `StreamOps` in
an external type, thereby losing access to the `StreamOps`
functionality. For example, during the channel handshake, we `.split()`
the stream that implements `StreamOps`, which leaves us with a
`SplitSink` and a `SplitStream`, neither of which implement `StreamOps`.
Getting a handle to the underlying object that implements `StreamOps`
(for example, a file handle) *before* the stream is `.split()` enables
us to use `StreamOps` to manipulate the underlying split stream.
This commit also introduces a special `UnsupportedStreamOpsHandle`,
which is a type that implements `StreamOps`, but always returns an
error. This type is meant to simplify error handling and usage, and is
meant to be used in cases where `StreamOps` is not supported. TODO: the
name of this type is pretty confusing (it's very similar to
`UnsupportedStreamOp`, which is an error type), and should probably be
renamed to something else (`NoOpStreamOpsHandle`,
`BrokenStreamOpsHandle`, `DummyStreamOpsHandle` come to mind...).
Note: this changes the `StreamOps` trait to be slightly different from
what I originally envisioned in !2660 and #1769
|
| | | |
| | |
| | |
| | | |
tor-proto now depends on tor-netdir.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note: this commit makes `tor-proto` depend on `tor-netdir`
(because it adds a `KistParams` type that is buildable from
`NetParameters`, which is defined in `tor-netdir`).
Closes #1729
|
| |/ /
| |
| |
| |
| |
| | |
These are tentative, so I haven't added them to param-spec yet.
Part of #1729
|
| |\ \
| | |
| | |
| | |
| | | |
tor-rtmock: Fix task lists when panicking due to stall and tasks unstick each other in Drop
See merge request tpo/core/arti!2682
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, if r is Pending, `fut` is moved out of (stored in
`task.fut`), whereas if r is Ready, it is retained and then dropped at
the end of the loop iteration. This is quite subtle, and involves
`fut` being in a "maybe moved out of" state (which cannot be
represented in Rust's surface type system) after the block with the
`data` lock.
Let's write code that more clearly ensures that the compiler DTRT.
|
| | | |
| | |
| | |
| | |
| | | |
This passes right now, but only because the lifetime of the `fut`
variable in `execute_until_first_stall` happens to be right.
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| |
| |
| | |
(We don't add it to the handful of unit tests that don't use an executor.)
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
fs-mistrust: Facilities for file access
Closes #1746
See merge request tpo/core/arti!2707
|
| | |
| |
| |
| |
| | |
This approach makes it even less likely for people to store a
FileAccess for repeated use.
|
| | | |
|
| | | |
|
| | | |
|