summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Add required dependencies to compile `arti` and run git hooks to CONTRIBUTING.mdLennart Kloock2022-03-051-0/+4
| | | | | |
* | | | | | Merge branch 'fix-expand-tilde-on-windows' into 'main'Ian Jackson2022-03-071-2/+24
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix expand tilde and invalid path chars on windows See merge request tpo/core/arti!274
| * | | | | | Test shell variable expansion on windowsMichael2022-03-051-2/+24
| | |_|/ / / | |/| | | |
* | | | | | Merge branch 'add-windows-instructions' into 'main'Ian Jackson2022-03-071-2/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add instructions for hooking up Tor Browser to arti on Windows See merge request tpo/core/arti!388
| * | | | | | Add instructions for hooking up Tor Browser to arti on WindowsSteven Murdoch2022-03-041-2/+12
| |/ / / / /
* | | | | | Merge branch 'moderately-enthused-eyeballs' into 'main'eta2022-03-072-21/+84
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | Implement a basic form of RFC 8305 ("happy eyeballs") for channels See merge request tpo/core/arti!382
| * | | | | Implement a basic form of RFC 8305 ("happy eyeballs") for channelseta2022-03-072-21/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes Arti usable in IPv6-only environments (arti#92) by letting us attempt multiple connections to a given relay using all of its addresses instead of just using the first (probably IPv4) one, using the strategy from RFC 8305 ยง 5. This isn't a complete implementation of Happy Eyeballs; ideally, we'd sort the address list before doing concurrent connections. However, it works (and has been tested inside an IPv6-only container inside eta's network :p)
* | | | | | Merge branch 'bench_multicirc' into 'main'Nick Mathewson2022-03-071-52/+129
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti-bench: support multiple streams per circuit, multiple circuits per sample. Closes #380 See merge request tpo/core/arti!384
| * | | | | arti-bench: documentation fixesNick Mathewson2022-03-071-5/+6
| | | | | |
| * | | | | arti-bench: record streams_per_circ and circs_per_sample.Nick Mathewson2022-03-071-5/+14
| | | | | |
| * | | | | Fix an unwrap() error.Nick Mathewson2022-03-041-1/+1
| | | | | |
| * | | | | arti-bench: use isolation to support multiple circuits per run.Nick Mathewson2022-03-041-14/+104
| | | | | |
| * | | | | arti-bench: simplify future-creation code slightlyNick Mathewson2022-03-041-8/+3
| | | | | |
| * | | | | arti-bench: refactor stream construction to connect in parallelNick Mathewson2022-03-041-33/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we tried to do each connection in a run, and only then did we start transferring data over them. Now we collect a bunch of the futures that return an open stream, and run them all in parallel with using them. This change includes connect-time in our benchmarks, and allows us to test contention in our connect code. Instead of using a Stream, I've changed the connection-generation code to call a future-returning function directly, so we have a way to explicitly pass which run we're in.
* | | | | | Merge branch 'todos' into 'main'Nick Mathewson2022-03-042-5/+16
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | Add config paths table in arti docs See merge request tpo/core/arti!386
| * | | | | Add config paths table in `arti` docsLennart Kloock2022-03-042-5/+16
|/ / / / /
* | | | | Omit arti-testing from coverage.Nick Mathewson2022-03-041-0/+1
| | | | |
* | | | | Merge branch 'reproducible-build-fix-summary-git' into 'main'Nick Mathewson2022-03-042-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix reproducible build summary giving invalid branch and commit id Closes #378 See merge request tpo/core/arti!383
| * | | | | fix reproducible build summary giving invalid branch and commit idtrinity-1686a2022-03-042-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #378 also fix unrelated error in nightly rustdoc CI
* | | | | | Merge branch 'errors-for-dirprovider' into 'main'Nick Mathewson2022-03-042-0/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Errors for dirprovider Closes #370 See merge request tpo/core/arti!385
| * | | | | | Provide ErrorKind::OtherIan Jackson2022-03-041-0/+10
| | | | | | |
| * | | | | | Provide an error variant for external directory providersIan Jackson2022-03-041-0/+12
| | | | | | |
* | | | | | | Merge branch 'educe-traits' into 'main'Ian Jackson2022-03-0430-161/+258
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Replace many manual trait impls with use of educe See merge request tpo/core/arti!375
| * | | | | | tor-basic-utils: copy the README into lib.rsIan Jackson2022-03-041-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The doc include rune does not work with our MSRV; it needs 1.54. The alternative would be some kind of cfg() but that would - not provide the crate-level doc on Rust 1.53 - involve the use of cfg_attr Instead, just do it the old way.
| * | | | | | Remove now-obsolete note about location of skip_fmtIan Jackson2022-03-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the diff from the merge base does not contain any hits for ^\+.*bytes
| * | | | | | Move skip_fmt into tor-basic-utilsIan Jackson2022-03-0418-54/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code motion and the minimal mechanical changes. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/375#note_2783078
| * | | | | | Introduce tor-basic-utilsIan Jackson2022-03-045-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Empty crate right now
| * | | | | | Move educe to dev-dependencies of tor-bytesIan Jackson2022-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/375#note_2783080 This is going to move to a new crate, but doing this now makes things slightly clearer for me.
| * | | | | | Replace manual Default impls with educe in tor-guardmgrIan Jackson2022-03-023-21/+13
| | | | | | |
| * | | | | | Replace manual Default impl with educe in tor-dirmgrIan Jackson2022-03-021-10/+5
| | | | | | |
| * | | | | | Replace manual Default impl with educe+std in tor-dirmgrIan Jackson2022-03-021-8/+4
| | | | | | |
| * | | | | | Replace manual Default impl with educe in tor-cellIan Jackson2022-03-021-6/+4
| | | | | | |
| * | | | | | Replace manual Default impls on enums with educe in arti-clientIan Jackson2022-03-021-14/+7
| | | | | | |
| * | | | | | Refrain from replacing manual with educe Debug impl in caretIan Jackson2022-03-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, leave a comment saying we have left it this way deliberately.
| * | | | | | Replace manual Debug impl with educe in arti-clientIan Jackson2022-03-023-9/+9
| | | | | | |
| * | | | | | Replace manual Clone impl with educe in arti-hyperIan Jackson2022-03-023-7/+5
| | | | | | |
| * | | | | | Replace manual Clone impl with educe in tor-rtcompatIan Jackson2022-03-023-10/+5
| | | | | | |
| * | | | | | Replace manual Debug impls with educe in tor-protoIan Jackson2022-03-023-32/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We now print slighly more information.
| * | | | | | Replace manual Debug impl with educe in tor-dirmgrIan Jackson2022-03-023-8/+9
| | | | | | |
| * | | | | | Replace manual Debug impl with educe in tor-chanmgrIan Jackson2022-03-023-7/+9
| | | | | | |
| * | | | | | Replace manual Debug impl with educe in tor-cellIan Jackson2022-03-023-7/+7
| | | | | | |
| * | | | | | Replace manual Debug impl with educe in tor-guardmgrIan Jackson2022-03-023-11/+11
| | | | | | |
| * | | | | | Replace manual Debug impl with educe in tor-circmgrIan Jackson2022-03-023-12/+9
| | | | | | |
| * | | | | | Import educe into tor-bytes and provide skip_fmtIan Jackson2022-03-023-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Preparatory work for getting rid of some manual Debug impls
* | | | | | | Merge branch 'hex_decode' into 'main'Ian Jackson2022-03-048-27/+38
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Speed up RsaIdentity decoding Closes #377 See merge request tpo/core/arti!381
| * | | | | | Use RsaIdentity::from_hex() and hex::decode_to_slice in more placesNick Mathewson2022-03-044-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These aren't critical-path, but they do make the code a little nicer.
| * | | | | | tor-netdoc: Use RsaIdentity::from_hex() in critical path.Nick Mathewson2022-03-041-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the main parsing code for RsaIdentity in tor-netdoc, and . Previously, parse_hex_ident was something like 10% of our startup CPU time; now it's only like ~2%. (Still not perfect, but way better.) Closes #377.
| * | | | | | Add a from_hex method for RsaIdentity.Nick Mathewson2022-03-043-5/+29
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We perform this operation in a bunch of places, and most of them use hex::decode(). That's not great, since hex::decode() has to do heap allocation. This implementation uses hex::decode_to_slice(), which should be faster. (In the future we might choose to use one of the faster hex implementations, but I'm hoping that this change will be sufficient to get hex decoding out of our profiles.) Part of #377.
* | | | | | Merge branch 'arti-testing-part1' into 'main'eta2022-03-048-0/+717
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | arti-testing: Initial implementation See merge request tpo/core/arti!378
| * | | | | Allow println in arti-testing.Nick Mathewson2022-03-031-0/+2
| | | | | |