TODO 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. For September:
  13. - Windows port
  14. - works as client
  15. - deal with pollhup / reached_eof on all platforms
  16. - robust as a client
  17. - works as server
  18. - can be configured
  19. - robust as a server
  20. - docs for building in win
  21. - installer?
  22. - Docs
  23. - FAQ
  24. - overview of tor. how does it work, what's it do, pros and
  25. cons of using it, why should I use it, etc.
  26. - a howto tutorial with examples
  27. - tutorial: how to set up your own tor network
  28. - (need to not hardcore dirservers file in config.c)
  29. - correct, update, polish spec
  30. - document the exposed function api?
  31. - document what we mean by socks.
  32. - packages
  33. - rpm
  34. - find a long-term rpm maintainer
  35. - code
  36. - better warn/info messages
  37. - let tor do resolves.
  38. - extend socks4 to do resolves?
  39. - make script to ask tor for resolves
  40. - tsocks
  41. - gather patches, submit to maintainer
  42. - intercept gethostbyname and others, do resolve via tor
  43. - redesign and thorough code revamp, with particular eye toward:
  44. - support half-open tcp connections
  45. - conn key rotation
  46. - other transports -- http, airhook
  47. - modular introduction mechanism
  48. - allow non-clique topology
  49. Other details and small things:
  50. - hidserv offerers shouldn't need to define a SocksPort
  51. - when the client fails to pick an intro point for a hidserv,
  52. it should refetch the hidserv desc.
  53. . should maybe make clients exit(1) when bad things happen?
  54. e.g. clock skew.
  55. - should retry exitpolicy end streams even if the end cell didn't
  56. resolve the address for you
  57. - Add '[...truncated]' or similar to truncated log entries (like the directory
  58. in connection_dir_process_inbuf()).
  59. . Make logs handle it better when writing to them fails.
  60. - Dirserver shouldn't put you in running-routers list if you haven't
  61. uploaded a descriptor recently
  62. . Refactor: add own routerinfo to routerlist. Right now, only
  63. router_get_by_nickname knows about 'this router', as a hack to
  64. get circuit_launch_new to do the right thing.
  65. Rendezvous service:
  66. - preemptively build and start rendezvous circs
  67. - preemptively build n-1 hops of intro circs?
  68. - cannibalize general circs?
  69. - fix router_get_by_* functions so they can get ourselves too,
  70. and audit everything to make sure rend and intro points are
  71. just as likely to be us as not.
  72. In the distant future:
  73. . Scrubbing proxies
  74. - Find an smtp proxy?
  75. . Get socks4a support into Mozilla
  76. - migrate to using IPv6 sizes everywhere
  77. - handle half-open tcp conns
  78. - Extend by nickname/hostname/something, not by IP.
  79. - Need a relay teardown cell, separate from one-way ends.
  80. - Make it harder to circumvent bandwidth caps: look at number of bytes
  81. sent across sockets, not number sent inside TLS stream.
  82. - Look at having smallcells and largecells
  83. D Advanced directory servers
  84. D Automated reputation management
  85. D Figure out how to do threshold directory servers
  86. D jurisdiction info in dirserver entries? other info?
  87. X On the fly compression of each stream