[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #19316 [Applications/Tor Browser]: Make sure our updates are dealing with SSE requirement properly



#19316: Make sure our updates are dealing with SSE requirement properly
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  task                                 |         Status:
                                                 |  needs_revision
 Priority:  Medium                               |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  ff52-esr, tbb-7.0-must,              |  Actual Points:
  TorBrowserTeam201703                           |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by boklm):

 Replying to [comment:10 mcs]:
 > Replying to [comment:7 boklm]:
 > > Replying to [comment:1 mcs]:
 > > > Similar to the minSupportedOSVersion update manifest attribute that
 we added for the Mac OS 10.6 issue (see
 https://trac.torproject.org/projects/tor/ticket/13047#comment:3), we
 should add support for a new attribute such as: `minInstructionSet="SSE2"`
 > >
 > > I attached a first version of a patch to do that, but I did not test
 it yet, so it may not work.
 >
 > It seems like we just need one attribute in the update manifest, e.g.,
 minSupportedInstructionSet.
 >
 > Also, I think your patch is missing a !. Maybe just do something like:
 > {{{
 > if (!this.unsupported &&
 update.hasAttribute("minSupportedInstructionSet")) {
 >   let minInstructionSet =
 update.getAttribute("minSupportedInstructionSet");
 >   if (['MMX', 'SSE', 'SSE2', 'SSE3',
 >        'SSE4A', 'SSE4_1', 'SSE4_2'].indexOf(minInstructionSet) >= 0) {
 >   try {
 >     this.unsupported = !Services.sysinfo.getProperty("has" +
 minInstructionSet);
 >   } catch (e) {}
 > }
 > }}}
 >
 > (untested).

 This looks better, thanks.


 > > I think there will still be an issue with people upgrading to the new
 ESR52 version from Tor Browser <= 6.5.1 (skipping the version that added
 support for the minInstructionSet attribute), as their browser will not
 know this attribute. If we want to avoid this, we will need to change the
 `update_2` from the updates URL to `update_3` (similar to what we did in
 #13047).
 >
 > Do we really need to change to update3? We are not changing the request
 URL. We should add support for the new instruction set attribute to TB
 6.5.2 and then advertise to older Windows browsers an update to 6.5.2.
 Then, after that update is done, the 6.5.2 browser will recognize the new
 attribute and make the appropriate instruction set check. Mozilla does
 this kind of thing once in a while; they call it a step-wise update or
 flag day or something ;)

 I think we have no easy way to continue advertising 6.5.2 to older Windows
 browsers after 7.0 is released, with what we use to generate the update
 responses files. We can add support for that, but it will probably require
 keeping a copy of the 6.5.2 mar files when generating update response
 files for many of the future releases. I think an easier way to do that is
 changing the update url to `update_3` in 6.5.2, and not advertising 7.0 in
 `update_2`. We can also add `update_2` -> `update_3` redirects for the
 Linux and OSX URLs so that Linux and OSX browsers are updated to the
 latest version directly.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19316#comment:11>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs