summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Provide way to get TorConfigBuilder from ArtiConfigBuilderIan Jackson2022-03-071-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | This is needed according to #372, where we observe that builders ought not to be generated from validated structs. So we need this conversion.
| * | | 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-079-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-074-0/+35
| | | | | | | | | | | | | | | | | | | | This will be used to allow our config *builder* structs to be Deserialize.
* | | | Merge branch 'arti-testing-part2' into 'main'Nick Mathewson2022-03-106-10/+417
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | 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-075-7/+99
| | | | | | | | | | | | | | | | | | | | | | | | 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 'update-contrib-dependencies' into 'main'Nick Mathewson2022-03-081-1/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Note the dependency on PCRE support in Git implied by the use of grep -P in the git hooks See merge request tpo/core/arti!393
| * | | | Note the dependency on PCRE support in Git implied by the use of grep -P in ↵Steven Murdoch2022-03-081-1/+4
|/ / / / | | | | | | | | | | | | the git hooks
* | | | Merge branch 'contributing-dependencies' into 'main'Ian Jackson2022-03-071-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Add missing dependencies to CONTRIBUTING.md See merge request tpo/core/arti!389
| * | | | Add more explaining textLennart Kloock2022-03-051-2/+4
| | | | |
| * | | | Add link to shellcheck installation guideLennart Kloock2022-03-051-1/+1
| | | | |
| * | | | 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