]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
r7056@Kushana: nickm | 2006-08-08 23:40:53 -0700
authorNick Mathewson <nickm@torproject.org>
Wed, 9 Aug 2006 06:41:29 +0000 (06:41 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 9 Aug 2006 06:41:29 +0000 (06:41 +0000)
 Add a comment about v0 fallback approach. Why did we dislike discriminating on X.509 certs again?

svn:r6996

doc/tor-spec.txt

index 2a1ec39993b9ac8c66805ffe28e479eff2398bca..1179f131f61f6a7fbd1aa7fc56c49c3c6d9e95c7 100644 (file)
@@ -138,8 +138,8 @@ when do we rotate which keys (tls, link, etc)?
    additional fields to existing structures; implementations are constrained
    to ignore fields they do not expect.
 
-   Parties negotiate OR connection versions as described below in section
-   
+   Parties negotiate OR connection versions as described below in sections
+   4.1 and 4.2.
 
 2. Connections
 
@@ -305,13 +305,22 @@ when do we rotate which keys (tls, link, etc)?
    0 when the other side is recognized as a router running version
    0.1.2.??-alpha or earlier.
 
-   If a server finds that it wants to send a cell (for example because a
+   [If a server finds that it wants to send a cell (for example because a
    circuit wants to extend to that client, and the TLS connection
    is already established) yet no cell has arrived yet, we can't
    distinguish between a version 0 client and a slow network. We can't
    assume that the other side approves of version 0, so we can't just
    start using version 0. Perhaps the right answer is to then launch a
-   new TLS connection because you don't have a usable one after all?
+   new TLS connection because you don't have a usable one after all? -RD]
+
+   [That would seem to be thrashy.  Let's see if we can do better.  Remember,
+   normal v0 clients always send something after connecting, so if we have
+   had a connection for a while and gotten nothing over it, we could get away
+   with assuming it's bad.  Alternatively, we could identify V0 clients by
+   the OU=Tor field in the certificates: we don't check for it, and we never
+   documented it.  We might break other people's clients by sending them
+   hello cells, but only if those clients are nonconformant.  Am I right?
+   In any case, this seems way more reliable.  -NM]
 
 5. Circuit management