aboutsummaryrefslogtreecommitdiff
path: root/tor-dirmgr
Commit message (Collapse)AuthorAgeFilesLines
...
* upgrade to require latest anyhow.Nick Mathewson2020-12-081-1/+1
|
* Document a problem on network transitionNick Mathewson2020-12-081-0/+11
|
* De-parameterize ChanMgr and everything that wraps it.Nick Mathewson2020-12-082-77/+32
| | | | | | | | | | | | | | This makes a whole lot of our code simpler, and makes it so that CircMgr and DirMgr no longer need to have anything parameterized over transports, either. Instead of boxing Transport inside of ChanMgr, I've made a new Connection trait that goes from a ChanTarget* straight to a Channel. This lets us avoid having to box the intermediate TLS object. [*] Actually, a copy of the information from a ChanTarget. Ick, but I had to make a copy to avoid parameterizing Connecter::build_channel.
* Fix a logic bug in the --chutney-dir option.Nick Mathewson2020-12-071-4/+6
| | | | | | | It was recording the dirport for each chutney authority as though it were an orport. That obviously won't work. Closes arti#45.
* Mark some XXXX issues as XXXX-A1.Nick Mathewson2020-12-072-19/+22
|
* Fix grammar in a log messageNick Mathewson2020-12-071-1/+1
|
* Add a few log messages about download timing.Nick Mathewson2020-12-072-2/+12
|
* Teach updater to download microdescriptors for usable directory.Nick Mathewson2020-12-073-43/+121
| | | | | | | | | | This follows a three-phase process: We are either fetching microdescriptors, waiting for the time to download the next consensus, or fetching the next consensus and making it usable. We can stop fetching microdescriptors for two reasons: by having no more mds that we need to download, or by running out of time in which the current consensus is usable.
* Reuse microdescriptors from previous consensusNick Mathewson2020-12-061-10/+16
| | | | | Previously, we'd re-parse them from the database every time we got a new consensus.
* Enforce that the periods in a consensus lifetime are nonempty.Nick Mathewson2020-12-041-1/+2
| | | | | To be valid, a lifetime must have valid_after < fresh_until < valid_until.
* Update a few comments.Nick Mathewson2020-12-041-3/+16
|
* Dirmgr: Add a feature to keep the directory up-to-date.Nick Mathewson2020-12-042-27/+231
| | | | | This required me to move the sqlite connection from a rwlock into mutex, since it isn't actually Sync.
* Abandon directory circuits on most kinds of directory failure.Nick Mathewson2020-12-021-3/+14
| | | | | (There are more cases that this _doesn't_ handle, but it's a start for now.)
* tor-dirmgr: retry up to 3 times on download failure.Nick Mathewson2020-12-012-4/+118
|
* Make mmap usage optional.Nick Mathewson2020-12-012-10/+15
|
* tor-dirmgr: tests for storage.rsNick Mathewson2020-12-011-0/+38
|
* Add a decorrelated-jitter implementation.Nick Mathewson2020-11-302-0/+147
| | | | | This is the algorithm we use on download failure to back off before we retry.
* only expire dorectory info on a successful bootstrap.Nick Mathewson2020-11-302-2/+3
|
* Add tests for blob_fname failing casesNick Mathewson2020-11-301-0/+17
|
* More tests for sqlite.rsNick Mathewson2020-11-301-3/+46
|
* Initial tests for authcert storageNick Mathewson2020-11-302-4/+31
|
* tor-dirmgr: Refactor storage not to take AuthCert type.Nick Mathewson2020-11-303-11/+63
| | | | Add a new AuthCertMeta type to make it easier to test.
* tor-dirmgr: Refactor storage not to take Microdesc type.Nick Mathewson2020-11-303-8/+13
| | | | | Since all it needs is an MDDigest, that's what it should take. This will make it easier to test.
* Add a test for sha3_dualNick Mathewson2020-11-301-4/+26
|
* Upgrade a couple of dependenciesNick Mathewson2020-11-281-1/+1
|
* Fetch microdescriptors in parallel.Nick Mathewson2020-11-241-27/+51
|
* A little better logging on bootstrap.Nick Mathewson2020-11-242-3/+13
|
* Make legacy-store code disabled by default.Nick Mathewson2020-11-243-2/+8
| | | | In the long run we might not want it at all.
* Turn client-demo into a mostly-good client.Nick Mathewson2020-11-241-2/+5
|
* Add a function to load a directory from cache.Nick Mathewson2020-11-241-1/+65
|
* When a consensus has enough descriptors, mark it non-pending.Nick Mathewson2020-11-242-6/+52
|
* When storing consensuses, index them by the sha3 of the whole file.Nick Mathewson2020-11-234-21/+52
|
* Document and de-warning the rest of tor-dirmgrNick Mathewson2020-11-236-51/+219
|
* Less copying of the authority list.Nick Mathewson2020-11-231-31/+27
|
* A little documentation in tor-dirmgrNick Mathewson2020-11-231-14/+44
|
* Make "storage" module privateNick Mathewson2020-11-201-1/+1
|
* Remove a couple of #[allow]s.Nick Mathewson2020-11-201-7/+5
|
* Teach DirMgr to use its own NetDir, if present, to bootstrap itself.Nick Mathewson2020-11-201-7/+5
|
* Add a better way to get a shared directory out of a DirMgr.Nick Mathewson2020-11-201-16/+23
|
* Remove needless Arc<> for DirStoreHandle. And DirStoreHandle itself.Nick Mathewson2020-11-201-37/+24
|
* Move a few more responsibilities into NetDirConfig.Nick Mathewson2020-11-203-62/+121
| | | | Also start a DirMgr type.
* Move storage and config logic from netdir to dirmgr.Nick Mathewson2020-11-209-6/+1233
|
* Initial pass on directory-manager code.Nick Mathewson2020-11-192-0/+451
This code can now bootstrap from the network, cache the results, and reload from cache. There's lots more work to do here, including a big pile of tidying and refactoring and testing and documentation.