Page MenuHomePhabricator

Tor Browser folder change Whonix 11 -> Whonix 12 migration path
Closed, ResolvedPublic

Description

As mentioned... A follow up task of T338.

We need to move Tor Browser from the old location(s) to the new ones. Otherwise existing users who upgrade would be notified "Tor Browser not installed" and asked "want to install Tor Browser?".

mv /home/user/tor-browser_en-US /home/user/.tb/tor-browser
mv /home/user/.tb/tor-browser_en-US /home/user/.tb/tor-browser

Various things to adhere:

  • check if old folder even exists
  • check if new folder does not already exist
  • preventing permission issues, doing it as user, not root
  • perhaps leave a symlink from the old location to preven confusion?

This is specifically difficult in Qubes. It cannot be done from a Debian mainstainer script, because TemplateBasedVM's home folder is unaffected by what the TemplateVM changes in home.

Do we let existing users bite the bullet, let them manually move Tor Browser or download a new one or invent some mechanism, that during boot up, doing this migration task?

Btw, for now, this should be the last issue before releasing Whonix 12 as stable.

Details

Impact
High

Event Timeline

Patrick raised the priority of this task from to High.
Patrick updated the task description. (Show Details)
Patrick set Impact to High.
Patrick added subscribers: Patrick, marmarek, nrgaway, HulaHoop.

In Qubes we use qubes-misc-post.service for such /home/user fixups. For
example:
https://github.com/QubesOS/qubes-core-agent-linux/commit/e5c77507a158f4184cb47d3040a89de9b809cfce

Whonix can have another one, with dependencies set
After=qubes-dvm.service qubes-mount-dirs.service
qubes-mount-home.service

and maybe "Before=qubes-mount-dirs.service qubes-mount-home.service",
but not sure about that. It shouldn't harm to move tor-browser directory
even when GUI agent is already running. As long as it happens before
user tries to launch it.

BTW Both qubes-mount-dirs.service and qubes-mount-home.service to have it
working on both R3.0 and R3.1.

Patrick changed the task status from Open to Review.Nov 12 2015, 6:47 PM

implemented Tor Browser folder change Whonix 11 -> Whonix 12 migration path:
https://github.com/Whonix/whonix-legacy/commit/abf5b1d14184effb5d020dc31142c8f5acec254e

added 'After=qubes-whonix-postinit.service' to whonix-legacy.service

We need to wait until qubes-whonix-postinit.service is done, since
/usr/lib/qubes-whonix/bind-directories is still run by
qubes-whonix-postinit.service. bind-directories has not been
upstreamed to Qubes yet. - https://phabricator.whonix.org/T414

https://phabricator.whonix.org/T425

https://github.com/Whonix/whonix-legacy/commit/bdf24f9988d3c1329e38ea4e8709055daf679387

Patrick changed the task status from Review to Open.Nov 13 2015, 5:33 PM

Hm. Not sure if adding a symlink was a mistake. If they copy/paste the folder using dolphin, they won't create a backup, just copy the symlink. Wonder if that could lead to some confusion and possibly data loss.

Patrick changed the task status from Open to Review.Nov 13 2015, 5:54 PM

Better to have some confusion and asking where it's located now or if it's gone than any users who copied the symlink as backup.

Deactivated symlink creation from old to new Tor Browser folder location.

Could lead to confusion and in worst case, data loss, if users just copy the
symlink rather than whole folder.

https://phabricator.whonix.org/T425

https://github.com/Whonix/whonix-legacy/commit/c2cc7d47e6f4428e60498f3e39a406aa9372ce64

What about leaving some README.txt in old location? Or indeed ignore the
problem.

Patrick claimed this task.