[tor-bugs] #27325 [Core Tor/Tor]: Rework NETINFO cell parsing and generation with trunnel
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Nov 20 18:30:05 UTC 2018
#27325: Rework NETINFO cell parsing and generation with trunnel
-------------------------------------------------+-------------------------
Reporter: rl1987 | Owner: rl1987
Type: enhancement | Status:
| needs_information
Priority: Medium | Milestone: Tor:
| 0.4.0.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: trunnel wireformat heartbleed- | Actual Points:
safety security parsing |
Parent ID: #27143 | Points:
Reviewer: dgoulet | Sponsor:
-------------------------------------------------+-------------------------
Comment (by dgoulet):
Replying to [comment:9 rl1987]:
> Replying to [comment:8 dgoulet]:
> > This is my main worry right now:
https://github.com/torproject/tor/pull/370#pullrequestreview-167479209
> >
>
> In RELAY_RESOLVED there's also TTL value, which NETINFO does not have. I
suppose we could define an object consisting of type-length-value sequence
and use it in both cells. That would require to either: 1) Implement file
include feature in trunnel (AFAIK it doesn't support that) or 2) have both
RELAY_RESOLVED and NETINFO cells defined in the same trunnel file (e.g.
cells.trunnel or handshake.trunnel or something).
Hmmm so I think the `TTL` field is specific to the `RELAY_RESOLVED` cell
so in theory we could do a trunnel definition (thus obj) that would
represent an "address" as section 6.4 specifies *without* the TTL.
Then we would use that object with `RELAY_RESOLVED` and explicitly add the
TTL field. Sorta makes sense?
>
> Or we could explicitly decouple wire formats of the two cells and decide
that they are independently defined. RELAY_RESOLVED addresses can have one
of the five types (hostname, IPv4, IPv6, transient error, non-transient
error), but does the same apply for NETINFO? Does it make sense to ever
send hostname in NETINFO cell during handshake? Error conditions can
always happen, but does Tor protocol specify a way to signal them when
NETINFO cell is needed?
>
> My code takes second path, but I think we need to take a step back and
do a little bit of design work here and possibly a patch to tor-spec
regarding how addresses are represented in Tor cells and whether or not
there is/should be a dependency between common part of wire format in
different cells.
The problem with changing the format is backward compatibility so changing
what those cells contain is a big endeavor tbh.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27325#comment:11>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list