Browse Source

r11663@Kushana: nickm | 2006-12-20 21:37:50 -0500
Add notes and comments to dir-spec.txt based on email to or-dev from Keith Skinner.


svn:r9166

Nick Mathewson 19 years ago
parent
commit
b9baed40fe
1 changed files with 12 additions and 4 deletions
  1. 12 4
      doc/dir-spec.txt

+ 12 - 4
doc/dir-spec.txt

@@ -217,7 +217,9 @@ $Id$
 
        These lines, in order, describe the rules that an OR follows when
        deciding whether to allow a new stream to a given address.  The
-       'exitpattern' syntax is described below.
+       'exitpattern' syntax is described below.  The rules are considered in
+       order; if no rule matches, the address will be accept.  For clarity,
+       the last such entry SHOULD be accept *:* or reject *:*.
 
     "router-signature" NL Signature NL
 
@@ -234,9 +236,10 @@ $Id$
 
     "family" names NL
 
-        'Names' is a whitespace-separated list of server nicknames. If two
-        ORs list one another in their "family" entries, then OPs should treat
-        them as a single OR for the purpose of path selection.
+        'Names' is a space-separated list of server nicknames or
+        hexdigests. If two ORs list one another in their "family" entries,
+        then OPs should treat them as a single OR for the purpose of path
+        selection.
 
         For example, if node A's descriptor contains "family B", and node B's
         descriptor contains "family A", then node A and node B should never
@@ -272,10 +275,15 @@ $Id$
 2.1. Nonterminals in router descriptors
 
    nickname ::= between 1 and 19 alphanumeric characters, case-insensitive.
+   hexdigest ::= a '$', followed by 20 hexadecimal characters.
+      [Represents a server by the digest of its identity key.]
 
    exitpattern ::= addrspec ":" portspec
    portspec ::= "*" | port | port "-" port
    port ::= an integer between 1 and 65535, inclusive.
+      [Some implementations incorrectly generate ports with value 0.
+       Implementations SHOULD accept this, and SHOULD NOT generate it.]
+
    addrspec ::= "*" | ip4spec | ip6spec
    ipv4spec ::= ip4 | ip4 "/" num_ip4_bits | ip4 "/" ip4mask
    ip4 ::= an IPv4 address in dotted-quad format