|
@@ -105,36 +105,46 @@ Rendezvous service:
|
|
|
can be in.) [NM]
|
|
|
o Add circuit metadata [NM]
|
|
|
o Code to configure hidden services [NM] 4 hours
|
|
|
- - a section in the README (or its own README): how to configure
|
|
|
- hidden services
|
|
|
o Service descriptors
|
|
|
o OPs need to maintain identity keys for hidden services [NM]
|
|
|
o Code to generate and parse service descriptors [NM]
|
|
|
- . Advertisement
|
|
|
+ o Advertisement
|
|
|
o Generate y.onion hostnames [NM]
|
|
|
o Store y.onion hostnames to disk. [NM]
|
|
|
o Code to do an HTTP connection over Tor from within Tor [RD]
|
|
|
- . Publish service descriptors to directory [RD]
|
|
|
+ o Publish service descriptors to directory [RD]
|
|
|
o Directory accepts and remembers service descriptors, and
|
|
|
delivers them as requested
|
|
|
o Frontend [RD]
|
|
|
o Backend [NM]
|
|
|
- . Code for OPs to retrieve (and cache?) service descriptors [RD]
|
|
|
- - Rendezvous
|
|
|
- - Code as needed to generate and parse all rendezvous-related
|
|
|
+ o Code for OPs to retrieve (and cache?) service descriptors [RD]
|
|
|
+ o Rendezvous
|
|
|
+ o Code as needed to generate and parse all rendezvous-related
|
|
|
cell types, and do all handshaking [NM]
|
|
|
- - 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
|
|
|
+ o ORs implement introduction points
|
|
|
+ o OPs with hidden services establish introduction points
|
|
|
+ o ORs implement rendezvous points
|
|
|
+ o OPs notice y.onion URLs, and:
|
|
|
+ o Retrieve service descriptors
|
|
|
+ o Establish rendezvous points
|
|
|
+ o Send introduction requests to introduction points
|
|
|
+ o Communication
|
|
|
+ o 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
|
|
|
+ . End-to-end communication for location-hidden services
|
|
|
+ - a section in the man pages: how to configure hidden services
|
|
|
+ - let bob use himself as a rendezvous point
|
|
|
+ - let bob replenish his intro points and republish
|
|
|
+ - alice retries introduction and rendezvous a few times?
|
|
|
+ - should alice ever try to refresh her service desc cache entries?
|
|
|
+ - race condition: alice has the serverdesc in her cache, she opens
|
|
|
+ the circs, serverdesc expires and is flushed, then she goes
|
|
|
+ to send the intro cell. should serverdesc cache have a
|
|
|
+ last-touched field? are there better fixes?
|
|
|
+ - backward compatibility: when only certain nodes know about rend
|
|
|
+ protocol, how do we deal? have nodes parse the tor version field?
|
|
|
+ force an upgrade? simply be more robust against useless nodes?
|
|
|
|
|
|
On-going
|
|
|
. Better comments for functions!
|