Opened 4 weeks ago

Last modified 3 days ago

#33533 needs_review task

Rebase Tor Browser esr68 patches on top of mozilla-central

Reported by: acat Owned by: acat
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: TorBrowserTeam202004R
Cc: tbb-team Actual Points: 14
Parent ID: Points:
Reviewer: sysrqb, pospeselr Sponsor: Sponsor58-must

Description


Child Tickets

TicketStatusOwnerSummaryComponent
#33577newtbb-teamPicture-in-Picture not working with dom.w3c_pointer_events.enabled=falseApplications/Tor Browser
#33697newtbb-teamInvestigate new Search Engine configurationApplications/Tor Browser
#33734newtbb-teamConsider setting MOZ_NORMANDY=FalseApplications/Tor Browser
#33737newtbb-teamFix aboutDialog.js error for Firefox nightliesApplications/Tor Browser
#33738newtbb-teamCircuit display broken in onboarding for #33533Applications/Tor Browser

Change History (11)

comment:1 Changed 4 weeks ago by acat

Keywords: TorBrowserTeam202003R added; TorBrowserTeam202003 removed
Status: assignedneeds_review

Rebased patches for review in https://github.com/acatarineu/tor-browser/commits/33533.

Some changes to torbutton and tor-launcher were needed: https://github.com/acatarineu/torbutton/commit/33533 and https://github.com/acatarineu/tor-launcher/commit/33533

I used commits 7d21cd26ee65..6046d1d58280 from tor-browser-68.5.0esr-9.5-1.

Similarly to #30429, I put the commits/patches in different categories. For some of them I added comments, which I hope will make reviewing slightly easier.

Regarding mobile patches, most of them have empty intersection with the files that are currently in central (all of [mobile-gone], unless I missed any). I only picked the mobile patches in [mobile-picked], most of them just partially as some of the files are not in central anymore. I guess the parts that could not be applied will have to be ported to Fenix.

[mobile-gone]

c2da27fca068 Revert "Bug 1603270 - Add telemetry for FirefoxPromoBannerRow user actions. r=..
eb88d8eea02d Bug #32405: Crash immediately after bootstrap on Android                        
517624ea7f34 Bug 26529 - Prompt before opening external app                                  
9dab64fe2f20 Bug 31144 - Do not switching apps from CustomTabs without consent               
c2cc5044c4ff Bug 31720: Enable website suggestions in address bar                            
e661977d1bb5 Bug 1568521 Tracking protection doorhanger's Enable/Disable states don't work ..
a1d645909b33 Load torbutton in BrowserApp.startup on Android                                 
3e871c620796 Bug 30573 - Sanitize old tabs and wait for tor before opening new tabs          
83137febd5bb Bug 31058: Remove Linus' default bridges                                        
136bd95b705e Bug 24920 - Only create Private tabs if browser.privatebrowsing.autostart is t..
75e9943e8ec9 Continue using non-adaptive icons and don't allow clear-text traffic
a8bcc8eb823e Bug 29238 - Prevent crash on Android after update                               
5a270452946c Bug 26690: Port padlock states for .onion services to mobile                    
  [Part of this is probably in mobile/android/modules/geckoview/GeckoViewProgress.jsm, but I
  guess this would be more like porting rather than cherry-picking patch.]
d479cc5c77e9 Bug 28329 - Part 4. Add new Tor Bootstrapping and configuration screens         
7b18ef3cccbd Bug 28329 - Part 1. Add new Tor resources                                       
2cd5f4f5b512 Bug 25696 - Implement alpha onboarding for Tor Browser for Android              
888a81d2198d Bug 27016 - Create proxy connection during image download                       
16345563997f Orfox: hook up default panic trigger to "quit and clear"                        
a4f9c85167c1 Orfox: quit button added                                                        
5e0596ff3e30 Orfox: disable screenshots and prevent page from being in "recent apps"         
37c77b37cdeb Bug 25741 - TBA: Adjust the User Agent String so it doesn't leak Android version
0e9127b09627 Bug 25741 - TBA: top sites changed, used bookmarks icon temporarily.            
06e93e8c45c7 Bug 25741 - TBA: Always Quit, do not restore the last session                   
1f103a7c4166 Bug 25741 - TBA: Disable all data reporting by default                          
b1349fb511c2 Bug 25741 - TBA: Clear state when the app exits, by default                     
9a6409fa58fb Bug 25741 - TBA: Do not import bookmarks and history from native browser by de..
8b7ae6bcbd5c Bug 25741 - TBA: Do not save browsing history by default                        
81e402b80cc3 Bug 25741 - TBA: Disable QR Code reader by default                              
0f40171a057b Bug 25741 - TBA: Disable the microphone by default                              
268f04897c90 Bug 25741 - TBA: Disable telemetry and experiments                              
3729f4263efe Bug 25741 - TBA: Remove sync option from preferences                            
dda2781bf72e Bug 25741 - TBA: Do not register Stumbler listener at start up                  
4c70c3e1546b Bug 25741 - TBA: Exclude unwanted Stumbler tests                                
66d133b41794 Bug 28640 - Try showing the homepage after the Distribution loads               
94b9527157ed Bug 28640 - Reload distribution preferences on update                           
03b1e4c88e3a Revert "Bug 1570878 - Add sign-in buttons to onboarding. r=petru a=RyanVM"      
c895b8c77c0d Revert "Bug 1576170 - Onboarding Sign up strings. r=flod a=RyanVM"              
d6165a9a6b36 Revert "Bug 1585132 - Fix lint failures from sign up button patches. r=petru, ..
54ab76fb79f6 Revert "Bug 1570880 - Added Sign in buttons in Awesomescreen. r=petru a=RyanVM" 
970ebbc553ab Revert "Bug 1570878 - Update fenenc onboarding content. r=petru a=RyanVM"       
feed391bf77a Revert "Bug 1586205 - Change LP variables to fallback to same nonLP defaults. ..
104889f3a5ec Revert "Bug 1587631 - Add FxA entrypoint option for panel configurations. r=pe..
5c35e3f85a0f Revert "Bug 1603275 - Add a new FirefoxPromoBannerRow for the awesomescreen. r..
7d21cd26ee65 Revert "Bug 1603275 - Restore "Sign up" button shadow. r=VladBaicu, a=RyanVM" 

[mobile-picked]

10a1b7e2d423 Bug 29859: Disable HLS support for now
  [No AppConstants.java anymore...]
557a2fbaf951 Bug 28051 - Integrate Orbot and add dependencies
  [Just a couple of .gradle files are still in central, but not sure about these ones.]
1ecbcdacfdb4 Bug 28125 - Prevent non-Necko network connections
  [Only a couple of GeckoView files.]
cec9e336fe0c Bug 25906 - Imply false both Adjust and Leanplum configure options              
f854bab17858 Bug 26528 - Don't allow Fennec to use UpdateService when installed through the..
24682e24dc49 Bug 25741 - TBA: Disable GeckoNetworkManager                                    
1c0188aa16ca Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
  [decodeUrl in BitmapUtils.java does not have the "jar" case anymore, just url.openStream().
  Removed that, so it will always throw.]
5e5fe15af14b Bug 25741 - TBA: Conditionally require WIFI and NETWORK permissions             
  [Not sure if the moz.configure changes (adding MOZ_ANDROID_NETWORK_STATE, MOZ_ANDROID_LOCATION)
  make sense now.]
0d0e301d83fb Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
  [Should we put the 000-* prefs in the MOZ_GECKOVIEW_JAR case? (package-manifest.in and moz.build).]
895808b237e4 Bug 25741 - TBA: Add an AppConstant for TOR_BROWSER_VERSION
  [Only took changes from mobile/android/geckoview/build.gradle.]
b3e67b27569a Bug 25741 - TBA: Add default configure options in dedicated file                
  [What about MOZ_NORMANDY? Should we also comment out the imply in moz.configure?]
c6fa170d86dd Bug 25741 - TBA: Disable features at compile-time   
6927a73ee2eb Bug 25741 - TBA: Add mozconfig for Android and pertinent branding files.
  [Dropped changes to mobile/android/base/java/org/mozilla/gecko/BrowserApp.java.]
  [Don't see where  mobile/android/base/moz.build changes apply, dropped these.]
  [Dropped changes to  mobile/android/base/strings.xml.in, it's gone.]
  [Only favicons are there, I dropped the rest of icons from this patch.]
  [generate_strings_xml.py is gone, dropped changes.]
376d3e8b3846 Bug 25741 - TBA: Move GCM Push prefs within preprocessor guard
  [Neither MOZ_ANDROID_GCM nor MOZ_ANDROID_GCM_SENDERID are used anymore, do we need this patch?]

[dropped-included in central]

19fa956d545b Revert "Bug 31764: Fix for error when navigating via 'Paste and go'"
  [Fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1590538.]
944a06831375 Bug 31573: Catch SessionStore.jsm exception
  [Fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1591259.]
991ca736be20 Bug 31764: Fix for error when navigating via 'Paste and go'
  [Fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1590538]
5aff5deef248 Bug 1330467 - part 12. FPI isolation of translation permissions; r=johannh      
a35270cfc712 Bug 1330467 - part 11. Use principal for permissions in webrtc UI; r=johannh    
237353e6979c Bug 1330467 - part 10. Use principal for permissions in browser site-identity;..
0e0410581635 Bug 1330467 - part 9. Use principal with mobile permissions; r=johannh,snorp    
09e3a7e741d2 Bug 1330467 - part 8. Make canvas permission respect FPI; r=johannh,jrmuizel    
3b7c44a13a4b Bug 1330467 - part 7. Confirm FPI in permission manager tests; r=Ehsan          
967603b18514 Bug 1330467 - part 6. Use principal for permissions in sitePermissions.js; r=j..
0295727507bd Bug 1330467 - part 5. Access permissions by principal in PermissionUI.jsm; r=j..
1cdc080d08f1 Bug 1330467 - part 3. Use principal for permissions in pageinfo/permissions.js..
17f811e34af6 Bug 1330467 - part 2. Add SitePermissions APIs functions to accept principal; ..
2ed45e021fe0 Bug 1330467 - part 1. Don't strip first party domain from permissions key; r=j..
767012d2dfae Bug 1474659 Add dedicated AllocKinds just for ArrayBufferObjects. r?sfink       
a2fc76be99de Bug 1561322 - Allow spoofing strings in HTML forms r=baku,Pike   
5705089f0a11 Bug 1560574 - use FormatPRExplodedTime to display GMT; r=kershaw                
8ff568d9f802 Bug 467035 - Avoid leaking browser language via DTD r=Gijs,bzbarsky             
0db2161d0c38 Bug 467035 - Add new internal DTD content types r=ckerschb  
84f9b4ce58f3 Bug 1557729 - Use principal for permission post prompts instead of URI. r=xeon..
b6701121f90c Bug 1573276 - Always allow localization in error pages r=johannh,peterv         
468cb520dc26 Bug 1585351 - Bug 1460357 disabled AVX instructions for the mingw build; this ..
be19b7d3bed7 Bug 1534339 - make OriginAttributes deserializable; r=baku                      
9003a3f749c3 Bug 1546832 - Adjust letterboxing to take the FindBar and Devtools into accoun..
33c51442838a Bug 1556017 - Fixing the off-by-one-pixel issue of find bar and devtool iframe..
4773175a1c43 Bug 1581537 - Avoid several browser language leaks r=smaug
de5a72279416 Bug 1598647 - Set Origin to null with network.http.referer.hideOnionSource r=J..
3f1c2b0337b6 Bug 1554805 - Never set firstPartyDomain on origin attributes for moz-extensio..
e6a7cccd8623 Bug 1467970 - Unsupport cross docGroup adoption r=smaug                         
058f7553389c Bug 1590526 - Temporarily allow node adoption across different docGroups for t..
a83411dfd84f Bug 1590538 - Don't pass an empty object to urlbar-user-start-navigation becau..
ac96b77c70e6 Bug 461204 - Improve the random number generator for the boundaries in multipa..
6c093eda44d7 Bug 29120: Enable media cache in memory 

[dropped-not needed]

d6fc4d6753fd Bug 31344: Actually register SecurityLevelPreference's 'unload' callback in pr..
  [Fixed in securitylevel first patch.]

[dropped-might not be needed]

586218fadcc7 Bug 10280: Don't load any plugins into the address space.                       
  [I think we might be able to drop it. By looking at the patch, it should
  allow enabling plugins in about:addons, but the UI hasn't been working for esr68
  (it must have broken with the esr68 switch, and I think no-one complained). We
  either fix it (so that plugins can actually be enabled), or drop it and maybe
  hide the plugin section in about:addons.]

[new commits]

Partially revert 1564367
  [This was needed for onboarding, should we squash it somewhere?]

[picked]

6046d1d58280 Bug 32493: Disable MOZ_SERVICES_HEALTHREPORT
0f42a8ed2229 Bug 32658: Create a new MAR signing key     
3ad7a3a33364 Bug 32414: Make Services.search.addEngine obey FPI                              
  ["Search:AddEngine" was moved from MainProcessSingleton.jsm to SidebarSearchParent.jsm.]
  [Mobile part (mobile/android/chrome/content/browser.js) is gone.]
82f4dd45e593 Bug 30237: Add v3 onion services client authentication prompt                   
  [Do not see where the changes in NetErrorChild.jsm would apply in central, I think these are not be needed anymore.]
  [Changed `MOZ_FALLTHROUGH -> [[fallthrough]]` (https://bugzilla.mozilla.org/show_bug.cgi?id=1570499).]
ab4f43918f97 Bug 32220: Improve the letterboxing experience
  [tabbrowser.xul is now tabbrowser-tab.js]
3715d8ddf34c Bug 27604: Fix addon issues when moving TB directory
e09af95781b0 Bug 31658: Changed the 'SECURITY LEVEL' text color to builtin --panel-disabled..
327318798382 Bug 32188: Change useLocalProxy string to tor-launcher's torsettings.useProxy...
65885be7714e Bug 31803: Replaced about:debugging logo with flat version                      
2f881b448b36 Bug 31740: Remove some unnecessary RemoteSettings instances                     
f9631627763d Bug 32111: Fixed issue parsing user-provided brige strings                      
0132b5cec95d Bug 31749: Fix security level panel spawning events                             
05bcf4f148da Bug 31920: Fix Security Level panel when its toolbar button moves to overflow   
3c0b609efd77 Bug 31748: Fixed 'Learn More' links in Security Level preferences and panel     
cbefb9395afe Bug 32092: Fix Tor Browser Support link in preferences                          
1227953dfd48 Bug 31286: Implementation of bridge, proxy, and firewall settings in about:pre..
  [xul -> xhtml]
  [textbox -> input]
  [oncommand, onblur moved to addEventListeners due to about:preferences CSP forbidding inline scripts.]
  [fixed menuitems not working -> using createXULElement instead of createElement and appendChild instead
  of append (not sure the latter is relevant though).]
97f167f471d7 Bug 13543: Spoof smooth and powerEfficient for Media Capabilities               
39930b60545c Bug 31607: App menu items stop working on macOS                                 
4425d121c479 Bug 31768: Introduce toolbar and network settings changes in onboarding         
d05bb9a36962 Bug 27511: Add new identity button to toolbar                                   
56aeb90c5f8c Bug 31935: Disable profile downgrade protection.                                
9164924ed4bc Bug 31955: On macOS avoid throwing inside nonBrowserWindowStartup()             
afee3f41ebf8 Bug 28196: preparations for using torbutton tor-browser-brand.ftl               
04c9d203db1a Bug 31575: Replace Firefox Home (newtab) with about:tor                         
86c0cab49810 Bug 31491: clean up the old meek http helper browser profiles                   
f49375aa0e92 Bug 26345: Hide tracking protection UI
  [Changed to hide it programatically in browser-siteIdentity.js (less changed files/lines).]
8e756f67e473 Bug 24653: merge securityLevel.properties into torbutton.dtd                    
fd058cac4895 Bug 31457: disable per-installation profiles                                    
5cb1e00aa039 Revert "Bug 1498378 - Actually remove the old onboarding add-on's prefs r=Gijs" 
5fd783334666 Revert "Bug 1574980 - Fix issues with maintenance service install. r=bytesized..
c5102bdc021c Bug 31563: force reloading search extensions if extensions.enabledScopes has c..
5a7c4b884e8f Bug 31251: Security Level button UI polish                                      
  [GetAnonymousElementByAttribute was removed in https://bugzilla.mozilla.org/show_bug.cgi?id=1591145,
  had to change the way to get the anchor.]
  [So that the popup would have the right anchor I also had to change the toolbarbutton
  "badged-button" class to a "badged=true" attribute.]
a3c829b96487 Bug 30575: Don't allow enterprise policies in Tor Browser                       
ba64f118806c Bug 30631: Blurry Tor Browser icon on macOS app switcher                        
fa7117c03ee2 Bug 30541: Disable WebGL readPixel() for web content    
3810dd36bbb4 Bug 28822: Convert onboarding to webextension           
f3b4af7fd952 Bug 29768: Introduce new features to users                                      
eef30d6c77ef Bug 27486 Avoid about:blank tabs when opening onboarding pages.                 
955dc429ff55 Bug 26962 - implement new features onboarding (part 1).                         
  [#connection-icon -> #identity-icon]
0b7eb3ef0833 Bug 26961: New user onboarding. 
  ["* content/onboarding.js (content/onboarding.js)" -> "content/onboarding.js (content/onboarding.js)"
  because no preprocessor is needed (build failed).
172abb91cd0f Revert "Bug 1462415 - Delete onboarding system add-on r=Standard8,k88hudson"    
7d3475febd37 Bug 23247: Communicating security expectations for .onion                       
  [A few small changes in browser-sideIdentity.js (e.g. the `onionUnknownIdentity`
  case is now caught in a `if (this._isSecureContext...` check.]
  [In security.js: formatStringFromName doesn't take the last length param now.]
  [Some css selectors changed in identity-block.inc.css (e.g. #connection-icon -> #identity-icon).]
4c5242b63ba7 Bug 28369: Stop shipping pingsender executable                                  
e3aff6b24d20 Bug 25658: Replace security slider with security level UI   
  [xul -> xhtml]
  [Fixed TorStrings.securityLevel.securityLevel -> SecurityLevelStrings.securityLevel]
  [Had to fix some things, mainly moving oncommand and onclick from securityLevelPreferences.inc.xhtml to securityLevel.js
  Needed because CSP for about:preferences does not allow inline scripts now.]
a5a3c80e6751 Bug 28885: notify users that update is downloading                              
1939f65209f4 Bug 25702: Update Tor Browser icon to follow design guidelines
  [There are some new icons: content/firefox-wordmark.svg.]
  [Small changes in identity-block.inc.css (some css selectors changed).]
744d84330186 Bug 26048: potentially confusing "restart to update" message                    
f49e606d4785 Bug 27082: enable a limited UITour                                              
b336d5b1ad89 Bug 26353: Prevent speculative connect that violated FPI.                       
369d7566e50f Bug 26045: Add new MAR signing keys        
a92684423c9c Bug 21537: Tests for secure .onion cookies  
8d87d2677b4e Bug 21537: Mark .onion cookies as secure                                        
  [Recent changes (https://bugzilla.mozilla.org/show_bug.cgi?id=1618113) use 
  nsMixedContentBlocker::IsPotentiallyTrustworthyOrigin to check for secure cookies,
  which includes the .onion check.]
  [So now the patch is just one line, a case they didn't patch (should we uplift?).
  I also used nsMixedContentBlocker::IsPotentiallyTrustworthyOrigin instead of the
  previous IsSecureHost.]
  [I undeleted the accumulate telemetry part, is there a reason why we would need to remove this?]
8f0968e43bd5 Bug 22548: Firefox downgrades VP9 videos to VP8.                                
d8ea9020feec Bug 23104: Add a default line height compensation               
d68c705165f5 Bug 21830: Copying large text from web console leaks to /tmp    
285bf92cae76 Bug 21321: Add test for .onion whitelisting                                     
7aeeb1432f49 Bug 21431: Clean-up system extensions shipped in Firefox 52                     
b3116f06a8d3 Bug 16285: Exclude ClearKey system for now                                      
2883354c8375 Bug 21907: Fix runtime error on CentOS 6                                        
228821fbc862 Bug 21849: Don't allow SSL key logging                                          
8cff8a986fbf Bug #5741: Prevent WebSocket DNS leak.                                          
10960d6f2f7b Regression tests for "Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitte..
db0bb1c10aeb Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay..
9a8ffa9c8c46 Bug 16940: After update, load local change notes.                               
00c65287ecae Bug 13379: Sign our MAR files.                                                  
  [--enable-signmar is gone, now it's always enabled when mar is built
  (see https://bugzilla.mozilla.org/show_bug.cgi?id=1562952).]
  [Some changes modules/libmar/tool/moz.build, because I'm assuming
  MOZ_ENABLE_SIGNMAR=True there. Now setting MAR_NSS = True if TOR_BROWSER_UPDATE = True.]
de27995dcd23 Bug 4234: Use the Firefox Update Process for Tor Browser.                       
  [Now adding --with-tor-browser-version=dev-build and --disable-tor-browser-update in .mozconfig.]
  [Moved #expand pref("torbrowser.version", __TOR_BROWSER_VERSION_QUOTED__);
  from preferences override commit to here, where it's defined.]
  [Removed some code from UpdateService.jsm (#27828), since PREF_APP_UPDATE_DOORHANGER = app.update.doorhanger
  is not there anymore.]
  [app.update.doorhanger removal and other updater UI changes are from
  https://bugzilla.mozilla.org/show_bug.cgi?id=1515484. I did not verify if the updater
  UI still works for us after those.]
7f2120a412b1 Bug 19121: reinstate the update.xml hash check                                  
9f41b70ff4e0 Bug 19121: reinstate the update.xml hash check  
8249b2d1280f Bug 13252: Do not store data in the app bundle                            
b805a10fff52 Bug 21724: Make Firefox and Tor Browser distinct macOS apps               
aefc3ded8969 Bug 11641: change TBB directory structure to be more like Firefox's       
0da881541339 Bug 9173: Change the default Firefox profile directory to be TBB-relative.
516eeee3f9b0 Bug 19890: Disable installation of system addons                                
136744ea8143 Bug 19273: Avoid JavaScript patching of the external app helper dialog.         
  [Had to do `nsCOMPtr<nsIInterfaceRequestor> dialogParent = GetDialogParent();`
  explicitly, there's a compile error otherwise.]
264721b27eb1 Bug 18923: Add a script to run all Tor Browser specific tests                   
23ef8e43c4f7 Regression tests for #2874: Block Components.interfaces from content            
c28f9ce57818 Bug 18821: Disable libmdns for Android and Desktop                              
a443e520818e Bug 18800: Remove localhost DNS lookup in nsProfileLock.cpp                     
2c4e320e4433 Bug 16620: Clear window.name when no referrer sent                              
  [Using `bool isTopFrame = mBrowsingContext->IsTop();` instead of previous test.]
d354a6fc4e06 Bug 16441: Suppress "Reset Tor Browser" prompt.                     
fce6a9166851 Bug 14392: Make about:tor behave like other initial pages.
14eba607a19b Bug 2176: Rebrand Firefox to TorBrowser           
  [Patched more usages of tor-browser-brand.ftl (perhaps we should find an
  alternative way of doing this so that we can use brand.ftl and not have to patch every new occurrence).]
  [<!ENTITY  vendorShortName       "Tor Project"> and <!ENTITY  trademarkInfo.part1 are not used anymore.]
694351d8bb28 Bug 14631: Improve profile access error msgs (strings).
  [Same as prev commit, just changed FormatStringFromName.]
edcf6fd64ddf Bug 14631: Improve profile access error messages.                               
  [Changed FormatStringFromName, it now takes a AutoTArray as params.]
5c1630a9775a Bug 13028: Prevent potential proxy bypass cases.
eb62fd5b0a3d Bug 16439: Remove screencasting code                                            
9efa856f470f Bug 12974: Disable NTLM and Negotiate HTTP Auth                                 
f1bcded28661 Bug 8312: Remove "This plugin is disabled" barrier.                             
354d974203d5 Bug 3547: Block all plugins except flash.                                       
  [Should we change this one to just "Block all plugins"? It might be a good time to
  get rid of the Flash exception.]
9ebe3228517f Pick up latest Torbutton code                                                   
f98afecb6b08 Bug 10760: Integrate TorButton to TorBrowser core                               
  [xul -> xhtml]
7ee9ac661814 Bug 25013: Add torbutton as a tor-browser submodule                             
f18a9ce2ef5b Bug 28044: Integrate Tor Launcher into tor-browser                              
  [Added `ac_add_options --disable-tor-launcher` in .mozconfig]
94c3978813e6 Bug 14970: Don't block our unsigned extensions                                  
c291f78c26d4 Regression tests for TB4: Tor Browser's Firefox preference overrides.           
e211ef73f044 Regression tests for Bug #2950: Make Permissions Manager memory-only            
5f6e8c6ef711 Bug 12620: TorBrowser regression tests folder                                   
4348eef9818f TB4: Tor Browser's Firefox preference overrides.                                
1db8063f6b25 TB3: Tor Browser's official .mozconfigs.                                        
  [I removed some options which are not implemented at this stage and added
  them later in different commits (with-tor-browser-version, disable-tor-launcher,
  disable-tor-browser-update, enable-signmar, enable-verify-mar).]
  [enable-signmar was actually removed from Firefox and now it
  will always build as if it was enabled.]
ced5d6181017 libvpx provides already cpu_features

comment:2 Changed 4 weeks ago by acat

Type: defecttask

comment:3 Changed 4 weeks ago by acat

I tried building with https://github.com/acatarineu/tor-browser-build/commit/33533, but there's an error in the Firefox project:

35:06.18     Finished release [optimized] target(s) in 34m 23s
35:09.04 /var/tmp/build/firefox-07a065df4cae/obj-x86_64-pc-linux-gnu/_virtualenvs/init/bin/python -m mozbuild.action.check_binary --target --networking /var/tmp/build/firefox-07a065df4cae/obj-x86_64-pc-linux-gnu/
x86_64-unknown-linux-gnu/release/libgkrust.a
35:09.30 Traceback (most recent call last):
35:09.30   File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
35:09.30     "__main__", fname, loader, pkg_name)
35:09.30   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
35:09.30     exec code in run_globals
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/action/check_binary.py", line 359, in <module>
35:09.30     sys.exit(main(sys.argv[1:]))
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/action/check_binary.py", line 351, in main
35:09.30     return check_networking(options.binary)
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/action/check_binary.py", line 270, in check_networking
35:09.30     for sym in at_least_one(iter_symbols(binary)):
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/action/check_binary.py", line 72, in at_least_one
35:09.30     for item in iter:
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/action/check_binary.py", line 82, in iter_symbols
35:09.30     ty = get_type(binary)
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozbuild/util.py", line 1007, in __call__
35:09.30     self[args] = self.func(*args)
35:09.30   File "/var/tmp/build/firefox-07a065df4cae/python/mozbuild/mozpack/executables.py", line 37, in get_type
35:09.30     signature = struct.unpack('>L', signature)[0]
35:09.30 TypeError: Struct() argument 1 must be string, not unicode
35:09.32 make[4]: *** [/var/tmp/build/firefox-07a065df4cae/obj-x86_64-pc-linux-gnu/x86_64-unknown-linux-gnu/release/libgkrust.a] Error 1
35:09.32 make[4]: *** Deleting file `/var/tmp/build/firefox-07a065df4cae/obj-x86_64-pc-linux-gnu/x86_64-unknown-linux-gnu/release/libgkrust.a'
35:09.32 make[4]: Leaving directory `/var/tmp/build/firefox-07a065df4cae/obj-x86_64-pc-linux-gnu/toolkit/library/rust'
35:09.32 make[3]: *** [toolkit/library/rust/target] Error 2
35:09.32 make[3]: *** Waiting for unfinished jobs....

comment:4 Changed 4 weeks ago by acat

Actual Points: 12

comment:5 Changed 4 weeks ago by mcs

Cc: tbb-team added

comment:6 Changed 4 weeks ago by sysrqb

Reviewer: sysrqb, pospeselr

comment:7 Changed 4 weeks ago by acat

Found out that picture-in-picture is broken, created #33577 for that.

comment:8 Changed 2 weeks ago by pili

Sponsor: Sponsor58-must

comment:9 Changed 9 days ago by acat

Actual Points: 1214

It seems the build error from comment:3 was fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1620744. So to get a working tor-browser-build I decided to rebase the patches from 33533 to a recent mozilla-central.
The result of that is in https://github.com/acatarineu/tor-browser/commits/33533+1.

FWIW, these are the conflicts that occurred in the process:

Patch failed at 0011 Bug 10760: Integrate TorButton to TorBrowser core
  browser/base/content/browser-menubar.inc

Patch failed at 0019 Bug 2176: Rebrand Firefox to TorBrowser
  browser/components/enterprisepolicies/content/aboutPolicies.html
  browser/components/privatebrowsing/content/aboutPrivateBrowsing.html

Patch failed at 0035 Bug 4234: Use the Firefox Update Process for Tor Browser.
  toolkit/mozapps/update/updater/moz.build

Patch failed at 0059 Bug 23247: Communicating security expectations for .onion
  browser/base/content/browser-siteIdentity.js
  docshell/base/nsDocShell.cpp
  dom/security/nsMixedContentBlocker.cpp

Patch failed at 0076 Bug 26345: Hide tracking protection UI
  browser/base/content/browser-siteIdentity.js

Patch failed at 0078 Bug 31575: Replace Firefox Home (newtab) with about:tor
  browser/components/newtab/AboutNewTabService.jsm

Patch failed at 0099 Bug 32414: Make Services.search.addEngine obey FPI
  toolkit/components/search/SearchEngine.jsm

Besides, I had to fix a compilation error in Bug 23104: Add a default line height compensation because of a new call to GetNormalLineHeight that needed to be changed (https://bugzilla.mozilla.org/show_bug.cgi?id=1623124).

Most conflicts were straightforward to solve. Perhaps the one that changed a bit more was Bug 31575: Replace Firefox Home (newtab) with about:tor. In https://bugzilla.mozilla.org/show_bug.cgi?id=1619992 AboutNewTab.init was moved to BrowserGlue.jsm, so I had to fix the patch and remove it from there.

Something I did not mention before is the last 4 commits of the branch. One is just to set a temp torbutton submodule on my repo, the others are quick fixes for #33697, #33734 and #33726. I added these to get a better looking build, but these should be probably investigated deeper and solved in the respective tickets.


After rebasing to latest mozilla-central, and a few more changes to tor-browser-build (https://github.com/acatarineu/tor-browser-build/commit/33533+1) I could get a testbuild for linux64 working.

The changes from previous tor-browser-build branch (33533) were due to https://bugzilla.mozilla.org/show_bug.cgi?id=1594933 (libnssdbm3.so is not there by default anymore) and to address_a python3 error complaining about _sqlite3 module not being available (installing libsqlite3-dev before compiling Python solves the issue).

I assume there will be more work needed (e.g. did not try to build mac or win), but I hope having a linux64 build that "seems to work" is useful for now.

comment:10 Changed 8 days ago by acat

I just noticed that I had left a (slightly embarrassing) debugging message in the patch for #31286, removed it in ​https://github.com/acatarineu/tor-browser/commits/33533+2 (that's the only change).

comment:11 Changed 3 days ago by pili

Keywords: TorBrowserTeam202004R added; TorBrowserTeam202003R removed

We are no longer in March

Note: See TracTickets for help on using tickets.