aboutsummaryrefslogtreecommitdiff
path: root/tor-dirmgr
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a NetDirConfig::use_default_cache_path() function.Nick Mathewson2021-03-302-1/+16
|
* resolve a clippy issueNick Mathewson2021-03-301-1/+3
|
* Declare a better default for DownloadScheduleConfig.Nick Mathewson2021-03-302-3/+35
|
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-294-22/+22
| | | | This is painful, but we shouldn't have to do it again.
* Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-4/+4
|
* DirMgr: cooperative multiprocess support.Nick Mathewson2021-03-294-60/+170
| | | | | | | | | | | | | | A directory manager can now launch or run in read-only or read-write mode, depending on whether it manages to acquire a lock on the filesystem. In read-write mode, it bootstraps and stores data into the database as usual. In read-only mode, it assumes that another process will be updating the database, and so it only loads it periodically, looking for new information. However, it also tries to acquire the lock itself, so it can enter read-write mode.
* Create a DirMgr::load_or_bootstrap_from_config.Nick Mathewson2021-03-291-0/+16
|
* Add support for a lockfile to control concurrent access to a dirmgr.Nick Mathewson2021-03-293-11/+93
|
* Add DirMgr::load_once.Nick Mathewson2021-03-292-0/+29
| | | | | This function loads a current bootstrapped directory from disk, if it can.
* Use the CircMgr in the DirMgr for all our downloading needs.Nick Mathewson2021-03-292-25/+24
|
* Make CircMgr an optional element of DirMgr. Not yet used.Nick Mathewson2021-03-292-3/+18
|
* Add a compatibility layer so we can upgrade rand_core.Nick Mathewson2021-03-183-3/+3
| | | | | | dalek-crypto is stuck on rand_core 0.5.1, so we've been stuck too. This commit introduces a compatibility module so that we can wrap new rand_core instances to make them backward compatible.
* Add the tor project as an author.Nick Mathewson2021-03-171-1/+1
|
* Add keywords to each Cargo.tomlNick Mathewson2021-03-171-0/+1
|
* Add a description field to all our Cargo.toml filesNick Mathewson2021-03-171-0/+1
|
* Give it a homepage everyplace.Nick Mathewson2021-03-171-0/+1
|
* upgrade async-traitNick Mathewson2021-03-091-1/+1
|
* Bump dependencies with "cargo upgrade"Nick Mathewson2021-03-061-3/+3
|
* Avoid unwrap() in dirmgr.Nick Mathewson2021-03-042-3/+7
|
* Avoid unwrap() in dirmgrNick Mathewson2021-03-042-11/+22
|
* Port to work with tokio or async-std.Nick Mathewson2021-03-021-2/+2
| | | | | | | | | | | | | | | | | | This is fairly ugly and I think I'll need to mess around with the feature configuration a while until we get something that's pleasant to develop with. This still seems like a good idea, though, since we _will_ need to be executor-agnostic in the end, or we'll have no way to handle wasm or embedded environments. Later down the road, we'll probably want to use futures::Executor or futures::Spawn more than having global entry points in tor_rtcompat. That would probably make our feature story simpler. Tokio is the default now, since tokio seems to be more heavily used for performance-critical stuff. This patch breaks tests; the next one will fix them, albeit questionably.
* Update to latest futures, once_cellNick Mathewson2021-02-231-1/+1
|
* Update some dependencies.Nick Mathewson2021-02-191-1/+1
|
* Make first-level directory retry logic configurable.Nick Mathewson2021-02-173-20/+57
|
* Make our initial bootstrap retry schedule configurarableNick Mathewson2021-02-175-11/+95
|
* tor-dirmgr: simplify config.rs a bit.Nick Mathewson2021-02-161-52/+14
|
* Add support to override network parameters in the configuration.Nick Mathewson2021-02-163-2/+24
|
* Apply "deny_unknown_fields" to configuration types.Nick Mathewson2021-02-122-0/+5
|
* Remove fallback to .arti/cache for cache directoryNick Mathewson2021-02-121-5/+1
|
* Make authorities and fallbacks configurable.Nick Mathewson2021-02-115-153/+45
| | | | | | | | | | This commit adds configuration options for these values, with the right defaults, and uses those options instead of built-in functions to set them. We also remove the function to extract information from chutney directories: now that arti is configurable, it can be chutney's job to make its own network configurations.
* bump serde and logNick Mathewson2021-02-011-1/+1
|
* Check declared post-digest on consensus diffs.Nick Mathewson2021-01-251-5/+6
|
* Don't give up easily on initial bootstrap attempts.Nick Mathewson2021-01-251-7/+14
|
* Resolve a few more XXX-A1 comments in dirmgr.Nick Mathewson2021-01-251-18/+29
|
* Remove some not-necessary XXX-A1s in sqlite.rsNick Mathewson2021-01-251-3/+0
|
* dirmgr: fix usage and meaning of `pending`.Nick Mathewson2021-01-252-14/+34
| | | | | The documentation and implementation diverged; the documentation was correct.
* Detect consensuses that are signed by the wrong authorities.Nick Mathewson2021-01-253-13/+57
| | | | | | | | | | | | With this patch we don't consider a consensus to be even potentially well-signed if the authorities that are listed as signing it don't contain enough authorities we believe in. Otherwise, we'd just try fetching certs for them and failing forever. (I found this by switching from a chutney network to the main network without cleaning out my cache.) Closes #44
* dirmgr: Extra explanatory comments.Nick Mathewson2021-01-251-3/+23
| | | | Also replace some "disk" with "cache" in log messages
* require latest futures crateNick Mathewson2021-01-151-1/+1
|
* Upgrade a few more dependencies.Nick Mathewson2021-01-131-1/+1
|
* Upgrade a few dependencies.Nick Mathewson2021-01-131-3/+3
|
* cargo upgrade.Nick Mathewson2020-12-301-2/+2
|
* dirmgr: Handle another error in download_mds().George Kadianakis2020-12-231-8/+12
| | | | Co-authored-by: David Goulet <[email protected]>
* dirmgr: Handle some errors in download_mds().George Kadianakis2020-12-231-3/+8
| | | | Co-authored-by: David Goulet <[email protected]>
* upgrade to latest anyhowNick Mathewson2020-12-211-1/+1
|
* Fix a few clippy warningsNick Mathewson2020-12-171-2/+5
|
* Download and use consensus diffs.Nick Mathewson2020-12-173-18/+104
| | | | | Had to refactor a few methods for database access, and fix a bug where we were storing valid_until times with the wrong information.
* dirmgr: Refactor so it has no unusable state.Nick Mathewson2020-12-152-25/+57
| | | | | | With this new API, if you have a DirMgr, it has a NetDir that was bootstrapped, and was live at least once during your program's execution.
* Add a "RetryError" to capture the idea of multiple failed attempts.Nick Mathewson2020-12-122-16/+11
| | | | | | When we try to do something a few times and it fails each time, it can be a good idea to remember why the individual failures happened.
* upgrade rusqliteNick Mathewson2020-12-081-1/+1
|