| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
Enums with variants conditional on cargo features must be
non-exhaustive, because cargo features are supposed to be additive,
meaning that enabling a feature (which might happen due to some random
distant thing) ought not to break things using that enum.
There were surprisingly few places to fix this.
|
| |
|
|
|
| |
This makes it easy to talk about, and construct, a
BoxSensitive<OwnedChanTarget>, which is what we'll use in errors.
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes
cargo +stable clippy --manifest-path=/home/ian/Rustup/Arti/arti/Cargo.toml --locked --target-dir=target --offline -p tor-linkspec --no-default-features --all-targets
giving
446 | .method(ChannelMethod::Pluggable(PtTarget::new(
| ^^^^^^^^^ variant or associated item not found in `transport::ChannelMethod`
|
| |
|
|
|
| |
This will allow transport="bridge" in bridge configurations, etc.
Doing it at this layer means it will be recognised everywhere.
|
| |
|
|
|
| |
I think normal Rustic practice is to provide a real constructor as
well as just `Default`.
|
| |
|
|
|
| |
We are maintaining the notion that at some point this thing might
grow additional variants.
|
| |
|
|
|
|
| |
* Change the Display of builtin to "-"
* Parse "" and "-" as builtin, as well as "<none>"
* Document this
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
And the error too.
We need this for the API for BridgeConfigBuilder, where the user can
specify any kind of target "address", even a hostname.
It's already non-conditional, it's just that the name is too limiting.
In this commit:
* Change in tor-linkspec
* Export transitional aliases
* Add TODOs to remove the transitional aliases
|
| | |
|
| |
|
|
| |
I'm not sure why the CI didn't reject this the first time around.
|
| |\
| |
| |
| |
| | |
CircMgr: Refactor DirSpecificTarget constructor
See merge request tpo/core/arti!866
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit replaces the
`impl From<&T> for OwnedChanTarget where T:ChanTarget`
with a new `IntoOwnedChanTarget` trait. This lets us be explicit
that we're constructing an owned object, and not just converting
something.
No semver change needed, since these APIs haven't been released.
----------- (new description)
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Mark bridge and PT-related APIs as non-experimental.
Closes #643
See merge request tpo/core/arti!865
|
| | |/ |
|
| | |
| |
| |
| |
| | |
Nothing used this; if anything wants it, it would be better off
calling `.display_chan_target()`.
|
| |/
|
|
|
|
|
|
|
|
| |
This change lets us display a ChanTarget's members without first
cloning them into an OwnedChanTarget.
It also resolves a reliability issue by outputting better info when
talking about connections via pluggable transports.
Closes #647
|
| |
|
|
|
|
|
|
|
| |
If we have a bridge guard that is using Direct connection and it
knows multiple addresses, our code to match it with a BridgeConfig
is wrong, because the BridgeConfig has only one address, and our
code looks for an exact match.
Fixes #642.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This resolves a number of TODOs.
|
| | |
|
| |
|
|
|
| |
This is not something we need to solve for 1.1.0 (and it might not
need to be solved ever).
|
| |
|
|
| |
We didn't find a use for this.
|
| |
|
|
|
| |
Since there are (or soon will be) parsing restrictions on this type,
we don't want to inline it as a simple Vec.
|
| | |
|
| |
|
|
|
|
|
|
| |
0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114
which makes the Deref derive for bridgedesc::StateGuard not work
and therefore breaks minimal-versions CI.
It seems simpler to require the newer version everywhere.
|
| |\
| |
| |
| |
| | |
Use ByRelayIds to hold guards in GuardSet
See merge request tpo/core/arti!808
|
| | |
| |
| |
| |
| | |
These are the ones that turned out to be necessary while converting
guard samples to use ByRelayIds.
|
| | | |
|
| |/
|
|
|
| |
The bridge descriptor manager wants to index data structures by the
BridgeConfig.
|
| | |
|
| |
|
|
| |
The singleton variation here is almost never what we want.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Now it contains either an `OwnedChanTarget` or an `OwnedCircTarget`,
which will let `GuardMgr` return bridges that can be used to make
circuits.
As part of this change, it was necessary to revise some
address-modification functions that applied to filters and
`OwnedChanTarget`. Now they do the smart thing, and remove only the
address that are in the `ChanMethod`. This means that the addresses
from HasAddrs are still accurate about which addresses the relay
"has".
|
| | |
|
| |\
| |
| |
| |
| | |
serde support for PtTarget
See merge request tpo/core/arti!780
|
| | |
| |
| |
| | |
This will let us remember bridges that use pluggable transports.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `PtTarget` type and its contents (`TransportName`,
`PtTargetAddr`, `PtSettings`) are now unconditionally compiled and
exposed. This will allow us to serialize and deserialize them in
our guard-state files even when we have been built without explicit
PT support.
The `pt-client` feature controls whether `TransportName` is a
variant of `TransportId`, and whether `PtTarget` is a variant of
`ChanMethod`: this in turn means that we'll still have simpler
binary code and smaller structures when we're building without PT
support (which is what we wanted when we initially made these types
conditional).
|