fix(minipipeline): change DNSDiff algorithm #1407
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We were running the algorithm on single IP addresses resolved by the probe against the set resolved by the control.
This is incorrect, because we should compare to the whole set resolved by the probe. This fact is relevant because v0.4 says there's consistency if a single IP address or ASN resolved by the probe intersects with the corresponding control set.
Conversely, our comparison required that each IP address resolved by the probe belonged to the control set of addresses or ASNs.
This diff solves the problem.
While there, remove DNSPossiblyInvalidAddrs. I have determined we need to run DNSDiff independently of bogons checks.
Incidentally, the new DNSDiff code I am adding is straight from Web Connectivity v0.4, so we should be good.
Part of ooni/probe#2634