clear_status_flags_on_sybil might want to clear more flags
clear_status_flags_on_sybil contains a comment saying "it's easy to add a new flag but forget to add it to this clause."
It looks like we may have forgot the following flags:
- is_hs_dir
- version_known?
- version_supports_extend2_cells?
- has_bandwidth
- has_exitsummary?
- bw_is_unmeasured? (set to 1?)
- bandwidth_kb
- has_guardfraction
- guardfraction_percentage
To deal with the root cause, should we instead zero out the entire routerstatus_t
, then copy the fields we need back in?
(This would zero new fields on sybils by default.)
We could also implement a unit test for clear_status_flags_on_sybil that checks that certain (important?) flags are cleared, or that all flags are cleared (?).
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information