summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | cell: Refine StreamIdReq for V1 relay cells, with minimal changesNick Mathewson2025-04-161-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortunately, the type is crate-internal, so this is not a breaking change. The key insight with this change is that, from the _caller's_ POV, the set of cells that are allowed to have StreamIDs has not changed. The only difference is that the V1 relay cell code needs to distinguish unrecognized commands from the SENDME case.
| * | | cell: Create an unimplemented RelayCellFormat::V1Nick Mathewson2025-04-161-10/+30
| | | |
| * | | proto: Use selected format when encoding messagesNick Mathewson2025-04-161-6/+11
| | | |
| * | | Add a RelayCellFormat argument to encode().Nick Mathewson2025-04-168-19/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will let us actually _send_ messages in the right format. This approach is not ideal for packed/fragmented messages; they will need a separate RelayCellEncoder. part of #1944.
| * | | Note some places where we need updates for #1944.Nick Mathewson2025-04-167-2/+32
|/ / / | | | | | | | | | (Also note a couple of other CGO-related issues)
* | | Merge branch 'ticket1950' into 'main'Nick Mathewson2025-04-161-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | proto: Avoid panic on non-existent hop number Closes #1950 See merge request tpo/core/arti!2938
| * | | proto: Avoid panic on non-existent hop numberNick Mathewson2025-04-111-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `send_relay_cell()` in `tunnel/reactor/circuit.rs`, replace an unconditional array access (which would cause a panic if `hop_num` were out-of-range) with a checked `get_mut()` call. It's not totally clear whether this can happen in practice, but in either case, an error is probably better than a panic. All of our other lookups in this vector are either checked, or more obviously infallible. Closes #1950.
* | | Merge branch 'todo-errordetail' into 'main'David Goulet2025-04-142-2/+8
|\ \ \ | | | | | | | | | | | | | | | | arti-client: Add ErrorDetail::OnionServiceSetup See merge request tpo/core/arti!2923
| * | | arti-client: Add ErrorDetail::OnionServiceSetuphjrgrn2025-04-142-2/+8
| | | |
* | | | Merge branch 'fork' into 'main'David Goulet2025-04-144-0/+73
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forbid fork, except very carefully before exec Closes #1897 See merge request tpo/core/arti!2925
| * | | | arti-client: xref to fork policyIan Jackson2025-04-072-0/+17
| | | | |
| * | | | tor-rtcompat: xref to fork policy from PreferredRuntimeIan Jackson2025-04-071-0/+11
| | | | |
| * | | | tor-rtcompat: Add div anchor for policyIan Jackson2025-04-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to want to make many xrefs to this. This trick with the <div> has worked well for us in derive-deftly.
| * | | | tor-rtcompat: Write policy on fork without execIan Jackson2025-04-071-0/+41
| | | | |
* | | | | Merge branch 'rtmock-unsend' into 'main'David Goulet2025-04-147-105/+174
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relax bounds on BlockOn::reenter_block_on Closes #1933 See merge request tpo/core/arti!2934
| * | | | | tor-rtcompat: task tests: Allow a clippy lintIan Jackson2025-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't seem to happen with my local compiler. Anyway, suppress it. I don't think we want to split up this function.
| * | | | | tor-rtcompat: task: Break out subthread_yieldIan Jackson2025-04-101-30/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets rid of a clippy complaint about subthread_block_on_future being too complicated.
| * | | | | tor-rtcompat: task tests: Allow a clippy lintIan Jackson2025-04-101-0/+1
| | | | | |
| * | | | | tor-rtcompat: BlockOn: relax bounds on reenter_block_onIan Jackson2025-04-096-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | The future no longer needs to be `Send + 'static`.
| * | | | | tor-rtmock: task: subthread_block_on_future; Yield a bit moreIan Jackson2025-04-091-2/+18
| | | | | |
| * | | | | tor-rtmock: task tests: New subhtread_pingpong testIan Jackson2025-04-091-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test demonstrates that the intended use pattern compiles and works. It couldn't exist until now because we couldn't conveniently make a `Send + 'static` future out of `rx.next()`.
| * | | | | tor-rtmock: task: Redo subthread_block_on_future; poll on the subthread (fmt)Ian Jackson2025-04-091-14/+3
| | | | | |
| * | | | | tor-rtmock: task: Redo subthread_block_on_future; poll on the subthreadIan Jackson2025-04-092-68/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we put the future into the data structure, had the exeuctor poll it there, and only woke up the subthread when the future was ready. Now, instead, we put a new TaskFutureInfo variant into the data structure, and the executor context switches to the subthread every time. Then we poll the future on the subthread. Moving the future into the data structure meant we had to do use a proxy future to store the return value. Now that's not needed any more. Now the future doesn't need to be Send + 'static. Fixes #1933.
| * | | | | tor-rtmock: task: Minor refactoringIan Jackson2025-04-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate the data_ variable and instead use a block scope. This seems a bit nicer, and will align slightly better with forthcoming changes.
| * | | | | tor-rtmock: task: import Left and RightIan Jackson2025-04-091-3/+3
| | | | | |
| * | | | | tor-rtmock: task: impl Debug for TaskFutureInfoIan Jackson2025-04-091-1/+3
| | | | | |
| * | | | | tor-rtmock: task: Break out Waker::make_wakerIan Jackson2025-04-091-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | We're going to introduce a new call site for this.
| * | | | | tor-rtmock: Improve a commentIan Jackson2025-04-091-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Be clearer that `fut` is only `None` during the main loop.
| * | | | | tor-rtmock: Fix a commentIan Jackson2025-04-091-1/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | SubthreadFuture was a type in some early version of this branch, that it's not in-tree now. subthread_spawn returns impl Future and the concrete type is a channel receiver.
* | | | | Merge branch 'fix-hsc-quiet-flag' into 'main'Ian Jackson2025-04-144-81/+33
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | Remove hsc quiet and force flags in favor of batch See merge request tpo/core/arti!2903
| * | | | Remove hsc quiet and force flags in favor of batchhjrgrn2025-04-144-81/+33
|/ / / /
* | | | Merge branch 'ci-workaround-2922' into 'main'Ian Jackson2025-04-101-7/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | dev doc: Replace outdated references to `KeystoreSweeper` in state-management-cli.md See merge request tpo/core/arti!2936
| * \ \ \ Merge branch 'main' into ci-workaround-2922Ian Jackson2025-04-1050-167/+2352
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge branch '1_86_warnings' into 'main'Nick Mathewson2025-04-093-6/+13
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Fix warnings with OSX and 1.86 See merge request tpo/core/arti!2933
| * | | | arti-ureq: Simplify use of map_or().Nick Mathewson2025-04-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Clippy is complaining that these can be simplified, so I took its recommendations.
| * | | | Allow StreamOps import to be unusedNick Mathewson2025-04-092-2/+9
|/ / / / | | | | | | | | | | | | | | | | This comes up on OSX; I hadn't seen it before, so I assume it is new with Rust 1.86.
* | | | Merge branch '1519-integration-or-example-with-ureq' into 'main'Ian Jackson2025-04-0914-3/+1585
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti-ureq: New library which integrates with ureq See merge request tpo/core/arti!2724
| * | | | arti-ureq: New library which integrates with ureqnield2025-04-0914-3/+1585
| | | | | | | | | | | | | | | | | | | | Fixes #1519
* | | | | Merge branch 'crossbeam' into 'main'gabi-2502025-04-091-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Update crossbeam-channel to 0.5.15 to fix TROVE-2025-013 See merge request tpo/core/arti!2931
| * | | | | Update crossbeam-channel to 0.5.15 to fix cargo auditIan Jackson2025-04-091-2/+2
| |/ / / / | | | | | | | | | | | | | | | 0.5.14 is yanked. I am trying to find out why...
* | | | | Merge branch 'conflux-cells-2' into 'main'gabi-2502025-04-091-7/+31
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-cell: Minor tweaks for conflux See merge request tpo/core/arti!2928
| * | | | tor-cell: Make conflux::V1Nonce opaque, add constructor.Gabriela Moldovan2025-04-081-7/+30
| | | | | | | | | | | | | | | | | | | | We will soon need to construct `V1Nonce`s.
| * | | | tor-cell: Copy ConfluxSwitch::seqno in getter.Gabriela Moldovan2025-04-081-0/+1
|/ / / / | | | | | | | | | | | | `u32` is `Copy`, so the getter doesn't need to return a ref.
* | | | Merge branch 'metrics-port' into 'main'Ian Jackson2025-04-0813-30/+466
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Initial metrics framework See merge request tpo/core/arti!2918
| * | | | metrics: Discuss schema stability (currently, "no")Ian Jackson2025-04-082-0/+9
| | | | |
| * | | | tor-hsrproxy: config: make ProxyActionDiscriminants privateIan Jackson2025-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | beta clippy pointed out that it shouldn't be exhaustive. but `#[strum_discriminants(non_exhaustive)]` is rejected.
| * | | | metrics: tor-hsrproxy: Use a bespoke type for counter outcomesIan Jackson2025-04-081-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185872
| * | | | metrics: arti: Make feature `experimental`, not `experimental-api`Ian Jackson2025-04-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185871
| * | | | metrics: arti: Use new Cargo.toml feature syntaxIan Jackson2025-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
| * | | | metrics: arti: Reduce features on metrics-exporter-prometheusIan Jackson2025-04-082-67/+3
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869