eta
81525c345a
Merge branch 'concrete_comments' into 'main'
...
tor-cell: Make historical comments more concrete
See merge request tpo/core/arti!787
2022-10-21 20:16:27 +00:00
eta
15d8ee715a
Merge branch 'circmgr' into 'main'
...
tor-circmgr make get_or_launch_dir_specific depend on specific-relay feature
See merge request tpo/core/arti!795
2022-10-21 20:14:44 +00:00
Ian Jackson
de5514c8f9
Merge branch 'ci-cleanup' into 'main'
...
cleanup target dir on job completion
See merge request tpo/core/arti!786
2022-10-21 18:10:39 +00:00
trinity-1686a
dd5aa3ea38
cleanup target dir on job completion
2022-10-21 18:10:39 +00:00
Ian Jackson
a4e65d38e1
Merge branch 'no_redundant_copy' into 'main'
...
tor-cell: Avoid redundant pointer copy
See merge request tpo/core/arti!791
2022-10-21 17:51:25 +00:00
Nick Mathewson
b05d380ec0
Merge branch 'bridge-api-error' into 'main'
...
Make error from bridge descriptor provider be a trait object
See merge request tpo/core/arti!796
2022-10-21 16:07:23 +00:00
Ian Jackson
0924fb3623
tor-guardmgr: descs: Make BridgeDescError DynClone
2022-10-21 16:22:17 +01:00
Ian Jackson
f4ec3e6cec
tor-guardmgr: descs: Make BridgeDescError into a trait
2022-10-21 16:22:13 +01:00
Ian Jackson
77ddddb1f8
tor-error: make HasRetryTime object-safe
...
We could in the future provide a version of abs_retry_time which took
an &dyn closure if that turns out to be wanted.
I think this isn't a semver break because trait implementors are
allowed to relax bounds.
2022-10-21 16:08:48 +01:00
Ian Jackson
a30e42a740
tor-circmgr: Make get_or_launch_dir_specific feature-specific
2022-10-21 15:19:18 +01:00
Ian Jackson
6806180ce1
tor-circmgr: Rename get_or_launch_dir_specific from _bridge
...
DirSpecificTarget in the usage was renamed apropos an MR comment but
this function name was overlooked.
2022-10-21 15:19:18 +01:00
Ian Jackson
2ccf8a1b5b
tor-chanmgr: Suppress an unused imports warning for `use super::*`
...
If pt-client is disabled, there are in fact no tests, so the module is
empty. But we would always want `use super::*` here.
2022-10-21 15:19:05 +01:00
Ian Jackson
aa3cd7a97c
tor-circmgr README: Add experimental features boilerplate
2022-10-21 15:18:41 +01:00
Ian Jackson
ea7f31b357
tor-circmgr README: Remove "Limitations"
...
This doesn't make sense now we've released Arti 1.0. The version
number is enough I think.
2022-10-21 15:18:41 +01:00
Ian Jackson
f68591b923
tor-dirmgr README: Remove some redundant/duplicated headings
2022-10-21 15:18:41 +01:00
Nick Mathewson
fa1d2f453a
guardmgr: Hold FallbackDir in fallback::set::Entry
...
This resolves an old TODO, and will simplify our work a little.
2022-10-21 09:21:43 -04:00
Nick Mathewson
00f887db70
linkspec: Add compare-by-relay-ids function to HasRelayIds
2022-10-21 09:21:43 -04:00
Nick Mathewson
19fdf196d8
guardmgr: Add bridges sample, encode sample ID in FirstHopId.
...
The most important part of this commit is to make sure that each
`FirstHopId` includes the `GuardSetSelector` from which the guard
was selected. Doing this lets us be certain that when we report
that a guard has succeeded or failed, we're reporting it in the
right context.
Additionally, this commit uses strum to make an iterator over the
samples, so that we can make sure that our "for each sample" code is
robust against future changes, and we don't miss the bridge sample.
2022-10-21 09:21:43 -04:00
Nick Mathewson
fe6ac2d9ed
Merge branch 'whoops_unused_imports' into 'main'
...
Oops: Mark some imports as pt-client only.
See merge request tpo/core/arti!794
2022-10-21 13:15:22 +00:00
Nick Mathewson
e0c1928ea0
Merge branch 'matrix-features' into 'main'
...
add checks for many feature combinations
Closes #303
See merge request tpo/core/arti!775
2022-10-21 12:57:36 +00:00
Nick Mathewson
1e4b1f6433
Oops: Mark some imports as pt-client only.
...
This causes CI problems, and is entirely my fault.
2022-10-21 08:32:02 -04:00
Nick Mathewson
a12667e077
Merge branch 'no_redundant_allocation' into 'main'
...
tor-cell: Avoid redundant allocation
See merge request tpo/core/arti!790
2022-10-21 12:18:49 +00:00
Nick Mathewson
90a6ef122c
Merge branch 'fixed_len_handshake' into 'main'
...
tor-cell: Rename fixed_len to fixed_len_handshake
See merge request tpo/core/arti!789
2022-10-21 12:18:12 +00:00
Emil Engler
169ed860c2
tor-cell: Avoid redundant pointer copy
...
This commit changes an iteration by copying a u16 (which is 2 bytes)
instead of a pointer address, which is most likely 8 bytes on most
machines.
2022-10-21 13:26:00 +02:00
Emil Engler
c489e1d911
tor-cell: Avoid redundant allocation
...
This commit changes the way how a vector with a known sized gets
allocated, by using Vec::with_capacity() instead of Vec::new().
It will eventually avoid an allocation of more memory than required.
2022-10-21 13:25:26 +02:00
Emil Engler
e5429a2891
tor-cell: Rename for_client and for_relay
...
This commit renames the for_client and for_relay functions to
from_client and from_relay respectively, in order to indicate their
origin, as the term "for" is more likely to indicate a destination,
which is not true in that situation.
2022-10-21 13:21:52 +02:00
Emil Engler
17759799f1
tor-cell: Remove redundant match clauses
...
This commit removes two redundant match clauses inside the
take_one_netinfo_addr function found inside msg.rs.
2022-10-21 13:17:43 +02:00
Emil Engler
f423721cc3
tor-cell: Rename fixed_len to fixed_len_handshake
...
This commit renames the fixed_len! macro to fixed_len_handshake!, in
order to indicate, that this macro is only suited for cells with
commands related to handshaking.
2022-10-21 13:14:50 +02:00
Emil Engler
247cc37290
tor-cell: Fix typos in msg.rs
2022-10-21 13:10:30 +02:00
Emil Engler
7e04de6d96
tor-cell: Make historical comments more concrete
...
This commit extends comments that make references to historical protocol
versions of Tor, by adding the concrete protocol version numbers.
2022-10-21 12:59:26 +02:00
Ian Jackson
db2ce541fb
Merge branch 'dirclient-errors' into 'main'
...
Make DirResponse API not an error handling footgun
See merge request tpo/core/arti!782
2022-10-20 17:30:01 +00:00
Nick Mathewson
f23adcd4c8
Merge branch 'pt-serde' into 'main'
...
serde support for PtTarget
See merge request tpo/core/arti!780
2022-10-20 17:13:19 +00:00
Nick Mathewson
608153cd93
Merge branch 'connect-via-proxy' into 'main'
...
Implement a TransportHelper to connect via a SOCKS-based pluggable transport
See merge request tpo/core/arti!776
2022-10-20 16:44:58 +00:00
Nick Mathewson
938af98b8c
Remove now-needless check_doc_features exception.
2022-10-20 12:37:41 -04:00
Nick Mathewson
34aa352d16
Implement serde for PtTarget and its members.
...
This will let us remember bridges that use pluggable transports.
2022-10-20 12:37:41 -04:00
Nick Mathewson
bc09a3fe65
Inline now-needless variant constructors for PtTargetAddr
2022-10-20 12:37:41 -04:00
Nick Mathewson
95b03dc96f
Remove a now-needless `allow(dead_code)`
2022-10-20 12:37:41 -04:00
Nick Mathewson
d8f9a79c4f
linkspec: Always expose PT-related types.
...
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).
2022-10-20 12:37:40 -04:00
Ian Jackson
7b2a0fbcb1
tor-dirclient: Provide fallible DirResponse::output and into_output
2022-10-20 17:24:53 +01:00
Ian Jackson
da3351ad49
tor-dirclient: Make DirResponse be Clone
...
I want this for testing. It seems friendly to provide it, though.
2022-10-20 17:24:53 +01:00
Ian Jackson
b3675c76dc
tor-dirclient: Introduce RequestError:HttpStatus
2022-10-20 17:24:53 +01:00
Ian Jackson
e8d662ed7c
tor-dirclient: Make RequestFailed its own error type (rustfmt)
...
Split off to assist review.
2022-10-20 17:24:53 +01:00
Ian Jackson
d9375b2b8d
tor-dirclient: Make RequestFailed its own error type
...
We're going to have functions on Response that fail by returning only
one of these.
Sadly this diff is quite noisy.
2022-10-20 17:24:53 +01:00
Ian Jackson
3b1af05851
tor-dirclient Response: Rename output methods
...
These don't check errors and are therefore quite hazardous.
I'm going to introduce a more cooked version in a moment.
2022-10-20 17:24:50 +01:00
Ian Jackson
803131c1ea
Merge branch 'bridge-internal-apis' into 'main'
...
Use BridgeConfig to identify bridges in two places
See merge request tpo/core/arti!781
2022-10-20 16:14:14 +00:00
Ian Jackson
4588c0f729
Merge branch 'bridge-hasaddrs' into 'main'
...
impl ChanTarget for BridgeConfig
See merge request tpo/core/arti!783
2022-10-20 16:04:58 +00:00
Ian Jackson
9c7ea41322
impl ChanTarget etc. for BridgeConfig
2022-10-20 14:16:34 +01:00
Ian Jackson
6193bed788
impl HasAddrs for PtChannelAddr and ChannelMethod
2022-10-20 14:16:34 +01:00
Ian Jackson
c93500e14c
tor-linkspec: impl From<&ChanTarget> for OwnedChanTarget
...
This lets us write functions which can either take an existing
owned OwnedChanTarget, or copy out of some other kind of ChanTarget
passed by reference.
2022-10-20 13:29:07 +01:00
Ian Jackson
ef5e60c879
circmgr: Plumbing for direct to target directory circuits
...
The target is identified by Into<OwnedChanTarget>.
We introduce corresponding TargetCircUsage and SupportedCircUsage.
2022-10-20 13:28:30 +01:00