Ian Jackson
a565e3381f
arti-client: Store a handle to the DirMgrStore in TorClient (fmt)
...
rustfmt only.
2022-11-15 12:08:21 +00:00
Ian Jackson
63c463944d
arti-client: Store a handle to the DirMgrStore in TorClient
...
We'll need this shortly.
2022-11-15 12:08:21 +00:00
Ian Jackson
647610f2f9
arti-client: Store a handle to the guardmgr in TorClient
...
We'll need this shortly.
2022-11-15 12:08:20 +00:00
Nick Mathewson
79a09ae379
Merge branch 'make_bridges_work' into 'main'
...
Bugfix: preserve active_set when loading guards
See merge request tpo/core/arti!848
2022-11-14 19:40:26 +00:00
Nick Mathewson
2f5f066d85
Merge branch 'report_missing_descs' into 'main'
...
GuardMgr: Update desired bridge descs from 'update' function.
Closes #622
See merge request tpo/core/arti!847
2022-11-14 19:15:12 +00:00
Nick Mathewson
ec2e432bee
Preserve active_set when loading guards.
2022-11-14 13:50:59 -05:00
Nick Mathewson
92115aa366
GuardMgr: Update desired bridge descs from 'update' function.
...
There are some new TODOs here for us to think about, but I think
this will give us something to test.
2022-11-14 13:36:10 -05:00
Nick Mathewson
0f4c7a477a
GuardSet: Add a method to report which bridge descs we want.
2022-11-14 13:36:10 -05:00
Ian Jackson
b41becec56
Merge branch 'guardmgr' into 'main'
...
Move guardmgr creation to arti-client, rather than within circmgr
See merge request tpo/core/arti!850
2022-11-14 17:01:31 +00:00
Ian Jackson
58fc19dc8d
Merge branch 'store3' into 'main'
...
dirmgr: Expopse DirMgrStore
See merge request tpo/core/arti!851
2022-11-14 17:01:10 +00:00
Ian Jackson
7efbc600c0
Merge branch 'bdm-dormant' into 'main'
...
bridge descriptor dormancy: Define an enum and semantics
See merge request tpo/core/arti!845
2022-11-14 17:00:40 +00:00
Ian Jackson
ed4006c87c
Move GuardMgr::new call to arti_client::TorClient (fmt)
...
rustfmt only, broken out to ease review.
2022-11-14 15:52:30 +00:00
Ian Jackson
525c452e77
Move GuardMgr::new call to arti_client::TorClient
...
Having this done within circmgr was irregular - most of our other key
buildup functions are done in TorClient::create_inner.
It is also inconvenient, as it buries the guardmgr within the circmgr.
2022-11-14 15:50:07 +00:00
Ian Jackson
92939439a6
dirmgr Store: Have constructors take DirMgrStore
...
Now the Store is constructed by arti_client, solving the problem
described here
https://gitlab.torproject.org/tpo/core/arti/-/issues/631#note_2853665
but in a different way.
2022-11-14 15:48:17 +00:00
Ian Jackson
5e16c55f9e
dirmgr Store: Introduce DirMgrStore and use for BridgeDescMgr (fmt)
...
rustfmt only, broken out to ease review.
2022-11-14 15:48:17 +00:00
Ian Jackson
cf362f9806
dirmgr Store: Introduce DirMgrStore and use for BridgeDescMgr
...
We are going to change DirMgr's constructors to also take a DirMgrStore.
2022-11-14 15:48:17 +00:00
Ian Jackson
d9f231e099
dirmgr Store: Abolish redundant trait impl
2022-11-14 15:47:04 +00:00
Ian Jackson
527ab06376
dirmgr Store: Use `**` syntax and deref to trait objects
...
This will allow us to get rid of a needless trait impl.
2022-11-14 15:47:04 +00:00
Ian Jackson
bf7d45b7b9
dirmgr Store: Move Send and 'static bounds to Store trait
...
This seems tidier to me.
(It saved a lot of typing when I was trying to make some complicated
pub supertrait with sealed private supertrait, but apparently not
now.)
2022-11-14 15:33:58 +00:00
Nick Mathewson
d232a7abbb
Merge branch 'arnabanimesh-main-patch-72156' into 'main'
...
Fix Windows shortcut target
See merge request tpo/core/arti!849
2022-11-13 19:02:57 +00:00
arnabanimesh
91be995588
Fix Windows shortcut target
2022-11-13 16:05:24 +00:00
Ian Jackson
9ecda958a4
Document Clone semantics of GuardMgr and DirMgr
2022-11-11 16:55:56 +00:00
Ian Jackson
9a979cf2c4
cfg-ify an import
2022-11-11 16:54:01 +00:00
Ian Jackson
c6234428e3
bridge descriptor dormancy: Accept the dormancy value
...
But right now, don't do anything with it. That will come in a future MR.
2022-11-11 15:34:35 +00:00
Ian Jackson
eeb6d52678
bridge descriptor dormancy: Add a TODO for this enum
2022-11-11 15:26:42 +00:00
eta
b1cc1e2065
Merge branch 'workaround_545' into 'main'
...
Temporarily disable it_cancels_delayed_firings.
See merge request tpo/core/arti!846
2022-11-11 11:16:33 +00:00
Nick Mathewson
9c9f9bbd25
Merge branch 'guardmgr-todo-misc' into 'main'
...
Resolve most "TODO pt-client" comments in GuardMgr
See merge request tpo/core/arti!840
2022-11-10 17:50:34 +00:00
Nick Mathewson
b91f7d61b3
GuardMgr: Explain why we timestamp BridgeSets as we do.
2022-11-10 12:11:28 -05:00
Nick Mathewson
f5a5e310a8
GuardMgr: Downgrade a pt-client TODO about an internal API
2022-11-10 12:11:28 -05:00
Nick Mathewson
8cf04d2a38
GuardMgr Document why a BridgeSet has trivial weight thresholds.
...
This is the only way I could find in which parameter interpretation
differs between bridge guards and relay guards; with it documented,
I can remove a TODO about identifying such ways.
2022-11-10 12:11:28 -05:00
Nick Mathewson
01def7cf86
GuardMgr: once more, fix our n_primary_dir_info check.
...
Have the check only apply to non-bridge universes, and explain why
in a bunch more comments.
2022-11-10 12:11:28 -05:00
Nick Mathewson
11e83d8069
GuardMgr: remove redundant call to extend_sample_as_needed
...
Previously we would call extend_sample_as_needed in only two places,
one of which called the other unconditionally. That's obviously not
necessary.
I've selected just one of them (`update_guardset_internal`) since it
fits better with the theme if that function. I've added comments
explaining what is going on.
This commit also introduces a yes/no enum for "were any guards added
while extending this set". Formerly we had a boolean, but it got
passed around so many times that I think its intent became obscure.
2022-11-10 12:11:28 -05:00
Nick Mathewson
1d4db04e4e
GuardMgr: rename n_primary_without_dir_info
...
What this function actually does is return the number of primary
guards whose presence (by identity) is ambiguous in a current
universe. The new name and documentation should help avoid
confusion.
The method's old name had led me astray when identifying whether it
should apply to bridges in one case. This commit also removes the
corresponding `TODO pt-client`.
2022-11-10 12:11:28 -05:00
Nick Mathewson
1ad45f164e
Remove TODO to rename for_circuit_usage in favor of #623
2022-11-10 12:11:28 -05:00
Nick Mathewson
b8792307ac
GuardMgr: Remove TODO to move `mod bridge` to another crate
...
The code seems happy enough here for now.
2022-11-10 12:11:28 -05:00
Nick Mathewson
942dfc8487
Resolve todo!()s and TODOs around BridgeRelay::HasAddrs.
...
Also, add a bunch of reminders around these implementations that
`HasAddrs` returns all the address associated with you for GeoIp or
family purposes, even if they are _not_ ones that we should actually
contact you at.
2022-11-10 12:11:28 -05:00
Nick Mathewson
dcfb4d0956
RouterDesc: Add an or_ports method.
2022-11-10 12:11:28 -05:00
Nick Mathewson
dd6d03f579
Merge branch 'msrv-1.60' into 'main'
...
Increase MSRV to 1.60
Closes #591 , #526 , #613 , and #621
See merge request tpo/core/arti!837
2022-11-10 17:06:23 +00:00
Nick Mathewson
71510fbd96
Temporarily disable it_cancels_delayed_firings.
...
This test is timing-dependent in a way that seems to fail on heavily
loaded CI machines. See #545 .
2022-11-10 11:58:35 -05:00
Nick Mathewson
e5c26a123f
Actually, require rsa 0.7.1.
...
rsa 0.7.0 has been yanked.
2022-11-10 11:26:35 -05:00
Nick Mathewson
0a1141db32
tor-persist: use map_while
...
It was introduced in Rust 1.57.
2022-11-10 11:04:20 -05:00
Nick Mathewson
06e4e91614
Remove allow() for a false-positive warn on Rust 1.56.
2022-11-10 11:04:20 -05:00
Nick Mathewson
e19ff0ec21
Upgrade rsa to 0.7. Closes #613 .
2022-11-10 11:04:20 -05:00
Nick Mathewson
34ae02e75f
Upgrade to serde_with 2, phf 0.11. Closes #526 .
2022-11-10 11:04:18 -05:00
Nick Mathewson
2c13a78c57
Upgrade to tinystr 0.7. Closes #591 .
2022-11-10 10:57:33 -05:00
Nick Mathewson
9ca19ea7f9
Use rust 1.60 in minimal-versions.
...
Closes #621
2022-11-10 10:57:33 -05:00
Nick Mathewson
936920b26e
bump rust-version to 1.60 in every crate.
2022-11-10 10:57:33 -05:00
Ian Jackson
eacb5dc2e3
bridge descriptor dormancy: Define an enum and semantics
...
This is part of #630 .
2022-11-10 15:17:36 +00:00
Nick Mathewson
d9788c16b3
Merge branch 'bridge-error' into 'main'
...
Use ErrorKind::TorAccessFailed for misbehaving bridges
See merge request tpo/core/arti!842
2022-11-10 13:50:47 +00:00
Nick Mathewson
3c29dfd99d
Merge branch 'bdm-process-doc-test' into 'main'
...
bridge descs: Add tests for process_document
See merge request tpo/core/arti!841
2022-11-10 13:50:23 +00:00