| 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 measurementsK?    - 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.
 |