summaryrefslogtreecommitdiff
path: root/crates/tor-cell/semver.md
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Remove semver.md files now that 1.1.1 is tagged.Nick Mathewson2023-02-011-2/+0
|
* Move tor-proto/semver.md to tor-cellNick Mathewson2023-02-011-0/+2
| | | | It was erroneously created in the wrong place.
* Remove semver.md files now that 1.1.0 is released.Nick Mathewson2022-11-301-1/+0
|
* Add semver.md in tor-cell for MR#793breezykermo2022-10-251-0/+1
|
* Remove semver.md from arti-1.0.0Nick Mathewson2022-09-071-2/+0
|
* Add semver notesIan Jackson2022-08-171-0/+2
|
* Now that versions have bumped, remove semver.md files.Nick Mathewson2022-08-011-1/+0
|
* tor-cell: Make encoding method signatures fallible.Nick Mathewson2022-07-111-0/+1
|