|
@@ -1,18 +1,5 @@
|
|
|
-Issues identified while writing paper:
|
|
|
- Rotate tls-level connections -- make new ones, expire old ones.
|
|
|
- - Dirserver shouldn't put you in running-routers list if you haven't
|
|
|
- uploaded a descriptor recently
|
|
|
- - Look at having smallcells and largecells
|
|
|
- - separate trying to rebuild a circuit because you have none from trying
|
|
|
- to rebuild a circuit because the current one is stale
|
|
|
-
|
|
|
-<nickm> If I compromise a node, and streamIDs are sequential, I learn
|
|
|
-how many streams have been open and closed on this circuit at this point.
|
|
|
-> hm. you learn this for circuits too, do you not?
|
|
|
-<nickm> True. But how-many-circuits-from-A-to-B only leaks how long
|
|
|
-the connection from A to B has been alive and how much use it's seen.
|
|
|
-> ok. needs more investigation.
|
|
|
-
|
|
|
+ Nick, can you remember why we wanted to do this?
|
|
|
|
|
|
Legend:
|
|
|
SPEC!! - Not specified
|
|
@@ -27,28 +14,36 @@ ARMA - arma claims
|
|
|
X Abandoned
|
|
|
|
|
|
Short-term:
|
|
|
- - Rename ACI to circID
|
|
|
+ - Make tls connections tls_close intentionally
|
|
|
+ o Rename ACI to circID
|
|
|
. integrate rep_ok functions, see what breaks
|
|
|
- update tor faq
|
|
|
o obey SocksBindAddress, ORBindAddress
|
|
|
- warn if we're running as root
|
|
|
o make connection_flush_buf() more obviously obsolete
|
|
|
- . let hup reread the config file, eg so we can get new exit
|
|
|
+ .* let hup reread the config file, eg so we can get new exit
|
|
|
policies without restarting
|
|
|
- use times(2) rather than gettimeofday to measure how long it
|
|
|
takes to process a cell
|
|
|
- . Exit policies
|
|
|
+ - Separate trying to rebuild a circuit because you have none from trying
|
|
|
+ to rebuild a circuit because the current one is stale
|
|
|
+ - Continue reading from socks port even while waiting for connect.
|
|
|
+ .* Exit policies
|
|
|
o Spec how to write the exit policies
|
|
|
- - Path selection algorithms
|
|
|
- - Let user request certain nodes
|
|
|
+ -* More flexible policies (18.*, 18.0.0.0/8)
|
|
|
+ -* Path selection algorithms
|
|
|
+ -* Choose path more incrementally
|
|
|
+ -* Let user request first/last node
|
|
|
- And disallow certain nodes
|
|
|
D Choose path by jurisdiction, etc?
|
|
|
- - 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
|
|
|
+ . 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.
|
|
|
- - let non-approved routers handshake.
|
|
|
- - just list approved routers in directory.
|
|
|
+ -* let non-approved routers handshake.
|
|
|
+ -* just list approved routers in directory.
|
|
|
+ - Dirserver shouldn't put you in running-routers list if you haven't
|
|
|
+ uploaded a descriptor recently
|
|
|
. migrate to using nickname rather than addr:port for routers
|
|
|
o decide_aci_type
|
|
|
- generate onion skins
|
|
@@ -66,18 +61,19 @@ Short-term:
|
|
|
- connection_or_init_conn_from_router
|
|
|
- tag_pack, tag_unpack, connection_cpu_process_inbuf
|
|
|
- directory_initiate_command
|
|
|
- . Move from onions to ephemeral DH
|
|
|
+ .* Move from onions to ephemeral DH
|
|
|
o incremental path building
|
|
|
o transition circuit-level sendmes to hop-level sendmes
|
|
|
o implement truncate, truncated
|
|
|
o move from 192byte DH to 128byte DH, so it isn't so damn slow
|
|
|
- - exiting from not-last hop
|
|
|
- - OP logic to decide to extend/truncate a path
|
|
|
- - make sure exiting from the not-last hop works
|
|
|
- - logic to find last *open* hop, not last hop, in cpath
|
|
|
- - choose exit nodes by exit policies
|
|
|
- - Remember address and port when beginning.
|
|
|
+ -* exiting from not-last hop
|
|
|
+ -* OP logic to decide to extend/truncate a path
|
|
|
+ -* make sure exiting from the not-last hop works
|
|
|
+ -* logic to find last *open* hop, not last hop, in cpath
|
|
|
+ -* choose exit nodes by exit policies
|
|
|
+ o Remember address and port when beginning.
|
|
|
- Extend by nickname/hostname/something, not by IP.
|
|
|
+ - Need a relay teardown cell, separate from one-way ends.
|
|
|
|
|
|
On-going
|
|
|
. Better comments for functions!
|
|
@@ -86,6 +82,9 @@ On-going
|
|
|
. Unit tests
|
|
|
|
|
|
Mid-term:
|
|
|
+ - Are there anonymity issues with sequential streamIDs? Sequential
|
|
|
+ circIDs? Eg an attacker can learn how many there have been.
|
|
|
+ - Look at having smallcells and largecells
|
|
|
. Redo scheduler
|
|
|
o fix SSL_read bug for buffered records
|
|
|
- make round-robining more fair
|