summaryrefslogtreecommitdiff
path: root/crates/tor-dirmgr/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix_802_core' into 'main'Ian Jackson2023-04-181-1/+6
|\ | | | | | | | | | | | | DirMgr: Detect that directory state is ready if it begins with all MDs Closes #802 See merge request tpo/core/arti!1126
| * DirMgr: Detect that directory state is ready if it begins with all MDsNick Mathewson2023-04-101-1/+6
| | | | | | | | | | | | | | | | | | | | | | Previously, we'd only call PendingNetDir::upgrade_if_necesessary when adding a microdescriptor. But if it began already having all of its descriptors (because we found them in the cache), we wouldn't actually upgrade it to a PendingNetDir::Yielding, which would make it unusable, and would make us schedule its reset time too far in the future. Fixes #802.
* | s/BridgeDescManager/BridgeDescMgr/g in codebaseNeel Chauhan2023-04-121-2/+2
| |
* | Use bool::then_some() as appropriateNick Mathewson2023-04-112-8/+8
|/ | | | | | Now that we require a version of Rust that allows `b.then_some(v)`, clippy complains about our use of `b.then(|| v)`.
* Sort out some TODOs in bdtest.rsIan Jackson2023-03-211-5/+4
|
* Fix a bunch of needless-conversion warnings.Nick Mathewson2023-03-101-3/+2
| | | | | Apparently 1.68 now warns when you call into_iter() on something that's already an iterator. Fair enough. Let's stop doing that.
* tor-dirmgr: Don't try to mark consensus usable in a read-only store.Nick Mathewson2023-03-081-4/+6
| | | | | | | | | | | Doing this means that any attempt to use a read-only store would crash as soon as it found that the consensus was usable. It seems that this bug was introduced at some point doing all the dirmgr refactors we did over the past year. Perhaps there should be a test for running with a read-only store. Fixes #779
* tor-dirmgr: Work around an apparent regression in `time`.Nick Mathewson2023-02-171-3/+3
| | | | | | | Some code in our tests that worked fine with time 0.3.17 no longer works with 0.3.19, despite the semver. See https://github.com/time-rs/time/issues/552 for the upstream bug.
* tor-netdoc: Change fill_from_previous_netdirIan Jackson2023-02-091-1/+1
| | | | | | | | | | | | | | | | * Remove the return value, which was not used anywhere. Also remove the code to calculate the return value. * Take an Arc<NetDir> rather than a reference. We are going to want this for HS support. This has no overall effect on the lifetime of the4 Arc, which was owned at the one call site and then imediately dropped. * Change the documentation to explain what the function's role is in the netdir API, rather than the fiddly details of what it actually does internally. Relegate the latter to a code comment. (When we have HS, this will do more, or, at least, make further arrangements.)
* Use ErrorReport - run rustfmtIan Jackson2023-01-302-3/+11
| | | | Split off for ease of review and possible rebase.
* Use ErrorReport's .report() for two errors in error! in bridgedesc.rsIan Jackson2023-01-301-3/+3
| | | | No functional change, just using the new idiom.
* Use ErrorReport for errors in warn! in tor-dirmgrIan Jackson2023-01-303-10/+10
|
* Use ErrorReport for errors in info! in tor-dirmgrIan Jackson2023-01-302-3/+4
|
* "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