mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 14:40:51 +01:00
update TODO to reflect current reality
svn:r404
This commit is contained in:
parent
fdc0389ca0
commit
b800859239
1 changed files with 37 additions and 17 deletions
54
doc/TODO
54
doc/TODO
|
@ -12,17 +12,26 @@ ARMA - arma claims
|
|||
X Abandoned
|
||||
|
||||
|
||||
. Use a stronger cipher
|
||||
o 3des for now
|
||||
- aes now, by including the code ourselves
|
||||
. Topics / circuits
|
||||
o Implement topics
|
||||
o Use a stronger cipher
|
||||
o aes now, by including the code ourselves
|
||||
. streams / circuits
|
||||
o Implement streams
|
||||
o Rotate circuits after N minutes?
|
||||
X Circuits should expire when circuit->expire triggers
|
||||
NICK . Handle half-open connections
|
||||
o Figure out what causes connections to close, standardize
|
||||
when we mark a connection vs when we tear it down
|
||||
o Look at what ssl does to keep from mutating data streams
|
||||
- Reduce streamid footprint from 7 bytes to 3 bytes
|
||||
- Check for collisions in streamid (now possible with
|
||||
just 3 bytes), and back up & replace with padding if so
|
||||
- Use the 3 saved bytes to put pseudorandomness in each cell
|
||||
- Use the 4 reserved bytes in each cell header to keep 1/5
|
||||
of a sha1 of the payload
|
||||
- (Move these 4 bytes into the stream header)
|
||||
- Consider moving length into the stream header too
|
||||
- Spec the stream_id stuff. Clarify that nobody on the backward
|
||||
stream should look at stream_id.
|
||||
X On the fly compression of each stream
|
||||
o Clean up the event loop (optimize and sanitize)
|
||||
ARMA o Remove that awful concept of 'roles'
|
||||
|
@ -32,7 +41,10 @@ ARMA . Exit policies
|
|||
- Let user request certain nodes
|
||||
- And disallow certain nodes
|
||||
D Choose path by jurisdiction, etc?
|
||||
- Rewrite how the AP works
|
||||
- Make relay end cells have failure status and payload attached
|
||||
- Streams that fail due to exit policy must reextend to new node
|
||||
- Add extend_wait state to edge connections, thumb through them
|
||||
when the AP get an extended cell.
|
||||
SPEC!! D Non-clique topologies
|
||||
D Implement our own memory management, at least for common structs
|
||||
. Appropriate logging
|
||||
|
@ -56,6 +68,13 @@ SPEC!! D Non-clique topologies
|
|||
o An address doesn't resolve
|
||||
o We have max workers running
|
||||
o Consider taking the master out of the loop?
|
||||
. Put CPU workers in separate processes
|
||||
o Handle multiple cpu workers (one for each cpu, plus one)
|
||||
o Queue for pending tasks if all workers full
|
||||
o Support the 'process this onion' task
|
||||
- Support the 'decrypt this RSA blob' handshake1 task
|
||||
- Handle cpuworkers dying
|
||||
D Support later handshake parts
|
||||
. Directory servers
|
||||
D Automated reputation management
|
||||
o Include key in source; sign directories
|
||||
|
@ -80,7 +99,7 @@ SPEC!! D Figure out how to do threshold directory servers
|
|||
. Get socks4a support into Mozilla
|
||||
. Get tor to act like a socks server
|
||||
o socks4, socks4a
|
||||
- socks5
|
||||
D socks5
|
||||
SPEC!! - Handle socks commands other than connect, eg, bind?
|
||||
. Develop rendezvous points
|
||||
. Spec (still needs step-by-step instructions)
|
||||
|
@ -100,7 +119,7 @@ NICK . Unit tests
|
|||
- Performance tests, so we know when we've improved
|
||||
. webload infrastructure (Bruce)
|
||||
. httperf infrastructure (easy to set up)
|
||||
. oprofile (installed in RH 8.0)
|
||||
. oprofile (installed in RH >8.0)
|
||||
D Deploy a widespread network
|
||||
. Router twins
|
||||
o Choose twin if primary is down, when laying circuit
|
||||
|
@ -112,29 +131,30 @@ NICK . Daemonize and package
|
|||
- Red Hat spec file
|
||||
- Debian spec file equivalent
|
||||
. Autoconf
|
||||
. Which .h files are we actually using? Port to:
|
||||
. Which .h files are we actually using?
|
||||
. Port to:
|
||||
o Linux
|
||||
o BSD
|
||||
. Solaris
|
||||
. Windows
|
||||
o Cygwin
|
||||
. Win32
|
||||
o OS X
|
||||
o openssl randomness
|
||||
o inet_ntoa
|
||||
- stdint.h
|
||||
. stdint.h
|
||||
- Make a script to set up a local network on your machine
|
||||
D Move away from openssl
|
||||
o Abstract out crypto calls
|
||||
D Look at nss, others? Just include code?
|
||||
|
||||
. transition addr to sin_addr (huh?)
|
||||
|
||||
o Clean up the number of places that get to look at prkey
|
||||
. Clearer bandwidth management
|
||||
- Total rate limiting
|
||||
. Look at OR handshake in more detail
|
||||
- Do we want to remove bandwidth from OR handshakes?
|
||||
- What about OP handshakes?
|
||||
o Total rate limiting
|
||||
o Look at OR handshake in more detail
|
||||
o Spec it
|
||||
o Merge OR and OP handshakes
|
||||
. rearrange connection_or so it doesn't suck so much to read
|
||||
o rearrange connection_or so it doesn't suck so much to read
|
||||
D Periodic link key rotation. Spec?
|
||||
- More flexibility in node addressing
|
||||
D Support IPv6 rather than just 4
|
||||
|
|
Loading…
Add table
Reference in a new issue