TODO.022 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Nick's initial priorities for Tor 0.2.2:
  2. NOTE 1: I'm not looking at fiddly little stuff from TODO.021 yet. We
  3. can do a step where we triage the nice-to-have issues.
  4. NOTE 2: It's easy to list stuff like this with no time estimates and
  5. no target dates. I think we should pick a target date for
  6. 0.2.2, figure out how long the stuff we want will take, and
  7. triage accordingly, or vice versa.
  8. - Performance, mostly protocol-neutral.
  9. o Revise how we do bandwidth limiting and round-robining between
  10. circuits on a connection.
  11. . Revise how we do bandwidth limiting and round-robining between
  12. connections.
  13. - Better flow-control to avoid filling buffers on routers.
  14. - Figure out good ways to instrument Tor internals so we can tell
  15. how well our bandwidth and flow-control stuff is actually working.
  16. - What ports eat the bandwidth?
  17. - How full do queues get?
  18. - How much latency do queues get?
  19. - Rate limit at clients:
  20. - Give clients an upper bound on how much they're willing to use
  21. the network if they're not relaying?
  22. - ... or group client circuits by IP at the server and rate-limit
  23. like that.
  24. - Use if-modified-since to download consensuses
  25. - Other features
  26. - Proposals to implement:
  27. - 146: reflect long-term stability in consensuses
  28. - 147: Stop using v2 directories to generate v3 votes.
  29. - Start pinging as soon as we learn about a relay, not on a
  30. 22-minute cycle. Prioritize new and volatile relays for
  31. testing.
  32. - Proposals to improve and implement
  33. - 158: microdescriptors
  34. o Revise proposal
  35. - Implement
  36. - Proposals to improve and implement if not broken
  37. D IPv6 support. (Parts of 117, but figure out how to handle DNS
  38. requests.)
  39. - 140: Directory diffs
  40. - Need a decent simple C diff implementation.
  41. - Need a decent simple C ed patch implementation.
  42. - 149: learn info from netinfo cells.
  43. o Start discussion
  44. - Revise proposal based on discussion.
  45. X 134: handle authority fragmentation (Needs more analysis)
  46. - 165: Easy migration for voting authority sets
  47. - 163: Detect client-status better
  48. o Write proposal
  49. - Possibly implement, depending on discussion.
  50. - 164: Have authorities report relay and voting status better: make it
  51. easy to answer, "Why is my server not listed/not Guard/not
  52. Running/etc"
  53. o Write proposal
  54. - Possibly implement, depending on discussion
  55. - 162: Have consensuses come in multiple "flavours".
  56. o Write proposal
  57. - Possibly implement, depending on discussion.
  58. - Needs a proposal, or at least some design
  59. - Weaken the requirements for being a Guard, based on K's
  60. measurements.
  61. K - Finish measurements
  62. K? - Write proposal
  63. - Adaptive timeouts for giving up on circuits and streams.
  64. M - Revise proposal 151
  65. - Downweight guards more sensibly: be more forgiving about using
  66. Guard nodes as non-first-hop.
  67. - Write proposal.
  68. - Lagged weight updates in consensuses: don't just move abruptly.
  69. M? - Write proposal
  70. d Don't kill a circuit on the first failed extend.
  71. - Installers
  72. - Switch to MSI on win32
  73. - Use Thandy, perhaps?
  74. o Deprecations
  75. o Make .exit safe, or make it off-by-default.