mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Make preliminary list of tasks for rendezvous service
svn:r1368
This commit is contained in:
parent
cc844eeed3
commit
f2c68bcf54
48
doc/TODO
48
doc/TODO
@ -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?)
|
||||||
|
Loading…
Reference in New Issue
Block a user