summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Declare a better default for DownloadScheduleConfig.Nick Mathewson2021-03-302-3/+35
|
* Add a missing member documentationNick Mathewson2021-03-301-0/+8
|
* Add a fuzzer for NsConsensus documentsNick Mathewson2021-03-302-0/+15
|
* Add a test case for NS consensus parsing.Nick Mathewson2021-03-303-1/+269
|
* NS consensus documents have signatures on SHA1 hashes, not SHA256.Nick Mathewson2021-03-301-8/+29
|
* Implement parsing for ns-flavored consensus documents.Nick Mathewson2021-03-303-202/+317
|
* Make RouterStatus a trait and Consensus into a generic type.Nick Mathewson2021-03-304-56/+133
| | | | This breaks surprisingly little.
* Start moving MdConsensus-specific code to a submodule.Nick Mathewson2021-03-302-172/+189
| | | | This is part of refactoring to handle NsConsensuses.
* Resolve rustdoc warnings.Nick Mathewson2021-03-294-7/+10
|
* Resolve two clippy warnings in blind_pubkey.Nick Mathewson2021-03-291-2/+2
|
* Merge remote-tracking branch 'origin/mr/23'Nick Mathewson2021-03-292-0/+108
|\
| * v3: Add two new test vectors that test key blinding clamping.George Kadianakis2021-03-301-0/+6
| |
| * v3: Improve error handling on key blinding.George Kadianakis2021-03-302-6/+23
| |
| * Implement basic ed25519 key blinding for v3 onion services.George Kadianakis2021-03-292-0/+85
| |
* | Fix a bunch more new clippy lints in Rust 1.51Nick Mathewson2021-03-2910-29/+29
| | | | | | | | | | | | | | | | The major types are: * You implemented Into when you should have implemented From. * You sliced a slice when you didn't have to. * You said Ok(x?) when you could have said x. * You said Vec::new(); push(); push(); when you could have said vec![].
* | Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-2938-360/+366
| | | | | | | | This is painful, but we shouldn't have to do it again.
* | Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-2924-162/+162
| |
* | tor-config: fix a new clipppy warning.Nick Mathewson2021-03-291-1/+1
| |
* | DirMgr: cooperative multiprocess support.Nick Mathewson2021-03-294-60/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A directory manager can now launch or run in read-only or read-write mode, depending on whether it manages to acquire a lock on the filesystem. In read-write mode, it bootstraps and stores data into the database as usual. In read-only mode, it assumes that another process will be updating the database, and so it only loads it periodically, looking for new information. However, it also tries to acquire the lock itself, so it can enter read-write mode.
* | Create a DirMgr::load_or_bootstrap_from_config.Nick Mathewson2021-03-291-0/+16
| |
* | Add support for a lockfile to control concurrent access to a dirmgr.Nick Mathewson2021-03-293-11/+93
| |
* | Add an intern.rs module that I forgot.Nick Mathewson2021-03-291-0/+54
| |
* | 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
|