Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#15196 closed task (fixed)

Rebase Tor Browser patches to ESR 38

Reported by: gk Owned by: arthuredelstein
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Keywords: ff38-esr, TorBrowserTeam201506, tbb-5.0a3-essential
Cc: brade, mcs, boklm Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by arthuredelstein)

Once Firefox 38 ESR reaches beta state we should start rebasing our existing patches. This ticket is tracking that progress + the upcoming issues.

For reference:

  • Firefox 38 Beta: 2015-03-31
  • Firefox 38 Release (and ESR): 2015-05-12
  • Firefox 31 ESR end-of-life: 2015-08-11

See also Mozilla's Merge/Release schedule and Release overview.

Child Tickets

Change History (26)

comment:1 Changed 4 years ago by mcs

Cc: brade mcs added

comment:2 Changed 4 years ago by boklm

Cc: boklm added

comment:3 Changed 4 years ago by mikeperry

Keywords: ff38-esr. TorBrowserTeam201504 added; ff38-esr removed

Firefox 38 became beta on March 31st. We should aim to start this process this month, but after the 4.5 release. See also #15579 though.

comment:4 Changed 4 years ago by arthuredelstein

Description: modified (diff)

comment:5 Changed 4 years ago by arthuredelstein

Description: modified (diff)

comment:6 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201505 added; TorBrowserTeam201504 removed

comment:7 Changed 4 years ago by arthuredelstein

Here's my first pass at rebased patches (plus updater patches from Pearl Crescent):
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH

I am going to do some reordering of the patches in a new branch, and also go through them again to look for any problems.

comment:8 Changed 4 years ago by gk

I have added all the Windows patches we need for building ESR 38 to #15990. The first one should replace the one for #9837 you already have as it is more generic and we don't need to have separate patches for both issues.

While looking at the other build related commits in your branch I realized we should just squash all the commits changing a .mozconfig file into "TB3: Tor Browser's official .mozconfigs". We'd get rid of 5 additional commits (+ the last one attached to #15990) this way without losing too much.

comment:9 Changed 4 years ago by gk

Keywords: ff38-esr added; ff38-esr. removed

comment:10 in reply to:  7 ; Changed 4 years ago by gk

Replying to arthuredelstein:

Here's my first pass at rebased patches (plus updater patches from Pearl Crescent):
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH

Hrm... Where is the patch that limits fonts per document? I.e. the one for #2872?

comment:11 Changed 4 years ago by arthuredelstein

I have re-ordered the patches in a new branch:
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH+1
The patches are now grouped roughly by "topic".

Here's a list of all patches from the last pre-rebase branch,
https://gitweb.torproject.org/tor-browser.git/log/?h=tor-browser-31.7.0esr-5.0-1,
with each patch annotated per its status. (Note that a couple of patches from this week are not yet included.)

Rebasing from tor-browser-31.7.0esr-5.0-1 to tb_GECKO380esr_2015050513_RELBRANCH+1

R = Rebased
S = Skipped (not needed?)
P = Pending further work
U = Updater patches (mostly combined)
E = Already exists in FF 38 ESR

R  Bug #2874: Block Components.interfaces from content
R  Bug #2950: Make Permissions Manager memory-only
R  Bug #2949: Make Intermediate Cert Store memory-only.
R  Bug #3547: Block all plugins except flash.
S  Bug #3229: Make content pref service memory-only + clearable
R  TB2: Provide an observer event to close persistent connections
R  Bug #2875: Limit device and system specific CSS Media Queries.
P  Bug #2872: Limit the number of fonts per document.
R  Bug #2176: Rebrand Firefox to TorBrowser
R  Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
R  Bug #5715: Make nsICacheService.EvictEntries synchronous
R  Bug #5741: Prevent WebSocket DNS leak.
R  Bug #5742: API allows you to get the url bar URI for a channel or nsIDocument.
R  Bug #4755: Return client window coordinates for mouse event screenX/Y (for dragend, 0,0 is returned).
R  Bug #8312: Remove "This plugin is disabled" barrier.
R  Bug #3875: Use Optimistic Data SOCKS variant.
R  TB3: Tor Browser's official .mozconfigs.
R  TB4: Tor Browser's Firefox preference overrides.
R  Bug #6253: Add canvas image extraction prompt.
R  Bug #5856: Do not expose physical screen info via window & window.screen.
R  Bug #6786: Do not expose system colors to CSS or canvas.
R  Bug #10819: Add a pref, "privacy.thirdparty.isolate", to allow the activation or deactivation of isolating DOM storage and image caching by first party URI.
R  Bug #6539: Isolate the Image Cache per url bar domain.
R  Bug #6564: Isolate DOM storage to first party URI.
R  Bug #5282: Randomize HTTP request order and pipeline depth.
R  Bug #9837: Disable uninstall helper.exe on Win32.
R  Bug #9829.1: new .mozconfig file for the new cross-compiler and ESR24
R  Bug #9173: Change the default Firefox profile directory to be TBB-relative.
R  Bug #11641: change TBB directory structure to be more like Firefox's
E  Bug #12146: Make the CONNECT Host header the same as the Request-URI.
E  Bug #9701: Prevent ClipBoardCache from writing to disk.
R  Bug #12620: TorBrowser regression tests folder
R  Regression tests for #2875: Limit device and system specific CSS Media Queries.
R  Regression tests for #4902: Add DDG and StartPage to Omnibox.
R  Regression tests for #4755: Return client window coordinates for mouse event screenX/Y (for dragend, 0,0 is returned).
R  Regression tests for TB4: Tor Browser's Firefox preference overrides.
R  Regression tests for #2874: Block Components.interfaces from content
R  Regression tests for #5856: Do not expose physical screen info via window & window.screen.
R  Regression tests for Bug #2950: Make Permissions Manager memory-only
E  Bug 1022847 - toolkit/mozapps/update fails to compile with MinGW r=netzen
E  Bug 1022847 - Fixed --enable-metro build.
R  Bug #12974: Disable NTLM and Negotiate HTTP Auth
E  Bug #10822: Introduce a pref to disable SSL session tracking
R  Bug #4234: Use the Firefox Update Process for TBB.
U  Bug #13091: Use "Tor Browser" everywhere (space included)
U  Bug #13047: Updater should not send Kernel/GTK version
R  Bug 13028: Prevent potential proxy bypass cases.
E  Bug 1071527 - "dom.performance.enabled" set to "false" shows non-zero values for attributes. r=bz
R  Bug 13021: Prompt before allowing Canvas isPointIn*() calls.
E  Bug 1010972 - Don't use MSVC assembly on mingw. r=jesup
R  Bug 10715: Enable Webgl for mingw-w64 again.
E  Bug 12811: Add MOZ_D3DCOMPILER_DLL iff available.
E  Bug 12811: Fix for Mozilla's bug 1058778.
E  Bug 12811: WTypes.h -> wtypes.h
E  Bug 973138 - Fixed goto crossing variable declaration (fixes GCC compilation).
R  Disable ICU when cross-compiling; clean-up.
R  Bug 13025: Lie about screen orientation.
U  Bug 13356: symlinks missing after complete update.
R  Bug 13016: Hide CSS -moz-osx-font-smoothing values.
E  Bug 13027: Backport of Navigator.* spoofing patch.
U  Bug 13301: Avoid incompatible extensions prompt.
R  Bug #5926: Allow JS locale to be set to English/C.
E  Bug #11955 Backport certificate pinning
E  Bug #3455.1: Allow proxy settings to be set per URL bar domain.
R  Bug #3455.2. Allow RFC1929 authentication (username/password) to SOCKS servers.
R  Changes needed to build Mac in 64bit
E  It seems like we need to add one more path traversal for ESR31
U  Bug 13594: Windows updater depends on msvcr100.dll
E  Bug 13558: Allow download folder change on Win XP.
R  Bug 13742: Isolate cache to URL bar domain.
E  Revert "Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps a=NPOTB"
R  Bug 13439: No canvas prompt for content-callers.
E  Bug 902761 - Build configuration for turning .der files into .h files. r=rstrong
E  Bug 902761 - Stop storing certs used for MAR verification in EXE resource files. r=rstrong
U  Bug 13379: Sign our MAR files (backport Mozilla patches).
U  Bug 13379: Sign our MAR files.
U  Bug 13379: Adding our MAR signing keys.
R  Bug #13749.1: regression tests for first party isolation of localStorage
R  Bug #13749.2: Regression tests for first-party isolation of cache
R  Bug 12430: Disable external jar: via preference
R  Bug 14392: Make about:tor behave like other initial pages.
R  Bug 13900: Remove 3rd party HTTP auth tokens.
R  Bug 14631: Improve profile access error messages.
R  Bug 14631: Improve profile access error msgs (strings).
U  Bug 15201: Windows: disable "runas" code path in updater.
R  Bug 12827: Create preference to disable SVG.
R  Bug 13548: Create preference to disable MathML.
U  Bug 15406: Do not force updates for Torbutton and Tor Launcher.
U  Bug 15406: Only include forced updates if extensions differ.
R  Bug 10280: Don't load any plugins into the address space.
R  Bug 10761: Fix shutdown crashes on Windows
R  Bug 14716: HTTP Basic Authentication prompt only displayed once
R  Bug #15502. Isolate blob URLs to first party; no blobURLs in Web Workers
R  Bug #15502, Part 2: Regression tests for blob URL isolation
U  Bug 15857: Fix file descriptor leak in updater.
U  Bug 10895: Fix versioning for langpacks.
R  Bug 1517: Reduce precision of time for Javascript.
R  Bug 13670.2: Isolate OCSP requests by first party domain
R  fixup! Bug 13670.2: Isolate OCSP requests by first party domain
   Merge branch '13670+16' into tor-browser-31.7.0esr-5.0-1
R  fixup! Bug #5856: Do not expose physical screen info via window & window.screen.
R  Bug 15773: Enable ICU on OS X
R  fixup! Bug 10280: Don't load any plugins into the address space.
E  Bug 16026: Fix crash in GStreamer
Version 1, edited 4 years ago by arthuredelstein (previous) (next) (diff)

comment:12 in reply to:  10 Changed 4 years ago by arthuredelstein

Replying to gk:

Replying to arthuredelstein:

Here's my first pass at rebased patches (plus updater patches from Pearl Crescent):
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH

Hrm... Where is the patch that limits fonts per document? I.e. the one for #2872?

Phooey, this was my mistake. I've had trouble rebasing this one and after putting it on a separate branch, forgotten it. I'm still trying to finish rebasing it. In the previous comment I've now confirmed that all other patches (except those added this week) are accounted for.

comment:13 in reply to:  11 ; Changed 4 years ago by gk

Replying to arthuredelstein:

E? Revert "Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps a=NPOTB"

Yes, we won't need that one anymore as we can fix the underlying libfaketime issue.

comment:14 Changed 4 years ago by mcs

Kathy and I looked over the updater patches. Commit 3bb271e7ced206c73e7cf863e78cd3edd429fc70 is missing the changes made to browser/app/profile/000-tor-browser.js

If it is not too much work, it probably makes sense to combine ca2d56823eb971a32d70cb7a4917034eca66f0d5 and 138fa216a114bf3fd678e2b5fcf960fdbe6b0519

comment:15 Changed 4 years ago by mcs

Also, if we make another pass at combining patches, Kathy and I think it makes sense to combine these canvas prompt commits:

258a7df14720cc8d797d78d1f5a95f07ba2b26ea
6469265c19c8006b4a5d469096fe8510fc52107c
194bac6d9341ec9c2abe0fa4b4ea7195cb722290

comment:16 in reply to:  8 Changed 4 years ago by arthuredelstein

Replying to gk:

I have added all the Windows patches we need for building ESR 38 to #15990. The first one should replace the one for #9837 you already have as it is more generic and we don't need to have separate patches for both issues.

These have now been added to
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH+1

While looking at the other build related commits in your branch I realized we should just squash all the commits changing a .mozconfig file into "TB3: Tor Browser's official .mozconfigs". We'd get rid of 5 additional commits (+ the last one attached to #15990) this way without losing too much.

Yes, when the current branch is otherwise in good shape, I think this is a good idea and I'll create a new branch to squash these commits and drop the reverted one.

comment:17 in reply to:  14 Changed 4 years ago by arthuredelstein

Replying to mcs:

Kathy and I looked over the updater patches. Commit 3bb271e7ced206c73e7cf863e78cd3edd429fc70 is missing the changes made to browser/app/profile/000-tor-browser.js

Thanks for catching this mistake. I've added a fixup patch.

If it is not too much work, it probably makes sense to combine ca2d56823eb971a32d70cb7a4917034eca66f0d5 and 138fa216a114bf3fd678e2b5fcf960fdbe6b0519
[...]
Also, if we make another pass at combining patches, Kathy and I think it makes sense to combine these canvas prompt commits:

Yes, I'll plan to squash fixup patches and combine canvas patches on the next version of this branch.

comment:18 in reply to:  13 ; Changed 4 years ago by arthuredelstein

Replying to gk:

Replying to arthuredelstein:

E? Revert "Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps a=NPOTB"

Yes, we won't need that one anymore as we can fix the underlying libfaketime issue.

Do we need to make a ticket for this, or is it fixed somewhere already?

comment:19 Changed 4 years ago by arthuredelstein

I've added a couple of patches to the list in comment:11 to bring it up to date with the ​branch at https://gitweb.torproject.org/tor-browser.git/log/?h=tor-browser-31.7.0esr-5.0-1 . One of these patches (fixup! Bug 10280...) was rebased to tor-browser-31.7.0esr-5.0-1 to tb_GECKO380esr_2015050513_RELBRANCH+1 and the other was already present in FF38ESR.

comment:20 in reply to:  18 Changed 4 years ago by gk

Replying to arthuredelstein:

Replying to gk:

Replying to arthuredelstein:

E? Revert "Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps a=NPOTB"

Yes, we won't need that one anymore as we can fix the underlying libfaketime issue.

Do we need to make a ticket for this, or is it fixed somewhere already?

#13877 is the ticket. I have not posted a patch there as I still hope I get it merged upstream and we can just point to a new commit. Otherwise the patch will be attached there.

comment:21 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201506 added; TorBrowserTeam201505 removed

comment:22 Changed 4 years ago by mikeperry

Keywords: tbb-5.0a3-essential added

Tag the set of things we should aim to understand/fix for the fist FF38-based TBB (5.0a3, on June 30th).

comment:23 Changed 4 years ago by arthuredelstein

I've cleaned up tb_GECKO380esr_2015050513_RELBRANCH+1 by

  • Squashing most .mozconfig* changes
  • Dropping the patch for #9837 and its "Revert!" counterpart
  • Squashing the canvas fingerprinting patches

The new branch is at
https://github.com/arthuredelstein/tor-browser/tree/tb_GECKO380esr_2015050513_RELBRANCH+2

They are otherwise the same:

> git diff tb_GECKO380esr_2015050513_RELBRANCH+2 tb_GECKO380esr_2015050513_RELBRANCH+1
>

I think this branch is in pretty good shape. Please check that I haven't missed any of your recent patches!

comment:24 Changed 4 years ago by arthuredelstein

The head of tb_GECKO380esr_2015050513_RELBRANCH+2 is currently 56022741b:

> git diff tb_GECKO380esr_2015050513_RELBRANCH+1 56022741b
> 

comment:25 Changed 4 years ago by gk

Resolution: fixed
Status: newclosed

We have now our ESR 38 branch, tor-browser-38.1.0esr-5.x-1, on tp.o infrastructure. This ticket should be fixed then.

comment:26 Changed 4 years ago by gk

The missing fonts handling patch is tracked in #16312.

Note: See TracTickets for help on using tickets.