| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | | tor-chanmgr: Update NetParamsExtract docs. | Gabriela Moldovan | 2025-01-15 | 1 | -4/+1 | |
| | | | | | | | | | | | | | | | | This also removes the TODO that was addressed by adding the kist params to this type. | |||||
| | * | | tor-chanmgr: Move KIST and padding params to ChannelParams. | Gabriela Moldovan | 2025-01-15 | 1 | -11/+22 | |
| | | | | ||||||
| | * | | tor-proto: Remove dependency on tor-netdir. | Gabriela Moldovan | 2025-01-15 | 6 | -50/+51 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This moves the `NetParameters -> KistParams` conversion to `tor-chanmgr`. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2706#note_3147557 | |||||
| | * | | tor-chanmgr: Add a TODO about a possible renaming. | Gabriela Moldovan | 2025-01-15 | 1 | -0/+3 | |
| | | | | ||||||
| | * | | tor-proto: Replace constants with caret_int. | Gabriela Moldovan | 2025-01-15 | 3 | -3/+16 | |
| | | | | ||||||
| | * | | tor-rtcompat: Rename UnsupportedStreamOps to NoOpStreamOpsHandle (fmt). | Gabriela Moldovan | 2025-01-15 | 3 | -5/+5 | |
| | | | | ||||||
| | * | | tor-rtcompat: Rename UnsupportedStreamOps to NoOpStreamOpsHandle. | Gabriela Moldovan | 2025-01-15 | 5 | -9/+9 | |
| | | | | | | | | | | | | | | | | This renames UnsupportedStreamOpsHandle to NoOpStreamOpsHandle for clarity (the old name kind of sounded like the name of an error type). | |||||
| | * | | tor-async-utils: Fix type inference in test. | Gabriela Moldovan | 2025-01-15 | 1 | -1/+2 | |
| | | | | ||||||
| | * | | tor-changmgr: Update the KIST params whenever the consensus/config changes. | Gabriela Moldovan | 2025-01-15 | 1 | -8/+34 | |
| | | | | | | | | | | | | | Closes #1730, #1728 | |||||
| | * | | tor-chanmgr: Add reparameterize_kist to AbstractChannel trait. | Gabriela Moldovan | 2025-01-15 | 5 | -0/+22 | |
| | | | | | | | | | | | | | | | | Needed for the chanmgr to be able to update existing channels with new KIST settings read from the consensus. | |||||
| | * | | tor-proto: Set kist params in channel reactor. | Gabriela Moldovan | 2025-01-15 | 2 | -2/+33 | |
| | | | | ||||||
| | * | | tor-proto: Add Channel::reparameterize_kist() API. | Gabriela Moldovan | 2025-01-15 | 1 | -0/+9 | |
| | | | | | | | | | | | | | | | | This will enable us to update the channel's KIST configuration whenever there is a change in the consensus or config. | |||||
| | * | | tor-proto: Add CtrlMsg for setting kist options (fmt). | Gabriela Moldovan | 2025-01-15 | 1 | -1/+3 | |
| | | | | ||||||
| | * | | tor-proto: Add CtrlMsg for setting kist options. | Gabriela Moldovan | 2025-01-15 | 1 | -1/+8 | |
| | | | | ||||||
| | * | | tor-rtcompat: Fix doc warning. | Gabriela Moldovan | 2025-01-15 | 1 | -1/+1 | |
| | | | | ||||||
| | * | | tor-proto: Pass a StreamOps handle to the channel reactor. | Gabriela Moldovan | 2025-01-15 | 3 | -2/+16 | |
| | | | | ||||||
| | * | | tor-rtcompat: Big invasive change adding StreamOps bound everywhere. | Gabriela Moldovan | 2025-01-15 | 11 | -21/+34 | |
| | | | | | | | | | | | | | | | | | | | This is unfortunately necessary, because after the channel handshake, we need to give the channel reactor a `StreamOps` handle to the underlying stream. | |||||
| | * | | tor-rtcompat: Implement StreamOps for TLS stream types. | Gabriela Moldovan | 2025-01-15 | 2 | -1/+22 | |
| | | | | ||||||
| | * | | tor-rtmock: Implement StreamOps for MockTlsStream (fmt). | Gabriela Moldovan | 2025-01-15 | 1 | -1/+3 | |
| | | | | ||||||
| | * | | tor-rtmock: Implement StreamOps for MockTlsStream. | Gabriela Moldovan | 2025-01-15 | 1 | -1/+14 | |
| | | | | | | | | | | | | | | | | We're about to add a trait bound that forces `MockTlsStream` to impl `StreamOps`. | |||||
| | * | | tor-rtcompat: Implement StreamOps for Framed. | Gabriela Moldovan | 2025-01-15 | 3 | -0/+15 | |
| | | | | ||||||
| | * | | tor-rtcompat: Implement new_handle() using TcpSockFd (fmt). | Gabriela Moldovan | 2025-01-15 | 1 | -1/+3 | |
| | | | | ||||||
| | * | | tor-rtcompat: Implement new_handle() using TcpSockFd. | Gabriela Moldovan | 2025-01-15 | 4 | -3/+16 | |
| | | | | ||||||
| | * | | tor-rtcompat: Add the ability to get a StreamOps handle. | Gabriela Moldovan | 2025-01-15 | 8 | -1/+78 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed for cases where we wrap an object that implements `StreamOps` in an external type, thereby losing access to the `StreamOps` functionality. For example, during the channel handshake, we `.split()` the stream that implements `StreamOps`, which leaves us with a `SplitSink` and a `SplitStream`, neither of which implement `StreamOps`. Getting a handle to the underlying object that implements `StreamOps` (for example, a file handle) *before* the stream is `.split()` enables us to use `StreamOps` to manipulate the underlying split stream. This commit also introduces a special `UnsupportedStreamOpsHandle`, which is a type that implements `StreamOps`, but always returns an error. This type is meant to simplify error handling and usage, and is meant to be used in cases where `StreamOps` is not supported. TODO: the name of this type is pretty confusing (it's very similar to `UnsupportedStreamOp`, which is an error type), and should probably be renamed to something else (`NoOpStreamOpsHandle`, `BrokenStreamOpsHandle`, `DummyStreamOpsHandle` come to mind...). Note: this changes the `StreamOps` trait to be slightly different from what I originally envisioned in !2660 and #1769 | |||||
| | * | | Cargo.toml: Topologically sort the dependencies. | Gabriela Moldovan | 2025-01-15 | 1 | -2/+2 | |
| | | | | | | | | | | | | | tor-proto now depends on tor-netdir. | |||||
| | * | | tor-proto: Add KistParams type built from NetParameters. | Gabriela Moldovan | 2025-01-15 | 4 | -0/+65 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | Note: this commit makes `tor-proto` depend on `tor-netdir` (because it adds a `KistParams` type that is buildable from `NetParameters`, which is defined in `tor-netdir`). Closes #1729 | |||||
| | * | | tor-netdir: Add KIST consensus params. | Gabriela Moldovan | 2025-01-15 | 1 | -0/+26 | |
| |/ / | | | | | | | | | | | These are tentative, so I haven't added them to param-spec yet. Part of #1729 | |||||
| * | | Merge branch 'circ-test' into 'main' | Ian Jackson | 2025-01-15 | 4 | -10/+118 | |
| |\ \ | | | | | | | | | | | | | tor-rtmock: Fix task lists when panicking due to stall and tasks unstick each other in Drop See merge request tpo/core/arti!2682 | |||||
| | * | | tor-rtmock: drop_reentrancy test: Run under miri too | Ian Jackson | 2025-01-15 | 1 | -8/+14 | |
| | | | | ||||||
| | * | | tor-rtmock: Explicitly manage the lifetime of the future | Ian Jackson | 2025-01-15 | 1 | -0/+7 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if r is Pending, `fut` is moved out of (stored in `task.fut`), whereas if r is Ready, it is retained and then dropped at the end of the loop iteration. This is quite subtle, and involves `fut` being in a "maybe moved out of" state (which cannot be represented in Rust's surface type system) after the block with the `data` lock. Let's write code that more clearly ensures that the compiler DTRT. | |||||
| | * | | tor-rtmock: Add a test case for Future drop entrancy | Ian Jackson | 2025-01-15 | 1 | -0/+34 | |
| | | | | | | | | | | | | | | | | This passes right now, but only because the lifetime of the `fut` variable in `execute_until_first_stall` happens to be right. | |||||
| | * | | tor-rtmock: Avoid misleading task dumps by careful drop sequencing | Ian Jackson | 2025-01-15 | 1 | -9/+34 | |
| | | | | ||||||
| | * | | tor-rtmock: Add some more tracing / debug output | Ian Jackson | 2025-01-15 | 1 | -1/+9 | |
| | | | | ||||||
| | * | | tor-rtmock: Explain a difficulty with test trace output | Ian Jackson | 2025-01-15 | 1 | -0/+5 | |
| | | | | ||||||
| | * | | tor-proto: Add traced_test to test cases | Ian Jackson | 2025-01-15 | 3 | -0/+23 | |
| |/ / | | | | | | | (We don't add it to the handful of unit tests that don't use an executor.) | |||||
| * | | Merge branch 'mistrust-fileaccess' into 'main' | Nick Mathewson | 2025-01-14 | 3 | -92/+518 | |
| |\ \ | |/ |/| | | | | | | | | | fs-mistrust: Facilities for file access Closes #1746 See merge request tpo/core/arti!2707 | |||||
| | * | file_access: Refactor APIs to consume self. | Nick Mathewson | 2025-01-14 | 1 | -7/+16 | |
| | | | | | | | | | | | This approach makes it even less likely for people to store a FileAccess for repeated use. | |||||
| | * | file_access: Make link-following behavior explicitly controlled. | Nick Mathewson | 2025-01-14 | 1 | -8/+38 | |
| | | | ||||||
| | * | Documentation fixes from Gabi | Nick Mathewson | 2025-01-14 | 1 | -5/+3 | |
| | | | ||||||
| | * | fs-mistrust: Try more to explain what FileAccess is for. | Nick Mathewson | 2025-01-14 | 1 | -3/+7 | |
| | | | ||||||
| | * | fs-mistrust: Follow symlinks when using file-access outside a CheckedDir. | Nick Mathewson | 2025-01-14 | 1 | -9/+98 | |
| | | | | | | | | | | | | | When we're not bound to a CheckedDir, it doesn't make sense to forbid following symlinks, so long as their targets are also sensible. | |||||
| | * | fs-mistrust: Add FileAccess for Verifier (and Mistrust). | Nick Mathewson | 2025-01-14 | 2 | -9/+42 | |
| | | | ||||||
| | * | fs-mistrust: Have Verifier check methods take self by reference. | Nick Mathewson | 2025-01-14 | 1 | -2/+2 | |
| | | | | | | | | | There is no reason for these to consume self. | |||||
| | * | fs-mistrust: Add ability to create files with chosen mode. | Nick Mathewson | 2025-01-14 | 1 | -10/+117 | |
| | | | ||||||
| | * | fs-mistrust: Clean up documentation. | Nick Mathewson | 2025-01-14 | 1 | -15/+13 | |
| | | | ||||||
| | * | fs-mistrust: Move file access methods on CheckedDir to FileAccess. | Nick Mathewson | 2025-01-14 | 2 | -69/+168 | |
| | | | | | | | | | | | These are the methods which we'd like to give new options in #1746; we can move other methods later if we want to. | |||||
| | * | fs-mistrust: Define a (stub) FileAccess type. | Nick Mathewson | 2025-01-14 | 3 | -0/+38 | |
| | | | | | | | | | | | We're going to move functionality and configuration functions here to implement #1746. | |||||
| | * | fs-mistrust::CheckedDir: Refactor some common code. | Nick Mathewson | 2025-01-14 | 1 | -22/+32 | |
| | | | ||||||
| | * | fs-mistrust: Add test for (not) opening symlink from CheckedDir. | Nick Mathewson | 2025-01-14 | 1 | -1/+10 | |
| | | | ||||||
| | * | fs-mistrust: clarify doc for a private function. | Nick Mathewson | 2025-01-14 | 1 | -0/+2 | |
| | | | ||||||
