summaryrefslogtreecommitdiff
path: root/crates/tor-dirmgr/src
Commit message (Collapse)AuthorAgeFilesLines
* "Fix" remaining unchecked-subtraction warnings.Nick Mathewson2023-01-271-1/+3
| | | | | In both cases I think it's fine to panic; but it's best to do so explicitly.
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-2712-0/+12
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Complete our migration to base64ct.Nick Mathewson2023-01-201-1/+2
| | | | | | | | | This is in lieu of upgrading to the latest base64 crate, which has a different API from the old one. Since we have to migrate either way, we might as well use base64ct everywhere. I don't think that most of these cases _require_ constant-time base64, but it won't hurt.
* test lint blocks: Add many many automaticallyIan Jackson2022-12-128-0/+66
| | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
* test lint blocks: Do some semi-manuallyIan Jackson2022-12-123-1/+25
| | | | | | | This is the hunks from running the rune in maint/adhoc-add-lint-blocks but which require some subsequent manual fixup: usually, deleting now-superfluous outer allows, but in some cases manually putting back lints that the adhoc script deleted.
* Merge branch 'spelling-20221206' into 'main'Ian Jackson2022-12-063-14/+14
|\ | | | | | | | | A few spelling fixes for bridgedescmgr code See merge request tpo/core/arti!925
| * dirmgr: Spelling fixes and normali[sz]ationsNick Mathewson2022-12-063-14/+14
| |
* | Merge branch 'faravahar-removal' into 'main'Ian Jackson2022-12-061-1/+0
|\ \ | | | | | | | | | | | | dirauth: Remove Faravahar See merge request tpo/core/arti!924
| * | dirauth: Remove FaravaharDavid Goulet2022-12-061-1/+0
| |/ | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/tor/-/issues/40688 Signed-off-by: David Goulet <[email protected]>
* / dirauth: New v3 identity key for moria1David Goulet2022-12-061-1/+1
|/ | | | | | | | | | | | We are rotating moria1's key due to a break-in few weeks ago. See https://gitlab.torproject.org/tpo/core/tor/-/issues/40722 for more details. The original MR for C-tor (tor.git) done by Roger Dingledine, moria1's operator, is here: https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/662 Signed-off-by: David Goulet <[email protected]>
* 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.
* 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 Store: Have constructors take DirMgrStoreIan Jackson2022-11-141-6/+13
| | | | | | | 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.)
* 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.
* 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
| |/
* | 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-084-41/+463
|\ | | | | | | | | | | | | 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-081-1/+2
| |
| * 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-043-9/+195
| | | | | | | | | | | | | | | | | | | | | | | | 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-041-0/+2
| | | | | | | | This lets us see the log messages. They look fine, as it happens.