summaryrefslogtreecommitdiff
path: root/crates/tor-cell/semver.md
Commit message (Collapse)AuthorAgeFilesLines
* tor-cell: remove `derive_more::Into` for `RelayEarly`Steven Engler2026-06-241-0/+1
| | | | | We don't use this anymore, and it can lead to subtle bugs since we lose the original channel message command.
* Remove semver.md filesNick Mathewson2025-08-281-2/+0
|
* proto: Remove the AUTHORIZE as a parsable cellDavid Goulet2025-08-211-0/+1
| | | | | | | | | | | | | The AUTHORIZE cell command is simply reserved but not defined. The tor specification, at this point in time, is allowing such cell before the handshake starts but it is very unclear on what ordering is allowed nor how many can are allowed. C-tor silents drop them like VPADDING and so clearly unused. Instead of dealing with it, simply remove its support but keeping its reserved number. Signed-off-by: David Goulet <[email protected]>
* tor-hsservice: Change capping of PoW effort.Wesley Aptekar-Cassels2025-08-131-0/+1
| | | | | | | | This caps the PoW effort during sorting, rather than at intake. This allows us to record efforts that are capped in our metrics histogram while only recording metrics after the PoW solve has actually been verified.
* Remove semver.md files, post-release.Ian Jackson2025-08-051-2/+0
|
* tor-cell: change `UnparsedRelayMsg::data_len`Steven Engler2025-07-151-0/+1
| | | | | | | | | It now performs some validation and can return a `Result`. We perform validation here since different cell formats may have different maximum data lengths in the future, and `UnparsedRelayMsg` doesn't expose the cell format so it's difficult to perform this validation at a higher layer.
* tor-cell: remove `flowctl-cc` feature and make XON/XOFF cells stableSteven Engler2025-07-151-0/+1
| | | | | I don't see any further changes being needed for these types, and it simplifies a lot of future code in tor-proto that uses these types.
* release: Delete semver.md files after release.Alexander Hansen Færøy2025-06-051-5/+0
|
* cell,proto: Split request/response extensions into seprate typesNick Mathewson2025-05-071-0/+1
| | | | Implements part of proposal 358.
* Rename NtorV3Extension to CircRequestExtNick Mathewson2025-05-071-1/+2
| | | | | | | This type will, because of prop358, be shared by ntorv3, hs-ntor, and probably other future handshakes. There will also be a CircResponseExt type.
* proto, cell: Remove RelayCellFormatTrait.Nick Mathewson2025-05-061-0/+1
| | | | | | | | | | | | | | | | 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.
* proto: Use SendmeTag in place of CircTagNick Mathewson2025-05-061-0/+2
| | | | | This doesn't make much change yet, but does save us an allocation when handling SENDMEs.
* release: Bump all unstable tor/arti crates to 0.30.0Wesley Aptekar-Cassels2025-05-011-4/+0
| | | | | | | | ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.30.0 done ```
* cell, proto: Use correct Data sizes for v1 relay cellsNick Mathewson2025-04-161-0/+1
| | | | | | | | | | | | Since v1 cells have a longer tag, they can fit less data into a single cell. Ah well, that's the cost of improved security. The code in data.rs is a little wonky, in that it currently requires its buffer to be exactly the maximum size for a data cell. We have a TODO about fixing that in the future, but for now I've moved it to use a boxed slice rather than a boxed array. Part of #1944.
* cell: Remove the deprecated Data::split_from().Nick Mathewson2025-04-161-0/+1
|
* Add a RelayCellFormat argument to encode().Nick Mathewson2025-04-161-0/+2
| | | | | | | | | 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.
* Remove semver files for 1.4.1Nick Mathewson2025-03-031-1/+0
|
* tor-cell: Add conflux RelayCmds.Gabriela Moldovan2025-02-181-0/+1
| | | | Part of #1852
* Remove semver.md files from arti 1.2.0 release.Gabriela Moldovan2024-03-041-1/+0
|
* tor-cell: impl Eq, PartialEq, Hash for est_intro::DosParamsIan Jackson2024-02-211-0/+1
| | | | | | We only need Eq and PartialEq but given those we should have Hash too. (We're going to want to be able to compare parameters for equality.)
* Remove pending semver entriesarti-v1.1.12Nick Mathewson2024-01-091-1/+0
|
* NtorV3Extension set encoding/decoding: include n_extensionsJim Newsome2023-12-071-0/+1
| | | | | | | | | | An encoded set of extensions in the ntorv3 handshake includes a header with the number of extensions. This change adds that header. It also changes `write_many_onto` to take a slice instead of an iterator, since we need to know the number of extensions up-front. In principle we could take a clonable iterator instead and use Iterator::count, but it's probably not worth the extra complexity.
* Remove semver.md files.Nick Mathewson2023-12-041-2/+0
|
* Use HandshakeType in Extend2 and CircuitExtender::beginJim Newsome2023-11-271-0/+2
|
* Remove semver.md files from arti 1.1.10Nick Mathewson2023-10-311-26/+0
|
* Add a caret_int HandshakeType for HTYPE constantsJim Newsome2023-10-261-0/+3
|
* Change `CircId` to never be zeroJim Newsome2023-10-251-0/+11
| | | | | | | | | | This changes the internal representation to be `NonZeroU32` instead of just `u32`. Various places where a circuit ID is optional now use `Option<CircId>`. Fixes a bug in `CircIdRange::sample` that would previously return a circuit ID of 0, when the rng returned 0x8000_0000 for a low range.
* Convert StreamId to NonZeroU16Jim Newsome2023-10-251-0/+12
|
* Remove semver.md now that 1.1.8 is out.Nick Mathewson2023-09-051-4/+0
|
* cell: Add accessors to IntroduceHandshakePayloadNick Mathewson2023-08-161-0/+1
|
* cell: Add accessors to Introduce2.Nick Mathewson2023-08-161-0/+1
|
* cell: Add code to iterate over IntroEstablished extensionsNick Mathewson2023-08-151-0/+1
|
* cell: make establish_intro accept impl<Into<HsMacKey>>Nick Mathewson2023-08-141-0/+1
| | | | | | | | | | | This allows us to allow passing in opaque HsMacKey objects, rather than untyped byte slices. Additionally, we now check both MAC and signature unconditionally, to avoid the large timing side-channel. The small timing side-channel of combining booleans with `&` is considered safe. Part of #993.
* Remove semver.md files for 1.1.6Nick Mathewson2023-06-301-1/+0
|
* cell: Remove relaycell::restrictNick Mathewson2023-06-131-0/+1
| | | | | This module didn't have anything in it; nonetheless, removing it does count as an API break since it was public.
* Remove semver.md files from 1.1.5Nick Mathewson2023-06-011-2/+0
|
* Change CircTarget::linkspecs() to return an encoded list.Nick Mathewson2023-05-101-0/+2
| | | | | | | | If we didn't do this, we would need to transfrom `EncodedLinkSpec`s into a `LinkSpec::Unrecognized`, which is not semantically right. What's more, every user of this API wants to consume encoded link specifiers, so encoding them early saves a little effort.
* Remove semver.md files.Nick Mathewson2023-03-311-1/+0
|
* tor-cell: Add code for the payload of an hs-ntor handshake.Nick Mathewson2023-03-061-0/+1
| | | | | | (This is the encrypted information inside the INTRODUCE2 cell; it's used by the client to tell the service where to find its rendezvous point.)
* Remove semver.md files now that 1.1.2 is out.Nick Mathewson2023-02-281-12/+0
|
* tor-cell: Refactor relay cells to copy much lessNick Mathewson2023-02-151-0/+2
| | | | | | | | | | | | | We now manipulate raw relay cell bodies as (an alias for) `Box<[u8;509]>` rather than as (an alias for) `[u8;509]`. This enables us to do much less copying. It will become more important soon, as we defer parsing relay cell bodies even longer. Related to #7. We also use SliceWriter to avoid allocating a Vec<> for every relay message we want to encode, and instead encode directly into the cell.
* tor-cell: Make RelayEarly a separate type.Nick Mathewson2023-02-091-0/+1
| | | | This allows us to remove a shenanigan from `restricted_msg!{}`.
* cell: Parameterize ChannelCodec::decode and encode.Nick Mathewson2023-02-091-0/+1
| | | | | | | This change lets us use ChannelCodec to encode and decode any restricted channel message type we want. (Later on, we'll turn the related Codec class in tor-proto into a more type-restricted version of this.)
* tor-cell: Rename RelayMsg and RelayCell-related types.Nick Mathewson2023-02-071-0/+1
| | | | Thanks to rust-analyzer for making this simple.
* tor-cell: Rename ChanMsg and ChanCell-related types.Nick Mathewson2023-02-071-0/+1
|
* tor-cell: Remove RelayMsg methods that are duplicated in RelayMsgClass.Nick Mathewson2023-02-071-0/+1
|
* tor-cell: Remove ChanMsg methods that are duplicated in ChanMsgClass.Nick Mathewson2023-02-071-0/+1
|
* tor-cell: Use macro to generate ChanMsg too.Nick Mathewson2023-02-071-1/+2
|
* tor-cell: Change all variants of RelayMsg to have a body.Nick Mathewson2023-02-071-0/+1
| | | | | Previously, there were some unit variants, but that makes things quite awkward for #525.
* tor-cell: Make Body and MsgClass traits more uniform.Nick Mathewson2023-02-071-0/+2
| | | | | | | | Doing this will make it much easier to implement a macro that generates restricted instances of the Msg types (for #525). The Body change is a breaking change. I don't think anybody else implements Body, but in theory they could.