Closed Bug 1306081 Opened 4 years ago Closed 4 years ago

Ship the Websense hotfix as a system add-on, targeting Firefox 47

Categories

(Toolkit :: Application Update, defect)

47 Branch
Unspecified
Windows
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: Felipe, Assigned: Felipe)

References

(Blocks 1 open bug)

Details

User Story

Deploy a system add-on to Firefox 47 which:

* Acts on Windows only

* Detects the presence or absense of WebSense by checking the following paths:

** %WINDIR%\System32\qipcap.dll
** %WINDIR%\System32\qipcap64.dll
** %WINDIR%\sysnative\qipcap.dll
** %WINDIR%\sysnative\qipcap64.dll


If WebSense is not present, add "(nowebsense)" directly after "%OS_VERSION%" to the default value of the app.update.url pref

* New value will be https://aus5.mozilla.org/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%(nowebsense)/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml

If WebSense is present, add "(websense)"

Attachments

(3 files)

+++ This bug was initially created as a clone of Bug #1298404 +++

The hotfix apparently didn't reach everyone. It's unclear whether the system add-on will have more success in that, but it's worth a try.

After we do this we should also send a new hotfix update with a blank hotfix that just uninstalls itself, in order to remove the hotfix entry from the users' Add-ons Managers.
We want to target 47.0 and 47.0.1 Windows users.
Andrei, Felipe is going to put this on a staging server and give some details for testing. Can your team take a look tonight? If everything goes well, I'd like to release this tomorrow (Friday).
Flags: needinfo?(andrei.vaida)
Attached file unsgined xpi
Jason, could you sign the xpi for us?
Attachment #8796260 - Flags: feedback?(jthomas)
Attachment #8796260 - Flags: feedback?(jthomas) → feedback+
Attached file signed xpi
Please see attached.
Comment on attachment 8795813 [details]
Bug 1306081 - Ship the Websense hotfix as a system add-on, targeting Firefox 47.

https://reviewboard.mozilla.org/r/81760/#review80788

This looks okay to me. Kinda weirded out by the fact that we don't mark our system add-ons as multiprocess compatible...

::: browser/extensions/websensehelper/install.rdf.in:15
(Diff revision 3)
>  
>    <Description about="urn:mozilla:install-manifest">
> -    <em:id>webcompat@mozilla.org</em:id>
> +    <em:id>websensehelper@mozilla.org</em:id>
>      <em:version>1.0</em:version>
>      <em:type>2</em:type>
>      <em:bootstrap>true</em:bootstrap>

Out of curiosity, shouldn't we be marking these system add-ons multiprocess compatible by default?
Attachment #8795813 - Flags: review+
We did this in bug 1291640 and bug 1291641, but I wrote this from mozilla-release and that change hasn't made it there yet. The system add-ons are exempt from the add-ons whitelist anyway so it's not a big deal, but there's bug 1295567 filed to avoid newer ones from forgetting to add it.
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #4)
> Andrei, Felipe is going to put this on a staging server and give some
> details for testing. Can your team take a look tonight? If everything goes
> well, I'd like to release this tomorrow (Friday).

The timing here isn't ideal with the bug created yesterday, and request for a Friday deployment. If I'm reading things correctly, the insight gained from this system add-on will unlock us from updating more users to 49.0.1?

I've NI'd a couple of folks to see if they would be able to help with deploying this through Go Faster tomorrow.
Flags: needinfo?(standard8)
Flags: needinfo?(rhelmer)
Flags: needinfo?(mkelly)
(In reply to Cory Price [:ckprice] from comment #10)
> (In reply to Liz Henry (:lizzard) (needinfo? me) from comment #4)
> > Andrei, Felipe is going to put this on a staging server and give some
> > details for testing. Can your team take a look tonight? If everything goes
> > well, I'd like to release this tomorrow (Friday).
> 
> The timing here isn't ideal with the bug created yesterday, and request for
> a Friday deployment. If I'm reading things correctly, the insight gained
> from this system add-on will unlock us from updating more users to 49.0.1?
> 
> I've NI'd a couple of folks to see if they would be able to help with
> deploying this through Go Faster tomorrow.

I will be around, I don't have access to make changes directly but could help file bugs etc.

Just a note - I am out in the afternoon, so if Mark and/or Osmose could be around then that'd be ideal.
Flags: needinfo?(rhelmer)
(In reply to Mike Conley (:mconley) - (needinfo me!) from comment #8)
> Comment on attachment 8795813 [details]
> Bug 1306081 - Ship the Websense hotfix as a system add-on, targeting Firefox
> 47.
> 
> https://reviewboard.mozilla.org/r/81760/#review80788
> 
> This looks okay to me. Kinda weirded out by the fact that we don't mark our
> system add-ons as multiprocess compatible...
> 
> ::: browser/extensions/websensehelper/install.rdf.in:15
> (Diff revision 3)
> >  
> >    <Description about="urn:mozilla:install-manifest">
> > -    <em:id>webcompat@mozilla.org</em:id>
> > +    <em:id>websensehelper@mozilla.org</em:id>
> >      <em:version>1.0</em:version>
> >      <em:type>2</em:type>
> >      <em:bootstrap>true</em:bootstrap>
> 
> Out of curiosity, shouldn't we be marking these system add-ons multiprocess
> compatible by default?

Yes. Currently system add-ons are implicitly treated as multiprocess safe but this is changing soon in bug 1295567, so we always want to declare multiprocess compat in the manifest.

Standard8 went through and declared multiprocess compat for all the in-tree system add-ons in bug 1291350.
Instructions for testing:

- Using Windows and a fresh profile of Firefox 47.0.1:

1. Check for updates and make sure Firefox won't update (this is expected)

2. Run this snippet in the browser console:

> Components.utils.import("resource://gre/modules/AddonManager.jsm");
> AddonManagerPrivate.backgroundUpdateCheck();

This will trigger an add-on update check which will install both the hotfix and the system add-on.

Do not restart yet.

3. Go to the Add-ons Manager > Extensions. Check that "Firefox Hotfix" was installed, and then *Remove it* and close the Add-ons Manager tab.

4. Now restart Firefox

5. Go to about:support and check that a new add-on was installed, "Websense Helper" version 1.0, together with Hello, Pocket, and Multiprocess Staged Rollout

6. Check that Pocket functionality is still present, and that Hello *was removed* (this is expected)

7. Go to about:config, look for the app.update.url pref and make sure it contains "(nowebsense)" inside it (it will still appear as a default, non-bold pref)

8. Check for updates and make sure Firefox will update to 48



I just performed all these steps on a local machine and it worked fine
Ah, forgot to mention, to run that snippet in the Browser Console you need to have the pref "devtools.chrome.enabled" set to true
Felipe, we started testing this and Websense Helper is _not_ installed after following your instructions (Comment 13). We confirmed this behavior on Windows XP x86 and Windows 10 x64 so far and we suspect it's the same on other Windows versions as well.

Here's a console output: 

    http://pastebin.com/Z21agkpx
Flags: needinfo?(andrei.vaida) → needinfo?(felipc)
I've uploaded the add-on to FTP and released it to the release-sysaddon channel (for 47.*)


I'm unlikely to be around after about 8:30 am PDT. For Michael/whoever, the rule I've changed is the release-sysaddon rule 369 for 47.* the mapping is changed from "SystemAddons-ff47-loop-3.0.0-pocket-1.0.2-e10srollout-1.0" to "SystemAddons-ff47-loop-3.0.0-pocket-1.0.2-e10srollout-1.0-websense-1.0"
Flags: needinfo?(standard8)
Flags: needinfo?(felipc)
Ah sorry, I forgot the important step of changing the pref extensions.systemAddon.update.url to http://people.mozilla.org/~fgomes/websensehelper/update.xml
Thank you for helping out here, Mark!

We finished testing the system add-on using the release-sysaddon channel and things are looking good, mostly. Here's a detailed breakdown of what we've covered:

  Windows (XP x86, 7 x64, 8.1 x86, 10 x64)
    * confirmed that "Websense helper" is successfully installed on Fx47
    * confirmed that Pocket is still in place and working as expected
    * potential issue:
    	** after updating 47.0.1 to 48.0.2, Firefox Hello version is changed from 3.0.0 to 1.4.4
    	** updating further, from 48.0.2 to 49.0.1, Firefox Hello is removed completely

  Ubuntu (16.04 x64)
    * confirmed that "Websense helper" is successfully installed on Fx47
    * confirmed that Pocket is still in place and working as expected
    * confirmed that Firefox Hello is removed
    * confirmed that there's nothing else affected on this platform

  Mac OS X (10.10.5)
    * confirmed that "Websense helper" is successfully installed on Fx47
    * confirmed that Pocket is still in place and working as expected
    * confirmed that Firefox Hello is removed
    * confirmed that there's nothing else affected on this platform

Additional logs on the matter:
  http://pastebin.com/EPgcimcb

Detailed test results:
  https://public.etherpad-mozilla.org/p/1306081

Felipe, Mark -- any thoughts on the Hello behavior from Windows?
Flags: needinfo?(felipc)
(In reply to Andrei Vaida, QA [:avaida] – please ni? me from comment #18)
>   Windows (XP x86, 7 x64, 8.1 x86, 10 x64)
>     * confirmed that "Websense helper" is successfully installed on Fx47
>     * confirmed that Pocket is still in place and working as expected
>     * potential issue:
>     	** after updating 47.0.1 to 48.0.2, Firefox Hello version is changed
> from 3.0.0 to 1.4.4

This is to be expected - 48.0.2 shipped with 1.4.4. As a result when you update to it, the installed system add-on gets wiped out, and you'll then get the original version. If you do another add-on check that includes system add-ons (normally happens within 24 hours), then you'll get 3.0.0 again.

>     	** updating further, from 48.0.2 to 49.0.1, Firefox Hello is removed
> completely

Yep, that's expected - Hello is removed from 49 & later.
Yeah, everything looks good
Flags: needinfo?(felipc)
Hiiiiiiiiiiiii!

As per comment 20, everything looks good, and I'm ready to switch it on as per comment 16. 

Liz: Are we good to go live with this?
Flags: needinfo?(mkelly) → needinfo?(lhenry)
Thank you Andrei and everyone!  Thanks Osmose. 

Yes, sounds good, I think we can switch this on. The result should be that we start detecting more Windows users who don't have Websense installed. I think that it may take another 24 hours from the system addon rollout for them to do another update check (or it will happen on restart) And at that point most of them should update to 49.0.1.
Flags: needinfo?(lhenry)
Cool. I've made the change in Balrog to rule 371, which is the update rule for 47.* in release, and set the mapping to "SystemAddons-ff47-loop-3.0.0-pocket-1.0.2-e10srollout-1.0-websense-1.0".

It should be going out now, ping me if you need any other changes made. :D
Thank you! I've verified that the update response from a 47.0 and 47.0.1 ping now includes the websense helper hotfix.
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Felipe, can you help me assess how many instances have been offered the system addon and let me know? We can look at how many instances have updated over the weekend and the next few days.  We may want to try and verify that or give numbers every time we roll out a system add-on, if possible. How many users did it ship to?
Flags: needinfo?(felipc)
Liz, comment 25 is a whole large engineering task unto itself. I agree that we need to be better about measuring rollout impact of system addons, but I don't think it should go in this closed bug, and probably needs an bug and engineering assignment all itself. And I'm hoping release management/release engineering can help own that work.
Flags: needinfo?(felipc)
Good point, I think I can get some information from releng here too. Thanks.
Attachment #8795813 - Flags: review?(MattN+bmo)
Landed on the FIREFOX_47_0_2_RELBRANCH with IRC a+ from Liz and review from Felipe.
https://hg.mozilla.org/releases/mozilla-release/rev/c0fa1b50345f
We finished testing the uplift on Firefox 47.0.2 and we confirm that no issues were found.

Detailed test results:
https://public.etherpad-mozilla.org/p/1305787
You need to log in before you can comment on or make changes to this bug.