summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Derive Deserialize for handwritten ArtiConfigBuilderIan Jackson2022-03-071-1/+16
| | | |
| * | | Derive Deserialize for derive-builder-generated config buildersIan Jackson2022-03-076-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I used git-grep -P '\#\[serde\((?!default|deny_unknown)' to find places where I needed to add additional attributes on the builder method fields. This is currently a bit duplicative, but when #371 is completely done, the validated (non-builder) configs won't need to be Deserialize any more. This is part of #371 and #372.
| * | | Use git source for derive_builder for now, for attrs featureIan Jackson2022-03-077-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to want to specify custom attributes on fields of the builder struct. This feature was missing from derive_builder. This commitid is the current head of my MR branch https://github.com/colin-kiegel/rust-derive-builder/pull/237 https://github.com/ijackson/rust-derive-builder/tree/builder-field-attrs Using the commitid prevents surprises if that branch is updated. We will require this newer version of derive_builder. The version will need to be bumped again later, assuming the upstream MR is merged and upstream do a release containing the needed changes.
| * | | humantime_serde_option: New module in tor-basic-utilsIan Jackson2022-03-073-0/+33
| | | | | | | | | | | | | | | | | | | | This will be used to allow our config *builder* structs to be Deserialize.
* | | | Merge branch 'arti-testing-part2' into 'main'Nick Mathewson2022-03-105-10/+416
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | arti-testing: support for simulated TCP breakage See merge request tpo/core/arti!392
| * | | arti-testing: Make Action implement CopyNick Mathewson2022-03-101-2/+2
| | | |
| * | | arti-testing: reverse two more attrs in attempt to fix min-versionsNick Mathewson2022-03-071-1/+1
| | | |
| * | | arti-testing: reverse two attrs in attempt to fix min-versionsNick Mathewson2022-03-071-1/+1
| | | |
| * | | arti-testing: todo comment cleanupNick Mathewson2022-03-071-8/+1
| | | |
| * | | arti-testing: support for conditional TCP failure.Nick Mathewson2022-03-073-9/+89
| | | |
| * | | arti-testing: add support for black-holing TCP connections.Nick Mathewson2022-03-073-7/+112
| | | |
| * | | arti-testing: CLI for making TCP connections break.Nick Mathewson2022-03-073-9/+146
| | | |
| * | | arti-testing: Initial support for broken TCP.Nick Mathewson2022-03-074-7/+98
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for a BrokenTcp provider that can make connection attempts fail or time out. It doesn't yet have a way to turn on the failure.
* | | | Merge branch 'ticket_391' into 'main'eta2022-03-091-9/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti-bench: don't allocate a separate receive-buffer for each job Closes #391 See merge request tpo/core/arti!395
| * | | | arti-bench: don't allocate a separate receive-buffer for each jobNick Mathewson2022-03-081-9/+26
| |/ / / | | | | | | | | | | | | | | | | | | | | This makes heap profiling more viable. Closes #391.
* | | | Merge branch 'ticket_383' into 'main'Ian Jackson2022-03-091-5/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-chanmgr: Do not allocate an Internal error unless we mean it. Closes #383 See merge request tpo/core/arti!394
| * | | | tor-chanmgr: Do not allocate an Internal error unless we mean it.Nick Mathewson2022-03-081-5/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we'd allocate an error as a place-holder here, but it's not a great idea to do that with a `Bug`: each `Bug` stores a whole stack trace, which uses a whole pile of allocations to construct. Now we keep an `Option<Error>` instead. Found while heap profiling. Closes #383.
* | | | 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 '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.
* | | Add config paths table in `arti` docsLennart Kloock2022-03-042-5/+16
| | |
* | | Merge branch 'reproducible-build-fix-summary-git' into 'main'Nick Mathewson2022-03-041-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-041-1/+1
| | | | | | | | | | | | | | | | | | | | 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-0428-161/+209
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | 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-0417-48/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-043-0/+56
| | | | | | | | | | | | | | | | | | | | 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-022-9/+7
| | | | |
| * | | | Replace manual Clone impl with educe in arti-hyperIan Jackson2022-03-022-7/+4
| | | | |
| * | | | Replace manual Clone impl with educe in tor-rtcompatIan Jackson2022-03-022-10/+4
| | | | |
| * | | | Replace manual Debug impls with educe in tor-protoIan Jackson2022-03-022-32/+24
| | | | | | | | | | | | | | | | | | | | We now print slighly more information.