<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/crypto, branch arti-v1.1.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-11-18T15:12:05Z</updated>
<entry>
<title>Fix a bunch of "needless borrow" warnings on nightly</title>
<updated>2022-11-18T15:12:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-11-18T15:12:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d51162e55b19036528b4fafc1d4b15c8d9d23a04'/>
<id>urn:sha1:d51162e55b19036528b4fafc1d4b15c8d9d23a04</id>
<content type='text'>
It looks like, despite a few false starts, they've got this warning
right; there weren't any false positives.
</content>
</entry>
<entry>
<title>fix clippy::needless_borrow</title>
<updated>2022-09-10T12:39:47Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-09-10T12:39:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8e7a904260dfe344eed70a9eef109695544347c1'/>
<id>urn:sha1:8e7a904260dfe344eed70a9eef109695544347c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'zeroize' into 'main'</title>
<updated>2022-08-04T14:54:21Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-04T14:54:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e3cc533853defba11ce40369f31f3e0bef790e21'/>
<id>urn:sha1:e3cc533853defba11ce40369f31f3e0bef790e21</id>
<content type='text'>
Revise our handling of the zeroize trait

Closes #254

See merge request tpo/core/arti!655</content>
</entry>
<entry>
<title>tor-proto: Use correct SecretBuf in handshakes.</title>
<updated>2022-08-01T19:41:22Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-01T19:14:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=37e6c95fdc01319fc8afb34229e7b097851da33d'/>
<id>urn:sha1:37e6c95fdc01319fc8afb34229e7b097851da33d</id>
<content type='text'>
Everything that is a secret encryption key, or an input that is used
to produce a secret encryption key, has to get zeroized.  And that's
all!

Closes #254.
</content>
</entry>
<entry>
<title>tor-proto: Replace SecretBytes with SecretBuf.</title>
<updated>2022-08-01T19:41:22Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-08-01T18:53:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eedd63d5e9a4e055260b476177ee14972584a1bb'/>
<id>urn:sha1:eedd63d5e9a4e055260b476177ee14972584a1bb</id>
<content type='text'>
This does not yet make sure that `SecretBuf` is used where it
_should_ be, but at least it ensures that most uses of `SecretBytes`
will indeed act as intended, and make sure that whatever they
contain is zeroized.

It requires some corresponding changes to method calls for
correctness and type conformance.
</content>
</entry>
<entry>
<title>Rename `.inc` and other included files to end in `.rs`</title>
<updated>2022-07-26T14:09:28Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-07-26T14:06:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f02d732b7f1490d38c2e78ce54a4f22a79b50de8'/>
<id>urn:sha1:f02d732b7f1490d38c2e78ce54a4f22a79b50de8</id>
<content type='text'>
In order to mitigate syntax highlighting issues and a rust-analyzer bug
(https://github.com/rust-analyzer/rust-analyzer/issues/10178), rename
files that are included with the `include!` macro to have a `.rs`
extension.

Make sure the included files are outside `src/`, in order to not confuse
humans and automated editing tools that might mistake them for valid
Rust modules.

fixes arti#381
</content>
</entry>
<entry>
<title>tor-proto: Stop using write_infallible in handshake code.</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-11T15:04:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fbb6484025ac024642afbeef6734d88e35210673'/>
<id>urn:sha1:fbb6484025ac024642afbeef6734d88e35210673</id>
<content type='text'>
This change was a bit annoying, since most of this code _can't_ fail,
and so the only reasonable response is to wrap the input in an
internal error... except for one case where we're actually encoding
a caller-provided message, so we _do_ want to wrap the EncodeError
from tor_bytes.
</content>
</entry>
<entry>
<title>Remove "write_and_consume_infallible".</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-08T16:06:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5a61a6d73aa2ddf4dd99c8af9c6082bb8c56d158'/>
<id>urn:sha1:5a61a6d73aa2ddf4dd99c8af9c6082bb8c56d158</id>
<content type='text'>
There were only a few of these.  Removing it required porting
everything to use `write_and_consume` instead, and handling its
(potential) errors.
</content>
</entry>
<entry>
<title>Rename "write" methods on tor-bytes to "write_infallible".</title>
<updated>2022-07-11T15:18:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-08T15:20:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7938f65c66020d6d7f143307f3336f340f398c63'/>
<id>urn:sha1:7938f65c66020d6d7f143307f3336f340f398c63</id>
<content type='text'>
This comprises four renames:

```
write_onto -&gt; write_onto_infallible
write_into -&gt; write_into_infallible
write -&gt; write_infallible
writer_and_consume -&gt; write_and_consume_infallible.
```

The rest of this branch will be concerned with replacing these
`_infallible` methods with ones that return a `Result`.  This is
part of #513.
</content>
</entry>
<entry>
<title>Implement a higher-level API for the ntor v3 handshake</title>
<updated>2022-07-08T17:26:18Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-06-23T13:51:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=af64a0a984cb357c0b60cea650ca90d8d1c6240d'/>
<id>urn:sha1:af64a0a984cb357c0b60cea650ca90d8d1c6240d</id>
<content type='text'>
This implements a higher-level API for the ntor v3 handshake, in line
with that exposed by the ntor handshake. It does not, however, use the
existing `ClientHandshake` trait, due to fundamental differences in the
handshakes (namely, that the v3 handshake can include some additional
extra extension data).

Currently, the higher-level API assumes circuit extension, and copies
the (undocumented!) magic verification string from c-tor that indicates
this usage.

A rudimentary set of functions for serializing and deserializing
extensions to be sent with the handshake is also included, implementing
the protocol in proposal 332 § A.2. Currently, it only implements the
congestion control extensions specified in proposal 324 § 10.3.

part of arti#88
</content>
</entry>
</feed>
