<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit/reactor.rs, branch derive-traits</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=derive-traits</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=derive-traits'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-02-15T14:57:03Z</updated>
<entry>
<title>Update tor-proto errors to latest API.</title>
<updated>2022-02-15T14:57:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-15T14:57:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6b611d6deae2e003ea81f459cd5e005c37ab50ce'/>
<id>urn:sha1:6b611d6deae2e003ea81f459cd5e005c37ab50ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: use InternalError for internal errors.</title>
<updated>2022-02-15T14:41:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-11T20:20:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f23f375e42ef3237f9bbb7b8bfee47ecc9ced4a1'/>
<id>urn:sha1:f23f375e42ef3237f9bbb7b8bfee47ecc9ced4a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'eta/reactor-2.5' into 'main'</title>
<updated>2022-02-03T16:27:57Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-03T16:27:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e9087e1fed7193f0cf5b9f9d1078340f216745ed'/>
<id>urn:sha1:e9087e1fed7193f0cf5b9f9d1078340f216745ed</id>
<content type='text'>
Fix severe reactor ordering problems

See merge request tpo/core/arti!282</content>
</entry>
<entry>
<title>Fix severe reactor ordering problems</title>
<updated>2022-02-03T15:04:28Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-02T14:21:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24d12163f2a5b109adc1d40ad815efecf36cf499'/>
<id>urn:sha1:24d12163f2a5b109adc1d40ad815efecf36cf499</id>
<content type='text'>
A number of severe problems with the circuit reactor were fixed which
could cause reordering of cells (which causes relays to terminate the
circuit with a protocol violation, as they become unable to decrypt
them). These mostly revolve around improper usage of queues:

- The code assumed that a failure to place cells onto the channel would
  persist for the duration of a reactor cycle run. However, under high
  contention, this wouldn't always be the case.
  - This leads to some cells getting enqueued while others go straight
    through, before the enqueued cells.
  - To fix this, we block sending cells out of the channel while there
    are still some enqueued.
- The hop-specific queues queued after encryption, not before. This was
  very brittle, and led to frequent mis-ordering.
  - This was fixed by making them not do that.

This is arti!264 / 5bce9db5628126be2b736f228211174fe4132918 without the
refactor part.
</content>
</entry>
<entry>
<title>Remove many needless borrows and slices</title>
<updated>2022-02-02T18:34:26Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-02T18:18:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b7fec1c8a4ee185b12648414242575e5aec5b581'/>
<id>urn:sha1:b7fec1c8a4ee185b12648414242575e5aec5b581</id>
<content type='text'>
Found via clippy::needless_borrow.  In some cases I removed needless
`[..]` too.  See also:
  needless_borrow suggestion doesn't go far enough
  https://github.com/rust-lang/rust-clippy/issues/8389
</content>
</entry>
<entry>
<title>clippy: Rename a `decode_chanmsg` from `handle_`</title>
<updated>2022-01-19T18:46:13Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-01-19T18:45:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9a77b23cddee1ed378ac0af8c2b248c3880bc069'/>
<id>urn:sha1:9a77b23cddee1ed378ac0af8c2b248c3880bc069</id>
<content type='text'>
As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/249#note_2771025

It doens't really handle it.
</content>
</entry>
<entry>
<title>clippy: Rename a `from_foo` method that doesn't do conversion</title>
<updated>2022-01-19T17:26:09Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-01-19T17:20:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4338999488cd332544c6d91cee6b42a36ebe569'/>
<id>urn:sha1:c4338999488cd332544c6d91cee6b42a36ebe569</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Describe when we will need SendmeAcceptMinVersion</title>
<updated>2022-01-12T20:52:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-12T20:52:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bbf7c59b2dc7ed8aeaf3604beeb619961874610c'/>
<id>urn:sha1:bbf7c59b2dc7ed8aeaf3604beeb619961874610c</id>
<content type='text'>
(spoiler: not until we have a relay implementation)

Closes #53.
</content>
</entry>
<entry>
<title>Change RequireSendmeAuth to an enum.</title>
<updated>2022-01-12T20:46:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-12T20:46:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e335f6c75aca2a39244390bd5f3c8ca66b2071d4'/>
<id>urn:sha1:e335f6c75aca2a39244390bd5f3c8ca66b2071d4</id>
<content type='text'>
This is a fine example of why booleans are risky:
it's far to easy to pass "animate:bool" into "inanimate:bool" like
we did here.

This is a followup from our fix to #294.
</content>
</entry>
<entry>
<title>Fix a boolean inversion in auth_sendme_optional.</title>
<updated>2022-01-12T20:36:55Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-12T20:32:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e915c39465d616d71e57331d89e02235f156a31'/>
<id>urn:sha1:1e915c39465d616d71e57331d89e02235f156a31</id>
<content type='text'>
Previously we were requiring authenticated sendme cells exactly when we
should be permitting the old format, and vice versa.

This bug was caused by using a boolean to represent one property, but
with giving that boolean two different senses without inverting at the
right time.

The next commit will prevent a recurrence.

Closes #294
</content>
</entry>
</feed>
