New overload-* lines in bridge descriptors causing descriptors to be discarded
@dgoulet and @mikeperry's prop 328 introduce a number of new lines that now appear in bridge server descriptors. These have been deployed without the corresponding changes made in CollecTor, resulting in CollecTor reporting errors and discarding any bridge descriptor that contains these lines.
The background on what we do with bridge descriptors is at: https://metrics.torproject.org/bridge-descriptors.html
Discarding the descriptors is the "emergency" action taken because the descriptor doesn't look like we would expect it to, so we don't know if it can be safely sanitized with the deployed logic. Usually a Metrics person would be following tor-dev discussions and upcoming changes, and then implementing these new lines in CollecTor, but that's not happened here.
Right now I understand these lines are only present in alpha releases so this is not hugely urgent, but we should decide for each new line that either:
- it is safe to include these lines in sanitized descriptors, publicly announcing that the bridge with hashed fingerprint X was overloaded in Y way at Z time.
- we should perform a resolution reduction in some way, or partially redact in some way.
- these are dangerous and we should just always redact them for bridges (precluding their analysis later in the pipeline).
The relevant bit of code is https://gitweb.torproject.org/collector.git/tree/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeServerDescriptor.java#n266