| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-persist: Resource::Temporary: Mark with cfg
See merge request tpo/core/arti!629
|
| |/ / /
| | |
| | |
| | | |
Without this, some builds get a "variant is never constructed" warning.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Clean-ups in circmgr errors
See merge request tpo/core/arti!625
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We no longer needs to have a "return" at the end of each match
block.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There's no reason to enforce their being Fn closures, and allowing
them to be FnMut allows us to count which filters make us rejected
given relays.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This interface allows using FilterCount with functions that expect
predicates rather than iterator chains.
I'm about to use it to get meaningful FilterCount results in the
path-selection code in circmgr.
|
| | | | | |
|
| | | |/
| |/| |
|
| | | |
| | |
| | |
| | |
| | | |
This does not require a change in any other crate, since
the change here does not affect tor-dirmgr's APIs.
|
| | | | |
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Fix illegal formatting in cache filenames on Windows
Closes #516
See merge request tpo/core/arti!627
|
| |/ / |
|
| |\ \
| |/
|/|
| |
| | |
Fix some rustdoc links
See merge request tpo/core/arti!624
|
| | |
| |
| |
| | |
`NoLock` is now a variant of `err::ErrorSource` but that is private.
|
| |/
|
|
| |
This type must have been renamed, I guess.
|
| |\
| |
| |
| |
| | |
Implement a higher-level API for the ntor v3 handshake
See merge request tpo/core/arti!618
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This implements a higher-level API for the ntor v3 handshake, in line
with that exposed by the ntor handshake. It does not, however, use the
existing `ClientHandshake` trait, due to fundamental differences in the
handshakes (namely, that the v3 handshake can include some additional
extra extension data).
Currently, the higher-level API assumes circuit extension, and copies
the (undocumented!) magic verification string from c-tor that indicates
this usage.
A rudimentary set of functions for serializing and deserializing
extensions to be sent with the handshake is also included, implementing
the protocol in proposal 332 § A.2. Currently, it only implements the
congestion control extensions specified in proposal 324 § 10.3.
part of arti#88
|
| |\ \
| | |
| | |
| | |
| | | |
GuardMgr: Improve and revamp error types and messages.
See merge request tpo/core/arti!619
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This uses similar techniques to the commit I just did for Fallbacks.
|
| | | |
| | |
| | |
| | | |
Also re-order the filters to be a little more logical.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This is a helper rather than a Display implementation because it
isn't the only logical way to display these values. (In fact,
without context, it isn't even the _most_ logical way)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is going to make it simpler to write the code in guardmgr (and
later in circmgr) that keeps track of how many relays were rejected
for what reason. The latter, in turn, should improve error messages
when we're unable to pick a guard or a path.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implement functionality to construct signed Ed25519 certs.
Closes #511
See merge request tpo/core/arti!611
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is behind a feature flag, since it isn't needed for pure
clients: only onion services and relays need this.
I've named the object that constructs these certs
`Ed25519CertConstructor` because it doesn't follow the builder
pattern exactly: mainly because you can't get an Ed25519Cert out of
it. _That_ part is necessary because we require that an Ed25519Cert
should only exist if the certificate was found to be well-signed
with the right public key.
Closes #511.
|
| | | | | |
|
| |\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | | |
Small cleanups to errors in tor-dirclient
See merge request tpo/core/arti!620
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These errors no longer use Debug to dump the `Option<SourceInfo>`, but
instead produce reasonable text. Also, I've fixed the SourceInfo
Display implementation so that it now says that it got the error
"from $source via $circuit" rather than the other way around.
|
| |/ / /
| | |
| | |
| | |
| | | |
(It makes sense to use this for things that are not in fact lists of
SHA256 digests of Microdescriptors.)
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
ChanMgr: Add more contextual info to error types.
See merge request tpo/core/arti!616
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Even when keys are relevant, we still don't want to attribute errors
to a set of addresses when we have a single address that we're
connected with.
|
| | | |/
| |/|
| | |
| | |
| | |
| | | |
Now each type has a peer. In some cases this peer is just an
address, whereas in others (where key is relevant or address isn't
yet narrowed down) it's a full OwnedChanTarget.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-persist: Big refactoring on Error type.
See merge request tpo/core/arti!614
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Every error now has an action (what we were trying to do), a
resource (what we were trying to do it to), and a source (what
problem we encountered).
Initially I tried to add "action" and "resource" fields to error
variants individually, but that led to a combinatorial explosion.
Part of #323.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Update `rsa` dependency (and use `x25519-dalek` prerelease)
Closes #448
See merge request tpo/core/arti!612
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- arti#448 and arti!607 highlight an issue with upgrading `rsa`: namely,
the `x25519-dalek` version previously used has a hard dependency on
`zeroize` 1.3, which creates a dependency conflict.
- However, `x25519-dalek` version `2.0.0-pre.1` relaxes this dependency.
Reviewing the changelogs, it doesn't look like that version is
substantially different from the current one at all, so it should be
safe to use despite the "prerelease" tag.
- The new `x25519-dalek` version also bumps `rand_core`, which means we
don't have to use the RNG compat wrapper in `tor-llcrypto` as much.
closes arti#448
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-netdoc: b64 tests: add exhaustive roundtrip test
See merge request tpo/core/arti!613
|
| | | | |
|
| |/ / |
|
| |\ \
| |/
|/|
| |
| | |
Add some unit tests for arti-hyper
See merge request tpo/core/arti!615
|