Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-16T01:13:10Zhttps://gitlab.torproject.org/legacy/trac/-/issues/12647updater needs to support use of symlinks2020-06-16T01:13:10ZMark Smithupdater needs to support use of symlinksIn #11429, the "second Tor Browser dock icon on Mac OS" problem was solved by using a different Info.plist for the browser app bundle that is used by meek. Symlinks are used to create the second app bundle (to avoid duplicating all of t...In #11429, the "second Tor Browser dock icon on Mac OS" problem was solved by using a different Info.plist for the browser app bundle that is used by meek. Symlinks are used to create the second app bundle (to avoid duplicating all of the browser binaries).
Unfortunately, based on code inspection, it looks like the Mozilla updater implementation does not support symlinks. I will confirm next week by doing some testing, but assuming I am correct we will need to either:
(1) Patch the updater code to handle symlinks.
or
(2) Avoid symlinks in the package (but I do not have a better idea for solving #11429).
I have not yet scoped the work for (1); hopefully it will not be too much work. If we always remove symlinks before applying an update, it may be enough to add support for a "addsymlink" verb in the update manifest.Mark SmithMark Smithhttps://gitlab.torproject.org/legacy/trac/-/issues/12623Deploy our TBB update archives on a secure machine2020-06-15T23:19:16ZGeorg KoppenDeploy our TBB update archives on a secure machineWe need a secure hosting of our .mar update archives for the TBBs. One way to make it more secure is pinning attributes of the TLS certificate in Tor Browser itself. There are probably others that should be investigated.We need a secure hosting of our .mar update archives for the TBBs. One way to make it more secure is pinning attributes of the TLS certificate in Tor Browser itself. There are probably others that should be investigated.Erinn ClarkErinn Clarkhttps://gitlab.torproject.org/legacy/trac/-/issues/12622Automate update package distribution for TBB updater2014-09-01T22:47:39ZGeorg KoppenAutomate update package distribution for TBB updaterIn order for our updater to work properly we need to automate the package distribution.In order for our updater to work properly we need to automate the package distribution.boklmboklmhttps://gitlab.torproject.org/legacy/trac/-/issues/11641change TBB directory structure to be more like Firefox's2020-08-04T18:49:43ZMark Smithchange TBB directory structure to be more like Firefox'sReorganizing the internal directory structure of TBB to mirror Firefox's layout as closely as possible will simplify the Firefox updater patches (#4234) and reduce risk for the updater. The new structure will be like Firefox's with the ...Reorganizing the internal directory structure of TBB to mirror Firefox's layout as closely as possible will simplify the Firefox updater patches (#4234) and reduce risk for the updater. The new structure will be like Firefox's with the Tor-related subdirectories (Data, Doc, Tor) added under a new subdirectory named TorBrowser.
On Windows and Linux, the installable TBB packages will include a "container" directory named Browser at the top level so we do not expose so many files to end users.
On Linux, we will move the launcher script (start-tor-browser) under the Browser directory and at the top level we will include a symbolic link to it.
On Windows, we will eliminate the Start Tor Browser.exe program and instead modify the NSIS-based installer so it creates a similarly named shortcut at the top level.
On Mac OS, the .app bundle mechanism takes care of hiding the underlying structure.
New Linux structure:
```
Tor Browser/
start-tor-browser // symlink to Browser/start-tor-browser
Browser/
firefox
start-tor-browser // launcher script
TorBrowser/
Data/
Docs/
Tor/
```
New Windows structure:
```
Tor Browser/
Start Tor Browser.lnk // shortcut to Browser\firefox.exe
Browser/
firefox.exe
TorBrowser/
Data/
Docs/
Tor/
```
New Mac OS structure:
```
TorBrowser.app/
Contents/
MacOS/
firefox
TorBrowser/
Data/
Docs/
Tor/
```
Firefox changes needed: update the #9173 patch to account for the new location of the profile directory and create a new patch that forces -no-remote.
Tor Launcher changes needed: prepend the directory that contains tor.exe to the PATH environment variable (currently done by Start Tor Launcher.exe aka RelativeLink.c) and adjust getTorFile() to account for the new structure.
The gitian descriptors within builders/tor-browser-bundle.git will need to be modified to construct the packages using the new structure.
torbrowser.nsi will need to be modified to create a shortcut.
The Linux launcher script (RelativeLink.sh/start-tor-browser) will need minor changes to account for the new directory structure.Mark SmithMark Smithhttps://gitlab.torproject.org/legacy/trac/-/issues/9114Reorganize bundle directory structure for TBB 3.02020-06-13T03:46:06ZMike PerryReorganize bundle directory structure for TBB 3.0I think our updaters (Thandy and/or Firefox's) and a few other issues (#6457) would be simplified if we tried to reorganize our bundle structure a bit so that more of the bundle's executable bits (the parts that need updating) were group...I think our updaters (Thandy and/or Firefox's) and a few other issues (#6457) would be simplified if we tried to reorganize our bundle structure a bit so that more of the bundle's executable bits (the parts that need updating) were grouped together with Firefox.
Doing this will require updates to Tor Launcher and the launch script, and probably several config files.
Of course, this might not matter for our updater, so maybe we don't care.Kathleen BradeKathleen Brade