| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | proto, cell: Remove RelayCellFormatTrait. | Nick Mathewson | 2025-05-06 | 11 | -248/+120 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of the trait was to parameterize the tor1 cell crypto on the different possible relay cell layouts. It made sense to have this trait when we thought we would implement the new cell layout for prop340 (packed-and-fragmented) well before we implemented CGO. But it now appears all but certain that CGO will land long before we make any more headway on prop340. Therefore, it doesn't make sense to carry the ability to customize `tor1` for other relay cell layouts. Removing this trait saves a fair bit of complexity. | |||||
| * | | tor-proto: Rename some no-longer-apt tor1 members. | Nick Mathewson | 2025-05-06 | 1 | -14/+13 | |
| | | | ||||||
| * | | tor-proto: remove some now-unneeded accessors. | Nick Mathewson | 2025-05-06 | 1 | -35/+15 | |
| | | | ||||||
| * | | Emit SendmeTag directly from cell crypto. | Nick Mathewson | 2025-05-06 | 7 | -100/+90 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the code to copy a SendmeTag rather than returning a slice. This isn't actually a big change: sending a slice already required 16 bytes (on 64-bit platforms), so sending a SendmeTag around isn't a big deal. We rely extensively on the compiler's ability to optimize away all the checking in code like this: ``` let slice: &[u8]; let a: [u8;N] = slice[0..N].try_into().expect("Nope"); ``` I've spot-checked it somewhat with "cargo-show-asm", but it could use more thorough checking. Closes #1956. | |||||
| * | | Remove the last traces of CircTag. | Nick Mathewson | 2025-05-06 | 5 | -21/+19 | |
| | | | ||||||
| * | | proto: Use SendmeTag in place of CircTag | Nick Mathewson | 2025-05-06 | 4 | -58/+13 | |
| | | | | | | | | | | | This doesn't make much change yet, but does save us an allocation when handling SENDMEs. | |||||
| * | | tor-cell: define a new SendmeTag type | Nick Mathewson | 2025-05-06 | 1 | -9/+149 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a more efficient representation for the tag on an authenticated SENDME message: it comes in at 21 bytes. Previously, we used Vec<u8>, which has 24 bytes of overhead (on a 64 bit system), plus malloc overhead, plus 20 bytes of allocated tag. We had a similar type to this as `tor_proto::congestion::sendme::CircTag`, but it could only accomodate 20-byte values. I don't expect that we will have enough of these simultaneously that the memory savings will matter, but the allocation savings could be significant. | |||||
| * | | proto: Split out CGO BlkCipher trait for Encryption/Decryption | Nick Mathewson | 2025-05-06 | 2 | -57/+172 | |
| | | | | | | | | | | | | | This lets us use `Aes128Dec` and `Aes128Enc` in place of plain old `Aes128`, which can be less space-efficient depending on the back-end. | |||||
| * | | Merge branch 'clientcirc_extend' into 'main' | Nick Mathewson | 2025-05-06 | 6 | -25/+70 | |
| |\ \ | | | | | | | | | | | | | | | | | | | tor-proto: New extend() and create_firsthop() to pick between ntor and ntor3 Closes #1970 See merge request tpo/core/arti!2967 | |||||
| | * | | proto: Fix documentation to avoid recommending ntor methods | Nick Mathewson | 2025-04-28 | 1 | -6/+8 | |
| | | | | | | | | | | | | | | | | | | | Since we have create_firsthop() and extend(), we should recommend them in our documentation, instead of recommending the no-longer-best methods. | |||||
| | * | | proto: Provide and use a create_firsthop() wrapper too. | Nick Mathewson | 2025-04-28 | 2 | -7/+25 | |
| | | | | ||||||
| | * | | circmgr: Rename AbstractCirc::{extend_ntor => extend} | Nick Mathewson | 2025-04-28 | 4 | -6/+5 | |
| | | | | | | | | | | | | | | | | We don't want to be thinking about ntor vs ntor3 in circmgr. | |||||
| | * | | tor-proto: New extend() to pick between ntor and ntor3 | Nick Mathewson | 2025-04-28 | 3 | -7/+33 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the future, when we add more circuit handshakes (PQ anyone?) we'll want to have the logic for choosing which to use be unified. Almost nobody calling tor-proto should need to care which circuit handshake is going to be used. Closes #1970. | |||||
| * | | | Merge branch 'item-metadata-cert-support' into 'main' | gabi-250 | 2025-05-06 | 1 | -75/+159 | |
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: Refactor ItemMetadata to support certificate metadata Closes #1913 See merge request tpo/core/arti!2921 | |||||
| | * | | | tor-keymgr: Refactor ItemMetadata to support certificate metadata | shivam37483 | 2025-05-06 | 1 | -75/+159 | |
| | |/ / | ||||||
| * | | | Merge branch 'experimental_api_path' into 'main' | gabi-250 | 2025-05-06 | 1 | -1/+9 | |
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | circmgr: Make path module public on "--features=experimental-api" Closes #1981 See merge request tpo/core/arti!2990 | |||||
| | * | | | circmgr: Make path module public on "--features=experimental-api" | Nick Mathewson | 2025-05-05 | 1 | -1/+9 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in 4c1eb94173521bc5104449327650e20ffe32afa7, for sensible reasons, we made `tor_circmgr::path` a crate-private module. But when we did that, we lost the ability for callers to construct circuits with custom paths. This will make it possible for callers to build custom circuits again, without committing to a very-long-term API for that. Closes #1981. | |||||
| * | | | | Merge branch 'windows' into 'main' | Jim Newsome | 2025-05-06 | 1 | -0/+1 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | fs-mistrust: fix build on non-unix systems See merge request tpo/core/arti!2962 | |||||
| | * | | | | fs-mistrust: fix build on non-unix systems | Tobias Stoeckmann | 2025-04-25 | 1 | -0/+1 | |
| | | |/ / | |/| | | | | | | | | | | | | | | | | | | The TrustAdminOnly enum value is only defined for unix systems. Consider this fact in mistrust_build function to fix build on e.g. Windows systems. | |||||
| * | | | | tor-proto: Use AcqRel instead of SeqCst to clarify intent. | Gabriela Moldovan | 2025-05-06 | 2 | -3/+3 | |
| | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2946#note_3192334 | |||||
| * | | | | tor-proto: Document the lifecycle of a ConfluxSet. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+28 | |
| | | | | | ||||||
| * | | | | tor-proto: Document why RemoveLegReason exists. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+14 | |
| | | | | | ||||||
| * | | | | tor-proto: Move error binding under is_conflux_pending condition. | Gabriela Moldovan | 2025-05-06 | 1 | -7/+6 | |
| | | | | | | | | | | | | | | | | | We don't use it outside this branch, so might as well move it there. | |||||
| * | | | | tor-proto: Remove already-addressed TODO. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+0 | |
| | | | | | | | | | | | | | | | | | We already do this, using `note_conflux_handshake_result`. | |||||
| * | | | | tor-proto: Explain why the handshake result is noted before the LINKED_ACK. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+10 | |
| | | | | | ||||||
| * | | | | tor-proto: Remove confusing parts of join_point docs. | Gabriela Moldovan | 2025-05-06 | 1 | -4/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Future-proof the unsupported_client_cell macro. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | | | | | | Prompted by opara's suggestion in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2946#note_3192319 | |||||
| * | | | | tor-proto: Clarify why ConfluxHandshakeComplete exists. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+8 | |
| | | | | | ||||||
| * | | | | tor-proto: s/ConfluxTunnelResult/ConfluxHandshakeResults. | Gabriela Moldovan | 2025-05-06 | 1 | -4/+4 | |
| | | | | | ||||||
| * | | | | tor-proto: Linkify reference to HopDetail. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Fix incorrect RemoveLeg docs. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Clarify ConfluxHandshakeComplete docs. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+3 | |
| | | | | | ||||||
| * | | | | tor-proto: Remove unnecessary TODO. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+0 | |
| | | | | | ||||||
| * | | | | tor-proto: Add TODO about only switching legs before sending a cell. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+4 | |
| | | | | | ||||||
| * | | | | tor-proto: Increment last delivered seqno for items popped from the heap. | Gabriela Moldovan | 2025-05-06 | 2 | -4/+14 | |
| | | | | | ||||||
| * | | | | tor-proto: Remove unnecessary &mut self. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Fix typo in warning. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Remove unnecessary mut in seqno check. | Gabriela Moldovan | 2025-05-06 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Rename helper closure for clarity. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | ||||||
| * | | | | tor-proto: s/leg/hop in variable name for clarity. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | ||||||
| * | | | | tor-proto: Get rid of unnecessary clone(). | Gabriela Moldovan | 2025-05-06 | 1 | -4/+1 | |
| | | | | | ||||||
| * | | | | tor-proto: Note that we need to update impl based on torspec!369 | Gabriela Moldovan | 2025-05-06 | 1 | -0/+2 | |
| | | | | | ||||||
| * | | | | tor-proto: Note the LINK cell was sent after sending it. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+9 | |
| | | | | | ||||||
| * | | | | tor-proto: Shut down if conflux initiator is gone before handshake completes. | Gabriela Moldovan | 2025-05-06 | 1 | -13/+28 | |
| | | | | | ||||||
| * | | | | tor-proto: Move SWITCH seqno validation to validate_switch_seqno. | Gabriela Moldovan | 2025-05-06 | 1 | -8/+8 | |
| | | | | | ||||||
| * | | | | tor-proto: Validate conflux state before decoding SWITCH. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+5 | |
| | | | | | ||||||
| * | | | | tor-proto: s/link/linked_ack in variable name. | Gabriela Moldovan | 2025-05-06 | 1 | -2/+2 | |
| | | | | | ||||||
| * | | | | tor-proto: Validate conflux state before decoding LINKED cell. | Gabriela Moldovan | 2025-05-06 | 1 | -17/+17 | |
| | | | | | ||||||
| * | | | | tor-proto: Check that we sent a LINK cell before decoding LINKED response. | Gabriela Moldovan | 2025-05-06 | 1 | -5/+5 | |
| | | | | | ||||||
| * | | | | tor-proto: Use u64 for the conflux seqnos. | Gabriela Moldovan | 2025-05-06 | 4 | -22/+32 | |
| | | | | | ||||||
