On Tue, Jul 17, 2012 at 12:24 AM, Linus Nordberg linus@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?
yrs,