| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The fake network we construct for these tests is small in ways that
can sometimes cause weird behavior with guard filters. We fix this
by adjusting the parameters of the guard selection algorithm
accordingly in the tests.
With these new parameters, #491 no longer occurs.
This commit also adds comments to explain why the parameters are set
as they are.
Closes #491.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
(This doesn't do anything yet.)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I'm using serde_with here to just re-use the Display and FromStr
implementations, since those are what has proven easier to type in
the past.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
guard-spec.txt specifies that we have multiple separate samples of
guards that we can use depending on whether the filter is
restrictive or not. Here we implement the rules for switching
between samples.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Convert its argument type to Option<&NetDir> to better match the
rest of the API.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When we're filtering guards, we have to check whether the filter is
"restrictive": if it forbids most of the guards (by bandwidth), we
keep its guards separated from the main set. If it is
super-restrictive, we also warn.
This functionality is specified in guard-spec.txt.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since a guard can have a bunch of addresses, and the guard is
permitted if any one of those addresses is permitted, then we might
decide to use a guard with some non-permitted addresses. Thus, we
need to filter those addresses before returning the view of the
guard as a FirstHop.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We don't need to restrict based on bits in the key id any longer,
since we have a real filter.
|
| | | | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
The guard filter is now a set of restrictions that can be placed on
allowable guards.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Use impl_standard_builder more and remove manual Default/builder impls
See merge request tpo/core/arti!594
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Upgrade to float_eq 1.0.0
See merge request tpo/core/arti!591
|
| | | |/ / /
| |/| | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Config handling and logging fixes
Closes #480
See merge request tpo/core/arti!589
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Prompted by review
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/589#note_2813596
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Right now this is an IEFI and therefore a no-op.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
It contains only sections, but we want to detect when that is a problem!
|
| | | |/ / /
| |/| | |
| | | | |
| | | | | |
We're going to call this new closure another time.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Without this, if the substructure is provided, these fields are
mandatory within it.
|
| |\ \ \ \ \
| | |/ / /
| |/| | |
| | | | | |
# Conflicts:
# crates/arti-client/Cargo.toml
|
| | |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add "full" and "experimental" features to arti, arti-client, and below.
Closes #499
See merge request tpo/core/arti!584
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Rustls uses ring, which uses code from BoringSSL, which derived from
OpenSSL before OpenSSL changed their license. So ring is currently
under 3BSD/SSLEay licenses, which aren't GPL-compatible, which may
be a problem for some people.
See #493.
|
| | |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
Fix several clippy issues, most with nightly
See merge request tpo/core/arti!588
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Without this, clippy is error-free, but `cargo test` somehow gives a
warning.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There is not, apparently, an eprintln equivalent for
allow-dbg-in-tests.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is apparently a new warning from clippy nightly, documented in
https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee .
I'm not in love with the temporary variables that this warning wants
me to introduce, but it does seem like a decent way to avoid some
kinds of deadlock.
|
| | | | |/ /
| | |/| | |
|
| | |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | | |
tor-netdir: testnet: Make construct_netdir infallible
See merge request tpo/core/arti!585
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Run rustfmt. Separate commit to make review of the substantive commit
easier.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a *lot* of unwraps. The function takes no parameters and
is used only for testing. It ought to be infallible.
|
| | |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use TaskSchedule to sleep in directory bootstrapping
Closes #497
See merge request tpo/core/arti!571
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This will allow somebody else to call bootstrap() if bootstrap() fails
the first time.
|