summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Implement rudimentary circuit-manager functionalityNick Mathewson2020-11-024-11/+198
| | | | | This code is meant to "get or launch a circuit as appropriate." It's super dodgy, but it is probably good enough for a first pass.
* Add a new circuit-manager crate and move path selection there.Nick Mathewson2020-11-0212-45/+244
|
* Add missing testing.rs fileNick Mathewson2020-10-301-0/+102
|
* Tests for tor-chanmgr.Nick Mathewson2020-10-304-7/+252
|
* chanmgr: don't return closing channels.Nick Mathewson2020-10-302-1/+18
|
* Use chanmgr in client-demoNick Mathewson2020-10-303-73/+36
|
* Implement a channel-manager type to get or launch channels on request.Nick Mathewson2020-10-308-2/+355
|
* Remove duplication of ipaddr argument in handshake.Nick Mathewson2020-10-292-15/+22
|
* tor-cell: In netinfo, unspecified addresses are None.Nick Mathewson2020-10-292-11/+18
|
* Function to check whether a channel matches a target.Nick Mathewson2020-10-292-2/+30
|