diff --git a/doc/TODO b/doc/TODO index c75238db88..6a1fc66929 100644 --- a/doc/TODO +++ b/doc/TODO @@ -56,7 +56,7 @@ For 0.1.0.x: simple to trigger. for 0.1.1.x: -N . Controller improvements + o Controller improvements o new controller protocol o Specify o Implement @@ -69,34 +69,36 @@ N . Controller improvements immediately, since tor will exit right after. o Implement o Test, debug - - Additional features + o Switch example controllers to use new protocol + o Python + o Implement main controller interface + o Glue code + o Testing + o Java + o Implement main controller interface + o Glue code + o Testing +N - Additional controller features - Expose more information via getinfo o Accounting status - Helper node status + - Review all static fields for candidates + - List of available getinfo/getconf fields. - Allow EXTENDCIRCUIT to unknown server. - We need some way to adjust server status, and to tell tor not to download directories/network-status, and a way to force a download. - It would be nice to request address lookups from the controller without using SOCKS. - . Switch example controllers to use new protocol - . Python - o Implement main controller interface - o Glue code - o Testing - . Java - o Implement main controller interface - o Glue code - o Testing -N . Make configuration parsing code switchable to different sets of + o Make configuration parsing code switchable to different sets of variables so we can use it for persistence. o Implement o Add simple type-checking - - Rename functions to distinguish configuration-only functions from + o Rename functions to distinguish configuration-only functions from cross-format functions N . helper nodes (Choose N nodes randomly; if a node dies (goes down for a long time), replace it. Store nodes on disk. o Implement (basic case) - - Implement (persistence) + o Implement (persistence) - Document - Test, debug - On sighup, if usehelpernodes changed to 1, use new circs. @@ -111,7 +113,7 @@ N - Make a FirewallIPs to correspond to firewallPorts so I can use Tor at first place.) Also, we should audit all users of get_pending_bytes().) - Make it harder to circumvent bandwidth caps: look at number of bytes sent across sockets, not number sent inside TLS stream. -N . Handle rendezvousing with unverified nodes. + . Handle rendezvousing with unverified nodes. o Specify: Stick rendezvous point's address and port in INTRODUCE cell. o Handle new format. o Support to extend circuit/target circuit to a chosen combination of @@ -120,13 +122,15 @@ N . Handle rendezvousing with unverified nodes. o Generate new format (#ifdef out the logic to generate it for now) o Specify: make service descriptors contain onion key and identity. o Implement new service desc format - - Think: are we okay with the partitioning? + o Think: are we okay with the partitioning? (Yes. It's a simple + migration issue.) o Implement new directory code o Implement new server code (Don't enable till directory code is deployed) o Implement new client code (Don't enable till directory code is deployed) o Look for v1 descriptor if available, else look for v0 descriptor. o Use new INTRODUCE protocol if allowed. - . Verify that new code works. +N . Verify that new code works. + - Enable the new code X It looks like tor_assert writes to stderr. This isn't a problem, because start_daemon doesn't close fd 2; it uses dup2 to replace it with a file open to /dev/null. @@ -136,12 +140,12 @@ N . Handle rendezvousing with unverified nodes. extend-data cells can be extend requests. - Specify, including thought about - Implement - - Destroy and truncated cells should have reasons. - - Add private:* alias in exit policies to make it easier to ban all the +N - Destroy and truncated cells should have reasons. +N - Add private:* alias in exit policies to make it easier to ban all the fiddly little 192.168.foo addresses. (AGL had a patch; consider applying it.) - recommended-versions for client / server ? - - warn if listening for SOCKS on public IP. +N - warn if listening for SOCKS on public IP. o Forward-compatibility: add "needclientversion" option or "opt critical" prefix? No, just make unknown keywords less critical. - cpu fixes: