summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | tor-hsservice: Implement enable_pow option.Wesley Aptekar-Cassels2025-08-136-61/+139
| | | | | | | | | | | | | | | | | | | | | | | | This does not currently allow this option to be changed at runtime, although the code is structured so that allowing it to be changed at runtime won't be too hard. This is tracked by #2082.
| * | | tor-hsservice: Reenable publisher test in hs-pow-full.Wesley Aptekar-Cassels2025-08-132-12/+3
| | | | | | | | | | | | | | | | MockExecutor now supports the features needed for this test to work.
| * | | tor-hsservice: Add PowManager to OnionServiceStatus.Wesley Aptekar-Cassels2025-08-137-35/+130
| | | |
| * | | tor-hsservice: Change ReplayLog error type.Wesley Aptekar-Cassels2025-08-135-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This disentangles the ReplyLog from the IptManager. This will allow us to make the InternalPowError type more public (in order to use it in the OnionServiceStatus code) without also having to make the CreateIptError type more public.
* | | | tor-netdoc: Rerun cargo fmt after rebaseIan Jackson2025-08-142-3/+3
| | | |
* | | | tor-netdoc: parse2: Fix typo in "Naming conventions" docIan Jackson2025-08-141-1/+1
| | | |
* | | | tgr-netdoc: Tests of parse2Ian Jackson2025-08-142-0/+93
| | | | | | | | | | | | | | | | We parse and verify some network documents from testdata2.
* | | | tor-netdoc: Proof-of-concept demo of new parserIan Jackson2025-08-146-0/+861
| | | | | | | | | | | | | | | | This can parse and validate the signatures on a consensus.
* | | | tor-netdoc: Introduce parse2, new parserIan Jackson2025-08-1414-0/+2304
| | | | | | | | | | | | | | | | | | | | This isn't used anywhere yet. We're going to demonstrate it, and test the demo, in a moment.
* | | | tor-netdoc: Add dependencies: derive-deftly, paste, strum, testresultIan Jackson2025-08-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | testresult is a new dependency for arti.git. (It's being added as a test-dependenchy here.) It is has a very useful Result type for use in test cases.
* | | | tor-netdoc: Always expose NicknameIan Jackson2025-08-142-7/+1
| | | | | | | | | | | | | | | | | | | | This is a fine API. The representation may change, but that wouldn't be breaking.
* | | | tor-netdoc: Improve and expose Fingerprint parsing adaptersIan Jackson2025-08-142-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We won't want them ever to be anything other than a wrapper around `RsaIdentity`, so we can make them transparent. Derive various useful traits, including Deref. Expose them publicly, since there's no reason not to do so. (The new parser will want to reuse them. It's in-crate, but out-of-crate users may want to use these too for other netdoc types.)
* | | | tor-netdoc: Expose base64_decode_multiline to crateIan Jackson2025-08-141-1/+1
| | | | | | | | | | | | | | | | The new parser is going to reuse this.
* | | | tor-netdoc: sort the experimental cargo featuresIan Jackson2025-08-141-2/+2
| | | |
* | | | netdoc test data: Switch two tests to new consensus dataIan Jackson2025-08-143-243/+3
| | | |
* | | | netdoc test data: refresh (for first time) by running scriptIan Jackson2025-08-1435-0/+3393
| | | |
* | | | netdoc test data: Provide script for downloading from CIIan Jackson2025-08-142-0/+89
|/ / / | | | | | | | | | Plan to gradually move over to this semiautomatically-maintained data.
* | | proto: Consolidate all send_unbounded() calls in send_msg().Gabriela Moldovan2025-08-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces a `send_unbounded()` call with `send_msg()`. Now `send_msg()` is the only place where we call `send_unbounded()` in the tunnel reactor, which makes it a bit easier to see which callsites have the potential to cause buffering in the channel sink. Prompted by #2112
* | | Merge branch 'mock-time-core-tidy' into 'main'Ian Jackson2025-08-131-6/+7
|\ \ \ | | | | | | | | | | | | | | | | tor-rtmock: Slightly clean up CrateGetters macro See merge request tpo/core/arti!3150
| * | | tor-rtmock: MockTimeCore: fix docsIan Jackson2025-08-121-2/+2
| | | |
| * | | tor-rtmock: Slightly clean up CrateGetters macroIan Jackson2025-08-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I want to use this as an example in a talk. Add a blank line that makes it more readable, and generate only one impl block with many methods.
* | | | tor-cell: fix comment in `ChannelCodec::encode`Steven Engler2025-08-121-1/+3
| |_|/ |/| | | | | | | | | | | | | | This comment isn't correct if the encode() was given a non-empty buffer (for example if two cells were written to the same buffer, the second encode() would be given a non-empty buffer, so `pos != 5`).
* | | Merge branch 'fix-keys-list' into 'main'wesleyac2025-08-121-0/+1
|\ \ \ | | | | | | | | | | | | | | | | arti: keys: Fix `display_keystore_entries` output See merge request tpo/core/arti!3143
| * | | arti: keys: Fix `display_keystore_entries` outputhjrgrn2025-08-091-0/+1
| | | |
* | | | Merge branch 'arti-crate-readme-typos' into 'main'wesleyac2025-08-121-9/+9
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | arti-crate-readme-typos: Typos See merge request tpo/core/arti!3115
| * | | arti-crate-readme-typos: Typosnield2025-08-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | - "command-line" should be written with hyphen when adjective. - Rephrased some sentences. - OS X is now called MacOS.
* | | | Merge branch 'channel_doesnt_count_towards_timing' into 'main'wesleyac2025-08-113-71/+102
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | circmgr: Don't count channel negotiation towards circuit built time. See merge request tpo/core/arti!3141
| * | | circmgr: Move the body of get_channel_to_guard into its only caller.Nick Mathewson2025-08-071-33/+23
| | | |
| * | | circmgr: Don't count channel negotiation towards circuit built time.Nick Mathewson2025-08-073-53/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is important, since some circuits require us to negotiate a new channel, and some don't: by adding this variability, we can easily learn a timeout based on pre-existing channels to our guards, but then later time out if it takes a while to open a TLS connection. This is a possible solution to part of #2079, a bug where we "learn" a circuit timeout that is too low for us to satisfy.
| * | | cirmgr: extract code that opens a channel.Nick Mathewson2025-08-071-14/+26
| | |/ | |/|
* / | arti-client example: Write rather than hide an elided lifetimeIan Jackson2025-08-111-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes this warning. Not sure why it's not showing up in CI. --> crates/arti-client/examples/one_hop_circuit.rs:16:35 | 16 | fn find_one_hop_dir_cache(netdir: &NetDir) -> Option<Relay> { | ^^^^^^^ ----- the same lifetime is hidden here | | | the lifetime is elided here | = help: the same lifetime is referred to in inconsistent ways, making the signature confusing = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default help: use `'_` for type paths | 16 | fn find_one_hop_dir_cache(netdir: &NetDir) -> Option<Relay<'_>> { | ++++
* | tor-proto: use error report in tunnel/channel reactorSteven Engler2025-08-073-18/+31
| |
* | Merge branch 'fix-cargo-fmt' into 'main'gabi-2502025-08-071-1/+1
|\ \ | | | | | | | | | | | | tor-proto: Fix failing cargo fmt See merge request tpo/core/arti!3140
| * | tor-proto: fix failing cargo fmtSteven Engler2025-08-071-1/+1
| | |
* | | Merge branch 'note_result_flatten_msrv' into 'main'David Goulet2025-08-071-2/+3
|\ \ \ | |/ / |/| | | | | | | | Fix a comment about Result::flatten See merge request tpo/core/arti!3138
| * | Fix a comment about Result::flattenNick Mathewson2025-08-071-2/+3
| | | | | | | | | | | | Previously this API was nightly-only; now it's in 1.89.
* | | Merge branch 'enable-cgo' into 'main'Nick Mathewson2025-08-077-53/+43
|\ \ \ | | | | | | | | | | | | | | | | Enable counter-galois onion negotiation and make it work. See merge request tpo/core/arti!3133
| * | | proto: In CircuitExtender, derive relay crypt protocol from settings.Nick Mathewson2025-08-072-40/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes a CGO bug: when extending circuits with ntorv3, we were never actually using CGO encryption for the newly constructed layer. This change also simplifies the code a bit, by un-parameterizing CircuitExtender a bit.
| * | | Propagate cgo feature up to arti crate.Nick Mathewson2025-08-072-0/+8
| | | |
| * | | proto: List CGO-related features in supported_client_protocolsNick Mathewson2025-08-061-3/+9
| | | |
| * | | proto: Make CGO feature require CCNick Mathewson2025-08-061-1/+1
| | | | | | | | | | | | | | | | (We can't negotiate the one without the other.)
| * | | proto: remove code that had disabled CGO.Nick Mathewson2025-08-061-9/+0
| | | | | | | | | | | | | | | | Now that we can negotiate CC, we can negotiate CGO.
* | | | Merge branch 'update_to_edition_2024_v2' into 'main'Nick Mathewson2025-08-07432-1546/+1868
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | Update code for Edition 2024 (second attempt) Closes #2101 See merge request tpo/core/arti!3137
| * | | Resolve a rustdoc warningNick Mathewson2025-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | `Future` is now in the prelude, so we don't have to give it an explicit path.
| * | | Revert confusing change to use of StreamExt::into_futureNick Mathewson2025-08-071-2/+5
| | | | | | | | | | | | | | | | | | | | We're not sure why `cargo fix` did this, but it doesn't seem necessary.
| * | | Rename variables named "gen"Nick Mathewson2025-08-072-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | This is now a reserved identifier. The automatic migration changed it to a raw identifier (`r#gen`), but it's better to use a different name.
| * | | Fix warnings and errors from edition 2024.Nick Mathewson2025-08-0714-82/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two main causes of errors were: - Since some of the lifetime rules have changed, we no longer need to do as many "bind a variable and immediately return it" patterns, and so clippy now warns about them. - We needed to adjust the explicit captures (`use<...>`) in a couple of our RPIT instances.
| * | | Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-07425-1404/+1713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
| * | | Update code for Edition 2024Nick Mathewson2025-08-0733-64/+86
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Run cargo fix --edition 2. Selectively revert the "if let"->"match" changes. These changes are meant to protect us from the lifetime changes for "if let" bindings in Rust 2024. But we're not actually relying on the old lifetime rules anywhere, and the match syntax here is quite ugly. 3. Automatically revert `$pat:expr_2021` to `$pat:expr`. (We don't actually want to restrict the expression syntax that our macros accept). Done with `git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'` 4. Run cargo fmt.
* | | Merge branch 'fix-quote' into 'main'David Goulet2025-08-071-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-protover: Small comment formatting fix See merge request tpo/core/arti!3136