<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dimi</id>
	<title>MozillaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dimi"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/Special:Contributions/Dimi"/>
	<updated>2026-11-06T14:15:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Modules/Other&amp;diff=1244883</id>
		<title>Modules/Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Modules/Other&amp;diff=1244883"/>
		<updated>2022-12-13T13:08:43Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Only module owners may edit this page.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
They may:&lt;br /&gt;
&lt;br /&gt;
* update any information about their module except the name of the owner&lt;br /&gt;
* add or remove sub-modules&lt;br /&gt;
* change the owner of a sub-module &lt;br /&gt;
* add emeritus owners or peers&lt;br /&gt;
&lt;br /&gt;
Other changes, including changes of module owner or addition/removal of modules, must be agreed with the Module Ownership Module group, probably via a discussion in [https://www.mozilla.org/about/forums/#governance mozilla.governance].&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Content Services Infrastructure&lt;br /&gt;
|description=A set of data services that allow for content to be served and measured&lt;br /&gt;
|owner=[mailto:nanjiang@mozilla.com Nan Jiang]&lt;br /&gt;
|peers=[mailto:tspurway@mozilla.com Tim Spurway]&lt;br /&gt;
|peersemeritus=[mailto:dougt@mozilla.org Doug Turner], [mailto:olivier@olivieryiptong.com Olivier Yiptong]&lt;br /&gt;
|source_dirs=https://github.com/mozilla/onyx, https://github.com/mozilla/splice, https://github.com/mozilla/infernyx, https://github.com/mozilla/learnyx&lt;br /&gt;
|url=https://wiki.mozilla.org/Tiles&lt;br /&gt;
|components=Content Services&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=DevTools&lt;br /&gt;
|description=Mozilla Developer Tools&lt;br /&gt;
|owner=[mailto:honza@mozilla.com Jan &#039;Honza&#039; Odvarko]&lt;br /&gt;
|peers=[mailto:apoirot@mozilla.com Alex Poirot], [mailto:jdescottes@mozilla.com Julian Descottes], [mailto:nchevobbe@mozilla.com Nicolas Chevobbe], [mailto:bomsy@mozilla.com Hubert Manilla], [mailto:hskupin@mozilla.com Henrik Skupin]&lt;br /&gt;
|ownersemeritus=Patrick Brosset, Joe Walker, Dave Camp, Rob Campbell&lt;br /&gt;
|peersemeritus=Mihai Șucan, Heather Arthur, Anton Kovalyov, Brandon Benvie, Eddy Bruel, James Long, Matteo Ferretti, Steve Fink (heapsnapshot code), Jaroslav Šnajdr, Tom Tromey, Paul Rouget, Victor Porof, Lin Clark, Jan Keromnes, Jordan Santell, Soledad Penadés, Mike Ratcliffe, Panagiotis Astithas, [mailto:ntim.bugs@gmail.com Tim Nguyen], [mailto:bgrinstead@mozilla.com Brian Grinstead], [mailto:jryans@gmail.com J. Ryan Stinnett], Jason Laster, David Walsh, [mailto:gtatum@mozilla.com Greg Tatum], [mailto:gl@mozilla.com Gabriel Luong], [mailto:bwerth@mozilla.com Brad Werth], [mailto:dakatsuka.birchill@mozilla.com Daisuke Akatsuka], [mailto:ystartsev@mozilla.com Yulia Startsev], [mailto:logan.f.smyth@gmail.com Logan Smyth], [mailto:jwajsberg@mozilla.com Julien Wajsberg], Razvan Caliman, [mailto:mtigley@mozilla.com Micah Tigley], Nick Fitzgerald, [mailto:jblandy@mozilla.com Jim Blandy], Belén Albeza&lt;br /&gt;
|group=dev-developer-tools&lt;br /&gt;
|source_dirs=devtools&lt;br /&gt;
|url=https://wiki.mozilla.org/DevTools, http://firefox-dev.tools/&lt;br /&gt;
|components=DevTools&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox for iOS (Fennec)&lt;br /&gt;
|description=Mobile Web Browser&lt;br /&gt;
|owner=[mailto:sarentz@mozilla.com Stefan Arentz]&lt;br /&gt;
|peers=[mailto:fpatel@mozilla.com Farhan Patel] [mailto:jdarcangelo@mozilla.com Justin D&#039;Arcangelo], [mailto:etoop@mozilla.com Emily Toop], [mailto:jhugman@mozilla.com James Hugman]&lt;br /&gt;
|group=https://mail.mozilla.org/listinfo/mobile-firefox-dev&lt;br /&gt;
|source_dirs=https://github.com/mozilla/firefox-ios&lt;br /&gt;
|url=https://wiki.mozilla.org/Fennec&lt;br /&gt;
|components=Firefox for iOS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox Accounts&lt;br /&gt;
|description=The Firefox Accounts identity provider and the integration of user-data services tied to a Firefox Account. Where this work overlaps with existing modules (e.g. FX front-end, FX Android front-end, FXOS), design and code reviews from all relevant module owners will be required.&lt;br /&gt;
|owner=[mailto:dcoates@mozilla.com Danny Coates]&lt;br /&gt;
|peers=[mailto:vbudhram@mozilla.com Vijay Budhram], [mailto:jhirsch@mozilla.com Jared Hirsch]&lt;br /&gt;
|ownersemeritus=[mailto:ryan@rfk.id.au Ryan Kelly]&lt;br /&gt;
|peersemeritus=Shane Tomlinson, [mailto:vlad.filippov@gmail.com Vlad Filippov]&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=https://github.com/mozilla/fxa&lt;br /&gt;
|mailing list=https://mail.mozilla.org/listinfo/dev-fxacct&lt;br /&gt;
|url=https://github.com/mozilla/fxa&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Mozilla Location Service (MLS)&lt;br /&gt;
|description=The Mozillla Location Service provides a service to position your device based on cell and wireless information.&lt;br /&gt;
|owner=[mailto:jwhitlock@mozilla.com John Whitlock]&lt;br /&gt;
|ownersemeritus=Hanno Schlighting&lt;br /&gt;
|peers=[mailto:wkahngreene@mozilla.com Will Kahn-Greene]&lt;br /&gt;
|peersemeritus=Victor Ng (2013-2014), Graydon Hoare (2014)&lt;br /&gt;
|forum=https://discourse.mozilla.org/c/location/506&lt;br /&gt;
|source_dirs=https://github.com/mozilla/ichnaea&lt;br /&gt;
|url=https://location.services.mozilla.com&lt;br /&gt;
|components=https://github.com/mozilla/ichnaea/issues, Mozilla Services :: Location&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Mozilla Stumbler (&amp;quot;MozStumbler&amp;quot;)&lt;br /&gt;
|description=The Mozilla Stumbler (MozStumbler) collects wireless network information for crowd-sourcing location positioning with Mozilla Location Service (MLS).&lt;br /&gt;
|owner=not set&lt;br /&gt;
|peers=[mailto:vng@mozilla.com Victor Ng], [mailto:cpeterson@mozilla.com Chris Peterson]&lt;br /&gt;
|forum=https://discourse.mozilla.org/c/location/506&lt;br /&gt;
|source_dirs=https://github.com/mozilla/MozStumbler &lt;br /&gt;
|url=https://location.services.mozilla.com&lt;br /&gt;
|components=https://github.com/mozilla/MozStumbler/issues&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Sync&lt;br /&gt;
|description=Firefox Sync client&lt;br /&gt;
|owner=[mailto:markh@mozilla.com Mark Hammond]&lt;br /&gt;
|peers=[mailto:lobailey@mozilla.com Lougenia Bailey], [mailto:teshaq@mozilla.com Tarik Eshaq], [mailto:bdk@mozilla.com Ben Dean-Kawamura], [mailto:skhamis@mozilla.com Sammy Khamis]&lt;br /&gt;
|ownersemeritus=[mailto:ryan@rfk.id.au Ryan Kelly]&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=services/sync/&lt;br /&gt;
|url=https://wiki.mozilla.org/Services/Process/Code_Review&lt;br /&gt;
|components=Sync&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Remote Protocol&lt;br /&gt;
|description=Low-level remote protocol exposing interfaces for inspecting state and controlling execution of web documents, instrumenting various subsystems in the browser, simulating user interaction for automation purposes, and for subscribing to updates from the aforementioned.&lt;br /&gt;
|owner=[mailto:hskupin@mozilla.com Henrik Skupin]&lt;br /&gt;
|peers=[mailto:jdescottes@mozilla.com Julian Descottes]&lt;br /&gt;
|ownersemeritus=[mailto:ato@sny.no Andreas Tolfsen]&lt;br /&gt;
|peersemeritus=[mailto:mfrydrychowicz@mozilla.com Maja Frydrychowicz], [mailto:poirot.alex@gmail.com Alexandre Poirot], [mailto:ystartsev@mozilla.com Yulia Startsev]&lt;br /&gt;
|group=dev-remote&lt;br /&gt;
|source_dirs=remote/&lt;br /&gt;
|url=https://firefox-source-docs.mozilla.org/remote/&lt;br /&gt;
|components=Remote Protocol&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Rhino&lt;br /&gt;
|description=JavaScript interpreter/compiler implemented in Java&lt;br /&gt;
|owner=[mailto:greg@apigee.com Greg Brail]&lt;br /&gt;
|peers=[mailto:norrisboyd@gmail.com Norris Boyd], [mailto:szegedia@freemail.hu Attila Szegedi]&lt;br /&gt;
|group=dev-tech-js-engine&lt;br /&gt;
|source_dirs=js/rhino/&lt;br /&gt;
|url=http://www.mozilla.org/rhino/&lt;br /&gt;
|components=Rhino&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=URL Classifier&lt;br /&gt;
|description=Database and list-based classification of URL resources,&lt;br /&gt;
such as Tracking Protection and SafeBrowsing.&lt;br /&gt;
|owner=[mailto:dlee@mozilla.com Dimi Lee] (client), [mailto:lcrouch@mozilla.com Luke Crouch] (server)&lt;br /&gt;
|peers=[mailto:tihuang@mozilla.com Tim Huang] (client), [mailto:gcp@mozilla.com Gian-Carlo Pascutto] (client)&lt;br /&gt;
|ownersemeritus=François Marier&lt;br /&gt;
|peersemeritus=Henry Chang, Ryan Tilder&lt;br /&gt;
|group=mozilla.dev.platform&lt;br /&gt;
|source_dirs=toolkit/components/url-classifier, netwerk/url-classifier, https://github.com/mozilla-services/shavar&lt;br /&gt;
|url=&lt;br /&gt;
https://wiki.mozilla.org/Phishing_Protection, https://wiki.mozilla.org/Security/Tracking_protection, https://wiki.mozilla.org/Security/Application_Reputation&lt;br /&gt;
|components=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=WebCompat Addons &lt;br /&gt;
|description=Compatibility interventions (webcompat system addon) and bug reporting capabilities (Report Site Issue addon). &lt;br /&gt;
|owner=[mailto:dschubert@mozilla.com Dennis Schubert], [mailto:twisniewski@mozilla.com Thomas Wisniewski]&lt;br /&gt;
|peers=[mailto:kberezina@mozilla.com Ksenia Berezina]&lt;br /&gt;
|ownersemeritus=Mike Taylor&lt;br /&gt;
|group=compatibility@lists.mozilla.org&lt;br /&gt;
|source_dirs=browser/extensions/webcompat, browser/extensions/report-site-issue, mobile/android/extensions/webcompat, mobile/android/extensions/report-site-issue, https://github.com/mozilla-extensions/webcompat-addon, https://github.com/mozilla-mobile/android-components/tree/master/components/feature/webcompat-reporter, https://github.com/mozilla-mobile/android-components/tree/master/components/feature/webcompat&lt;br /&gt;
|url=https://wiki.mozilla.org/Compatibility/Go_Faster_Addon&lt;br /&gt;
|components=Web Compatibility::Interventions, Web Compatibility::Tooling &amp;amp; Investigations&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox/Features/Form_Autofill&amp;diff=1242714</id>
		<title>Firefox/Features/Form Autofill</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox/Features/Form_Autofill&amp;diff=1242714"/>
		<updated>2022-05-31T10:04:30Z</updated>

		<summary type="html">&lt;p&gt;Dimi: Add See Also section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Form Autofill saves users time and effort when making online purchases by storing their personal information in a profile and automatically populating form fields when the user requires it.&lt;br /&gt;
&lt;br /&gt;
Our objective is to increase user engagement, satisfaction and retention for frequent online shoppers (those who make an online purchase at least once per month). We believe this can be achieved by enabling users to complete forms and “check out” in e-commerce flows as quickly and securely as possible.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Chat Channel: [https://matrix.to/#/!mwXGiacuROcLToavBH:mozilla.org/$vCratOt4HM-zjhXNVSlMNsf-Eibn0aeclVlUfED0N4Q?via=mozilla.org&amp;amp;via=t2bot.io #form-autofill]&lt;br /&gt;
* Mailing list: [mailto:autofill@lists.mozilla.org autofill@lists.mozilla.org]&lt;br /&gt;
* Bugzilla Component: [https://mzl.la/2zuJKyc Toolkit::Form Autofill] ([https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit&amp;amp;component=Form%20Autofill new bug])&lt;br /&gt;
* Report website compatibility issues: [https://bugzilla.mozilla.org/show_bug.cgi?id=1405266 meta bug]&lt;br /&gt;
* Preferences: &amp;lt;code&amp;gt;extensions.formautofill.*&amp;lt;/code&amp;gt;&lt;br /&gt;
* Code: [https://searchfox.org/mozilla-central/source/browser/extensions/formautofill/ browser/extensions/formautofill/] [https://firefox-source-docs.mozilla.org/browser/extensions/formautofill/docs/index.html Development documentation]&lt;br /&gt;
* Test pages: https://luke-chang.github.io/autofill-demo/&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
* [https://docs.google.com/document/d/1Rk6SIH_O_wab1CsphHhuwmvT8gXCG-D0B0ki0R3dmC4/edit?ts=577b1d52#heading=h.ifofy8kjhyvh Product Requirements]&lt;br /&gt;
* UX Specs: [https://mozilla.invisionapp.com/share/AP8TFZ22G Address Autofill] [https://mozilla.invisionapp.com/share/7ZA4WEK9W Credit Card Autofill]&lt;br /&gt;
* [https://mozilla.invisionapp.com/share/MQ8J8K4CE#/screens/222029808 Old Visual Design Spec]&lt;br /&gt;
* [https://wiki.mozilla.org/QA/form_autofill Test plan]&lt;br /&gt;
* [https://docs.google.com/document/d/1QtyaF0rGqTtqxl1hcIhD-X_i1vNCPJO9Xo10CosdLCg/edit Meeting Notes]&lt;br /&gt;
&lt;br /&gt;
=== Child Pages ===&lt;br /&gt;
{{Special:PrefixIndex/{{{1|{{FULLPAGENAME}}}}}/|stripprefix=1}}&lt;br /&gt;
&lt;br /&gt;
== Feature Availability ==&lt;br /&gt;
=== Nightly ===&lt;br /&gt;
* Address Autofill: Available for all users in en-US builds (with US/CA/DE addresses [see &amp;lt;code&amp;gt;extensions.formautofill.addresses.supportedCountries&amp;lt;/code&amp;gt;]).&lt;br /&gt;
* Credit Card Autofill: Available for all users in the following locales: US, CA, UK, DE, FR.&lt;br /&gt;
&lt;br /&gt;
=== Beta ===&lt;br /&gt;
* Address Autofill: Available for users using an en-US build and located in the US with US addresses.&lt;br /&gt;
* Credit Card Autofill: Available for all users in the following locales: US, CA, UK, DE, FR.&lt;br /&gt;
&lt;br /&gt;
=== Release ===&lt;br /&gt;
* Address Autofill: Rolled out to users using an en-US build and located in the US with US addresses.&lt;br /&gt;
* Credit Card Autofill: Available for all users in the following locales: US, CA, UK, DE, FR.&lt;br /&gt;
&lt;br /&gt;
=== For Testing ===&lt;br /&gt;
&lt;br /&gt;
If you would like to test these features but don&#039;t meet the conditions above, you can manually turn them on by modifying the following prefs via about:config and then &#039;&#039;&#039;restart Firefox&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.creditCards.supported&amp;lt;/code&amp;gt;: on&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.creditCards.enabled&amp;lt;/code&amp;gt;: true&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.creditCards.supportedCountries&amp;lt;/code&amp;gt;: (add your country for GeoIP and the saved country)&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.addresses.supported&amp;lt;/code&amp;gt;: on&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.addresses.enabled&amp;lt;/code&amp;gt;: true&lt;br /&gt;
* &amp;lt;code&amp;gt;extensions.formautofill.addresses.supportedCountries&amp;lt;/code&amp;gt;: (add your country for GeoIP and the saved country)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%22%5Bform%20autofill%22 All open bugs]&lt;br /&gt;
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20%22%5Bform%20autofill%22 All bugs]&lt;br /&gt;
&lt;br /&gt;
Releases:&lt;br /&gt;
* [[Firefox/Features/Form Autofill/MVP]]&lt;br /&gt;
* [[Firefox/Features/Form Autofill/V2]]&lt;br /&gt;
* [[Firefox/Features/Form Autofill/Credit Cards | 2020 Credit card Autofill work]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Dependencies ===&lt;br /&gt;
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw%3A%22%5Bform%20autofill%22%20-product:Firefox%20-product:Toolkit Bug List]&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;quicksearch&amp;quot;: &amp;quot;sw:&#039;[form autofill:M&#039; -product:Firefox -product:Toolkit&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, status, resolution, assigned_to, whiteboard, cf_last_resolved&amp;quot;,&lt;br /&gt;
&amp;quot;order&amp;quot;: &amp;quot;resolution, cf_last_resolved&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Firefox]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{subpagelist}}&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox/Features/Form_Autofill/Debugging&amp;diff=1242713</id>
		<title>Firefox/Features/Form Autofill/Debugging</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox/Features/Form_Autofill/Debugging&amp;diff=1242713"/>
		<updated>2022-05-31T10:01:44Z</updated>

		<summary type="html">&lt;p&gt;Dimi: Created page with &amp;quot;= Gathering Debug Logs = [https://drive.google.com/file/d/1P94qZvQc3FkLiwhrmEYTSweCGt09ef97/preview Follow the instructions in this video] or the written steps in both section...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gathering Debug Logs =&lt;br /&gt;
[https://drive.google.com/file/d/1P94qZvQc3FkLiwhrmEYTSweCGt09ef97/preview Follow the instructions in this video] or the written steps in both sections below.&lt;br /&gt;
== Enable Debug Logging ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Enter &amp;quot;about:config&amp;quot; in the URL bar.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;You may see a warning screen cautioning you about changing advanced preferences. Click the button to ignore the warning.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Set &#039;&#039;&#039;extensions.formautofill.loglevel&#039;&#039;&#039; pref to &#039;&#039;&#039;Debug&#039;&#039;&#039;&lt;br /&gt;
   &amp;lt;li&amp;gt;&lt;br /&gt;
      Make sure &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; of the following prefs are set to &#039;true&#039;.  (Find a pref by entering its name in the &amp;quot;Filter&amp;quot; box at the top of the page.  Toggle its value by either clicking the ⇌ (Toggle) icon or double-clicking the line.)&lt;br /&gt;
      &amp;lt;blockquote&amp;gt;devtools.browserconsole.contentMessages&amp;lt;br/&amp;gt;devtools.browserconsole.filter.error&amp;lt;br/&amp;gt;devtools.browserconsole.filter.warn&amp;lt;br/&amp;gt;devtools.browserconsole.filter.info&amp;lt;br/&amp;gt;devtools.browserconsole.filter.log&amp;lt;br/&amp;gt;devtools.browserconsole.filter.debug&amp;lt;br/&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Restart Firefox&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== View the Logging ==&lt;br /&gt;
# To view the logging, open the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Console &#039;&#039;&#039;Browser&#039;&#039;&#039; Console] and/or Browser Content Toolbox (for logs related to in-page stuff) from the Tools → Web Developer menu. If you don&#039;t see these, follow the instructions on the MDN page to enable it.&lt;br /&gt;
#* &#039;&#039;&#039;Note that the above consoles are different than the Web Console that you use for regular web development.&#039;&#039;&#039;&lt;br /&gt;
# Make sure the log level toggles (&amp;quot;Errors&amp;quot;, &amp;quot;Warnings&amp;quot;, &amp;quot;Logs&amp;quot;, …, &amp;quot;Debug&amp;quot;) are all enabled in the Browser Console. &amp;quot;CSS&amp;quot; should ideally be disabled.&lt;br /&gt;
# Load the problematic web and reproduce the issue in in the browser. You might see messages in the Browser Console like:&lt;br /&gt;
 FormAutofillContent: identifyAutofillFields: &amp;lt;nowiki&amp;gt;https://www.google.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 FormAutofillHandler: Creating new credit card section with flowId  &lt;br /&gt;
&lt;br /&gt;
To copy/save the logs, right-click in an open area of the console and choose &amp;quot;Save all Messages to File&amp;quot; or choose &amp;quot;Copy all Messages&amp;quot; depending on which you prefer. Include them as an &#039;&#039;&#039;attachment&#039;&#039;&#039; on your bug report, not in the body of a comment.&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Modules/Other&amp;diff=1206274</id>
		<title>Modules/Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Modules/Other&amp;diff=1206274"/>
		<updated>2019-01-16T13:36:00Z</updated>

		<summary type="html">&lt;p&gt;Dimi: update the source directory of URL Classifier&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Only module owners may edit this page.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
They may:&lt;br /&gt;
&lt;br /&gt;
* update any information about their module except the name of the owner&lt;br /&gt;
* add or remove sub-modules&lt;br /&gt;
* change the owner of a sub-module &lt;br /&gt;
* add emeritus owners or peers&lt;br /&gt;
&lt;br /&gt;
Other changes, including changes of module owner or addition/removal of modules, must be agreed with the Module Ownership Module group, probably via a discussion in [https://www.mozilla.org/about/forums/#governance mozilla.governance].&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Add-on SDK&lt;br /&gt;
|description=The SDK and APIs that add-on developers can use to create extensions for Firefox and other applications&lt;br /&gt;
|owner=[mailto:gozala@mozilla.com Irakli Gozalishvili]&lt;br /&gt;
|peers=Alex Poirot, Brian Warner, Dietrich Ayala, Drew Willcoxon, Myk Melez, Will Bamberg&lt;br /&gt;
|forum=http://groups.google.com/group/mozilla-labs-jetpack&lt;br /&gt;
|source_dirs=https://github.com/mozilla/addon-sdk&lt;br /&gt;
|url=https://wiki.mozilla.org/Jetpack&lt;br /&gt;
|components=Add-on SDK&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Android Background Services&lt;br /&gt;
|description=Native Android services, including those bundled with Fennec: Sync, Product Announcements, Snippets, Updater, etc.&lt;br /&gt;
|owner=[mailto:rnewman@mozilla.com Richard Newman]&lt;br /&gt;
|peers=[mailto:nalexander@mozilla.com Nick Alexander], [mailto:liuche@mozilla.com Chenxia Liu], [mailto:jwillcox@mozilla.com James Willcox] &lt;br /&gt;
|forum=mozilla.dev.platforms.mobile &lt;br /&gt;
|source_dirs=https://github.com/mozilla-services/android-sync &lt;br /&gt;
|url=https://wiki.mozilla.org/Android/Services&lt;br /&gt;
|components=[https://bugzilla.mozilla.org/enter_bug.cgi?product=Android%20Background%20Services Android Background Services]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=BrowserID&lt;br /&gt;
|description=(a) Server Code, (b) Server deployment (during labs / prototype phase); and (c) *navigator.id.* API across Mozilla codebases (desktop, mobile, WebRT,..) &lt;br /&gt;
|owner=Ben Adida&lt;br /&gt;
|peers=Mike Hanson, Lloyd Hilaiel, Jonas Sicking, Jed Parsons&lt;br /&gt;
|source_dirs=&lt;br /&gt;
  BrowserID server code: https://github.com/mozilla/browserid,    &lt;br /&gt;
  BrowserID server deployment: https://browserid.org, mozilla-central client code: toolkit/identity, dom/identity &lt;br /&gt;
|forum=https://lists.mozilla.org/listinfo/dev-identity &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=ChatZilla&lt;br /&gt;
|description=IRC client&lt;br /&gt;
|owner=[mailto:rginda@hacksrus.com Rob Ginda]&lt;br /&gt;
|peers=[mailto:gijskruitbosch@gmail.com Gijs Kruitbosch], [mailto:samuel@sieb.net Samuel Sieb], [mailto:silver@warwickcompsoc.co.uk James Ross]&lt;br /&gt;
|group=dev-apps-chatzilla&lt;br /&gt;
|source_dirs=extensions/irc/&lt;br /&gt;
|url=http://chatzilla.hacksrus.com/&lt;br /&gt;
|components=Other Applications::ChatZilla&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Composer&lt;br /&gt;
|description=Editor/Composer&lt;br /&gt;
|owner=[mailto:daniel@glazman.org Daniel Glazman]&lt;br /&gt;
|peers=[mailto:brade@comcast.net Kathy Brade], [mailto:neil@parkwaycc.co.uk Neil Rashbrook], [mailto:smfr@smfr.org Simon Fraser], [mailto:timeless@mozdev.org Josh &#039;timeless&#039; Soref]&lt;br /&gt;
|group=dev-tech-editor&lt;br /&gt;
|source_dirs=editor/&lt;br /&gt;
|url=http://www.mozilla.org/editor&lt;br /&gt;
|components=Composer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Content Services Infrastructure&lt;br /&gt;
|description=A set of data services that allow for content to be served and measured&lt;br /&gt;
|owner=[mailto:nanjiang@mozilla.com Nan Jiang]&lt;br /&gt;
|peers=[mailto:tspurway@mozilla.com Tim Spurway]&lt;br /&gt;
|peersemeritus=[mailto:dougt@mozilla.org Doug Turner], [mailto:olivier@olivieryiptong.com Olivier Yiptong]&lt;br /&gt;
|source_dirs=https://github.com/mozilla/onyx, https://github.com/mozilla/splice, https://github.com/mozilla/infernyx, https://github.com/mozilla/learnyx&lt;br /&gt;
|url=https://wiki.mozilla.org/Tiles&lt;br /&gt;
|components=Content Services&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=DevTools&lt;br /&gt;
|description=Mozilla Developer Tools&lt;br /&gt;
|owner=[mailto:pbrosset@mozilla.com Patrick Brosset], [mailto:jwalker@mozilla.com Joe Walker]&lt;br /&gt;
|peers=[mailto:prouget@mozilla.com Paul Rouget], [mailto:past@mozilla.com Panagiotis Astithas], [mailto:mratcliffe@mozilla.com Mike Ratcliffe], [mailto:vporof@mozilla.com Victor Porof], [mailto:fitzgen@mozilla.com Nick Fitzgerald], [mailto:jblandy@mozilla.com Jim Blandy], [mailto:apoirot@mozilla.com Alex Poirot], [mailto:bgrinstead@mozilla.com Brian Grinstead], [mailto:jryans@gmail.com J. Ryan Stinnett], [mailto:janx@linux.com Jan Keromnes],[mailto:ntim.bugs@gmail.com Tim Nguyen], [mailto:jsantell@mozilla.com Jordan Santell], [mailto:ttromey@mozilla.com Tom Tromey], [mailto:jsnajdr@gmail.com Jaroslav Šnajdr], [mailto:lclark@mozilla.com Lin Clark], [mailto:jlaster@mozilla.com Jason Laster], [mailto:odvarko@gmail.com Jan &#039;Honza&#039; Odvarko], [mailto:jdescottes@mozilla.com Julian Descottes], [mailto:gtatum@mozilla.com Greg Tatum], [mailto:gl@mozilla.com Gabriel Luong], [mailto:chevobbe.nicolas@gmail.com Nicolas Chevobbe], [mailto:ystartsev@mozilla.com Yulia Startsev], [mailto:sole@mozilla.com Soledad Penadés], [mailto:jwajsberg@mozilla.com Julien Wajsberg], [mailto:rcaliman@mozilla.com Razvan Caliman], [mailto:mtigley@mozilla.com Micah Tigley], [mailto:sfink@mozilla.com Steve Fink] (heapsnapshot code)&lt;br /&gt;
|peersemeritus=Mihai Șucan, Rob Campbell, Heather Arthur, Anton Kovalyov, Brandon Benvie, Eddy Bruel, James Long, Matteo Ferretti&lt;br /&gt;
|group=dev-developer-tools&lt;br /&gt;
|source_dirs=devtools&lt;br /&gt;
|url=https://wiki.mozilla.org/DevTools&lt;br /&gt;
|components=Firefox::Developer Tools&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Directory SDK&lt;br /&gt;
|description=Tools and SDKs for accessing LDAP Directories.&lt;br /&gt;
|owner=[mailto:mcs@pearlcrescent.com Mark C. Smith]&lt;br /&gt;
|peers=[mailto:anton.bobrov@sun.com Anton Bobrov], [mailto:richm@stanfordalumni.org Rich Megginson]&lt;br /&gt;
|group=dev-tech-ldap&lt;br /&gt;
|source_dirs=directory/&lt;br /&gt;
|url=http://www.mozilla.org/directory&lt;br /&gt;
|components=Directory&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=DOM Inspector&lt;br /&gt;
|description=An extension that allows the user to inspect and edit the DOM of documents being displayed.&lt;br /&gt;
|owner=[mailto:sdwilsh@shawnwilsher.com Shawn Wilsher]&lt;br /&gt;
|peers=[mailto:neil@parkwaycc.co.uk Neil Rashbrook]&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=extensions/inspector/, layout/inspector/&lt;br /&gt;
|url=&lt;br /&gt;
|components=Other Applications::DOM Inspector&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox for Android (Fennec)&lt;br /&gt;
|description=Mobile Web Browser&lt;br /&gt;
|owner=[mailto:snorp@mozilla.com James Willcox (:snorp)], [mailto:sebastian@mozilla.com Sebastian Kaspari (:sebastian) ]&lt;br /&gt;
|peers=[mailto:rnewman@mozilla.com Richard Newman (:rnewman)], [mailto:liuche@mozilla.com Chenxia Liu (:liuche)], [mailto:nalexander@mozilla.com Nick Alexander (:nalexander)], [mailto:mcomella@mozilla.com Michael Comella (:mcomella)], [mailto:gkruglov@mozilla.com Grisha Kruglov (:grisha)], [mailto:maliu@mozilla.com Max Liu (:maliu)], [mailto:nechen@mozilla.com Nevin Chen (:nechen)], [mailto:jchu@mozilla.com Julian Chu (:walkingice)]&lt;br /&gt;
|group=https://mail.mozilla.org/listinfo/mobile-firefox-dev&lt;br /&gt;
|source_dirs=mobile/&lt;br /&gt;
|url=https://wiki.mozilla.org/Fennec&lt;br /&gt;
|components=Firefox for Android&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox for iOS (Fennec)&lt;br /&gt;
|description=Mobile Web Browser&lt;br /&gt;
|owner=[mailto:sarentz@mozilla.com Stefan Arentz]&lt;br /&gt;
|peers=[mailto:bnicolson@mozilla.com Brian Nicholson], [mailto:rnewman@mozilla.com Richard Newman], [mailto:sleroux@mozilla.com Steph Leroux], [mailto:etoop@mozilla.com Emily Toop], [mailto:jhugman@mozilla.com James Hugman]&lt;br /&gt;
|group=https://mail.mozilla.org/listinfo/mobile-firefox-dev&lt;br /&gt;
|source_dirs=https://github.com/mozilla/firefox-ios&lt;br /&gt;
|url=https://wiki.mozilla.org/Fennec&lt;br /&gt;
|components=Firefox for iOS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox Accounts&lt;br /&gt;
|description=The Firefox Accounts identity provider and the integration of user-data services tied to a Firefox account. Where this work overlaps with existing modules (FX front-end, FX Android front-end, FXOS), design and code reviews from all relevant module owners will be required. &lt;br /&gt;
|owner=[mailto:rfkelly@mozilla.com Ryan Kelly]&lt;br /&gt;
|peers=[mailto:stomlinson@mozilla.com Shane Tomlinson],  [mailto:vlad.filippov@gmail.com Vlad Filippov], [mailto:pbooth@mozilla.com Phil Booth],  [mailto:vbudhram@mozilla.com Vijay Budhram]&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=https://github.com/mozilla/fxa-auth-server, https://github.com/mozilla/fxa-content-server, https://github.com/mozilla/fxa-oauth-server, https://github.com/mozilla/fxa-profile-server, https://github.com/mozilla/browserid-verifier, https://github.com/mozilla/fxa-js-client&lt;br /&gt;
|mailing list=https://mail.mozilla.org/listinfo/dev-fxacct&lt;br /&gt;
|url=https://wiki.mozilla.org/Identity/FirefoxAccounts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Firefox for Metro&lt;br /&gt;
|description=Touch-screen-friendly browser for Windows&lt;br /&gt;
|owner=[mailto:jmathies@mozilla.com Jim Mathies], [mailto:mbrubeck@mozilla.com Matt Brubeck]&lt;br /&gt;
|peers=Allison Naaktgeboren, Brian Bondy, Marina Samuel, Mark Finkle, Rodrigo Silveira, Sam Foster, [https://mozillians.org/en-US/u/TimAbraldes/ Tim Abraldes]&lt;br /&gt;
|forum=https://mail.mozilla.org/listinfo/metro&lt;br /&gt;
|source_dirs=browser/metro&lt;br /&gt;
|url=https://wiki.mozilla.org/Firefox/Metro&lt;br /&gt;
|components=Firefox for Metro&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Loop aka Firefox Hello&lt;br /&gt;
|description=Voice and Video Collaboration System&lt;br /&gt;
|owner=[mailto:standard8@mozilla.com Mark Banner]&lt;br /&gt;
|peers=[mailto:abr@mozilla.com Adam Roach], [mailto:dmose@mozilla.com Dan Mosedale], [mailto:nperriault@mozilla.com Nicolas Perriault], [mailto:jaws@mozilla.com Jared Wein], [mailto:mdeboer@mozilla.com Michael de Boer], [mailto:tarek@mozilla.com Tarek Ziadé], [mailto:alexis@mozilla.com Alexis Metaireau], [mailto:natim@mozilla.com Rémy Hubscher], [mailto:mlepatre@mozilla.com Mathieu Leplatre], [mailto:fernando@mozilla.com Fernando Jiménez], [mailto:borja.salguero@telefonica.com Borja Salguero], [mailto:jaoo@tid.es Jose Antonio Olivera]&lt;br /&gt;
|forum=https://lists.mozilla.org/listinfo/dev-media (mozilla.dev.media)&lt;br /&gt;
|source_dirs=browser/components/loop, https://github.com/mozilla-services/loop-server, https://github.com/mozilla-b2g/firefoxos-loop-client&lt;br /&gt;
|url=https://wiki.mozilla.org/Loop&lt;br /&gt;
|components=Loop::Client, Loop::Server, Loop::General, Firefox OS::Gaia::Loop&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Mozilla Location Service (MLS)&lt;br /&gt;
|description=The Mozillla Location Service provides a service to position your device based on cell and wireless information.&lt;br /&gt;
|owner=[mailto:hschlichting@mozilla.com Hanno Schlichting]&lt;br /&gt;
|peers=&lt;br /&gt;
|peersemeritus=Victor Ng (2013-2014), Graydon Hoare (2014)&lt;br /&gt;
|forum=mozilla.dev.geolocation&lt;br /&gt;
|source_dirs=https://github.com/mozilla/ichnaea&lt;br /&gt;
|url=https://location.services.mozilla.com&lt;br /&gt;
|components=Mozilla Services :: Location, https://github.com/mozilla/ichnaea/issues&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Mozilla Stumbler (&amp;quot;MozStumbler&amp;quot;)&lt;br /&gt;
|description=The Mozilla Stumbler (MozStumbler) collects wireless network information for crowd-sourcing location positioning with Mozilla Location Service (MLS).&lt;br /&gt;
|owner=Garvan Keeley&lt;br /&gt;
|peers=[mailto:vng@mozilla.com Victor Ng], [mailto:dougt@mozilla.com Doug Turner], [mailto:cpeterson@mozilla.com Chris Peterson]&lt;br /&gt;
|forum=mozilla.dev.geolocation&lt;br /&gt;
|source_dirs=https://github.com/mozilla/MozStumbler &lt;br /&gt;
|url=https://location.services.mozilla.com&lt;br /&gt;
|components=https://github.com/mozilla/MozStumbler/issues&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Sync&lt;br /&gt;
|description=Firefox Sync client&lt;br /&gt;
|owner=[mailto:mconnor@mozilla.com Mike Connor]&lt;br /&gt;
|peers=[mailto:rnewman@mozilla.com Richard Newman], [mailto:gps@mozilla.com Gregory Szorc], Philipp von Weitershausen&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=services/sync/&lt;br /&gt;
|url=https://wiki.mozilla.org/Services/Process/Code_Review&lt;br /&gt;
|components=Sync&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Party Tool&lt;br /&gt;
|description=PHP-based party tool used for Firefox Party&lt;br /&gt;
|owner=[mailto:rflint@ryanflint.com Ryan Flint]&lt;br /&gt;
|peers=Mike Morgan, [mailto:reed@reedloden.com Reed Loden]&lt;br /&gt;
|group=dev-apps-webtools&lt;br /&gt;
|source_dirs=webtools/partytool/&lt;br /&gt;
|url=http://wiki.mozilla.org/Webtools:PartyTool&lt;br /&gt;
|components=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Penelope&lt;br /&gt;
|description=Eudora-like functionality and theme added to Thunderbird.&lt;br /&gt;
|owner=Jeff Beckley&lt;br /&gt;
|peers=&lt;br /&gt;
|group=&lt;br /&gt;
|source_dirs=penelope/&lt;br /&gt;
|url=https://wiki.mozilla.org/Penelope&lt;br /&gt;
|components=Penelope&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Popcorn.js&lt;br /&gt;
|description=Popcorn.js is an HTML5 media framework written in JavaScript for filmmakers, web developers, and anyone who wants to create time-based interactive media on the web. &lt;br /&gt;
|owner=[mailto:brett@mozillafoundation.org Brett Gaylor]&lt;br /&gt;
|peers=[mailto:david.humphrey@senecacollege.ca David Humphrey], [mailto:scott.downe@gmail.com Scott Downe], [mailto:rick@bocoup.com Rick Waldron]&lt;br /&gt;
|group=dev-popcorn&lt;br /&gt;
|source_dirs= https://github.com/mozilla/popcorn-js/&lt;br /&gt;
|url=[http://www.popcornjs.org/ Project Home Page], [https://webmademovies.lighthouseapp.com/projects/63272-popcornjs/overview Issue Tracker]&lt;br /&gt;
|components=https://webmademovies.lighthouseapp.com/projects/63272-popcornjs/overview&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Popcorn Maker&lt;br /&gt;
|description=An SDK for authoring Popcorn projects.&lt;br /&gt;
|owner=[mailto:brett@mozillafoundation.org Brett Gaylor]&lt;br /&gt;
|peers=[mailto:ben@mozillafoundation.org Ben Moskowitz], [mailto:bobby@mozillafoundation.org Robert Richter]&lt;br /&gt;
|group=dev-popcorn&lt;br /&gt;
|source_dirs= https://github.com/mozilla/butter/&lt;br /&gt;
|url=[http://mozillapopcorn.org/popcorn-maker/ Project Home Page], [https://webmademovies.lighthouseapp.com/projects/65733-butter/overview Issue Tracker]&lt;br /&gt;
|components=https://webmademovies.lighthouseapp.com/projects/65733-butter/overview&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Rhino&lt;br /&gt;
|description=JavaScript interpreter/compiler implemented in Java&lt;br /&gt;
|owner=[mailto:greg@apigee.com Greg Brail]&lt;br /&gt;
|peers=[mailto:norrisboyd@gmail.com Norris Boyd], [mailto:szegedia@freemail.hu Attila Szegedi]&lt;br /&gt;
|group=dev-tech-js-engine&lt;br /&gt;
|source_dirs=js/rhino/&lt;br /&gt;
|url=http://www.mozilla.org/rhino/&lt;br /&gt;
|components=Rhino&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Screenshots&lt;br /&gt;
|description=Code relating to Screenshots functionality, both client (eg. Firefox) and server.&lt;br /&gt;
|owner=[mailto:ianb@mozilla.com Ian Bicking]&lt;br /&gt;
|peers=[mailto:jhirsch@mozilla.com Jared Hirsch], [mailto:bchen@mozilla.com Barry Chen], [mailto:pdahiya@mozilla.com Punam Dahiya]&lt;br /&gt;
|source_dirs=browser/extensions/screenshots&lt;br /&gt;
|components=Firefox::Screenshots, Cloud Services::Server: Screenshots&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Standalone Composer&lt;br /&gt;
|description=Standalone editor/composer based on mozilla/toolkit&lt;br /&gt;
|owner=[mailto:daniel@glazman.org Daniel Glazman]&lt;br /&gt;
|peers=[mailto:brade@comcast.net Kathy Brade], [mailto:neil@parkwaycc.co.uk Neil Rashbrook]&lt;br /&gt;
|group=dev-tech-editor,dev-apps-other&lt;br /&gt;
|source_dirs=composer/&lt;br /&gt;
|url=http://www.mozilla.org/editor/, http://www.nvu.com/, http://glazman.org/weblog/dotclear/index.php?Nvu&lt;br /&gt;
|components=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=URL Classifier&lt;br /&gt;
|description=Database and list-based classification of URL resources,&lt;br /&gt;
such as Tracking Protection and SafeBrowsing.&lt;br /&gt;
|owner=[mailto:dlee@mozilla.com Dimi Lee] (client), [mailto:lcrouch@mozilla.com Luke Crouch] (server)&lt;br /&gt;
|peers=[mailto:gcp@mozilla.com Gian-Carlo Pascutto] (client) &lt;br /&gt;
|ownersemeritus=François Marier&lt;br /&gt;
|peersemeritus=Henry Chang, Ryan Tilder&lt;br /&gt;
|group=mozilla.dev.platform&lt;br /&gt;
|source_dirs=toolkit/components/url-classifier, netwerk/url-classifier, https://github.com/mozilla-services/shavar&lt;br /&gt;
|url=&lt;br /&gt;
https://wiki.mozilla.org/Phishing_Protection, https://wiki.mozilla.org/Security/Tracking_protection, https://wiki.mozilla.org/Security/Application_Reputation&lt;br /&gt;
|components=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Module&lt;br /&gt;
|name=Venkman&lt;br /&gt;
|description=JavaScript Debugger frontend&lt;br /&gt;
|owner=[mailto:rginda@hacksrus.com Rob Ginda]&lt;br /&gt;
|peers=[mailto:brendan@mozilla.org Brendan Eich], [mailto:gijskruitbosch@gmail.com Gijs Kruitbosch], [mailto:shaver@mozilla.org Mike Shaver], [mailto:silver@warwickcompsoc.co.uk James Ross], [mailto:timeless@mozdev.org Josh &#039;timeless&#039; Soref]&lt;br /&gt;
|group=dev-apps-js-debugger&lt;br /&gt;
|source_dirs=extensions/venkman/&lt;br /&gt;
|url=http://www.mozilla.org/projects/venkman&lt;br /&gt;
http://www.hacksrus.com/~ginda/venkman/&lt;br /&gt;
|components=Other Applications::Venkman JS Debugger&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Download_Protection&amp;diff=1200646</id>
		<title>Security/Download Protection</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Download_Protection&amp;diff=1200646"/>
		<updated>2018-09-06T08:54:01Z</updated>

		<summary type="html">&lt;p&gt;Dimi: update Telemetry section based on recent changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
This feature protects users against malware downloads. It is based on [[Security/Safe Browsing|Safe Browsing]].&lt;br /&gt;
&lt;br /&gt;
See [[Security/Features/Application_Reputation_Design_Doc]] for implementation details.&lt;br /&gt;
&lt;br /&gt;
== Prefs ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.downloads.enabled&amp;lt;/tt&amp;gt;: enables application reputation checks for downloaded files&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.downloads.remote.enabled&amp;lt;/tt&amp;gt;: enables remote lookups (requires the previous pref)&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.downloads.remote.timeout_ms&amp;lt;/tt&amp;gt;: timeout for the remote lookups&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.downloads.remote.url&amp;lt;/tt&amp;gt;: server endpoint for remote lookups&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.malware.enabled&amp;lt;/tt&amp;gt;: enables malware checks (required by application reputation)&lt;br /&gt;
* &amp;lt;tt&amp;gt;browser.safebrowsing.provider.google.lists&amp;lt;/tt&amp;gt;: list of tables coming from the Google Safe Browsing service&lt;br /&gt;
* &amp;lt;tt&amp;gt;urlclassifier.downloadAllowTable&amp;lt;/tt&amp;gt;: list of trusted certificates which suppress remote lookups (Windows-only)&lt;br /&gt;
* &amp;lt;tt&amp;gt;urlclassifier.downloadBlockTable&amp;lt;/tt&amp;gt;: list of URLs serving malware binaries&lt;br /&gt;
&lt;br /&gt;
== Engineering ==&lt;br /&gt;
Product/Component: &#039;&#039;&#039;Toolkit/Safe Browsing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=662819 Tracking bug]&lt;br /&gt;
&lt;br /&gt;
Most of the code lives in &amp;lt;tt&amp;gt;toolkit/components/downloads/ApplicationReputation.cpp&amp;lt;/tt&amp;gt;. The lookup is requested from within [https://searchfox.org/mozilla-central/rev/d67ef71097da4d1aa344c9d9c672e49a7228e765/toolkit/components/jsdownloads/src/DownloadIntegration.jsm#468-482 toolkit/components/jsdownloads/src/DownloadIntegration.jsm].&lt;br /&gt;
&lt;br /&gt;
Upstream list of file extensions:&lt;br /&gt;
* Shipped to Chrome via a &amp;quot;File Type Policies&amp;quot; Chrome extension (see &amp;lt;tt&amp;gt;chrome://components&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* [https://github.com/fmarier/safebrowsing-tools/blob/master/parse-filetypes.py Binary protobuf extractor]&lt;br /&gt;
* [https://cs.chromium.org/chromium/src/chrome/browser/resources/safe_browsing/download_file_types.asciipb Source protobuf]&lt;br /&gt;
&lt;br /&gt;
=== Tests ===&lt;br /&gt;
&lt;br /&gt;
Here are the download protection specific tests:&lt;br /&gt;
&lt;br /&gt;
 ./mach test toolkit/components/reputationservice/test/&lt;br /&gt;
&lt;br /&gt;
Also relevant are the [[Security/Safe_Browsing#Tests|Safe Browsing tests]].&lt;br /&gt;
&lt;br /&gt;
== QA ==&lt;br /&gt;
&lt;br /&gt;
* [http://testsafebrowsing.appspot.com Test page]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1250329 Meta QA bug for Safe Browsing]&lt;br /&gt;
&lt;br /&gt;
To turn on debugging output, export the following environment variable:&lt;br /&gt;
&lt;br /&gt;
 MOZ_LOG_FILE=/tmp/apprep.log&lt;br /&gt;
 MOZ_LOG=&amp;quot;ApplicationReputation:5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Telemetry ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alerts are sent to [https://mail.mozilla.org/listinfo/safebrowsing-telemetry safebrowsing-telemetry@mozilla.org].&#039;&#039;&#039;&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2018-09-04&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F63&amp;amp;measure=APPLICATION_REPUTATION_BINARY&amp;amp;min_channel_version=null&amp;amp;processType=*&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2018-08-09&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_BINARY]: whether the file examined by download protection is a binary type&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2018-09-04&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F63&amp;amp;measure=APPLICATION_REPUTATION_BINARY_ARCHIVE&amp;amp;min_channel_version=null&amp;amp;processType=*&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2018-08-09&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_BINARY_ARCHIVE]: whether the binary file examined by download protection is dmg, rar or zip&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2016-06-06&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F49&amp;amp;measure=APPLICATION_REPUTATION_LOCAL&amp;amp;min_channel_version=null&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2016-04-25&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_LOCAL]: results of the local checks (whitelist and blacklist)&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2016-08-20&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F51&amp;amp;measure=APPLICATION_REPUTATION_REMOTE_LOOKUP_TIMEOUT&amp;amp;min_channel_version=nightly%252F51&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2016-08-20&amp;amp;table=0&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_REMOTE_LOOKUP_TIMEOUT]: whether or not a client timed out while contacting the remote lookup server&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2016-06-06&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F49&amp;amp;measure=APPLICATION_REPUTATION_SERVER&amp;amp;min_channel_version=null&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2016-04-25&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_SERVER]: whether the response from the remote server was valid, invalid (failed to parse as a protobuf) or failed in some other way&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2018-09-04&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F63&amp;amp;measure=APPLICATION_REPUTATION_SERVER_2&amp;amp;min_channel_version=null&amp;amp;processType=*&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2018-08-09&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_SERVER_2]: a more detailed version of APPLICATION_REPUTATION_SERVER with network status&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2016-06-06&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F49&amp;amp;measure=APPLICATION_REPUTATION_SERVER_VERDICT&amp;amp;min_channel_version=null&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2016-04-25&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_SERVER_VERDICT]: results (verdict) we got back from the remote server lookup&lt;br /&gt;
* [https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&amp;amp;end_date=2016-06-06&amp;amp;keys=__none__!__none__!__none__&amp;amp;max_channel_version=nightly%252F49&amp;amp;measure=APPLICATION_REPUTATION_SHOULD_BLOCK&amp;amp;min_channel_version=null&amp;amp;product=Firefox&amp;amp;sanitize=1&amp;amp;sort_keys=submissions&amp;amp;start_date=2016-04-25&amp;amp;table=1&amp;amp;trim=1&amp;amp;use_submission_date=0 APPLICATION_REPUTATION_SHOULD_BLOCK]: whether or not a download has been blocked due to an application reputation lookup (local or remote)&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Security/Features/Application_Reputation_Design_Doc]]&lt;br /&gt;
* [https://mana.mozilla.org/wiki/display/FIREFOX/Application+Reputation Google API documentation] (internal access only)&lt;br /&gt;
* [http://www.internetsociety.org/doc/camp-content-agnostic-malware-protection Content-Agnostic Malware Protection] (paper describing how the whole system is implemented)&lt;br /&gt;
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/safe_browsing/csd.proto&amp;amp;q=csd&amp;amp;sq=package:chromium&amp;amp;l=229 Chromium source code]&lt;br /&gt;
* [http://monica-at-mozilla.blogspot.co.nz/2014/07/download-files-more-safely-with-firefox.html Announcement blog post]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1171870</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1171870"/>
		<updated>2017-05-24T08:24:55Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M8 (2017/8/7) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.temporary.take_v4_completion_result&#039;&#039;&#039; to &#039;&#039;&#039;true&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
If you want to get rid of v2 and use v4 only, you could also set the following preferences to empty string&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google.lists&#039;&#039;&#039; to &#039;&#039;&#039;&amp;quot;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
then you are ready to go!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (2017/4/18) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable both V4 and V2 on Nightly 55&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (2017/6/12) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 only in Nightly 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;br /&gt;
&lt;br /&gt;
== M8 (2017/8/7) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 only in Nightly 57&lt;br /&gt;
# V4 enabled but result ignored in Beta 56&lt;br /&gt;
# Plan for V4 integration tests&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M8 Dashboard for M8 bugs]&lt;br /&gt;
&lt;br /&gt;
== M9 (2017/09/25) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 only in Nightly 58 (riding the trains!)&lt;br /&gt;
# V4 enabled but result ignored on Beta 57&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M9 Dashboard for M9 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M10 (2017/11/27) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 only in Beta 58&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M10 Dashboard for M10 bugs]&lt;br /&gt;
&lt;br /&gt;
== M11 (2018/01/16) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 only in Release 58&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M11 Dashboard for M11 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162996</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162996"/>
		<updated>2017-02-15T07:02:36Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Try it on! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.temporary.take_v4_completion_result&#039;&#039;&#039; to &#039;&#039;&#039;true&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
If you want to get rid of v2 and use v4 only, you could also set the following preferences to empty string&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google.lists&#039;&#039;&#039; to &#039;&#039;&#039;&amp;quot;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
then you are ready to go!&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (2017/4/17) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable V4 and only use V4 on Nightly 56 !!!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (2017/6/12) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Nightly 57&lt;br /&gt;
# V4 enabled but result ignored on Aurora 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;br /&gt;
&lt;br /&gt;
== M8 (2017/8/7) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Aurora 57(also in Nightly 58)&lt;br /&gt;
# V4 enabled but result ignored on Beta 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M8 Dashboard for M8 bugs]&lt;br /&gt;
&lt;br /&gt;
== M9 (2017/10/2) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Beta 57(Aurora 58, Nightly 59)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M9 Dashboard for M9 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M10 (2017/11/27) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Release 57 ｡:.ﾟヽ(*´∀`)ﾉﾟ.:｡&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M10 Dashboard for M10 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162353</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162353"/>
		<updated>2017-02-09T09:03:23Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (2017/4/17) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable V4 and only use V4 on Nightly 56 !!!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (2017/6/12) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Nightly 57&lt;br /&gt;
# V4 not active on Aurora 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;br /&gt;
&lt;br /&gt;
== M8 (2017/8/7) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Aurora 57(also in Nightly 58)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M8 Dashboard for M8 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M9 (2017/10/2) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Beta 57(Aurora 58, Nightly 59)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M9 Dashboard for M9 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M10 (2017/11/27) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Release 57 ｡:.ﾟヽ(*´∀`)ﾉﾟ.:｡&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M10 Dashboard for M10 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162352</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162352"/>
		<updated>2017-02-09T09:01:06Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M55 Dashboard for M55 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (2017/4/17) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable V4 and only use V4 on Nightly 56 !!!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M56 Dashboard for M56 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (2017/6/12) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Nightly 57&lt;br /&gt;
# V4 not active on Aurora 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M57 Dashboard for M57 bugs]&lt;br /&gt;
&lt;br /&gt;
== M8 (2017/8/7) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Aurora 57(also in Nightly 58)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M58 Dashboard for M58 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M9 (2017/10/2) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Beta 57(Aurora 58, Nightly 59)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M59 Dashboard for M59 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M10 (2017/11/27) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Release 57 ｡:.ﾟヽ(*´∀`)ﾉﾟ.:｡&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M60 Dashboard for M60 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162351</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162351"/>
		<updated>2017-02-09T09:00:13Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M5 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M6 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M7 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162349</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162349"/>
		<updated>2017-02-09T08:06:32Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M55 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M55 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M56 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M57 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162348</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162348"/>
		<updated>2017-02-09T08:05:59Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M55 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M55 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;, &amp;quot;#sbv4-m55&amp;quot;&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M56 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M57 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162345</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162345"/>
		<updated>2017-02-09T07:02:17Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M55 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M55 Dashboard for M55 bugs]&lt;br /&gt;
&lt;br /&gt;
== M56 (2017/4/17) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable V4 and only use V4 on Nightly 56 !!!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M56 Dashboard for M56 bugs]&lt;br /&gt;
&lt;br /&gt;
== M57 (2017/6/12) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Nightly 57&lt;br /&gt;
# V4 not active on Aurora 56&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M57 Dashboard for M57 bugs]&lt;br /&gt;
&lt;br /&gt;
== M58 (2017/8/7) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Aurora 57(also in Nightly 58)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M58 Dashboard for M58 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M59 (2017/10/2) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Beta 57(Aurora 58, Nightly 59)&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M59 Dashboard for M59 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M60 (2017/11/27) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# V4 enabled on Release 57 ｡:.ﾟヽ(*´∀`)ﾉﾟ.:｡&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M60 Dashboard for M60 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162344</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162344"/>
		<updated>2017-02-09T06:51:45Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M6 (Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M55 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M55 Dashboard for M55 bugs]&lt;br /&gt;
&lt;br /&gt;
== M56 (2017/4/17) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Caching&lt;br /&gt;
# Enable V4 and only use V4 on nightly !!!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M56 Dashboard for M56 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162343</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1162343"/>
		<updated>2017-02-09T06:47:13Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M55 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M56 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M57 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162342</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1162342"/>
		<updated>2017-02-09T06:45:23Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M5 (Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Try it on! =&lt;br /&gt;
V4 has been function ready (but pref&#039;ed off) since Bug 1312339 was resolved. By changing preferences&lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-phish-shavar,goog-phish-proto,test-phish-simple&#039;&#039;&#039; &lt;br /&gt;
# &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; to &#039;&#039;&#039;goog-malware-shavar,goog-malware-proto,goog-unwanted-shavar,goog-unwanted-proto,test-malware-simple,test-unwanted-simple&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;browser.safebrowsing.provider.google4.gethashURL&#039;&#039;&#039; to &#039;&#039;&#039;https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&amp;amp;key=%GOOGLE_API_KEY%&#039;&#039;&#039;&lt;br /&gt;
you can turn on v4 feature (while v2 is still up and running).&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M55 (2017/3/6) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 completion on nightly but ignore the result&lt;br /&gt;
# Add V4 table for Download protection.&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M55 Dashboard for M55 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Fennec&lt;br /&gt;
# Download protection&lt;br /&gt;
# Make v2 testcases can also test v4&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1156994</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1156994"/>
		<updated>2016-12-14T00:54:41Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M5 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M6 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M7 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1156993</id>
		<title>Security/Safe Browsing/V4 Implementation/Dashboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation/Dashboard&amp;diff=1156993"/>
		<updated>2016-12-14T00:53:59Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dashboard for SafeBrowsing v4 =&lt;br /&gt;
&lt;br /&gt;
== M0 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m0&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M1 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m1&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M2 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m2&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M3 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m3&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M4 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m4&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M5 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m5&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== M6 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m6&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== M7 ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;whiteboard&amp;quot;: &amp;quot;#sbv4-m7&amp;quot;,&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, priority, status, resolution, assigned_to&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;: &amp;quot;status, assigned_to&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156992</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156992"/>
		<updated>2016-12-14T00:50:20Z</updated>

		<summary type="html">&lt;p&gt;Dimi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (2017/1/23) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable update by default&lt;br /&gt;
# Fix crashes and regressions&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Fennec&lt;br /&gt;
# Download protection&lt;br /&gt;
# Make v2 testcases can also test v4&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156991</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156991"/>
		<updated>2016-12-14T00:46:37Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M7(Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Fennec&lt;br /&gt;
# Download protection&lt;br /&gt;
# Make v2 testcases can also test v4&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M7 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M7 Dashboard for M7 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156990</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156990"/>
		<updated>2016-12-14T00:46:17Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M5(Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Fennec&lt;br /&gt;
# Download protection&lt;br /&gt;
# Make v2 testcases can also test v4&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156989</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1156989"/>
		<updated>2016-12-14T00:45:27Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M5 (Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Fennec&lt;br /&gt;
# Download protection&lt;br /&gt;
# Make v2 testcases can also test v4&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152076</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152076"/>
		<updated>2016-10-21T07:23:52Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Deliverables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;googpub-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M2 Dashboard for M2 bugs]&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Anything else&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152075</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152075"/>
		<updated>2016-10-21T07:23:05Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* M6 (Deadline TBD) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;googpub-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Anything else&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M6 Dashboard for M6 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152074</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152074"/>
		<updated>2016-10-21T07:22:37Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;googpub-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Anything else&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152073</id>
		<title>Security/Safe Browsing/V4 Implementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Security/Safe_Browsing/V4_Implementation&amp;diff=1152073"/>
		<updated>2016-10-21T07:20:15Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick Links =&lt;br /&gt;
* [[Security/Safe_Browsing/V4_Implementation/Dashboard|Dashboard]]&lt;br /&gt;
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1167038&amp;amp;hide_resolved=1 Bug Dependency Tree]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Safe Browsing v4 is designed to reduce network bandwidth and disk storage (mainly for mobile devices). The usage of partial URL hashes (aka prefixes) and complete hashes remains the same but the way we get those prefixes and complete hashes is changed. The update and hash completion API will be based on protobuf and content compression (in additional to HTTP compression) is introduced. For further information, see https://developers.google.com/safe-browsing/v4 (The public specification is not complete. For example, the protobuf is not mentioned.)&lt;br /&gt;
&lt;br /&gt;
= Design and Implementation =&lt;br /&gt;
To have v2 and v4 run in parallel, we must carefully refactor some core components like &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039;. Instead of having a master preference to switch between v2 and v4, we take the &amp;quot;table name driven&amp;quot; approach. The plan is to add a separate provider called &#039;&#039;&#039;google4&#039;&#039;&#039;, which owns v4 tables: &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;&#039;goog-unwanted-proto&#039;&#039;&#039; and &#039;&#039;&#039;goog-malware-proto&#039;&#039;&#039;. The suffix &amp;quot;-proto&amp;quot; indicates that the table should be updated and completed via protobuf. Besides, the new provider google4 has its own &#039;&#039;&#039;updateURL&#039;&#039;&#039; and &#039;&#039;&#039;gethashURL&#039;&#039;&#039;. You can consider &#039;&#039;&#039;google4&#039;&#039;&#039; yet another provider like &#039;&#039;&#039;mozilla&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;ListManager&#039;&#039;&#039; and &#039;&#039;&#039;HashCompleter&#039;&#039;&#039; (and any other related components like ProtocolParser) sees table names suffixed by &amp;quot;-proto&amp;quot;, they would behave differently. For example, in &#039;&#039;&#039;listmanager.js&#039;&#039;&#039;, while making update request for table &#039;&#039;&#039;goog-phish-proto&#039;&#039;&#039;, &#039;&#039;nsIUrlClassifier.makeUpdateRequestV4&#039;&#039; will be called to build a v4 specific request. (See {{Bug|1264885}} and {{Bug|1275507}} for more information.)&lt;br /&gt;
&lt;br /&gt;
= Using custom API key =&lt;br /&gt;
We are required to have a API key to access google services like geolocation and safe browsing. The nightly/beta/aurora/release Firefox builds will have a proper API key associated with mozilla. However, if you are using the Firefox built on your own, the API key will be substituted with &amp;quot;no-google-api-key&amp;quot;, which is apparently not available. There are a couple of ways to use a working API key for Safe Browsing. The most recommended way is to prepare a key file and add the path to mozconfig:&lt;br /&gt;
&lt;br /&gt;
# Obtain a Safe Browsing google API key from https://console.developers.google.com&lt;br /&gt;
#* If you don&#039;t know how to get a API key, buy hchang@mozilla.com a beer and ask him :p&lt;br /&gt;
# Create a key file which only contains the API key.&lt;br /&gt;
# Add &amp;quot;ac_add_options --with-google-api-keyfile=/path/to/your/keyfile&amp;quot; to mozconfig&lt;br /&gt;
# Rebuild and check if config.status has something like &#039;MOZ_GOOGLE_API_KEY&#039;: b&#039;AIzaSooxxxxoxoxoxoxooxx&#039;&lt;br /&gt;
&lt;br /&gt;
= Milestones =&lt;br /&gt;
&lt;br /&gt;
== M0 (2016/7/31) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Send v4 update request on time&lt;br /&gt;
# Parse v4 update response but not store to disk&lt;br /&gt;
# Use v4 request backoff settings&lt;br /&gt;
# v2 will still be up and running&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
# v4 table download/update will be opt-in.&lt;br /&gt;
# To test M0 features, modify the following preferences:&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.malwareTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;goog-malware-proto&#039;&#039; and &#039;&#039;goog-unwanted-proto&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;urlclassifier.phishTable&#039;&#039;&#039; ==&amp;gt; Add &#039;&#039;googpub-phish-proto&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M0 Dashboard for M0 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M1 (2016/9/30) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Store v4 tables to disk (including fixed and variable length prefixes)&lt;br /&gt;
# Store table states&lt;br /&gt;
# Split v4 tables to different directory per provider&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M1 Dashboard for M1 bugs]&lt;br /&gt;
&lt;br /&gt;
=== Workweek in Vancouver ===&lt;br /&gt;
# Etherpad: https://public.etherpad-mozilla.org/p/sbv4yvr&lt;br /&gt;
&lt;br /&gt;
== M2 (TBC, maybe 10/15) ==&lt;br /&gt;
The intention of M2 is to push the date where we &amp;quot;enable v4 list update on nightly by default&amp;quot; to two weeks later because we have identified some issues and lacks in M0 and M1 in Vancouver SBv4 work week. The target date is the end of second week in October. &lt;br /&gt;
&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# {{Bug|1305486}} to enable v4 table update on nightly by default (The most important!)&lt;br /&gt;
# {{Bug|1305567}} so that we won&#039;t get 400 error while doing list update. (landed)&lt;br /&gt;
# {{Bug|1305581}} to examine checksum against the updated lists.&lt;br /&gt;
# {{Bug|1285848}} to support compressed list update. (under review)&lt;br /&gt;
# {{Bug|1305801}} to store v4 list to disk. (landed)&lt;br /&gt;
# {{Bug|1305484}} to store v4 list states to disk rather than preference.&lt;br /&gt;
&lt;br /&gt;
== M3 (Right before Hawaii Workweek) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Check v4 prefixes (in addition to v4) but ignore the result&lt;br /&gt;
# v2/v4 prefix matching consistency telemetry (e.g. v2/v4 should both &#039;have&#039; or &#039;not have&#039; certain URL hash)&lt;br /&gt;
## Be careful of the variable length prefixes: it&#039;s possible to get a 32-bit prefix match for &amp;lt;tt&amp;gt;foo.com&amp;lt;/tt&amp;gt; in V2 and no match on V4 because that entry uses a 48-bit prefix instead&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
== M4 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Do and use v4 complete hashes (in addition to v2) but ignore the result&lt;br /&gt;
# v2/v4 URL hash matching consistency telemetry&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M3 Dashboard for M3 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M5 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Cache&lt;br /&gt;
# Anything else&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M4 Dashboard for M4 bugs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== M6 (Deadline TBD) ==&lt;br /&gt;
=== Deliverables ===&lt;br /&gt;
# Enable v4 by default!&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
[https://wiki.mozilla.org/Security/Safe_Browsing/V4_Implementation/Dashboard#M5 Dashboard for M5 bugs]&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-12-30&amp;diff=1110881</id>
		<title>TPE CONNECTIVITY GROUP/2015-12-30</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-12-30&amp;diff=1110881"/>
		<updated>2015-12-30T02:29:14Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/12/30 (Wed), 10:30 AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Thomas, Tim, Yoshi, Winnie&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
*{{Bug|1220950}}&lt;br /&gt;
**Adding tests for checking signed package should not share data with other package or web content. &#039;&#039;&#039;update code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*{{Bug|1188822}}&lt;br /&gt;
**Make service-workers/service-worker/fetch-request-resources.https.html pass. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*{{Bug|1205288}}&lt;br /&gt;
**implement and test fetch spec changes for blob scheme with non-GET method. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
* {{Bug|1131493}} - [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Implemented the Upnp service discovery.&lt;br /&gt;
** Test and debug the functionality of Upnp service discovery.&lt;br /&gt;
&lt;br /&gt;
* {{Bug|1230037}} - [OTA] [Wi-Fi] Separate Gecko and Gonk layers in Wi-Fi module&lt;br /&gt;
** Studying other modules that nearly support the future of gonk, e.g. bt, nfc.&lt;br /&gt;
** Contemplating that how we implement the future of gonk in Wifi.&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
* {{Bug|1195930}} - Use origin in QuotaManager&lt;br /&gt;
** ongoing&lt;br /&gt;
&lt;br /&gt;
= About MozAOSP Project =&lt;br /&gt;
* Slides of draft design&lt;br /&gt;
** https://docs.google.com/a/mozilla.com/presentation/d/1XLVXHEfGRY_zaZT3cmd0f678_e6SvjqqEXSznTe81_4/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= Offsite Team Meeting =&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-12-30&amp;diff=1110880</id>
		<title>TPE CONNECTIVITY GROUP/2015-12-30</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-12-30&amp;diff=1110880"/>
		<updated>2015-12-30T02:28:19Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/12/30 (Wed), 10:30 AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Thomas, Tim, Yoshi, Winnie&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
*Bug 1220950&lt;br /&gt;
**Adding tests for checking signed package should not share data with other package or web content. &#039;&#039;&#039;update code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Bug 1188822&lt;br /&gt;
**Make service-workers/service-worker/fetch-request-resources.https.html pass. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Bug 1205288&lt;br /&gt;
**implement and test fetch spec changes for blob scheme with non-GET method. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
* {{Bug|1131493}} - [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Implemented the Upnp service discovery.&lt;br /&gt;
** Test and debug the functionality of Upnp service discovery.&lt;br /&gt;
&lt;br /&gt;
* {{Bug|1230037}} - [OTA] [Wi-Fi] Separate Gecko and Gonk layers in Wi-Fi module&lt;br /&gt;
** Studying other modules that nearly support the future of gonk, e.g. bt, nfc.&lt;br /&gt;
** Contemplating that how we implement the future of gonk in Wifi.&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
* {{Bug|1195930}} - Use origin in QuotaManager&lt;br /&gt;
** ongoing&lt;br /&gt;
&lt;br /&gt;
= About MozAOSP Project =&lt;br /&gt;
* Slides of draft design&lt;br /&gt;
** https://docs.google.com/a/mozilla.com/presentation/d/1XLVXHEfGRY_zaZT3cmd0f678_e6SvjqqEXSznTe81_4/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= Offsite Team Meeting =&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-11-11&amp;diff=1105127</id>
		<title>TPE CONNECTIVITY GROUP/2015-11-11</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-11-11&amp;diff=1105127"/>
		<updated>2015-11-11T02:39:31Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/11/11 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Thomas, Tim, Yoshi, Winnie&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
# Ari meeting at Mozlando and his Taipei visit (tentatively week of Jan 18)&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1217367}} - Service workers update algorithm optimization. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1207068}} - Implement ExtendableMessageEvent interface. &#039;&#039;&#039;land inbound&#039;&#039;&#039;&lt;br /&gt;
# Prepare sharing &lt;br /&gt;
 - Smart Pointer : nsComPtr, RefPtr, nsAutoRef, UniquePtr, nsAutoPtr, nsCountedRef&lt;br /&gt;
 - String : nsA(C)String, ns(C)String, nsAuto(C)String, nsDependentString, NS_LITERAL_STRING&lt;br /&gt;
 - Warning and debug : NS_WARN_xxx NS_ENSURE_xxx, MOZ_ASSERT, ...&lt;br /&gt;
 - Some MBTF utility : DebugOnly&amp;lt;&amp;gt; , Maybe&amp;lt;&amp;gt;, unused&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1220950}} - Adding tests for checking signed package should not share data with other package or web content. &#039;&#039;&#039;ni?paul&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
*{{Bug|1131493}} - [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** The implementation of the Bonjour service discovery is almost done for gecko.&lt;br /&gt;
** Sent a mail to Flyweb team to get in touch.&lt;br /&gt;
*{{Bug|1209654}} - [Cost Control] Data alert doesn&#039;t match reported usage&lt;br /&gt;
** The patch submitted and acquired R+.&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-11-04&amp;diff=1104070</id>
		<title>TPE CONNECTIVITY GROUP/2015-11-04</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-11-04&amp;diff=1104070"/>
		<updated>2015-11-04T03:04:10Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/11/4 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Thomas, Tim, Yoshi, Winnie&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1214593}} - Remove service worker periodic updater. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1220950}} - Adding tests for checking signed package should not share data with other package or web content. &#039;&#039;&#039;ni?paul&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* {{Bug|1217594}} - Cookies are lost when switching recent Nightlies&lt;br /&gt;
** {{Bug|1165267}} - Use OriginAttributes for nsCookieService (&#039;&#039;&#039;RESOLVED FIXED&#039;&#039;&#039;)&lt;br /&gt;
** {{Bug|1220570}} - Potential cookie lost while downgrading from Aurora 44 to 43 (waiting for review)&lt;br /&gt;
** {{Bug|1220361}} - Add test case for Cookie database migration to new schema versions (patch in progress)&lt;br /&gt;
* {{Bug|1213827}} - CSP frame-ancestors breaks firefox os apps (I can reproduce it on Simulator in lastest Nightly, but not on desktop and device. Low priority for now)&lt;br /&gt;
* What I will do:&lt;br /&gt;
** Post 2.5 planning&lt;br /&gt;
** Training material&lt;br /&gt;
** Prepare for Orlando work week&lt;br /&gt;
** CSP bugs for NSec&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
Attend Web Summit.&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
Attend Web Summit.&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
* {{Bug|1136512}} -  Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
** Extensive tests are required, pending&lt;br /&gt;
** {{Bug|1216473}} -  [Aries] Mifare Classic is not fully supported in Aries, reading this kind of tag could disable RF occasionally&lt;br /&gt;
&lt;br /&gt;
* {{Bug|976457}} - B2G NFC: API for supporting NFC_A tags&lt;br /&gt;
** Ongoing&lt;br /&gt;
&lt;br /&gt;
* {{Bug|884478}} - NFC MiFare Ultralight Tag Support&lt;br /&gt;
** Ongoing&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
*{{Bug|1131493}} -  [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Referencing the service discovery of AOSP.&lt;br /&gt;
** Implementing ...&lt;br /&gt;
&lt;br /&gt;
*{{Bug|1217717}} - Turn off airplane mode from settings, the wifi will be toggled on/off alternately&lt;br /&gt;
** Spent some time on finding the root cause of this problem.&lt;br /&gt;
** Opened a follow up {{Bug|1221068}} on providing enabling and disabling states in mozWifiManager for gaia.&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
* {{Bug|1209162}} - Create OriginAttributes subtypes for different uses and define conversion routines between them&lt;br /&gt;
** Adding PrincipalOriginAttributes and DocShellOriginAttributes base on bholley&#039;s patch and jonas&#039; comments.&lt;br /&gt;
** Now working on adding NeckoOriginAttributes.&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-21&amp;diff=1101598</id>
		<title>TPE CONNECTIVITY GROUP/2015-10-21</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-21&amp;diff=1101598"/>
		<updated>2015-10-21T02:59:22Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/10/21 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Thomas, Tim, Winnie, Yoshi&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
# Feedback of stand-up meeting&lt;br /&gt;
# 2.5 blockers and root cause analysis&lt;br /&gt;
#* Dashboard: http://charts.mozilla.org/fxos/blockers.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
# Initiative of Orlando WW&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1207727}} - Rework updating service workers according to the latest spec. &#039;&#039;&#039;writing testcases, address comment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
* {{Bug|1180257}} - mozAlarm fires alarms not at the expected time after a timezone change&lt;br /&gt;
** Marked as the duplicate of {{Bug|1181489}}&lt;br /&gt;
&lt;br /&gt;
* {{Bug|1131493}} - [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Studying WiFi Direct&lt;br /&gt;
*** Understood the service discovery request/response.&lt;br /&gt;
*** Studying the bonjour over service discovery.&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
*{{Bug|1166210}} - Remove ServicesSetting changes listener in NfcContentHelper&lt;br /&gt;
**r+, Waiting try&lt;br /&gt;
*{{Bug|1201427}} - [Aries] NFC Tap-to-Pay dose not work&lt;br /&gt;
**Duplicated&lt;br /&gt;
*{{Bug|1136512}} - Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
**Under review&lt;br /&gt;
*{{Bug|976457}} - B2G NFC: API for supporting NFC_A tags&lt;br /&gt;
**Working&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100468</id>
		<title>TPE CONNECTIVITY GROUP/2015-10-13</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100468"/>
		<updated>2015-10-14T02:12:24Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Thomas Nguyen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/10/14 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Tim, Thomas, Winnie, Yoshi&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
# Skip level meeting (10/27)&lt;br /&gt;
# 2015 Q4 goal setting&lt;br /&gt;
# 2.5 blockers and root cause analysis&lt;br /&gt;
# Meeting time&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1207727}} - Rework updating service workers according to the latest spec. &#039;&#039;&#039;f+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* New Security Model&lt;br /&gt;
*# Bug 1165267 - Use OriginAttributes for nsCookieService (landed last week)&lt;br /&gt;
*# Follow-up bug: Bug 1214071 - Add APIs get/removeCookiesForOriginAttributes() in nsICookieManager2.idl&lt;br /&gt;
*#* Request feedback on IDL change (Bobby Holley).&lt;br /&gt;
*# Bug 1179060 - Apply a default CSP for signed packaged content (feedback+ from Christoph)&lt;br /&gt;
*#* Christoph suggests to remove &amp;quot;unsafe-inline&amp;quot; from default policy for signed packages. (Paul: We cannot do this.)&lt;br /&gt;
*#* Require DOM peer as the reviewer (changes in nsDocument).&lt;br /&gt;
*#* Dig into deep logic of nsCSPContext and nsCSPParser for implementation plan.&lt;br /&gt;
* Review patch: Bug 1204846 - Amount of mobile data consumed regresses&lt;br /&gt;
* Management&lt;br /&gt;
*# Complete 2015 Q4 goal settings&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
*{{Bug|1204846}} - Amount of mobile data consumed regresses&lt;br /&gt;
** The patch has submitted.&lt;br /&gt;
*{{Bug|1131493}} -  [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Studying the Wifi Direct.&lt;br /&gt;
*{{Bug|1207066}} -  [NetworkManager] implement nsINetworkInterface.activate()/deactivate() in wifi network interface&lt;br /&gt;
** Planning how to implement this feature.&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
*{{Bug|1168704}} - rename setFocusApp in nsINfcContentHelper&lt;br /&gt;
**r+, Waiting try&lt;br /&gt;
*{{Bug|1166210}} - Remove ServicesSetting changes listener in NfcContentHelper&lt;br /&gt;
**Clarified and provided solution&lt;br /&gt;
*{{Bug|1201427}} - [Aries] NFC Tap-to-Pay dose not work&lt;br /&gt;
**Working&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
&lt;br /&gt;
= 2015 Q4 Goal Setting =&lt;br /&gt;
Also recorded in https://wiki.mozilla.org/TPE_CONNECTIVITY_GROUP/2015-Q4&lt;br /&gt;
== New Security Model ==&lt;br /&gt;
# &#039;&#039;&#039;Deliver a usable first prototype&#039;&#039;&#039; (Henry, Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;Complete all features of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Signing (Jonathan)&lt;br /&gt;
#* Verifying signatures (Henry, Jonathan)&lt;br /&gt;
#* CSP (Ethan)&lt;br /&gt;
#* Process isolation (Henry)&lt;br /&gt;
#* Installing and updating (Henry)&lt;br /&gt;
#* Service Workers (Dimi)&lt;br /&gt;
#* Origin and cookies jars (Yoshi, Ethan, ...)&lt;br /&gt;
# &#039;&#039;&#039;Enhancement of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Add test cases (Henry, ...)&lt;br /&gt;
#* Add debugging tools (Henry, ...)&lt;br /&gt;
# &#039;&#039;&#039;Demonstrate NSec in Orlando work week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Maintenance of Owned Modules ==&lt;br /&gt;
# &#039;&#039;&#039;Fix 2.5 blockers&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi (Henry, Tim)&lt;br /&gt;
#* Alarm and system message (Henry, Tim)&lt;br /&gt;
#* NetworkStats (Ethan, Tim)&lt;br /&gt;
#* NFC (Dimi, Thomas)&lt;br /&gt;
#* RTSP (Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;New features&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi change to support NetworkManager enhancement (Tim)&lt;br /&gt;
#* Service Discovery of Wi-Fi Direct (Tim)&lt;br /&gt;
#* Polish NFC on features, emulator and test cases (Thomas)&lt;br /&gt;
&lt;br /&gt;
== Long Term Plan ==&lt;br /&gt;
# Integrate New Security Model with Gaia (NGA?)&lt;br /&gt;
# TBD&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100466</id>
		<title>TPE CONNECTIVITY GROUP/2015-10-13</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100466"/>
		<updated>2015-10-14T02:11:57Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Thomas Nguyen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/10/14 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Tim, Thomas, Winnie, Yoshi&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
# Skip level meeting (10/27)&lt;br /&gt;
# 2015 Q4 goal setting&lt;br /&gt;
# 2.5 blockers and root cause analysis&lt;br /&gt;
# Meeting time&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1207727}} - Rework updating service workers according to the latest spec. &#039;&#039;&#039;f+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* New Security Model&lt;br /&gt;
*# Bug 1165267 - Use OriginAttributes for nsCookieService (landed last week)&lt;br /&gt;
*# Follow-up bug: Bug 1214071 - Add APIs get/removeCookiesForOriginAttributes() in nsICookieManager2.idl&lt;br /&gt;
*#* Request feedback on IDL change (Bobby Holley).&lt;br /&gt;
*# Bug 1179060 - Apply a default CSP for signed packaged content (feedback+ from Christoph)&lt;br /&gt;
*#* Christoph suggests to remove &amp;quot;unsafe-inline&amp;quot; from default policy for signed packages. (Paul: We cannot do this.)&lt;br /&gt;
*#* Require DOM peer as the reviewer (changes in nsDocument).&lt;br /&gt;
*#* Dig into deep logic of nsCSPContext and nsCSPParser for implementation plan.&lt;br /&gt;
* Review patch: Bug 1204846 - Amount of mobile data consumed regresses&lt;br /&gt;
* Management&lt;br /&gt;
*# Complete 2015 Q4 goal settings&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
*{{Bug|1204846}} - Amount of mobile data consumed regresses&lt;br /&gt;
** The patch has submitted.&lt;br /&gt;
*{{Bug|1131493}} -  [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Studying the Wifi Direct.&lt;br /&gt;
*{{Bug|1207066}} -  [NetworkManager] implement nsINetworkInterface.activate()/deactivate() in wifi network interface&lt;br /&gt;
** Planning how to implement this feature.&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
*{{Bug|1168704}} - rename setFocusApp in nsINfcContentHelper&lt;br /&gt;
**waiting try&lt;br /&gt;
*{{Bug|1166210}} - Remove ServicesSetting changes listener in NfcContentHelper&lt;br /&gt;
**Clarified and provided solution&lt;br /&gt;
*{{Bug|1201427}} - [Aries] NFC Tap-to-Pay dose not work&lt;br /&gt;
**Working&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
&lt;br /&gt;
= 2015 Q4 Goal Setting =&lt;br /&gt;
Also recorded in https://wiki.mozilla.org/TPE_CONNECTIVITY_GROUP/2015-Q4&lt;br /&gt;
== New Security Model ==&lt;br /&gt;
# &#039;&#039;&#039;Deliver a usable first prototype&#039;&#039;&#039; (Henry, Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;Complete all features of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Signing (Jonathan)&lt;br /&gt;
#* Verifying signatures (Henry, Jonathan)&lt;br /&gt;
#* CSP (Ethan)&lt;br /&gt;
#* Process isolation (Henry)&lt;br /&gt;
#* Installing and updating (Henry)&lt;br /&gt;
#* Service Workers (Dimi)&lt;br /&gt;
#* Origin and cookies jars (Yoshi, Ethan, ...)&lt;br /&gt;
# &#039;&#039;&#039;Enhancement of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Add test cases (Henry, ...)&lt;br /&gt;
#* Add debugging tools (Henry, ...)&lt;br /&gt;
# &#039;&#039;&#039;Demonstrate NSec in Orlando work week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Maintenance of Owned Modules ==&lt;br /&gt;
# &#039;&#039;&#039;Fix 2.5 blockers&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi (Henry, Tim)&lt;br /&gt;
#* Alarm and system message (Henry, Tim)&lt;br /&gt;
#* NetworkStats (Ethan, Tim)&lt;br /&gt;
#* NFC (Dimi, Thomas)&lt;br /&gt;
#* RTSP (Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;New features&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi change to support NetworkManager enhancement (Tim)&lt;br /&gt;
#* Service Discovery of Wi-Fi Direct (Tim)&lt;br /&gt;
#* Polish NFC on features, emulator and test cases (Thomas)&lt;br /&gt;
&lt;br /&gt;
== Long Term Plan ==&lt;br /&gt;
# Integrate New Security Model with Gaia (NGA?)&lt;br /&gt;
# TBD&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100454</id>
		<title>TPE CONNECTIVITY GROUP/2015-10-13</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-10-13&amp;diff=1100454"/>
		<updated>2015-10-14T02:09:06Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Meeting Info =&lt;br /&gt;
* Time: 2015/10/14 (Wed), 11AM&lt;br /&gt;
* Room: 5F, Santos&lt;br /&gt;
* Host: Ethan&lt;br /&gt;
* Attendees: Dimi, Henry, Jonathan, Tim, Thomas, Winnie, Yoshi&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
# Weekly status update&lt;br /&gt;
# Skip level meeting (10/27)&lt;br /&gt;
# 2015 Q4 goal setting&lt;br /&gt;
# 2.5 blockers and root cause analysis&lt;br /&gt;
# Meeting time&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1207727}} - Rework updating service workers according to the latest spec. &#039;&#039;&#039;f+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# {{bug|1179064}} - Ensure that service worker code for signed packages is contained within the package&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* New Security Model&lt;br /&gt;
*# Bug 1165267 - Use OriginAttributes for nsCookieService (landed last week)&lt;br /&gt;
*# Follow-up bug: Bug 1214071 - Add APIs get/removeCookiesForOriginAttributes() in nsICookieManager2.idl&lt;br /&gt;
*#* Request feedback on IDL change (Bobby Holley).&lt;br /&gt;
*# Bug 1179060 - Apply a default CSP for signed packaged content (feedback+ from Christoph)&lt;br /&gt;
*#* Christoph suggests to remove &amp;quot;unsafe-inline&amp;quot; from default policy for signed packages. (Paul: We cannot do this.)&lt;br /&gt;
*#* Require DOM peer as the reviewer (changes in nsDocument).&lt;br /&gt;
*#* Dig into deep logic of nsCSPContext and nsCSPParser for implementation plan.&lt;br /&gt;
* Review patch: Bug 1204846 - Amount of mobile data consumed regresses&lt;br /&gt;
* Management&lt;br /&gt;
*# Complete 2015 Q4 goal settings&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
*{{Bug|1204846}} - Amount of mobile data consumed regresses&lt;br /&gt;
** The patch has submitted.&lt;br /&gt;
*{{Bug|1131493}} -  [Wifi Direct] Support bonjour/upnp service advertisement&lt;br /&gt;
** Studying the Wifi Direct.&lt;br /&gt;
*{{Bug|1207066}} -  [NetworkManager] implement nsINetworkInterface.activate()/deactivate() in wifi network interface&lt;br /&gt;
** Planning how to implement this feature.&lt;br /&gt;
&lt;br /&gt;
== Thomas Nguyen ==&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
&lt;br /&gt;
= 2015 Q4 Goal Setting =&lt;br /&gt;
Also recorded in https://wiki.mozilla.org/TPE_CONNECTIVITY_GROUP/2015-Q4&lt;br /&gt;
== New Security Model ==&lt;br /&gt;
# &#039;&#039;&#039;Deliver a usable first prototype&#039;&#039;&#039; (Henry, Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;Complete all features of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Signing (Jonathan)&lt;br /&gt;
#* Verifying signatures (Henry, Jonathan)&lt;br /&gt;
#* CSP (Ethan)&lt;br /&gt;
#* Process isolation (Henry)&lt;br /&gt;
#* Installing and updating (Henry)&lt;br /&gt;
#* Service Workers (Dimi)&lt;br /&gt;
#* Origin and cookies jars (Yoshi, Ethan, ...)&lt;br /&gt;
# &#039;&#039;&#039;Enhancement of NSec&#039;&#039;&#039;&lt;br /&gt;
#* Add test cases (Henry, ...)&lt;br /&gt;
#* Add debugging tools (Henry, ...)&lt;br /&gt;
# &#039;&#039;&#039;Demonstrate NSec in Orlando work week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Maintenance of Owned Modules ==&lt;br /&gt;
# &#039;&#039;&#039;Fix 2.5 blockers&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi (Henry, Tim)&lt;br /&gt;
#* Alarm and system message (Henry, Tim)&lt;br /&gt;
#* NetworkStats (Ethan, Tim)&lt;br /&gt;
#* NFC (Dimi, Thomas)&lt;br /&gt;
#* RTSP (Jonathan)&lt;br /&gt;
# &#039;&#039;&#039;New features&#039;&#039;&#039;&lt;br /&gt;
#* Wi-Fi change to support NetworkManager enhancement (Tim)&lt;br /&gt;
#* Service Discovery of Wi-Fi Direct (Tim)&lt;br /&gt;
#* Polish NFC on features, emulator and test cases (Thomas)&lt;br /&gt;
&lt;br /&gt;
== Long Term Plan ==&lt;br /&gt;
# Integrate New Security Model with Gaia (NGA?)&lt;br /&gt;
# TBD&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-09-08&amp;diff=1094111</id>
		<title>TPE CONNECTIVITY GROUP/2015-09-08</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-09-08&amp;diff=1094111"/>
		<updated>2015-09-08T02:57:41Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.5 Blockers =&lt;br /&gt;
* Dashboard: http://charts.mozilla.org/fxos/blockers.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
* Wi-Fi blockers: https://goo.gl/hQugJj&lt;br /&gt;
* NFC blocker: https://goo.gl/xFY5bc&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Service Worker &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Implement the ServiceWorkerMessageEvent interface . &#039;&#039;&#039;r+&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1188822}} - Make service-workers/service-worker/fetch-request-resources.https.html pass. &#039;&#039;&#039;f?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; New Security Model &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1178526}} - Set appropriate origin attributes for signed packages. &#039;&#039;&#039;henry is testing it&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; NFC &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1201427}} - [Aries] NFC Tap-to-Pay dose not work. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* Bug 1165267 - Use OriginAttributes for nsCookieService&lt;br /&gt;
&lt;br /&gt;
== Henry Chang == &lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
&lt;br /&gt;
== Aaron Wu (EPM) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-09-08&amp;diff=1094110</id>
		<title>TPE CONNECTIVITY GROUP/2015-09-08</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-09-08&amp;diff=1094110"/>
		<updated>2015-09-08T02:54:04Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi Lee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 2.5 Blockers =&lt;br /&gt;
* Dashboard: http://charts.mozilla.org/fxos/blockers.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
* Wi-Fi blockers: https://goo.gl/hQugJj&lt;br /&gt;
* NFC blocker: https://goo.gl/xFY5bc&lt;br /&gt;
&lt;br /&gt;
= Weekly Status Update =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Implement the ServiceWorkerMessageEvent interface . &#039;&#039;&#039;r+&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1188822}} - Make service-workers/service-worker/fetch-request-resources.https.html pass. &#039;&#039;&#039;f?&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1178526}} - Set appropriate origin attributes for signed packages. &#039;&#039;&#039;henry is testing it&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
* Bug 1165267 - Use OriginAttributes for nsCookieService&lt;br /&gt;
&lt;br /&gt;
== Henry Chang == &lt;br /&gt;
&lt;br /&gt;
== Jonathan Hao ==&lt;br /&gt;
&lt;br /&gt;
== Tim Huang ==&lt;br /&gt;
&lt;br /&gt;
== Winnie Sun ==&lt;br /&gt;
&lt;br /&gt;
== Yoshi Huang ==&lt;br /&gt;
&lt;br /&gt;
== Aaron Wu (EPM) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-14&amp;diff=1084487</id>
		<title>TPE CONNECTIVITY GROUP/2015-07-14</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-14&amp;diff=1084487"/>
		<updated>2015-07-14T06:38:08Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Update MessageEvent.source to be compliant with the spec. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1179191}} - When updating a sw via about:sw in b2g the parent process kills the settings app. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1172823}} - [FLAME-L] NFC handover passive receive file fail. &#039;&#039;&#039;bt issue&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1182154}} - [Aries-L][NFC] Transfer is not initiated for any file types. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1181389}} - check for full package update when doing service worker update&lt;br /&gt;
# {{bug|1181391}} - Preserve previous package until activate event&lt;br /&gt;
# {{bug|1181390}} - fire install and activate events on service worker&lt;br /&gt;
# ServiceWorker testcases.&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** Performance Task Force&lt;br /&gt;
*** {{Bug|1159639}} - Implement API to add performance marker&lt;br /&gt;
**** Waiting for baku&#039;s feedback&lt;br /&gt;
*** {{Bug|1174640}} - [Notification] Improve usability/performance of Wifi icon&lt;br /&gt;
**** Discussed with Bobby, Alphan, aknow several times, and came up with a proposal.&lt;br /&gt;
** New Security Model&lt;br /&gt;
*** Studying&lt;br /&gt;
*** {{Bug|1178518}} - Support for verifying signed packages&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Winnie ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1165214}} - DOMStorageManager should use cookieJar for ScopeKey and QuotaKey&lt;br /&gt;
** {{Bug|1165466}} - Fix up docshell and loadcontext inheriting code in nsIScriptSecurityManager to use originAttributes rather than explicitly querying appid/browser&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Aaron (EPM for Networking) ==&lt;br /&gt;
&lt;br /&gt;
* 2.5 status and plan&lt;br /&gt;
** Wiki: https://wiki.mozilla.org/Firefox_OS/Releases/2.5&lt;br /&gt;
** Nomination :https://charts.paas.allizom.org/fxos/nominations.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
** Blockers:https://charts.paas.allizom.org/fxos/blockers.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
** No FL/FLR, please careful about feature quality. FC = Nov 2nd.&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-14&amp;diff=1084486</id>
		<title>TPE CONNECTIVITY GROUP/2015-07-14</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-14&amp;diff=1084486"/>
		<updated>2015-07-14T06:32:51Z</updated>

		<summary type="html">&lt;p&gt;Dimi: Created page with &amp;quot;= Discussion Topics = == Dimi ==  * &amp;#039;&amp;#039;&amp;#039; Done &amp;amp; Working in Progress &amp;#039;&amp;#039;&amp;#039; # {{bug|1170053}} - [Aries] Not able to share a picture using NFC. &amp;#039;&amp;#039;&amp;#039;land&amp;#039;&amp;#039;&amp;#039; # {{bug|1165774}} - [Flame...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1170053}} - [Aries] Not able to share a picture using NFC. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Update MessageEvent.source to be compliant with the spec. &#039;&#039;&#039;f?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1168938}} - Memory safety bug in NetworkUtils::postTetherInterfaceList. &#039;&#039;&#039;r+&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1168959}} - Memory-safety bugs in NetworkUtils.cpp generally. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** Performance Task Force&lt;br /&gt;
*** {{Bug|1159639}} - Implement API to add performance marker&lt;br /&gt;
**** Waiting for baku&#039;s feedback&lt;br /&gt;
*** {{Bug|1174640}} - [Notification] Improve usability/performance of Wifi icon&lt;br /&gt;
**** Discussed with Bobby, Alphan, aknow several times, and came up with a proposal.&lt;br /&gt;
** New Security Model&lt;br /&gt;
*** Studying&lt;br /&gt;
*** {{Bug|1178518}} - Support for verifying signed packages&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Winnie ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1165214}} - DOMStorageManager should use cookieJar for ScopeKey and QuotaKey&lt;br /&gt;
** {{Bug|1165466}} - Fix up docshell and loadcontext inheriting code in nsIScriptSecurityManager to use originAttributes rather than explicitly querying appid/browser&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Aaron (EPM for Networking) ==&lt;br /&gt;
&lt;br /&gt;
* 2.5 status and plan&lt;br /&gt;
** Wiki: https://wiki.mozilla.org/Firefox_OS/Releases/2.5&lt;br /&gt;
** Nomination :https://charts.paas.allizom.org/fxos/nominations.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
** Blockers:https://charts.paas.allizom.org/fxos/blockers.html#project=1.4,2.0,2.1,2.2,2.5&lt;br /&gt;
** No FL/FLR, please careful about feature quality. FC = Nov 2nd.&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-07&amp;diff=1083324</id>
		<title>TPE CONNECTIVITY GROUP/2015-07-07</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-07&amp;diff=1083324"/>
		<updated>2015-07-07T03:48:57Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1170053}} - [Aries] Not able to share a picture using NFC. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Update MessageEvent.source to be compliant with the spec. &#039;&#039;&#039;f?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1168938}} - Memory safety bug in NetworkUtils::postTetherInterfaceList. &#039;&#039;&#039;r+&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1168959}} - Memory-safety bugs in NetworkUtils.cpp generally. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Winnie ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-07&amp;diff=1083323</id>
		<title>TPE CONNECTIVITY GROUP/2015-07-07</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-07-07&amp;diff=1083323"/>
		<updated>2015-07-07T03:48:04Z</updated>

		<summary type="html">&lt;p&gt;Dimi: Created page with &amp;quot;= Discussion Topics = == Dimi ==  * &amp;#039;&amp;#039;&amp;#039; Done &amp;amp; Working in Progress &amp;#039;&amp;#039;&amp;#039; * &amp;#039;&amp;#039;&amp;#039; Review &amp;amp; Feedbacks &amp;#039;&amp;#039;&amp;#039; * &amp;#039;&amp;#039;&amp;#039; Pending &amp;#039;&amp;#039;&amp;#039; * &amp;#039;&amp;#039;&amp;#039; Others &amp;#039;&amp;#039;&amp;#039;  == Ethan == * &amp;#039;&amp;#039;&amp;#039; Done &amp;amp; Working in Pro...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Winnie ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP&amp;diff=1083322</id>
		<title>TPE CONNECTIVITY GROUP</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP&amp;diff=1083322"/>
		<updated>2015-07-07T03:45:38Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Weekly Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Team members =&lt;br /&gt;
* Engineering Manager: Vincent Chang (vchang)&lt;br /&gt;
* Yoshi Huang (allstarschh)&lt;br /&gt;
* Dimi Lee    (dlee)&lt;br /&gt;
* Ethan Tseng (ettseng)&lt;br /&gt;
* Henry Chang (hchang)&lt;br /&gt;
* Jonathan Hao (jhao)&lt;br /&gt;
&lt;br /&gt;
= Owned Modules =&lt;br /&gt;
* Wifi and Wifi Direct(chulee, hchang, vchang)&lt;br /&gt;
** https://wiki.mozilla.org/WIFI&lt;br /&gt;
* NFC (allstarschh)&lt;br /&gt;
** https://wiki.mozilla.org/Modules/All#Near_Field_Communication&lt;br /&gt;
* NFCD (dlee)&lt;br /&gt;
** https://github.com/mozilla-b2g/platform_system_nfcd&lt;br /&gt;
* RTSP (ethan, bechen, vchang)&lt;br /&gt;
&lt;br /&gt;
= Feature List =&lt;br /&gt;
== Backlog for feature plans ==&lt;br /&gt;
* https://connectivity.etherpad.mozilla.org/2&lt;br /&gt;
&lt;br /&gt;
== RTSP ==&lt;br /&gt;
* Owner: Ethan, Vincent&lt;br /&gt;
* {{bug|957937}}&lt;br /&gt;
* Wiki: https://wiki.mozilla.org/Networking/RTSP&lt;br /&gt;
&lt;br /&gt;
== NFC ==&lt;br /&gt;
* Owner: Yoshi, Dimi&lt;br /&gt;
* {{bug|860906}}&lt;br /&gt;
* Wiki: https://wiki.mozilla.org/WebAPI/WebNFC&lt;br /&gt;
* Weekly meeting: MoPad https://taiwan.etherpad.mozilla.org/NFC-weekly&lt;br /&gt;
* Demo Video&lt;br /&gt;
** Contact sharing over NFC: https://www.youtube.com/watch?v=ymTotkFELkE&lt;br /&gt;
** NFC tag reading to URL; URL p2p sharing thru NFC:  https://www.youtube.com/watch?v=Bcvm5KtRJFw&lt;br /&gt;
** First NFC contactless payment with Firefox OS Flame device: http://youtu.be/jzUs4KKx-KI &lt;br /&gt;
** NFC MIFARE Classic access control use case with Firefox OS Flame device: http://youtu.be/7ESLCjNSqN4&lt;br /&gt;
&lt;br /&gt;
== WiFi EAP ==&lt;br /&gt;
* Owner: Chuck&lt;br /&gt;
&lt;br /&gt;
== WISPr ==&lt;br /&gt;
* Owner: Henry, Chuck&lt;br /&gt;
&lt;br /&gt;
== Wifi Direct ==&lt;br /&gt;
* Owner: Henry, Chuck&lt;br /&gt;
* {{bug|811635}}&lt;br /&gt;
* Wiki page: https://wiki.mozilla.org/B2G/Wifi_Direct&lt;br /&gt;
&lt;br /&gt;
== Wifi Display ==&lt;br /&gt;
* Owner: Henry, Ethan, Vincent&lt;br /&gt;
* {{bug|925615}}&lt;br /&gt;
* Wiki page: https://wiki.mozilla.org/B2G/Wifi_Display&lt;br /&gt;
&lt;br /&gt;
== Improvements ==&lt;br /&gt;
&lt;br /&gt;
=== Per-APP Network Metering  ===&lt;br /&gt;
* Owner: John&lt;br /&gt;
&lt;br /&gt;
=== Per-APP Power Metering ===&lt;br /&gt;
* Owner: Borting, Vincent&lt;br /&gt;
* {{bug|854200}}&lt;br /&gt;
&lt;br /&gt;
=== Resource Statistics API ===&lt;br /&gt;
* Owner: Borting, Vincent&lt;br /&gt;
* Objective:&lt;br /&gt;
** Provide resource statistics for Firefox OS devices&lt;br /&gt;
*** Network usage&lt;br /&gt;
*** Power consumption&lt;br /&gt;
** Provide resource control&lt;br /&gt;
** Integrate existing NetworkStats API and PowerStats API&lt;br /&gt;
* wiki: https://wiki.mozilla.org/WebAPI/ResourceStats&lt;br /&gt;
* Bugs:&lt;br /&gt;
** {{bug|951976}}&lt;br /&gt;
&lt;br /&gt;
= Scrum =&lt;br /&gt;
* Sprint backlog per group &lt;br /&gt;
** Connectivity: https://wiki.mozilla.org/index.php?title=FirefoxOS/RIL_connectivity &lt;br /&gt;
** NFC: https://wiki.mozilla.org/index.php?title=FirefoxOS/NFC&lt;br /&gt;
= Feature b2g =&lt;br /&gt;
= Release Blockers =&lt;br /&gt;
== Based on Assignee ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;cf_blocking_b2g&amp;quot;:&amp;quot;+&amp;quot;,&lt;br /&gt;
        &amp;quot;cf_blocking_b2g_type&amp;quot;:&amp;quot;contains&amp;quot;,&lt;br /&gt;
        &amp;quot;status&amp;quot;:[&amp;quot;UNCONFIRMED&amp;quot;,&amp;quot;NEW&amp;quot;,&amp;quot;ASSIGNED&amp;quot;,&amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
        &amp;quot;assigned_to&amp;quot;:[&amp;quot;vchang@mozilla.com&amp;quot;,&amp;quot;hchang@mozilla.com&amp;quot;,&amp;quot;allstars.chh@mozilla.com&amp;quot;,&lt;br /&gt;
                       &amp;quot;dlee@mozilla.com&amp;quot;,&amp;quot;chulee@mozilla.com&amp;quot;,&amp;quot;ettseng@mozilla.com&amp;quot;, &lt;br /&gt;
                       &amp;quot;jhao@mozilla.com&amp;quot;],&lt;br /&gt;
        &amp;quot;include_fields&amp;quot;: &amp;quot;id, assigned_to, summary, whiteboard, status, cf_blocking_b2g&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Based on Components ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;component&amp;quot;:[&amp;quot;WIFI&amp;quot;, &amp;quot;NFC&amp;quot;, &amp;quot;RTSP&amp;quot;],&lt;br /&gt;
    &amp;quot;cf_blocking_b2g_type&amp;quot;:&amp;quot;contains&amp;quot;,&lt;br /&gt;
    &amp;quot;cf_blocking_b2g&amp;quot;: &amp;quot;+&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, assigned_to, summary, whiteboard, status, cf_blocking_b2g&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tracking Tools ==&lt;br /&gt;
* FFOS Dashboard: http://charts.mozilla.org/ffos/&lt;br /&gt;
* Branch/Landing information: https://wiki.mozilla.org/Release_Management/B2G_Landing&lt;br /&gt;
* Triage times and queries: https://wiki.mozilla.org/B2G/Triage&lt;br /&gt;
* Device Dashboard: http://joshwalker1026.github.io/charts/devices/dashboard.html#&lt;br /&gt;
&lt;br /&gt;
= Waiting for triage ?=&lt;br /&gt;
== Based on Assignee ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;cf_blocking_b2g&amp;quot;:&amp;quot;?&amp;quot;,&lt;br /&gt;
        &amp;quot;cf_blocking_b2g_type&amp;quot;:&amp;quot;contains&amp;quot;,&lt;br /&gt;
        &amp;quot;status&amp;quot;:[&amp;quot;UNCONFIRMED&amp;quot;,&amp;quot;NEW&amp;quot;,&amp;quot;ASSIGNED&amp;quot;,&amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
        &amp;quot;assigned_to&amp;quot;:[&amp;quot;vchang@mozilla.com&amp;quot;,&amp;quot;hchang@mozilla.com&amp;quot;,&amp;quot;allstars.chh@mozilla.com&amp;quot;,&lt;br /&gt;
                       &amp;quot;dlee@mozilla.com&amp;quot;,&amp;quot;chulee@mozilla.com&amp;quot;,&amp;quot;ettseng@mozilla.com&amp;quot;, &lt;br /&gt;
                       &amp;quot;jhao@mozilla.com&amp;quot;],&lt;br /&gt;
        &amp;quot;include_fields&amp;quot;: &amp;quot;id, assigned_to, summary, whiteboard, status, cf_blocking_b2g&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Based on Components ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;component&amp;quot;:[&amp;quot;WIFI&amp;quot;, &amp;quot;NFC&amp;quot;, &amp;quot;RTSP&amp;quot;],&lt;br /&gt;
    &amp;quot;cf_blocking_b2g_type&amp;quot;:&amp;quot;contains&amp;quot;,&lt;br /&gt;
    &amp;quot;cf_blocking_b2g&amp;quot;: &amp;quot;?&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, assigned_to, summary, whiteboard, status, cf_blocking_b2g&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Current Bugs = &lt;br /&gt;
== Yoshi ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;assigned_to&amp;quot;: &amp;quot;allstars.chh@mozilla.com&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, depends_on, cf_blocking_b2g, cf_feature_b2g&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_after&amp;quot;: &amp;quot;30d&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dimi Lee ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;assigned_to&amp;quot;: &amp;quot;dlee@mozilla.com&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, depends_on, cf_blocking_b2g, cf_feature_b2g&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_after&amp;quot;: &amp;quot;30d&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ethan Tseng ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;assigned_to&amp;quot;: &amp;quot;ettseng@mozilla.com &amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, depends_on, cf_blocking_b2g, cf_feature_b2g&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_after&amp;quot;: &amp;quot;30d&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Henry Chang ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;assigned_to&amp;quot;: &amp;quot;hchang@mozilla.com &amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, depends_on, cf_blocking_b2g, cf_feature_b2g&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_after&amp;quot;: &amp;quot;30d&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joanthan Hao ==&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;assigned_to&amp;quot;: &amp;quot;jhao@mozilla.com&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot; : [&amp;quot;NEW&amp;quot;, &amp;quot;UNCONFIRMED&amp;quot;, &amp;quot;ASSIGNED&amp;quot;, &amp;quot;REOPENED&amp;quot;],&lt;br /&gt;
    &amp;quot;include_fields&amp;quot;: &amp;quot;id, summary, depends_on, cf_blocking_b2g, cf_feature_b2g&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_after&amp;quot;: &amp;quot;30d&amp;quot;,&lt;br /&gt;
    &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Team Goals =&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 25%;&amp;quot; | 2015 &lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 25%;&amp;quot; | 2016 &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-Q2 | 2015-Q2]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-Q3 | 2015-Q3]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-Q4 | 2015-Q4]]&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2016-Q1 | 2016-Q1]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2016-Q2 | 2016-Q2]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2016-Q3 | 2016-Q3]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2016-Q4 | 2016-Q4]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Weekly Meeting =&lt;br /&gt;
All team members: 15:00  p.m. every Tue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 20%;&amp;quot; | 2014 Q3&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 20%;&amp;quot; | 2014 Q4&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 20%;&amp;quot; | 2015 Q1&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 20%;&amp;quot; | 2015 Q2&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;width: 20%;&amp;quot; | 2015 Q3&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-07-22 | 2014-07-22]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-07-29 | 2014-07-29]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-08-05 | 2014-08-05]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-08-12 | 2014-08-12]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-08-19 | 2014-08-19]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-08-26 | 2014-08-26]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-09-02 | 2014-09-02]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-09-09 | 2014-09-09]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-09-16 | 2014-09-16]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-09-23 | 2014-09-23]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-09-30 | 2014-09-30]]&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-10-07 | 2014-10-07]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-10-14 | 2014-10-14]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-10-21 | 2014-10-21]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-10-28 | 2014-10-28]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-11-04 | 2014-11-04]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-11-11 | 2014-11-11]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-11-18 | 2014-11-18]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-12-02 | 2014-12-02]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-12-09 | 2014-12-09]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-12-16 | 2014-12-16]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-12-23 | 2014-12-23]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2014-12-30 | 2014-12-30]]&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-01-06 | 2015-01-06]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-01-13 | 2015-01-13]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-01-20 | 2015-01-20]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-01-27 | 2015-01-27]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-02-03 | 2015-02-03]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-02-10 | 2015-02-10]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-02-17 | 2015-02-17]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-02-24 | 2015-02-24]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-03-03 | 2015-03-03]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-03-10 | 2015-03-10]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-03-17 | 2015-03-17]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-03-24 | 2015-03-24]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-03-31 | 2015-03-31]]&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-04-07 | 2015-04-07]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-04-14 | 2015-04-14]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-04-21 | 2015-04-21]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-04-28 | 2015-04-28]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-05-05 | 2015-05-05]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-05-12 | 2015-05-12]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-05-19 | 2015-05-19]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-05-26 | 2015-05-26]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-06-02 | 2015-06-02]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-06-09 | 2015-06-09]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-06-16 | 2015-06-16]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-06-23 | 2015-06-23]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-06-30 | 2015-06-30]]&lt;br /&gt;
|&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-07-07 | 2015-07-07]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-07-14 | 2015-07-14]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-07-21 | 2015-07-21]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-07-28 | 2015-07-28]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-08-04 | 2015-08-04]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-08-11 | 2015-08-11]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-08-18 | 2015-08-18]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-08-25 | 2015-08-25]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-09-01 | 2015-09-01]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-09-08 | 2015-09-08]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-09-15 | 2015-09-15]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-09-22 | 2015-09-22]]&lt;br /&gt;
* [[TPE_CONNECTIVITY_GROUP/2015-09-29 | 2015-09-29]]&lt;br /&gt;
|&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-06-30&amp;diff=1082593</id>
		<title>TPE CONNECTIVITY GROUP/2015-06-30</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-06-30&amp;diff=1082593"/>
		<updated>2015-07-02T06:19:18Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1170053}} - [Aries] Not able to share a picture using NFC. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1143717}} - Update MessageEvent.source to be compliant with the spec. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# {{bug|1168938}} - Memory safety bug in NetworkUtils::postTetherInterfaceList. &#039;&#039;&#039;r+&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1168959}} - Memory-safety bugs in NetworkUtils.cpp generally. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-Q2&amp;diff=1079087</id>
		<title>TPE CONNECTIVITY GROUP/2015-Q2</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-Q2&amp;diff=1079087"/>
		<updated>2015-06-09T10:42:42Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= High level Goals for the team =&lt;br /&gt;
== Fix 2.2 blockers ==&lt;br /&gt;
* priority: p1&lt;br /&gt;
* https://wiki.mozilla.org/TPE_CONNECTIVITY_GROUP/2.2%2B&lt;br /&gt;
&lt;br /&gt;
== Have the performance improvement plan and finish one performance improvement ==&lt;br /&gt;
* priority: p1&lt;br /&gt;
* Performance bugs - https://etherpad.mozilla.org/B2GPerfItems&lt;br /&gt;
* Performance task force&lt;br /&gt;
*# {{Bug|1159639}} - Implement API to add performance marker&lt;br /&gt;
* Performance plan&lt;br /&gt;
*# WiFi ?&lt;br /&gt;
*# RTSP ?&lt;br /&gt;
*# NFC ?&lt;br /&gt;
&lt;br /&gt;
== Engage with new security model == &lt;br /&gt;
* priority: p1&lt;br /&gt;
* Fix service worker bugs&lt;br /&gt;
*# {{Bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document&lt;br /&gt;
* Fix CSP bugs&lt;br /&gt;
*# {{Bug|959388}} - CSP 1.1: Workers have their own CSP policies, should not inherit from parent document (&#039;&#039;&#039;in progress&#039;&#039;&#039;)&lt;br /&gt;
*# {{Bug|881509}} - Content Security Policy ShouldLoad and ShouldProcess do not use request principal (blocks 959388)&lt;br /&gt;
*# {{Bug|908933}} - CSP does not block cross-domain applets with object-src &#039;self&lt;br /&gt;
*# {{Bug|1030936}} - [CSP] remove fast-path for certified apps once the C++ backend is activated&lt;br /&gt;
*# Introduction to SOP, XSS and CSP - https://goo.gl/HFUysT&lt;br /&gt;
&lt;br /&gt;
* Fix same origin and cookie jars bugs&lt;br /&gt;
*# https://github.com/allstarschh/b2gSecurity/blob/master/origin.md&lt;br /&gt;
*# Intro for the origin in new security model - http://bit.ly/1AbTqvQ&lt;br /&gt;
*# See depending bug {{Bug|1163254}}&lt;br /&gt;
&lt;br /&gt;
== Emulator porting ==&lt;br /&gt;
* priority: p1&lt;br /&gt;
* Support marionette test for WiFi in emulator-kk&lt;br /&gt;
*# {{Bug|1001261}} - (emulator_wifi) B2G WiFi emulation on emulator-kk&lt;br /&gt;
* Support marionette test for NFC in emulator-kk&lt;br /&gt;
*# {{Bug|1030628}} - (b2g-nfc-emulator) [Meta] NFC emulator improvements&lt;br /&gt;
* Support automatically test for RTSP &lt;br /&gt;
*# {{Bug|998899}} - [META][RTSP] Build automated tests for RTSP feature&lt;br /&gt;
&lt;br /&gt;
== Multiscreen ==&lt;br /&gt;
* priority: p2&lt;br /&gt;
* {{Bug|1116089}} - [Meta] Support &amp;quot;1 UA multi-screen&amp;quot; on FxOS&lt;br /&gt;
&lt;br /&gt;
== NFC/WIFI/RTSP test case ==&lt;br /&gt;
* priority: p2&lt;br /&gt;
&lt;br /&gt;
== A talk for tw all ==&lt;br /&gt;
* End of Stage 1 presentation for Necko study group&lt;br /&gt;
&lt;br /&gt;
== RTSP client refactor ==&lt;br /&gt;
* priority: p2&lt;br /&gt;
* {{Bug|1138262}} - [META][RTSP] Refactor RTSP component&lt;br /&gt;
&lt;br /&gt;
== WIFI related bugs ==&lt;br /&gt;
* Support EAP TLS &lt;br /&gt;
*#{{Bug|1151726}} - [Wifi] TEST-UNEXPECTED-ERROR|test_wifi_associate_WPA_EAP_TTLS.js &lt;br /&gt;
*# {{Bug|1163089}} - [Wifi] Marionette tests for Wifi WPA-EAP associate start to fail&lt;br /&gt;
*# {{Bug|1156204}} - [Settings] Add support for PKCS#12 files&lt;br /&gt;
*# {{Bug|998226}} - [wifi][Gaia] To support EAP-TLS and manage user certificate in WLAN setting&lt;br /&gt;
*# {{Bug|1163031}} - [Wifi] Provide more detail when certificate management API error&lt;br /&gt;
&lt;br /&gt;
== Have a new HAL for emulator/New Gonk layer ==&lt;br /&gt;
* priority: p2&lt;br /&gt;
* meeting minutes - https://taiwan.etherpad.mozilla.org/1253&lt;br /&gt;
* New HAL interface task force&lt;br /&gt;
&lt;br /&gt;
= Individual Goals and high level schedule = &lt;br /&gt;
== Yoshi ==&lt;br /&gt;
# Fix same origin and cookie jars bugs&lt;br /&gt;
# NFC&lt;br /&gt;
&lt;br /&gt;
== Henry ==&lt;br /&gt;
# Landed gecko patches for Multi-Windows&lt;br /&gt;
#* Screen manager redesign for multiple display purpose.&lt;br /&gt;
#* Co-work with Shelly to land the primary gecko Bug 1138287.&lt;br /&gt;
#* Co-work with Luke to land gaia patches.&lt;br /&gt;
# Fixed WiFi bugs&lt;br /&gt;
#* Help investigate Z3C wifi issues.&lt;br /&gt;
# Review slides: https://docs.google.com/presentation/d/1kqP2iD2wyDrQO09vmRTaLduJCJPnp3U15odcmi33X4s/edit#slide=id.p&lt;br /&gt;
&lt;br /&gt;
== Dimi == &lt;br /&gt;
# https://docs.google.com/presentation/d/1Vuo1CQBNgmd21nFvLkj06vuuWR_9LLKqUK0BmcAEwH4/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
# Fix some service worker bugs&lt;br /&gt;
# Participate new security model architecture design discussion on server worker  &lt;br /&gt;
# Fix NFC bugs&lt;br /&gt;
&lt;br /&gt;
== Ethan == &lt;br /&gt;
# Fix same origin and cookie jars bugs&lt;br /&gt;
# Fix CSP bugs&lt;br /&gt;
# RTSP&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* https://docs.google.com/a/mozilla.com/presentation/d/1tdhu753HBLDHfB9vgQvjT9sC3pF0CgTSgdt5mqN-Pkw/edit?usp=sharing&lt;br /&gt;
# RTSP &lt;br /&gt;
# Performance improvement&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-06-02&amp;diff=1077802</id>
		<title>TPE CONNECTIVITY GROUP/2015-06-02</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-06-02&amp;diff=1077802"/>
		<updated>2015-06-02T02:17:22Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1163556}} - [aries-l] NFC does not work in aries-l. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1170053}} - [Aries] Not able to share a picture using NFC. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;working on mochitest&#039;&#039;&#039;&lt;br /&gt;
# Prepare service worker slide&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
# {{bug|1055959}} - [NFC] testNfcBadSessionIdError testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1168292}} - [NFC] System app unable to re-dispatch NFC event. &#039;&#039;&#039;v2.2+, landed on master&#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1168300}} - Add cookieJar attribute and notify webapps-clear-cookiejar-data. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1170097}} - Add originAttributesToCookieJar to ChromeUtils.jsm. &#039;&#039;&#039;r?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-26&amp;diff=1076401</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-26</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-26&amp;diff=1076401"/>
		<updated>2015-05-26T04:03:38Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1163556}} - [aries-l] NFC does not work in aries-l. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;mozilla side is ok&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1162836}} - Fix NFC marionette testcase fail. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;report investigating result&#039;&#039;&#039;&lt;br /&gt;
# Prepare service worker slide&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
# {{bug|1055959}} - [NFC] testNfcBadSessionIdError testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-19&amp;diff=1075192</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-19</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-19&amp;diff=1075192"/>
		<updated>2015-05-19T02:55:47Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
* 6/12 電影+老乾杯+三重 e7 club - http://www.e7club.com.tw/&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1163556}} - [aries-l] NFC does not work in aries-l. &#039;&#039;&#039;co-work with selin&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1165774}} - [Flame L] NFC not working. &#039;&#039;&#039;co-work with viral&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1162836}} - Fix NFC marionette testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1163952}} - nfcd should notify techlost if there is a tag or p2p connection and then nfc is turned off. &#039;&#039;&#039;won&#039;t fix&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
# {{bug|1055959}} - [NFC] testNfcBadSessionIdError testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** Filed bugs depending on {{bug|1163254}}&lt;br /&gt;
** {{Bug|1165841}} - [NFC] Unable to share image from gallery, if this image was once previewed through notification. &#039;&#039;&#039;2.2+, ongoing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-12&amp;diff=1074046</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-12</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-12&amp;diff=1074046"/>
		<updated>2015-05-12T06:20:35Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
* Q2 Team building - https://connectivity.etherpad.mozilla.org/15&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;land&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1055959}} - [NFC] testNfcBadSessionIdError testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# {{bug|1162836}} - Fix NFC marionette testcase fail. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# Help viral check flame-l NFC porting&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1158735}} - FetchEvent.client asserting in onFetch when there&#039;s no document&lt;br /&gt;
# {{bug|1136512}} - Sony Z3C - nfcd should build with Z3 compatiable libnfc-nci library&lt;br /&gt;
# {{bug|1163556}} - [aries-l] NFC does not work in aries-l&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
*# Contact with security team&lt;br /&gt;
*#* Christoph Kerschbaumer will be my mentor in CSP&lt;br /&gt;
*#* CSP bug triage @ Fri May 15, 2015 1:45am – 3:15am (CST)&lt;br /&gt;
*# {{Bug|959388}} - CSP 1.1: Workers may have their own CSP policies&lt;br /&gt;
*#* Depends on {{Bug|881509}} - Content Security Policy ShouldLoad and ShouldProcess do not use request principal&lt;br /&gt;
*#* Study Web Worker: a means for web content to run scripts in background threads&lt;br /&gt;
*# Trace CSP code: nsDocument::InitCSP()&lt;br /&gt;
*# Attend DOM study group: Focus management&lt;br /&gt;
*#* nsFocusManager is in charge of window and content focus management&lt;br /&gt;
*#* &#039;&#039;&#039;Cross-window shifting&#039;&#039;&#039; applies same-origin policy&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** List the changes needed in https://github.com/allstarschh/b2gSecurity/blob/master/origin.md&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1119152}} - [SecureElement] Implement SEReader.isSEPresent&lt;br /&gt;
** {{Bug|884594}} - Support NFC Access Control for Secure Element Access&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Howie/Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072213</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-05</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072213"/>
		<updated>2015-05-05T10:17:47Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1160671}} - [Flame] Unable to turn on NFC. &#039;&#039;&#039;root cause found&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# Study service worker&lt;br /&gt;
* Trace ServiceWorkerManager.cpp, ServiceWorkerContainer.cpp, ServiceWorkerScriptCache.cpp&lt;br /&gt;
* Test service worker with host app, found following issues&lt;br /&gt;
*# Cannot launch hosted app with https&lt;br /&gt;
*# {{bug|1125961}}&lt;br /&gt;
*# &#039;SerializedLoadContext from child is null&#039;, fail in NeckoParent::GetValidatedAppInfo&lt;br /&gt;
*# Issue when run hosted app second time&lt;br /&gt;
*# crash when link to another html page&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - [Lightsaber] Support NFC . &#039;&#039;&#039;checking if sony can support libnfc-nci github&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
*# Study JavaScript security&lt;br /&gt;
*#* Review &#039;&#039;&#039;Same-Origin Policy (SOP)&#039;&#039;&#039; to clarify how SOP uses &#039;&#039;&#039;origin&#039;&#039;&#039;&lt;br /&gt;
*#* Relaxing SOP&lt;br /&gt;
*#*# Document.domain&lt;br /&gt;
*#*# Cross-Origin Resource Sharing (CORS)&lt;br /&gt;
*#*# Cross-document messaging: postMessage API&lt;br /&gt;
*# Study &#039;&#039;&#039;Cross-Site Scripting (XSS)&#039;&#039;&#039; attack&lt;br /&gt;
*#* Reflected XSS&lt;br /&gt;
*#* Persistent (Stored) XSS&lt;br /&gt;
*# Study &#039;&#039;&#039;Content Security Policy (CSP)&#039;&#039;&#039;&lt;br /&gt;
*#* CSP directive&lt;br /&gt;
*#** Script execution: script-src&lt;br /&gt;
*#** Plug-in content: object-src&lt;br /&gt;
*#** Stylesheets and fonts: style-src and font-src&lt;br /&gt;
*#** Passive multimedia: img-src and media-src&lt;br /&gt;
*#** Subframes: frame-src&lt;br /&gt;
*#** Default policy: default-src&lt;br /&gt;
*#* CSP key words&lt;br /&gt;
*#** none&lt;br /&gt;
*#** self&lt;br /&gt;
*#** data:&lt;br /&gt;
*#** unsafe-inline&lt;br /&gt;
*#** unsafe-eval&lt;br /&gt;
*# Start to trace CSP implementation in Firefox&lt;br /&gt;
*#* nsDocument::initCSP()&lt;br /&gt;
*#* nsCSPParser - which separates the CSP header into tokens and parses the CSP&lt;br /&gt;
*#* nsCSPUtils which holds the internal representation of the CSP&lt;br /&gt;
*#* nsCSPContext which is the interface through which CSP gets called&lt;br /&gt;
*# Start to play with CSP mochitest in Gecko&lt;br /&gt;
*#* dom/base/test/csp/test_csp_path_matching.html&lt;br /&gt;
*# Attend meeting on 5/5: New security model update hosted by Jean Gong&lt;br /&gt;
*# Coordinate Necko study group sessions&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
*# Help Jonathan on {{Bug|1158661}} - [FFOS2.0][Woodduck][HOMO]RSTP video in 720 H-264 Plays abnormal which can hear the audio only without the video shows&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{Bug|1154690}} - [Shinano][Aries] Sometimes it&#039;s hard to connect to some WiFi network&lt;br /&gt;
# {{Bug|1157657}} - [Wifi Direct] Periodically do p2p scan if in inactive state&lt;br /&gt;
# {{Bug|1160913}} - [Emulator][Wifi] Unable to connect to secure Wifi AP on emulator&lt;br /&gt;
&lt;br /&gt;
# Multi-window&lt;br /&gt;
# {{Bug|1116089}} - [Meta] Support &amp;quot;1 UA multi-screen&amp;quot; on FxOS&lt;br /&gt;
#* https://wiki.mozilla.org/Firefox_OS/1UA_Multi-Screen&lt;br /&gt;
&lt;br /&gt;
# {{Bug|1138287}} - Refactor GonkDisplay/nsWindow/hwc to support multiple displays&lt;br /&gt;
# {{Bug|1138288}} - Extend nsScreenManagerGonk to support multiple screens&lt;br /&gt;
#* Dedicated to redesign of nsScreenGonk/nsScreenManagerGonk/nsWindow&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{Bug|1131632}} - [Wifi Direct][meta] Wifi Direct V3 refinement&lt;br /&gt;
# {{Bug|1141391}} - [Wifi Direct] Create Wifi Direct testing app&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1158661}} - [FFOS2.0][Woodduck][HOMO]RSTP video in 720 H-264 Plays abnormal which can hear the audio only without the video shows.&lt;br /&gt;
*** It can play well on my flame, but CN&#039;s QA still has problems. I made a few patches, and finally we convinced our partner that the server is malfunctioning.&lt;br /&gt;
** Studying and planning about gecko performance marker interface.&lt;br /&gt;
*** I thought we could reuse the C++ implementation of WebIDL performance.mark(), but it seems that we don&#039;t necessarily have the window object. I will try to get the precise time from some API, and generate output of similar format so that Raptor can parse them.&lt;br /&gt;
** Studying DocShell&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1142383}} - [RTSP] More RTSP testcases (&#039;&#039;&#039;emulator black screen, try to use emulator-kk or x86 now&#039;&#039;&#039;)&lt;br /&gt;
** Refactor planning&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** Discussed with Jonas with his cookie proposal, still need to confirm with him. http://bit.ly/1zf8VlV&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1119152}} - [SecureElement] Implement SEReader.isSEPresent&lt;br /&gt;
** {{Bug|884594}} - Support NFC Access Control for Secure Element Access&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
* red-tai needs you&lt;br /&gt;
** https://mana.mozilla.org/wiki/display/PM/FxOS+-+Red-Tai+Project&lt;br /&gt;
** see overview of mozilla efforts. &lt;br /&gt;
&lt;br /&gt;
* L porting status&lt;br /&gt;
** Flame&lt;br /&gt;
** z3c&lt;br /&gt;
&lt;br /&gt;
== Aaron (EPM for Networking) ==&lt;br /&gt;
* 2.2 Status Update&lt;br /&gt;
** Code Complete (CC) - June 8th&lt;br /&gt;
** CC criteria: http://mzl.la/1J7RrYS&lt;br /&gt;
*** NEXUS-5-L 5.1 PVT build MTBF 13.77 hrs https://bugzil.la/1155490&lt;br /&gt;
*** FLAME-KK 4.4 PVT build MTBF 34.42 hrs. &lt;br /&gt;
** CSRR - May 8th&lt;br /&gt;
*** CAF-v2.2-metabug http://mzl.la/1ELeOXg&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072210</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-05</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072210"/>
		<updated>2015-05-05T10:12:00Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1160671}} - [Flame] Unable to turn on NFC. &#039;&#039;&#039;root cause found&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# Study service worker&lt;br /&gt;
- Trace ServiceWorkerManager.cpp, ServiceWorkerContainer.cpp, ServiceWorkerScriptCache.cpp&lt;br /&gt;
- Test service worker with host app, found following issues&lt;br /&gt;
1. Cannot launch hosted app with https&lt;br /&gt;
2. bug 1125961&lt;br /&gt;
3. &#039;SerializedLoadContext from child is null&#039;, fail in NeckoParent::GetValidatedAppInfo&lt;br /&gt;
4. Issue when run hosted app second time&lt;br /&gt;
5. crash when link to another html page&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - [Lightsaber] Support NFC . &#039;&#039;&#039;checking if sony can support libnfc-nci github&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
*# Study JavaScript security&lt;br /&gt;
*#* Review &#039;&#039;&#039;Same-Origin Policy (SOP)&#039;&#039;&#039; to clarify how SOP uses &#039;&#039;&#039;origin&#039;&#039;&#039;&lt;br /&gt;
*#* Relaxing SOP&lt;br /&gt;
*#*# Document.domain&lt;br /&gt;
*#*# Cross-Origin Resource Sharing (CORS)&lt;br /&gt;
*#*# Cross-document messaging: postMessage API&lt;br /&gt;
*# Study &#039;&#039;&#039;Cross-Site Scripting (XSS)&#039;&#039;&#039; attack&lt;br /&gt;
*#* Reflected XSS&lt;br /&gt;
*#* Persistent (Stored) XSS&lt;br /&gt;
*# Study &#039;&#039;&#039;Content Security Policy (CSP)&#039;&#039;&#039;&lt;br /&gt;
*#* CSP directive&lt;br /&gt;
*#** Script execution: script-src&lt;br /&gt;
*#** Plug-in content: object-src&lt;br /&gt;
*#** Stylesheets and fonts: style-src and font-src&lt;br /&gt;
*#** Passive multimedia: img-src and media-src&lt;br /&gt;
*#** Subframes: frame-src&lt;br /&gt;
*#** Default policy: default-src&lt;br /&gt;
*#* CSP key words&lt;br /&gt;
*#** none&lt;br /&gt;
*#** self&lt;br /&gt;
*#** data:&lt;br /&gt;
*#** unsafe-inline&lt;br /&gt;
*#** unsafe-eval&lt;br /&gt;
*# Start to trace CSP implementation in Firefox&lt;br /&gt;
*#* nsDocument::initCSP()&lt;br /&gt;
*#* nsCSPParser - which separates the CSP header into tokens and parses the CSP&lt;br /&gt;
*#* nsCSPUtils which holds the internal representation of the CSP&lt;br /&gt;
*#* nsCSPContext which is the interface through which CSP gets called&lt;br /&gt;
*# Start to play with CSP mochitest in Gecko&lt;br /&gt;
*#* dom/base/test/csp/test_csp_path_matching.html&lt;br /&gt;
*# Attend meeting on 5/5: New security model update hosted by Jean Gong&lt;br /&gt;
*# Coordinate Necko study group sessions&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
*# Help Jonathan on {{Bug|1158661}} - [FFOS2.0][Woodduck][HOMO]RSTP video in 720 H-264 Plays abnormal which can hear the audio only without the video shows&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{Bug|1154690}} - [Shinano][Aries] Sometimes it&#039;s hard to connect to some WiFi network&lt;br /&gt;
# {{Bug|1157657}} - [Wifi Direct] Periodically do p2p scan if in inactive state&lt;br /&gt;
# {{Bug|1160913}} - [Emulator][Wifi] Unable to connect to secure Wifi AP on emulator&lt;br /&gt;
&lt;br /&gt;
# Multi-window&lt;br /&gt;
# {{Bug|1116089}} - [Meta] Support &amp;quot;1 UA multi-screen&amp;quot; on FxOS&lt;br /&gt;
#* https://wiki.mozilla.org/Firefox_OS/1UA_Multi-Screen&lt;br /&gt;
&lt;br /&gt;
# {{Bug|1138287}} - Refactor GonkDisplay/nsWindow/hwc to support multiple displays&lt;br /&gt;
# {{Bug|1138288}} - Extend nsScreenManagerGonk to support multiple screens&lt;br /&gt;
#* Dedicated to redesign of nsScreenGonk/nsScreenManagerGonk/nsWindow&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{Bug|1131632}} - [Wifi Direct][meta] Wifi Direct V3 refinement&lt;br /&gt;
# {{Bug|1141391}} - [Wifi Direct] Create Wifi Direct testing app&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1158661}} - [FFOS2.0][Woodduck][HOMO]RSTP video in 720 H-264 Plays abnormal which can hear the audio only without the video shows.&lt;br /&gt;
*** It can play well on my flame, but CN&#039;s QA still has problems. I made a few patches, and finally we convinced our partner that the server is malfunctioning.&lt;br /&gt;
** Studying and planning about gecko performance marker interface.&lt;br /&gt;
*** I thought we could reuse the C++ implementation of WebIDL performance.mark(), but it seems that we don&#039;t necessarily have the window object. I will try to get the precise time from some API, and generate output of similar format so that Raptor can parse them.&lt;br /&gt;
** Studying DocShell&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1142383}} - [RTSP] More RTSP testcases (&#039;&#039;&#039;emulator black screen, try to use emulator-kk or x86 now&#039;&#039;&#039;)&lt;br /&gt;
** Refactor planning&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
** Discussed with Jonas with his cookie proposal, still need to confirm with him. http://bit.ly/1zf8VlV&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
** {{Bug|1119152}} - [SecureElement] Implement SEReader.isSEPresent&lt;br /&gt;
** {{Bug|884594}} - Support NFC Access Control for Secure Element Access&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
* red-tai needs you&lt;br /&gt;
** https://mana.mozilla.org/wiki/display/PM/FxOS+-+Red-Tai+Project&lt;br /&gt;
** see overview of mozilla efforts. &lt;br /&gt;
&lt;br /&gt;
* L porting status&lt;br /&gt;
** Flame&lt;br /&gt;
** z3c&lt;br /&gt;
&lt;br /&gt;
== Aaron (EPM for Networking) ==&lt;br /&gt;
* 2.2 Status Update&lt;br /&gt;
** Code Complete (CC) - June 8th&lt;br /&gt;
** CC criteria: http://mzl.la/1J7RrYS&lt;br /&gt;
*** NEXUS-5-L 5.1 PVT build MTBF 13.77 hrs https://bugzil.la/1155490&lt;br /&gt;
*** FLAME-KK 4.4 PVT build MTBF 34.42 hrs. &lt;br /&gt;
** CSRR - May 8th&lt;br /&gt;
*** CAF-v2.2-metabug http://mzl.la/1ELeOXg&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072157</id>
		<title>TPE CONNECTIVITY GROUP/2015-05-05</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=TPE_CONNECTIVITY_GROUP/2015-05-05&amp;diff=1072157"/>
		<updated>2015-05-05T06:08:34Z</updated>

		<summary type="html">&lt;p&gt;Dimi: /* Dimi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion Topics =&lt;br /&gt;
== Dimi == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1160671}} - [Flame] Unable to turn on NFC. &#039;&#039;&#039;root cause found&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;working&#039;&#039;&#039;&lt;br /&gt;
# Study service worker&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
# {{bug|1136512}} - [Lightsaber] Support NFC . &#039;&#039;&#039;checking if sony can support libnfc-nci github&#039;&#039;&#039;&lt;br /&gt;
# {{bug|964697}} - (emulator-NFC) B2G Emulator: NFC support in KK. &#039;&#039;&#039;on-going&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Ethan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Henry == &lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Jonathan ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Yoshi ==&lt;br /&gt;
* &#039;&#039;&#039; Done &amp;amp; Working in Progress &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Review &amp;amp; Feedbacks &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Pending &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; Others &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Wesley(EPM) ==&lt;br /&gt;
&lt;br /&gt;
== Aaron (EPM for Networking) ==&lt;/div&gt;</summary>
		<author><name>Dimi</name></author>
	</entry>
</feed>