Procházet zdrojové kódy

same todo file as before, just moving to doc/

svn:r189
Roger Dingledine před 22 roky
rodič
revize
0ff1d28fae
1 změnil soubory, kde provedl 117 přidání a 0 odebrání
  1. 117 0
      doc/TODO

+ 117 - 0
doc/TODO

@@ -0,0 +1,117 @@
+
+Legend:
+SPEC!!  - Not specified
+SPEC    - Spec not finalized
+NICK    - nick claims
+ARMA    - arma claims
+        - Not done
+        * Top priority
+        . Partially done
+        o Done
+        D Deferred
+        X Abandoned
+
+
+        - Use a stronger cipher
+                - 3des for now
+                - aes when we everybody has openssl 0.9.7
+        . Topics / circuits
+                o Implement topics
+                - Rotate circuits after N minutes?
+                - Circuits should expire when circuit->expire triggers
+NICK            . Handle half-open connections
+NICK    . On the fly compression of each stream
+        o Clean up the event loop (optimize and sanitize)
+        - Exit policies
+                - Path selection algorithms
+                        - Let user request certain nodes
+                        - And disallow certain nodes
+                        - Choose path by jurisdiction, etc?
+        D Implement our own memory management, at least for common structs
+        . Appropriate logging
+                - Come up with convention for what log level means what
+                - Make code follow convention
+        . Terminology
+                o Circuits, topics, cells stay named that
+                - 'Connection' gets divided, or renamed, or something?
+        . DNS farm
+                o Distribute queries onto the farm, get answers
+                o Preemptively grow a new worker before he's needed
+                - Prune workers when too many are idle
+                o Keep track of which connections are in dns_wait
+                o Need to cache positives/negatives on the tor side
+                        o Keep track of which queries have been asked
+                . Better error handling when
+                        . An address doesn't resolve
+                        - We have max workers running
+                - Consider taking the master out of the loop?
+        . Directory servers
+                - Automated reputation management
+ARMA            - Include key in source; sign directories
+ARMA            - Have directories list recommended-versions
+                        - Quit if running the wrong version
+                        - Command-line option to override quit
+                . Add more information to directory server entries
+                        - Exit policies
+                        - jurisdiction? others?
+SPEC!!          - Figure out how to do threshold directory servers
+        . Scrubbing proxies
+                - Find an smtp proxy?
+                - Find an ftp proxy? Figure out how that would work?
+                - Wait until there are packet redirectors for Linux
+                . Get socks4a support into Mozilla
+        . Get tor to act like a socks server
+                o socks4, socks4a
+                - socks5
+SPEC!!          - Handle socks commands other than connect, eg, bind?
+        - Develop rendezvous points
+        D Implement reply onions
+        D Deploy and manage open source development site.
+        . Documentation
+                . Discussion of socks, tsocks, etc
+                - On-the-network protocol
+                        - Onions
+                        - Cells
+                . Better comments for functions!
+        - Tests
+                - Testing harness/infrastructure
+                - Unit tests
+                - System tests (how?)
+                - Performance tests, so we know when we've improved
+                        . webload infrastructure (Bruce)
+                        . httperf infrastructure (easy to set up)
+                        . oprofile (installed in RH 8.0)
+        D Deploy a widespread network
+        . Router twins
+                o Choose twin if primary is down, when laying circuit
+                - Load balancing between twins
+                        - Keep track of load over links/nodes, to
+                          know who's hosed
+NICK    - Daemonize and package
+                o Teach it to fork and background
+                - Red Hat spec file
+                - Debian spec file equivalent
+                
+        . Autoconf
+                . Which .h files are we actually using? Port to:
+                        o Linux
+                        o BSD
+                        . Solaris
+                        . Windows
+NICK                    . OS X
+        . Move away from openssl
+                o Abstract out crypto calls
+                D Look at ndss, others? Just include code?
+
+        . transition addr to sin_addr (huh?)
+
+        . Clean up the number of places that get to look at prkey
+SPEC!!  - Non-clique topologies, clearer bandwidth management
+        . Look at OR handshake in more detail
+                o Spec it
+                - Merge OR and OP handshakes?
+                - Periodic link key rotation. Spec?
+        - More flexibility in node addressing
+                - Support IPv6 rather than just 4
+                - Handle multihomed servers
+