|
@@ -12,6 +12,31 @@ ARMA - arma claims
|
|
|
D Deferred
|
|
|
X Abandoned
|
|
|
|
|
|
+For 0.0.2pre17:
|
|
|
+ o Put a H(K | handshake) into the onionskin response
|
|
|
+ o Make cells 512 bytes
|
|
|
+ - Reduce streamid footprint from 7 bytes to 2 bytes
|
|
|
+ - Check for collisions in streamid (now possible with
|
|
|
+ just 2 bytes), and back up & replace with padding if so
|
|
|
+ - Use the 4 reserved bytes in each cell header to keep 1/5
|
|
|
+ of a sha1 of the ongoing relay payload (move into stream header)
|
|
|
+ o Move length into the stream header too
|
|
|
+ o Make length 2 bytes
|
|
|
+ - Spec the stream_id stuff. Clarify that nobody on the backward
|
|
|
+ stream should look at stream_id.
|
|
|
+
|
|
|
+Cell:
|
|
|
+ ACI (anonymous circuit identifier) [2 bytes]
|
|
|
+ Command [1 byte]
|
|
|
+ Payload (padded with 0 bytes) [509 bytes]
|
|
|
+
|
|
|
+Relay payload:
|
|
|
+ Relay command [1 byte]
|
|
|
+ Stream ID [7 bytes]
|
|
|
+ Partial SHA-1 [4 bytes]
|
|
|
+ Length [2 bytes]
|
|
|
+ Relay payload [495 bytes]
|
|
|
+
|
|
|
For 0.0.2pre15:
|
|
|
o don't pick exit nodes which will certainly reject all things.
|
|
|
o don't pick nodes that the directory says are down
|
|
@@ -119,15 +144,6 @@ 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
|
|
|
-ARMA - Reduce streamid footprint from 7 bytes to 2 bytes
|
|
|
- - Check for collisions in streamid (now possible with
|
|
|
- just 2 bytes), and back up & replace with padding if so
|
|
|
- - Use the 3 saved bytes to put pseudorandomness in each relay cell
|
|
|
- - Use the 4 reserved bytes in each cell header to keep 1/5
|
|
|
- of a sha1 of the relay payload (move into stream header)
|
|
|
- - Move length into the stream header too
|
|
|
- - Spec the stream_id stuff. Clarify that nobody on the backward
|
|
|
- stream should look at stream_id.
|
|
|
o 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
|