3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/networking
Joachim Fasting ecd0e1a2c7
torbrowser: reduce risk of stale Nix store references
This patch restructures the expression and wrapper to minimize Nix store
references captured by the user's state directory.

The previous version would write lots of references to the Nix store into
the user's state directory, resulting in synchronization issues between
the Store and the local state directory.  At best, this would cause TBB to
stop working when the version used to instantiate the local state was
garbage collected; at worst, a user would continue to use the old version
even after an upgrade.

To solve the issue, hard-code as much as possible at the Store side and
minimize the amount of stuff being copied into the local state dir.
Currently, only a few files generated at firefox startup and fontconfig
cache files end up capturing store paths; these files are simply removed
upon every startup.  Otherwise, no capture should occur and the user
should always be using the TBB associated with the tor-browser wrapper
script.

To check for stale Store paths, do
   `grep -Ero '/nix/store/[^/]+' ~/.local/share/tor-browser`
This command should *never* return any other store path than the one
associated with the current tor-browser wrapper script, even after an
update (assuming you've run tor-browser at least once after updating).
Deviations from this general rule are considered bugs from now on.

Note that no attempt has been made to support pluggable transports; they
are still broken with this patch (to be fixed in a follow-up patch).

User visible changes:
- Wrapper retains only environment variables required for TBB to work
- pulseaudioSupport can be toggled independently of mediaSupport (the
  latter weakly implies the former).
- Store local state under $TBB_HOME.  Defaults to $XDG_DATA_HOME/tor-browser
- Stop obnoxious first-run stuff (NoScript redirect, in particular)
- Set desktop item GenericName to Web Browser

Some minor enhancements:
- Disable Hydra builds
- Specify system -> source mapping to make it easier to
  extend supported platforms.
2017-03-25 15:59:18 +01:00
..
bittorrentsync
browsers torbrowser: reduce risk of stale Nix store references 2017-03-25 15:59:18 +01:00
c14
cluster terraform: only run tests from 0.9.0 onwards 2017-03-23 15:01:57 +08:00
corebird missing dconf in buildInput 2017-03-08 21:39:59 +01:00
davmail
drive
droopy droopy: init at 20160830 (#22499) 2017-02-11 23:06:17 +01:00
dropbox dropbox: 20.4.19 -> 21.4.25 2017-03-10 14:22:02 +08:00
dropbox-cli
dyndns/cfdyndns cfdyndns: mark as broken 2016-12-29 09:57:22 +02:00
enhanced-ctorrent
errbot
esniper esniper: 2.32.0 -> 2.33.0 2017-03-14 14:15:29 +01:00
feedreaders newsbeuter: darwin build working and enabled 2017-01-20 14:10:59 +13:00
flexget flexget: fix eval 2016-12-31 10:09:16 +01:00
ftp/filezilla filezilla: 3.24.0 -> 3.25.0 2017-03-13 22:18:03 +01:00
google-drive-ocamlfuse google-drive-ocamlfuse: 0.5.22 -> 0.6.17 2017-02-18 10:42:59 +00:00
gopher/gopher
ids
ike
instant-messengers oneteam: remove 2017-03-22 13:19:38 +01:00
insync insync: add a note about trial and costing money 2017-01-09 20:58:04 -05:00
ipfs ipfs: 0.4.5 -> 0.4.6 2017-03-02 01:24:39 +01:00
iptraf
iptraf-ng
irc shout: 0.51.1 -> 0.53.0 2017-03-18 16:05:56 -05:00
jmeter
linssid
mailreaders neomutt: 20170128 -> 20170306 2017-03-11 16:26:37 +01:00
mpop mpop: 1.2.4 -> 1.2.6 2017-03-17 20:02:23 -05:00
msmtp msmtp: use netcat-gnu to unbreak darwin 2017-03-08 16:02:35 +08:00
mumble mumble: 1.2.17 -> 1.2.19 2017-02-24 17:57:41 +01:00
netperf
newsreaders liferea: add libnotify 2017-03-04 01:14:29 +03:00
nload
nntp-proxy
offrss
ostinato ostinato: refactor 2017-03-09 22:08:33 +02:00
owncloud-client owncloud-client: build with qt5 instead of qt4 2017-03-19 18:44:50 +01:00
p2p tribler: fixup revision 2017-03-23 12:55:57 +01:00
pjsip
pyload
remote citrix-receiver: add link to webpage with all versions and adjust to change in nix-prefetch-url 2017-03-18 02:18:28 +00:00
seafile-client
sipcmd
siproxd
sniffers wireshark: 2.2.4 -> 2.2.5 for multiple CVEs 2017-03-20 14:43:15 +01:00
sniproxy
spideroak spideroak: enable it to appear in the application menus 2017-02-07 11:09:25 -07:00
sync rclone: 1.35 -> 1.36 2017-03-19 11:56:59 -04:00
syncthing syncthing: 0.14.24 -> 0.14.25 2017-03-21 09:44:13 +08:00
syncthing012
syncthing013
tcpkali
umurmur umurmr: 0.2.16 -> 0.2.16a 2017-02-17 00:13:11 +01:00
vnstat
znc znc: 1.6.4 -> 1.6.5 2017-03-17 21:02:01 +01:00