[or-cvs] same todo file as before, just moving to doc/

Roger Dingledine arma at seul.org
Mon Mar 17 23:19:27 UTC 2003


Update of /home/or/cvsroot/doc
In directory moria.mit.edu:/home/arma/work/onion/cvs/doc

Added Files:
	TODO 
Log Message:
same todo file as before, just moving to doc/


--- NEW FILE: TODO ---

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




More information about the tor-commits mailing list