[or-cvs] r11085: Prune some completed items from the TODO (in tor/trunk: . doc)

nickm at seul.org nickm at seul.org
Mon Aug 13 18:47:18 UTC 2007


Author: nickm
Date: 2007-08-13 14:47:17 -0400 (Mon, 13 Aug 2007)
New Revision: 11085

Modified:
   tor/trunk/
   tor/trunk/doc/TODO
Log:
 r14530 at catbus:  nickm | 2007-08-13 14:32:37 -0400
 Prune some completed items from the TODO



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r14530] on 8246c3cf-6607-4228-993b-4d95d33730f1

Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO	2007-08-13 18:23:57 UTC (rev 11084)
+++ tor/trunk/doc/TODO	2007-08-13 18:47:17 UTC (rev 11085)
@@ -82,71 +82,31 @@
           the existing one into dir-spec-v2.txt.
         * Describe schedule in copious detail.
       - Get authorities voting
-        o Implement parsing for new document formats
-          o Parse key certificates
-          o Parse votes and consensuses
-          o Unit tests for above
         . Code to manage key certificates
-          o Generate certificates
-          o Authorities load certificates
-          o Clients cache certificates on disk
-          o Learn new ones when they show up in votes.
-          o Forget ones that are very old.
           - Download as needed.
-          o Actually invoke trusted_dirs_flush_certs_to_disk()
           - Serve list as needed.
           o Avoid double-checking signatures every time we get a vote.
           - Warn about expired stuff.
           - Fix all XXXX020s in vote code
-        o Code to generate votes
-        o Code to generate consensus from a list of votes
+        . Code to generate consensus from a list of votes
           * Detect whether votes are really all for the same period.
-        o Add a signature to a consensus.
-          * Unit tests for detached signatures and signature manipulation.
-        o Code to check signatures on a consensus
         - Push/pull documents as appropriate.
-          o Push vote on voting
-            o Push vote
-            o Process vote when received
-              o Even if we get it before we start voting ourself.
-          o Push signature on forming consensus.
-            o Push signature
-            o Add signatures when received
-            o Queue received signatures before consensus is ready
-            o When consensus is ready, use queued signatures.
           - Pull votes and signatures if we don't get them.
-        o Serve consensuses.
         - Store consensuses
         - Cache votes and signatures on disk.
-        o Discard votes in advance of next voting period.
         o Have clients know which authorities are v3 authorities, and what
           their keys are.
           - While we're at it, let v3 authorities have fqdns lines.
       - Start caching consensus documents once authorities make them
       - Start downloading and using consensus documents once caches serve them
     . 104: Long and Short Router Descriptors
-      . Finalize proposal
-      o Implement parsing for extra-info documents
-      o Have routers generate extra-info documents.
-      o Have have authorities accept them and serve them from specified URLs
-        o Implement directory-protocol side.
-        o Implement storage in memory
-        o Implement cache on disk.
-      o Have routers upload extra-info documents to authorities running
-        version 0.2.0.0-alpha-dev (r10070) or later.
-        o Implement, but make it option-controlled.
-        o Make it always-on once it seems to work.
-      o Implement option to download and cache extra-info documents.
-      o Improve the 'retry' logic on extra-info documents.
+      . Merge proposal
       - Drop bandwidth history from router-descriptors
     - 105: Version negotiation for the Tor protocol
     - 108: Base "Stable" Flag on Mean Time Between Failures
       - Track mtbf in rephist.c
       - Record mtbf between invocations
       - Base stable on mtbf.
-    o 109: No more than one server per IP address
-    o 103: Splitting identity key from regularly used signing key
-      o Merge with 101 into a new dir-spec.txt
     - 113: Simplifying directory authority administration
     - 110: prevent infinite-length circuits (phase one)
       - servers should recognize relay_extend cells and pass them
@@ -157,30 +117,10 @@
       dns_request_t both extend an edge_stream_t, and have p_streams and
       n_streams both be linked lists of edge_stream_t.
     . Make cells get buffered on circuit, not on the or_conn.
-      o Implement cell queues
-      o Keep doubly-linked list of active circuits on each or_conn.
-      o Put all relay data on the circuit cell queue, not on the outbuf.
-      o Don't move them into the target conn until there is space on the
-        target conn's outbuf.
-      o When making a circuit active on a connection with an empty buf,
-        we need to "prime" the buffer, so that we can trigger the "I flushed
-        some" test.
-      X Change how directory-bridge-choking works: choke when circuit queue
-        is full, not when the orconn is "too full".
-        [No need to do this: the edge-connection choking will already take
-        care of this a bit, and rewriting the 'bridged connection' code
-        to not use socketpairs will give us even more control.]
-      . Do we switch to pool-allocation for cells?
-        o Implement pool-allocation
-        o Have Tor use it for packed cells.
-        o Document it.
-        o Do something smart with freeing unused chunks.
+      . Switch to pool-allocation for cells?
         - Benchmark pool-allocation vs straightforward malloc.
         - Adjust memory allocation logic in pools to favor a little less
           slack memory.
-      D Can we stop doing so many memcpys on cells?
-      o Also, only package data from exitconns when there is space on the
-        target OR conn's outbuf?  or when the circuit is not too full.
       - MAYBE kill stalled circuits rather than stalled connections; consider
         anonymity implications.
     - Move all status info out of routerinfo into local_routerstatus.  Make
@@ -189,29 +129,9 @@
       router is this?"
     . Remove socketpair-based bridges conns, and the word "bridge".  (Use
       shared (or connected) buffers for communication, rather than sockets.)
-      o Design
-        o Pick a term.  The term is now "linked connection."
-        o Figure out how to ensure that handle_read is always called.
-          (Use event_active; keep active events in a list; use event_once
-          to make sure that we call the event base dispatch function enough.)
       . Implement
-        o Count connections and sockets separately
-        . Allow connections with s == -1
-        o Add a linked_conn field; it should get marked when we're marked.
-        o Add a function to move bytes from buffer to buffer.
-        o Have read_to_buf dtrt for linked connections
-        o Have handle_read dtrt for linked connections
-        o Have an activate/deactivate_linked_connection function.
-        o Have activated connections added to a list on first activation, and
-          that list made active before calls to event_loop.
-        o Have connections get deactivated when no more data to write on
-          linked conn outbuf.
-        o Handle closing connections properly.
-        o Actually create and use linked connections.
         - Handle rate-limiting on directory writes to linked directory
           connections in a more sensible manner.
-        o Rename want_to_read and want_to_write; they're actually about
-          being blocked, not about wanting to read/write.
         - Find more ways to test this.
     D Generate torrc.{complete|sample}.in, tor.1.in, the HTML manual, and the
       online config documentation from a single source.
@@ -236,15 +156,8 @@
   - Features:
     - Traffic priorities
       - Ability to prioritize own traffic over relayed traffic.
-    o Implement a DNS proxy
-      o Make a listener type.
-      o Hook into connection_edge logic.
-      o Hook into evdns_server_* logic
-      o Actually send back a useful answer.
-      o Make it handle .onion and .exit correctly.
-      - Document.
-      - Handle TCP DNS requests too?
-    o Add a way to request DNS resolves from the controller.
+    - DNS Proxy
+      - Document it
     - A better UI for authority ops.
       - Follow weasel's proposal, crossed with mixminion dir config format
       - Write a proposal
@@ -316,7 +229,6 @@
     - Accept \n as end of lines in the control protocol in addition to \r\n.
     - Base relative control socket paths in datadir.
   o Deprecations:
-    o Remove v0 control protocol.
     - can we deprecate 'getinfo network-status'?
     - can we deprecate the FastFirstHopPK config option?
 P - Packaging:
@@ -515,6 +427,8 @@
         download directories/network-status, and a way to force a download.
       - Make everything work with hidden services
 
+Deferred from 0.2.0:
+  - Make a TCP DNSPort
 
 Future version:
   - servers might check certs for known-good ssl websites, and if they



More information about the tor-commits mailing list