| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to pull this off, the Arc requirement needs to go away because
the Arc<ClientCirc> is now within the ClientTunnel.
This commit also has a rename of the CircuitBuilder to TunnelBuilder in
order to reflect the change that it now builds a ClientTunnel.
There is a slight rename in tor-proto as well just for accuracy.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
And rename it in the process to "PendingClientTunnel".
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The CircMgr will no longer yield circuits but tunnels (src/tunnel.rs).
This is a first step to rename most circuit related objects to use
"tunnel" instead.
Some "circuit" names have been kept for more precise definitions.
No behavior changes.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce the new Tunnel structs that is planned to expose publicly as a
replacement to `ClientCirc`.
Future commits will make those tunnel objects be used accross the code
base up until tor-proto which than handles Circuit directly.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to pull this off, some client => tunnel renaming needed to
happen including the comments.
The send_raw_msg() is an experimental and expert mode method that any
tunnel should have access to in order to be able to send whatever
message in whatever tunnel type.
No behavior changes.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To use the functionality only allowed on single-circuit tunnels (such as
`extend*`), callers will have to call `ClientTunnel::as_single_circ()`
to obtain a handle to the underlying `ClientCirc`.
This is an opinionated design decision that goes against the plan from
[!2790]. It stems from my thinking that it would make more sense to keep
`ClientCirc`, than to merge it into `ClientTunnel`. If we merge the two,
many functions will need become fallible and less ergonomic, because the
user of `ClientTunnel` needs to know whether the `ClientTunnel` consists
of a single-circuit or not. Providing (fallible) access to the
underlying `ClientCirc` of the `ClientTunnel` seems simpler than the
alternative. That being said, I am open to switching back to the
original plan if this design turns out to be annoying to work with.
[!2790]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2790
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Fix errors from rustdoc nightly.
See merge request tpo/core/arti!3124
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Changelog content for 1.4.6
See merge request tpo/core/arti!3119
|
| | | |/
| |/| |
|
| | | |
| | |
| | |
| | | |
This was accidentally omitted from my version bump script.
|
| | | |
| | |
| | |
| | | |
cd crates/hashx/bench && cargo update
|
| | | |
| | |
| | |
| | | |
cd crates/equix/bench && cargo update
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Made with the following shell script:
export CARGO='nailing-cargo -Eu'
# Non-functional changes only
maint/bump_nodep hashx
# Special
$CARGO set-version -p arti 1.4.6
# Additional features, no breaking changes, depended on in tree
$CARGO set-version -p safelog 0.4.8
# Unconditional bump to 0.33.0
xargs -I P <<END $CARGO set-version -p P 0.33.0
tor-error
tor-general-addr
tor-geoip
tor-rtcompat
tor-rtmock
tor-async-utils
tor-config
tor-config-path
tor-rpc-connect
tor-log-ratelim
tor-rpcbase
tor-memquota
tor-units
tor-llcrypto
tor-bytes
tor-protover
tor-checkable
tor-cert
tor-key-forge
tor-hscrypto
tor-socksproto
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-persist
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti-ureq
arti-rpc-client-core
END
|
| |\ \
| | |
| | |
| | |
| | | |
Dependency updates (release prep)
See merge request tpo/core/arti!3117
|
| | | | |
|
| | |/
| |
| |
| | |
No upstream changes that break our code.
|
| |\ \
| | |
| | |
| | |
| | | |
Sort out fixup-features
See merge request tpo/core/arti!3120
|
| | | |
| | |
| | |
| | | |
Manual format tidying
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This just added some obvious full-transitivity.
It left a formatting oddity.
|
| | |/
| |
| |
| |
| | |
Our feature doctrine doesn't have a special case for features that are
empty and retained for compatibility. "full" is probably best.
|
| |/
|
|
| |
`builder()` and `new()` always return a runtime with `tor_rtcompat::PreferredRuntime` so these methods should only be implemented for that type.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
All other INFO log lines emitted when arti starts begin with an
uppercase character, so this line looks out of place if it begins with a
lowercase character.
|
| |
|
|
|
| |
A `max` of "auto" (the default) now determines a limit based on the
system's total available memory, rather than acting as "disabled".
|
| |
|
|
|
| |
Note that this contains a breaking change to the `ConfigBuilder`. This
should not break any existing toml configuration files.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Closes #2012.
|
| |
|
|
|
|
|
| |
These APIs differ from Redactable by forcing the caller to choose
whether an object should be displayed in redacted or non-redacted
form. (Redactable objects still implement Display, which
creates the risk of accidentally displaying an un-redacted object.)
|
| | |
|
| |\
| |
| |
| |
| | |
arti-client: Re-export `ConfigurationSources`
See merge request tpo/core/arti!3044
|
| | |
| |
| |
| |
| |
| |
| | |
This commit re-exports `ConfigurationSources` in `arti_client::config`.
The similar `ConfigurationSource` is already publicly exported, but it
unfortunately it is pretty useless without a `ConfigurationSources` to
which it belongs.
|
| | |
| |
| |
| |
| |
| |
| | |
This command is supposed to return an error when handled by a tunnel
reactor that has more than one circuit.
Prevents the `ConfluxSet::take_single_leg()` bug fixed in 00bb0628.
|
| | |
| |
| |
| | |
This was fixed in !3091
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
This slightly reduces the amount of code we need to maintain.
This also drive-by fixes a bug in `ConfluxSet::take_single_leg`, which
previously never actually checked if the conflux set was of size one.
|
| | |
| |
| |
| |
| | |
This method will enable us to remove some duplicated code, as well as
the `element_idx` function.
|
| | | |
|
| | |
| |
| |
| |
| | |
This ensures that even in situations where multiple requests are
received at the exact same time, we will not drop any requests.
|
| | | |
|