summaryrefslogtreecommitdiff
path: root/crates/tor-dirmgr
Commit message (Collapse)AuthorAgeFilesLines
* Bump the minor version of every crate.Nick Mathewson2022-11-301-20/+20
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* bridge desc mgr: Add dormancy comment to effective_parallelismIan Jackson2022-11-231-0/+2
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/861#note_2856922
* bridge desc mgr: Test dormancyIan Jackson2022-11-231-0/+42
|
* bridge desc mgr: Honour specified dormancyIan Jackson2022-11-231-6/+13
| | | | Fixes #630
* bridge desc mgr: Introduce effective_parallelism helperIan Jackson2022-11-231-5/+12
|
* bridge desc mgr: Move set_dormancy to impl that is for mock tooIan Jackson2022-11-231-6/+6
|
* BridgeConfig: Replace all Arc<BridgeConfig> with BridgeConfigIan Jackson2022-11-222-5/+4
| | | | BridgeConfig is itself an Arc now, so these are redundant.
* Merge branch 'fix_nightly_20221118' into 'main'Ian Jackson2022-11-183-4/+5
|\ | | | | | | | | Fix warnings and breakage in nightly (2022-11-18 edition) See merge request tpo/core/arti!872
| * Fix a couple of rustdoc issues.Nick Mathewson2022-11-181-1/+2
| | | | | | | | These slipped in while nightly was broken.
| * Fix a bunch of "needless borrow" warnings on nightlyNick Mathewson2022-11-182-3/+3
| | | | | | | | | | It looks like, despite a few false starts, they've got this warning right; there weren't any false positives.
* | dirmgr: make "bridge-client" non-experimental.Nick Mathewson2022-11-182-12/+16
|/
* Merge branch 'store3' into 'main'Ian Jackson2022-11-145-161/+67
|\ | | | | | | | | dirmgr: Expopse DirMgrStore See merge request tpo/core/arti!851
| * dirmgr Store: Have constructors take DirMgrStoreIan Jackson2022-11-142-6/+14
| | | | | | | | | | | | | | 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.
| * dirmgr Store: Introduce DirMgrStore and use for BridgeDescMgr (fmt)Ian Jackson2022-11-141-8/+1
| | | | | | | | rustfmt only, broken out to ease review.
| * dirmgr Store: Introduce DirMgrStore and use for BridgeDescMgrIan Jackson2022-11-142-6/+33
| | | | | | | | We are going to change DirMgr's constructors to also take a DirMgrStore.
| * dirmgr Store: Abolish redundant trait implIan Jackson2022-11-142-109/+1
| |
| * dirmgr Store: Use `**` syntax and deref to trait objectsIan Jackson2022-11-142-34/+20
| | | | | | | | This will allow us to get rid of a needless trait impl.
| * dirmgr Store: Move Send and 'static bounds to Store traitIan Jackson2022-11-141-2/+2
| | | | | | | | | | | | | | | | 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.)
* | Merge branch 'bdm-dormant' into 'main'Ian Jackson2022-11-142-0/+51
|\| | | | | | | | | bridge descriptor dormancy: Define an enum and semantics See merge request tpo/core/arti!845
| * bridge descriptor dormancy: Accept the dormancy valueIan Jackson2022-11-112-1/+11
| | | | | | | | But right now, don't do anything with it. That will come in a future MR.
| * bridge descriptor dormancy: Add a TODO for this enumIan Jackson2022-11-111-0/+2
| |
| * bridge descriptor dormancy: Define an enum and semanticsIan Jackson2022-11-101-0/+39
| | | | | | | | This is part of #630.
* | bump rust-version to 1.60 in every crate.Nick Mathewson2022-11-101-1/+1
|/
* Merge branch 'bridge-error' into 'main'Nick Mathewson2022-11-101-3/+2
|\ | | | | | | | | Use ErrorKind::TorAccessFailed for misbehaving bridges See merge request tpo/core/arti!842
| * Use ErrorKind::TorAccessFailed for misbehaving bridgesIan Jackson2022-11-081-3/+2
| | | | | | | | (Use semantic linefeed for the doc comment.)
* | Merge branch 'bdm-process-doc-test' into 'main'Nick Mathewson2022-11-102-2/+100
|\ \ | | | | | | | | | | | | bridge descs: Add tests for process_document See merge request tpo/core/arti!841
| * | bridge descs: Add tests for process_documentIan Jackson2022-11-082-2/+100
| |/
* | Merge branch 'bdm-params' into 'main'Nick Mathewson2022-11-101-1/+0
|\ \ | | | | | | | | | | | | Remove TODO re BridgeDescDownloadConfig defaults See merge request tpo/core/arti!839
| * | Remove TODO re BridgeDescDownloadConfig defaultsIan Jackson2022-11-081-1/+0
| |/
* | Check more targetstrinity-1686a2022-11-102-2/+6
| |
* | bridge desc: Drop a done TODOIan Jackson2022-11-081-1/+0
| | | | | | | | | | We have a separate BridgeDescMgr, rather than reusing DirMgr, so we will not be implementing BridgeDescProvider for DirMgr.
* | bridge desc: todo re config: weaken and reference a new ticketIan Jackson2022-11-081-3/+2
|/
* Merge branch 'store' into 'main'Nick Mathewson2022-11-085-41/+466
|\ | | | | | | | | | | | | Persistently cache bridge descriptors Closes #619 See merge request tpo/core/arti!831
| * bridge descs: Rename BridgeDescMgr from BridgeDescManagerIan Jackson2022-11-082-15/+15
| | | | | | | | | | | | This is more consistent with our naming elsewhere. Suggested-by: Nick Mathewson <[email protected]>
| * bridge descs: Apply sensitive() to bridge identity in error log msgIan Jackson2022-11-082-1/+3
| |
| * sqlite cache: Document reasoning about timestampsIan Jackson2022-11-081-2/+9
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/831#note_2851764
| * bridge desc tests: Test caching and if-modified-sinceIan Jackson2022-11-041-2/+121
| |
| * bridge desc tests: Break out queues_are_empty helperIan Jackson2022-11-041-2/+6
| |
| * bridge desc tests: Provide a sqlite connectionIan Jackson2022-11-041-2/+5
| | | | | | | | The current test case doesn't use this.
| * bridge desc: Implement storage functions at the DB layerIan Jackson2022-11-041-8/+67
| |
| * bridge desc: Make Downloaded be DebugIan Jackson2022-11-041-0/+1
| |
| * bridge desc: Implement cache reuse logic and if-modified-sinceIan Jackson2022-11-044-9/+196
| | | | | | | | | | | | | | | | | | | | | | | | This introduces the new API functions to Store. But currently they are all no-ops. So all this machinery doesn't actually do anything. Also, it changes the API to the mockable downloader, to allow it to support if-modified-since. So this isn't used either. But it is more convenient to do this all at once in BridgeDescManager, since care needs to be taken about the intraction between if-modified-since and the persistent cache.
| * bridge desc: Rename one more variable to textIan Jackson2022-11-041-1/+1
| |
| * bridge desc: Catch panics in the download functionalityIan Jackson2022-11-041-1/+8
| |
| * bridge desc: Provide a Store to the bridge desc managerIan Jackson2022-11-043-16/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use the one in the dirmgr. That means that our constructor now has to take a dirmgr. And, the dirmgr must have a circmgr. This is all rather odd, TBH. Add .. to the binding of the return values from setup, as future-proofing. The tests now need to provide a Store too. Make the sqlite::new_empty function pub(crate) so we can use it. We must retain the _db_tmp_dir, since when it goes away the tmp directory is deleted and the db goes readonly.
| * bridge desc tests: Apply tracing_test::traced_testIan Jackson2022-11-042-0/+3
| | | | | | | | This lets us see the log messages. They look fine, as it happens.
* | Merge branch 'store-yak-misc' into 'main'eta2022-11-083-11/+34
|\| | | | | | | | | Small misc yaks for bridge descriptor persistence See merge request tpo/core/arti!828
| * tor-dirmgr: impl AsRef<dyn Error> for ErrorIan Jackson2022-11-041-0/+7
| | | | | | | | This allows use with tor_error::Report.
| * dirmgr: Make store be in an ArcIan Jackson2022-11-041-2/+2
| | | | | | | | | | This will let us share it with the bridge descriptor manager. (As discussed with Nick.)
| * dirmgr sqlite store: Improve schema updatesIan Jackson2022-11-041-9/+25
| | | | | | | | | | | | | | | | | | * Centralise applying the schema updates, in a closure * Make the schema update SQL texts be in an array so we can loop * Make the version update statement generic, not cloned-and-hacked This will make it possible to add another schema version without error-prone conditions etc.