Implement connection padding (link protocol 5)
Tor has a link padding mechanism to avoid some kinds of flow-based traffic analysis. We should probably implement it some time, but it isn't as critical as some of the other stuff.
Likely subtasks:
-
Reschedulable timed-event API (may be shared somewhat with #180 (closed)) -
Track time of last send activity on each channel (est 2h) -
Ability to launch a task to run the padding algorithm on a live channel. (6h) -
Launch padding algorithm on certain live channels, according to padding-spec rules. (4h) -
Padding negotiation; reduced padding negotiation. (8h) -
Pad by default when link protocol >= 5 is in use. (2h) -
Implement all network parameters in padding-spec section 2; pass them around as appropriate. (4h) -
Some way to make sure padding is turned off when very dormant? (6h) -
Discuss and clarify any ambiguities we find in padding-spec section 2. (8h)
Edited by Ian Jackson