summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | GuardMgr: Remove duplicate code in set_filterNick Mathewson2022-11-081-13/+2
| | | | |
| * | | | GuardMgr: Clarify intent with update_active_set.Nick Mathewson2022-11-081-4/+5
| | | | | | | | | | | | | | | | | | | | Also fix its behavior when using bridges.
| * | | | GuardMgr: Split `update_internal` into two functions.Nick Mathewson2022-11-081-27/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first part changes which guard set is active based on based on the parameters, which always come from a NetDir; the second changes the contents of the active guard set, based on a Universe.
| * | | | Refactor external guardmgr APIs: Stop taking NetDir arguments.Nick Mathewson2022-11-087-84/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These arguments were used only for legacy (testing) purposes; the tests now use `TestNetDirProvider`. This lets us simplify our internal logic for passing a `NetDir` to our samples, and prepare for having a `BridgeSet` to pass there instead. This is a breaking change to `guardmgr` and `circmgr`.
| * | | | Mock implementation of a NetDirProvider for testing.Nick Mathewson2022-11-082-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | I'm about to remove the old testing APIs from GurdMgr that took in a NetDir in each function: adding this will make that possible.
| * | | | Add an accessor for the latest BridgeDescList.Nick Mathewson2022-11-081-0/+12
| | | | |
| * | | | Implement GuardMgr::install_bridge_desc_providerNick Mathewson2022-11-081-6/+25
| | | | |
| * | | | Require Send+Sync for BridgeDescProviderNick Mathewson2022-11-081-1/+1
| | |/ / | |/| | | | | | | | | | We require these for NetDirProvider, so this shouldn't be a big reach.
* | | | Merge branch 'hilev_spelling' into 'main'Nick Mathewson2022-11-075-8/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Spelling fixes and normalizations on some high-level crates See merge request tpo/core/arti!835
| * | | 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.