TODO 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. Legend:
  2. SPEC!! - Not specified
  3. SPEC - Spec not finalized
  4. NICK - nick claims
  5. ARMA - arma claims
  6. - Not done
  7. * Top priority
  8. . Partially done
  9. o Done
  10. D Deferred
  11. X Abandoned
  12. Flag-day changes: (things which are backward incompatible)
  13. o remove link key from directories, from connection_t.
  14. (just get it from the tls cert)
  15. o Generate link keys on startup; don't store them to disk.
  16. o make onion keys include oaep padding, so you can tell
  17. if you decrypted it correctly
  18. o Rotate onion keys as needed
  19. D Rotate TLS connections [arma]
  20. o Set expiration times on X509 certs [nickm]
  21. o add bandwidthrate and bandwidthburst to server descriptor [nickm]
  22. o directories need to say who signed them. [nickm]
  23. - remove assumption that 0.0.5 doesn't do rendezvous?
  24. D what other pieces of the descriptors need to change?
  25. maybe add a section for who's connected to a given router?
  26. add a flexible section for reputation info?
  27. For September:
  28. - Windows port
  29. - works as client
  30. - deal with pollhup / reached_eof on all platforms
  31. - robust as a client
  32. - works as server
  33. - can be configured
  34. - robust as a server
  35. - docs for building in win
  36. - installer?
  37. - Docs
  38. - FAQ
  39. - overview of tor. how does it work, what's it do, pros and
  40. cons of using it, why should I use it, etc.
  41. - a howto tutorial with examples
  42. - tutorial: how to set up your own tor network
  43. - (need to not hardcore dirservers file in config.c)
  44. - correct, update, polish spec
  45. - document the exposed function api?
  46. - document what we mean by socks.
  47. - packages
  48. - rpm
  49. - find a long-term rpm maintainer
  50. - code
  51. - better warn/info messages
  52. - let tor do resolves.
  53. - extend socks4 to do resolves?
  54. - make script to ask tor for resolves
  55. - tsocks
  56. - gather patches, submit to maintainer
  57. - intercept gethostbyname and others, do resolve via tor
  58. - redesign and thorough code revamp, with particular eye toward:
  59. - support half-open tcp connections
  60. - conn key rotation
  61. - other transports -- http, airhook
  62. - modular introduction mechanism
  63. - allow non-clique topology
  64. Other details and small things:
  65. . should maybe make clients exit(1) when bad things happen?
  66. e.g. clock skew.
  67. - should retry exitpolicy end streams even if the end cell didn't
  68. resolve the address for you
  69. - Add '[...truncated]' or similar to truncated log entries (like the directory
  70. in connection_dir_process_inbuf()).
  71. . Make logs handle it better when writing to them fails.
  72. - Dirserver shouldn't put you in running-routers list if you haven't
  73. uploaded a descriptor recently
  74. . Refactor: add own routerinfo to routerlist. Right now, only
  75. router_get_by_nickname knows about 'this router', as a hack to
  76. get circuit_launch_new to do the right thing.
  77. Rendezvous service:
  78. - preemptively build and start rendezvous circs
  79. - preemptively build n-1 hops of intro circs?
  80. - cannibalize general circs?
  81. - fix router_get_by_* functions so they can get ourselves too,
  82. and audit everything to make sure rend and intro points are
  83. just as likely to be us as not.
  84. In the distant future:
  85. . Scrubbing proxies
  86. - Find an smtp proxy?
  87. . Get socks4a support into Mozilla
  88. - migrate to using IPv6 sizes everywhere
  89. - handle half-open tcp conns
  90. - Extend by nickname/hostname/something, not by IP.
  91. - Need a relay teardown cell, separate from one-way ends.
  92. - Make it harder to circumvent bandwidth caps: look at number of bytes
  93. sent across sockets, not number sent inside TLS stream.
  94. - Look at having smallcells and largecells
  95. D Advanced directory servers
  96. D Automated reputation management
  97. D Figure out how to do threshold directory servers
  98. D jurisdiction info in dirserver entries? other info?
  99. X On the fly compression of each stream