summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'warning' into 'main'Nick Mathewson2022-11-031-1/+1
|\ | | | | | | | | tor-guardmgr: use imported WeightThreshold in one place See merge request tpo/core/arti!825
| * tor-guardmgr: use imported WeightThreshold in one placeIan Jackson2022-11-031-1/+1
| | | | | | | | | | Without this, an unused import warning is generated when building without features.
* | Merge branch 'guardmgr-config' into 'main'Nick Mathewson2022-11-0311-43/+215
|\ \ | |/ |/| | | | | guardmgr: bridges config plumbing See merge request tpo/core/arti!826
| * docs features: Add a suppression for testingIan Jackson2022-11-031-0/+5
| |
| * guardmgr config: Provide bridge information to new and reconfigureIan Jackson2022-11-033-3/+61
| |
| * bridges config: Provide uninhabited placeholderIan Jackson2022-11-031-0/+14
| | | | | | | | | | This will avoid having to make bridge-related trait features in GuardMgr conditional, which would be non-additive.
| * bridges config: Check that bridges aren't enabled with no bridgesIan Jackson2022-11-031-1/+32
| | | | | | | | This is the validation which is called for by the documentation.
| * guardmgr config: Introduce and require new GuardMgrConfig traitIan Jackson2022-11-038-27/+78
| | | | | | | | | | It doesn't seem to me like it makes sense to provide the backward compatibility here.
| * define_accessor_trait: Allow specification of other itemsIan Jackson2022-11-031-1/+10
| |
| * define_accessor_trait: Allow specification of supertraitsIan Jackson2022-11-031-4/+8
| |
| * guardmgr config: Pass fallback list from config by referenceIan Jackson2022-11-033-12/+12
|/ | | | | This does involve additional cloning. However, soon it will mean that we can pass the whole `TorClientConfig` by reference.
* Merge branch '587_suppress' into 'main'eta2022-11-0341-1/+42
|\ | | | | | | | | | | | | Suppress new clippy warnings in 1.65 Closes #587 See merge request tpo/core/arti!824
| * Suppress two clippy::large_enum_variant warningsNick Mathewson2022-11-032-0/+2
| | | | | | | | These are newly present on 1.65. We can address them later.
| * Run add_warnings.Nick Mathewson2022-11-0338-0/+38
| |
| * add_warnings: ignore clippy::result_large_errNick Mathewson2022-11-031-0/+1
| | | | | | | | | | This is a temporary workaround for #587 until we get it fixed for real.
| * add_warnings: work with more non-GNU finds.Nick Mathewson2022-11-031-1/+1
|/ | | | | We were doing `find -name '*.rs'`, but `find . -name '*.rs'` (with the .) is more standard.
* Merge branch 'edition-2021' into 'main'eta2022-11-039-9/+9
|\ | | | | | | | | set all crate edition to 2021 See merge request tpo/core/arti!822
| * set all crate edition to 2021trinity-1686a2022-11-019-9/+9
| |
* | Merge branch 'descriptors' into 'main'Ian Jackson2022-11-0318-12/+1776
|\ \ | | | | | | | | | | | | Provide an implementation of BridgeDescProvider See merge request tpo/core/arti!820
| * | bridge descriptors tests: Fix flaky testIan Jackson2022-11-031-1/+11
| | |
| * | bridge descriptors tests: Test set_bridges more thoroughly (fix)Ian Jackson2022-11-031-1/+1
| | | | | | | | | | | | | | | | | | The RetryDelays are being triggered for the 2nd time here, so their timeouts can be longer. We must bump the sleep to make sure we don't have a flaky test.
| * | bridge descriptors: logging: Log addition and removal (fmt)Ian Jackson2022-11-031-12/+20
| | | | | | | | | | | | Worsify formatting as demanded by rustfmt.
| * | bridge descriptors: logging: Log addition and removalIan Jackson2022-11-031-8/+31
| | | | | | | | | | | | | | | This involves breaking the calls to `new_bridges.remove` into a helper that does the logging.
| * | bridge descriptors: logging: Log download start and outcomeIan Jackson2022-11-031-0/+6
| | |
| * | bridge descriptors tests: Test set_bridges more thoroughlyIan Jackson2022-11-031-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | Prior to the previous commit, set_bridges would malfunction if there were bridges which where (i) in current (ii) in queued or running (iii) in the new bridge set. This test failed then and passes now.
| * | bridge descriptors: Rewrite set_bridgesIan Jackson2022-11-031-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | This was fundamentally confused and irregular. Now it is more regular: it does the same things to all the elements of Tracked, and a simple filtering on current. This fixes a bug, for which I'm about to add a test case.
| * | bridge descriptors tests: Add another couple of test casesIan Jackson2022-11-031-1/+31
| | |
| * | bridge descriptors tests: stream_drain_ready returns event countIan Jackson2022-11-031-1/+4
| | | | | | | | | | | | We'll use this in a moment.
| * | bridge descriptors tests: Break out bad_bridge helper functionIan Jackson2022-11-031-7/+7
| | |
| * | bridge descriptors: Change default max_refetchIan Jackson2022-11-032-2/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/820#note_2850269
| * | bridge descriptors: Add clarification about bridge statesIan Jackson2022-11-031-0/+3
| | |
| * | bridge descriptors: Improve and fix docs for consider_launchingIan Jackson2022-11-031-1/+6
| | |
| * | bridge descriptors: Add comments where StateGuard is droppedIan Jackson2022-11-031-0/+8
| | |
| * | bridge descriptors: Document `changed` and `earliest_timeout` OptionsIan Jackson2022-11-031-0/+5
| | |
| * | bridge descriptors: Document updates argument to timeout_taskIan Jackson2022-11-031-0/+6
| | |
| * | Require derive_more 0.99.3Ian Jackson2022-11-0312-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | 0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114 which makes the Deref derive for bridgedesc::StateGuard not work and therefore breaks minimal-versions CI. It seems simpler to require the newer version everywhere.
| * | bridge descriptors: TestsIan Jackson2022-11-034-0/+273
| | |
| * | bridge descriptors: Provide a consistency check functionIan Jackson2022-11-031-0/+196
| | | | | | | | | | | | | | | This is really part of the tests, but I put it here so that it can be compiled-in if someone wants it during debugging.
| * | bridge descriptors: Provide an implementation of BridgeDescProviderIan Jackson2022-11-034-0/+1099
| | | | | | | | | | | | Tests will come in a moment.
| * | tor-dirclient: Response: Provide into_output_stringIan Jackson2022-11-031-0/+11
| | | | | | | | | | | | | | | This is the missing one of the full set. It turns out that I wanted this rather than the non-consuming output_string.
| * | Copy tor-netdoc/testdata/routerdesc1.txt into tor-dirmgrIan Jackson2022-11-031-0/+50
|/ / | | | | | | | | This seems better than having tor_netdoc export a `#[cfg(test)]` public constant.
* | Merge branch 'guards_as_bridges_part3' into 'main'Nick Mathewson2022-11-026-156/+559
|\ \ | | | | | | | | | | | | GuardMgr: decouple NetDir from guards and sample code. See merge request tpo/core/arti!815
| * | Refactor CandidateStatus API to simplify code in descs.Nick Mathewson2022-11-022-30/+35
| | | | | | | | | | | | This removes some duplication.
| * | GuardMgr: Fix and improve comments based on review.Nick Mathewson2022-11-023-6/+13
| | |
| * | guardmgr: fix rustdoc references.Nick Mathewson2022-11-022-3/+3
| | |
| * | guardmgr: Refactor candidate info; add `full_dir_info`Nick Mathewson2022-11-024-30/+72
| | | | | | | | | | | | | | | | | | | | | Previously we always set `dir_info_missing` to `false` for new guards, since new guards could only be taken from ones that were present in the NetDir. But for bridges, we don't download their info until _after_ we have chosen them as guards.
| * | guardmgr: Implement Universe for bridges.Nick Mathewson2022-11-023-2/+161
| | | | | | | | | | | | | | | Now we can use a group of bridges as the basis for a sample of guards.
| * | guardmgr: Universe API should look up by ChanTargetNick Mathewson2022-11-023-14/+13
| | | | | | | | | | | | This will be necessary for bridges.
| * | guardmgr: take sampled guards from Universe.Nick Mathewson2022-11-023-83/+140
| | | | | | | | | | | | This is a trickier case, since we have to deal with weights.
| * | guardmgr: Continue porting porting code to use Universe.Nick Mathewson2022-11-022-12/+11
| | | | | | | | | | | | Two more simple cases that can use Universe instead of Netdir.