[tor-bugs] #30504 [Applications/Tor Browser]: Investigate if New Identity works properly after moving to ESR 68

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Sep 27 16:12:56 UTC 2019


#30504: Investigate if New Identity works properly after moving to ESR 68
-------------------------------------------------+-------------------------
 Reporter:  acat                                 |          Owner:  tbb-
                                                 |  team
     Type:  task                                 |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  ff68-esr tbb-newnym,                 |  Actual Points:  1.5
  TorBrowserTeam201909R, tbb-9.0-must-alpha      |
Parent ID:                                       |         Points:  0.25
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor44-can
-------------------------------------------------+-------------------------
Changes (by acat):

 * keywords:  ff68-esr tbb-newnym, TorBrowserTeam201909, tbb-9.0-must-alpha
     => ff68-esr tbb-newnym, TorBrowserTeam201909R, tbb-9.0-must-alpha
 * status:  new => needs_review
 * actualpoints:   => 1.5


Comment:

 Changes in https://github.com/acatarineu/torbutton/commit/30504.

 `PushService: onPermissionChange: Error updating registrations:
 InvalidStateError PushService.jsm:302`

 I can't see this error anymore.

 `An IndexedDB transaction that was not yet complete has been aborted due
 to page navigation. IndexedDBHelper.jsm:145:23`

 This was due to `Services.qms.clear()` interfering with internal open
 indexeddbs, which was partially fixed in #31396 and with that this error
 is not present anymore. In any case, I replaced `Services.qms.clear` by
 something that does not erase internal browser storage, but just content
 (using `Services.clearData` and the `CLEAR_DOM_STORAGES` flag which is
 `CLEAR_APPCACHE | CLEAR_DOM_QUOTA | CLEAR_DOM_PUSH_NOTIFICATIONS |
 CLEAR_REPORTS` (see https://searchfox.org/mozilla-
 esr68/rev/65b2bc1788c28cf97933c198e3e6bff3817f2d86/toolkit/components/cleardata/ClearDataService.jsm).
 I also removed the `Services.qms.clear()` on startup, since it should no
 longer be needed for removing asm.js caches (#21549).

 `Error: _initWorker called too early! Please read the session file from
 disk first. SessionFile.jsm:334:15` this one is also in esr60. And can
 also be reproduced in latest Firefox with
 `browser.privatebrowsing.autostart = true` when using the "Forget" feature
 which is "hidden" in `Customize...` menu (so perhaps we could file a
 bugzilla issue for that). This is caused by
 `Services.obs.notifyObservers(null, "browser:purge-session-history",
 "");`.

 `TypeError: win.gBrowser is undefined ProcessHangMonitor.jsm:410:18`

 I fixed this one by waiting the new window to be initialized before
 closing the last one.

 BTW, there are several steps of new identity data clearing which might be
 performed via `Services.clearData(SOME_FLAG_COMBINATION)` (which I think
 is new in esr68), but I'm not sure it's a good idea to change those right
 now. In any case, I compared all possible flags with what is currently
 done in new_identity, just in case we might be missing something, and
 found some which are probably not needed but I thought they would not do
 harm if we also include them:

 * `CLEAR_PREDICTOR_NETWORK_DATA`: Should not be needed since network
 predictor is disabled.

 * `CLEAR_PLUGIN_DATA`: One of the components of `Sanitizer.cookies`:
 https://searchfox.org/mozilla-
 esr68/rev/65b2bc1788c28cf97933c198e3e6bff3817f2d86/browser/modules/Sanitizer.jsm#373.
 Again we should not have plugins enabled, but we might want to have it
 still.

 * `CLEAR_MEDIA_DEVICES`: Media devices are disabled

 Note that replacing `Services.qms.clear` by
 `Services.clearData(CLEAR_DOM_STORAGES` also adds some flags that clear a
 couple of things currently not in torbutton:

 * `CLEAR_REPORTS`: Clears CSP reports? I did not investigate how these
 reports are sent currently.

 * `CLEAR_DOM_PUSH_NOTIFICATIONS`: Not sure if this is an issue without
 service workers.

 I think all the rest of flags in `ClearDataService.jsm` are already
 covered in torbutton in one way or another.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/30504#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list