summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
| |
* | Use interned PortPolicy objects in RouterDescs too.Nick Mathewson2021-03-291-2/+3
| |
* | Netdoc: Add support for interned PortPolicy objects in MicroDescsNick Mathewson2021-03-295-4/+18
| | | | | | | | In C tor, this saved a whole lot of RAM.
* | Allow HS* protover names, since these are from our standard.Nick Mathewson2021-03-291-0/+2
| |
* | Use Arc::clone() explicitly with port policiesNick Mathewson2021-03-291-2/+2
| |
* | Don't copy exit policies around; instead use Arc.George Kadianakis2021-03-294-13/+11
|/
* Check for channel match in create_firsthop_ntor().Nick Mathewson2021-03-242-6/+21
| | | | | | This way we won't even try sending the CREATE2 cell unless the Ed25519 identity we know for the channel matches the provided CircTarget.
* Refactor errors in tor-decompress and tor-dirclient.Nick Mathewson2021-03-247-104/+169
| | | | | This lets us reinstate the code in dirclient that retired circuits depending on the error type.
* dirclient: add a function to download over a stream.Nick Mathewson2021-03-242-70/+88
| | | | | Also, remove references to DataStream, and comment on the future of the module.
* Add a "this crate has no timeouts" comment to tor-proto.Nick Mathewson2021-03-241-3/+6
|
* Move stream timeout logic into tor-client.Nick Mathewson2021-03-245-165/+144
| | | | | | | | | | This is consistent with the other pieces of tor-proto, which do not handle timeouts on their own. It also lets us remove tor-rtcompat as a dependency from tor-proto, and simplify some of the test cases to use async_test. This commit unindents a lot of test code; use git's "-b" flag to read the parts that matter.
* upgrade to newer version of config crate.Nick Mathewson2021-03-243-3/+3
|
* Move responsibility for knowing about TLS into tor_rtcompat.Nick Mathewson2021-03-2311-54/+232
| | | | Now we don't need runtime-specific stuff in tor-chanmgr.
* Refactor tokio implpementation in tor-rtcompat.Nick Mathewson2021-03-237-66/+134
| | | | | | | | | | | Now other crates don't need any 'ifdef tokio' code, since there are wrappers that implement 'futures' right. Technically, the 'futures' traits are in some ways less good than the tokio ones, but we need a consistent API if we want to support WASM someday and keep support for async_std. I'd rather hold out hope for a future version of futures::io working like tokio than to fix ourselves into the tokioverse forever.
* Add tests for correct incoming sendme handling.Nick Mathewson2021-03-222-5/+207
| | | | | | At this point I'm going to pause writing tor-proto tests for a little while and think about refactoring that could make these tests simpler. I'm doing way too much copy-paste here.
* Extend the begindir test to exchange data on the stream.Nick Mathewson2021-03-191-3/+44
|
* Introduce a helper to tor_proto::circuit testsNick Mathewson2021-03-191-44/+24
|
* Add a compatibility layer so we can upgrade rand_core.Nick Mathewson2021-03-1814-23/+122
| | | | | | 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.
* Move our command-line interface into a new crate called "arti".Nick Mathewson2021-03-1711-14/+42
| | | | Closes #106
* Add appropriate categories to some Cargo.toml files.Nick Mathewson2021-03-1710-0/+10
|
* Add the tor project as an author.Nick Mathewson2021-03-1722-22/+22
|
* Add keywords to each Cargo.tomlNick Mathewson2021-03-1722-1/+22
|
* Add a description field to all our Cargo.toml filesNick Mathewson2021-03-1722-0/+22
|
* Give it a homepage everyplace.Nick Mathewson2021-03-1722-0/+22
|
* Resolve unwrap() instances in tor-netdir.Nick Mathewson2021-03-163-8/+52
| | | | | This includes revising the pick_weighted() function to not panic if its inputs are above 2^64 in total.
* Change an unwrap() in llcrypto to an expect().Nick Mathewson2021-03-161-1/+1
|
* circuit: Add a test for a bad crypto handshake.Nick Mathewson2021-03-161-0/+13
|
* circuit: tests for different undesired responses to EXTEND.Nick Mathewson2021-03-161-3/+93
|
* circuit: improve errors on bad extended2Nick Mathewson2021-03-161-4/+11
|
* Refactor circuit reactor for testing.Nick Mathewson2021-03-161-1/+6
|
* Test for Channel::check_matchNick Mathewson2021-03-161-0/+39
|
* Bump a couple of depsNick Mathewson2021-03-133-3/+3
|
* Merge remote-tracking branch 'origin/mr/21'Nick Mathewson2021-03-122-7/+4
|\
| * Avoid a slice copy in send_relay_cell().George Kadianakis2021-03-122-7/+4
| | | | | | | | Convert slice to array in the parent function instead of copying.
* | Allow spaces in command-line arguments againNick Mathewson2021-03-121-1/+3
| |
* | Improve implementation of copy_interactiveNick Mathewson2021-03-121-11/+50
| | | | | | | | | | | | | | Previously we'd flush after every write. Now we only flush when the reader has nothing more to tell us. This way we can be sure that we're sending out the data as soon as we can, without leaving any cells partially filled unnecessarily.
* | Remove a couple of unused deps from tor-llcrypto.Nick Mathewson2021-03-101-2/+0
| |
* | Avoid most regex features.Nick Mathewson2021-03-102-11/+6
| |
* | Only enable the `config` features we are using.Nick Mathewson2021-03-102-2/+3
| | | | | | | | | | This saves us from a lot of extra backends, including an entire extra version of serde (!).
* | Cut down on tokio features.Nick Mathewson2021-03-101-1/+1
| |
* | Better management for END cells in streams.Nick Mathewson2021-03-106-27/+59
| |
* | Box the buffer in DataWriterImpl.Nick Mathewson2021-03-101-3/+2
| |
* | Remove now-unused methods from DataStream and its allies.Nick Mathewson2021-03-101-36/+0
| |
* | Use AsyncRead and AsyncWrite in tor-dirclientNick Mathewson2021-03-101-4/+8
| |
* | Treat StreamClosed as indicating no error.Nick Mathewson2021-03-101-3/+7
| | | | | | | | This is wrong, but less wrong than the other way around.
* | Use AsyncRead and AsyncWrite in our proxy implementationNick Mathewson2021-03-103-30/+38
| |
* | Make DataStream implement AsyncRead and AsyncWrite.Nick Mathewson2021-03-101-1/+27
| |
* | Implement AsyncWrite for DataWriter.Nick Mathewson2021-03-101-24/+155
| |