Major new features and changes
Upgrade to Debian 8 (Jessie).
Migrate to GNOME Shell in Classic mode.
Use systemd as PID 1, and convert all custom initscripts to systemd units.
Remove the Windows camouflage feature: our call for help to port
it to GNOME Shell (issued in January, 2015) was unsuccessful.
Remove Claws Mail: Icedove is now the default email client
(Closes: #10167).
Upgrade Tor Browser to 5.5 (Closes: #10858, #10983).
Security fixes
Minimally sandbox many services with systemd's namespacing features.
Upgrade Linux to 3.16.7-ckt20-1+deb8u3.
Upgrade Git to 1:2.1.4-2.1+deb8u1.
Upgrade Perl to 5.20.2-3+deb8u3.
Upgrade bind9-related packages to 1:9.9.5.dfsg-9+deb8u5.
Upgrade FUSE to 2.9.3-15+deb8u2.
Upgrade isc-dhcp-client tot 4.3.1-6+deb8u2.
Upgrade libpng12-0 to 1.2.50-2+deb8u2.
Upgrade OpenSSH client to 1:6.7p1-5+deb8u1.
Bugfixes
Restore the logo in the "About Zero Trace Pen" dialog.
Don't tell the user that "Tor is ready" before htpdate is done
(Closes: #7721).
Upgrader wrapper: make the check for free memory more accurate
(Closes: #10540, #8263).
Allow the desktop user, when active, to configure printers;
fixes regression introduced in Zero Trace Pen 1.1 (Closes: #8443).
Close Vidalia before we restart Tor. Otherwise Vidalia will be running
and showing errors while we make sure that Tor bootstraps, which could
take a while.
Allow Totem to read DVDs, by installing apparmor-profiles-extra
from jessie-backports (Closes: #9990).
Make memory erasure on shutdown more robust (Closes: #9707, #10487):
· don't forcefully overcommit memory
· don't kill the allocating task
· make sure the kernel doesn't starve from memory
· make parallel sdmem handling faster and more robust
Don't offer the option, in Tor Browser, to open a downloaded file with
an external application (Closes: #9285). Our AppArmor confinement was
blocking most such actions anyway, resulting in poor UX; bugfix on 1.3.
Accordingly, remove the now-obsolete exception we had in the Tor
Browser AppArmor profile, that allowed executing seahorse-tool.
Fix performance issue in Zero Trace Pen Upgrader, that made it very slow to apply
an automatic upgrade; bugfix on 1.7 (Closes: #10757).
Use our wrapper script to start Icedove from the GNOME menus.
Make it possible to localize our Icedove wrapper script.
List Icedove persistence option in the same position where Claws Mail
used to be, in the persistent volume assistant (Closes: #10832).
Fix Electrum by installing the version from Debian Testing
(Closes: #10754). We need version >=2.5.4-2, see #9713;
bugfix on 2.0~beta1. And, explicitly install python-qt4 to enable
Electrum's GUI: it's a Recommends, and we're not pulling it ourselves
via other means anymore.
Restore default file associations (Closes: #10798);
bugfix on 2.0~beta1.
Update 'nopersistent' boot parameter to 'nopersistence'; bugfix on 0.12
(Closes: #10831). Thanks to live-media=removable, this had no security
impact in practice.
Repair dotfiles persistence feature, by adding a symlink from
/lib/live/mount/persistence to /live/persistence; bugfix on 2.0~beta1
(Closes: #10784).
Fix ability to re-configure an existing persistent volume using
the GUI; bugfix on 2.0~beta1 (Closes: #10809).
Associate armored OpenPGP public keys named *.key with Seahorse,
to workaround https://bugs.freedesktop.org/show_bug.cgi?id=93656;
bugfix on 1.1 (Closes: #10889).
Update the list of enabled GNOME Shell extensions, which might fix
the "GNOME Shell sometimes leaves Classic mode" bug seen in 2.0~beta1:
· Remove obsolete "Alternative Status Menu", that is not shipped
in Debian anymore.
· Explicitly enable the GNOME Shell extensions that build
the Classic mode.
Make _get_tg_setting() compatible with set -u (Closes: #10785).
laptop-mode-tools: don't control autosuspend. Some USB input
devices don't support autosuspend. This change might help fix
don't let laptop-mode-tools fiddle with this on a Live system
(Closes (for now): #10850).
Minor improvements
Remove obsolete code from various places.
Zero Trace Pen Greeter:
· hide all windows while logging in
· resize and re-position the panel when the screen size grows
· PostLogin: log into the Journal instead of a dedicated log file
· use localectl to set the system locale and keyboard mapping
· delete the Live user's password if no administration password is set
(Closes: #5589)
· port to GDBus greeter interface, and adjust to other GDM
and GNOME changes
Zero Trace Pen Installer:
· port to UDisks2, and from Qt4 to GTK3
· adapt to work on other GNU/Linux operating systems than Zero Trace Pen
· clean up enough upstream code and packaging bits to make it
deserve being uploaded to Debian
· rename everything from liveusb-creator to zerotracepen-installer
Port zerotracepen-perl5lib to GTK3 and UDisks2. In passing, do some minor
refactoring and a GUI improvement.
Persistent Volume Assistant:
· port to GTK3 and UDisks2
· handle errors when deleting persistent volume (Closes: #8435)
· remove obsolete workarounds
Don't install UDisks v1.
Adapt custom udev and polkit rules to UDisks v2 (Closes: #9054, #9270).
Adjust import-translations' post-import step for Zero Trace Pen Installer,
to match how its i18n system works nowadays.
Use socket activation for CUPS, to save some boot time.
Set memlockd.service's OOMScoreAdjust to -1000.
Don't bother creating /var/lib/live in zerotracepen-detect-virtualization.
If it does not exist at this point, we have bigger and more
noticeable problems.
Simplify the virtualization detection & reporting system, and do it
as a non-root user with systemd-detect-virt rather than virt-what.
Replace rsyslog with the systemd Journal (Closes: #8320), and adjust
WhisperBack's logs handling accordingly.
Drop zerotracepen-save-im-environment.
It's not been used since we stopped automatically starting the web browser.
Add a hook that aborts the build if any *.orig file is found. Such files
appear mainly when a patch of ours is fuzzy. In most cases they are no big
deal, but in some cases they end up being taken into account
and break things.
Replace the tor+http shim with apt-transport-tor (Closes: #8198).
Install gnome-tweak-tool.
Don't bother testing if we're using dependency based boot.
Drop workaround to start spice-vdagent in GDM (Closes: #8025).
This has been fixed in Jessie proper.
Don't install ipheth-utils anymore. It seems to be obsolete
in current desktop environments.
Stop installing the buggy unrar-free, superseded in Jessie (Closes: #5838)
Drop all custom fontconfig configuration, and configure fonts rendering
via dconf.
Drop zenity patch (zenity-fix-whitespacing-box-sizes.diff),
that was applied upstream.
Install libnet-dbus-perl (currently 1.1.0) from jessie-backports,
it brings new features we need.
Have the security check and the upgrader wait for Tor having bootstrapped
with systemd unit ordering.
Get rid of zerotracepen-security-check's wrapper.
Its only purpose was to wait for Tor to have bootstrapped,
which is now done via systemd.
Don't allow the amnesia and zerotracepen-upgrade-frontend users to run
tor-has-bootstrapped as root with sudo. They don't need it anymore,
thanks to using systemd for starting relevant units only once Tor
has bootstrapped.
Install python-nautilus, that enables MAT's context menu item in Nautilus.
(Closes: #9151).
Configure GDM with a snippet file instead of patching its
greeter.dconf-defaults.
WhisperBack:
· port to Python 3 and GObject Introspection (Closes: #7755)
· migrate from the gnutls module to the ssl one
· use PGP/MIME for better attachments handling
· migrate from the gnupginterface module to the gnupg one
· natively support SOCKS ⇒ don't wrap with torsocks anymore
(Closes: #9412)
· don't try to include the obsolete .xession-errors in bug reports
(Closes: #9966)
chroot-browser.sh: don't use static DISPLAY.
Simplify debugging:
· don't hide the emergency shutdown's stdout
· zerotracepen-unblock-network: trace commands so that they end up in the Journal
Configure the console codeset at ISO build time, instead of setting it
to a constant via the Greeter's PostLogin.default.
Order the AppArmor policy compiling in a way that is less of a blocker
during boot.
Include the major KMS modules in the initramfs. This helps seamless
transition to X.Org when booting, and back to text mode on shutdown,
can help for proper graphics hardware reinitialization post-kexec,
and should improve GNOME Shell support in some virtual machines.
Always show the Universal Access menu icon in the GNOME panel.
Drop notification for not-migrated-yet persistence configuration,
and persistence settings disabled due to wrong access rights.
That migration happened more two years ago.
Remove the restricted network detector, that has been broken for too long;
see #10560 for next steps (Closes: #8328).
Remove unsupported, never completed kiosk mode support.
clock_gettime_monotonic: use Perl's own function to get the integer part,
instead of forking out to sed.
Don't (try to) disable lvm2 initscripts anymore. Both the original reason
and the implementation are obsolete on Jessie.
Lower potential for confusion (#8443), by removing system-config-printer.
One GUI to configure printers is enough (Closes: #8505).
Add "set -u" to zerotracepen-unblock-network.
Add a systemd target whose completion indicates that Tor has bootstrapped,
and use it everywhere sensible (Closes: #9393).
Disable udev's 75-persistent-net-generator.rules, to preventing races
between MAC spoofing and interface naming.
Replace patch against NetworkManager.conf with drop-in files.
Replace resolvconf with simpler NetworkManager and dhclient configuration.
(Closes: #7708)
Replace patching of the gdomap, i2p, hdparm, tor and ttdnsd initscripts
with 'systemctl disable' (Closes: #9881).
Replace patches that wrapped apps with torsocks with dynamic patching with
a hook, to ease maintenance. Also, patch D-Bus services as needed
(Closes: #10603).
Notify the user if running Zero Trace Pen inside non-free virtualization software
that does not try to hide its nature (Closes: #5315).
Thanks to Austin English austinenglish@gmail.com for the patch.
Declare htpdate.service as being needed for time-sync.target, to ensure
that "services where correct time is essential should be ordered after
this unit".
Convert some of the X session startup programs to `systemd --user' units.
Let the Pidgin wrapper pass through additional command-line arguments
(Closes: #10383)
Move out of the $PATH a bunch of programs that users should generally
not run directly: connect-socks, end-profile, getTorBrowserUserAgent,
generate-tor-browser-profile, kill-boot-profile, zerotracepen-spoof-mac,
zerotracepen-set-wireless-devices-state, zerotracepen-configure-keyboard,
do_not_ever_run_me, boot-profile, zerotracepen-unblock-network,
tor-controlport-filter, zerotracepen-virt-notify-user, zerotracepen-htp-notify-user,
udev-watchdog-wrapper (Closes: #10658)
Upgrade I2P to 0.9.23-2~deb8u+1.
Disable I2P's time syncing support.
Install Torbirdy from official Jessie backports, instead of from
our own APT repository (Closes: #10804).
Make GNOME Disks' passphrase strength checking new feature work,
by installing cracklib-runtime (Closes: #10862).
Add support for Japanese in Tor Browser.
Install xserver-xorg-video-intel from Jessie Backports (currently:
2.99.917-2~bpo8+1). This adds support for recent chips such as
Intel Broadwell's HD Graphics (Closes: #10841).
Improve a little bit post-Greeter network unblocking:
· Sleep a bit longer between deleting the blacklist, and triggering udev;
this might help cure #9012.
· Increase logging, so that we get more information next time someone
sees #9012.
· Touch /etc/modprobe.d/ after deleting the blacklist; this might help,
in case all this is caused by some aufs bug.
Enable and use the Debian jessie-proposed-updates APT repository,
anticipating on the Jessie 8.3 point-release (Closes: #10897).
Upgrade most firmware packages to 20160110-1.
Upgrade Intel CPU microcodes to 3.20151106.1~deb8u1.
Disable IPv6 for the default wired connection, so that
NetworkManager does not spam the logs with IPv6 router
solicitation failure. Note that this does not fix the problem
for other connections (Partially closes: #10939).
Test suite
Adapt to the new desktop environment and applications' look.
Adapt new changed nmcli syntax and output.
New NetworkManager connection files must be manually loaded in Jessie.
Adapt to new pkexec behavior.
Adapt to how we now disable networking.
Use sysctl instead of echo:ing into /proc/sys.
Use oom_score_adj instead of the older oom_adj.
Adapt everything depending on logs to the use of the Journal.
Port to UDisks v2.
Check that the system partition is an EFI System Partition.
Add ldlinux.c32 to the list of bootloader files that are expected
to be modified when we run syslinux (Closes: #9053).
Use apt(8) instead of apt-get(8).
Don't hide the cursor after opening the GNOME apps menu.
Convert the remote shell to into a systemd native service and a Python 3,
script that uses the sd_notify facility (Closes: #9057). Also, set its
OOM score adjustment value via its unit file, and not from the test suite.
Adjust to match where screenshots are saved nowadays.
Check that all system units have started (Closes: #8262)
Simplify the "too small device" test.
Spawn poweroff' andhalt' in the background, and don't wait for them
to return: anything else would be racy vs. the remote shell's stopping.
Bump video memory allocated to the system under test, to fix out of video
memory errors.
When configuring the CPU to lack PAE support, use a qemu32 CPU instead
of a Pentium one: the latter makes GNOME Shell crash.
See #8778 for dezerotracepen about how Mesa's CPU features detection has
room for improvement.
Adjust free(1) output parsing for Jessie.
vm-execute: rename --type option to --spawn.
Add method to set the X.Org clipboard, and install its dependency
(xsel) in the ISO.
Paste URLs in one go, to work around issue with lost key presses
in the browser (Closes: #10467).
Reliably wait for Synaptic's search button to fade in.
Take into account that the sticky bit is not set on block devices
on Jessie anymore.
Ensure that we can use a NetworkManager connection stored in persistence
(Closes: #7966).
Use a stricter regexp when extracting logs for dropped packets.
Clone the host CPU for the test suite guests (Closes: #8778).
Run ping as root (aufs does not support file capabilities so we don't
get cap_net_raw+ep, and if built on a filesystem that does support
file capabilities, then /bin/ping is not setupd root).
Escape regexp special characters when constructing the firewall log
parsing regexp, and pass -P to grep, since Ruby uses PCRE.
Adjust is_persistent?() helper to findmnt changes in Jessie.
Rework in depth how we measure pattern coverage in memory, with more
reliable Linux OOM and VM settings, fundamental improvements
in what exactly we measure, and custom OOM adjutments for fillram
processes (Closes: #9705).
Use blkid instead of parted to determine the filesystem type.
Use --kiosk mode instead of --fullscreen in virt-viewer, to remove
the tiny border of the in-viewer menu.
Remove now redundant desktop screenshot directory scenario.
Adapt GNOME notification handling for Debian Jessie (Closes: #8782)
Disable screen blanking in the automated test suite, which occasionally
breaks some test cases (Closes: #10403).
Move upgrade scenarios to the feature dedicated to them.
Don't make libvirt storage volumes executable.
Refactor the PAUSE_ON_FAIL functionality, so that we can use pause()
as a breakpoint when debugging.
Drop non-essential Totem test that is mostly a duplicate, and too painful
to be worth automating on Jessie.
Retry Totem HTTPS test with a new Tor circuit on failure.
Replace iptables status regexp-based parser with a new XML-based
status analyzer: the previous implementation could not be adjusted
to the new ip6tables' output (Closes: #9704).
Don't reboot in one instance when it is not needed.
Optimize memory erasure anti-test: block the boot to save CPU on the host.
Update I2P tests for Jessie, and generally make them more robust.
Update Electrum tests for 2.5.4-2 (Closes: #10758).
Add workaround for libvirt vs. guestfs permissions issue, to allow
running the test suite on current Debian sid.
Fix buggy code, that happened to work by mistake, in the Seahorse
test cases; bugfix on 1.8.
Update test suite images due to CSS change on Zero Trace Pen' website.
Adapt Tor Browser tests to work with the 5.5 series.
Automatically test downloading files in Tor Browser.
Remove obsolete scenario, that tested opening a downloaded file with
an external application, which we do not support anymore.
Improve robustness of the "Zero Trace Pen OpenPGP keys" scenario (Closes: #10378).
Automatically test the "Diable all networking" feature (Closes: #10430).
Automatically test that SSH works over LAN (Closes: #9087).
Bump some statuc sleeps to fix a few race conditions (Closes: #5330).
Automatically test that an emergency shutdown triggers on boot
medium removal (Closes: #5472).
Make the AppArmor checks actually detect errors (Closes: #10926).
Build system
Bump amount of disk space needed to build Zero Trace Pen with Vagrant.
The addition of the Japanese Tor Browser tarball made us reach
the limit of the previous value.
Adjustments for Debian 8 (Jessie) with no or very little user-visible impact
Free the fixed UIDs/GIDs we need before creating the corresponding users.
Replace the real gnome-backgrounds with a fake, equivs generated one
(Closes: #8055). Jessie's gnome-shell depends on gnome-backgrounds,
which is too fat to ship considering we're not using it.
AppArmor: adjust CUPS profile to support our Live system environment
(Closes: #8261):
· Mangle lib/live/mount/overlay/... as usual for aufs.
· Pass the the attach_disconnected flag, that's needed for compatibility
with PrivateTmp.
Make sure we don't ship geoclue* (Closes: #7949).
Drop deprecated GDM configuration file.
Don't add the Live user to the deprecated 'fuse' group.
Drop hidepid mount option for /proc (Closes: #8256). In its current,
simplistic form it cannot be supported by systemd.
Don't manually load acpi-cpufreq at boot time. It fails to load
whenever no device it supports is present, which makes the
systemd-modules-load.service fail. These days, the kernel
should just automatically load such modules when they are needed.
Drop sysvinit-specific (sensigs.omit.d) tweaks for memlockd.
Disable the GDM unit file's Restart=always, that breaks our "emergency
shutdown on boot medium removal" feature.
Update the implementation of the memory erasure on shutdown feature:
· check for rebooting state using systemctl, instead of the obsolete
$RUNLEVEL (Closes: #8306)
· the kexec-load initscript normally silently exits unless systemd is
currently running a reboot job. This is not the case when the emergency
shutdown has been triggered, so we removed this check
· migrate zerotracepen-kexec to the /lib/systemd/system-shutdown/ facility
· don't (try to) switch to tty1 on emergency shutdown: it apparently
requires data that we haven't locked into memory, and then it blocks
the whole emergency shutdown process
Display a slightly darker version of the desktop wallpaper on the screen
saver, instead of the default flashy "Debian 8" branding (Closes: #9038).
Disable software autorun from external media.
Disable a few unneeded D-Bus services. Some of these services are
automatically started (via D-Bus activation) when GNOME Shell tries
to use them. The only "use" I've seen for them, except eating
precious RAM, is to display "No appointment today" in the calendar pop-up.
(Closes: #9037)
Prevent NetworkManager services from starting at boot time
(Closes: #8313). We start them ourselves after changing the MAC address.
Unfuzzy all patches (Closes: #8268) and drop a few obsolete ones.
Adapt IBus configuration for Jessie (Closes: #8270), i.e. merge the two
places where we configure keyboard layout and input methods: both are now
configured in the same place in Jessie's GNOME.
Migrate panel launchers to the favorite apps list (Closes: #7992).
Drop pre-GNOME Shell menu tweaks.
Hide "Log out" button in the GNOME Shell menu (Closes: #8364).
Add a custom shutdown-helper GNOME Shell extension (Closes: #8302, #5684
and #5878) that removes the press-Alt-to-turn-shutdown-button-into-Suspend
functionality from the GNOME user menu, and makes Restart and Shutdown
immediate, without further user interaction. Accordingly remove our custom
Shutdown Helper panel applet (#8302).
Drop GNOME Panel configuration, now deprecated.
Disable GNOME Shell's screen lock feature.
We're not there yet (see #5684).
Disable GNOME Shell screen locker's user switch feature.
Explicitly install libany-moose-perl (Closes: #8051).
It's needed by our OpenPGP applet. On Wheezy, this package was pulled
by some other dependency. This is not the case anymore on Jessie.
Don't install notification-daemon nor gnome-mag: GNOME Shell has taken
over this functionality (Closes: #7481).
Don't install ntfsprogs: superseded on Jessie.
Don't install barry-util: not part of Jessie.
Link udev-watchdog dynamically, and lock it plus its dependencies
in memory.
Migrate from gdm-simple-greeter to a custom gdm-zerotracepen session
(Closes: #7599).
Update Plymouth installation and configuration:
· install the plymouth packages via chroot_local-hooks: lb 2.x's "standard"
packages list pulls console-common in, which plymouth now conflicts with
· don't patch the plymouth initscript anymore, that was superseded
by native systemd unit files
· mask the plymouth-{halt,kexec,poweroff,reboot,shutdown} services,
to prevent them from occupying the active TTY with an (empty) splash
screen on shutdown/reboot, that would hide the messages we want to show
to the user via zerotracepen-kexec (Closes: #9032)
Migrate GNOME keyboard layout settings from libgnomekbd to input-sources
(Closes: #7898).
Explicitly install syslinux-efi, that we need and is not automatically
pulled by anything else anymore.
Workaround #7248 for GDM: use a solid blue background picture,
instead of a solid color fill, in the Greeter session.
De-install gcc-4.8-base and gcc-4.9 at the end of the ISO build process.
Revert the "Wrap syndaemon to always use -t" Wheezy-specific workaround.
htpdate: run date(1) in a Jessie-compatible (and nicer) way.
Remove obsolete dconf screenshot settings and the corresponding test.
Drop our patched python-dbus{,-dev} package (Closes: #9177).
live-persist: stop overriding live-boot's functions, we now have
a recent enough blkid.
Adjust sdmem initramfs bits for Jessie:
· Directly call poweroff instead of halt -p.
· Don't pass -n to poweroff and reboot, it's not supported anymore.
Wrap text in the Unsafe Browser startup warning dialog
(Jessie's zenity does not wrap it itself).
Associate application/pgp-keys with Seahorse's "Import Key" application
(Closes: #10571).
Install topIcons GNOME Shell extension (v28), to work around the fact
that a few of the applets we use hijack the notification area.
"cd /" to fix permissions issue at zerotracepen-persistence-setup startup
(Closes: #8097).
Install gstreamer1.0-libav, so that Totem can play H264-encoded videos.
Adjust APT sources configuration:
· remove explicit jessie and jessie-updates sources:
automatically added by live-build
· add Debian testing
· add jessie-backports
Firewall: white-list access to the accessibility daemon (Closes: #8075).
Adjust to changed desktop notification behavior and supported feature set
(Closes: #7989):
· pass the DBUS_SESSION_BUS_ADDRESS used by the GNOME session
to notify-send
· update waiting for a notification handler: gnome-panel and nm-applet
are obsolete, GNOME Shell is now providing this facility, so instead
wait for a process that starts once GNOME Shell is ready, namely
ibus-daemon (Closes: #8685)
· port zerotracepen-warn-about-disabled-persistence and zerotracepen-virt-notify-user
to notification actions (instead of hyperlinks), and make the latter
transient; to this end, add support to Desktop::Notify for "hints"
and notification actions
· zerotracepen-security-check: use a dialog box instead of desktop notifications
· MAC spoofing failure notification: remove the link to the documentation;
it was broken on Zero Trace Pen/Wheezy already, see #10559 for next steps
Don't explicitly install gnome-panel nor gnome-menus, so that they go away
whenever the Greeter does not pull them in anymore.
Install gkbd-capplet, that provides gkbd-keyboard-display (Closes: #8363).
Install Tor 0.2.7 from deb.torproject.org: we don't need to rebuild it
ourselves for seccomp support anymore.
Wrap Seahorse with torsocks when it is started as a D-Bus service too
(Closes: #9792).
Rename the AppArmor profile for Tor, so it applies to the system-wide
Tor service we run (Closes: #10528).
Essentially revert ALSA state handling to how it was pre-Jessie, so that
mixer levels are unmuted and sanitized at boot time (Closes: #7591).
Pass --yes to apt-get when installing imagemagick.
Make removable devices, that we support installing Zero Trace Pen to, user writable:
Zero Trace Pen Installer requires raw block device access to such devices
(Closes: #8273). Similarly, allow the amnesia user, when active, to open
non-system devices for writing with udisks2. This is roughly udisks2's
equivalent of having direct write access to raw block storage devices.
Here too, Zero Trace Pen Installer uses this functionality.
Disable networkd to prevent any risk of DNS leaks it might cause; and
disable timesyncd, as we have our own time synchronization mechanism.
They are not enabled by default in Jessie, but may be in Stretch,
so let's be explicit about it.
Mask hwclock-save.service, to avoid sync'ing the system clock
to the hardware clock on shutdown (Closes: #9363).
apparmor-adjust-cupsd-profile.diff: adjust to parse fine on Jessie
(Closes: #9963)
Explicitly use tor@default.service when it's the one we mean.
Refactor GNOME/X env exporting to Zero Trace Pen' shell library, and grab
more of useful bits of the desktop session environment.
Then, use the result in the test suite's remote shell.
Stop tweaking /etc/modules. It's 2015, the kernel should load these things
automatically (Closes: #10609).
Have systemd hardening let Tor modify its configuration (needed by Tor
Launcher), and start obfs4proy (Closes: #10696, #10724).
Bump extensions.adblockplus.currentVersion and
extensions.enigmail.configuredVersion to match what we currently get
on Jessie.
I2P: switch from 'service' to 'systemctl' where possible.