Security/Safe Browsing/V4 Implementation: Difference between revisions

Jump to navigation Jump to search
Line 3: Line 3:


= Design and Implementation =
= Design and Implementation =
To have v2 and v4 run in parallel, we must carefully refactor some core components like ListManager and HashCompleter. Instead of having a master preference to switch between v2 and v4, we take the "table name driven" approach. The plan is to add a separate provider called "google4", which owns v4 tables: goog-phish-proto, goog-unwanted-proto and goog-malware-proto. The suffix "-proto" indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own updateURL and gethashURL. You can consider "google4" yet another provider like "mozilla". When ListManager and HashCompleter (and any other related components like ProtocolParser) sees table names suffixed by "-proto", they would behave differently. For example, in listmanager.js, while making update request for table "goog-phish-proto", nsIUrlClassifier.makeUpdateRequestV4 will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)
To have v2 and v4 run in parallel, we must carefully refactor some core components like '''ListManager''' and '''HashCompleter'''. Instead of having a master preference to switch between v2 and v4, we take the "table name driven" approach. The plan is to add a separate provider called '''google4''', which owns v4 tables: '''goog-phish-proto''', '''goog-unwanted-proto''' and '''goog-malware-proto'''. The suffix "-proto" indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own '''updateURL''' and '''gethashURL'''. You can consider '''google4''' yet another provider like '''mozilla'''.  
 
When '''ListManager''' and '''HashCompleter''' (and any other related components like ProtocolParser) sees table names suffixed by "-proto", they would behave differently. For example, in '''listmanager.js''', while making update request for table '''goog-phish-proto''', ''nsIUrlClassifier.makeUpdateRequestV4'' will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)


= Milestones =
= Milestones =
Confirmed users
158

edits

Navigation menu