Hi!
Here's a summary of the proposals that have changed their status and
become closed, dead, or superseded since the last one of these emails
I sent out (last year).
I'll summarize the current status of open proposals in my next mail.
I'll try to send these out more regularly.
===== Newly DEAD or SUPERSEDED:
146 Add new flag to reflect long-term stability [SUPERSEDED]
From time to time we get the idea of having clients ship with a
reasonably recent consensus (or a list of directory mirrors),
so instead of bootstrapping from one of the authorities, they
can bootstrap from a regular directory cache. The problem here
is that by the time the client is run, most of the directory
mirrors will be down or will have changed their IP. This
proposal tried to address that.
The applications of this design are achieved by proposal 206
instead. Instead of having the authorities track long-term
stability for nodes that might be useful as directories in a
fallback consensus, we eliminated the idea of a fallback
consensus, and just have a DirSource configuration option.
213 Remove stream-level sendmes from the design [DEAD]
Roger had an idea to improve flow control, then decided it
wasn't a good one. See the comments in this proposal for
more discussion.
===== Implemented in 0.2.3 or earlier
162 Publish the consensus in multiple flavors [FINISHED]
This one got mostly implemented in 0.2.2, with the
introduction of microdescriptor consensus, and in 0.2.3,
where microdescriptors were finished. We never implemented
the meta-document that was going to describe other, future
flavors, however. I should extract that into a new
proposal.
===== Implemented in 0.2.4
117 IPv6 exits [CLOSED]
208 IPv6 Exits Redux [CLOSED]
We implemented IPv6 exit support in 0.2.4.x. There are some
lingering issues not addressed in these proposals -- see
tickets tagged with "ipv6".
186 Multiple addresses for one OR or bridge [CLOSED]
The protocol side of this is implemented as part of the IPv6
work in 0.2.4. Tor doesn't yet use the full range of
options that the format allows, however. See for example
#9729 for work in that area (which needs review!)
198 Restore semantics of TLS ClientHello [CLOSED]
We did this one in 0.2.4.x. This put us back on the track
of being TLS users in good standing, and let us use better
ciphersuites (like ECDHE ones) than the ones we had picked
out in v1 and v2 of the link protocol.
200 Adding new, extensible CREATE, EXTEND, and related cells [CLOSED]
216 Improved circuit-creation key exchange [CLOSED]
These came in 0.2.4.x; the first one allowed us to change
our circuit handshake; the latter specified the ntor
handshake that 0.2.4.x clients and later prefer today.
204 Subdomain support for Hidden Service addresses [FINISHED]
This one allows an (ignored) foo at the front of
foo.bar.onion, for subdomain support. Sadly, I bet it will
never see much use with the introduction of longer onion
addresses in our next-gen hidden service design.
205 Remove global client-side DNS caching [CLOSED]
Caching DNS addresses across circuits presented a user
tagging opportunity, and exposed some linkability across
circuits. This proposal removed the client-side DNS cache
entirely for most purposes in 0.2.4.
206 Preconfigured directory sources for bootstrapping [CLOSED]
This proposal introduces the DirSource option, with 0.2.4
clients (and later) can be set up with to avoid hammering on
the authorities during their initial bootstrapping on the
network.
207 Directory guards [CLOSED]
To avoid client enumeration, this proposal says that clients
should use a guard . Implemented in 0.2.4.
214 Allow 4-byte circuit IDs in a new link protocol [CLOSED]
We've been at risk of having more than 65535 circuits on a
link for a while now; this proposal increased the size of
circuit IDs to avoid that.
221 Stop using CREATE_FAST [CLOSED]
The CREATE_FAST handshake was introduced to avoid using the
TAP handshake on the first hop of circuits, since the TAP
circuit extension handshake provides no benefit over the .
But now that the ntor handshake is (sometimes) available,
that reasoning no longer holds. Implemented in 0.2.4.
222 Stop sending client timestamps [CLOSED]
This proposal enumerated all the places in our protocol
where eavesdroppers, clients, or servers get a view of a
client or server's current time, and explained how to
ameliorate or remove those linkability. Implemented in
0.2.4.
===== Implemented in 0.2.5
217 Tor Extended ORPort Authentication [FINISHED]
We could use an authentication step for using the extended
ORPort, to ensure that local connections are coming from an
authorized pluggable transport. This proposal explains how.
We implemented this in 0.2.5.x as part of the ExtORPort work.
218 Controller events to better understand connection/circuit usage [CLOSED]
This one is actually going to be in 0.2.5.2-alpha; it adds
more controller events for researchers.