PADDING_TODO.txt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. TODO sketch for this branch, in rough priority order:
  2. - Clean up/fix XXX's and FIXMEs
  3. - Test event entry points into circuitpad?
  4. - Most of our events come from completely untested code :/
  5. - Compat-breaking changes to be decided/done ASAP
  6. - Option to keep circuits open if machine present
  7. - Specify an ordered preference list of padding machines
  8. - Specify exit policy for machine conditions?
  9. - short_policy_t looks good, except for its flexible array member :/
  10. - Can we make our own struct with a small, fixed number of policy
  11. entries? Say 3-4? Or is that a bad idea to lose this flexibility?
  12. - Check conditions based on attached streams on the circuit
  13. - Accept should mean "only apply if matched"
  14. - Reject should mean "don't apply if matched"
  15. - If a policy is specified, Reject *:* is implicit default (so reject
  16. policies need an Accept entry).
  17. - With no policy, Accept *:* is implicit default.
  18. - Misc fixes:
  19. - Remove circuitsetup machine (but place it in unittests -- they depend on it)
  20. - Circuit RTT measurement will break on var_cell/EXTEND2 cells
  21. - Are there any heuristics we can use here?
  22. - If RELAY_EARLY is only for the first cell of an EXTEND2 series,
  23. we can use that. But the proposal currently says MAY, but not MUST
  24. for this behavior.
  25. ======== 0.3.6 ========
  26. - Come up with some good histograms for eg circuit setup fingerprinting,
  27. website fingerprinting, and vanguards usage.
  28. - Vanguards compatibility for MiddleNodes (via changes to vanguards addon)
  29. - circpad_machine_validate() function to sanity-check histograms loaded from
  30. consensus/torrc (can also be used to help guide a GA).
  31. - Check bin construction
  32. - no type overflow (start_usec + range_sec, etc)
  33. - no conflicting state transitions (or overlap with cancel events)
  34. - no use of both histograms and iat_dist
  35. - at least two histogram bins
  36. - min_hop vs target_hop
  37. - Support torrc load+serialization of state machines
  38. - ??
  39. - Support consensus load+serialization of state machines
  40. - ??
  41. - Prop #265 load balancing
  42. - Rephist timer stats
  43. - Is this a privacy risk? The adversary could create lots of circuits
  44. to find a layer2 vanguard.. Otherwise they will be spread across middles.