Blocklisting/Testing: Difference between revisions

Cleanup and restructure page
(Cleanup and restructure page)
Line 1: Line 1:
= Testing Staged Blocklist =
= Add-ons =


==== Prerequisites ====
== Testing Staged Add-ons Blocklist ==
 
=== Prerequisites ===
To test the full functionality of blocklist v3 against the staging server, you need to set up a Firefox profile with the following preferences:
To test the full functionality of blocklist v3 against the staging server, you need to set up a Firefox profile with the following preferences:
# <code>extensions.blocklist.useMLBF.stashes</code> = true
# <code>extensions.blocklist.useMLBF.stashes</code> = true
Line 10: Line 12:
''Note 1: During testing, the behavior should be identical regardless of whether stashes=true or stashes=false. This preference enables an optimization to save bandwidth.''<br />
''Note 1: During testing, the behavior should be identical regardless of whether stashes=true or stashes=false. This preference enables an optimization to save bandwidth.''<br />
''Note 2: The preferences referenced in entries 1 and 2 should be enabled by default in the latest version of Firefox and will not require manually setting them''.<br />
''Note 2: The preferences referenced in entries 1 and 2 should be enabled by default in the latest version of Firefox and will not require manually setting them''.<br />
==== Creating a block entry ====
 
=== Creating a block entry ===
Blocks in v3 are managed via the admin tool on AMO, and are automatically on a schedule used to create a new bloomfilter.<br />
Blocks in v3 are managed via the admin tool on AMO, and are automatically on a schedule used to create a new bloomfilter.<br />
To set up a block entry, follow these steps:<br />
To set up a block entry, follow these steps:<br />
Line 22: Line 25:
# Take note of the contents of https://kinto.stage.mozaws.net/v1/buckets/blocklists/collections/addons-bloomfilters/records<br /> ''Important Note: The new blocklist starts being generated on AMO every 6 hours (06:35 UTC), so it should be available between 06:45 – 07:00 UTC (and every 6 hours thereafter)''
# Take note of the contents of https://kinto.stage.mozaws.net/v1/buckets/blocklists/collections/addons-bloomfilters/records<br /> ''Important Note: The new blocklist starts being generated on AMO every 6 hours (06:35 UTC), so it should be available between 06:45 – 07:00 UTC (and every 6 hours thereafter)''
# Check the contents of https://kinto.stage.mozaws.net/v1/buckets/blocklists/collections/addons-bloomfilters/records have changed since Step 8<br /> ''Note: How to verify the new stash: the stash will contain two sections - <code>blocked: []</code> and <code>unblocked: []</code>; There will be one entry for each combination or <code>"guid:version string”</code> covered by the block range set up in AMO admin. If a block is deleted, all the add-on versions should be located in the <code>stash - unblocked</code> section. Also, keep in mind that if you edit an existing block by expanding the blocked version range (i.e. you include additional add-on versions in the blocked range), you should see the new covered versions in the <code>stash - blocked</code>. Similarly, if you exclude some previous blocked versions from the block range, the excluded versions should be visible in <code>stash - unblocked</code>.''<br />
# Check the contents of https://kinto.stage.mozaws.net/v1/buckets/blocklists/collections/addons-bloomfilters/records have changed since Step 8<br /> ''Note: How to verify the new stash: the stash will contain two sections - <code>blocked: []</code> and <code>unblocked: []</code>; There will be one entry for each combination or <code>"guid:version string”</code> covered by the block range set up in AMO admin. If a block is deleted, all the add-on versions should be located in the <code>stash - unblocked</code> section. Also, keep in mind that if you edit an existing block by expanding the blocked version range (i.e. you include additional add-on versions in the blocked range), you should see the new covered versions in the <code>stash - blocked</code>. Similarly, if you exclude some previous blocked versions from the block range, the excluded versions should be visible in <code>stash - unblocked</code>.''<br />
==== Connecting to the stage server and triggering a new blocklist ====
 
=== Connecting to the stage server and triggering a new blocklist ===
You need  to force an update of the blocklist in Firefox and verify that the add-on added in the previous step are indeed blocked. And similarly, marking an add-on as unblocked in the AMO admin tools, forcing an update and verifying that the add-on is unblocked again.<br />
You need  to force an update of the blocklist in Firefox and verify that the add-on added in the previous step are indeed blocked. And similarly, marking an add-on as unblocked in the AMO admin tools, forcing an update and verifying that the add-on is unblocked again.<br />
To point Firefox to the stage server, follow these steps:<br />
To point Firefox to the stage server, follow these steps:<br />
Line 29: Line 33:
# Go to about:addons, open the DevTools console and force an update of the blocklist by running:<br /> <code>ChromeUtils.import('resource://gre/modules/Blocklist.jsm').Blocklist.ExtensionBlocklist._client.sync()</code><br />The installed add-on should now reflect the blocked status. If the status is not automatically updated, refresh the page.
# Go to about:addons, open the DevTools console and force an update of the blocklist by running:<br /> <code>ChromeUtils.import('resource://gre/modules/Blocklist.jsm').Blocklist.ExtensionBlocklist._client.sync()</code><br />The installed add-on should now reflect the blocked status. If the status is not automatically updated, refresh the page.


= Testing Graphics Blocklist entries =
== Logging States ==
Enable logging to help debug via the browser console:
* open a new tab and type '''about:config''' into the URL
* change the <code>extensions.logging.enabled</code> preference from <code>false</code> to <code>true</code>
* open the browser console using the steps from [[Blocklisting/Testing#Forcing_a_Blocklist_Ping|Forcing a Blocklist Ping]] and force a ping
 
You'll receive similar output via the browser console:
 
Blocklist state for firefox-devedition@mozilla.org@personas.mozilla.org changed from 0 to 0
Blocklist state for Shockwave Flash changed from 0 to 4
 
The definitions of each state can be found in the following [https://mxr.mozilla.org/mozilla-central/source/xpcom/system/nsIBlocklistService.idl#15 source file]
 
 
= Plugins =
 
== Flash (Downloading/Uninstalling) ==
* [https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-windows.html Uninstalling Flash on Windows]
* [https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-mac-os.html Uninstalling Flash on OSX]
 
 
= Graphics =
 
== Testing Graphics Blocklist entries ==


(Note: this only applies to Windows.)
(Note: this only applies to Windows.)
Line 135: Line 162:
   </tr>
   </tr>
</table>
</table>
= Testing on Android =
Testing on Android is somewhat different than other platforms, especially for the downloadable blocklist. There's no way to force a ping, so the best way to do it is to set the automatic ping interval very low and wait. Here are some settings you should use which are set in about:config:
# "Reset" app.update.lastUpdateTime.blocklist-background-update-timer
# Make sure extensions.blocklist.enabled is true (should default this way)
# Set extensions.blocklist.interval to 10
# "Reset" extensions.blocklist.pingCountTotal
# "Reset" extensions.blocklist.pingCountVersion
# <strike>Set extensions.blocklist.url to the following to block Nexus S devices from using WebGL: http://people.mozilla.org/~dsherk/blocklist-nexus_s.xml *NOTE: this is just a way to test it. To test blocking on other devices, you will have to write up your own xml file.</strike>
Note that, even though the interval is set to 10, it can take several minutes for it to ping. I've found that closing Fennec (by opening the menu and hitting Quit, not just hitting the Home button) and re-opening it makes it ping shortly after start.
= Logging States =
Enable logging to help debug via the browser console:
* open a new tab and type '''about:config''' into the URL
* change the <code>extensions.logging.enabled</code> preference from <code>false</code> to <code>true</code>
* open the browser console using the steps from [[Blocklisting/Testing#Forcing_a_Blocklist_Ping|Forcing a Blocklist Ping]] and force a ping
You'll receive similar output via the browser console:
Blocklist state for firefox-devedition@mozilla.org@personas.mozilla.org changed from 0 to 0
Blocklist state for Shockwave Flash changed from 0 to 4
The definitions of each state can be found in the following [https://mxr.mozilla.org/mozilla-central/source/xpcom/system/nsIBlocklistService.idl#15 source file]
= Upgrade Testing =
Check when the blocklist was implemented and which version it was implemented.  Verify that upgrading to the newest version will not cause an issue.
[ outcome from {{bug|838845}} ]
= Flash (Downloading/Uninstalling) =
* [https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html Flash Download Archives]
* [https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-windows.html Uninstalling Flash on Windows]
* [https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-mac-os.html Uninstalling Flash on OSX]
= Java (Downloading/Installing/Uninstalling) =
'''Note:''' Currently only x86 versions of JRE work with FX, JRE x64 builds will not appear under about:addons or about:plugins [07/15/2015]
* [http://www.oracle.com/technetwork/java/archive-139210.html Oracle Download Archives]
* [https://www.java.com/en/download/help/mac_uninstall_java.xml Uninstalling Java on OSX]
* [https://www.java.com/en/download/help/linux_install.xml Installing/Uninstalling Java Plugin on Linux]
= Silverlight (Downloading) =
Quick guide on downloading older versions of Silverlight:
* View the [https://www.microsoft.com/getsilverlight/locale/en-us/html/Microsoft%20Silverlight%20Release%20History.htm Silverlight Release History]
* Click on the version of Silverlight that you would like to download
** in this example, we'll use '''Silverlight 5 Build 5.1.41105.0 Released December 8, 2015'''
* Click on the "Knowledge Base" link for the version you would like to download  (Example: KB3106614)
* Once the knowledge base page is opened, look under '''How to obtain and install the update'''
* Click on the Microsoft Security Bulletin link that's provided under "Method 2: Microsoft Download Center"
* This will take you to a '''Microsoft Security Bulletin''' page that includes the download links to the appropriate version of Silverlight
Confirmed users
206

edits