commit 72a83c7da586c82b15dbded214742d1169b83f4e Author: Nick Mathewson nickm@torproject.org Date: Wed Nov 14 22:55:51 2012 -0500
Clarify RESOLVED cell contents.
There is not a "status byte" preceding the list of answers; there is only a list of answers.
Also, due to limited implementations in current Tors, RESOLVED cells must have the IPv4 address, if any, first. --- tor-spec.txt | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/tor-spec.txt b/tor-spec.txt index e913a5f..186b7c0 100644 --- a/tor-spec.txt +++ b/tor-spec.txt @@ -1186,8 +1186,9 @@ see tor-design.pdf. RELAY_RESOLVE cell containing the hostname to be resolved with a NUL terminating byte. (For a reverse lookup, the OP sends a RELAY_RESOLVE cell containing an in-addr.arpa address.) The OR replies with a - RELAY_RESOLVED cell containing a status byte, and any number of - answers. Each answer is of the form: + RELAY_RESOLVED cell containing any number of answers. Each answer is + of the form: + Type (1 octet) Length (1 octet) Value (variable-width) @@ -1202,6 +1203,9 @@ see tor-design.pdf.
If any answer has a type of 'Error', then no other answer may be given.
+ For backward compatibility, if there are any IPv4 answers, one of those + must be given as the first answer. + The RELAY_RESOLVE cell must use a nonzero, distinct streamID; the corresponding RELAY_RESOLVED cell must use the same streamID. No stream is actually created by the OR when resolving the name.