changelog 243 KB
Newer Older
intrigeri's avatar
intrigeri committed
1
tails (2.0~beta1) unstable; urgency=medium
2

intrigeri's avatar
intrigeri committed
3
  XXX: see changelog of custom packages
4

intrigeri's avatar
intrigeri committed
5
6
7
8
  * Major new features and changes
    - Upgrade to Debian 8 (Jessie).
    - Migrate to GNOME Shell in Classic mode.
    - Use systemd as PID 1.
9
    - Convert all our custom initscripts to native systemd units.
intrigeri's avatar
intrigeri committed
10
11
12
13
14
15
16
    - Remove the Windows camouflage feature: our call for help to port
      it to GNOME Shell (issues in January, 2015) was unsuccessful.

  * Security fixes


  * Bugfixes
17
18
19
20
21
    - Restore the logo in the "About Tails" dialog.
    - Don't tell the user that "Tor is ready" before htpdate is done
      (Closes: #7721).
    - Upgrader wrapper: make the check for free memory smarter
      (Closes: #10540, #8263).
intrigeri's avatar
intrigeri committed
22
23

  * Minor improvements
24
    - Remove obsolete code from various places.
intrigeri's avatar
intrigeri committed
25
26
    - Use socket activation for CUPS, to save some boot time.
    - Port XXX [check custom packages] to GTK3 / UDisks2 / Python 3 / whatever.
27
28
29
30
    - Don't install UDisks v1.
    - Adapt custom udev rules to UDisks v2 (Closes: #9054).
    - Adjust import-translations' post-import step for Tails Installer,
      to match how its i18n system works nowadays.
31
    - Set memlockd.service's OOMScoreAdjust to -1000.
intrigeri's avatar
intrigeri committed
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    - Don't bother creating /var/lib/live in tails-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 tails-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.
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
    - 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 tails-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 tails-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
      · tails-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.
93
94
95
96
97
98
99
100
101
102
103
104
105
    - 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).
106
    - Add "set -u" to tails-unblock-network.
intrigeri's avatar
intrigeri committed
107
108
109
110
111
112
113
114
115

  * 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.
    - 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.
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
    - 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).
    - 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' and `halt' 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 details 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).
    - Add wait_*_gnome_window() helpers and use them everywhere applicable
      for added reliability.
    - Reliably wait for Synaptic's search button to fade in.
144
145
146
147
148
149
150
151
152
153
    - 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).

154
155
156
  * Set the remote shell's OOM score adjustment value via its unit file, instead of dynamically at test suite run time.
  * Test suite: escape regexp special characters when constructing the firewall log parsing regexp.
    .. and pass -P to grep, since Ruby uses PCRE.
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
    * Fix is_persistent?() helper due to findmnt changes in Jessie.
    In jessie, findmnt correctly notices that / is an aufs mounts. Hence
    let's assume that we're not using read-only persistence (which uses
    aufs) in which case aufs => no persistence.
  * Rework how we measure pattern coverage.
    The approaches we used before just seems incorrect in multiple ways:
    * vm.overcommit_memory = 2 seems to make OOM killing happen way too
      early, around when 15% or RAM is still free, no matter the value of
      vm.overcommit_ratio and the various *reserved settings.
    * Using the ratio of a ration for the {min,max}_coverage calculations
      were just weird and a sign of incremental bandaid-like fixes.
    Now we do what we intended more explicitly, that is: measure the
    pattern coverage in the free RAM at the time we start filling it. We
    also have to reserve some RAM for the kernel (so it doesn't freeze
    when approaching full RAM) and admin processes like the remote shell
    (so it doesn't get unresponsive), and we exclude this from the free
    RAM in the calculations for a much more accurate result than before.
    Note that we may end up having a bit more than 100% pattern
    coverage. While that may seem strange it may just indicate that some
    unrelated RAM was freed after we noted the amount of free RAM right
    before we started filling it.
    Will-fix: #9705
  * Use blkid instead of parted to determine the filesystem type.
    In Jessie, "parted print NUMBER" doesn't work, and then blkid seems
    like a cleaner approach (bonus: the name blkid uses for swap is
    cleaner too).
  * Simplify by removing the wait_for_gnome*() helpers.
    They don't work well and do not seem needed. Also, it's used in only
    two places, and add to that that GNOME seems to be moving away from
    having the type of title bar we're looking for.
  * Start each fillram instance with the correct oom_score_adj.
    ... by starting them in sub shell with the desired oom_score_adj. The
    way we did it before left a window where they inherit the remote
    shell's oom_score_adj, which is the absolute opposite of the range,
    meaning that everything else will be prioritized.
  * Decide memory wiping waiting time on configured RAM.
    ... instead of detected RAM. This should only make us wait longer,
    since detected RAM <= configured RAM, so it's safe but potentially an
    increase in runtime.
    We actually do this since we often want to run these modified steps
    when the remote shell is not available any more, since Tails is
    shutting down.
  * Use --kiosk mode instead of --fullscreen in virt-viewer.
    The only effect will be that the tiny border of the in-viewer menu is
    removed (which *potentially* could be in the way some time) since
    --kiosk implies --fullscreen.
  * Remove scenario.
    In Jessie, org.gnome.gnome-screenshot.auto-save-directory is empty
    since the default is sensible, ~/Pictures. To save the removed
    scenario we'd have to set it explicitly, which seems stupid. Besides,
    the 'A screenshot is taken when the PRINTSCREEN key is pressed'
    scenario is already testing that GNOME Screenshot saves into this
    directory, which is enough.
  * Adapt Gnome notification handling for Debian Jessie.
    When waiting for specific notifications we'll completely depend on
    robust_notification_wait() from now on *and* it will leave other
    notifications unlike the old version.
    Will-fix: #8782
  * Migrate to robust_notification_wait() and update some related images for Jessie.


intrigeri's avatar
intrigeri committed
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240

  * 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.
241
242
243
244
245
246
247
248
249
250
    - 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 tails-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
intrigeri's avatar
intrigeri committed
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
    - 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-tails session
      (Closes: #7599).
288
289
290
291
292
293
294
295
296
    - 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 tails-kexec (Closes: #9032)
intrigeri's avatar
intrigeri committed
297
298
299
300
301
302
    - 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.
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
    - 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 tails-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 tails-warn-about-disabled-persistence and tails-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
      · tails-security-check: use a dialog box instead of desktop notifications
      · MAC spoofing failure notification: remove the link to the documentation;
        it was broken on Tails/Wheezy already, see #10559 for next steps
343
344
345
346
347
348
349
350
351
352
353
    - 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).
intrigeri's avatar
intrigeri committed
354
    - Pass --yes to apt-get when installing imagemagick.
intrigeri's avatar
intrigeri committed
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430

  * Drop Wheezy-era hacks to make the PulseAudio initscript silent.
    It has never been used in Tails, and has finally been removed on Jessie:
    per-user sessions for everyone.
  * Make removable devices user writable.
    This fixes #8273, but I'm not sure whether it's a proper solution or
    just a workaround.
  * Only make floppy own devices that we support installing Tails to.
    Tails Installer requires raw block device access to such devices,
    which is why we have this workaround in the first place.
  * On MAC spoofing failure, disable NM services in addition to stopping then.
    ... and actually stop all of them.

  * Convert a few X session startup programs to `systemd --user' units.
    This is merely preparatory work that lays down some foundations.
    For now, we're using two targets:
     * basic.target sets up things that should be done as early as possible, don't
       need access to X, notifications, nor D-Bus ; it is automatically started by
       `systemd --user' when the logind session is created. Note that this happens
       after persistence has been set up, when the GDM autologin is triggered, and
       before /etc/gdm3/Xsession is run:
       - tails-add-GNOME-bookmarks.service
       - tails-create-tor-browser-directories.service
     * desktop.target: we're starting it via xdg/autostart during the GNOME session
       startup. There are a few units wanted by this target so far:
       - tails-configure-keyboard.service
       - tails-virt-notify-user: ideally, this should have something like
         After=notifications-ready.target (and then, most other things that
         wait for GNOME Shell to be ready to handle notifications could do the
         same instead of grep'ing the process list).
       - tails-warn-about-disabled-persistence.service
       - tails-upgrade-frontend.service: the idea is to later use systemd units
         ordering to make it run at a time that increases chances for the system
         having enough free memory; e.g. as soon as possible once the session is
         ready, Tor has bootstrapped, and some other memory-hungry programs we run
         at session startup time have completed.
       - tails-security-check.service: similarly, the idea is that we could get
         rid of the wrapper — that merely waits for Tor to have finished
         bootstrapping — given another systemd unit.
    Most of these units exit early unless they're run by the `amnesia' user.
    Otherwise they break e.g. Tails Greeter startup, and probably worse.
    Also note that the units that may take ages to complete have Type=simple.
    With Type=oneshot, systemd would wait for them to complete before running any
    follow-up units, and before considering the target they're part of has been
    reached. Two of our units can take minutes to complete, so the desktop.target
    startup would fail. Now, using Type=simple has one drawback: it makes it harder
    to order other units relatively to tails-security-check-wrapper's and
    tails-upgrade-frontend-wrapper's completion. This doesn't feel too bothering,
    though: it's more likely that we want to configure these units to start after
    others, than the opposite.
    Also, when the GNOME session is initialized, we import the relevant D-Bus, X11
    and locales variables into systemd --user's environment, so that our units can
    use them. We do that immediately before starting desktop.target.
  * Don't start tails-restricted-network-detector.service unless MAC spoofing is enabled.
    Previously, this check was done in PostLogin.default. Let's import it here
    so that the unit file becomes the canonical place that describes this service,
    including whether it should start or not.
  * Migrate tails-unblock-network to a systemd service, that handles starting NetworkManager.
    In the current state of things, this change merely speeds up login a bit since
    this allows us to start this service in a non-blocking way in Tails Greeter,
    without losing the ability to retrieve its status and output later.
    That's the first step towards Will-fix: #8327.
    Also, we move the "start NetworkManager as soon as the network is unblocked"
    logic to tails-unblock-network.service.
    Previously, /usr/local/sbin/tails-unblock-network (started by
    tails-unblock-network.service) would manually start NetworkManager services.
    This feels ugly, since it encodes systemd unit ordering in /usr/local/sbin/,
    while it really belongs to the unit files themselves.
    So, we use:
     * Requires= to trigger the startup of the NM services;
     * Before= to ensure that said startup only happens once the network
       has been unblocked.
    Note that tails-unblock-network.service is *not* WantedBy multi-user.target.
    Otherwise, it would try to start on boot before the user has had the chance to
    opt-out from MAC spoofing. And then it would fail, since its EnvironmentFile
    (/var/lib/gdm3/tails.physical_security) does not exist yet.
431

intrigeri's avatar
intrigeri committed
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
  * tor-browser, 60-tor-ready.sh: use systemctl to determine if Tor has bootstrapped already.
    Note that `systemctl is-active' returns false for a service that's in
    "activating" state. The thing is, tails-wait-until-tor-has-bootstrapped.service
    *is* in "activating" state until Tor has bootstrapped. So, we explicitly check
    for its state to be "inactive" (meaning it has completed, and Tor has
    bootstrapped).
  * Harden system-wide systemd unit files.
  * 60-tor-ready.sh: sleep for a shorter time between checking if Tor has bootstrapped.
    This is now done via systemctl, and doesn't require grep'ing logs everytime,
    so let's decrease the time until the user is made aware that Tor is ready.
  * Make sure the blacklist has disappeared from the filesystem before triggering udev events.
    There's apparently a race condition somewhere. We've already seen cases when
    a file we've just deleted was still visible to some other process for a short
    amount of time, so let's try to be on the safe side.
  * Mimic systemd-udev-trigger.service when triggering udev events.
    The default setting for `udevadm trigger' is --type=devices.
    That's why systemd-udev-trigger.service runs it twice, once
    with --type=subsystems, and then with --type=devices.
    Given the racy behaviour I'm seeing in tails-unblock-network.service,
    it seems worth doing exactly the same thing as systemd-udev-trigger does.
  * Disable udev's 75-persistent-net-generator.rules.
    This should help preventing races between MAC spoofing and interface naming.
  * Move udevadm stuff to PostLogin/Default.
    Apparently, udevadm calls are not always honored when they're started from
    tails-unblock-network.service, possibly because we started it in a non-blocking
    way.
  * Import network unblocking steps + NM startup back into /usr/local/sbin/tails-unblock-network.
    We've previously moved the udevadm mangling out of
    tails-unblock-network.service, but the NM startup handling was left in there.
    So, NM could possibly start before the MAC address has been spoofed, which we
    need to avoid.
    Another option would have been to add all of this to PostLogin, but it has so
    little to do with the Greeter's job that I felt it would be nicer to have
    PostLogin simply run a script that does all the work, so that most of it is
    self-contained in our main Git repo. For the same reason, this commit also
    imports the restricted network detector startup in the very same script.
  * Test suite: use a slightly cheaper way to test if Tor is working.
    The grep'ing and grepping etc. is now done in a systemd unit file, so we just
    have to wait for it to complete. That's what tor-has-bootstrapped now does,
    let's use it.


  * Explicitly disable systemd-networkd, to prevent any risk of DNS leaks it might cause.

  * 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. Tails Installer (ported to Jessie) uses this functionality
    (with call_open_for_restore_sync) so that most operations can be done non-Tails
    systems without special privileges on the target block device.
  * Test suite: don't wait for window title while we're waiting for its content already.
    I've found wait_for_gnome_window to be fragile in this scenario (especially
    combined with #9692), and we don't really need it here.
  * Update polkit rules wrt. the porting of t-p-s to udisks2.
    Will-fix: #9270
  * Really allow the t-p-s user to modify system devices without requiring authentication.
    Without this, the operator of the current session (that is, the amnesia user)
    is asked to authenticate: polkit somewhat considers that this person controls
    the client, even if run as a different user, which kinda makes sense.
    Will-fix: #9270
  * Disable hwclock-save.service, to avoid sync'ing the system clock to the hardware clock on shutdown.
    Closes: #9363
  * Use "mask" instead of "disable" for disabling hwclock-save.service.
    It's more reliable, as it has less chances to be reverted by some upgrade.
  * Explicitly disable timesyncd: we have our own time synchronization mechanism.
    It's not enabled by default in Jessie, but it will be in Stretch, so let's be
    explicit about it.
  * tails-unblock-network: add some logging to help debugging race conditions.
  * tails-unblock-network: sleep a bit after unblocking network devices, and before triggering udev events.
    That's ugly but I wasn't able to find anything better. We'll see if it fixes
    the problem everywhere, or if it merely makes it less frequent..
    Closes: #9012
  * Replace patch against NetworkManager.conf with drop-in files.
  * Replace resolvconf with simpler NetworkManager and dhclient configuration.
    Refs: #7708

  * Replace patching of the gdomap, i2p, hdparm, tor and ttdnsd initscripts with 'systemctl disable'.
    Closes: #9881
  * apparmor-adjust-cupsd-profile.diff: adjust to parse fine on current Jessie.
    Closes: #9963
    More specifically:
    a) avoid "conflicting x modifiers" for /usr/bin/hpijs, by modifying the
       /usr/bin/* rule to not match it;
    b) add missing backends to the list of confined ones, and:
       asked how we can better maintain this list :
       https://lists.ubuntu.com/archives/apparmor/2015-August/008463.html
    c) to avoid "conflicting x modifiers", replaced glob that matches
       all remaining backends by a hard-coded list of third-party ones
       we ship;
    d) Added a note to the RM role duties to sanity check these two lists.
    Also, add the attach_disconnected flag to the third_party local profile in
    there, as was done in sid already, and is needed for it to work under systemd
    (this patch already did that for /usr/sbin/cupsd).
  * Replace patches that wrapped apps with torsocks with dynamic patching with a hook.
    This should avoid the need to maintain these patches and avoid them becoming
    fuzzy, especially when migrating to new versions of Debian.

  * Allow the amnesia user, when active, to use all CUPS actions needed by the GNOME printing setup dialog.
    These rules override those shipped by cups-pk-helper 0.2.5-2+b1 in
    /usr/share/polkit-1/actions/org.opensuse.cupspkhelper.mechanism.policy
    Closes: #8443
  * apparmor-adjust-cupsd-profile.diff: drop explicit support of /lib/live/mount/overlay.
    This is now globally handled with aliases.
  * apparmor-adjust-cupsd-profile.diff: fix access to aufs whiteouts for /etc/cups, /var/{cache,log,spool}/cups.
    Closes: #10210
  * tails-virt-notify-user: notify the user if running in a non-free vm.
    Thanks to Austin English <austinenglish@gmail.com> for the patch.
    Sorry, my `git am' does not want to hear about this patch,
    so I'm applying it by hand.
    Closes: #5315

  * Upgrade to experimental Tor 0.2.7 packages.
    Note that this introduces a regression as-is, since we lose
    the patch for https://bugs.torproject.org/15482. That's tracked by
    Refs: #10194

  * Turn htpdate.service into Type=oneshot.
    I want to use time-sync.target (see systemd.special(7)), so that we can
    order stuff after it.
    But with Type=simple, we can't tell when htpdate is done, so we can't
    specify that time-sync.target has not been reached until then. So let's
    use Type=oneshot. But then, 20-time.sh would block until htpdate is
    done, which is not what we want; this is solved by using --no-block when
    restarting the service there.
  * Explicitly declare htpdate.service as being needed for time-sync.target.
    This ensures that "services where correct time is essential should be
    ordered after this unit" (as long as such services have themselves
    declared the right dependencies). We don't ship any such services
    currently, so this is rather pedantic a commit.
    Note: in our case, we don't want the Tor service to wait for
    time-sync.target, since we still use the Tor consensus for time
    sync' purposes.
  * Explicitly use tor@default.service when it's the one we mean.
    Tor 0.2.7.x packaging now uses a template systemd unit file,
    and the instance we use is called tor@default.service.

567
568
569
570
571
572
573
574
  * Add a systemd target whose completion indicates that Tor has bootstrapped.
  * Create a tails-wait-until-tor-has-bootstrapped.service in the systemd user instance.
    The systemd user and system instances don't share units. Thus, the dependency
    we have from the security check and upgrader user services on
    tails-wait-until-tor-has-bootstrapped had no effect.
    So, we have the *system* tails-wait-until-tor-has-bootstrapped.service create
    a file upon completion -- and the identically named *user* unit file wait for
    that file to appear.
intrigeri's avatar
intrigeri committed
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
  * Introduce a dedicated systemd target for "Tor has bootstrapped" state.
    ... and move tails-wait-until-tor-has-bootstrapped.service from
    default.target to it. The main effect is that anything that wants to
    start after graphical.target or multi-user.target does not have to wait
    for Tor to have bootstrapped (which could very well never happen, e.g.
    when working offline) anymore.
    Will-fix: #9393

  * Install tails-installer instead of liveusb-creator.
    Refs: #8561

  * Refactor GNOME/X env exporting to Tails' shell library.
  * Grab the rest of the variables from gnome-shell's environment.
    The static guess for DISPLAY *could* be wrong, and the how we relied
    on a shell blog for XAUTHORITY could results in problems if there's a
    leftover database from a previous session for some reason. Besides,
    the new approach feels more consistent.
  * Include the GNOME/X environment in the remote shell.
    And kill the (inferior) code about DISPLAY and XAUTHORITY since
    they're set by export_gnome_env() into the environment.
  * Disable screen blanking in the automated test suite.
    In the automated test suite we sometimes need to wait long enough so
    screen blanking activates, which can mess with Sikuli wait():ing for
    some image. This is the case in e.g. the 'Install packages using
    Synaptic' scenario, in which the APT update can take >5 minutes.
    Will-fix: #10403

602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
  * Simplify ISO image naming rules.
    ... by using the base rule we use for Jenkins all the time, except
    when building from a tag (i.e. building a release).
    Will-fix: #10349

  * Use the menu to open Pidgin's account manager
  * Retry running whois when "LIMIT EXCEEDED" is in its output.
    Will-fix: #10523
  * Revert back to using @screen.wait.
    We're going to end up restarting Seahorse on segfault. While doing lots
    of testing for #9791 I'm fairly confident that I've figured out
    Seahorse's failure modes and when it'll segfault. allowing code to be
    simplified.
  * Make keyid an instance variable in the GnuPG CLI step.
    Doing this will allow this variable to be used in the Seahorse
    keysyncing steps.
  * Start Seahorse with its own function.
    We'll also keep track of how Seahorse was opened in case we need to
    restart it during the test suite.
  * Improve Seahorse key syncing test robustness
  * Avoid waiting unneccesarily for the results window if there's an error
  * Use more generalized name for menu image's name.
    Gedit no longer has a menu bar at the top of its window, causing this
    feature to be broken..
  * Teminate gpg after 120 seconds have passed.
    During my testing I found that it seems that if we're going to get a
    successful result it'll happen by the time two minutes have passed.
    If the key retrieval neither succeeds nor fails within 2 minutes we'll
    terminate the running gnupg process, force a new Tor circuit, and try
    fetching again.
  * Reduce timeouts in Seahorse to 2 minutes
  * explicitly check that there's not an error from Seahorse
  * Don't wait unnecessarily.
    Since all of the gpg operations will retry after forcing a new Tor
    circuit, by the time we reach the step that checks whether the key is in
    the keyring the key should be there. We'll gain nothing from waiting two
    additional minutes.
  * Reduce redundancy with checking for seahorse errors
  * Allow step to be retried.
    If we don't monitor whether the key has been fetched with the gpg CLI
    tool we can move to the next step which used to check whether the key is
    in the keyring. By that time it's too late to retry fetching.
    Instead let's check with `gpg` for the key. If the key is not in the
    keyring within two minutes we'll fail the step, force a new tor circuit,
    and try retrieving the key again.
  * Remove unneeded return
  * s/gsub/sub/
  * Pass argument by name
  * (Hopefully) more accurate name of function
  * More specific variable name
  * Typo fix

  * Reword scenario title.
  * Test suite: move upgrade scenarios to the feature dedicated to them.
  * Test suite: fix error message for isohybrid test.
  * Update jenkins-tools submodule.
  * Stop tweaking /etc/modules.
    It's 2015, the kernel should load these things automatically.
    Will-Fix: #10609
  * Remove obsolete "override our Wheezy-specific package" entries from APT pinning.
    They were useful when feature/jessie was an overlay on top of devel,
    but it's been not the case for a while.
    Will-Fix: #10607
  * Install obfs4proxy from deb.torproject.org on Jessie as well.
    The package in Jessie is older than the one from deb.tpo, that we currently ship
    in Tails 1.x, so let's fetch it from the same place.
    Will-Fix: #10605
  * Install Tor from deb.torproject.org's stable repo.
    The one we currently want (0.2.7) has been released as stable.
    Will-Fix: #10604
  * Call out to the shell less often in htpdate.service.
    On my test system they all are run within the same seconds, but it adds up to
    everything else we're doing at the same time.
    Will-Fix: #10612
  * Clarify status of ttdnsd: we do run it, but via a NetworkManager hook.
    Closes: #10608
  * Convert config/chroot_local-hooks/21-gdm_unit_file to a drop-in override.
    I see no reason to patch it at build time the way we did it.
    Will-Fix: #10606
  * Wrap Totem with torsocks when it's run via its D-Bus service too.
    Will-Fix: #10603
  * 09-torsocks-apps: make regexps a bit stricter.
  * Have systemd hardening let Tor modify its configuration.
    Tor Launcher needs that.
    Closes: #10696

  * Tag `@doc` scenarios that rely on the documentation.
    Will-fix: #10706

  * Restore image into broken symlink.
    The symlink's target image was removed.
  * Remove test of the removed restricted network detector.
  * Remove silly executable bit.
  * s/syslog/journal/
  * Refactor the PAUSE_ON_FAIL functionality.
    A well-placed `pause()` can act as a breakpoint when debugging.
  * Kill + inline strangely named function.
    And fix the code so we get the proper middle, i.e. measure from the
    top's bottom to the bottom's top (hah!).
  * Remove old workaround that seems obsolete.
    ... at least on my system, that previously could reproduce it.
  * Adapt test to how we disable networking in feature/jessie.
    See `stop_and_disable_NM()` in the `tails-mac-spoof` script.
  * Bump some images for feature/jessie.
  * Kill 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.
  * Remove unnecessary waiting code.
    Earlier we already ensure that Tor has bootstrapped, which implies
    that the control port must be up.
  * Remove obsolete comment.
    The referred-to comment in checks.feature is not there any more, and
    in this feature we use snapshots any way (although not as freely as
    we'd like).
  * Use snapshot.
    This scenario is not using a filesystem share, so unlike some other
    scenarios in this feature there's nothing preventing us.
  * Remove superfluous part of test.
    We still do the essential part i.e. test that Totem can open videos
    over Tor. The removed part is essentially a test of the GUI, and what
    a confusing and hard-to-discover GUI it is! I doubt users will ever
    find out how to do it, so I fail to see why we should test it (and
    waste time dealing with the robustness issue that plague this test).
  * Add retry magic to the Totem HTTPS scenario.
  * Use journalctl instead of (non-existing) syslog.
  * Adapt test for new Tails Installer.
    The USBCreateLiveUSB.png image cannot be relied upon for waiting on
    the main installer window, since it can be greyed out. Also, the error
    message when a device is not upgradable appears without even clicking
    the install button.
  * Remove comment about OCR, and commented OCR code.
    Sikuli's OCR capabilities are way too bad, so let's forget about this.
  * Introduce a new XML-based iptables parser.
    The old `iptables_parse()` way relies on regex parsing the output of
    the `iptables` output, which of course is not very reliable. In Jessie
    the `ip6tables` output has changed and differs (if there are no
    options the "opt" column will be empty, and not have a "--"). The new
    parser fixes this.
    The goal will be to convert all `iptables_parse()` instances to the
    new parser.
    Will-fix: #9704
  * Convert `iptables_parse()` instance.
  * Convert `iptables_parse()` instance.
  * Convert `iptables_parse()` instance.
  * Convert `iptables_parse()` instance.
  * Kill the now unused `iptables_parse()`.

  * Lower waiting time for USB installation in the test suite.
    So far we were waiting up to one hour, which is just the same as our
    Jenkins inactivity timeout, so in practice when Tails Installer fails
    and displays an error message, instead of reporting that the job failed
    (which is the point of the exercise) we abort the job due to this
    timeout (which communicates waaaay less clearly to me, with my Tails
    Installer developer hat, that there's probably a bug I should fix, as
    opposed to "here's a transient failure caused by instabilities of our
    Jenkins setup"). My understanding is that this is what prevented the
    Tails Installer bug described on #10717 from being identified earlier,
    and I don't want to see that happen again.
    IIRC this 1h timeout was relevant for running with nested virtualization
    on slightly old (ThinkPad X200) hardware. I don't think anyone does that
    anymore, and I would bet that on such hardware, lots of other bits of
    our test suite will time out anyway.
    Fix-committed: #10718
  * Mark apt-get scenario as fragile.
    Refs: #10496

  * Flag online scenarios as fragile.
    They all rely on the `wait_until_tor_is_working` helper which has lately
    proven to be still buggy. That's tracked by ticket #10497.
  * Flag a online scenario in Jessie as fragile.
    It depends on the `wait_until_tor_is_working` helper which is buggy.
    Refs: #10497

  * Mark as fragile all tests that rely on Tails Installer.
    Refs: #10720
  * Test suite: fix steps that shutdown/reboot via the applet.
    When we hide the cursor, they often fail: the menu appears and
    disappears immediately, before the shutdown or reboot button
    is located.
  * Use `systemctl mask' instead of manually symlinking, and thus avoid unneeded daemon-reload.
    `systemctl daemon-reload' is a very big hammer: while it's running, socket
    activation, D-Bus activation, and more systemd functionality are disabled.
    In this case, as long as we use only systemctl {stop, disable, mask}, then we
    don't need to do a global daemon reload, so let's not take the risk.
  * Fix typo.
  * Relax permissions on Tor and its child processes, to fix obfs4proxy startup.
    Closes: #10724
  * Install apparmor-profiles-extra from jessie-backports, that grants Totem access to DVD readers (refs: #10455), and fixes a freeze when trying to disable visual effects (refs: #9990).
  * Fix shell syntax in hook that detects leftover .orig files.
  * Unfuzzy apparmor-adjust-pidgin-profile.diff.
  * Unfuzzy chroot_local-patches/unmute_alsa_channels.patch.
  * Fix shell syntax error.
    In commit:3e85f97 I've fixed one such error and introduced another one
    ("git add -p" :)
  * Update a test suite image for Jessie.
  * Fix scenario name.
    This one does not test ~/.gnupg/.
  * Test suite: don't reboot when not needed.
    These lines somehow survived or were re-introduced via merge
    conflict resolution. That's the only explanation I have for them.
  * Optimize memory erasure anti-test: block the boot to save CPU on the host.

  * Add the bugfix-9713-electrum-2.5 APT overlay.
    Will-fix: #9713
  * Fix pinnings for electrum and its dependencies.
    Now we install a custom Wheezy backport of electrum from our own
    repo. Note that python-pbkdf2 is not even in Wheezy Backports, so we
    install it from Debian Jessie.
  * Make config appropriate for electrum 2.5.x.
    For now, let's also drop "auto connect" and server until we've decided
    on a server we can trust.

  * Flag forgoten online scenarios as fragile.
    Refs: #10497

  * Refresh patch against Tor's AppArmor profile to apply on top of 0.2.7.6-1.

  * Upgrade Tor Browser to 5.0.5.
    Will-fix: #10751

  * Warn if the claws-mail persistence is enabled when starting icedove.
    Refs: #10458
  * Warn if claws-mail persistence is activated AND it contains a accountrc file.
    Otherwise people will get the notification every time they start Icedove
    during the 1.8 lifetime.
    Will-fix: #10458

  * Update AdBlock Plus patterns.

  * Add Icedove to GNOME launcher, remove Claws-Mail

  * Empty the list of APT overlays: they were merged
  * Update PO files.

  * Install Electrum from jessie-backports.
    That is, currently: 2.5.4-1~bpo8+1. This is older than what we'll
    be shipping in Tails 1.8 (#9713), and we'll need a patch that's
    in 2.5.4-2, but for now it's still better than Jessie's 1.9.8-4,
    presumably.
    refs: #10754

  * Update changelog for 1.8.
  * Updating SquashFS sort file

  * Fix ticket number

  * Add security updates to the 1.8 changelog entry.

  * Test suite: drop unused steps.
    We're not doing anything with that file, no need to copy it.
  * Set base branch to devel.
  * Update POT and PO files.

intrigeri's avatar
intrigeri committed
855
 -- Tails developers <tails@boum.org>  Thu, 19 Nov 2015 16:01:19 +0000
856

anonym's avatar
anonym committed
857
tails (1.8) unstable; urgency=medium
anonym's avatar
anonym committed
858

anonym's avatar
anonym committed
859
860
  * Security fixes
    - Upgrade Tor to 0.2.7.6-1~d70.wheezy+1+tails1.
sajolida's avatar
sajolida committed
861
    - Upgrade Tor Browser to 5.0.5. (Closes: #10751)
862
863
864
865
866
867
868
869
870
871
872
    - Upgrade LibreOffice to 1:3.5.4+dfsg2-0+deb7u5.
    - Upgrade krb5-based packages to 1.10.1+dfsg-5+deb7u6.
    - Upgrade Linux to 3.16.7-ckt11-1+deb8u6.
    - Upgrade wpasupplicant to 1.0-3+deb7u3.
    - Upgrade libpng12-0 to 1.2.49-1+deb7u1.
    - Upgrade openjdk-7 to 7u91-2.6.3-1~deb7u1.
    - Upgrade libnspr4 to 2:4.9.2-1+deb7u3
    - Upgrade dpkg to 1.16.17.
    - Upgrade gnutls26 to 2.12.20-8+deb7u4.
    - Upgrade Icedove to 1:38.0.1-1~deb7u1.
    - Upgrade OpenSSL to 1.0.1e-2+deb7u18.
anonym's avatar
anonym committed
873

anonym's avatar
anonym committed
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
  * Bugfixes
    - Upgrade to Electrum 2.5.4-2~d70.wheezy+1+tails1. Now Electrum
      should work again. Note that the documentation has not been
      adapted to the slight changes in the Electrum account setup
      wizard yet.

  * Minor improvements
    - Upgrade I2P to 0.9.23-2~deb7u+1.
    - Rebase our patch against the Tor Browser AppArmor profile on top
      of the one shipped in torbrowser-launcher 0.2.1-2.
    - Warn if the claws-mail persistence is enabled and contains a
      Claws Mail configuration when starting icedove. (Closes: #10458)
    - Replace the Claws Mail GNOME launcher with Icedove. (Closes:
      #10739)
    - Remove the Claws Mail persistence feature from the Persistence
      Assistant. (Closes: #10742)

  * Build system
    - Simplify ISO image naming rules by using the base rule we use
      for Jenkins all the time, except when building from a tag
      (i.e. building a release).  (Closes: #10349)

  * Test suite
    - Lower the waiting time for USB installation in the test suite.
      So far we were waiting up to one hour, which is just the same as
      our Jenkins inactivity timeout, so in practice when Tails
      Installer fails and displays an error message, instead of
      reporting that the job failed (which is the point of the
      exercise) we abort the job due to this timeout which
      communicates less clearly that there's probably a bug. (Closes:
      #10718)
    - Remove the check for the sound icon in the systray in the
      Windows Camouflage tests. (Closes: #10493)
    - Retry running whois when "LIMIT EXCEEDED" is in its output for
      increased robustness. (Closes: #10523)
    - Make Seahorse tests more robust. (Closes: #9095, #10501)
    - Make the handling of Pidgin's account manager more robust.
      (Closes: #10506)
anonym's avatar
anonym committed
912

anonym's avatar
anonym committed
913
 -- Tails developers <tails@boum.org>  Mon, 14 Dec 2015 23:07:19 +0100
anonym's avatar
anonym committed
914

anonym's avatar
anonym committed
915
tails (1.7) unstable; urgency=medium
bertagaz's avatar
bertagaz committed
916

anonym's avatar
anonym committed
917
  * Major new features and changes
anonym's avatar
anonym committed
918
    - Upgrade Tor Browser to 5.0.4. (Closes: #10456)
anonym's avatar
anonym committed
919
920
921
    - Add a technology preview of the Icedove Email client (a
      rebranded version of Mozilla Thunderbird), including OpenPGP
      support via the Enigmail add-on, general security and anonymity
sajolida's avatar
sajolida committed
922
      improvements via the Torbirdy add-on, and complete persistence
anonym's avatar
anonym committed
923
924
925
926
927
928
929
930
      support (which will be enabled automatically if you already have
      Claws Mail persistence enabled). Icedove will replace Claws Mail
      as the supported email client in Tails in a future
      release. (Closes: #6151, #9498, #10285)
    - Upgrade Tor to 0.2.7.4-rc-1~d70.wheezy+1+tails1. Among the many
      improvement of this new Tor major release, the new
      KeepAliveIsolateSOCKSAuth option allows us to drop the
      bug15482.patch patch (taken from the Tor Browse bundle) that
sajolida's avatar
sajolida committed
931
      enabled similar (but inferior) functionality for *all*
anonym's avatar
anonym committed
932
933
934
935
936
937
      SocksPort:s -- now the same circuit is only kept alive for
      extended periods for the SocksPort used by the Tor
      Browser. (Closes: #10194, #10308)
    - Add an option to Tails Greeter which disables networking
      completely. This is useful when intending to use Tails for
      offline work only. (Closes: #6811)
bertagaz's avatar
bertagaz committed
938

anonym's avatar
anonym committed
939
940
  * Security fixes
    - Fix CVE-2015-7665, which could lead to a network interface's IP
elouann's avatar
elouann committed
941
      address being exposed through wget. (Closes: #10364)
anonym's avatar
anonym committed
942
943
944
945
    - Prevent a symlink attack on ~/.xsession-errors via
      tails-debugging-info which could be used by the amnesia user to
      read the contents of any file, no matter the
      permissions. (Closes: #10333)
anonym's avatar
anonym committed
946
947
948
949
950
951
952
953
954
955
956
957
958
    - Upgrade libfreetype6 to 2.4.9-1.1+deb7u2.
    - Upgrade gdk-pixbuf packages to 2.26.1-1+deb7u2.
    - Upgrade Linux to 3.16.7-ckt11-1+deb8u5.
    - Upgrade openjdk-7 packages to 7u85-2.6.1-6~deb7u1.
    - Upgrade unzip to 6.0-8+deb7u4.

  * Bugfixes
    - Add a temporary workaround for an issue in our code which checks
      whether i2p has bootstrapped, which (due to some recent change
      in either I2P or Java) could make it appear it had finished
      prematurely. (Closes: #10185)
    - Fix a logical bug in the persistence preset migration code while
      real-only persistence is enabled. (Closes: #10431)
anonym's avatar
anonym committed
959
960

  * Minor improvements
anonym's avatar
anonym committed
961
962
    - Rework the wordings of the various installation and upgrade
      options available in Tails installer in Wheezy. (Closes: #9672)
anonym's avatar
anonym committed
963
964
965
966
967
    - Restart Tor if bootstrapping stalls for too long when not using
      pluggable transports. (Closes: #9516)
    - Install firmware-amd-graphics, and firmware-misc-nonfree instead
      of firmware-ralink-nonfree, both from Debian Sid.
    - Update the Tails signing key. (Closes: #10012)
anonym's avatar
anonym committed
968
969
970
971
972
973
    - Update the Tails APT repo signing key. (Closes: #10419)
    - Install the nmh package. (Closes: #10457)
    - Explicitly run "sync" at the end of the Tails Upgrader's upgrade
      process, and pass the "sync" option when remounting the system
      partition as read-write. This might help with some issues we've
      seen, such as #10239, and possibly for #8449 as well.
anonym's avatar
anonym committed
974
975
976

  * Test suite
    - Add initial automated tests for Icedove. (Closes: #10332)
elouann's avatar
elouann committed
977
    - Add automated tests of the MAC spoofing feature. (Closes: #6302)
anonym's avatar
anonym committed
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
    - Drop the concept of "background snapshots" and introduce a general
      system for generating snapshots that can be shared between
      features. This removes all silly hacks we previously used to
      "skip" steps, and greatly improves performance and reliability
      of the whole test suite. (Closes: #6094, #8008)
    - Flush to the log file in debug_log() so the debugging info can
      be viewed in real time when monitoring the debug log
      file. (Closes: #10323)
    - Force UTF-8 locale in automated test suite. Ruby will default to
      the system locale, and if it is non-UTF-8, some String-methods
      will fail when operating on non-ASCII strings. (Closes: #10359)
    - Escape regexp used to match nick in CTCP replies. Our Pidgin
      nick's have a 10% chance to include a ^, which will break that
      regexp. We need to escape all characters in the nick. (Closes:
      #10219)
    - Extract TBB languages from the Tails source code. This will
      ensure that valid locales are tested. As an added bonus, the
      code is greatly simplified. (Closes: #9897)
anonym's avatar
anonym committed
996
997
    - Automatically test that tails-debugging-info is not susceptible
      to the type of symlink attacks fixed by #10333.
anonym's avatar
anonym committed
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
    - Save all test suite artifacts in a dedicated directory with more
      useful infromation encoded in the path. This makes it easier to
      see which artifacts belongs to which failed scenario and which
      run. (Closes: #10151)
    - Log all useful information via Cucumber's formatters instead of
      printing to stderr, which is not included when logging to file
      via `--out`. (Closes: #10342)
    - Continue running the automated test suite's vnc server even if
      the client disconnects. (Closes: #10345)
    - Add more automatic tests for I2P. (Closes: #6406)
    - Bump the Tor circuit retry count to 10. (Closes: #10375)
    - Clean up dependencies: (Closes: #10208)
      * libxslt1-dev
      * radvd
      * x11-apps
anonym's avatar
anonym committed
1013

anonym's avatar
anonym committed
1014
 -- Tails developers <tails@boum.org>  Tue, 03 Nov 2015 01:09:41 +0100
bertagaz's avatar
bertagaz committed
1015

anonym's avatar
anonym committed
1016
tails (1.6) unstable; urgency=medium
anonym's avatar
anonym committed
1017

anonym's avatar
anonym committed
1018
1019
1020
  * Security fixes
    - Upgrade Tor Browser to 5.0.3. (Closes: #10223)
    - Upgrade bind9-based packages to 1:9.8.4.dfsg.P1-6+nmu2+deb7u7.
1021
    - Upgrade liblcms1 to 1.19.dfsg2-1.2+deb7u1.
anonym's avatar
anonym committed
1022
1023
    - Upgrade libldap-2.4-2 to 2.4.31-2+deb7u1.
    - Upgrade libslp1 to 1.2.1-9+deb7u1.
1024
    - Upgrade ssl-cert to 1.0.32+deb7u1.
anonym's avatar
anonym committed
1025

anonym's avatar
anonym committed
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
  * Bugfixes
    - Fix a corner case for the MAC spoofing panic mode. If panic mode
      failed to disable the specific device that couldn't be spoofed
      (by unloading the module) we disable networking. Previously we
      only stopped NetworkManager. The problem is that NM isn't even
      started at this time, but will specifically be started when
      we're done with MAC spoofing. Therefore, let's completely
      disable NetworkManager so it cannot possibly be
      started. (Closes: #10160)
    - Avoid use of uninitialized value in restricted-network-detector.
      If NetworkManager decides that a wireless connection has timed
      out before "supplicant connection state" has occued, our idea of
      the state is `undef`, so it cannot be used in a string
      comparison. Hence, let's initialize the state to the empty
      string instead of `undef`. Also fix the state
      recording. Apparently NetworkManager can say a few different
      things when it logs the device state transitions. (Closes:
      #7689)

  * Minor improvements
    - Remove workaround for localizing search engine plugins. The
      workaround has recently become unnecessary, possibly due to the
      changes made for the seach bar after the Tor Browser was rebased
      on Firefox 38esr. (Closes: #9146)
    - Refer to the I2P Browser in the I2P notifications. Instead of
      some obscure links that won't work in the Tor Browser, where
      users likely will try them, and which I believe will open them
      by default. (Closes: #10182)
    - Upgrade I2P to 0.9.22. Also set the I2P apparmor profile to
      enforce mode. (Closes: #9830)

  * Test suite
    - Test that udev-watchdog is monitoring the correct device when
      booted from USB. (Closes: #9890)
    - Remove unused 'gksu' step. This causes a false-positive to be
      found for #5330. (Closes: #9877)
    - Make --capture capture individual videos for failed scenarios
      only, and --capture-all to capture videos for all scenarios.
      (Closes: #10148)
anonym's avatar
anonym committed
1065
    - Use the more efficient x264 encoding when capturing videos using
anonym's avatar
anonym committed
1066
      the --capture* options. (Closes: #10001)
anonym's avatar
anonym committed
1067
    - Make --old-iso default to --iso if omitted. Using the same ISO
anonym's avatar
anonym committed
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
      for the USB upgrade tests most often still does what we want,
      e.g. test that the current version of Tails being tested has a
      working Tails installer. Hence this seems like a reasonable
      default. (Closes: #10147)
    - Avoid nested FindFailed exceptions in waitAny()/findAny(), and
      throw a new dedicated FindAnyFailed exception if these fail
      instead. Rjb::throw doesn't block Ruby's execution until the
      Java exception has been received by Ruby, so strange things can
      happen and we must avoid it. (Closes: #9633)
    - Fix the Download Management page in our browsers. Without the
      browser.download.panel.shown pref set, the progress being made
      will not update until after the browser has been restarted.
      (Closes: #8159)
    - Add a 'pretty_debug' (with an alias: 'debug') Cucumber formatter
      that deals with debugging instead of printing it to STDERR via
      the `--debug` option (which now has been removed). This gives us
      the full flexibility of Cucumber's formatter system, e.g. one
      easy-to-read formatter can print to the terminal, while we get
      the full debug log printed to a file. (Closes: #9491)
    - Import logging module in otr-bot.py. Our otr-bot.py does not use
      logging but the jabberbot library makes logging calls, causing a
      one-off message “No handlers could be found for logger
      "jabberbot"” to be printed to the console. This commit
      effectively prevents logging/outputting anything to the terminal
      which is at a level lower than CRITICAL. (Closes: 9375)
    - Force new Tor circuit and reload web site on browser
      timeouts. (Closes: #10116)
    - Focus Pidgin's buddy list before trying to access the tools
      menu. (Closes: #10217)
    - Optimize IRC test using waitAny. If connecting to IRC fails,
      such as when OFTC is blocking Tor, waiting 60 seconds to connect
      while a a Reconnect button is visible is sub-optimal. It would
      be better to try forcing a new Tor circuit and clicking the
      reconnect button. (Closes: #9653)
    - Wait for (and focus if necessary) Pidgin's Certificate windows.
      (Closes: #10222)

 -- Tails developers <tails@boum.org>  Sun, 20 Sep 2015 17:47:26 +0000
anonym's avatar
anonym committed
1106

anonym's avatar
anonym committed
1107
tails (1.5.1) unstable; urgency=medium
anonym's avatar
anonym committed
1108

anonym's avatar
anonym committed
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
  * Security fixes
    - Upgrade Tor Browser to 5.0.2. (Closes: #10112)
    - Upgrade gdk-pixbuf packages to 2.26.1-1+deb7u1.
    - Upgrade libnss3 to 2:3.14.5-1+deb7u5.

  * Bugfixes
    - Refresh Tor Browser AppArmor profile patch. The old one doesn't
      apply on top of testing's torbrowser-launcher anymore.

  * Build system
    - Make sure Jenkins creates new jobs to build the testing branch
      after freezes. (Closes: #9925)
anonym's avatar
anonym committed
1121

anonym's avatar
anonym committed
1122
 -- Tails developers <tails@boum.org>  Fri, 28 Aug 2015 01:52:14 +0200
anonym's avatar
anonym committed
1123

anonym's avatar
anonym committed
1124
tails (1.5) unstable; urgency=medium
anonym's avatar
anonym committed
1125

intrigeri's avatar
intrigeri committed
1126
1127
1128
  * Major new features and changes
    - Move LAN web browsing from Tor Browser to the Unsafe Browser,
      and forbid access to the LAN from the former. (Closes: #7976)
1129
1130
    - Install a 32-bit GRUB EFI boot loader. This at least works
      on some Intel Baytrail systems. (Closes: #8471)
anonym's avatar
anonym committed
1131

intrigeri's avatar
intrigeri committed
1132
  * Security fixes
anonym's avatar
anonym committed
1133
    - Upgrade Tor Browser to 5.0, and integrate it:
1134
1135
1136
      · Disable Tiles in all browsers' new tab page.
      · Don't use geo-specific search engine prefs in our browsers.
      · Hide Tools -> Set Up Sync, Tools -> Apps (that links to the Firefox
anonym's avatar
anonym committed
1137
        Marketplace), and the "Share this page" button in the Tool bar.
anonym's avatar
anonym committed
1138
1139
1140
      · Generate localized Wikipedia search engine plugin icons so the
        English and localized versions can be distinguished in the new
        search bar. (Closes: #9955)
intrigeri's avatar
intrigeri committed
1141
    - Fix panic mode on MAC spoofing failure. (Closes: #9531)
intrigeri's avatar
intrigeri committed
1142
1143
1144
1145
    - Deny Tor Browser access to global tmp directories with AppArmor,
      and give it its own $TMPDIR. (Closes: #9558)
    - Tails Installer: don't use a predictable file name for the subprocess
      error log. (Closes: #9349)
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
    - Pidgin AppArmor profile: disable the launchpad-integration abstraction,
      which is too wide-open.
    - Use aliases so that our AppArmor policy applies to
      /lib/live/mount/overlay/ and /lib/live/mount/rootfs/*.squashfs/ as well as
      it applies to /. And accordingly:
      · Upgrade AppArmor packages to 2.9.0-3~bpo70+1.
      · Install rsyslog from wheezy-backports, since the version from Wheezy
        conflicts with AppArmor 2.9.
      · Stop installing systemd for now: the migration work is being done in
        the feature/jessie branch, and it conflicts with rsyslog from
        wheezy-backports.
      · Drop apparmor-adjust-user-tmp-abstraction.diff: obsoleted.
      · apparmor-adjust-tor-profile.diff: simplify and de-duplicate rules.
      · Take into account aufs whiteouts in the system_tor profile.
      · Adjust the Vidalia profile to take into account Live-specific paths.
1161
    - Upgrade Linux to 3.16.7-ckt11-1+deb8u3.
intrigeri's avatar
intrigeri committed
1162
1163
1164
1165
1166
1167
1168
1169
1170
    - Upgrade bind9-host, dnsutils and friends to 1:9.8.4.dfsg.P1-6+nmu2+deb7u6.
    - Upgrade cups-filters to 1.0.18-2.1+deb7u2.
    - Upgrade ghostscript to 9.05~dfsg-6.3+deb7u2.
    - Upgrade libexpat1 to 2.1.0-1+deb7u2.
    - Upgrade libicu48 to 4.8.1.1-12+deb7u3.
    - Upgrade libwmf0.2-7 to 0.2.8.4-10.3+deb7u1.
    - Upgrade openjdk-7 to 7u79-2.5.6-1~deb7u1.

  * Bugfixes
1171
    - Upgrade Tor to 0.2.6.10-1~d70.wheezy+1+tails1.
intrigeri's avatar
intrigeri committed
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184

  * Minor improvements
    - Tails Installer: let the user know when it has rejected a candidate
      destination device because it is too small. (Closes: #9130)
    - Tails Installer: prevent users from trying to "upgrade" a device
      that contains no Tails, or that was not installed with Tails Installer.
      (Closes: #5623)
    - Install libotr5 and pidgin-otr 4.x from wheezy-backports. This adds
      support for the OTRv3 protocol and for multiple concurrent connections
      to the same account. (Closes: #9513)
    - Skip warning dialog when starting Tor Browser while being offline,
      in case it is already running. Thanks to Austin English for the patch!
      (Closes: #7525)
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
    - Install the apparmor-profiles package (Closes: #9539), but don't ship
      a bunch of AppArmor profiles we don't use, to avoid increasing
      boot time. (Closes: #9757)
    - Ship a /etc/apparmor.d/tunables/home.d/tails snippet, instead
      of patching /etc/apparmor.d/tunables/home.
    - live-boot: don't mount tmpfs twice on /live/overlay, so that the one which
      is actually used as the read-write branch of the root filesystem's union
      mount, is visible. As a consequence:
      · One can now inspect how much space is used, at a given time, in the
        read-write branch of the root filesystem's union mount.
      · We can make sure our AppArmor policy works fine when that filesystem
anonym's avatar
anonym committed
1196
        is visible, which is safer in case e.g. live-boot's behavior changes
1197
1198
        under our feet in the future... or in case these "hidden" files are
        actually accessible somehow already.
intrigeri's avatar
intrigeri committed
1199
1200
1201
1202
1203

  * Build system
    - Add our jenkins-tools repository as a Git submodule, and replace
      check_po.sh with a symlink pointing to the same script in that submodule.
      Adjust the automated test suite accordingly. (Closes: #9567)
anonym's avatar
anonym committed
1204
1205
1206
    - Bump amount of RAM needed for Vagrant RAM builds to 7.5 GiB. In
      particular the inclusion of the Tor Browser 5.0 series has recently
      increased the amount of space needed to build Tails. (Closes: #9901)
intrigeri's avatar
intrigeri committed
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236

  * Test suite
    - Test that the Tor Browser cannot access LAN resources.
    - Test that the Unsafe Browser can access the LAN.
    - Installer: test new behavior when trying to upgrade an empty device, and
      when attempting to upgrade a non-Tails FAT partition on GPT; also, take
      into account that all unsupported upgrade scenarios now trigger
      the same behavior.
    - Request a new Tor circuit and re-run the Seahorse and GnuPG CLI tests
      on failure. (Closes: #9518, #9709)
    - run_test_suite: remove control chars from log file even when cucumber
      exits with non-zero. (Closes: #9376)
    - Add compatibility with cucumber 2.0 and Debian Stretch. (Closes: #9667)
    - Use custom exception when 'execute_successfully' fails.
    - Retry looking up whois info on transient failure. (Closes: #9668)
    - Retry wget on transient failure. (Closes: #9715)
    - Test that Tor Browser cannot access files in /tmp.
    - Allow running the test suite without ntp installed. There are other means
      to have an accurate host system clock, e.g. systemd-timesyncd and tlsdate.
      (Closes: #9651)
    - Bump timeout in the Totem feature.
    - Grep memory dump using the --text option. This is necessary with recent
      versions of grep, such as the one in current Debian sid, otherwise it
      will count only one occurrence of the pattern we're looking for.
      (Closes: #9759)
    - Include execute_successfully's error in the exception, instead
      of writing it to stdout via puts. (Closes: #9795)
    - Test that udev-watchdog is actually monitoring the correct device.
      (Closes: #5560)
    - IUK: workaround weird Archive::Tar behaviour on current sid.
1237
1238
1239
1240
1241
1242
1243
1244
    - Test the SocksPort:s given in torrc in the Unsafe Browser.
      This way we don't get any sneaky errors in case we change them and
      forget to update this test.
    - Directly verify AppArmor blocking of the Tor Browser by looking in
      the audit log: Firefox 38 does no longer provide any graphical feedback
      when the kernel blocks its access to files the user wants to access.
    - Update browser-related automated test suite images, and workaround
      weirdness introduced by the new Tor Browser fonts.
1245
1246
1247
    - Test that Pidgin, Tor Browser, Totem and Evince cannot access ~/.gnupg
      via alternate, live-boot generated paths.
    - Adjust tests to cope with our new AppArmor aliases.
anonym's avatar
anonym committed
1248
    - Bump memory allocated to the system under test to 2 GB. (Closes: #9883)
intrigeri's avatar
intrigeri committed
1249

anonym's avatar
anonym committed
1250
 -- Tails developers <tails@boum.org>  Mon, 10 Aug 2015 19:12:58 +0200
anonym's avatar
anonym committed
1251

intrigeri's avatar
intrigeri committed
1252
tails (1.4.1) unstable; urgency=medium
1253

intrigeri's avatar
intrigeri committed
1254
1255
1256
1257
1258
1259
1260
1261
1262
  * Security fixes
    - Upgrade Tor Browser to 4.5.3, based on Firefox 31.8.0 ESR. (Closes: #9649)
    - Upgrade Tor to 0.2.6.9-1~d70.wheezy+1+tails2, which includes a circuit
      isolation bugfix. (Closes: #9560)
    - AppArmor: deny Tor Browser access to the list of recently used files.
      (Closes: #9126)
    - Upgrade OpenSSL to 1.0.1e-2+deb7u17.
    - Upgrade Linux to 3.16.7-ckt11-1.
    - Upgrade CUPS to 1.5.3-5+deb7u6.
1263
    - Upgrade FUSE to 2.9.0-2+deb7u2.
intrigeri's avatar
intrigeri committed
1264
1265
1266
    - Upgrade libsqlite3-0 to 3.7.13-1+deb7u2.
    - Upgrade ntfs-3g and ntfsprogs to 1:2012.1.15AR.5-2.1+deb7u2.
    - Upgrade p7zip-full to 9.20.1~dfsg.1-4+deb7u1.
1267

intrigeri's avatar
intrigeri committed
1268
1269
1270
1271
  * Bugfixes
    - Fix automatic upgrades in Windows Camouflage mode. (Closes: #9413)
    - Don't ship the snakeoil SSL key pair generated by ssl-cert in the ISO.
      (Closes: #9416)
1272
    - Partially fix the truncated notifications issue. (#7249)
intrigeri's avatar
intrigeri committed
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286

  * Minor improvements
    - Disable the hwclock.sh initscript at reboot/shutdown time.
      This is an additional safety measure to ensure that the hardware clock
      is not modified. (Closes: #9364)
    - Stop shipping /var/cache/man/*, to make ISOs and IUKs smaller.
      (Closes: #9417)
    - Update torbrowser-AppArmor-profile.patch to apply cleanly on top of the
      profile shipped with torbrowser-launcher 0.2.0-1.
    - Add the jessie/updates APT repo and set appropriate pinning.
    - Upgrade Electrum to 1.9.8-4~bpo70+1.
    - Upgrade kernel firmware packages to 0.44.

  * Build system
1287
    - Install the Linux kernel from Debian Jessie. (Closes: #9341)
intrigeri's avatar
intrigeri committed
1288
1289
1290
1291
1292
1293
    - Remove files that are not under version control when building in Jenkins.
      (Closes: #9406)
    - Don't modify files in the source tree before having possibly merged
      the base branch into it. (Closes: #9406)
    - Make it so eatmydata is actually used during a greater part of the build
      process. This includes using eatmydata from wheezy-backports.
1294
      (Closes: #9419, #9523)
intrigeri's avatar
intrigeri committed
1295
1296
1297
1298
1299
1300
1301
1302
    - release script: adjust to support current Debian sid.

  * Test suite
    - Test the system clock sanity check we do at boot. (Closes: #9377)
    - Remove the impossible "Clock way in the past" scenarios.
      Thanks to config/chroot_local-includes/lib/live/config/0001-sane-clock,
      these scenarios cannot happen, and since we test that it works they
      can be safely removed.
intrigeri's avatar
intrigeri committed
1303
    - Test that the hardware clock is not modified at shutdown. (Closes: #9557)
intrigeri's avatar
intrigeri committed
1304
    - Pidgin: retry looking for the roadmap URL in the topic.
1305
    - Avoid showing Pidgin's tooltips during test, potentially confusing Sikuli.
intrigeri's avatar
intrigeri committed
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
      (Closes: #9317)
    - Test all OpenPGP keys shipped with Tails. (Closes: #9402)
    - Check that notification-daemon is running when looking for notifications
      fails. (Closes: #9332)
    - Allow using the cucumber formatters however we want. (Closes: #9424)
    - Enable Spice in the guest, and blacklist the psmouse kernel module,
      to help with lost mouse events. (Closes: #9425)
    - Automate testing Torbutton's 'New Identity' feature. (Closes: #9286)
    - Test that Seahorse is configured to use the correct keyserver.
      (Closes: #9339)
    - Always export TMPDIR back to the test suite's shell environment.
      (Closes: #9479)
    - Make OpenPGP tests more reliable:
      · Retry accessing the OpenPGP applet menus on failure. (Closes: #9355)
      · Retry accessing menus in Seahorse on failure. (Closes: #9344)
    - Focus the Pidgin conversation window before any attempt to interact
      with it. (Closes: #9317)
    - Use convertkey from the (backported to Jessie) Debian package,
      instead of our own copy of that script. (Closes: #9066)
    - Make the memory erasure tests more robust (Closes: #9329):
      · Bump /proc/sys/vm/min_free_kbytes when running fillram.
      · Actually set oom_adj for the remote shell when running fillram.
      · Try to be more sure that we OOM kill fillram.
      · Run fillram as non-root.
    - Only try to build the storage pool if TailsToasterStorage isn't found.
      (Closes: #9568)

 -- Tails developers <tails@boum.org>  Sun, 28 Jun 2015 19:46:25 +0200
1334

anonym's avatar
anonym committed
1335
tails (1.4) unstable; urgency=medium
1336

anonym's avatar
anonym committed
1337
  * Major new features
anonym's avatar
anonym committed
1338
1339
1340
1341
1342
1343
    - Upgrade Tor Browser to 4.5.1, based on Firefox 31.7.0 ESR, which
      introduces many major new features for usability, security and
      privacy. Unfortunately its per-tab circuit view did not make it
      into Tails yet since it requires exposing more Tor state to the
      user running the Tor Browser than we are currently comfortable
      with. (Closes: #9031, #9369)
anonym's avatar
anonym committed
1344
1345
1346
1347
1348
1349
    - Upgrade Tor to 0.2.6.7-1~d70.wheezy+1+tails2. Like in the Tor
      bundled with the Tor Browser, we patch it so that circuits used
      for SOCKSAuth streams have their lifetime increased indefinitely
      while in active use. This currently only affects the Tor Browser
      in Tails, and should improve the experience on certain web sites
      that otherwise would switch language or log you out every ten
anonym's avatar
anonym committed
1350
      minutes or so when Tor switches circuit. (Closes: #7934)
1351

anonym's avatar
anonym committed
1352
  * Security fixes
anonym's avatar
anonym committed
1353
1354
1355
1356
1357
1358
1359
    - tor-browser wrapper script: avoid offering avenues to arbitrary
      code execution to e.g. an exploited Pidgin. AppArmor Ux rules
      don't sanitize $PATH, which can lead to an exploited application
      (that's allowed to run this script unconfined, e.g. Pidgin)
      having this script run arbitrary code, violating that
      application's confinement. Let's prevent that by setting PATH to
      a list of directories where only root can write. (Closes: #9370)
anonym's avatar
anonym committed
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
    - Upgrade Linux to 3.16.7-ckt9-3.
    - Upgrade curl to 7.26.0-1+wheezy13.
    - Upgrade dpkg to 1.16.16.
    - Upgrade gstreamer0.10-plugins-bad to 0.10.23-7.1+deb7u2.
    - Upgrade libgd2-xpm to 2.0.36~rc1~dfsg-6.1+deb7u1.
    - Upgrade openldap to 2.4.31-2.
    - Upgrade LibreOffice to 1:3.5.4+dfsg2-0+deb7u4.
    - Upgrade libruby1.9.1 to 1.9.3.194-8.1+deb7u5.
    - Upgrade libtasn1-3 to 2.13-2+deb7u2.
    - Upgrade libx11 to 2:1.5.0-1+deb7u2.
    - Upgrade libxml-libxml-perl to 2.0001+dfsg-1+deb7u1.
    - Upgrade libxml2 to 2.8.0+dfsg1-7+wheezy4.
    - Upgrade OpenJDK to 7u79-2.5.5-1~deb7u1.
    - Upgrade ppp to 2.4.5-5.1+deb7u2.

  * Bugfixes
1376
1377
    - Disable security warnings when connecting to POP3 and IMAP ports.
      (Closes: #9327)
1378
1379
    - Make the Windows 8 browser theme compatible with the Unsafe and I2P
      browsers. (Closes: #9138)
anonym's avatar
anonym committed
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
    - Hide Torbutton's "Tor Network Settings..." context menu entry.
      (Closes: #7647)
    - Upgrade the syslinux packages to support booting Tails on
      Chromebook C720-2800. (Closes: #9044)
    - Enable localization in Tails Upgrader. (Closes: #9190)
    - Make sure the system clock isn't before the build date during
      early boot. Our live-config hook that imports our signing keys
      depend on that the system clock isn't before the date when the
      keys where created. (Closes: #9149)
    - Set GNOME's OpenPGP keys via desktop.gnome.crypto.pgp to prevent
      us from getting GNOME's default keyserver in addition to our
      own. (Closes: #9233)
1392
1393
    - Prevent Firefox from crashing when Orca is enabled: grant
      it access to assistive technologies in its Apparmor
anonym's avatar
anonym committed
1394
      profile. (Closes: #9261)
1395
1396
1397
1398
    - Add Jessie APT source. (Closes: #9278)
    - Fix set_simple_config_key(). If the key already existed in the
      config file before the call, all other lines would be removed
      due to the sed option -n and p combo. (Closes: #9122)
anonym's avatar
anonym committed
1399
1400
1401
    - Remove illegal instance of local outside of function definition.
      Together with `set -e` that error has prevented this script from
      restarting Vidalia, like it should. (Closes: #9328)
anonym's avatar
anonym committed
1402
1403
1404
1405
1406
1407

  * Minor improvements
    - Upgrade I2P to 0.9.19-3~deb7u+1.
    - Install Tor Browser's bundled Torbutton instead of custom .deb.
      As of Torbutton 1.9.1.0 everything we need has been upstreamed.
    - Install Tor Browser's bundled Tor Launcher instead of our
1408
      in-tree version. With Tor 0.2.6.x our custom patches for the
anonym's avatar
anonym committed
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
      ClientTransportPlugin hacks are not needed any more. (Closes:
      #7283)
    - Don't install msmtp and mutt. (Closes: #8727)
    - Install fonts-linuxlibertine for improved Vietnamese support in
      LibreOffice. (Closes: #8996)
    - Remove obsoletete #i2p-help IRC channel from the Pidgin
      configuration (Closes: #9137)
    - Add Gedit shortcut to gpgApplet's context menu. Thanks to Ivan
      Bliminse for the patch. (Closes: #9069).
    - Install printer-driver-gutenprint to support more printer
      models. (Closes: #8994).
1420
    - Install paperkey for off-line OpenPGP key backup. (Closes: #8957)
anonym's avatar
anonym committed
1421
1422
1423
    - Hide the Tor logo in Tor Launcher. (Closes: #8696)
    - Remove useless log() instance in tails-unblock-network. (Closes:
      #9034)
anonym's avatar
anonym committed
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
    - Install cdrdao: this enables Brasero to burn combined data/audio
      CDs and to do byte-to-byte disc copy.
    - Hide access to the Add-ons manager in the Unsafe Browser. It's
      currently broken (#9307) but we any way do not want users to
      install add-ons in the Unsafe Browser. (Closes: #9305)
    - Disable warnings on StartTLS for POP3 and IMAP (Will-fix: #9327)
      The default value of this option activates warnings on ports
      23,109,110,143. This commit disables the warnings for POP3 and
      IMAP as these could be equally used in encrypted StartTLS
      connections. (Closes: #9327)
    - Completely rework how we localize our browser by generating our
      branding add-on, and search plugins programatically. This
      improves the localization for the ar, es, fa, ko, nl, pl, ru,
      tr, vi and zh_CN locales by localizing the Startpage and
      Disconnect.me search plugins. Following Tor Browser 4.5's recent
      switch, we now use Disconnect.me as the default search
      engine. (Closes: #9309)
    * Actively set Google as the Unsafe Browser's default search
      engine.
intrigeri's avatar
intrigeri committed
1443

anonym's avatar
anonym committed
1444
1445
1446
1447
1448
1449
  * Build system
    - Encode in Git which APT suites to include when building Tails.
      (Closes: #8654)
    - Clean up the list of packages we install. (Closes: #6073)
    - Run auto/{build,clean,config} under `set -x' for improved
      debugging.
anonym's avatar
anonym committed
1450
1451
    - Zero-pad our ISO images so their size is divisible by 2048.
      The data part of an ISO image's sectors is 2048 bytes, which
anonym's avatar
anonym committed
1452
      implies that ISO images should always have a size divisible
anonym's avatar
anonym committed
1453
      by 2048. Some applications, e.g. VirtualBox, use this as a sanity
anonym's avatar
anonym committed
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
      check, treating ISO images for which this isn't true as garbage.
      Our isohybrid post-processing does not ensure this,
      however. Also Output ISO size before/after isohybrid'ing and
      truncate'ing it. This will help detect if/when truncate is
      needed at all, so that we can report back to syslinux
      maintainers more useful information. (Closes: #8891)
    - Vagrant: raise apt-cacher-ng's ExTreshold preference to 50. The
      goal here is to avoid Tor Browser tarballs being deleted by
      apt-cacher-ng's daily expiration cronjob: they're not listed in
      any APT repo's index file, so acng will be quite eager to clean
      them up.
1465

anonym's avatar
anonym committed
1466
1467
1468
1469
1470
  * Test suite
    - Bring dependency checks up-to-date (Closes: #8988).
    - Adapt test suite to be run on Debian Jessie, which includes
      removing various Wheezy-specific workarounds, adding a few
      specific to Jessie, migrating from ffmpeg to libav, and
1471
      more. (Closes: #8165)
anonym's avatar
anonym committed
1472
1473
    - Test that MAT can see that a PDF is dirty (Closes: #9136).
    - Allow throwing Timeout::Error in try_for() blocks, as well as
1474
1475
1476
      nested try_for() (Closes: #9189, #9290).
    - Read test suite configuration files from the features/config/local.d
      directory. (Closes: #9220)
anonym's avatar
anonym committed
1477
1478
1479
1480
1481
1482
1483
1484
    - Kill virt-viewer with SIGTERM, not SIGINT, to prevent hordes of
      zombie processes from appearing. (Closes: #9139)
    - Kill Xvfb with SIGTERM, not SIGKILL, on test suite exit to allow
      it to properly clean up. (Closes: #8707)
    - Split SSH & SFTP configs in the test suite. (Closes: #9257)
    - Improve how we start subprocesses in the test suite, mostly by
      bypassing the shell for greater security and robustness (Closes:
      #9253)
anonym's avatar
anonym committed
1485
    - Add Electrum test feature. (Closes #8963)
anonym's avatar
anonym committed
1486
    - Test that Tails Installer detects when USB devices are
anonym's avatar
anonym committed
1487
1488
1489
1490
1491
      removed. (Closes: #9131)
    - Test Tails Installer with devices which are too small. (Closes:
      #9129)
    - Test that the Report an Error launcher works in German. (Closes:
      #9143)
anonym's avatar
anonym committed
1492
1493
1494
1495
    - Verify that no extensions are installed in the Unsafe Browser
      using about:support instead of about:addons, which is broken
      (#9307). (Closes: #9306)
    - Retry GNOME application menu actions when they glitch. The
anonym's avatar
anonym committed
1496
1497
1498
1499
1500
      GNOME application menus seem to have issues with clicks or
      hovering actions not registering, and hence sometimes submenus
      are not opened when they should, and sometimes clicks on the
      final application shortcut are lost. There seems to be a
      correlation between this and CPU load on the host running the
anonym's avatar
anonym committed
1501
1502
      test suite. We workaround this by simply re-trying the last
      action when it seems to fail. (Closes: #8928)
anonym's avatar
anonym committed
1503
1504
    - Work around Seahorse GUI glitchiness (Closes: #9343):
      * When Seahorse appears to be frozen--apparently due to network
anonym's avatar
anonym committed
1505
1506
        issues--it can often be worked around by refreshing the screen
        or activating a new window.
anonym's avatar
anonym committed
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
      * Open Seahorse's preferences dialog using the mouse.
      * Access menu entries with the mouse.
    - Wait for systray icons to finish loading before interacting with
      the systray. (Closes: #9258)
    - Test suite configuration: generalize local.d support to *.d. We
      now load features/config/*.d/*.yml.
    - Use code blocks in "After Scenario" hooks. This is much simpler
      to use (and more readable!) compared to hooking functions and
      arguments like we used to do.
    - Create filesystem share sources in the temporary directory and
      make them world-readable. (Closes: #8950)
1518

anonym's avatar
anonym committed
1519
 -- Tails developers <tails@boum.org>  Mon, 11 May 2015 16:45:04 +0200
1520

anonym's avatar
anonym committed
1521
tails (1.3.2) unstable; urgency=medium
1522

anonym's avatar
anonym committed
1523
1524
  * Security fixes
    - Upgrade Tor Browser to 4.0.6, based on Firefox 31.6.0 ESR.
anonym's avatar
anonym committed
1525
    - Upgrade OpenSSL to 1.0.1e-2+deb7u16.
anonym's avatar
anonym committed
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540

  * Bugfixes
    - Make Florence usable with touchpads by forcing syndaemon to
      always use the `-t` option, which only disables tapping and
      scrolling and not mouse movements (Closes: #9011).
    - Make tails-spoof-mac log the correct macchanger exit code on
      failure (Closes: #8687).
    - Tails Installer:
      · Ignore devices with less than 3.5 GB of storage since they
        do not fit a Tails installation (Closes: #6538).
      · Remove devices from the device list as they are unplugged
        (Closes: #8691).

  * Minor improvements
    - Install obfs4proxy 0.0.4-1~tpo1, which adds support for
intrigeri's avatar
intrigeri committed
1541
      client-mode ScrambleSuit.
anonym's avatar
anonym committed
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
    - Don't start Vidalia if Windows Camouflage is enabled. (Closes:
      #7400)
    - I2P Browser:
      · Remove "Add-ons" from the Tools menu, and hide "Keyboard
        Shortcuts" and "Take a Tour" since they point to resources on
        the open Internet (Closes: #7970).
      · Hide TorButton button from the customize toolbar options, and
        remove configs whose only purpose was to make Torbutton "green"
        (Closes: #8893).

  * Test suite
    - New tests:
      · Test non-LAN SSH, and SFTP via GNOME's "Connect to Server"
        (Closes: #6308).
      · Verify that Tails' Tor binary has the expected Tor authorities
        hard coded (Closes: #8960).
    - Improvements:
      · Programmatically determine the supported languages when testing
        the Unsafe Browser (Closes: #8918).
      · Rename --temp-dir to --tmpdir and make it behave more like
        mktemp, and honour TMPDIR if set in the environment. (Closes:
        #8709).
    - Bugfixes:
      · Make --temp-dir (now --tmpdir) actually work.
1566

anonym's avatar
anonym committed
1567
 -- Tails developers <tails@boum.org>  Mon, 30 Mar 2015 16:54:20 +0200
1568

intrigeri's avatar
intrigeri committed
1569
tails (1.3.1) unstable; urgency=medium
1570

intrigeri's avatar
intrigeri committed
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
  * Security fixes
    - Upgrade Tor Browser to 4.0.5, based on Firefox 31.5.3 ESR. This addresses:
      · https://www.mozilla.org/en-US/security/advisories/mfsa2015-28/
      · https://www.mozilla.org/en-US/security/advisories/mfsa2015-29/
    - Upgrade Linux to 3.16.7-ckt7-1.
    - Upgrade libxfont to 1:1.4.5-5.
    - Upgrade OpenSSL to 1.0.1e-2+deb7u15.
    - Upgrade tcpdump to 4.3.0-1+deb7u2.
    - Upgrade bsdtar to 3.0.4-3+wheezy1.
    - Upgrade CUPS to 1.5.3-5+deb7u5.
    - Upgrade file and libmagic to 5.11-2+deb7u8.
    - Upgrade GnuPG to 1.4.12-7+deb7u7.
    - Upgrade libarchive to 3.0.4-3+wheezy1.
    - Upgrade libav to 6:0.8.17-1.
    - Upgrade FreeType 2 to 2.4.9-1.1+deb7u1.
    - Upgrade libgcrypt11 1.5.0-5+deb7u3.
    - Upgrade libgnutls26 to 2.12.20-8+deb7u3.
    - Upgrade libgtk2-perl to 2:1.244-1+deb7u1.
    - Upgrade ICU to 4.8.1.1-12+deb7u2.
    - Upgrade NSS to 2:3.14.5-1+deb7u4.
    - Upgrade libssh2 to 1.4.2-1.1+deb7u1.
1592

intrigeri's avatar
intrigeri committed
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
  * Bugfixes
    - Upgrade Tor to 0.2.5.11-1~d70.wheezy+1+tails1. Changes include:
      · Directory authority changes.
      · Fix assertion errors that may trigger under high DNS load.
      · No longer break on HUP with seccomp2 enabled.
      · and more - please consult the upstream changelog.
    - Upgrade Tor Launcher to 0.2.7.2, and update the test suite accordingly
      (Closes: #8964, #6985). Changes include:
      · Ask about bridges before proxy in wizard.
      · Hide logo if TOR_HIDE_BROWSER_LOGO set.
      · Remove firewall prompt from wizard.
      · Feedback when “Copy Tor Log” is clicked.
      · Improve behavior if tor exits.
      · Add option to hide TBB's logo
      · Change "Tor Browser Bundle" to "Tor Browser"
      · Update translations from Transifex.
intrigeri's avatar
intrigeri committed
1609
    - Fix the Tor Launcher killer. (Closes: #9067)
1610
1611
    - Allow Seahorse to communicate with keyservers when run from Tails
      OpenPGP Applet. (Closes: #6394)
1612
1613
    - SSH client: don't proxy connections to 172.17.* to 172.31.*.
      (Closes: #6558)
intrigeri's avatar
intrigeri committed
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
    - Repair config/chroot_local-packages feature, that was broken in Tails 1.3
      by 19-install-tor-browser-AppArmor-profile. (Closes: #8910)
    - language_statistics.sh: count original words instead of translated words.
      Otherwise we get >100% translation if translated strings are longer than
      original strings. (Closes: #9016)

  * Minor improvements
    - Only ship the new Tails signing key, and have Tails Upgrader stop trusting
      the old one. Update the documentation and test suite accordingly.
      (Closes: #8735, #8736, #8882, #8769, #8951)
1624
1625
1626
1627
1628
    - Polish and harden a bit the WhisperBack configuration (Closes: #8991):
      · Only allow the `amnesia' user to run tails-debugging info as root
        with no arguments.
      · Fix spelling and grammar mistakes, improve phrasing a bit.
      · Quote variables consistently.
intrigeri's avatar
intrigeri committed
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662

  * Test suite
    - New tests:
      · Chatting over XMPP in Pidgin, both peer-to-peer and in a multi-user
        chatroom. (Closes: #8002)
      · Chatting with OTR enabled over XMPP in Pidgin. (Closes: #8001)
      · Check that Pidgin only responds to the expected CTCP requests.
        (Closes: #8966)
      · Fetching keys using Seahorse started via the OpenPGP Applet.
      · Sync'ing keys using Seahorse.
    - Bugfixes:
      · Fix a race condition between the remote shell's and Tails Greeter's
        startup, by making sure the remote shell is ready before we start
        GDM. (Closes: #8941)
      · Kill virt-viewer properly. (Closes: #9070)
      · Make sure the display is stopped on destroy_and_undefine().
        Where we had it earlier, it could be skipped if anything else in the
        block threw an exception.
      · Fix wrong use of "$@". (Closes: #9071)
      · Enable the pipefail option in run_test_suite.
      · Improve the GNOME screenshot test's robustness. (Closes: #8952)
    - Refactoring:
      · turn the focus_pidgin_window() helper into a more generic
        VM.focus_xorg_window() one.
      · Reorganize the Display class.
      · Use clearer method to check process status in the Display class.
    - New developer-oriented features:
      · Add a --log-to-file option to run_test_suite. (Closes: #8894)
      · Add helpers for generating random strings.
      · Make it possible to hook arbitrary calls on scenario end. This is useful
        for dynamically adding cleanup functions, instead of having
        to explicitly deal with them in some After hook.

 -- Tails developers <tails@boum.org>  Mon, 23 Mar 2015 12:34:56 +0000
1663

Tails developers's avatar
Tails developers committed
1664
tails (1.3) unstable; urgency=medium
1665

1666
  * Major new features
Tails developers's avatar
Tails developers committed
1667
1668
1669
1670
1671
    - Produce the Tails image in hybrid mode (again) so that the same
      image can be installed both on DVD *and* "hard disks" like USB
      storage and similar. (Closes: #8510)
    - Confine the Tor Browser using AppArmor. (Closes: #5525)
    - Install the Electrum bitcoin client from wheezy-backports, and
1672
1673
      add a persistence preset for the Live user's bitcoin wallet. If
      electrum is started without the persistence preset enabled, a
Tails developers's avatar
Tails developers committed
1674
      warning is shown. (Closes: #6739)
1675

Tails developers's avatar
Tails developers committed
1676
1677
1678
1679
  * Security fixes
    - Upgrade Tor Browser to 4.0.4 (based on Firefox 31.5.0esr)
      (Closes: #8938).

1680
1681
1682
1683
1684
1685
  * Bugfixes
    - Have tor_bootstrap_progress echo 0 if no matching log line is
      found. (Closes: #8257)
    - Always pass arguments through wrappers (connect-socks, totem,
      wget, whois) with "$@". $* doesn't handle arguments with
      e.g. embedded spaces correctly. (Closes: #8603, #8830)
1686
    - Upgrade Linux to 3.16.7-ckt4-3.
1687
1688

  * Minor improvements
Tails developers's avatar
Tails developers committed
1689
1690
1691
    - Install a custom-built Tor package with Seccomp enabled;
      enable the Seccomp sandbox when no pluggable transport is used.
      (Closes: #8174)
1692
    - Install obfs4proxy instead of obfsproxy, which adds support for
Tails developers's avatar
Tails developers committed
1693
      the obfs4 Tor pluggable transport. (Closes: #7980)
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
    - Install GnuPG v2 and associated tools from wheezy-backports,
      primarily for its improved support for OpenPGP smartcards. It
      lives side-by-side with GnuPG v1, which still is the
      default. (Closes: #6241)
    - Install ibus-unikey, a Vietnamese input method for IBus. (Closes:
      #7999)
    - Install torsocks (2.x) from wheezy-backports. (Closes: #8220)
    - Install keyringer from Debian Jessie. (Closes: #7752)
    - Install pulseaudio-utils.
    - Remove all traces of Polipo: we don't use it anymore. This
      closes #5379 and #6115 because:
      * Have APT directly use the Tor SOCKS proxy. (Closes: #8194)
      * Wrap wget with torsocks. (Closes: #6623)
      * Wrap Totem to torify it with torsocks. (Closes: #8219)
      * Torify Git with tsocks, instead of setting GIT_PROXY_COMMAND.
        (Closes: #8680)
    - Use torsocks for whois and Gobby, instead of torify.
Tails developers's avatar
Tails developers committed
1711
    - Upgrade I2P to 0.9.18-1~deb7u+1.
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
    - Refactor the Unsafe and I2P browser code into a common shell
      library. A lot of duplicated code is now shared, and the code
      has been cleaned up and made more reliable. Several
      optimizations of memory usage and startup time were also
      implemented. (Closes: #7951)
    - Invert Exit and About in gpgApplet context menu. This is a
      short-term workaround for making it harder to exit the
      application by mistake (e.g. a double right-click). (Closes:
      #7450)
    - Implement new touchpad settings. This enables tap-to-click,
      2-fingers scrolling, and disable while typing. We don't enable
      reverse scrolling nor horizontal scrolling. (Closes: #7779)
    - Include the mount(8) output and live-additional-software.conf in
      WhisperBack bug reports (Closes: #8719, #8491).
    - Reduce brightness and saturation of background color. (Closes:
      #7963)
    - Have ALSA output sound via PulseAudio by default. This gives us
      centralized sound volume controls, and... allows to easily, and
      automatically, test that audio output works from Tor Browser,
      thanks to the PulseAudio integration into the GNOME sound
      control center.
    - Import the new Tails signing key, which we will use for Tails
      1.3.1, and have Tails Upgrader trust both it and the "old"
      (current) Tails signing key. (Closes: #8732)
    - tails-security-check: error out when passed an invalid CA file.
      Unfortunately, the underlying HTTPS stack we use here fails open
      in those case, so we have to check it ourselves. Currently, we
      check that the file exists, is readable, is a plain file and is
      not empty. Also support specifying the CA file via an
      environment variable. This will ease development and bug-fixing
      quite a bit.
    - Fix racy code in Tails Installer that sometimes made the
1744
      automated test suite stall for scenarios installing Tails
1745
      to USB disks. (Closes: #6092)
1746
    - Make it possible to use Tails Upgrader to upgrade a Tails
1747
1748
1749
1750
1751
1752
1753
1754
      installation that has cruft files on the system partition.
      (Closes: #7678)

  * Build system
    - Install syslinux-utils from our builder-wheezy APT repository in
      Vagrant. We need version 6.03~pre20 to make the Tails ISO image
      in hybrid mode
    - Update deb.tails.boum.org apt repo signing key. (Closes: #8747)
1755
    - Revert "Workaround build failure in lb_source, after creating
1756
1757
1758
1759
1760
1761
1762
1763
1764
      the ISO." This is not needed anymore given the move to the Tor
      SOCKS proxy. (Closes: #5307)
    - Remove the bootstrap stage usage option and disable all
      live-build caching in Vagrant. It introduces complexity and
      potential for strange build inconsistencies for a meager
      reduction in build time. (Closes: #8725)
    - Hardcode the mirrors used at build and boot time in auto/config.
      Our stuff will be more consistent, easier to reproduce, and our
      QA process will be more reliable if we all use the same mirrors
1765
      at build time as the ones we configure in the ISO. E.g. we won't
1766
1767
1768
1769
      have issues such as #8715 again. (Closes: #8726)
    - Don't attempt to retrieve source packages from local-packages so
      local packages can be installed via
      config/chroot_local-packages. (Closes: #8756)
Tails developers's avatar
Tails developers committed
1770
1771
    - Use our own Tor Browser archive when building an ISO. (Closes:
      #8125)
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809

  * Test suite
    - Use libguestfs instead of parted when creating partitions and
      filsystems, and to check that only the expected files
      persist. We also switch to qcow2 as the default disk image
      format everywhere to reduce disk usage, enable us to use
      snapshots that includes the disks (in the future), and to use
      the same steps for creating disks in all tests. (Closes: #8673)
    - Automatically test that Tails ignores persistence volumes stored
      on non-removable media, and doesn't enable swaps. (Closes:
      #7822)
    - Actually make sure that Tails can boot from live systems stored
      on a hard drive. Running the 'I start Tails from DVD ...' step
      will override the earlier 'the computer is set to boot from ide
      drive "live_hd"' step, so let's make the "from DVD" part
      optional; it will be the default any way.
    - Make it possible to use an old iso with different persistence
      presets. (Closes: #8091)
    - Hide the cursor between steps when navigating the GNOME
      applications menu. This makes it a bit more robust, again:
      sometimes the cursor is partially hiding the menu entry we're
      looking for, hence preventing Sikuli from finding it (in
      particular when it's "Accessories", since we've just clicked on
      "Applications" which is nearby). (Closes: #8875)
    - Ensure that the test will fail if "apt-get X" commands fail.
    - Test 'Tor is ready' notification in a separate scenario. (Closes:
      #8714)
    - Add automated tests for torified wget and whois. This should
      help us identify future regressions such as #8603 in their
      torifying wrappers.
    - Add automated test for opening an URL from Pidgin.
    - And add automated tests for the Tor Browser's AppArmor
      sandboxing.
    - Test that "Report an Error Launcher" opens the support
      documentation.
    - Test that the Unsafe Browser:
      * starts in various locales.
      * complains when DNS isn't configured.
1810
      * tears down its chroot on shutdown.
1811
1812
1813
1814
1815
1816
      * runs as the correct user.
      * has no plugins or add-ons installed.
      * has no unexpected bookmarks.
      * has no proxy configured.
    - Bump the "I2P router console is ready" timeout in its test to
      deal with slow Internet connections.
Tails developers's avatar
Tails developers committed
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
    - Make the automatic tests of gpgApplet more robust by relying
      more on graphical elements instead of keyboard shortcuts and
      static sleep():s. (Closes: #5632)
    - Make sure that enough disk space is available when creating
      virtual storage media. (Closes: #8907)
    - Test that the Unsafe Browser doesn't generate any non-user
      initiated traffic, and in particular that it doesn't check for
      upgrades, which is a regression test for #8694. (Closes: #8702)
    - Various robustness improvements to the Synaptic tests. (Closes:
      #8742)
    - Automatically test Git. (Closes: #6307)
    - Automatically test GNOME Screenshot, which is a regression test
      for #8087. (Closes: #8688)
    - Fix a quoting issue with `tails_persistence_enabled?`. (Closes:
      #8919)
    - Introduce an improved configuration system that also can store
      local secrets, like user credentials needed for some
      tests. (Closes: #6301, #8188)
    - Actually verify that we successfully set the time in our time
      syncing tests. (Closes: #5836)
    - Automatically test Tor. This includes normal functionality and
      the use pluggable transports, that our Tor enforcement is
      effective (e.g. only the Tor network or configured bridges are
      contacted) and that our stream isolation configuration is
      working. (Closes: #5644, #6305, #7821)
1842

Tails developers's avatar
Tails developers committed
1843
 -- Tails developers <tails@boum.org>  Mon, 23 Feb 2015 17:14:00 +0100
1844

Tails developers's avatar
Tails developers committed
1845
tails (1.2.3) unstable; urgency=medium
1846

Tails developers's avatar
Tails developers committed
1847
  * Security fixes
1848
1849
1850
    - Upgrade Linux to 3.16.7-ckt2-1.
    - Upgrade Tor Browser to 4.0.3 (based on Firefox 31.4.0esr)
      (Closes: #8700).
Tails developers's avatar