Safe Browsing should stop checking other tables when a match is found

REOPENED
Unassigned

Status

()

defect
P5
normal
REOPENED
4 years ago
Last year

People

(Reporter: francois, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

If a table (e.g. urlclassifier.trackingTable) is set to look at two lists (e.g. "test-track-simple,mozpub-track-digest256") then it should not perform a lookup in the second one if we've found a match in the first one.

  01: Checking fragment itisatrap.org/?resource=itisatracker.org, hash 163D51E4... (E4513D16)
  02: Probe in test-trackwhite-simple: E4513D16, found 0
  03: Complete in test-trackwhite-simple
  04: Found a result in test-trackwhite-simple: complete. (Age: 855s)
  05: Probe in mozpub-trackwhite-digest256: E4513D16, found 0
  06: Checking fragment itisatrap.org/, hash 344B20BD... (BD204B34)
  07: Probe in test-trackwhite-simple: BD204B34, found 0
  08: Probe in mozpub-trackwhite-digest256: BD204B34, found 0
  09: Found 1 results.
  10: Found result from table test-trackwhite-simple

In the above example, we should have an early exit at step 4 and skip over steps 5 to 8.
Note: this early exit is only possible with digest256 tables because in the case of shavar tables, it's possible to get a partial match in two different tables, and then get a full match in only one of them.

Therefore, it may not be worth our time to do this optimization.
Priority: -- → P5
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → INACTIVE
Status: RESOLVED → REOPENED
Resolution: INACTIVE → ---
You need to log in before you can comment on or make changes to this bug.