summaryrefslogtreecommitdiff
path: root/tor-dirmgr
Commit message (Collapse)AuthorAgeFilesLines
...
| * DocQuery: sort requests before splitting.Nick Mathewson2021-04-091-4/+13
| |
| * Start moving responsibility for building requests into dirmgrNick Mathewson2021-04-093-40/+136
| | | | | | | | This will help with my planned "directory state" refactoring.
* | fallbackdir: New list from April 2021David Goulet2021-04-121-410/+1374
|/ | | | Signed-off-by: David Goulet <[email protected]>
* Remove a few unused dependenciesNick Mathewson2021-04-051-1/+0
|
* Upgrade rusqlite; remove needless usage.Nick Mathewson2021-04-052-22/+16
|
* DirMgr::netdir() is no longer asyncNick Mathewson2021-04-022-12/+9
| | | | | | | | Since we moved to a non-async mutex(*), we no longer need to worry that this function might need to suspend. (*) This is _not_ safe in general, but it's okay in this case, since we never suspend while holding that mutex: see shared_ref.rs.
* missing file.Nick Mathewson2021-04-021-0/+78
|
* Turn the shared network directory reference into its own typeNick Mathewson2021-04-021-27/+13
| | | | | | Doing this will make it easier to use it from other parts of the crate, and will make it more obvious that it's safe to use a regular (not async) rwlock here.
* Make ConsensusRequest take a flavor.Nick Mathewson2021-04-011-1/+2
|
* Add accessors for members of different directory requestsNick Mathewson2021-04-011-3/+3
| | | | | | | | This will let us use these types both as client and server-side implementations. Making this change required me to change the download code to take requests by reference. (Sorry, David)
* DirMgr: add text() and texts() functions to ask for document textNick Mathewson2021-03-315-29/+317
| | | | | Also, start on a larger refactoring where we ask for documents by their ID.
* Refactor sqlite.rs to know about consensus flavors.Nick Mathewson2021-03-312-27/+56
| | | | | These were stored in the database before, but they were hardwired in the API.
* Use Arc::make_mut() to simplify the code a bitNick Mathewson2021-03-301-7/+11
| | | | | Previously we used NetDir::extend here, which used try_unwrap. But it's much simpler to use the intended object for this purpose.
* Look for RdDigest in the right locationNick Mathewson2021-03-301-1/+2
|
* small tweaks to routerdesc storage code.Nick Mathewson2021-03-301-48/+20
|
* dirmgr: Add functions to store/read/update router descriptorsDavid Goulet2021-03-301-3/+131
| | | | Signed-off-by: David Goulet <[email protected]>
* dirmgr: Add SQLite schema for router descriptorsDavid Goulet2021-03-301-9/+21
| | | | Signed-off-by: David Goulet <[email protected]>
* Make reasonable set of default fallback directoriesNick Mathewson2021-03-304-6/+761
|
* Give the authorities value a reasonable default.Nick Mathewson2021-03-302-1/+36
|
* 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
|