Make preliminary list of tasks for rendezvous service

svn:r1368
This commit is contained in:
Nick Mathewson 2004-03-29 20:39:40 +00:00
parent cc844eeed3
commit f2c68bcf54

View File

@ -42,7 +42,7 @@ Short-term:
- Add '[...truncated]' or similar to truncated log entries (like the directory - Add '[...truncated]' or similar to truncated log entries (like the directory
in connection_dir_process_inbuf()). in connection_dir_process_inbuf()).
. Make logs handle it better when writing to them fails. . Make logs handle it better when writing to them fails.
- leave server descriptor out of directory if it's too old o leave server descriptor out of directory if it's too old
o Rename ACI to circID o Rename ACI to circID
o integrate rep_ok functions, see what breaks o integrate rep_ok functions, see what breaks
- update tor faq - update tor faq
@ -88,6 +88,47 @@ Short-term:
o Audit users of connnection_remove and connection_free outside of o Audit users of connnection_remove and connection_free outside of
main.c; many should use mark_for_close instead. main.c; many should use mark_for_close instead.
Rendezvous service:
o Design and specify protocol
- Possible preliminary refactoring:
- Should we break circuits up into "circuit-with-cpath" and
"circuit-without-cpath"?
- We need a way to tag circuits as special-purpose circuits for:
- Connecting from Bob's OP to the introduction point
- Sending introduction requests from the IPoint to Bob
- Connecting from Alice to the rendezvous point for Bob
- Connecting from Bob to the rendezvous point for Alice
- Waiting at a rendezvous point to be joined
- Joined to another circuit at the rendezvous point.
(We should also enumerate all the states that these operations
can be in.)
- Code to configure hidden services
- Service descriptors
- OPs need to maintain identity keys for hidden services [NM]
- Code to generate and parse service descriptors [NM]
- Advertisement
- Generate y.onion hostnames [NM]
- Code to do an HTTP connection over Tor from within Tor.
- Publish service descriptors to directory
- Directory accepts and remembers service descriptors, and
delivers them as requested
- Code for OPs to retrieve (and cache?) service descriptors
- Rendezvous
- Code as needed to generate and parse all rendezvous-related
cell types, and do all handshaking.
- ORs implement introduction points
- OPs with hidden services establish introduction points
- ORs implement rendezvous points
- OPs notice y.onion URLs, and:
- Retrieve service descriptors
- Establish rendezvous points
- Send introduction requests to introduction points
- Communication
- OPs remember which circuits are used for which rendezvous
points, and can look up circuits by location-hidden service
- OPs send/handle BEGIN cells for location-hidden services
- End-to-end communication for location-hidden services
On-going On-going
. Better comments for functions! . Better comments for functions!
. Go through log messages, reduce confusing error messages. . Go through log messages, reduce confusing error messages.
@ -127,11 +168,6 @@ NICK . Handle half-open connections
o Find an ftp proxy? wget --passive o Find an ftp proxy? wget --passive
D Wait until there are packet redirectors for Linux D Wait until there are packet redirectors for Linux
. Get socks4a support into Mozilla . Get socks4a support into Mozilla
. Develop rendezvous points
X Handle socks commands other than connect, eg, bind?
o Design
- Spec
- Implement
. Tests . Tests
o Testing harness/infrastructure o Testing harness/infrastructure
D System tests (how?) D System tests (how?)