123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- Nick's initial priorities for Tor 0.2.2:
- NOTE 1: I'm not looking at fiddly little stuff from TODO.021 yet. We
- can do a step where we triage the nice-to-have issues.
- NOTE 2: It's easy to list stuff like this with no time estimates and
- no target dates. I think we should pick a target date for
- 0.2.2, figure out how long the stuff we want will take, and
- triage accordingly, or vice versa.
- - Design only
- - Begin design work for UDP transition; identify areas where we need to
- make changes or instrument stuff early.
- [multiple weeks, ongoing. Need to do a draft early.]
- - Performance, mostly protocol-neutral.
- - Work with Libevent 2.0's bufferevent interface
- - Identify any performance stuff we need to push back into
- libevent to make it as fast as we want.
- - Get a decent rate-limiting feature into Libevent
- - Get openssl support into Libevent.
- - Revise how we do bandwidth limiting and round-robining between
- circuits on a connection.
- - Revise how we do bandwidth limiting and round-robining between
- connections.
- - Better flow-control to avoid filling buffers on routers.
- - Split AES across cores if possible.
- - Split SSL across cores (reach; may require Libevent 2.1).
- - Figure out good ways to instrument Tor internals so we can tell
- how well our bandwidth and flow-control stuff is actually working.
- - What ports eat the bandwidth?
- - How full do queues get?
- - How much latency do queues get?
- - Rate limit at clients:
- - Give clients an upper bound on how much they're willing to use
- the network if they're not relaying?
- - ... or group client circuits by IP at the server and rate-limit
- like that.
- - Use if-modified-since to download consensuses
- - Other features
- - Proposals to implement:
- - 146: reflect long-term stability in consensuses
- - 147: Stop using v2 directories to generate v3 votes.
- - Start pinging as soon as we learn about a relay, not on a
- 22-minute cycle. Prioritize new and volatile relays for
- testing.
- - Proposals to improve and implement
- - 158: microdescriptors
- o Revise proposal
- - Implement
- o 160: list bandwidth in consensus
- o Finish proposal
- o and actually set it reasonably
- o and actually use it.
- - Proposals to improve and implement if not broken
- D IPv6 support. (Parts of 117, but figure out how to handle DNS
- requests.)
- - 140: Directory diffs
- - Need a decent simple C diff implementation.
- - Need a decent simple C ed patch implementation.
- - 149: learn info from netinfo cells.
- o Start discussion
- - Revise proposal based on discussion.
- X 134: handle authority fragmentation (Needs more analysis)
- - 165: Easy migration for voting authority sets
- - 163: Detect client-status better
- o Write proposal
- - Possibly implement, depending on discussion.
- - 164: Have authorities report relay and voting status better: make it
- easy to answer, "Why is my server not listed/not Guard/not
- Running/etc"
- o Write proposal
- - Possibly implement, depending on discussion
- - 162: Have consensuses come in multiple "flavours".
- o Write proposal
- - Possibly implement, depending on discussion.
- - Needs a proposal, or at least some design
- - Weaken the requirements for being a Guard, based on K's
- measurements.
- K - Finish measurements
- K? - Write proposal
- - Adaptive timeouts for giving up on circuits and streams.
- M - Revise proposal 151
- - Downweight guards more sensibly: be more forgiving about using
- Guard nodes as non-first-hop.
- - Write proposal.
- - Lagged weight updates in consensuses: don't just move abruptly.
- M? - Write proposal
- d Don't kill a circuit on the first failed extend.
- - Installers
- - Switch to MSI on win32
- - Use Thandy, perhaps?
- - Deprecations
- - Make .exit safe, or make it off-by-default.
|