<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/relaycell, branch arti-v1.2.7</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-02-21T13:46:14Z</updated>
<entry>
<title>tor-cell: impl Eq, PartialEq, Hash for est_intro::DosParams</title>
<updated>2024-02-21T13:46:14Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-02-21T13:41:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3eada5293f138bc2b53483528918aa815bd65e2a'/>
<id>urn:sha1:3eada5293f138bc2b53483528918aa815bd65e2a</id>
<content type='text'>
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.)
</content>
</entry>
<entry>
<title>tor_cell: never construct empty DATA messages.</title>
<updated>2024-02-13T14:37:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-13T14:37:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b5c70dad02124549a13e25f62c8073fef4a063fe'/>
<id>urn:sha1:b5c70dad02124549a13e25f62c8073fef4a063fe</id>
<content type='text'>
We never actually constructed these before, but now we enforce it at
the API level.

Part of #1269.
</content>
</entry>
<entry>
<title>tor_cell: Reject empty DATA messages</title>
<updated>2024-02-13T14:23:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-13T14:23:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dbe8623356b673cfe716e00fef654ca8bf8a1153'/>
<id>urn:sha1:dbe8623356b673cfe716e00fef654ca8bf8a1153</id>
<content type='text'>
If we don't reject these, they are a way to inject an undetected
traffic signal.  (This is LOW severity, since we only accept DATA
when a stream is open, since DATA messages are rate-limited,
and since using length==1 is nearly as effective.)

Closes #1269.

This is TROVE-2024-001.
</content>
</entry>
<entry>
<title>educe: Use std's default for enums where default variant is unit</title>
<updated>2024-02-12T11:38:36Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-02-12T11:07:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c35c60f848154e80f23ba95a989ff2f9d2594e6a'/>
<id>urn:sha1:c35c60f848154e80f23ba95a989ff2f9d2594e6a</id>
<content type='text'>
Since Rust 1.66, std's default works properly for enums, provided that
the default variant is a unit.

Review all uses of `#[educe(default)]` on enums and replace them with
std where possible, which is most of them.

In 1.66 and later, std's `#[derive(Default)]` doesn't infer any
generic bounds on the derived impl, where it's an enum - since the
unit variant can always be constructed.  So this change doesn't add
any generic bounds and is not API-visible.
</content>
</entry>
<entry>
<title>tor-cell: Remove a now-unneeded allow(unused).</title>
<updated>2023-12-12T12:25:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-12-12T12:25:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07a13e25042683774379fa19cbc95b2d4c09e914'/>
<id>urn:sha1:07a13e25042683774379fa19cbc95b2d4c09e914</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NtorV3Extension set encoding/decoding: include n_extensions</title>
<updated>2023-12-07T15:45:45Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-11-29T15:55:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cea4c505d8088f91cbe6b2884a9d54acafd80081'/>
<id>urn:sha1:cea4c505d8088f91cbe6b2884a9d54acafd80081</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Convert to the latest versions of dalek-cryptography</title>
<updated>2023-11-29T15:34:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-21T15:58:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98037a2c788bd901679139178d25f855324637f3'/>
<id>urn:sha1:98037a2c788bd901679139178d25f855324637f3</id>
<content type='text'>
The main changes that we have to adjust for are as follows:

* In x25519-dalek:
  * `StaticSecret` is now behind a feature.
  * `StaticSecret::new` is deprecated in favor of
    `StaticSecret::random_from_rng`.
  * StaticSecret no longer does its own clamping.

* In ed25519-dalek:
  * `SecretKey` has (in effect) been renamed to `SigningKey`. The name
    `SecretKey` is now an alias for `[u8; 32]`.
  * `SigningKey` is effectively a keypair, since it contains a
     public key as well.
  * `PublicKey` has been renamed to `VerifyingKey`.
  * The functions to extract a signing key and verifying key have
    been renamed as you might expect.
  * `ExpandedSecretKey` has been moved to `hasmat` and no longer
    implements `sign`.
  * `ExpanededSecretKey` now has as its elements a scalar and a hash
    prefix.
  * Various functions that took `&amp;[u8]` now take `&amp;[u8; N]`.
  * We no longer need a wrapper for older versions of rand.

There is a single test in tor-keymgr that does not pass.  I've
marked it as ignore for now, in hopes that @gabi-250 can help me
figure it out.

This closes #808.  There are several changes I want to make before
we merge, however. They are marked with TODO DALEK.
</content>
</entry>
<entry>
<title>Use HandshakeType in Extend2 and CircuitExtender::begin</title>
<updated>2023-11-27T16:48:03Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-11-16T17:23:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5d7f70c0fe515aee8640f336cc799b70828fd109'/>
<id>urn:sha1:5d7f70c0fe515aee8640f336cc799b70828fd109</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add more reference links.</title>
<updated>2023-11-20T15:24:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-16T16:37:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d706bb2ab80d260428f26522885201b7500f77f0'/>
<id>urn:sha1:d706bb2ab80d260428f26522885201b7500f77f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve documentation in/around DosParams extension</title>
<updated>2023-11-20T15:24:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-15T22:54:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4b1eef41ee8113b6c4b3d418240dc4c23ea31a50'/>
<id>urn:sha1:4b1eef41ee8113b6c4b3d418240dc4c23ea31a50</id>
<content type='text'>
It does not help that C tor has a set of parameters and a set of
configuration options with exactly the same names which configure
the same thing in two slightly different ways.
</content>
</entry>
</feed>
