Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container Registry
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
The Tor Project
Core
Tor
Commits
b8008592
Commit
b8008592
authored
21 years ago
by
Roger Dingledine
Browse files
Options
Downloads
Patches
Plain Diff
update TODO to reflect current reality
svn:r404
parent
fdc0389c
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/TODO
+37
-17
37 additions, 17 deletions
doc/TODO
with
37 additions
and
17 deletions
doc/TODO
+
37
−
17
View file @
b8008592
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment