summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Document tor-socksprotoNick Mathewson2020-11-044-4/+165
|
* rename tor_socks -> tor_socksproto.Nick Mathewson2020-11-049-7/+7
|
* Refactor DataStream to be splittable, and have internal locking.Nick Mathewson2020-11-042-20/+65
| | | | This lets me fix the deadlock in the proxy code.
* stream: Update to enable more fine-grained lockingNick Mathewson2020-11-043-17/+28
| | | | | Not sure this is quite right, or quite deadlock free, but it lets us read/write cells on a stream we haven't locked.
* Add a (broken) SOCKS proxy to client-demo.Nick Mathewson2020-11-043-4/+131
| | | | | This is broken because it hits a deadlock when two tasks at once want to use a DataStream for reading and writing.
* Add a SOCKS protocol implementation. Needs tests and docsNick Mathewson2020-11-046-0/+449
|
* netdir: remove interior mutability.Nick Mathewson2020-11-041-15/+17
|
* circmgr: Make sure circmgr can be shared among threadsNick Mathewson2020-11-041-8/+6
|
* chanmgr: Make sure chanmgr can be shared among threadsNick Mathewson2020-11-041-14/+18
|
* Make 'netdir' no longer a field in circmgr.Nick Mathewson2020-11-022-14/+15
|
* Add a tiny bit of cleanup logic to tor-circmgrNick Mathewson2020-11-022-4/+24
|
* Document tor-circmgrNick Mathewson2020-11-026-7/+108
|