[tor-dev] Clarification of prop 186

Nick Mathewson nickm at alum.mit.edu
Tue Jul 17 13:31:48 UTC 2012

On Tue, Jul 17, 2012 at 12:24 AM, Linus Nordberg <linus at torproject.org> wrote:
> Hi,
> Can votes and consensuses have more than one "a" line? Prop 186 says, on
> one hand
>   [...] votes should include a single "a" line for every relay that has
>   an IPv6 address, to include the first IPv6 line in its
>   descriptor. [...] The remaining or-address lines will turn into "a"
>   lines in the microdescriptor.
> I interpret this to mean that there is at most one "a" line in a status
> vote or consensus.
> On the other hand it also says
>   Clients that use microdescriptors should consider a node's addresses
>   to be the address:port listed in the "r" line of a consensus, plus all
>   "a" lines for that node in the consensus, [...]
> and
>   the vote will include whichever set of "a" lines are given by the most
>   authorities who voted for the descriptor digest that will be used for
>   the router.
> (Is "vote" a typo?  Should it read "consensus"?)
> This makes me think there can be more than one "a" line in both votes
> and consensuses.

Ah; I should have made this point explicit.  Here's my current intent:

Everything that describes how these documents are formatted describes
them as containing multiple "a" lines.  Thus, anybody parsing a
consensus or microdescriptor MUST accept multiple "a" lines, even if
they ignore all but the first.

But everything that describes how these documents are *generated*
describes them as containing a single "a" line.  Thus, there doesn't
need a way to come up with a consensus containing multiple a lines.

In other words, I think that for now, one "a" line is fine.  But we
need to make sure that anything reading these documents can handle
more than one, in case we generate them differently later.

Does that make sense?


More information about the tor-dev mailing list