summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Move a few more responsibilities into NetDirConfig.Nick Mathewson2020-11-204-76/+125
| | | | Also start a DirMgr type.
* Move storage and config logic from netdir to dirmgr.Nick Mathewson2020-11-2012-26/+58
|
* NetDirConfig: Learn fallback directories from chutney configurations tooNick Mathewson2020-11-203-5/+68
|
* Missing file: whoopsNick Mathewson2020-11-201-0/+223
|
* Use a builder pattern for NetDir.Nick Mathewson2020-11-202-9/+5
|
* Move NetDirConfig into its own module.Nick Mathewson2020-11-201-142/+2
|
* Move some netdir code into submodules.Nick Mathewson2020-11-204-147/+166
| | | | | The Authority type gets its own module; so does the ability to load from legacy storage.
* Remove "dumpdir" example as obsoleteNick Mathewson2020-11-201-33/+0
|
* Remove a couple of stray dbg!() calls.Nick Mathewson2020-11-192-2/+0
|
* Initial pass on directory-manager code.Nick Mathewson2020-11-1914-75/+622
| | | | | | | | 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.
* downgrade an ok_or_else to ok_or.Nick Mathewson2020-11-191-1/+1
|
* Refactor AuthCertKeyIds::cmp().Nick Mathewson2020-11-191-5/+3
|
* Add support for using fallback directories in path constructionNick Mathewson2020-11-1911-54/+161
| | | | | | This is mainly a refactoring commit, with a little new code. It also adds #[derive(Copy,Clone)] for a few types.
* Add a notion of a one-hop fallback path.Nick Mathewson2020-11-171-7/+11
| | | | These have a FallbackDirectory as target, rather than a Relay.
* Refactor first-hop handling types a bitNick Mathewson2020-11-177-19/+38
| | | | | | This lets us have the notion of "get the first hop of a path as some kind of a chantarget", which will make it easier to write other path types.
* Netdir: improve representationNick Mathewson2020-11-171-48/+76
| | | | | Now a netdir no longer holds unwanted microdescs, and it always holds a weight function.
* Netdir: add functions to add mds, and list missing mdsNick Mathewson2020-11-171-0/+25
|
* Netdir: only expose a netdir object if we have enough directory infoNick Mathewson2020-11-174-14/+63
| | | | | The calculation isn't completely right here, but it's a fair stopgap.
* Include a list of fallback directories in tor-netdirNick Mathewson2020-11-164-0/+881
|
* Start a directory client implementationNick Mathewson2020-11-168-1/+466
| | | | | | | | It can send a GET request on a circuit, get an answer, and decompress it with zlib. It will need documentation and tests eventually, as well as serious refactoring.
* Make AuthCertKeyIds sortable.Nick Mathewson2020-11-161-0/+16
|
* Note an unpleasantness in the circmgr api.Nick Mathewson2020-11-161-0/+1
|
* Checkpoint work on a sqlite backend.Nick Mathewson2020-11-167-37/+649
| | | | | | | | | | | Among other stuff, revert parts of previous commit that introduced a ReadableStore abstraction: there isn't a good abstraction hat covers both Tor legacy stores and sqlite stores-- or if there is, I'll have to find it organizally. This isn't a final version: it probably has bugs, and it needs documentation and more tests. But before I do those, I want to sanity-check the API by drafting the next layer up on the stack.
* Type and functions for key ID inspection of AuthCert.Nick Mathewson2020-11-162-27/+52
|
* Have the consensus-parsing code expose the signed piece of the consensus.Nick Mathewson2020-11-162-7/+11
|
* Checkpoint work on making storage backend genericNick Mathewson2020-11-145-53/+188
| | | | Also uses mmap for loading stuff.
* Add accessors for consensus lifetimes.Nick Mathewson2020-11-141-6/+43
|
* Remember the position of authcert and microdescsNick Mathewson2020-11-143-12/+64
| | | | | We'll need this to save them to disk after parsing them from an upstream source.
* netdoc: Add a bogus "Extent()" facility to remember where things were.Nick Mathewson2020-11-141-0/+126
| | | | Also add the missing str.rs file (oops)
* netdoc: split off string utilsNick Mathewson2020-11-143-57/+4
|
* Move closed-check for circuits into an atomicbool.Nick Mathewson2020-11-133-32/+48
|
* Light refactoring on remaining ChannelImpl functionsNick Mathewson2020-11-131-22/+21
|
* Turn the channel "closed" method into an AtomicBoolNick Mathewson2020-11-134-26/+27
| | | | This lets us make the test for closed channels non-async.
* Move a few immutable fields from ChannelImpl outside the lock.Nick Mathewson2020-11-134-37/+30
| | | | | Since these don't change while the channel is alive, we don't need the lock to protect them.
* Make Arc<>-ness of ClientCirc explicit.Nick Mathewson2020-11-125-60/+68
|
* Make the Arc-ness of channels more explicit.Nick Mathewson2020-11-127-79/+61
| | | | | | Previously every channel was a secret Arc<>, which I think is bad style, and which stopped us from using weak references in other places.
* tor-circmgr: timeout and retry support.Nick Mathewson2020-11-112-3/+40
|
* tor-chanmgr: timeout support.Nick Mathewson2020-11-113-7/+22
|
* Document tor-rtcompat crate a littleNick Mathewson2020-11-112-3/+12
|
* Remove a couple of unused dependenciesNick Mathewson2020-11-112-7/+0
|
* Isolate async_std usage in a new tor_rtcompat crate.Nick Mathewson2020-11-1114-86/+75
| | | | | Like tor_llcrypto, this crate is meant to expose only the part of other crates (in this case, a async runtime crate) that we use.
* Use anyhow in tor-circmgr and tor-chanmgrNick Mathewson2020-11-119-50/+17
|
* Use Infallible in tor-netdoc.Nick Mathewson2020-11-111-2/+2
|
* Use anyhow for error management in client-demo.Nick Mathewson2020-11-113-29/+11
|
* Mark tor_netdoc::err::Pos as Send and SyncNick Mathewson2020-11-111-0/+9
| | | | | | I am about 99% sure this is safe: the pointer that this type contains is never dereferenced, and is only compared to the bounds of a string later on.
* Use bitflags crate to represent RouterFlags.Nick Mathewson2020-11-112-90/+75
|
* update some dependenciesNick Mathewson2020-11-114-10/+10
|
* Upgrade dependenciesNick Mathewson2020-11-1012-16/+16
|
* upgrade a few packages.Nick Mathewson2020-11-055-7/+7
|
* Add some tor-sockproto testsNick Mathewson2020-11-052-1/+200
|