From 766c41c82061d4fe70d2411dfc0f2d036030d5b8 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 25 Oct 2007 03:41:25 +0000 Subject: [PATCH] r16134@catbus: nickm | 2007-10-24 23:34:59 -0400 Merge 122 into dir-spec.txt; mark it closed. svn:r12175 --- doc/TODO | 4 +-- doc/spec/dir-spec.txt | 47 ++++++++++++++++--------- doc/spec/proposals/000-index.txt | 4 +-- doc/spec/proposals/122-unnamed-flag.txt | 2 +- 4 files changed, 36 insertions(+), 21 deletions(-) diff --git a/doc/TODO b/doc/TODO index 5e5bbdaeec..ce095db350 100644 --- a/doc/TODO +++ b/doc/TODO @@ -79,8 +79,8 @@ Things we'd like to do in 0.2.0.x: - 105: Version negotiation for the Tor protocol . 111: Prioritize local traffic over relayed. - Merge into tor-spec.txt. - . 122: Network status entries need an Unnamed flag - - Merge into dir-spec.txt + o 122: Network status entries need an Unnamed flag + o Merge into dir-spec.txt o Implement voting side o Set Named and Unnamed sensibly o Don't reject Unnamed routers. diff --git a/doc/spec/dir-spec.txt b/doc/spec/dir-spec.txt index 2920aef6ce..61ac7d293b 100644 --- a/doc/spec/dir-spec.txt +++ b/doc/spec/dir-spec.txt @@ -965,6 +965,10 @@ $Id$ binds X to some other Y'.) A router is called 'Named' if the router believes the given name should be bound to the given key. + "Unnamed" -- Directory authorities that support naming should vote for a + router to be 'Unnamed' if its given nickname is mapped a different + identity. + "Running" -- A router is 'Running' if the authority managed to connect to it successfully within the last 30 minutes. @@ -1061,6 +1065,17 @@ $Id$ _any_ authority, and if all authorities that list it list the same nickname. + - If consensus-method 2 or later is in use, it is also a + requirement to be Named that no authority calls the router's + identity and nickname pair "Unnamed". + + * If consenuss-method 2 or later is in use, the Unnamed flag is + set for a routerstatus if any authorities have voted for a different + identities to be Named with that nickname, or if any authority + lists that nickname/ID pair as Unnamed. + + (With consenus-method 1, Unnamed is set like any other flag.) + * The version is given as whichever version is listed by the most voters, with ties decided in favor of more recent versions. @@ -1077,9 +1092,10 @@ $Id$ half) generate and sign the same signed consensus. To achieve this, authorities list in their votes their supported methods - for generating consensuses from votes. The method described above and - implemented in Tor 0.2.0.x is "1". Later methods will be assigned higher - numbers. + for generating consensuses from votes. Later methods will be assigned + higher numbers. Currently recognized methods: + "1" -- The first implemented version. + "2" -- Added support for the Unnamed flag. Before generating a consensus, an authority must decide which consensus method to use. To do this, it looks for the highest version number @@ -1488,26 +1504,25 @@ $Id$ 6.2. Managing naming - [XXXX rewrite for v3] - In order to provide human-memorable names for individual server identities, some directory servers bind names to IDs. Clients handle names in two ways: When a client encounters a name it has not mapped before: - If all the live "Naming" network-status documents the client has - claim that the name binds to some identity ID, and the client has at - least three live network-status documents, the client maps the name to - ID. + If the consensus lists any router with that name as "Named", or if + consensus-method 2 or later is in use and the consensus lists any + router with that name as having the "Unnamed" flag, then the name is + bound. (It's bound to the ID listed in the entry with the Named, + or to an unknown ID if no name is found.) - When a user tries to refer to a router with a name that does not have a - mapping under the above rules, the implementation SHOULD warn the user. - After giving the warning, the implementation MAY use a router that at - least one Naming authority maps the name to, so long as no other naming - authority maps that name to a different router. If no Naming authority - maps the name to a router, the implementation MAY use any router that - advertises the name. + When the user refers to a bound name, the implementation SHOULD provide + only the router with ID bound to that name, and no other router, even + if the router with the right ID can't be found. + + When a user tries to refer to a non-bound name, the implementation SHOULD + warn the user. After warning the use, the implementation MAY use any + router that advertises the name. Not every router needs a nickname. When a router doesn't configure a nickname, it publishes with the default nickname "Unnamed". Authorities diff --git a/doc/spec/proposals/000-index.txt b/doc/spec/proposals/000-index.txt index 2a13cbf6d9..1457420f53 100644 --- a/doc/spec/proposals/000-index.txt +++ b/doc/spec/proposals/000-index.txt @@ -44,7 +44,7 @@ Proposals by number: 119 New PROTOCOLINFO command for controllers [CLOSED] 120 Suicide descriptors when Tor servers stop [OPEN] 121 Hidden Service Authentication [OPEN] -122 Network status entries need a new Unnamed flag [OPEN] +122 Network status entries need a new Unnamed flag [CLOSED] 123 Naming authorities automatically create bindings [OPEN] @@ -61,7 +61,6 @@ Proposals by status: 117 IPv6 exits 120 Suicide descriptors when Tor servers stop 121 Hidden Service Authentication - 122 Network status entries need a new Unnamed flag 123 Naming authorities automatically create bindings ACCEPTED: 101 Voting on the Tor Directory System @@ -81,6 +80,7 @@ Proposals by status: 108 Base "Stable" Flag on Mean Time Between Failures 109 No more than one server per IP address 119 New PROTOCOLINFO command for controllers + 122 Network status entries need a new Unnamed flag SUPERSEDED: 112 Bring Back Pathlen Coin Weight DEAD: diff --git a/doc/spec/proposals/122-unnamed-flag.txt b/doc/spec/proposals/122-unnamed-flag.txt index 63e35e712a..1a53c5cc3d 100644 --- a/doc/spec/proposals/122-unnamed-flag.txt +++ b/doc/spec/proposals/122-unnamed-flag.txt @@ -4,7 +4,7 @@ Version: $Revision$ Last-Modified: $Date$ Author: Roger Dingledine Created: 04-Oct-2007 -Status: Accepted +Status: Closed 1. Overview: