aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Spelling fixes and normalizations on some high-level cratesNick Mathewson2022-11-075-8/+8
| | | |
* | | | bridge desc: Make BridgeDescProvider DynCloneIan Jackson2022-11-071-1/+3
|/ / / | | | | | | | | | | | | This allows the use of Box<dyn BridgeDescProvider> in callers, since Box<dyn BridgeDescProvider> is now Clone.
* / / Fix typosDimitris Apostolou2022-11-066-9/+9
|/ /
* | bridgedesc: Rename "text" from "output"Ian Jackson2022-11-031-5/+5
| | | | | | | | | | | | This was confusing, because it's the output of the donwload, but nowhere near the output of the whole process. And it's going to become even less so.
* | bridgedesc: Make process_document into a free functionIan Jackson2022-11-031-53/+67
| | | | | | | | It deserves this treatment, I think.
* | bridgedesc: Introduce DownloadedIan Jackson2022-11-031-13/+17
| | | | | | | | | | This gives names to things and makes things clearer, and this will be even more true in a moemnt.
* | bridgedesc: download: Break out process_documentIan Jackson2022-11-031-47/+54
| | | | | | | | We're going to want to reuse this for handling cached stuff.
* | bridgedesc: Prepare Mockable trait for if-modified-sinceIan Jackson2022-11-032-6/+15
|/
* 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.
* | 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.
* 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
|
* 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
| |
* | 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-033-0/+270
| |
* | 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-033-0/+1098
| | | | | | | | 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.