summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'arti-lib' into 'main'Ian Jackson2022-03-118-268/+329
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: Move all code from binary crate to library crate See merge request tpo/core/arti!403
| * | | | | arti library crate: Add another note about panickingIan Jackson2022-03-111-0/+4
| | | | | |
| * | | | | arti library crate: re-add clippy lintsIan Jackson2022-03-111-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I ought to have c&p these. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/403#note_2786099
| * | | | | arti library crate: Add note about panickingIan Jackson2022-03-111-0/+4
| | | | | |
| * | | | | Add note about semver.Ian Jackson2022-03-111-0/+4
| | | | | |
| * | | | | arti: Make main module entrypoints pubIan Jackson2022-03-116-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does not constitute any kind of stable API promise. But it might allow people to use our arti client code in novel ways.
| * | | | | arti: Provide some rubric docs.Ian Jackson2022-03-111-0/+8
| | | | | |
| * | | | | arti: Move all code from binary crate to library crateIan Jackson2022-03-112-261/+269
| | | | | | | | | | | | | | | | | | | | | | | | This is just code motion and the minimal fixups.
* | | | | | Merge branch 'smaller_routerstatus' into 'main'Nick Mathewson2022-03-117-32/+93
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Save allocation space in GenericRouterstatus Closes #387 See merge request tpo/core/arti!400
| * | | | | Add a more generic implementation of intern-by-refNick Mathewson2022-03-112-4/+12
| | | | | |
| * | | | | Add a missing newline.Nick Mathewson2022-03-111-1/+1
| | | | | |
| * | | | | netdoc: Call shrink_to_fit() when we're done parsing rs sectionsNick Mathewson2022-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Once we're done parsing these, the vector will never get any longer.)
| * | | | | netdoc: allocate no extra space for RouterStatus addresses.Nick Mathewson2022-03-111-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | This should save around 181K of heap on a current directory.
| * | | | | netdoc: Make versions smaller in GenericRouterStatusNick Mathewson2022-03-115-11/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the version is a Tor version, we can just parse it; otherwise, we can intern it. This shrinks GenericRouterStatus and avoids a lot of extra help allocations.
| * | | | | tor-netdoc: reformat cargo.toml.Nick Mathewson2022-03-111-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the default vscode format, and seems popular elsewhere. This commit does nothing but reformat.
| * | | | | tor-netdoc: Remove unused or_port field from RS.Nick Mathewson2022-03-112-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | Part of #387
* | | | | | Merge branch 'config-flatten' into 'main'Ian Jackson2022-03-113-136/+40
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | Make ArtiConfigBuilder contain a TorClientConfigBuilder See merge request tpo/core/arti!401
| * | | | | config work: Add semver note.Ian Jackson2022-03-111-0/+5
| | | | | |
| * | | | | rustfmtIan Jackson2022-03-112-12/+16
| | | | | |
| * | | | | Make ArtiConfigBuilder contain a TorClientConfigBuilderIan Jackson2022-03-111-135/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an API break: now one must use `.tor()` to access the Tor configuration parts. But it is not a config file format break, because `#[serde(flatten)]`.
| * | | | | Make TorClientConfigBuilder DeserializeIan Jackson2022-03-111-0/+11
| |/ / / / | | | | | | | | | | | | | | | As per #371
* | | | | Merge branch 'mr318_followup' into 'main'Nick Mathewson2022-03-113-2/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Follow-up from arti!318 See merge request tpo/core/arti!402
| * | | | | Follow-up from arti!318Nick Mathewson2022-03-113-2/+20
|/ / / / / | | | | | | | | | | | | | | | Make update_config only conditionally exported; add semver-status update.
* | | | | Merge branch 'add-flatfile-dirmgr' into 'main'Nick Mathewson2022-03-116-12/+54
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Add flatfile DirMgr See merge request tpo/core/arti!318
| * | | | Expose APIs for external DirProviderChristian Grigis2022-03-114-12/+23
| | | | |
| * | | | Add methods to `UnverifiedConsensus`Christian Grigis2022-03-102-0/+31
| | | | |
* | | | | Merge branch 'chutney-without-proxy' into 'main'Nick Mathewson2022-03-114-33/+58
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tests/chutney: Merge chutney-launching scripts See merge request tpo/core/arti!396
| * | | | | tests/chutney/setup: Transfer changes from just-deleted codeIan Jackson2022-03-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the clone-and-hack in tests/chutney/arti-bench was not identical to the original in tests/chutney/setup. I diffed the two and preferred the version from arti-bench.
| * | | | | tests/chutney: Merge chutney-launching scriptsNick Mathewson2022-03-104-30/+55
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, the "launch a chutney network" code was duplicated in "setup" and "arti-bench", since "setup" always launched an arti proxy, while "arti-bench" didn't want that functionality. Now the "setup" script launches an arti proxy conditionally, depending on whether the "proxy" argument is given.
* | | | | Merge branch 'config-no-retcon' into 'main'Ian Jackson2022-03-1019-286/+120
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Drop config back-conversion from FooConfig to FooConfigBuilder See merge request tpo/core/arti!391
| * | | | Drop remaining conversion from FooConfig to FooConfigBuilderIan Jackson2022-03-075-152/+1
| | | | |
| * | | | Have ArtiConfig contain a TorClientConfig, and drop builder retconIan Jackson2022-03-073-140/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the recapitulation of TorClientConfig fields in ArtiConfig and instead just have it contain one. This is part of #374. The conversions from ArtiConfig back to ArtiConfigBuilder and TorClientConfigBuilder would need to change, but, since we don't want them anyway, No longer impl Deserialize for ArtiConfig. (As per #371 this will want to become a private type.) No longer impl From<ArtiConfig> for ArtiConfigBuilder and TorClientConfigBuilder. And abolish tests of that code. (This all has to be in one commit, because previously ArtiConfig::tor_client_config used the validated-to-builder config retcon.)
| * | | | 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.