| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
`upgrade_pending_channel_to_open`
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
An attempt to make sure that there are no code paths which forget to
remove a pending channel from the channel map.
This also adds error-level log messages and panics during debug builds
if a `PendingChannelHandle` is dropped without properly passing it to
`MgrState::remove_pending_channel` or
`MgrState::replace_pending_channel`.
|
| |
|
|
|
|
|
|
| |
This reverts commit f85bc3cf849109aaa2c4da9fc8c06e7173a0543f.
There were some small conflcits in
`AbstractChanMgr::get_or_launch_internal`, so this wasn't a clean
revert.
|
| |\
| |
| |
| |
| | |
tor-chanmgr: update comments about selecting pending channels
See merge request tpo/core/arti!2544
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This handle contains all of the details required to remove or replace a
pending channel entry from the channel map.
|
| | |
| |
| |
| |
| |
| | |
These methods on `MgrState` acquire a lock, and it's easy for calling
code to also try to acquire the same lock within the closure, causing a
deadlock. It's better to not expose these methods.
|
| | | |
|
| | |
| |
| |
| | |
Best reviewed with the '-w' flag to hide whitespace changes.
|
| |/
|
|
|
|
|
|
| |
This moves most of the channel map logic from
`AbstractChanMgr::choose_action` to `MgrState::request_channel`.
This is working towards being able to remove
`MgrState::with_channels{,_and_params}`.
|
| |
|
|
| |
Fixes a TODO.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
We use the *channel*'s memquota account. This is arguably wrong, but
it's hard to get right now. See #1652.
Change the type of the queue, and the places it's constructed.
The use sites can all stay the same.
|
| |
|
|
|
| |
This gets it as far as the outbound circuit->channel mpsc queue creation.
Also, we provide an accessor for it.
|
| | |
|
| |
|
|
|
| |
This delivers a fresh account per channel to the places where channels
are actually made, but doesn't pass them to tor-proto yet.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Plumb through a top-level account. This doesn't have any
channel-specific, circuit-specific or stream-specific accounts yet.
tor-circmgr's and tor-hsclient's *tests* need fake account.
In arti-relay, use a dummy account for now.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This restores the functionality of
socks users: detect closed sockets.
0c595818f713916d94b7b0e4062f953fad7c9799
which we reverted as part of rebasing this branch onto main.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This deduplicates some docs and eliminates the two wrapper functiosn
for `run_handshake`, which is now just `handshake`.
We're going to make other API breaks too, and this isn't going to be
the primary API, so we might as well do this.
Proper description of the semver breakage will come at the end when
it's all done.
|
| |
|
|
| |
This reverts commit 0c595818f713916d94b7b0e4062f953fad7c9799.
|
| |
|
|
| |
This reverts commit dceeb82f7d1154894ab9c7c607d68f8335bb9615.
|
| |\
| |
| |
| |
| | |
Miscellaneous cleanups, mostly in tor-memquota
See merge request tpo/core/arti!2461
|
| | |
| |
| |
| |
| |
| | |
Make it have a summary line of only reasonable size.
While we're here, wrap the body with semantic linefeeds.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-chanmgr: support multiple channels for a relay ID
See merge request tpo/core/arti!2442
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Like `ByRelayIds`, but allows multiple items per relay ID.
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Upgrade dependencies in preparation for next week's releases.
See merge request tpo/core/arti!2450
|
| | | |
| | |
| | |
| | |
| | |
| | | |
The `derive_more` crate broke backward compatibility with this version,
so this change involved quite a few manual fixups.
With luck, they'll keep compatibility for some while in the future.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When calling copy_within, we want to copy the amount of data that
we're keeping; previously, we were copying an extra `action.drain`
bytes, which could have led to a panic.
Spotted by Opara.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Without this check, our socks code can enter an infinite loop
if a socket is closed at the wrong time.
Resolves TROVE-2024-011.
Fixes #1635.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(And similarly rename TcpListener to NetStreamListener,
along with their TcpStream/TcpListener associated types.)
These types are about to become generic over addresses,
and therefore shouldn't be named after TCP.
Renaming was done mostly with Rust Analyzer,
except for some macros that needed to be hand-edited.
(I'll revise the comments in the next commit;
this one is all about renaming.)
|
| |/
|
|
|
|
|
|
|
|
| |
It's redundant with the incoming() method (which turns the
TcpListener into a Stream of connections), and nothing actually used
it outside of tests.
Removing this method allows us to simplify our TcpListener code a
good deal, as can be seen by some of the implementations we removed
from our example and testing code.
|