No circuit tear-down after protocol violation through an EXTEND2 in a RELAY cell
Summary
The tor-spec.txt
demands the following:
When speaking v2 of the link protocol or later, clients MUST only send EXTEND/EXTEND2 cells inside RELAY_EARLY cells.
This statement implicates, that an EXTEND2
cell in a RELAY
cell instead of a RELAY_EARLY
cell is considered a protocol violation.
However, sending an EXTEND2
in a RELAY
cell will lead to an ignorance, rather than a tear-down of the circuit, which I would expect from a protocol violation.
(While this may sound a trivial issue, it could have saved me several hours of debugging)
Steps to reproduce:
- Send a valid
EXTEND2
cell in aRELAY
cell - Do not receive any feedback
What is the current bug behavior?
No protocol violation is indicated.
What is the expected behavior?
Receiving a DESTROY
cell with the reason set to a protocol violation.
Environment
Tor version 0.4.7.13.
Tor is running on OpenBSD with Libevent 2.1.12-stable, OpenSSL LibreSSL 3.7.2, Zlib 1.2.13, Liblzma N/A, Libzstd N/A and Unknown N/A as libc.
Tor compiled with clang version 13.0.0