ソースを参照

r12259@catbus: nickm | 2007-03-21 00:12:02 -0400
Incorporate ideas from or-dev discussion.


svn:r9891

Nick Mathewson 17 年 前
コミット
2ceac73fce
1 ファイル変更37 行追加3 行削除
  1. 37 3
      doc/spec/proposals/105-handshake-revision.txt

+ 37 - 3
doc/spec/proposals/105-handshake-revision.txt

@@ -234,7 +234,38 @@ Discussion: Reducing round-trips
 
 Discussion: Advertising versions in routerdescs and networkstatuses.
 
-   XXXX
+   In network-statuses:
+
+     The networkstatus "v" line now has the format:
+        "v" IMPLEMENTATION IMPL-VERSION "Link" LINK-VERSION-LIST
+            Circuit" CIRCUIT-VERSION-LIST NL
+
+     LINK-VERSION-LIST and CIRCUIT-VERSION-LIST are comma-separated lists of
+     supported version numbers.  IMPLEMENTATION is the name of the
+     implementation of the Tor protocol (e.g., "Tor"), and IMPL-VERSION is the
+     version of the implementation.
+
+     Examples:
+        v Tor 0.2.5.1-alpha Link 0,1,2,3 Circuit 0,2,5
+
+        v OtherOR 2000+ Link 3 Circuit 5
+
+     Implementations that release independently of the Tor codebase SHOULD NOT
+     use "Tor" as the value of their IMPLEMENTATION.
+
+     Additional fields on the "v" line MUSTbe ignored.
+
+   In router descriptors:
+
+     The router descriptor should contain a line of the form,
+       "protocols" "Link" LINK-VERSION-LIST "Circuit" CIRCUIT_VERSION_LIST
+
+     Additional fields on the "protocols" line MUST be ignored.
+
+     [Versions of Tor before 0.1.2.5-alpha rejected router descriptors with
+     unrecognized items; the protocols line should be preceded with an "opt"
+     until these Tors are obsolete.]
+
 
 Security issues:
 
@@ -244,8 +275,11 @@ Security issues:
    version, it will get a disproportionate amount of traffic from clients who
    prefer that version.  We can mitigate this somewhat as follows:
 
-     - Do not have clients prefer any protocol version by default
-       until that version is widespread.
+     - Do not have clients prefer any protocol version by default until that
+       version is widespread.  (First introduce the new version to servers,
+       and have clients admit to using it only when configured to do so for
+       testing.  Then, once many servers are running the new protocol
+       version, enable its use by default.)
 
      - Do not multiply protocol versions needlessly.