summaryrefslogtreecommitdiff
path: root/crates/tor-dirmgr/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* extend lints to include 'clippy::all'Daniel Eades2021-12-281-0/+1
|
* Refactor directory events to use a FlagPublisher mechanism.Nick Mathewson2021-12-141-44/+12
| | | | | | | | This approach tries to preserve the current interface, but uses a counter-based event backend to implement a coalescing stream of events that can be represented as small integers. The advantage here is that publishing events no longer needs to be a blocking operation, since there is no queue to fill up.
* Add a few tests to tor-config.Nick Mathewson2021-12-071-3/+2
|
* Make override_net_params take effect sooner.Nick Mathewson2021-12-071-3/+15
| | | | | This is still not as soon as I'd like: a real change here will require refactoring DirMgr::notify().
* Make much of DirMgrConfig reconfigurable.Nick Mathewson2021-12-071-17/+28
| | | | | | | | | | We can't change the authorities while in-flight: that would be pretty miserable to implement. Similarly we can't change the cache while in-flight. Everything else should be fair game, though there are a couple of tricky bits. I've tried to document those.
* Sketch API for reconfiguration.Nick Mathewson2021-12-071-0/+27
| | | | | | | This patch doesn't actually make anything reconfigurable, but it does create an API that will tell you "you can't change the value of that!" If the API looks reasonable, I can start making it possible to change the values of individual items.
* Resolve roughly half of the XXXXs.Nick Mathewson2021-12-061-1/+1
| | | | | | | | We want to only use TODO in the codebase for non-blockers, and open tickets for anything that is a bigger blocker than a TODO. These XXXXs seem like definite non-blockers to me. Part of arti#231.
* dont warn on bootstrap error when error == manager droppeddagon2021-11-301-3/+9
|
* Merge branch 'config-updates-and-tests'Nick Mathewson2021-11-291-1/+1
|\
| * Add basic tests for high-level buildersNick Mathewson2021-11-251-1/+1
| | | | | | | | | | Make sure that we can change elements, and we can reconstruct builders that give us the same thing.
* | add semicolons if nothing returnedDaniel Eades2021-11-251-5/+6
|/
* Rename RetryConfig to DownloadSchedule, fold in parallelism.Nick Mathewson2021-11-181-5/+3
|
* tor-dirmgr: put routerdesc storage behind a feature.Nick Mathewson2021-11-121-5/+16
| | | | | | | (We keep routerdescs in the schema, since we don't want _that_ to fragment.) Part of #125.
* Tests for tor-dirmgr::bootstrapNick Mathewson2021-11-111-1/+1
|
* Minor tests for DirMgr::query_into_requestsNick Mathewson2021-11-111-0/+39
|
* tor-dirmgr: tests for making and expanding consensus requests.Nick Mathewson2021-11-101-0/+125
|
* tor-dirmgr: Tests for high-level loading functions.Nick Mathewson2021-11-101-3/+152
|
* More tests on tor-dirmgr::stateNick Mathewson2021-11-081-1/+1
| | | | | These test our download schedules, resetting to the original state, and storing downloaded objects.
* Mark consensus as "not-pending" even if its microdescs come from cache.Nick Mathewson2021-10-201-3/+23
| | | | | | | Previously our code would clear the 'pending' flag on a consensus only when a _downloaded_ md made it become usable. Closes #199.
* Move tor-dirmgr to use a sync::Mutex.Nick Mathewson2021-10-201-24/+22
| | | | | The futures::lock::Mutex was unnecessary, since we never held it when we were suspending.
* Reverse two swapped log messagesNick Mathewson2021-10-191-2/+2
|
* Improve logging when trying to get the lock on the directory cache.Nick Mathewson2021-10-191-3/+20
| | | | | | Previously we'd say that we were "waiting for the other process to bootstrap" even if it was already bootstrapped: and we wouldn't actually declare success when it was done.
* Remove useless into() conversions caught by clippy.Jani Monoses2021-10-181-11/+11
|
* Remove anyhow dependency from tor-dirmgr.Jani Monoses2021-10-181-5/+4
|
* Add a few tracing directives to tor-dirmgr.Nick Mathewson2021-10-131-1/+3
|
* tor-dirmgr: report bootstrap success on all successful cases.Nick Mathewson2021-10-131-0/+5
| | | | | Previously we would sometimes fail to report that we had successfully bootstrapped.
* Don't report the bootstrap as completed unless it actually succeeds.Nick Mathewson2021-10-131-4/+10
| | | | | (Previously we'd report it as successful even if the inner download task was a failure.)
* Notify guard manager on network change and state flush.Nick Mathewson2021-10-101-0/+12
|
* Re-export configuration types from tor-client.Nick Mathewson2021-10-091-1/+2
|
* enable checked_conversions lint.Nick Mathewson2021-10-091-0/+1
|
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-271-0/+690
This will cause some pain for now, but now is really the best time to do this kind of thing.