-
Notifications
You must be signed in to change notification settings - Fork 926
/
PADDING_TODO.txt
64 lines (49 loc) · 2.23 KB
/
PADDING_TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
TODO sketch for this branch, in rough priority order:
- Clean up/fix XXX's and FIXMEs
- Test SMARTLIST_FOREACH_REVERSE_BEGIN()
- Tests for circuit getting marked or freed before callback.
- Tests for detecting padding from wrong hop
- Tests for machine replacement on all conditions
- Tests for STATE_END teardown due to infinity, bins_empty, and/or length
with pending timers, new machines, etc.
- Test histogram spacing for larger length histograms
- Tests for consensus and machine rate limiting
- Test all types of token removal
- Go down dist precision rabbithole and comment
- Tests for dists, length and iat sampling
- Better test coverage in general
- Negotiate errors are not remembered.. If there is a consensus desync,
clients will keep trying machines that middles do not have..
- Larger types?
- Larger/different mechanism for machine numbering than just uint8_t
- Larger circpad_delay_t?
- Larger circpad_hist_bin_t?
- Large state->range_sec for histograms?
- Nick's API doc
- Consider how we'd use it.
- Vanguards compatibility for MiddleNodes (via changes to vanguards addon)
- Circuit RTT measurement will break on var_cell/EXTEND2 cells
- Are there any heuristics we can use here?
- Rephist timer stats
- Is this a privacy risk? The adversary could create lots of circuits
to find a layer2 vanguard.. Otherwise they will be spread across middles.
- Determine good hardcoded/example histograms
- Specify target circuit lifetime?
- Specify ports for machine??
- circpad_machine_validate() function to sanity-check histograms loaded from
consensus/torrc (can also be used to help guide a GA).
- Check bin construction
- no type overflow (start_usec + range_sec, etc)
- no conflicting state transitions (or overlap with cancel events)
- no use of both histograms and iat_dist
- at least two histogram bins
- min_hop vs target_hop
- Support torrc load+serialization of state machines
- ??
- Support consensus load+serialization of state machines
- ??
======== 0.3.6 ========
- Come up with some good histograms for eg circuit setup fingerprinting,
website fingerprinting, and vanguards usage.
- Experiment with run-length histograms and other histogram/distribution
encoding methods.