Nick Mathewson
b6926d7f55
Merge branch 'path-refactor-squashed'
2021-05-20 14:10:19 -04:00
Alexander Færøy
00222dbe07
Refactor TorPath code to have explicit constructors.
...
This patch refactors the internal representation of the TorPath type to
use an enum for representing its state. We add explicit constructor
methods to create the different types of path's, such that client users
can write code that uses different paths based on their need.
This work was done together with Nick as part of the Arti hackathon.
2021-05-20 14:10:11 -04:00
Nick Mathewson
7c28b693f2
Remove a redundant feature in tokio
2021-05-20 14:02:17 -04:00
Nick Mathewson
6313ee0456
Implement Runtime for a thin wrapper around tokio runtime handles
...
Having this enables us to use Arti with an externally constructed
tokio runtime.
2021-05-20 13:54:36 -04:00
Alexander Færøy
9ee679dd8d
Make netdir's Relay type derive "Clone".
2021-05-20 16:25:14 +00:00
Nick Mathewson
ce6702a147
Give every Cargo.toml a repository field
2021-05-19 14:56:09 -04:00
Nick Mathewson
712e6ec23c
Fill in "package.categories" on all Cargo.toml
2021-05-19 14:50:39 -04:00
Nick Mathewson
26689412c0
fix a clippy warning about pick_weighted.
2021-05-19 14:42:44 -04:00
Nick Mathewson
bd31d21c42
Try to avoid a tor-rtcompat publicness warning
2021-05-18 14:36:13 -04:00
Nick Mathewson
411e1b35e0
Add the "unreachable_pub" lint.
...
This is a somewhat obnoxious change in its scope and requirements,
but it makes it easier to understand what the real public and
private parts of our APIs are.
2021-05-18 13:45:39 -04:00
Nick Mathewson
80535dda01
Check "connection" usage for when stream or channel would be better.
2021-05-18 11:17:28 -04:00
Nick Mathewson
6d6290bcd5
Always capitalize as RouterDesc, Microdesc.
2021-05-18 11:06:59 -04:00
Nick Mathewson
9e7de1a692
Prefer "relay" over "node" in most circumstances.
2021-05-18 11:04:44 -04:00
Nick Mathewson
e2139e8afc
Prefer "relay" over "router" in docs and APIs.
2021-05-18 10:58:12 -04:00
Nick Mathewson
90e96b32c8
Prefer "relay" to "server" when appropriate.
2021-05-18 10:34:15 -04:00
Nick Mathewson
6bf7cbb3f4
Remove tor-proto exposure in tor-client API.
2021-05-18 10:08:29 -04:00
Nick Mathewson
4507f44b54
Add the little script I use to add warnings to crates.
2021-05-18 09:31:49 -04:00
Nick Mathewson
769b321312
Improved tests for sqlite storage.
2021-05-14 12:19:18 -04:00
Nick Mathewson
ade0fd4c33
Consistency, renaming, and testing for dirmgrconfig
2021-05-14 11:23:56 -04:00
Nick Mathewson
c2290c65a6
Move override_net_params into DirMgrConfig.
2021-05-14 10:43:03 -04:00
Nick Mathewson
f69a68df66
Rename NetDirConfig to DirMgrConfig.
2021-05-14 10:27:01 -04:00
Nick Mathewson
948ec0d602
Add builders for remaining config types in tor-dirmgr.
2021-05-14 10:23:10 -04:00
Nick Mathewson
2129e55dfc
WIP: more builders.
2021-05-13 08:34:51 -04:00
Nick Mathewson
c10de0c3be
Add builders for authority and fallback objects.
2021-05-10 15:40:52 -04:00
Nick Mathewson
c72193bda4
Fix a comment typo and needless mut
2021-05-10 15:00:59 -04:00
Nick Mathewson
75eee72ebc
Remove more pieces of unused legacy storage code.
2021-05-10 14:51:58 -04:00
Nick Mathewson
fa4c8ac4c3
Remove untested legacy.rs code. Add a comment about where to find it.
2021-05-10 10:09:26 -04:00
Nick Mathewson
28b1c1b9ce
tor_netdir: tests on relay picking and more
2021-05-10 09:51:05 -04:00
Nick Mathewson
2a3fc3f5e6
netdir: Add real tests for frac_for_role().
...
Also fix a bug in calculating have_enough_paths(): we were assuming
the wrong behavior for weight_for_role().
2021-05-10 08:45:18 -04:00
Nick Mathewson
609d02a96c
netdir: remove unused From implementation.
2021-05-10 07:23:52 -04:00
Nick Mathewson
a5c0631728
Fix some warnings from nightly clippy
2021-05-07 16:32:41 -04:00
Nick Mathewson
e01f227191
Resolve clippy warnings from Rust 1.52.
...
Rust 1.52 just came out, and there are new clippy lints to deal
with:
* It spots more cases when we could use Option::map
* It spots more cases when we could use Iterator::flatten
* When we build a struct instance, it wants us to list the fields
in the same order that the struct declares them.
2021-05-07 15:53:17 -04:00
Nick Mathewson
d223c232d0
Use s.parse(), not u16::from_str_radix(s,10)
...
Clippy started warning on this with Rust 1.52. I'm fairly sure that
when I wrote this code I was worried that <u16 as FromStr>::parse()
might allow hex or something. But fortunately, it doesn't work that
way, so I don't need to be paranoid here.
2021-05-07 15:51:13 -04:00
Nick Mathewson
c1f7d49ded
tor-rtcompat: Add missing documentation for async_std.rs
2021-05-07 15:50:42 -04:00
Nick Mathewson
fa038e5e21
Add some tests to tor-netdir.
2021-05-07 15:13:32 -04:00
Nick Mathewson
55fa952e37
More tests for tor-netdir::weight
2021-05-07 08:44:13 -04:00
Nick Mathewson
7c7be3a3f1
Upgrade to latest RustCrypto crates.
2021-05-06 07:57:31 -04:00
Nick Mathewson
760aab7a0a
Fix documentation warnings.
2021-05-05 17:34:49 -04:00
Nick Mathewson
29b921b0e5
Add a consensus builder, for testing.
2021-05-05 17:25:52 -04:00
Nick Mathewson
b47b9a6f54
Add an authcert builder, for testing.
2021-05-05 11:34:44 -04:00
Nick Mathewson
88b3fefa4e
Add a microdesc builder, for testing.
2021-05-05 10:33:10 -04:00
Nick Mathewson
6937d6690d
Switch to v2 feature resolver.
2021-05-05 09:19:25 -04:00
Nick Mathewson
53d5174eda
A few easy tests in tor-dirmgr.
2021-05-04 10:51:53 -04:00
Nick Mathewson
6484bc95bb
Repair multiprocess collaborative directory download.
2021-05-03 17:43:25 -04:00
Nick Mathewson
06a9d2c688
dirmgr: a couple of tiny tests
2021-05-03 17:07:33 -04:00
Nick Mathewson
8eb36cbfff
Add trait_duplication_in_bounds warning.
2021-05-03 16:30:27 -04:00
Nick Mathewson
d516298b47
Add unseparated_literal_suffix lint, and fix it.
2021-05-03 16:19:01 -04:00
Nick Mathewson
9737580402
Add a few more clippy warnings
2021-05-03 16:10:39 -04:00
Nick Mathewson
b81db158bb
tweak semantics of routerdesc docid
2021-05-03 15:54:33 -04:00
Nick Mathewson
629ec11f88
Add missing documention in tor-rtmock
2021-05-03 11:37:35 -04:00