@product Feature: Untrusted partitions As a Tails user I don't want to touch other media than the one Tails runs from Scenario: Tails will not enable disk swap # features/untrusted_partitions.feature:6 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "swap" # features/step_definitions/common_steps.rb:59 00:00:16.896329780: libguestfs: trace: set_autosync true 00:00:16.896419827: libguestfs: trace: set_autosync = 0 00:00:16.898543868: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/swap" "format:qcow2" 00:00:16.898591759: libguestfs: trace: add_drive = 0 00:00:16.899381364: libguestfs: trace: launch 00:00:16.899438446: libguestfs: trace: get_tmpdir 00:00:16.899470936: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:00:16.899586196: libguestfs: trace: get_backend_setting "force_tcg" 00:00:16.899650659: libguestfs: trace: get_backend_setting = NULL (error) 00:00:16.900011034: libguestfs: trace: get_cachedir 00:00:16.900060331: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:00:21.315341006: libguestfs: trace: get_cachedir 00:00:21.315448264: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:00:21.442341409: libguestfs: trace: get_sockdir 00:00:21.442521720: libguestfs: trace: get_sockdir = "/tmp" 00:00:21.442620174: libguestfs: trace: get_backend_setting "gdb" 00:00:21.442661178: libguestfs: trace: get_backend_setting = NULL (error) 00:00:24.601912855: libguestfs: trace: launch = 0 00:00:24.602072903: libguestfs: trace: list_devices 00:00:24.602827730: libguestfs: trace: list_devices = ["/dev/sda"] 00:00:24.602897544: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:00:24.663500624: libguestfs: trace: part_disk = 0 00:00:24.663600202: libguestfs: trace: list_partitions 00:00:24.664013628: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:00:24.664070514: libguestfs: trace: mkswap "/dev/sda1" 00:00:24.684893653: libguestfs: trace: mkswap = 0 00:00:24.685154322: libguestfs: trace: close 00:00:24.685240400: libguestfs: trace: internal_autosync 00:00:24.687599945: libguestfs: trace: internal_autosync = 0 And I create a gpt swap partition on disk "swap" # features/step_definitions/untrusted_partitions.rb:1 And I plug sata drive "swap" # features/step_definitions/common_steps.rb:65 00:00:26.391516194: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:01:06.886298940: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:01:06.886662622: calling as root: echo 'hello?' 00:01:07.092291003: call returned: [0, "hello?\n", ""] 00:01:07.093110186: calling as root: service tor status 00:01:07.280437971: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:01:07.280929516: opening file /etc/tor/torrc in 'append' mode 00:01:07.428386385: append complete 00:01:08.252912558: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:01:08.254460514: calling as root: loginctl 00:01:08.398112573: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:01:09.398428592: calling as root: loginctl 00:01:09.643466159: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:01:17.200421522: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:01:17.298007111: call returned: [0, "", ""] 00:01:17.298123048: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:01:17.385533208: call returned: [0, "", ""] 00:01:17.386144289: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1 = dogtail.tree.root.application('gnome-shell') 00:01:18.242364976: execution complete 00:01:18.966060637: executing Python as amnesia: node2 = node1.child('No Notifications', roleName='label') 00:01:18.974621186: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:01:20.010246243: execution complete 00:01:20.010408614: executing Python as amnesia: node3 = node1.child('No Notifications', roleName='label') 00:01:20.737408969: execution complete When I start Tails with network unplugged and I login # features/step_definitions/common_steps.rb:116 00:01:20.807700904: calling as root: blkid '/dev/sda' 00:01:20.819137903: [log] TYPE "#ESC." 00:01:21.044076860: call returned: [0, "/dev/sda: PTUUID=\"d0bda169-b4de-4670-b2c2-fab2cd20e68a\" PTTYPE=\"gpt\"\n", ""] Then a "swap" partition was detected by Tails on drive "swap" # features/step_definitions/untrusted_partitions.rb:5 00:01:21.045655211: calling as root: tail -n+2 /proc/swaps 00:01:21.208460153: call returned: [0, "", ""] 00:01:21.208643379: calling as root: grep '^Swap' /proc/meminfo 00:01:21.343099611: call returned: [0, "SwapCached: 0 kB\nSwapTotal: 0 kB\nSwapFree: 0 kB\n", ""] But Tails has no disk swap enabled # features/step_definitions/untrusted_partitions.rb:12 Scenario: Tails will detect LUKS-encrypted GPT partitions labeled "TailsData" stored on USB drives as persistence volumes when the removable flag is set # features/untrusted_partitions.feature:15 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "fake_TailsData" # features/step_definitions/common_steps.rb:59 00:01:21.857400969: libguestfs: trace: set_autosync true 00:01:21.857462340: libguestfs: trace: set_autosync = 0 00:01:21.859532883: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/fake_TailsData" "format:qcow2" 00:01:21.859581775: libguestfs: trace: add_drive = 0 00:01:21.859637605: libguestfs: trace: launch 00:01:21.859664876: libguestfs: trace: get_tmpdir 00:01:21.859722539: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:01:21.859784271: libguestfs: trace: get_backend_setting "force_tcg" 00:01:21.859840991: libguestfs: trace: get_backend_setting = NULL (error) 00:01:21.859874569: libguestfs: trace: get_cachedir 00:01:21.859975549: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:01:21.891127137: libguestfs: trace: get_cachedir 00:01:21.891226385: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:01:21.891429572: libguestfs: trace: get_sockdir 00:01:21.891483805: libguestfs: trace: get_sockdir = "/tmp" 00:01:21.891567256: libguestfs: trace: get_backend_setting "gdb" 00:01:21.891680507: libguestfs: trace: get_backend_setting = NULL (error) 00:01:25.060111878: libguestfs: trace: launch = 0 00:01:25.060258090: libguestfs: trace: list_devices 00:01:25.061395056: libguestfs: trace: list_devices = ["/dev/sda"] 00:01:25.061483570: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:01:25.129424328: libguestfs: trace: part_disk = 0 00:01:25.129712570: libguestfs: trace: part_set_name "/dev/sda" 1 "TailsData" 00:01:25.180314193: libguestfs: trace: part_set_name = 0 00:01:25.180431908: libguestfs: trace: list_partitions 00:01:25.180775492: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:01:25.180959294: libguestfs: trace: luks_format "/dev/sda1" "***" 0 00:01:29.864943855: libguestfs: trace: luks_format = 0 00:01:29.865195354: libguestfs: trace: luks_open "/dev/sda1" "***" "sda1_unlocked" 00:01:32.068387240: libguestfs: trace: luks_open = 0 00:01:32.068528486: libguestfs: trace: mkfs "ext4" "/dev/mapper/sda1_unlocked" 00:01:32.176086306: libguestfs: trace: mkfs = 0 00:01:32.176180992: libguestfs: trace: luks_close "/dev/mapper/sda1_unlocked" 00:01:32.398366732: libguestfs: trace: luks_close = 0 00:01:32.398459912: libguestfs: trace: close 00:01:32.398494671: libguestfs: trace: internal_autosync 00:01:32.400456334: libguestfs: trace: internal_autosync = 0 And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" # features/step_definitions/untrusted_partitions.rb:23 And I plug removable usb drive "fake_TailsData" # features/step_definitions/common_steps.rb:65 00:01:33.815675257: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] When I start the computer # features/step_definitions/common_steps.rb:109 00:01:36.495712928: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:02:16.234095533: calling as root: echo 'hello?' 00:02:16.416965517: call returned: [0, "hello?\n", ""] 00:02:16.417220563: calling as root: service tor status 00:02:16.604668668: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:02:16.604931549: opening file /etc/tor/torrc in 'append' mode 00:02:16.800159624: append complete And the computer boots Tails # features/step_definitions/common_steps.rb:248 00:02:16.811487158: calling as root: test -b /dev/sda 00:02:16.922138415: call returned: [0, "", ""] Then drive "fake_TailsData" is detected by Tails # features/step_definitions/common_steps.rb:72 And Tails Greeter has detected a persistence partition # features/step_definitions/untrusted_partitions.rb:57 Scenario: Tails will not detect LUKS-encrypted GPT partitions labeled "TailsData" stored on USB drives as persistence volumes when the removable flag is unset # features/untrusted_partitions.feature:25 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "fake_TailsData" # features/step_definitions/common_steps.rb:59 00:02:17.575658019: libguestfs: trace: set_autosync true 00:02:17.575732348: libguestfs: trace: set_autosync = 0 00:02:17.577659878: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/fake_TailsData" "format:qcow2" 00:02:17.577750363: libguestfs: trace: add_drive = 0 00:02:17.577783281: libguestfs: trace: launch 00:02:17.577809231: libguestfs: trace: get_tmpdir 00:02:17.577851836: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:02:17.577925236: libguestfs: trace: get_backend_setting "force_tcg" 00:02:17.577968994: libguestfs: trace: get_backend_setting = NULL (error) 00:02:17.578021938: libguestfs: trace: get_cachedir 00:02:17.578066563: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:02:17.610519930: libguestfs: trace: get_cachedir 00:02:17.610671168: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:02:17.610789994: libguestfs: trace: get_sockdir 00:02:17.610826420: libguestfs: trace: get_sockdir = "/tmp" 00:02:17.610997879: libguestfs: trace: get_backend_setting "gdb" 00:02:17.611054851: libguestfs: trace: get_backend_setting = NULL (error) 00:02:20.771831269: libguestfs: trace: launch = 0 00:02:20.771970648: libguestfs: trace: list_devices 00:02:20.772736215: libguestfs: trace: list_devices = ["/dev/sda"] 00:02:20.772879179: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:02:20.833329526: libguestfs: trace: part_disk = 0 00:02:20.833531525: libguestfs: trace: part_set_name "/dev/sda" 1 "TailsData" 00:02:20.876332757: libguestfs: trace: part_set_name = 0 00:02:20.876464350: libguestfs: trace: list_partitions 00:02:20.877059188: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:02:20.877117249: libguestfs: trace: luks_format "/dev/sda1" "***" 0 00:02:25.531234883: libguestfs: trace: luks_format = 0 00:02:25.531451941: libguestfs: trace: luks_open "/dev/sda1" "***" "sda1_unlocked" 00:02:27.757117054: libguestfs: trace: luks_open = 0 00:02:27.757237184: libguestfs: trace: mkfs "ext4" "/dev/mapper/sda1_unlocked" 00:02:27.848442368: libguestfs: trace: mkfs = 0 00:02:27.848547051: libguestfs: trace: luks_close "/dev/mapper/sda1_unlocked" 00:02:27.866782190: libguestfs: trace: luks_close = 0 00:02:27.866998944: libguestfs: trace: close 00:02:27.867046787: libguestfs: trace: internal_autosync 00:02:27.868226847: libguestfs: trace: internal_autosync = 0 And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" # features/step_definitions/untrusted_partitions.rb:23 And I plug non-removable usb drive "fake_TailsData" # features/step_definitions/common_steps.rb:65 When I start the computer # features/step_definitions/common_steps.rb:109 00:02:29.732005128: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:02:31.894601344: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:03:10.303926792: calling as root: echo 'hello?' 00:03:10.481938587: call returned: [0, "hello?\n", ""] 00:03:10.482194846: calling as root: service tor status 00:03:10.696965814: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:03:10.697276853: opening file /etc/tor/torrc in 'append' mode 00:03:10.844817419: append complete And the computer boots Tails # features/step_definitions/common_steps.rb:248 00:03:10.855962223: calling as root: test -b /dev/sda 00:03:10.956391907: call returned: [0, "", ""] Then drive "fake_TailsData" is detected by Tails # features/step_definitions/common_steps.rb:72 And Tails Greeter has not detected a persistence partition # features/step_definitions/untrusted_partitions.rb:57 Scenario: Tails will not detect LUKS-encrypted GPT partitions labeled "TailsData" stored on local hard drives as persistence volumes # features/untrusted_partitions.feature:35 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "fake_TailsData" # features/step_definitions/common_steps.rb:59 00:03:14.846361673: libguestfs: trace: set_autosync true 00:03:14.846437883: libguestfs: trace: set_autosync = 0 00:03:14.848421973: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/fake_TailsData" "format:qcow2" 00:03:14.848475950: libguestfs: trace: add_drive = 0 00:03:14.848524367: libguestfs: trace: launch 00:03:14.848569865: libguestfs: trace: get_tmpdir 00:03:14.848596312: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:03:14.848660119: libguestfs: trace: get_backend_setting "force_tcg" 00:03:14.848735973: libguestfs: trace: get_backend_setting = NULL (error) 00:03:14.848770492: libguestfs: trace: get_cachedir 00:03:14.848851582: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:03:14.881982374: libguestfs: trace: get_cachedir 00:03:14.882080230: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:03:14.882225023: libguestfs: trace: get_sockdir 00:03:14.882348473: libguestfs: trace: get_sockdir = "/tmp" 00:03:14.882444069: libguestfs: trace: get_backend_setting "gdb" 00:03:14.882485128: libguestfs: trace: get_backend_setting = NULL (error) 00:03:18.042284308: libguestfs: trace: launch = 0 00:03:18.042436755: libguestfs: trace: list_devices 00:03:18.043306928: libguestfs: trace: list_devices = ["/dev/sda"] 00:03:18.043383833: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:03:18.101034634: libguestfs: trace: part_disk = 0 00:03:18.101304377: libguestfs: trace: part_set_name "/dev/sda" 1 "TailsData" 00:03:18.147325937: libguestfs: trace: part_set_name = 0 00:03:18.147574950: libguestfs: trace: list_partitions 00:03:18.147882259: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:03:18.147952092: libguestfs: trace: luks_format "/dev/sda1" "***" 0 00:03:22.786321682: libguestfs: trace: luks_format = 0 00:03:22.786452849: libguestfs: trace: luks_open "/dev/sda1" "***" "sda1_unlocked" 00:03:24.959731705: libguestfs: trace: luks_open = 0 00:03:24.959902032: libguestfs: trace: mkfs "ext4" "/dev/mapper/sda1_unlocked" 00:03:25.062993804: libguestfs: trace: mkfs = 0 00:03:25.063098826: libguestfs: trace: luks_close "/dev/mapper/sda1_unlocked" 00:03:25.283358803: libguestfs: trace: luks_close = 0 00:03:25.283650076: libguestfs: trace: close 00:03:25.283721262: libguestfs: trace: internal_autosync 00:03:25.285418322: libguestfs: trace: internal_autosync = 0 And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" # features/step_definitions/untrusted_partitions.rb:23 And I plug sata drive "fake_TailsData" # features/step_definitions/common_steps.rb:65 00:03:26.689789728: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] When I start the computer # features/step_definitions/common_steps.rb:109 00:04:06.765678587: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:04:06.765993132: calling as root: echo 'hello?' 00:04:06.936007833: call returned: [0, "hello?\n", ""] 00:04:06.936309482: calling as root: service tor status 00:04:07.155551372: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:04:07.155848854: opening file /etc/tor/torrc in 'append' mode 00:04:07.297627428: append complete And the computer boots Tails # features/step_definitions/common_steps.rb:248 00:04:07.308254881: calling as root: test -b /dev/sda 00:04:07.412416925: call returned: [0, "", ""] Then drive "fake_TailsData" is detected by Tails # features/step_definitions/common_steps.rb:72 And Tails Greeter has not detected a persistence partition # features/step_definitions/untrusted_partitions.rb:57 Scenario: Tails can boot from live systems stored on hard drives # features/untrusted_partitions.feature:45 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 2 GiB disk named "live_hd" # features/step_definitions/common_steps.rb:59 00:04:11.316739158: libguestfs: trace: set_autosync true 00:04:11.316827881: libguestfs: trace: set_autosync = 0 00:04:11.316869291: libguestfs: trace: add_drive "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "readonly:true" "format:raw" 00:04:11.316910267: libguestfs: trace: get_tmpdir 00:04:11.316941449: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:04:11.317017023: libguestfs: trace: disk_create "/tmp/TailsToaster/libguestfsWqKDUe/overlay1" "qcow2" -1 "backingfile:/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "backingformat:raw" 00:04:11.348895632: libguestfs: trace: disk_create = 0 00:04:11.349119953: libguestfs: trace: add_drive = 0 00:04:11.349158498: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/live_hd" "format:qcow2" 00:04:11.349192287: libguestfs: trace: add_drive = 0 00:04:11.349220374: libguestfs: trace: launch 00:04:11.349260467: libguestfs: trace: get_backend_setting "force_tcg" 00:04:11.349297355: libguestfs: trace: get_backend_setting = NULL (error) 00:04:11.349330271: libguestfs: trace: get_cachedir 00:04:11.349358413: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:04:11.380618246: libguestfs: trace: get_cachedir 00:04:11.380778807: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:04:11.380859290: libguestfs: trace: get_sockdir 00:04:11.380892211: libguestfs: trace: get_sockdir = "/tmp" 00:04:11.380972089: libguestfs: trace: get_backend_setting "gdb" 00:04:11.381009055: libguestfs: trace: get_backend_setting = NULL (error) 00:04:14.536129086: libguestfs: trace: launch = 0 00:04:14.536270946: libguestfs: trace: list_devices 00:04:14.536988140: libguestfs: trace: list_devices = ["/dev/sda", "/dev/sdb"] 00:04:14.537104738: libguestfs: trace: copy_device_to_device "/dev/sda" "/dev/sdb" 00:04:18.616892791: libguestfs: trace: copy_device_to_device = 0 00:04:18.616994064: libguestfs: trace: close 00:04:18.617053034: libguestfs: trace: internal_autosync 00:04:18.861441993: libguestfs: trace: internal_autosync = 0 And I write the Tails ISO image to disk "live_hd" # features/step_definitions/untrusted_partitions.rb:32 And the computer is set to boot from sata drive "live_hd" # features/step_definitions/common_steps.rb:55 And I set Tails to boot with options "live-media=" # features/step_definitions/common_steps.rb:105 00:04:20.920052001: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:04:23.550168981: [log] TYPE " autotest_never_use_this_option blacklist=psmouse live-media=#ENTER." 00:05:02.628466391: calling as root: echo 'hello?' 00:05:02.813772100: call returned: [0, "hello?\n", ""] 00:05:02.814149231: calling as root: service tor status 00:05:03.057513458: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:05:03.057885732: opening file /etc/tor/torrc in 'append' mode 00:05:03.258030862: append complete 00:05:04.016673707: calling as root: loginctl 00:05:04.027439805: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:05:04.189782129: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:05:05.190224087: calling as root: loginctl 00:05:05.373968299: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:05:12.852704365: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:05:12.942721372: call returned: [0, "", ""] 00:05:12.942831481: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:05:13.043389436: call returned: [0, "", ""] 00:05:13.043581948: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node4 = dogtail.tree.root.application('gnome-shell') 00:05:13.921498625: execution complete 00:05:14.648243818: executing Python as amnesia: node5 = node4.child('No Notifications', roleName='label') 00:05:14.659640092: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:05:15.702290236: execution complete 00:05:15.702409840: executing Python as amnesia: node6 = node4.child('No Notifications', roleName='label') 00:05:16.493445443: execution complete 00:05:16.535170980: [log] TYPE "#ESC." When I start Tails with network unplugged and I login # features/step_definitions/common_steps.rb:116 00:05:16.536109873: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:05:16.754317413: call returned: [0, "8:1\n", ""] 00:05:16.754419422: calling as root: readlink -f /dev/block/'8:1' 00:05:16.928677135: call returned: [0, "/dev/sda1\n", ""] 00:05:16.928780956: calling as root: udevadm info --query=property --name='/dev/sda1' 00:05:17.228887822: call returned: [0, "DEVLINKS=/dev/disk/by-path/pci-0000:00:1f.2-ata-1-part1 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-partuuid/0000002a-01 /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001-part1 /dev/disk/by-uuid/2018-03-30-16-03-33-00\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_ATA=1\nID_ATA_FEATURE_SET_SMART=1\nID_ATA_FEATURE_SET_SMART_ENABLED=1\nID_ATA_SATA=1\nID_ATA_WRITE_CACHE=1\nID_ATA_WRITE_CACHE_ENABLED=1\nID_BUS=ata\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x80\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=0\nID_PART_ENTRY_SCHEME=dos\nID_PART_ENTRY_SIZE=2393685\nID_PART_ENTRY_TYPE=0x17\nID_PART_ENTRY_UUID=0000002a-01\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-1\nID_PATH_TAG=pci-0000_00_1f_2-ata-1\nID_REVISION=2.5+\nID_SERIAL=QEMU_HARDDISK_QM00001\nID_SERIAL_SHORT=QM00001\nID_TYPE=disk\nMAJOR=8\nMINOR=1\nPARTN=1\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUSEC_INITIALIZED=4370581\n", ""] 00:05:17.229056569: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:05:17.388714907: call returned: [0, "8:1\n", ""] 00:05:17.388837456: calling as root: readlink -f /dev/block/'8:1' 00:05:17.556928796: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from sata drive "live_hd" # features/step_definitions/usb.rb:390 Scenario: Tails booting from a DVD does not use live systems stored on hard drives # features/untrusted_partitions.feature:54 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 2 GiB disk named "live_hd" # features/step_definitions/common_steps.rb:59 00:05:18.302001132: libguestfs: trace: set_autosync true 00:05:18.302069834: libguestfs: trace: set_autosync = 0 00:05:18.302110070: libguestfs: trace: add_drive "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "readonly:true" "format:raw" 00:05:18.302150526: libguestfs: trace: get_tmpdir 00:05:18.302179873: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:05:18.302242109: libguestfs: trace: disk_create "/tmp/TailsToaster/libguestfsoWOGcZ/overlay1" "qcow2" -1 "backingfile:/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "backingformat:raw" 00:05:18.331080063: libguestfs: trace: disk_create = 0 00:05:18.331259066: libguestfs: trace: add_drive = 0 00:05:18.331298288: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/live_hd" "format:qcow2" 00:05:18.331334809: libguestfs: trace: add_drive = 0 00:05:18.331366028: libguestfs: trace: launch 00:05:18.331401799: libguestfs: trace: get_backend_setting "force_tcg" 00:05:18.331435700: libguestfs: trace: get_backend_setting = NULL (error) 00:05:18.331469126: libguestfs: trace: get_cachedir 00:05:18.331499066: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:05:18.362559351: libguestfs: trace: get_cachedir 00:05:18.362655311: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:05:18.362746150: libguestfs: trace: get_sockdir 00:05:18.362778684: libguestfs: trace: get_sockdir = "/tmp" 00:05:18.362865457: libguestfs: trace: get_backend_setting "gdb" 00:05:18.362900627: libguestfs: trace: get_backend_setting = NULL (error) 00:05:21.549272647: libguestfs: trace: launch = 0 00:05:21.549395695: libguestfs: trace: list_devices 00:05:21.550120622: libguestfs: trace: list_devices = ["/dev/sda", "/dev/sdb"] 00:05:21.550177135: libguestfs: trace: copy_device_to_device "/dev/sda" "/dev/sdb" 00:05:25.555247326: libguestfs: trace: copy_device_to_device = 0 00:05:25.555358339: libguestfs: trace: close 00:05:25.555398564: libguestfs: trace: internal_autosync 00:05:25.802850808: libguestfs: trace: internal_autosync = 0 And I write the Tails ISO image to disk "live_hd" # features/step_definitions/untrusted_partitions.rb:32 And I plug sata drive "live_hd" # features/step_definitions/common_steps.rb:65 00:05:27.410283862: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:05:30.073904817: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:06:09.153656881: calling as root: echo 'hello?' 00:06:09.326697437: call returned: [0, "hello?\n", ""] 00:06:09.326913708: calling as root: service tor status 00:06:09.534697096: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:06:09.535027555: opening file /etc/tor/torrc in 'append' mode 00:06:09.741250570: append complete 00:06:10.497015957: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:06:10.497215690: calling as root: loginctl 00:06:10.625255572: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:06:11.625545478: calling as root: loginctl 00:06:11.778440488: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:06:19.308066397: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:06:19.513005392: call returned: [0, "", ""] 00:06:19.513213430: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:06:19.628978554: call returned: [0, "", ""] 00:06:19.629185923: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node7 = dogtail.tree.root.application('gnome-shell') 00:06:20.453270881: execution complete 00:06:21.176821078: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:06:21.176943425: executing Python as amnesia: node8 = node7.child('No Notifications', roleName='label') 00:06:22.046256839: execution complete 00:06:22.046375720: executing Python as amnesia: node9 = node7.child('No Notifications', roleName='label') 00:06:22.806495185: execution complete 00:06:22.848949053: [log] TYPE "#ESC." And I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 00:06:22.864925866: calling as root: test -b /dev/sda 00:06:22.988837621: call returned: [0, "", ""] Then drive "live_hd" is detected by Tails # features/step_definitions/common_steps.rb:72 00:06:23.007087435: calling as root: grep -qs '^/dev/sda' /proc/mounts 00:06:23.184596372: call returned: [1, "", ""] And drive "live_hd" is not mounted # features/step_definitions/untrusted_partitions.rb:51 Scenario: Booting Tails does not automount untrusted ext2 partitions # features/untrusted_partitions.feature:63 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "gpt_ext2" # features/step_definitions/common_steps.rb:59 00:06:23.940931012: libguestfs: trace: set_autosync true 00:06:23.940995060: libguestfs: trace: set_autosync = 0 00:06:23.943345145: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/gpt_ext2" "format:qcow2" 00:06:23.943396286: libguestfs: trace: add_drive = 0 00:06:23.943425630: libguestfs: trace: launch 00:06:23.943506885: libguestfs: trace: get_tmpdir 00:06:23.943535802: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:06:23.943600677: libguestfs: trace: get_backend_setting "force_tcg" 00:06:23.943633650: libguestfs: trace: get_backend_setting = NULL (error) 00:06:23.943686511: libguestfs: trace: get_cachedir 00:06:23.943744320: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:06:23.975996906: libguestfs: trace: get_cachedir 00:06:23.976218938: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:06:23.976331250: libguestfs: trace: get_sockdir 00:06:23.976477699: libguestfs: trace: get_sockdir = "/tmp" 00:06:23.976686542: libguestfs: trace: get_backend_setting "gdb" 00:06:23.976729701: libguestfs: trace: get_backend_setting = NULL (error) 00:06:27.134476999: libguestfs: trace: launch = 0 00:06:27.134908285: libguestfs: trace: list_devices 00:06:27.135900705: libguestfs: trace: list_devices = ["/dev/sda"] 00:06:27.135995607: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:06:27.189809376: libguestfs: trace: part_disk = 0 00:06:27.190108767: libguestfs: trace: list_partitions 00:06:27.190640900: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:06:27.190783139: libguestfs: trace: mkfs "ext2" "/dev/sda1" 00:06:27.232813097: libguestfs: trace: mkfs = 0 00:06:27.232911177: libguestfs: trace: close 00:06:27.233250803: libguestfs: trace: internal_autosync 00:06:27.236265105: libguestfs: trace: internal_autosync = 0 And I create a gpt partition with an ext2 filesystem on disk "gpt_ext2" # features/step_definitions/untrusted_partitions.rb:23 And I plug sata drive "gpt_ext2" # features/step_definitions/common_steps.rb:65 00:06:29.328290331: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:06:31.481694678: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:07:08.560134172: calling as root: echo 'hello?' 00:07:08.767916710: call returned: [0, "hello?\n", ""] 00:07:08.768271767: calling as root: service tor status 00:07:08.978411843: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:07:08.978686745: opening file /etc/tor/torrc in 'append' mode 00:07:09.195867911: append complete 00:07:09.952285939: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:07:09.952557325: calling as root: loginctl 00:07:10.131217557: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:07:11.131571853: calling as root: loginctl 00:07:11.315847127: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:07:19.195302676: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:07:19.299003931: call returned: [0, "", ""] 00:07:19.299135768: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:07:19.423064805: call returned: [0, "", ""] 00:07:19.423283256: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node10 = dogtail.tree.root.application('gnome-shell') 00:07:20.237503572: execution complete 00:07:20.960083613: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:07:20.961635334: executing Python as amnesia: node11 = node10.child('No Notifications', roleName='label') 00:07:21.895935922: execution complete 00:07:21.896089160: executing Python as amnesia: node12 = node10.child('No Notifications', roleName='label') 00:07:22.684663237: execution complete 00:07:22.733672232: [log] TYPE "#ESC." And I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 00:07:22.747228395: calling as root: test -b /dev/sda 00:07:22.893493142: call returned: [0, "", ""] Then drive "gpt_ext2" is detected by Tails # features/step_definitions/common_steps.rb:72 00:07:22.904806729: calling as root: grep -qs '^/dev/sda' /proc/mounts 00:07:23.060765852: call returned: [1, "", ""] And drive "gpt_ext2" is not mounted # features/step_definitions/untrusted_partitions.rb:51 Scenario: Booting Tails does not automount untrusted fat32 partitions # features/untrusted_partitions.feature:72 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 100 MiB disk named "msdos_fat32" # features/step_definitions/common_steps.rb:59 00:07:23.578869812: libguestfs: trace: set_autosync true 00:07:23.578935074: libguestfs: trace: set_autosync = 0 00:07:23.580635181: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/msdos_fat32" "format:qcow2" 00:07:23.580686826: libguestfs: trace: add_drive = 0 00:07:23.580719173: libguestfs: trace: launch 00:07:23.580769436: libguestfs: trace: get_tmpdir 00:07:23.580805127: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:07:23.580872071: libguestfs: trace: get_backend_setting "force_tcg" 00:07:23.580907338: libguestfs: trace: get_backend_setting = NULL (error) 00:07:23.580937495: libguestfs: trace: get_cachedir 00:07:23.580978670: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:07:23.613074043: libguestfs: trace: get_cachedir 00:07:23.613174194: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:07:23.613266345: libguestfs: trace: get_sockdir 00:07:23.613298981: libguestfs: trace: get_sockdir = "/tmp" 00:07:23.613416402: libguestfs: trace: get_backend_setting "gdb" 00:07:23.613452134: libguestfs: trace: get_backend_setting = NULL (error) 00:07:26.773250856: libguestfs: trace: launch = 0 00:07:26.773380225: libguestfs: trace: list_devices 00:07:26.774211109: libguestfs: trace: list_devices = ["/dev/sda"] 00:07:26.774423752: libguestfs: trace: part_disk "/dev/sda" "msdos" 00:07:26.831668673: libguestfs: trace: part_disk = 0 00:07:26.831765989: libguestfs: trace: list_partitions 00:07:26.831998039: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:07:26.832054888: libguestfs: trace: mkfs "vfat" "/dev/sda1" 00:07:26.841270389: libguestfs: trace: mkfs = 0 00:07:26.841364389: libguestfs: trace: close 00:07:26.841414910: libguestfs: trace: internal_autosync 00:07:26.849967751: libguestfs: trace: internal_autosync = 0 And I create an msdos partition with a vfat filesystem on disk "msdos_fat32" # features/step_definitions/untrusted_partitions.rb:23 And I plug sata drive "msdos_fat32" # features/step_definitions/common_steps.rb:65 00:07:28.476225166: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:07:31.140655268: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:08:08.890155933: calling as root: echo 'hello?' 00:08:09.054594294: call returned: [0, "hello?\n", ""] 00:08:09.054799506: calling as root: service tor status 00:08:09.264426682: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:08:09.264726596: opening file /etc/tor/torrc in 'append' mode 00:08:09.449670696: append complete 00:08:10.207930021: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:08:10.208131310: calling as root: loginctl 00:08:10.342031124: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:08:11.342374192: calling as root: loginctl 00:08:11.506121384: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:08:19.060960825: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:08:19.357214969: call returned: [0, "", ""] 00:08:19.357378811: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:08:19.459645055: call returned: [0, "", ""] 00:08:19.459841371: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node13 = dogtail.tree.root.application('gnome-shell') 00:08:20.317918985: execution complete 00:08:21.042427545: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:08:21.042574518: executing Python as amnesia: node14 = node13.child('No Notifications', roleName='label') 00:08:22.012297765: execution complete 00:08:22.012437686: executing Python as amnesia: node15 = node13.child('No Notifications', roleName='label') 00:08:22.775272128: execution complete 00:08:22.816909117: [log] TYPE "#ESC." And I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 00:08:22.826474661: calling as root: test -b /dev/sda 00:08:22.983649413: call returned: [0, "", ""] Then drive "msdos_fat32" is detected by Tails # features/step_definitions/common_steps.rb:72 00:08:22.992848920: calling as root: grep -qs '^/dev/sda' /proc/mounts 00:08:23.141996820: call returned: [1, "", ""] And drive "msdos_fat32" is not mounted # features/step_definitions/untrusted_partitions.rb:51 @product Feature: Installing packages through APT As a Tails user when I set an administration password in Tails Greeter I should be able to install packages using APT and Synaptic and all Internet traffic should flow only through Tor. Scenario: APT sources are configured correctly # features/apt.feature:8 Checkpoint: I have started Tails from DVD without network and stopped at Tails Greeter's login screen Given the network is unplugged 00:08:25.263221341: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] And I start the computer 00:08:27.926581572: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:09:06.340055458: calling as root: echo 'hello?' 00:09:06.508964310: call returned: [0, "hello?\n", ""] 00:09:06.509272188: calling as root: service tor status 00:09:06.710223211: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:09:06.710492758: opening file /etc/tor/torrc in 'append' mode 00:09:06.874802689: append complete And the computer boots Tails 00:09:12.294591934: calling as root: echo 'hello?' 00:09:12.421194446: call returned: [0, "hello?\n", ""] 00:09:13.145702978: calling as root: nmcli device show eth0 00:09:13.156543864: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:09:13.327826607: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:09:13.335943294: calling as root: date -s '@1523719457' 00:09:13.438830710: call returned: [0, "Sat Apr 14 15:24:17 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD without network and logged in Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen 00:09:14.199267158: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:09:14.199459766: calling as root: loginctl 00:09:14.356463778: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:09:15.356746445: calling as root: loginctl 00:09:15.557204664: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:09:22.773745132: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:09:22.865463508: call returned: [0, "", ""] 00:09:22.865672782: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:09:22.943592466: call returned: [0, "", ""] And I log in to a new session Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:09:28.233145798: calling as root: cat /etc/apt/sources.list /etc/apt/sources.list.d/* 00:09:28.460441621: call returned: [0, "# /etc/apt/sources.list\n\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ stretch main contrib\ndeb tor+http://sgvtcaew4bxjd7ln.onion/ stretch/updates main contrib\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ sid main contrib\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ stretch-backports main contrib\ndeb tor+http://jenw7xbd6tf7vfhp.onion/ stable main contrib\ndeb tor+http://jenw7xbd6tf7vfhp.onion/ bug-15031-isohybrid-by-cloning-often-fails main contrib\ndeb tor+http://sdscoq7snqtznauu.onion/torproject.org/ stretch main\ndeb tor+http://sdscoq7snqtznauu.onion/torproject.org/ sid main\n", ""] Then the only hosts in APT sources are "vwakviie2ienjx6t.onion,sgvtcaew4bxjd7ln.onion,jenw7xbd6tf7vfhp.onion,sdscoq7snqtznauu.onion" # features/step_definitions/apt.rb:3 00:09:28.462036369: calling as root: cat /etc/apt/sources.list /etc/apt/sources.list.d/* 00:09:28.736559807: call returned: [0, "# /etc/apt/sources.list\n\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ stretch main contrib\ndeb tor+http://sgvtcaew4bxjd7ln.onion/ stretch/updates main contrib\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ sid main contrib\ndeb tor+http://vwakviie2ienjx6t.onion/debian/ stretch-backports main contrib\ndeb tor+http://jenw7xbd6tf7vfhp.onion/ stable main contrib\ndeb tor+http://jenw7xbd6tf7vfhp.onion/ bug-15031-isohybrid-by-cloning-often-fails main contrib\ndeb tor+http://sdscoq7snqtznauu.onion/torproject.org/ stretch main\ndeb tor+http://sdscoq7snqtznauu.onion/torproject.org/ sid main\n", ""] And no proposed-updates APT suite is enabled # features/step_definitions/apt.rb:17 @check_tor_leaks Scenario: Install packages using apt # features/apt.feature:14 00:09:30.685957620: calling as root: echo 'hello?' 00:09:30.802839862: call returned: [0, "hello?\n", ""] 00:09:31.526875804: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:09:31.527129499: calling as root: nmcli device show eth0 00:09:31.700402895: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:09:31.707915017: calling as root: date -s '@1523719475' 00:09:31.813039242: call returned: [0, "Sat Apr 14 15:24:35 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD without network and logged in with an administration password Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen 00:09:32.780945975: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 00:09:33.967062449: [log] CLICK on L(427,258)@S(0)[0,0 1024x768] 00:09:34.133948536: [log] TYPE "asdf" 00:09:34.175458083: [log] TYPE "#TAB." 00:09:34.343104842: [log] TYPE "asdf" 00:09:34.384587753: [log] TYPE "#ENTER." And I set an administration password 00:09:35.542706213: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:09:35.542937027: calling as root: loginctl 00:09:35.675365899: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:09:36.675710614: calling as root: loginctl 00:09:36.855514318: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:09:44.011521781: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:09:44.080926835: call returned: [0, "", ""] 00:09:44.081032641: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:09:44.177034458: call returned: [0, "", ""] And I log in to a new session 00:09:54.259435644: calling as root: echo 'hello?' 00:09:54.481916280: call returned: [0, "hello?\n", ""] 00:09:55.215290393: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:09:55.215420746: calling as root: nmcli device show eth0 00:09:55.486464172: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:65:D4:ED\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:09:55.496832918: calling as root: date -s '@1523719499' 00:09:55.687468025: call returned: [0, "Sat Apr 14 15:24:59 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD and logged in with an administration password and the network is connected Given I have started Tails from DVD without network and logged in with an administration password And the network is plugged 00:09:55.723519709: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:09:55.979171210: call returned: [1, "", ""] 00:09:56.979515649: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:09:57.127450456: call returned: [1, "", ""] 00:09:58.127725905: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:09:58.313127653: call returned: [1, "", ""] 00:09:59.313465561: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:09:59.477943531: call returned: [1, "", ""] 00:10:00.478137610: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:00.657222104: call returned: [1, "", ""] 00:10:01.657431845: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:01.826657547: call returned: [1, "", ""] 00:10:02.826973468: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:02.963542481: call returned: [1, "", ""] 00:10:03.963813784: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:04.129934812: call returned: [1, "", ""] 00:10:05.130234842: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:05.315623784: call returned: [3, "", ""] 00:10:06.315819683: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:10:06.556598512: call returned: [0, "", ""] 00:10:06.557397014: calling as root: test -e /run/tordate/done 00:10:06.888024181: call returned: [0, "", ""] 00:10:06.888249365: calling as root: test -e /run/htpdate/success 00:10:07.254856931: call returned: [1, "", ""] 00:10:08.255113965: calling as root: test -e /run/htpdate/success 00:10:08.388147456: call returned: [0, "", ""] 00:10:08.388450989: calling as root: systemctl is-system-running 00:10:08.572512903: call returned: [0, "running\n", ""] And Tor is ready 00:10:08.572799314: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node16 = dogtail.tree.root.application('gnome-shell') 00:10:09.486864132: execution complete 00:10:10.210303590: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:10:10.210511728: executing Python as amnesia: node17 = node16.child('No Notifications', roleName='label') 00:10:11.517854104: execution complete 00:10:11.517991677: executing Python as amnesia: node18 = node16.child('No Notifications', roleName='label') 00:10:12.612490751: execution complete 00:10:12.654480058: [log] TYPE "#ESC." And all notifications have disappeared 00:10:12.655229865: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:12.887035634: call returned: [1, "", ""] 00:10:13.887280264: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:14.028503049: call returned: [1, "", ""] 00:10:15.028801680: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:15.203663431: call returned: [1, "", ""] 00:10:16.203968955: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:16.366105214: call returned: [1, "", ""] 00:10:17.366311984: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:17.535860213: call returned: [1, "", ""] 00:10:18.536225818: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:18.671065109: call returned: [1, "", ""] 00:10:19.671406102: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:19.825601739: call returned: [1, "", ""] 00:10:20.825933461: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:21.039537638: call returned: [1, "", ""] 00:10:22.039860048: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:22.174296074: call returned: [1, "", ""] 00:10:23.174626963: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:23.311886111: call returned: [1, "", ""] 00:10:24.312226423: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:24.454290059: call returned: [1, "", ""] 00:10:25.454633269: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:25.582613051: call returned: [1, "", ""] 00:10:26.582961121: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:26.719743941: call returned: [1, "", ""] 00:10:27.720043270: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:27.847332133: call returned: [1, "", ""] 00:10:28.847664530: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:28.984770245: call returned: [1, "", ""] 00:10:29.985093837: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:30.158844450: call returned: [1, "", ""] 00:10:31.159069357: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:31.303613802: call returned: [1, "", ""] 00:10:32.303823516: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:32.442752951: call returned: [1, "", ""] 00:10:33.442988873: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:33.601690585: call returned: [1, "", ""] 00:10:34.601892679: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:34.726706773: call returned: [1, "", ""] 00:10:35.726916463: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:35.902642904: call returned: [1, "", ""] 00:10:36.902857801: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:37.138923622: call returned: [1, "", ""] 00:10:38.139140158: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:38.300727114: call returned: [1, "", ""] 00:10:39.301015407: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:39.506446422: call returned: [1, "", ""] 00:10:40.506788781: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:40.642313258: call returned: [1, "", ""] 00:10:41.642583982: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:10:41.806707834: call returned: [0, "", ""] And available upgrades have been checked Given I have started Tails from DVD and logged in with an administration password and the network is connected # features/step_definitions/snapshots.rb:186 00:10:47.052681516: calling as root: perl -pi -E ' use strict; use warnings FATAL => "all"; s{vwakviie2ienjx6t[.]onion}{ftp.us.debian.org}; s{sgvtcaew4bxjd7ln[.]onion}{security.debian.org}; s{sdscoq7snqtznauu[.]onion}{deb.torproject.org}; s{jenw7xbd6tf7vfhp[.]onion}{deb.tails.boum.org};' /etc/apt/sources.list /etc/apt/sources.list.d/* 00:10:47.269230580: call returned: [0, "", ""] When I configure APT to use non-onion sources # features/step_definitions/apt.rb:24 00:10:47.270280711: calling as amnesia: echo asdf | sudo -S apt update 00:13:19.427445420: call returned: [0, "Get:1 tor+http://deb.tails.boum.org stable InRelease [9,689 B]\nIgn:2 tor+http://ftp.us.debian.org/debian stretch InRelease\nGet:3 tor+http://security.debian.org stretch/updates InRelease [94.3 kB]\nGet:4 tor+http://deb.torproject.org/torproject.org stretch InRelease [4,245 B]\nGet:5 tor+http://ftp.us.debian.org/debian sid InRelease [242 kB]\nGet:6 tor+http://deb.tails.boum.org bug-15031-isohybrid-by-cloning-often-fails InRelease [9,731 B]\nGet:7 tor+http://deb.torproject.org/torproject.org sid InRelease [4,243 B]\nGet:8 tor+http://deb.torproject.org/torproject.org stretch/main amd64 Packages [3,425 B]\nGet:9 tor+http://deb.tails.boum.org stable/main amd64 Packages [59.2 kB]\nGet:10 tor+http://deb.torproject.org/torproject.org sid/main amd64 Packages [3,399 B]\nGet:11 tor+http://security.debian.org stretch/updates/main amd64 Packages [367 kB]\nGet:12 tor+http://ftp.us.debian.org/debian stretch-backports InRelease [91.8 kB]\nGet:13 tor+http://deb.tails.boum.org bug-15031-isohybrid-by-cloning-often-fails/main amd64 Packages [801 B]\nGet:14 tor+http://ftp.us.debian.org/debian stretch Release [118 kB]\nGet:15 tor+http://security.debian.org stretch/updates/main Translation-en [162 kB]\nGet:16 tor+http://ftp.us.debian.org/debian sid/main amd64 Packages [8,000 kB]\nGet:17 tor+http://security.debian.org stretch/updates/contrib amd64 Packages [1,776 B]\nGet:18 tor+http://security.debian.org stretch/updates/contrib Translation-en [1,759 B]\nGet:19 tor+http://ftp.us.debian.org/debian sid/main Translation-en [6,027 kB]\nGet:20 tor+http://ftp.us.debian.org/debian sid/contrib amd64 Packages [62.2 kB]\nGet:21 tor+http://ftp.us.debian.org/debian sid/contrib Translation-en [50.3 kB]\nGet:22 tor+http://ftp.us.debian.org/debian stretch-backports/main amd64 Packages [322 kB]\nGet:23 tor+http://ftp.us.debian.org/debian stretch-backports/main Translation-en [223 kB]\nGet:24 tor+http://ftp.us.debian.org/debian stretch-backports/contrib amd64 Packages [7,100 B]\nGet:25 tor+http://ftp.us.debian.org/debian stretch-backports/contrib Translation-en [5,770 B]\nGet:26 tor+http://ftp.us.debian.org/debian stretch Release.gpg [2,434 B]\nGet:27 tor+http://ftp.us.debian.org/debian stretch/main amd64 Packages [7,122 kB]\nGet:28 tor+http://ftp.us.debian.org/debian stretch/main Translation-en [5,394 kB]\nGet:29 tor+http://ftp.us.debian.org/debian stretch/contrib amd64 Packages [50.9 kB]\nGet:30 tor+http://ftp.us.debian.org/debian stretch/contrib Translation-en [45.9 kB]\nFetched 28.5 MB in 2min 30s (190 kB/s)\nReading package lists...\nBuilding dependency tree...\nReading state information...\n3 packages can be upgraded. Run 'apt list --upgradable' to see them.\n", "\nWe trust you have received the usual lecture from the local System\nAdministrator. It usually boils down to these three things:\n\n #1) Respect the privacy of others.\n #2) Think before you type.\n #3) With great power comes great responsibility.\n\n[sudo] password for amnesia: \nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\n"] And I update APT using apt # features/step_definitions/apt.rb:53 00:13:19.428672972: calling as amnesia: echo asdf | sudo -S DEBIAN_PRIORITY=critical apt -y install cowsay 00:13:57.160326684: call returned: [0, "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSuggested packages:\n filters\nRecommended packages:\n cowsay-off\nThe following NEW packages will be installed:\n cowsay\n0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.\nNeed to get 20.1 kB of archives.\nAfter this operation, 90.1 kB of additional disk space will be used.\nGet:1 tor+http://ftp.us.debian.org/debian stretch/main amd64 cowsay all 3.03+dfsg2-3 [20.1 kB]\nFetched 20.1 kB in 0s (50.1 kB/s)\nSelecting previously unselected package cowsay.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 137000 files and directories currently installed.)\r\nPreparing to unpack .../cowsay_3.03+dfsg2-3_all.deb ...\r\nUnpacking cowsay (3.03+dfsg2-3) ...\r\nSetting up cowsay (3.03+dfsg2-3) ...\r\nProcessing triggers for man-db (2.7.6.1-2) ...\r\n", "[sudo] password for amnesia: \nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\ndebconf: unable to initialize frontend: Dialog\ndebconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)\ndebconf: falling back to frontend: Readline\ndebconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\ndebconf: falling back to frontend: Teletype\ndpkg-preconfigure: unable to re-open stdin: \n"] And I install "cowsay" using apt # features/step_definitions/apt.rb:66 00:13:57.161802887: calling as root: dpkg -s 'cowsay' 2>/dev/null | grep -qs '^Status:.*installed$' 00:13:57.348566051: call returned: [0, "", ""] Then the package "cowsay" is installed # features/step_definitions/common_steps.rb:561 #12586 @check_tor_leaks @fragile Scenario: Install packages using Synaptic # features/apt.feature:23 00:14:03.666199390: calling as root: echo 'hello?' 00:14:03.815172050: call returned: [0, "hello?\n", ""] 00:14:04.545433747: calling as root: nmcli device show eth0 00:14:04.563882129: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:14:04.829172710: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:65:D4:ED\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.231/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:fe65:d4ed/64\nIP6.GATEWAY: --\n", ""] 00:14:04.838488998: calling as root: systemctl --quiet is-active tor@default.service 00:14:05.012670880: call returned: [0, "", ""] 00:14:05.012783700: calling as root: systemctl stop tor@default.service 00:14:05.202199906: call returned: [0, "", ""] 00:14:05.202327290: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 00:14:05.356124957: call returned: [0, "", ""] 00:14:05.356235529: calling as root: date -s '@1523719749' 00:14:05.529620099: call returned: [0, "Sat Apr 14 15:29:09 UTC 2018\n", ""] 00:14:05.529730004: calling as root: systemctl start tor@default.service 00:14:06.393582743: call returned: [0, "", ""] 00:14:06.393722345: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:14:06.528179033: call returned: [3, "", ""] 00:14:07.528519225: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:14:07.699525887: call returned: [3, "", ""] 00:14:08.699840699: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:14:08.851605191: call returned: [0, "", ""] Given I have started Tails from DVD and logged in with an administration password and the network is connected # features/step_definitions/snapshots.rb:186 00:14:08.852385987: calling as root: perl -pi -E ' use strict; use warnings FATAL => "all"; s{vwakviie2ienjx6t[.]onion}{ftp.us.debian.org}; s{sgvtcaew4bxjd7ln[.]onion}{security.debian.org}; s{sdscoq7snqtznauu[.]onion}{deb.torproject.org}; s{jenw7xbd6tf7vfhp[.]onion}{deb.tails.boum.org};' /etc/apt/sources.list /etc/apt/sources.list.d/* 00:14:09.071639740: call returned: [0, "", ""] When I configure APT to use non-onion sources # features/step_definitions/apt.rb:24 00:14:09.114671807: calling as amnesia: xdotool key Super 00:14:09.290237759: call returned: [0, "", ""] 00:14:11.092286244: [log] TYPE "Synaptic Package Manager" 00:14:12.247810981: [log] ( Ctrl ) TYPE "#ENTER." 00:14:12.459374851: [log] TYPE "asdf" 00:14:12.459531718: [log] TYPE "#ENTER." 00:14:13.015504814: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node19 = dogtail.tree.root.application('synaptic') 00:14:13.492711600: execution complete 00:14:13.492852158: executing Python as amnesia: node20 = node19.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:14:13.771457488: execution complete And I start Synaptic # features/step_definitions/apt.rb:80 00:14:13.772495968: executing Python as amnesia: node21 = node19.button('Reload') 00:14:13.948909041: execution complete 00:14:13.949054458: executing Python as amnesia: node21.click() 00:14:15.061012240: execution complete 00:14:25.061382594: calling as root: pidof -x -o '%PPID' /usr/lib/apt/methods/tor+http 00:14:25.232287198: call returned: [1, "", ""] 00:14:25.232677780: executing Python as amnesia: node22 = node19.child(roleName='dialog', recursive=False) 00:14:35.427402545: execution complete 00:14:35.427610125: calling as root: pidof -x -o '%PPID' synaptic 00:14:35.565400913: call returned: [0, "8714\n", ""] And I update APT using Synaptic # features/step_definitions/apt.rb:91 00:14:35.566594456: executing Python as amnesia: node23 = node19.button('Search') 00:14:35.661997263: execution complete 00:14:35.662112813: executing Python as amnesia: node23.click() 00:14:36.686959199: execution complete 00:14:36.687073002: executing Python as amnesia: node24 = node19.dialog('Find') 00:14:36.708556399: execution complete 00:14:36.708738475: executing Python as amnesia: node25 = node24.child(roleName='text') 00:14:36.733482766: execution complete 00:14:36.733589136: executing Python as amnesia: node25.typeText('cowsay') 00:14:37.370740451: execution complete 00:14:37.370927544: executing Python as amnesia: node26 = node24.button('Search') 00:14:37.409817850: execution complete 00:14:37.409969419: executing Python as amnesia: node26.click() 00:14:38.444259906: execution complete 00:14:38.444398491: executing Python as amnesia: node27 = node19.child('Installed Version', roleName='table column header') 00:14:38.570167881: execution complete 00:14:38.570293747: executing Python as amnesia: node28 = node27.parent 00:14:38.594404782: execution complete 00:14:38.594518327: executing Python as amnesia: node29 = node28.child('cowsay', roleName='table cell') 00:14:49.656123058: execution complete 00:14:49.656282273: Tor operation failed (Try 1 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:14:49.656387068: Forcing new Tor circuit... 00:14:49.656629387: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:14:49.882521877: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:14:49.883145238: calling as root: killall synaptic 00:14:50.057296418: call returned: [0, "", ""] 00:14:50.057449493: calling as root: pidof -x -o '%PPID' synaptic 00:14:50.265707835: call returned: [1, "", ""] 00:14:50.265915235: calling as root: apt -y purge cowsay 00:14:50.555222726: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:14:50.592040609: calling as amnesia: xdotool key Super 00:14:50.698298336: call returned: [0, "", ""] 00:14:52.188617294: [log] TYPE "Synaptic Package Manager" 00:14:52.250559460: [log] ( Ctrl ) TYPE "#ENTER." 00:14:53.450613323: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:14:53.455081495: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node30 = dogtail.tree.root.application('synaptic') 00:14:53.619188138: execution complete 00:14:53.619334788: executing Python as amnesia: node31 = node30.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:14:53.652536921: execution complete 00:14:53.652678638: executing Python as amnesia: node32 = node30.button('Search') 00:14:53.805034600: execution complete 00:14:53.805206148: executing Python as amnesia: node32.click() 00:14:54.858363149: execution complete 00:14:54.858521872: executing Python as amnesia: node33 = node30.dialog('Find') 00:14:54.882110134: execution complete 00:14:54.882217336: executing Python as amnesia: node34 = node33.child(roleName='text') 00:14:54.914524225: execution complete 00:14:54.914627570: executing Python as amnesia: node34.typeText('cowsay') 00:14:55.563002992: execution complete 00:14:55.563123528: executing Python as amnesia: node35 = node33.button('Search') 00:14:55.603657869: execution complete 00:14:55.603784594: executing Python as amnesia: node35.click() 00:14:56.631194502: execution complete 00:14:56.631327572: executing Python as amnesia: node36 = node30.child('Installed Version', roleName='table column header') 00:14:56.797461140: execution complete 00:14:56.797594902: executing Python as amnesia: node37 = node36.parent 00:14:56.814739916: execution complete 00:14:56.814848814: executing Python as amnesia: node38 = node37.child('cowsay', roleName='table cell') 00:15:08.207529706: execution complete 00:15:08.207644157: Tor operation failed (Try 2 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:15:08.207683504: Forcing new Tor circuit... 00:15:08.207972098: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:15:08.411881433: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:15:08.412047522: calling as root: killall synaptic 00:15:08.564202522: call returned: [0, "", ""] 00:15:08.564390566: calling as root: pidof -x -o '%PPID' synaptic 00:15:08.801553334: call returned: [1, "", ""] 00:15:08.801706796: calling as root: apt -y purge cowsay 00:15:09.082884589: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:15:09.125701120: calling as amnesia: xdotool key Super 00:15:09.217177210: call returned: [0, "", ""] 00:15:10.701469708: [log] TYPE "Synaptic Package Manager" 00:15:11.371504044: [log] ( Ctrl ) TYPE "#ENTER." 00:15:11.982378022: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:15:11.982657562: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node39 = dogtail.tree.root.application('synaptic') 00:15:12.119996366: execution complete 00:15:12.120134544: executing Python as amnesia: node40 = node39.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:15:12.213297111: execution complete 00:15:12.213417518: executing Python as amnesia: node41 = node39.button('Search') 00:15:12.322546752: execution complete 00:15:12.322662509: executing Python as amnesia: node41.click() 00:15:13.348808275: execution complete 00:15:13.348942770: executing Python as amnesia: node42 = node39.dialog('Find') 00:15:13.373987042: execution complete 00:15:13.374143604: executing Python as amnesia: node43 = node42.child(roleName='text') 00:15:13.404679203: execution complete 00:15:13.404798070: executing Python as amnesia: node43.typeText('cowsay') 00:15:14.041718546: execution complete 00:15:14.041861163: executing Python as amnesia: node44 = node42.button('Search') 00:15:14.083790187: execution complete 00:15:14.083920447: executing Python as amnesia: node44.click() 00:15:15.122495670: execution complete 00:15:15.122656206: executing Python as amnesia: node45 = node39.child('Installed Version', roleName='table column header') 00:15:15.261108757: execution complete 00:15:15.261214913: executing Python as amnesia: node46 = node45.parent 00:15:15.279955944: execution complete 00:15:15.280090123: executing Python as amnesia: node47 = node46.child('cowsay', roleName='table cell') 00:15:26.347485992: execution complete 00:15:26.347608054: Tor operation failed (Try 3 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:15:26.347678309: Forcing new Tor circuit... 00:15:26.347918432: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:15:26.516897081: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:15:26.517110529: calling as root: killall synaptic 00:15:26.710954462: call returned: [0, "", ""] 00:15:26.711158018: calling as root: pidof -x -o '%PPID' synaptic 00:15:26.919005810: call returned: [1, "", ""] 00:15:26.919228361: calling as root: apt -y purge cowsay 00:15:27.131836091: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:15:27.186774380: calling as amnesia: xdotool key Super 00:15:27.272071583: call returned: [0, "", ""] 00:15:28.763207426: [log] TYPE "Synaptic Package Manager" 00:15:28.828199829: [log] ( Ctrl ) TYPE "#ENTER." 00:15:29.423077138: [log] TYPE "asdf" 00:15:29.464470868: [log] TYPE "#ENTER." 00:15:30.025165643: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node48 = dogtail.tree.root.application('synaptic') 00:15:30.172968681: execution complete 00:15:30.173156360: executing Python as amnesia: node49 = node48.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:15:30.202747173: execution complete 00:15:30.202887307: executing Python as amnesia: node50 = node48.button('Search') 00:15:30.282407274: execution complete 00:15:30.282530902: executing Python as amnesia: node50.click() 00:15:31.311492838: execution complete 00:15:31.311628363: executing Python as amnesia: node51 = node48.dialog('Find') 00:15:31.337524389: execution complete 00:15:31.337683168: executing Python as amnesia: node52 = node51.child(roleName='text') 00:15:31.364553688: execution complete 00:15:31.364695738: executing Python as amnesia: node52.typeText('cowsay') 00:15:32.018626486: execution complete 00:15:32.018798435: executing Python as amnesia: node53 = node51.button('Search') 00:15:32.068916542: execution complete 00:15:32.069031154: executing Python as amnesia: node53.click() 00:15:33.120508819: execution complete 00:15:33.120661243: executing Python as amnesia: node54 = node48.child('Installed Version', roleName='table column header') 00:15:33.267614434: execution complete 00:15:33.267762111: executing Python as amnesia: node55 = node54.parent 00:15:33.296569685: execution complete 00:15:33.296717549: executing Python as amnesia: node56 = node55.child('cowsay', roleName='table cell') 00:15:44.346203935: execution complete 00:15:44.346318724: Tor operation failed (Try 4 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:15:44.346395075: Forcing new Tor circuit... 00:15:44.346662083: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:15:44.521517477: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:15:44.521691194: calling as root: killall synaptic 00:15:44.660453851: call returned: [0, "", ""] 00:15:44.660621699: calling as root: pidof -x -o '%PPID' synaptic 00:15:44.831502425: call returned: [1, "", ""] 00:15:44.831723078: calling as root: apt -y purge cowsay 00:15:45.061037590: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:15:45.093864251: calling as amnesia: xdotool key Super 00:15:45.186924105: call returned: [0, "", ""] 00:15:46.672315808: [log] TYPE "Synaptic Package Manager" 00:15:46.738467894: [log] ( Ctrl ) TYPE "#ENTER." 00:15:47.334216567: [log] TYPE "asdf" 00:15:47.375588587: [log] TYPE "#ENTER." 00:15:47.932280804: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node57 = dogtail.tree.root.application('synaptic') 00:15:48.079719629: execution complete 00:15:48.079861294: executing Python as amnesia: node58 = node57.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:15:48.104687692: execution complete 00:15:48.104819483: executing Python as amnesia: node59 = node57.button('Search') 00:15:48.201736562: execution complete 00:15:48.201826866: executing Python as amnesia: node59.click() 00:15:49.238243213: execution complete 00:15:49.238461897: executing Python as amnesia: node60 = node57.dialog('Find') 00:15:49.260376791: execution complete 00:15:49.260575660: executing Python as amnesia: node61 = node60.child(roleName='text') 00:15:49.294400810: execution complete 00:15:49.294588642: executing Python as amnesia: node61.typeText('cowsay') 00:15:49.938509981: execution complete 00:15:49.938661224: executing Python as amnesia: node62 = node60.button('Search') 00:15:49.992700628: execution complete 00:15:49.992802874: executing Python as amnesia: node62.click() 00:15:51.020577408: execution complete 00:15:51.020744052: executing Python as amnesia: node63 = node57.child('Installed Version', roleName='table column header') 00:15:51.187287054: execution complete 00:15:51.187395415: executing Python as amnesia: node64 = node63.parent 00:15:51.209701613: execution complete 00:15:51.209870153: executing Python as amnesia: node65 = node64.child('cowsay', roleName='table cell') 00:16:02.354795402: execution complete 00:16:02.354987612: Tor operation failed (Try 5 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:16:02.355029925: Forcing new Tor circuit... 00:16:02.355276166: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:16:02.564648726: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:16:02.564906720: calling as root: killall synaptic 00:16:02.706296109: call returned: [0, "", ""] 00:16:02.706541429: calling as root: pidof -x -o '%PPID' synaptic 00:16:02.920494461: call returned: [1, "", ""] 00:16:02.920700031: calling as root: apt -y purge cowsay 00:16:03.172908165: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:16:03.207811128: calling as amnesia: xdotool key Super 00:16:03.311418591: call returned: [0, "", ""] 00:16:04.795145196: [log] TYPE "Synaptic Package Manager" 00:16:04.862827243: [log] ( Ctrl ) TYPE "#ENTER." 00:16:05.462162899: [log] TYPE "asdf" 00:16:05.504292567: [log] TYPE "#ENTER." 00:16:06.101646389: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node66 = dogtail.tree.root.application('synaptic') 00:16:06.255674218: execution complete 00:16:06.255803708: executing Python as amnesia: node67 = node66.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:16:06.350369317: execution complete 00:16:06.350510429: executing Python as amnesia: node68 = node66.button('Search') 00:16:06.475857237: execution complete 00:16:06.475956748: executing Python as amnesia: node68.click() 00:16:07.515204233: execution complete 00:16:07.515324970: executing Python as amnesia: node69 = node66.dialog('Find') 00:16:07.540298294: execution complete 00:16:07.540406240: executing Python as amnesia: node70 = node69.child(roleName='text') 00:16:07.580614838: execution complete 00:16:07.580719983: executing Python as amnesia: node70.typeText('cowsay') 00:16:08.217477925: execution complete 00:16:08.217616857: executing Python as amnesia: node71 = node69.button('Search') 00:16:08.279816015: execution complete 00:16:08.279945615: executing Python as amnesia: node71.click() 00:16:09.326079706: execution complete 00:16:09.326268500: executing Python as amnesia: node72 = node66.child('Installed Version', roleName='table column header') 00:16:09.477222353: execution complete 00:16:09.477336101: executing Python as amnesia: node73 = node72.parent 00:16:09.498128381: execution complete 00:16:09.498262666: executing Python as amnesia: node74 = node73.child('cowsay', roleName='table cell') 00:16:20.520303508: execution complete 00:16:20.520484372: Tor operation failed (Try 6 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:16:20.520534094: Forcing new Tor circuit... 00:16:20.520755187: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:16:20.708651476: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:16:20.708810234: calling as root: killall synaptic 00:16:20.867967657: call returned: [0, "", ""] 00:16:20.868143463: calling as root: pidof -x -o '%PPID' synaptic 00:16:21.068193250: call returned: [1, "", ""] 00:16:21.068351776: calling as root: apt -y purge cowsay 00:16:21.320852231: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:16:21.359020182: calling as amnesia: xdotool key Super 00:16:21.449003538: call returned: [0, "", ""] 00:16:23.001418840: [log] TYPE "Synaptic Package Manager" [log] ( Ctrl ) TYPE "#ENTER." 00:16:24.174300985: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:16:24.175031053: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node75 = dogtail.tree.root.application('synaptic') 00:16:24.340536463: execution complete 00:16:24.340674637: executing Python as amnesia: node76 = node75.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:16:24.379370804: execution complete 00:16:24.379489505: executing Python as amnesia: node77 = node75.button('Search') 00:16:24.478216907: execution complete 00:16:24.478351394: executing Python as amnesia: node77.click() 00:16:25.506512385: execution complete 00:16:25.506668598: executing Python as amnesia: node78 = node75.dialog('Find') 00:16:25.527880408: execution complete 00:16:25.528006718: executing Python as amnesia: node79 = node78.child(roleName='text') 00:16:25.557946679: execution complete 00:16:25.558064329: executing Python as amnesia: node79.typeText('cowsay') 00:16:26.188681647: execution complete 00:16:26.188800866: executing Python as amnesia: node80 = node78.button('Search') 00:16:26.249235457: execution complete 00:16:26.249375129: executing Python as amnesia: node80.click() 00:16:27.275020200: execution complete 00:16:27.275161227: executing Python as amnesia: node81 = node75.child('Installed Version', roleName='table column header') 00:16:27.390691037: execution complete 00:16:27.390797839: executing Python as amnesia: node82 = node81.parent 00:16:27.411878755: execution complete 00:16:27.412010558: executing Python as amnesia: node83 = node82.child('cowsay', roleName='table cell') 00:16:38.340143796: execution complete 00:16:38.340257335: Tor operation failed (Try 7 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:16:38.340300804: Forcing new Tor circuit... 00:16:38.340529139: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:16:38.541992554: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:16:38.542155760: calling as root: killall synaptic 00:16:38.693236056: call returned: [0, "", ""] 00:16:38.693403728: calling as root: pidof -x -o '%PPID' synaptic 00:16:38.897120766: call returned: [1, "", ""] 00:16:38.897310291: calling as root: apt -y purge cowsay 00:16:39.124930770: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:16:39.158177679: calling as amnesia: xdotool key Super 00:16:39.242012906: call returned: [0, "", ""] 00:16:40.719582756: [log] TYPE "Synaptic Package Manager" 00:16:40.788312355: [log] ( Ctrl ) TYPE "#ENTER." 00:16:41.378327518: [log] TYPE "asdf" 00:16:41.963257603: [log] TYPE "#ENTER." 00:16:41.963416924: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node84 = dogtail.tree.root.application('synaptic') 00:16:42.149071548: execution complete 00:16:42.149216240: executing Python as amnesia: node85 = node84.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:16:42.266418371: execution complete 00:16:42.266548555: executing Python as amnesia: node86 = node84.button('Search') 00:16:42.403232237: execution complete 00:16:42.403383810: executing Python as amnesia: node86.click() 00:16:43.431831179: execution complete 00:16:43.431977431: executing Python as amnesia: node87 = node84.dialog('Find') 00:16:43.453115193: execution complete 00:16:43.453247653: executing Python as amnesia: node88 = node87.child(roleName='text') 00:16:43.480264153: execution complete 00:16:43.480369807: executing Python as amnesia: node88.typeText('cowsay') 00:16:44.132175938: execution complete 00:16:44.132316701: executing Python as amnesia: node89 = node87.button('Search') 00:16:44.185075311: execution complete 00:16:44.185258833: executing Python as amnesia: node89.click() 00:16:45.209897782: execution complete 00:16:45.210044879: executing Python as amnesia: node90 = node84.child('Installed Version', roleName='table column header') 00:16:45.345453466: execution complete 00:16:45.345582279: executing Python as amnesia: node91 = node90.parent 00:16:45.370053328: execution complete 00:16:45.370234548: executing Python as amnesia: node92 = node91.child('cowsay', roleName='table cell') 00:16:56.382209367: execution complete 00:16:56.382332662: Tor operation failed (Try 8 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:16:56.382394633: Forcing new Tor circuit... 00:16:56.382615181: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:16:56.592009269: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:16:56.592180952: calling as root: killall synaptic 00:16:56.730805399: call returned: [0, "", ""] 00:16:56.730994504: calling as root: pidof -x -o '%PPID' synaptic 00:16:56.968775821: call returned: [1, "", ""] 00:16:56.968979277: calling as root: apt -y purge cowsay 00:16:57.221765501: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:16:57.253364436: calling as amnesia: xdotool key Super 00:16:57.349892103: call returned: [0, "", ""] 00:16:59.307793239: [log] TYPE "Synaptic Package Manager" [log] ( Ctrl ) TYPE "#ENTER." 00:16:59.513728087: [log] TYPE "asdf" 00:16:59.513920014: [log] TYPE "#ENTER." 00:17:00.084815045: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node93 = dogtail.tree.root.application('synaptic') 00:17:00.197973447: execution complete 00:17:00.198208346: executing Python as amnesia: node94 = node93.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:17:00.227074342: execution complete 00:17:00.227188652: executing Python as amnesia: node95 = node93.button('Search') 00:17:00.339325797: execution complete 00:17:00.339436040: executing Python as amnesia: node95.click() 00:17:01.371595454: execution complete 00:17:01.371717344: executing Python as amnesia: node96 = node93.dialog('Find') 00:17:01.392428694: execution complete 00:17:01.392540226: executing Python as amnesia: node97 = node96.child(roleName='text') 00:17:01.419409270: execution complete 00:17:01.419523816: executing Python as amnesia: node97.typeText('cowsay') 00:17:02.064788695: execution complete 00:17:02.064922160: executing Python as amnesia: node98 = node96.button('Search') 00:17:02.117144357: execution complete 00:17:02.117256754: executing Python as amnesia: node98.click() 00:17:03.146464760: execution complete 00:17:03.146638104: executing Python as amnesia: node99 = node93.child('Installed Version', roleName='table column header') 00:17:03.331237386: execution complete 00:17:03.331357698: executing Python as amnesia: node100 = node99.parent 00:17:03.355050455: execution complete 00:17:03.355211113: executing Python as amnesia: node101 = node100.child('cowsay', roleName='table cell') 00:17:14.479353583: execution complete 00:17:14.480030010: Tor operation failed (Try 9 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:17:14.480111526: Forcing new Tor circuit... 00:17:14.480348093: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:17:14.660042782: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:17:14.660225636: calling as root: killall synaptic 00:17:14.839670407: call returned: [0, "", ""] 00:17:14.839809181: calling as root: pidof -x -o '%PPID' synaptic 00:17:15.077785909: call returned: [1, "", ""] 00:17:15.077948332: calling as root: apt -y purge cowsay 00:17:15.291820190: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:17:15.326609329: calling as amnesia: xdotool key Super 00:17:15.401609194: call returned: [0, "", ""] 00:17:16.895376035: [log] TYPE "Synaptic Package Manager" 00:17:16.958417148: [log] ( Ctrl ) TYPE "#ENTER." 00:17:18.177898560: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:17:18.178174844: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node102 = dogtail.tree.root.application('synaptic') 00:17:18.289813394: execution complete 00:17:18.289977963: executing Python as amnesia: node103 = node102.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:17:18.320764579: execution complete 00:17:18.320927004: executing Python as amnesia: node104 = node102.button('Search') 00:17:18.424909401: execution complete 00:17:18.425007410: executing Python as amnesia: node104.click() 00:17:19.449423746: execution complete 00:17:19.449541890: executing Python as amnesia: node105 = node102.dialog('Find') 00:17:19.474175003: execution complete 00:17:19.474321330: executing Python as amnesia: node106 = node105.child(roleName='text') 00:17:19.510012810: execution complete 00:17:19.510118749: executing Python as amnesia: node106.typeText('cowsay') 00:17:20.149022438: execution complete 00:17:20.149169551: executing Python as amnesia: node107 = node105.button('Search') 00:17:20.200912235: execution complete 00:17:20.201027425: executing Python as amnesia: node107.click() 00:17:21.228498117: execution complete 00:17:21.228614032: executing Python as amnesia: node108 = node102.child('Installed Version', roleName='table column header') 00:17:21.324015635: execution complete 00:17:21.324145287: executing Python as amnesia: node109 = node108.parent 00:17:21.342475145: execution complete 00:17:21.342600680: executing Python as amnesia: node110 = node109.child('cowsay', roleName='table cell') 00:17:32.354858129: execution complete 00:17:32.355042607: Tor operation failed (Try 10 of 10) with: RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' 00:17:32.355109525: Forcing new Tor circuit... 00:17:32.356184411: calling as root: . /usr/local/lib/tails-shell-library/tor.sh && tor_control_send "signal NEWNYM" 00:17:32.554608977: call returned: [0, "250 OK\n250 OK\n250 closing connection\n", ""] 00:17:32.554757176: calling as root: killall synaptic 00:17:32.715861253: call returned: [0, "", ""] 00:17:32.716024122: calling as root: pidof -x -o '%PPID' synaptic 00:17:32.915335694: call returned: [1, "", ""] 00:17:32.915545848: calling as root: apt -y purge cowsay 00:17:33.114657194: call returned: [100, "Reading package lists...\nBuilding dependency tree...\nReading state information...\n", "\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\nE: Unable to locate package cowsay\n"] 00:17:33.146462035: calling as amnesia: xdotool key Super 00:17:33.223918182: call returned: [0, "", ""] 00:17:34.724389968: [log] TYPE "Synaptic Package Manager" 00:17:34.786597315: [log] ( Ctrl ) TYPE "#ENTER." 00:17:35.385079639: [log] TYPE "asdf" 00:17:35.981491184: [log] TYPE "#ENTER." 00:17:35.981653070: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node111 = dogtail.tree.root.application('synaptic') 00:17:36.086428654: execution complete 00:17:36.086571270: executing Python as amnesia: node112 = node111.child('Synaptic Package Manager ', roleName='frame', recursive=False) 00:17:36.112991511: execution complete 00:17:36.113105606: executing Python as amnesia: node113 = node111.button('Search') 00:17:36.230509021: execution complete 00:17:36.230606476: executing Python as amnesia: node113.click() 00:17:37.268146252: execution complete 00:17:37.268272191: executing Python as amnesia: node114 = node111.dialog('Find') 00:17:37.304955885: execution complete 00:17:37.305118660: executing Python as amnesia: node115 = node114.child(roleName='text') 00:17:37.332734492: execution complete 00:17:37.332870025: executing Python as amnesia: node115.typeText('cowsay') 00:17:37.977597962: execution complete 00:17:37.977727775: executing Python as amnesia: node116 = node114.button('Search') 00:17:38.016289843: execution complete 00:17:38.016461650: executing Python as amnesia: node116.click() 00:17:39.039686443: execution complete 00:17:39.039813509: executing Python as amnesia: node117 = node111.child('Installed Version', roleName='table column header') 00:17:39.192342548: execution complete 00:17:39.192462465: executing Python as amnesia: node118 = node117.parent 00:17:39.211150106: execution complete 00:17:39.211317181: executing Python as amnesia: node119 = node118.child('cowsay', roleName='table cell') 00:17:50.033433185: execution complete When I install "cowsay" using Synaptic # features/step_definitions/apt.rb:112 Tor operation failed (despite retrying 10 times) with RuntimeError: The Dogtail script raised: SearchError: descendent of [table | ]: child with name="cowsay" roleName='table cell' (MaxRetriesFailure) ./features/support/helpers/misc_helpers.rb:150:in `rescue in block in retry_action' ./features/support/helpers/misc_helpers.rb:135:in `block in retry_action' ./features/support/helpers/misc_helpers.rb:134:in `loop' ./features/support/helpers/misc_helpers.rb:134:in `retry_action' ./features/support/helpers/misc_helpers.rb:123:in `/^I install "(.+)" using Synaptic$/' features/apt.feature:28:in `When I install "cowsay" using Synaptic' Then the package "cowsay" is installed # features/step_definitions/common_steps.rb:561 00:17:53.162856874: calling as root: echo 'hello?' 00:17:53.300698966: call returned: [0, "hello?\n", ""] 00:17:53.301010166: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 00:17:53.511591150: call returned: [0, "", ""] 00:17:53.511713846: opening file /tmp/systemd.journal in 'read' mode 00:18:35.983750045: read complete Scenario failed at time 00:17:53 Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/00:17:53_Install_packages_using_Synaptic.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/00:17:53_Install_packages_using_Synaptic.journal Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/00:17:53_Install_packages_using_Synaptic.mkv @product Feature: Root access control enforcement As a Tails user when I set an administration password in Tails Greeter I can use the password for attaining administrative privileges. But when I do not set an administration password I should not be able to attain administration privileges at all. Scenario: If an administrative password is set in Tails Greeter the live user should be able to run arbitrary commands with administrative privileges. # features/root_access_control.feature:9 00:18:38.022910111: calling as root: echo 'hello?' 00:18:38.148026314: call returned: [0, "hello?\n", ""] 00:18:38.872274230: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:18:38.872384127: calling as root: nmcli device show eth0 00:18:39.045784947: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:18:39.055100893: calling as root: date -s '@1523720023' 00:18:39.183441712: call returned: [0, "Sat Apr 14 15:33:43 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD without network and logged in with an administration password Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen 00:18:39.940841852: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 00:18:41.153817336: [log] CLICK on L(427,258)@S(0)[0,0 1024x768] 00:18:41.361758385: [log] TYPE "asdf" [log] TYPE "#TAB." And I set an administration password 00:18:41.993350895: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:18:42.719671976: calling as root: loginctl 00:18:42.731369663: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:18:42.877179842: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:18:43.877548735: calling as root: loginctl 00:18:44.048012436: call returned: [0, " SESSION UID USER SEAT TTY \n 8 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:18:51.251709958: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:18:51.334986887: call returned: [0, "", ""] 00:18:51.335112240: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:18:51.411294250: call returned: [0, "", ""] And I log in to a new session Given I have started Tails from DVD without network and logged in with an administration password # features/step_definitions/snapshots.rb:186 00:18:56.848010885: calling as amnesia: echo asdf | sudo -S whoami 00:18:56.998428090: call returned: [0, "root\n", "\nWe trust you have received the usual lecture from the local System\nAdministrator. It usually boils down to these three things:\n\n #1) Respect the privacy of others.\n #2) Think before you type.\n #3) With great power comes great responsibility.\n\n[sudo] password for amnesia: "] Then I should be able to run administration commands as the live user # features/step_definitions/root_access_control.rb:1 Scenario: If no administrative password is set in Tails Greeter the live user should not be able to run arbitrary commands administrative privileges. # features/root_access_control.feature:13 00:19:02.873295206: calling as root: echo 'hello?' 00:19:03.070743746: call returned: [0, "hello?\n", ""] 00:19:03.794507979: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:19:03.794640671: calling as root: nmcli device show eth0 00:19:04.056867945: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:19:04.074665359: calling as root: date -s '@1523720048' 00:19:04.253316749: call returned: [0, "Sat Apr 14 15:34:08 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:19:04.254448390: calling as amnesia: echo | sudo -S whoami 00:19:04.385347065: call returned: [1, "", "By default, the administration password is disabled for better security.\n\nIn order to perform administration tasks, you need to setup an administration\npassword when starting Tails.\n\nSee the corresponding documentation:\nfile:///usr/share/doc/tails/website/doc/first_steps/startup_options/administration_password.en.html\nSorry, user amnesia is not allowed to execute '/usr/bin/whoami' as root on localhost.\n"] Then I should not be able to run administration commands as the live user with the "" password # features/step_definitions/root_access_control.rb:8 00:19:04.386487114: calling as amnesia: echo amnesia | sudo -S whoami 00:19:04.484550929: call returned: [1, "", "By default, the administration password is disabled for better security.\n\nIn order to perform administration tasks, you need to setup an administration\npassword when starting Tails.\n\nSee the corresponding documentation:\nfile:///usr/share/doc/tails/website/doc/first_steps/startup_options/administration_password.en.html\nSorry, user amnesia is not allowed to execute '/usr/bin/whoami' as root on localhost.\n"] And I should not be able to run administration commands as the live user with the "amnesia" password # features/step_definitions/root_access_control.rb:8 00:19:04.485617692: calling as amnesia: echo live | sudo -S whoami 00:19:04.579014626: call returned: [1, "", "By default, the administration password is disabled for better security.\n\nIn order to perform administration tasks, you need to setup an administration\npassword when starting Tails.\n\nSee the corresponding documentation:\nfile:///usr/share/doc/tails/website/doc/first_steps/startup_options/administration_password.en.html\nSorry, user amnesia is not allowed to execute '/usr/bin/whoami' as root on localhost.\n"] And I should not be able to run administration commands as the live user with the "live" password # features/step_definitions/root_access_control.rb:8 Scenario: If an administrative password is set in Tails Greeter the live user should be able to get administrative privileges through PolicyKit # features/root_access_control.feature:19 00:19:06.717467851: calling as root: echo 'hello?' 00:19:06.874668071: call returned: [0, "hello?\n", ""] 00:19:07.598595655: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:19:07.598705165: calling as root: nmcli device show eth0 00:19:07.834001333: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:19:07.843470269: calling as root: date -s '@1523720051' 00:19:08.020007155: call returned: [0, "Sat Apr 14 15:34:11 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in with an administration password # features/step_definitions/snapshots.rb:186 00:19:08.021175633: calling as root: pkaction --verbose --action-id org.freedesktop.policykit.exec 00:19:08.242343831: call returned: [1, "org.freedesktop.policykit.exec:\n description: Run programs as another user\n message: Authentication is required to run a program as another user\n vendor: The PolicyKit Project\n vendor_url: http://hal.freedesktop.org/docs/PolicyKit/\n icon: \n implicit any: auth_admin\n implicit inactive: auth_admin\n implicit active: auth_admin\n\n", ""] And running a command as root with pkexec requires PolicyKit administrator privileges # features/step_definitions/root_access_control.rb:15 00:19:08.243907266: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:19:08.422084337: call returned: [1, "", ""] 00:19:08.458317480: calling as amnesia: xdotool key Super 00:19:08.900189662: call returned: [0, "", ""] 00:19:10.118206988: [log] TYPE "commandline" 00:19:10.182032355: [log] ( Ctrl ) TYPE "#ENTER." 00:19:13.229432502: [log] TYPE "pkexec touch /root/pkexec-test#ENTER." 00:19:14.425863668: [log] TYPE "asdf" [log] TYPE "#ENTER." 00:19:14.426193164: calling as root: ls /root/pkexec-test 00:19:14.558914508: call returned: [0, "/root/pkexec-test\n", ""] Then I should be able to run a command as root with pkexec # features/step_definitions/root_access_control.rb:26 Scenario: If no administrative password is set in Tails Greeter the live user should not be able to get administrative privileges through PolicyKit with the standard passwords. # features/root_access_control.feature:24 00:19:16.859198168: calling as root: echo 'hello?' 00:19:17.111495612: call returned: [0, "hello?\n", ""] 00:19:17.839850812: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:19:17.840037299: calling as root: nmcli device show eth0 00:19:18.108407502: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:19:18.124010807: calling as root: date -s '@1523720062' 00:19:18.261081476: call returned: [0, "Sat Apr 14 15:34:22 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:19:18.261850928: calling as root: pkaction --verbose --action-id org.freedesktop.policykit.exec 00:19:18.572966168: call returned: [1, "org.freedesktop.policykit.exec:\n description: Run programs as another user\n message: Authentication is required to run a program as another user\n vendor: The PolicyKit Project\n vendor_url: http://hal.freedesktop.org/docs/PolicyKit/\n icon: \n implicit any: auth_admin\n implicit inactive: auth_admin\n implicit active: auth_admin\n\n", ""] And running a command as root with pkexec requires PolicyKit administrator privileges # features/step_definitions/root_access_control.rb:15 00:19:18.574254904: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:19:18.713429729: call returned: [1, "", ""] 00:19:18.759283434: calling as amnesia: xdotool key Super 00:19:18.940704916: call returned: [0, "", ""] 00:19:20.151757599: [log] TYPE "commandline" 00:19:20.213909734: [log] ( Ctrl ) TYPE "#ENTER." 00:19:23.688092212: [log] TYPE "pkexec touch /root/pkexec-test#ENTER." 00:19:44.060537623: [log] TYPE "#ENTER." 00:19:44.262001735: [log] TYPE "live" 00:20:04.631186281: [log] TYPE "#ENTER." 00:20:04.961664793: [log] TYPE "amnesia" 00:20:05.002928697: [log] TYPE "#ENTER." 00:20:25.373197942: [log] TYPE "#ESC." Then I should not be able to run a command as root with pkexec and the standard passwords # features/step_definitions/root_access_control.rb:34 @product @check_tor_leaks Feature: Time syncing As a Tails user I want Tor to work properly And for that I need a reasonably accurate system clock Scenario: Clock with host's time # features/time_syncing.feature:7 00:20:27.945881916: calling as root: echo 'hello?' 00:20:28.151976945: call returned: [0, "hello?\n", ""] 00:20:28.876627198: calling as root: nmcli device show eth0 00:20:28.889989343: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:20:29.156946365: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:20:29.166562847: calling as root: date -s '@1523720133' 00:20:29.311183471: call returned: [0, "Sat Apr 14 15:35:33 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 When the network is plugged # features/step_definitions/common_steps.rb:79 00:20:29.337919894: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:29.613703233: call returned: [1, "", ""] 00:20:30.614072664: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:30.791983292: call returned: [1, "", ""] 00:20:31.792217191: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:31.931226815: call returned: [1, "", ""] 00:20:32.931579777: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:33.071716133: call returned: [1, "", ""] 00:20:34.072066719: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:34.206163576: call returned: [1, "", ""] 00:20:35.206418557: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:35.389159671: call returned: [1, "", ""] 00:20:36.389424031: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:36.626556554: call returned: [1, "", ""] 00:20:37.626928339: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:37.871134189: call returned: [3, "", ""] 00:20:38.871389340: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:20:39.297270418: call returned: [0, "", ""] 00:20:39.297493306: calling as root: test -e /run/tordate/done 00:20:39.460067500: call returned: [0, "", ""] 00:20:39.460335418: calling as root: test -e /run/htpdate/success 00:20:39.632515935: call returned: [1, "", ""] 00:20:40.632847900: calling as root: test -e /run/htpdate/success 00:20:40.802924629: call returned: [0, "", ""] 00:20:40.803203586: calling as root: systemctl is-system-running 00:20:40.957286958: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 00:20:40.958430207: calling as root: date --rfc-2822 00:20:41.091605409: call returned: [0, "Sat, 14 Apr 2018 15:35:44 +0000\n", ""] Then Tails clock is less than 5 minutes incorrect # features/step_definitions/time_syncing.rb:40 Time was 1.18603129 seconds off #11589 @fragile Scenario: Clock with host's time in bridge mode # features/time_syncing.feature:15 00:20:42.927996812: calling as root: echo 'hello?' 00:20:43.057861511: call returned: [0, "hello?\n", ""] 00:20:43.780874790: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:20:43.781029015: calling as root: nmcli device show eth0 00:20:43.947679486: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:20:43.958024330: calling as root: date -s '@1523720148' 00:20:44.062244962: call returned: [0, "Sat Apr 14 15:35:48 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD without network and logged in with bridge mode enabled Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen 00:20:44.822810938: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 00:20:46.018460219: [log] CLICK on L(399,338)@S(0)[0,0 1024x768] 00:20:47.999044477: [log] CLICK on L(393,419)@S(0)[0,0 1024x768] 00:20:47.999246900: [log] CLICK on L(685,196)@S(0)[0,0 1024x768] And I enable the specific Tor configuration option 00:20:49.158520171: [log] CLICK on L(778,159)@S(0)[0,0 1024x768] 00:20:49.158752861: calling as root: loginctl 00:20:49.315546307: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:20:50.315837551: calling as root: loginctl 00:20:50.551316523: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:20:58.100757641: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:20:58.185033151: call returned: [0, "", ""] 00:20:58.185147543: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:20:58.267227745: call returned: [0, "", ""] And I log in to a new session 00:20:58.267450025: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node120 = dogtail.tree.root.application('gnome-shell') 00:20:59.273710062: execution complete 00:20:59.997975089: executing Python as amnesia: node121 = node120.child('No Notifications', roleName='label') 00:21:00.008287915: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:21:00.938663364: execution complete 00:21:00.938799905: executing Python as amnesia: node122 = node120.child('No Notifications', roleName='label') 00:21:01.732357897: execution complete And all notifications have disappeared 00:21:06.052238286: [log] TYPE "#ESC." Given I have started Tails from DVD without network and logged in with bridge mode enabled # features/step_definitions/snapshots.rb:186 When the network is plugged # features/step_definitions/common_steps.rb:79 And the Tor Launcher autostarts # features/step_definitions/tor.rb:345 00:21:24.485391304: [log] CLICK on L(595,316)@S(0)[0,0 1024x768] 00:21:26.117031365: [log] CLICK on L(310,196)@S(0)[0,0 1024x768] 00:21:26.843522952: [log] CLICK on L(302,248)@S(0)[0,0 1024x768] 00:21:29.670347601: [log] TYPE "bridge 10.2.1.1:5036 768BA0A04692235313C807CDB3B8F54CE664D109#ENTER." 00:21:32.461133355: [log] TYPE "bridge 10.2.1.1:5037 E533C441B630067FF23685F39359DD7322CC66C9#ENTER." 00:21:35.240381202: [log] TYPE "bridge 10.2.1.1:5035 4FA4B6B0486891E545203D304D26560E0659FB47#ENTER." 00:21:36.566991770: [log] CLICK on L(792,638)@S(0)[0,0 1024x768] And I configure some bridge pluggable transports in Tor Launcher # features/step_definitions/tor.rb:349 00:21:39.281841919: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:21:39.616020356: call returned: [0, "", ""] 00:21:39.616327527: calling as root: test -e /run/tordate/done 00:21:39.862717412: call returned: [1, "", ""] 00:21:40.863044128: calling as root: test -e /run/tordate/done 00:21:41.007011756: call returned: [0, "", ""] 00:21:41.007271801: calling as root: test -e /run/htpdate/success 00:21:41.188866330: call returned: [1, "", ""] 00:21:42.189210640: calling as root: test -e /run/htpdate/success 00:21:42.350287151: call returned: [0, "", ""] 00:21:42.350554878: calling as root: systemctl is-system-running 00:21:42.562865018: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 00:21:42.563704008: calling as root: date --rfc-2822 00:21:42.770172813: call returned: [0, "Sat, 14 Apr 2018 15:36:46 +0000\n", ""] Then Tails clock is less than 5 minutes incorrect # features/step_definitions/time_syncing.rb:40 Time was 0.864322305 seconds off Scenario: The system time is not synced to the hardware clock # features/time_syncing.feature:23 00:21:44.640294732: calling as root: echo 'hello?' 00:21:44.922420336: call returned: [0, "hello?\n", ""] 00:21:45.645118566: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:21:45.645266762: calling as root: nmcli device show eth0 00:21:45.914015771: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:21:45.924450056: calling as root: date -s '@1523720210' 00:21:46.070607319: call returned: [0, "Sat Apr 14 15:36:50 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:21:46.071815901: calling as root: date 00:21:46.231061283: call returned: [0, "Sat Apr 14 15:36:50 UTC 2018\n", ""] 00:21:46.232525022: calling as root: date -s 'now -15 days' 00:21:46.425276706: call returned: [0, "Fri Mar 30 15:36:50 UTC 2018\n", ""] 00:21:46.425417245: calling as root: date 00:21:46.564798261: call returned: [0, "Fri Mar 30 15:36:50 UTC 2018\n", ""] When I bump the system time with "-15 days" # features/step_definitions/time_syncing.rb:20 00:21:46.577573603: spawning as root: reboot And I warm reboot the computer # features/step_definitions/common_steps.rb:548 00:22:21.779170763: calling as root: echo 'hello?' 00:22:21.790910709: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:22:22.221644555: call returned: [0, "hello?\n", ""] 00:22:22.222080986: calling as root: service tor status 00:22:22.819840965: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:22:22.820171764: opening file /etc/tor/torrc in 'append' mode 00:22:23.025644604: append complete And the computer reboots Tails # features/step_definitions/common_steps.rb:248 00:22:23.026841801: calling as root: hwclock -r 00:22:24.173971683: call returned: [0, "2018-04-14 15:37:27.257787+0000\n", ""] Then Tails' hardware clock is close to the host system's time # features/step_definitions/time_syncing.rb:80 Scenario: Anti-test: Changes to the hardware clock are kept when rebooting # features/time_syncing.feature:30 00:22:25.977159311: calling as root: echo 'hello?' 00:22:26.183396865: call returned: [0, "hello?\n", ""] 00:22:26.906566523: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:22:26.906769869: calling as root: nmcli device show eth0 00:22:27.186425040: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:22:27.196076955: calling as root: date -s '@1523720251' 00:22:27.348895229: call returned: [0, "Sat Apr 14 15:37:31 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:22:27.350166570: calling as root: hwclock -r 00:22:28.172592753: call returned: [0, "2018-04-14 15:37:31.383126+0000\n", ""] 00:22:28.172815688: calling as root: hwclock --set --date 'now -15 days' 00:22:29.858161622: call returned: [0, "", ""] 00:22:29.858290621: calling as root: hwclock -r 00:22:30.366420223: call returned: [0, "2018-03-30 15:37:33.618460+0000\n", ""] When I bump the hardware clock's time with "-15 days" # features/step_definitions/time_syncing.rb:20 00:22:30.375850466: spawning as root: reboot And I warm reboot the computer # features/step_definitions/common_steps.rb:548 00:23:04.915416867: calling as root: echo 'hello?' 00:23:04.932686610: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:23:05.416912381: call returned: [0, "hello?\n", ""] 00:23:05.417114525: calling as root: service tor status 00:23:05.987126557: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:23:05.987429361: opening file /etc/tor/torrc in 'append' mode 00:23:06.150678471: append complete And the computer reboots Tails # features/step_definitions/common_steps.rb:248 00:23:06.152034169: calling as root: hwclock -r 00:23:07.371723465: call returned: [0, "2018-03-30 15:38:10.081689+0000\n", ""] Then the hardware clock is still off by "-15 days" # features/step_definitions/time_syncing.rb:88 Scenario: Boot with a hardware clock set way in the past and make sure that Tails sets the clock to the source date # features/time_syncing.feature:37 Given a computer # features/step_definitions/common_steps.rb:46 And the network is unplugged # features/step_definitions/common_steps.rb:83 And the hardware clock is set to "01 Jan 2000 12:34:56" # features/step_definitions/common_steps.rb:92 And I start the computer # features/step_definitions/common_steps.rb:109 00:23:09.949411498: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:23:50.546186876: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:23:50.546547927: calling as root: echo 'hello?' 00:23:50.708935561: call returned: [0, "hello?\n", ""] 00:23:50.710528592: calling as root: service tor status 00:23:50.907870495: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:23:50.908134708: opening file /etc/tor/torrc in 'append' mode 00:23:51.076723853: append complete And the computer boots Tails # features/step_definitions/common_steps.rb:248 00:23:51.077818603: calling as root: date 00:23:51.190486462: call returned: [0, "Fri Mar 30 00:00:20 UTC 2018\n", ""] 00:23:51.190795232: calling as root: sed -n -e "1s/^.* - \([0-9]\+\)$/\1/p;q" /etc/amnesia/version 00:23:51.294715168: call returned: [0, "20180330\n", ""] 00:23:51.295435853: calling as root: journalctl | grep 'System time before build time, advancing clock' 00:23:51.459699522: call returned: [0, "Jan 28 15:58:18 amnesia systemd[1]: System time before build time, advancing clock.\n", ""] Then the system clock is just past Tails' source date # features/step_definitions/time_syncing.rb:50 #11606 @product @fragile Feature: Using Tails with Tor pluggable transports As a Tails user I want to circumvent censorship of Tor by using Tor pluggable transports And avoid connecting directly to the Tor Network Background: # features/tor_bridges.feature:8 00:23:53.448778981: calling as root: echo 'hello?' 00:23:53.581142734: call returned: [0, "hello?\n", ""] 00:23:54.304407711: calling as root: nmcli device show eth0 00:23:54.304504054: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:23:54.479621601: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:23:54.489059271: calling as root: date -s '@1523720338' 00:23:54.609324613: call returned: [0, "Sat Apr 14 15:38:58 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD without network and logged in with bridge mode enabled Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen 00:23:55.368840063: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 00:23:56.575537316: [log] CLICK on L(399,338)@S(0)[0,0 1024x768] And I enable the specific Tor configuration option 00:23:58.491820987: [log] CLICK on L(393,419)@S(0)[0,0 1024x768] [log] CLICK on L(685,196)@S(0)[0,0 1024x768] 00:23:59.639556227: calling as root: loginctl 00:23:59.651043746: [log] CLICK on L(778,159)@S(0)[0,0 1024x768] 00:23:59.857725694: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:24:00.858250869: calling as root: loginctl 00:24:01.047014748: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:24:08.905741416: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:24:08.994059782: call returned: [0, "", ""] 00:24:08.994228122: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:24:09.088382894: call returned: [0, "", ""] And I log in to a new session 00:24:09.088606297: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node123 = dogtail.tree.root.application('gnome-shell') 00:24:09.878463909: execution complete 00:24:10.603886695: executing Python as amnesia: node124 = node123.child('No Notifications', roleName='label') 00:24:10.603978060: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:24:11.553758474: execution complete 00:24:11.553890991: executing Python as amnesia: node125 = node123.child('No Notifications', roleName='label') 00:24:12.358677610: execution complete 00:24:12.400287699: [log] TYPE "#ESC." And all notifications have disappeared Given I have started Tails from DVD without network and logged in with bridge mode enabled # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 When the network is plugged # features/step_definitions/common_steps.rb:79 Then the Tor Launcher autostarts # features/step_definitions/tor.rb:345 00:24:35.037756173: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 00:24:35.180111138: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 00:24:35.180456342: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TOR_LAUNCHER_INSTALL} 00:24:35.304596065: call returned: [0, "/usr/local/lib/tor-launcher-standalone\n", ""] 00:24:35.313866951: calling as root: pgrep --uid tor-launcher --full --exact '/usr/local/lib/tor-browser/firefox-unconfined +-app /usr/local/lib/tor-launcher-standalone/application.ini.*' 00:24:35.506860747: call returned: [0, "6808\n", ""] 00:24:35.507327592: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && ls -1 ${TBB_INSTALL}/*.so 00:24:35.690483665: call returned: [0, "/usr/local/lib/tor-browser/libfreeblpriv3.so\n/usr/local/lib/tor-browser/liblgpllibs.so\n/usr/local/lib/tor-browser/libmozavcodec.so\n/usr/local/lib/tor-browser/libmozavutil.so\n/usr/local/lib/tor-browser/libmozsandbox.so\n/usr/local/lib/tor-browser/libmozsqlite3.so\n/usr/local/lib/tor-browser/libnspr4.so\n/usr/local/lib/tor-browser/libnss3.so\n/usr/local/lib/tor-browser/libnssckbi.so\n/usr/local/lib/tor-browser/libnssdbm3.so\n/usr/local/lib/tor-browser/libnssutil3.so\n/usr/local/lib/tor-browser/libplc4.so\n/usr/local/lib/tor-browser/libplds4.so\n/usr/local/lib/tor-browser/libsmime3.so\n/usr/local/lib/tor-browser/libsoftokn3.so\n/usr/local/lib/tor-browser/libssl3.so\n/usr/local/lib/tor-browser/libxul.so\n", ""] 00:24:35.690609896: calling as root: pmap --show-path 6808 00:24:37.856387978: call returned: [0, "6808: /usr/local/lib/tor-browser/firefox-unconfined -app /usr/local/lib/tor-launcher-standalone/application.ini -profile /home/tor-launcher/.tor-launcher/profile.default\n00000266f9461000 128K r-x-- [ anon ]\n00000266f9481000 64K ----- [ anon ]\n00000266f9491000 64K r-x-- [ anon ]\n00000266f94a1000 64K ----- [ anon ]\n00000266f94b1000 192K r-x-- [ anon ]\n00000266f94e1000 64K ----- [ anon ]\n00000266f94f1000 128K r-x-- [ anon ]\n00000266f9511000 64K ----- [ anon ]\n00000266f9521000 128K r-x-- [ anon ]\n00000266f9541000 64K ----- [ anon ]\n00000266f9551000 64K r-x-- [ anon ]\n00000266f9561000 64K ----- [ anon ]\n00000266f9571000 64K r-x-- [ anon ]\n00000266f9581000 128K r-x-- [ anon ]\n00000266f95a1000 64K ----- [ anon ]\n00000266f95b1000 64K r-x-- [ anon ]\n00000266f95c1000 64K ----- [ anon ]\n00000266f95d1000 64K r-x-- [ anon ]\n00000266f95e1000 64K r-x-- [ anon ]\n00000266f95f1000 64K ----- [ anon ]\n00000266f9601000 64K r-x-- [ anon ]\n00000266f9611000 64K ----- [ anon ]\n00000266f9621000 24K r-x-- [ anon ]\n00000266f9627000 40K r-x-- [ anon ]\n00000266f9631000 64K ----- [ anon ]\n00000266f9641000 12K r-x-- [ anon ]\n00000266f9644000 52K r-x-- [ anon ]\n00000266f9651000 1046592K ----- [ anon ]\n00005dfba43d8000 140K r-x-- /usr/local/lib/tor-browser/firefox-unconfined\n00005dfba43fc000 4K r---- /usr/local/lib/tor-browser/firefox-unconfined\n00005dfba43fd000 4K rw--- /usr/local/lib/tor-browser/firefox-unconfined\n00007f4377700000 11264K rw--- [ anon ]\n00007f43782fa000 20K r-x-- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007f43782ff000 2044K ----- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007f43784fe000 4K r---- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007f43784ff000 4K rw--- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007f4378500000 4096K rw--- [ anon ]\n00007f43789ff000 4K ----- [ anon ]\n00007f4378a00000 4096K rw--- [ anon ]\n00007f4378eff000 4K ----- [ anon ]\n00007f4378f00000 9216K rw--- [ anon ]\n00007f43798ff000 4K ----- [ anon ]\n00007f4379900000 14336K rw--- [ anon ]\n00007f437a7ff000 4K ----- [ anon ]\n00007f437a800000 10240K rw--- [ anon ]\n00007f437b26c000 572K r---- /usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n00007f437b2fb000 4K ----- [ anon ]\n00007f437b2fc000 8192K rw--- [ anon ]\n00007f437bafc000 4K ----- [ anon ]\n00007f437bafd000 8192K rw--- [ anon ]\n00007f437c2fd000 4K ----- [ anon ]\n00007f437c2fe000 8192K rw--- [ anon ]\n00007f437cafe000 4K ----- [ anon ]\n00007f437caff000 8192K rw--- [ anon ]\n00007f437d2ff000 4K ----- [ anon ]\n00007f437d300000 9216K rw--- [ anon ]\n00007f437dc68000 572K r---- /usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n00007f437dcf7000 4K ----- [ anon ]\n00007f437dcf8000 8192K rw--- [ anon ]\n00007f437e4f8000 4K ----- [ anon ]\n00007f437e4f9000 8192K rw--- [ anon ]\n00007f437ecf9000 564K r-x-- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007f437ed86000 2044K ----- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007f437ef85000 112K r---- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007f437efa1000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007f437efa2000 168K r-x-- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007f437efcc000 2048K ----- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007f437f1cc000 4K r---- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007f437f1cd000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007f437f1ce000 28K r-x-- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007f437f1d5000 2048K ----- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007f437f3d5000 4K r---- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007f437f3d6000 4K rw--- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007f437f3d7000 468K r-x-- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007f437f44c000 2048K ----- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007f437f64c000 4K r---- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007f437f64d000 4K rw--- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007f437f64e000 80K r-x-- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007f437f662000 2048K ----- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007f437f862000 4K r---- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007f437f863000 4K rw--- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007f437f864000 8K rw--- [ anon ]\n00007f437f866000 20K r-x-- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007f437f86b000 2044K ----- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007f437fa6a000 4K r---- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007f437fa6b000 4K rw--- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007f437fa6c000 460K r-x-- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007f437fadf000 2044K ----- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007f437fcde000 12K r---- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007f437fce1000 4K rw--- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007f437fce2000 8K rw--- [ anon ]\n00007f437fce4000 32K r-x-- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007f437fcec000 2048K ----- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007f437feec000 4K r---- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007f437feed000 4K rw--- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007f437feee000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007f437fef3000 2044K ----- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007f43800f2000 4K r---- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007f43800f3000 4K rw--- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007f43800f4000 16K r-x-- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007f43800f8000 2048K ----- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007f43802f8000 4K r---- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007f43802f9000 4K rw--- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007f43802fa000 4K ----- [ anon ]\n00007f43802fb000 8192K rw--- [ anon ]\n00007f4380afb000 4K ----- [ anon ]\n00007f4380afc000 8192K rw--- [ anon ]\n00007f43812fc000 4K ----- [ anon ]\n00007f43812fd000 8192K rw--- [ anon ]\n00007f4381afd000 4K ----- [ anon ]\n00007f4381afe000 8192K rw--- [ anon ]\n00007f43822fe000 4K ----- [ anon ]\n00007f43822ff000 8192K rw--- [ anon ]\n00007f4382aff000 4K ----- [ anon ]\n00007f4382b00000 17408K rw--- [ anon ]\n00007f4383c2c000 512K r-x-- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007f4383cac000 2048K ----- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007f4383eac000 8K r---- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007f4383eae000 4K rw--- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007f4383eaf000 312K r-x-- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007f4383efd000 2048K ----- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007f43840fd000 8K r---- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007f43840ff000 4K rw--- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007f4384100000 7168K rw--- [ anon ]\n00007f4384805000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007f4384893000 392K r-x-- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007f43848f5000 2044K ----- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007f4384af4000 12K r---- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007f4384af7000 4K rw--- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007f4384af8000 24K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007f4384afe000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007f4384cfe000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007f4384cff000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007f4384d00000 3072K rw--- [ anon ]\n00007f4385000000 2048K rw--- [ anon ]\n00007f4385271000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007f43852ff000 4K ----- [ anon ]\n00007f4385300000 13312K rw--- [ anon ]\n00007f438605c000 496K r-x-- /usr/local/lib/tor-browser/libnssckbi.so\n00007f43860d8000 84K r---- /usr/local/lib/tor-browser/libnssckbi.so\n00007f43860ed000 48K rw--- /usr/local/lib/tor-browser/libnssckbi.so\n00007f43860f9000 4K ----- [ anon ]\n00007f43860fa000 8192K rw--- [ anon ]\n00007f43868fa000 4K ----- [ anon ]\n00007f43868fb000 8192K rw--- [ anon ]\n00007f43870fb000 4K ----- [ anon ]\n00007f43870fc000 8192K rw--- [ anon ]\n00007f43878fc000 4K ----- [ anon ]\n00007f43878fd000 8192K rw--- [ anon ]\n00007f43880fd000 4K ----- [ anon ]\n00007f43880fe000 8192K rw--- [ anon ]\n00007f43888fe000 4K ----- [ anon ]\n00007f43888ff000 8192K rw--- [ anon ]\n00007f43890ff000 4K ----- [ anon ]\n00007f4389100000 9216K rw--- [ anon ]\n00007f4389a7a000 496K r-x-- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007f4389af6000 4K ----- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007f4389af7000 8K r---- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007f4389af9000 4K rw--- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007f4389afa000 16K rw--- [ anon ]\n00007f4389afe000 4K ----- [ anon ]\n00007f4389aff000 8192K rw--- [ anon ]\n00007f438a2ff000 4K ----- [ anon ]\n00007f438a300000 9216K rw--- [ anon ]\n00007f438ac2d000 132K r--s- /usr/share/mime/mime.cache\n00007f438ac4e000 108K r--s- /home/tor-launcher/.cache/fontconfig/42f746296937150ee8e3c23c67344d6d-le64.cache-4\n00007f438ac69000 10660K r--s- /usr/local/lib/tor-browser/icudt58l.dat\n00007f438b6d2000 5520K r---- /usr/local/lib/tor-browser/omni.ja\n00007f438bc36000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007f438bc63000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007f438be62000 4K r---- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007f438be63000 8K rw--- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007f438be65000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007f438be92000 2048K ----- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007f438c092000 12K r---- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007f438c095000 4K rw--- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007f438c096000 4K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007f438c097000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007f438c296000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007f438c297000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007f438c298000 28K r-x-- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007f438c29f000 2044K ----- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007f438c49e000 4K r---- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007f438c49f000 4K rw--- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007f438c4a0000 316K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007f438c4ef000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007f438c6ee000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007f438c6ef000 8K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007f438c6f1000 40K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007f438c6fb000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007f438c8fa000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007f438c8fb000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007f438c8fc000 8K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007f438c8fe000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007f438cafe000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007f438caff000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007f438cb00000 1024K rw--- [ anon ]\n00007f438cc01000 212K r-x-- /usr/local/lib/tor-browser/libsoftokn3.so\n00007f438cc36000 8K r---- /usr/local/lib/tor-browser/libsoftokn3.so\n00007f438cc38000 4K rw--- /usr/local/lib/tor-browser/libsoftokn3.so\n00007f438cc39000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007f438ccc7000 1216K r---- /usr/lib/locale/aa_DJ.utf8/LC_COLLATE\n00007f438cdf7000 12K r-x-- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007f438cdfa000 2044K ----- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007f438cff9000 4K r---- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007f438cffa000 4K rw--- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007f438cffb000 4K ----- [ anon ]\n00007f438cffc000 8192K rw--- [ anon ]\n00007f438d7fc000 76K r-x-- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007f438d80f000 2044K ----- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007f438da0e000 4K r---- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007f438da0f000 4K rw--- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007f438da10000 16K r-x-- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007f438da14000 2044K ----- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007f438dc13000 4K r---- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007f438dc14000 4K rw--- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007f438dc15000 76K r-x-- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007f438dc28000 2048K ----- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007f438de28000 4K r---- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007f438de29000 4K rw--- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007f438de2a000 4K rw--- [ anon ]\n00007f438de2b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007f438de32000 2044K ----- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007f438e031000 4K r---- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007f438e032000 4K rw--- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007f438e033000 172K r-x-- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007f438e05e000 2044K ----- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007f438e25d000 8K r---- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007f438e25f000 4K rw--- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007f438e260000 260K r-x-- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007f438e2a1000 2044K ----- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007f438e4a0000 16K r---- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007f438e4a4000 4K rw--- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007f438e4a5000 4K rw--- [ anon ]\n00007f438e4a6000 1052K r-x-- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007f438e5ad000 2048K ----- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007f438e7ad000 8K r---- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007f438e7af000 28K rw--- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007f438e7b6000 68K r-x-- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007f438e7c7000 2044K ----- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007f438e9c6000 4K r---- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007f438e9c7000 4K rw--- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007f438e9c8000 148K r-x-- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007f438e9ed000 2044K ----- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007f438ebec000 4K r---- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007f438ebed000 4K rw--- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007f438ebee000 92K r-x-- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007f438ec05000 2048K ----- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007f438ee05000 4K r---- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007f438ee06000 4K rw--- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007f438ee07000 16K rw--- [ anon ]\n00007f438ee0b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007f438ee12000 2044K ----- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007f438f011000 4K r---- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007f438f012000 4K rw--- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007f438f013000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007f438f018000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007f438f217000 4K r---- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007f438f218000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007f438f219000 12K r-x-- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007f438f21c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007f438f41b000 4K r---- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007f438f41c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007f438f41d000 48K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007f438f429000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007f438f629000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007f438f62a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007f438f62b000 632K r-x-- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007f438f6c9000 2048K ----- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007f438f8c9000 32K r---- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007f438f8d1000 4K rw--- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007f438f8d2000 32K r-x-- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007f438f8da000 2048K ----- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007f438fada000 4K r---- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007f438fadb000 4K rw--- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007f438fadc000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007f438fae6000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007f438fce5000 4K r---- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007f438fce6000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007f438fce7000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007f438fcf1000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007f438fef0000 4K r---- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007f438fef1000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007f438fef2000 60K r-x-- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007f438ff01000 2044K ----- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007f4390100000 4K r---- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007f4390101000 4K rw--- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007f4390102000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007f4390104000 2044K ----- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007f4390303000 4K r---- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007f4390304000 4K rw--- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007f4390305000 588K r-x-- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007f4390398000 2044K ----- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007f4390597000 8K r---- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007f4390599000 4K rw--- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007f439059a000 296K r-x-- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007f43905e4000 2048K ----- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007f43907e4000 4K r---- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007f43907e5000 4K rw--- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007f43907e6000 8K rw--- [ anon ]\n00007f43907e8000 80K r-x-- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007f43907fc000 2044K ----- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007f43909fb000 4K r---- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007f43909fc000 4K rw--- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007f43909fd000 8K rw--- [ anon ]\n00007f43909ff000 148K r-x-- /lib/x86_64-linux-gnu/libselinux.so.1\n00007f4390a24000 2044K ----- /lib/x86_64-linux-gnu/libselinux.so.1\n00007f4390c23000 4K r---- /lib/x86_64-linux-gnu/libselinux.so.1\n00007f4390c24000 4K rw--- /lib/x86_64-linux-gnu/libselinux.so.1\n00007f4390c25000 8K rw--- [ anon ]\n00007f4390c27000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007f4390c2c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007f4390e2b000 4K r---- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007f4390e2c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007f4390e2d000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007f4390e2f000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007f439102e000 4K r---- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007f439102f000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007f4391030000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007f4391032000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007f4391231000 4K r---- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007f4391232000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007f4391233000 12K r-x-- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007f4391236000 2044K ----- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007f4391435000 4K r---- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007f4391436000 4K rw--- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007f4391437000 456K r-x-- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007f43914a9000 2044K ----- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007f43916a8000 4K r---- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007f43916a9000 4K rw--- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007f43916aa000 28K r-x-- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007f43916b1000 2048K ----- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007f43918b1000 4K r---- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007f43918b2000 4K rw--- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007f43918b3000 528K r-x-- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007f4391937000 2044K ----- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007f4391b36000 12K r---- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007f4391b39000 4K rw--- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007f4391b3a000 4K rw--- [ anon ]\n00007f4391b3b000 156K r-x-- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007f4391b62000 2048K ----- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007f4391d62000 8K r---- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007f4391d64000 4K rw--- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007f4391d65000 196K r-x-- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007f4391d96000 2048K ----- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007f4391f96000 4K r---- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007f4391f97000 4K rw--- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007f4391f98000 100K r-x-- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007f4391fb1000 2044K ----- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007f43921b0000 4K r---- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007f43921b1000 4K rw--- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007f43921b2000 4K r-x-- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007f43921b3000 2044K ----- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007f43923b2000 4K r---- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007f43923b3000 4K rw--- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007f43923b4000 392K r-x-- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007f4392416000 2048K ----- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007f4392616000 4K r---- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007f4392617000 20K rw--- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007f439261c000 4K rw--- [ anon ]\n00007f439261d000 68K r-x-- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007f439262e000 2044K ----- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007f439282d000 4K r---- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007f439282e000 4K rw--- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007f439282f000 1256K r-x-- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007f4392969000 2048K ----- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007f4392b69000 4K r---- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007f4392b6a000 20K rw--- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007f4392b6f000 156K r-x-- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007f4392b96000 2044K ----- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007f4392d95000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007f4392d96000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007f4392d97000 8K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007f4392d99000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007f4392f99000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007f4392f9a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007f4392f9b000 4K r-x-- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007f4392f9c000 2044K ----- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007f439319b000 4K r---- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007f439319c000 4K rw--- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007f439319d000 1080K r-x-- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007f43932ab000 2048K ----- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007f43934ab000 12K r---- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007f43934ae000 4K rw--- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007f43934af000 8K rw--- [ anon ]\n00007f43934b1000 292K r-x-- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007f43934fa000 2044K ----- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007f43936f9000 12K r---- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007f43936fc000 4K rw--- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007f43936fd000 136K r-x-- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007f439371f000 2048K ----- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007f439391f000 4K r---- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007f4393920000 4K rw--- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007f4393921000 48K r-x-- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007f439392d000 2044K ----- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007f4393b2c000 4K r---- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007f4393b2d000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007f4393b2e000 704K r-x-- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007f4393bde000 2044K ----- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007f4393ddd000 16K r---- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007f4393de1000 8K rw--- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007f4393de3000 80K r-x-- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007f4393df7000 2048K ----- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007f4393ff7000 4K r---- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007f4393ff8000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007f4393ff9000 1588K r-x-- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007f4394186000 2044K ----- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007f4394385000 20K r---- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007f439438a000 12K rw--- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007f439438d000 4K rw--- [ anon ]\n00007f439438e000 140K r-x-- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007f43943b1000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007f43945b0000 12K r---- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007f43945b3000 4K rw--- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007f43945b4000 4332K r-x-- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007f43949ef000 2044K ----- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007f4394bee000 28K r---- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007f4394bf5000 16K rw--- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007f4394bf9000 12K rw--- [ anon ]\n00007f4394bfc000 1092K r-x-- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007f4394d0d000 2048K ----- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007f4394f0d000 4K r---- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007f4394f0e000 4K rw--- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007f4394f0f000 4K rw--- [ anon ]\n00007f4394f10000 324K r-x-- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007f4394f61000 2048K ----- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007f4395161000 4K r---- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007f4395162000 4K rw--- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007f4395163000 308K r-x-- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007f43951b0000 2048K ----- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007f43953b0000 8K r---- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007f43953b2000 4K rw--- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007f43953b3000 152K r-x-- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007f43953d9000 2044K ----- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007f43955d8000 4K r---- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007f43955d9000 4K rw--- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007f43955da000 36K r-x-- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007f43955e3000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007f43957e2000 4K r---- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007f43957e3000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007f43957e4000 240K r-x-- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007f4395820000 2044K ----- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007f4395a1f000 8K r---- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007f4395a21000 4K rw--- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007f4395a22000 672K r-x-- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007f4395aca000 2048K ----- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007f4395cca000 24K r---- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007f4395cd0000 4K rw--- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007f4395cd1000 69708K r-x-- /usr/local/lib/tor-browser/libxul.so\n00007f439a0e4000 4K ----- /usr/local/lib/tor-browser/libxul.so\n00007f439a0e5000 4136K r---- /usr/local/lib/tor-browser/libxul.so\n00007f439a4ef000 312K rw--- /usr/local/lib/tor-browser/libxul.so\n00007f439a53d000 356K rw--- [ anon ]\n00007f439a596000 112K r-x-- /usr/local/lib/tor-browser/liblgpllibs.so\n00007f439a5b2000 8K r---- /usr/local/lib/tor-browser/liblgpllibs.so\n00007f439a5b4000 4K rw--- /usr/local/lib/tor-browser/liblgpllibs.so\n00007f439a5b5000 644K rw--- [ anon ]\n00007f439a656000 656K r-x-- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007f439a6fa000 12K r---- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007f439a6fd000 8K rw--- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007f439a6ff000 4K rw--- [ anon ]\n00007f439a700000 2048K rw--- [ anon ]\n00007f439a90e000 112K r-x-- /usr/local/lib/tor-browser/libnssdbm3.so\n00007f439a92a000 4K ----- /usr/local/lib/tor-browser/libnssdbm3.so\n00007f439a92b000 4K r---- /usr/local/lib/tor-browser/libnssdbm3.so\n00007f439a92c000 4K rw--- /usr/local/lib/tor-browser/libnssdbm3.so\n00007f439a92d000 324K r---- /usr/lib/locale/aa_DJ.utf8/LC_CTYPE\n00007f439a97e000 240K r-x-- /usr/local/lib/tor-browser/libssl3.so\n00007f439a9ba000 4K ----- /usr/local/lib/tor-browser/libssl3.so\n00007f439a9bb000 16K r---- /usr/local/lib/tor-browser/libssl3.so\n00007f439a9bf000 4K rw--- /usr/local/lib/tor-browser/libssl3.so\n00007f439a9c0000 1620K r-x-- /lib/x86_64-linux-gnu/libc-2.24.so\n00007f439ab55000 2048K ----- /lib/x86_64-linux-gnu/libc-2.24.so\n00007f439ad55000 16K r---- /lib/x86_64-linux-gnu/libc-2.24.so\n00007f439ad59000 8K rw--- /lib/x86_64-linux-gnu/libc-2.24.so\n00007f439ad5b000 16K rw--- [ anon ]\n00007f439ad5f000 88K r-x-- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007f439ad75000 2044K ----- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007f439af74000 4K r---- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007f439af75000 4K rw--- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007f439af76000 1036K r-x-- /lib/x86_64-linux-gnu/libm-2.24.so\n00007f439b079000 2044K ----- /lib/x86_64-linux-gnu/libm-2.24.so\n00007f439b278000 4K r---- /lib/x86_64-linux-gnu/libm-2.24.so\n00007f439b279000 4K rw--- /lib/x86_64-linux-gnu/libm-2.24.so\n00007f439b27a000 1536K r-x-- /usr/local/lib/tor-browser/libstdc++.so.6\n00007f439b3fa000 2044K ----- /usr/local/lib/tor-browser/libstdc++.so.6\n00007f439b5f9000 48K r---- /usr/local/lib/tor-browser/libstdc++.so.6\n00007f439b605000 4K rw--- /usr/local/lib/tor-browser/libstdc++.so.6\n00007f439b606000 12K rw--- [ anon ]\n00007f439b609000 28K r-x-- /lib/x86_64-linux-gnu/librt-2.24.so\n00007f439b610000 2044K ----- /lib/x86_64-linux-gnu/librt-2.24.so\n00007f439b80f000 4K r---- /lib/x86_64-linux-gnu/librt-2.24.so\n00007f439b810000 4K rw--- /lib/x86_64-linux-gnu/librt-2.24.so\n00007f439b811000 12K r-x-- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007f439b814000 2044K ----- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007f439ba13000 4K r---- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007f439ba14000 4K rw--- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007f439ba15000 96K r-x-- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007f439ba2d000 2044K ----- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007f439bc2c000 4K r---- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007f439bc2d000 4K rw--- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007f439bc2e000 16K rw--- [ anon ]\n00007f439bc32000 140K r-x-- /lib/x86_64-linux-gnu/ld-2.24.so\n00007f439bc67000 4K ----- [ anon ]\n00007f439bc68000 128K rw--- [ anon ]\n00007f439bc88000 4K r---- /usr/lib/locale/aa_ET/LC_NUMERIC\n00007f439bc89000 4K r---- /usr/lib/locale/en_US.utf8/LC_TIME\n00007f439bc8a000 4K r---- /usr/lib/locale/chr_US/LC_MONETARY\n00007f439bc8b000 124K r-x-- /usr/local/lib/tor-browser/libsmime3.so\n00007f439bcaa000 4K ----- /usr/local/lib/tor-browser/libsmime3.so\n00007f439bcab000 12K r---- /usr/local/lib/tor-browser/libsmime3.so\n00007f439bcae000 4K rw--- /usr/local/lib/tor-browser/libsmime3.so\n00007f439bcaf000 944K r-x-- /usr/local/lib/tor-browser/libnss3.so\n00007f439bd9b000 4K ----- /usr/local/lib/tor-browser/libnss3.so\n00007f439bd9c000 28K r---- /usr/local/lib/tor-browser/libnss3.so\n00007f439bda3000 4K rw--- /usr/local/lib/tor-browser/libnss3.so\n00007f439bda4000 8K rw--- [ anon ]\n00007f439bda6000 140K r-x-- /usr/local/lib/tor-browser/libnssutil3.so\n00007f439bdc9000 28K r---- /usr/local/lib/tor-browser/libnssutil3.so\n00007f439bdd0000 4K rw--- /usr/local/lib/tor-browser/libnssutil3.so\n00007f439bdd1000 204K r-x-- /usr/local/lib/tor-browser/libnspr4.so\n00007f439be04000 8K r---- /usr/local/lib/tor-browser/libnspr4.so\n00007f439be06000 4K rw--- /usr/local/lib/tor-browser/libnspr4.so\n00007f439be07000 12K rw--- [ anon ]\n00007f439be0a000 156K r-x-- /usr/local/lib/tor-browser/libmozsandbox.so\n00007f439be31000 4K ----- /usr/local/lib/tor-browser/libmozsandbox.so\n00007f439be32000 4K r---- /usr/local/lib/tor-browser/libmozsandbox.so\n00007f439be33000 4K rw--- /usr/local/lib/tor-browser/libmozsandbox.so\n00007f439be34000 20K rw--- [ anon ]\n00007f439be39000 4K r---- /usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES\n00007f439be3a000 4K r---- /usr/lib/locale/chr_US/LC_PAPER\n00007f439be3b000 4K r---- /usr/lib/locale/chr_US/LC_NAME\n00007f439be3c000 4K r---- /usr/lib/locale/en_US.utf8/LC_ADDRESS\n00007f439be3d000 4K r---- /usr/lib/locale/chr_US/LC_TELEPHONE\n00007f439be3e000 4K r---- /usr/lib/locale/chr_US/LC_MEASUREMENT\n00007f439be3f000 4K r---- /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION\n00007f439be40000 28K r--s- /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache\n00007f439be47000 12K r-x-- /usr/local/lib/tor-browser/libplds4.so\n00007f439be4a000 4K r---- /usr/local/lib/tor-browser/libplds4.so\n00007f439be4b000 4K rw--- /usr/local/lib/tor-browser/libplds4.so\n00007f439be4c000 16K r-x-- /usr/local/lib/tor-browser/libplc4.so\n00007f439be50000 4K r---- /usr/local/lib/tor-browser/libplc4.so\n00007f439be51000 4K rw--- /usr/local/lib/tor-browser/libplc4.so\n00007f439be52000 12K rw--- [ anon ]\n00007f439be55000 4K r---- /lib/x86_64-linux-gnu/ld-2.24.so\n00007f439be56000 4K rw--- /lib/x86_64-linux-gnu/ld-2.24.so\n00007f439be57000 4K rw--- [ anon ]\n00007fff3cac5000 132K rw--- [ stack ]\n00007fff3cb8c000 12K r---- [ anon ]\n00007fff3cb8f000 8K r-x-- [ anon ]\n total 1638476K\n", ""] 00:24:37.856624527: calling as root: find /usr/lib /lib -name "libfreeblpriv3.so" 00:24:38.960611833: call returned: [0, "/usr/lib/thunderbird/libfreeblpriv3.so\n/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libfreeblpriv3.so\n", ""] 00:24:38.960973871: calling as root: find /usr/lib /lib -name "liblgpllibs.so" 00:24:39.768021946: call returned: [0, "/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/liblgpllibs.so\n", ""] 00:24:39.768291957: calling as root: find /usr/lib /lib -name "libmozavcodec.so" 00:24:40.809842438: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavcodec.so\n", ""] 00:24:40.810097298: calling as root: find /usr/lib /lib -name "libmozavutil.so" 00:24:41.622942490: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavutil.so\n", ""] 00:24:41.623176678: calling as root: find /usr/lib /lib -name "libmozsandbox.so" 00:24:42.435977441: call returned: [0, "/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsandbox.so\n", ""] 00:24:42.436253358: calling as root: find /usr/lib /lib -name "libmozsqlite3.so" 00:24:43.235342325: call returned: [0, "/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsqlite3.so\n", ""] 00:24:43.235603656: calling as root: find /usr/lib /lib -name "libnspr4.so" 00:24:44.057350951: call returned: [0, "/usr/lib/thunderbird/libnspr4.so\n/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnspr4.so\n", ""] 00:24:44.057723000: calling as root: find /usr/lib /lib -name "libnss3.so" 00:24:44.866848647: call returned: [0, "/usr/lib/thunderbird/libnss3.so\n/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnss3.so\n", ""] 00:24:44.867257536: calling as root: find /usr/lib /lib -name "libnssckbi.so" 00:24:45.689892056: call returned: [0, "/usr/lib/thunderbird/libnssckbi.so\n/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssckbi.so\n", ""] 00:24:45.690242508: calling as root: find /usr/lib /lib -name "libnssdbm3.so" 00:24:46.491451055: call returned: [0, "/usr/lib/thunderbird/libnssdbm3.so\n/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssdbm3.so\n", ""] 00:24:46.491846266: calling as root: find /usr/lib /lib -name "libnssutil3.so" 00:24:47.274890262: call returned: [0, "/usr/lib/thunderbird/libnssutil3.so\n/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssutil3.so\n", ""] 00:24:47.275273527: calling as root: find /usr/lib /lib -name "libplc4.so" 00:24:48.101298569: call returned: [0, "/usr/lib/thunderbird/libplc4.so\n/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplc4.so\n", ""] 00:24:48.101890054: calling as root: find /usr/lib /lib -name "libplds4.so" 00:24:49.008789105: call returned: [0, "/usr/lib/thunderbird/libplds4.so\n/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplds4.so\n", ""] 00:24:49.009147429: calling as root: find /usr/lib /lib -name "libsmime3.so" 00:24:49.825469502: call returned: [0, "/usr/lib/thunderbird/libsmime3.so\n/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsmime3.so\n", ""] 00:24:49.825842972: calling as root: find /usr/lib /lib -name "libsoftokn3.so" 00:24:50.593603132: call returned: [0, "/usr/lib/thunderbird/libsoftokn3.so\n/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsoftokn3.so\n", ""] 00:24:50.593988110: calling as root: find /usr/lib /lib -name "libssl3.so" 00:24:51.377013604: call returned: [0, "/usr/lib/thunderbird/libssl3.so\n/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libssl3.so\n", ""] 00:24:51.377373038: calling as root: find /usr/lib /lib -name "libxul.so" 00:24:52.138887744: call returned: [0, "/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libxul.so\n", ""] And the Tor Launcher uses all expected TBB shared libraries # features/step_definitions/browser.rb:150 #11589 @fragile Scenario: Using bridges # features/tor_bridges.feature:17 00:24:52.896327064: [log] CLICK on L(595,316)@S(0)[0,0 1024x768] 00:24:54.534210951: [log] CLICK on L(310,196)@S(0)[0,0 1024x768] 00:24:55.261634085: [log] CLICK on L(302,248)@S(0)[0,0 1024x768] 00:24:58.075633676: [log] TYPE "bridge 10.2.1.1:5036 768BA0A04692235313C807CDB3B8F54CE664D109#ENTER." 00:25:00.865926583: [log] TYPE "bridge 10.2.1.1:5037 E533C441B630067FF23685F39359DD7322CC66C9#ENTER." 00:25:04.894797942: [log] TYPE "bridge 10.2.1.1:5035 4FA4B6B0486891E545203D304D26560E0659FB47#ENTER." 00:25:04.894994940: [log] CLICK on L(792,638)@S(0)[0,0 1024x768] When I configure some bridge pluggable transports in Tor Launcher # features/step_definitions/tor.rb:349 00:25:07.250792262: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:25:07.647724940: call returned: [0, "", ""] 00:25:07.648087172: calling as root: test -e /run/tordate/done 00:25:07.838997945: call returned: [1, "", ""] 00:25:08.839214620: calling as root: test -e /run/tordate/done 00:25:09.035269592: call returned: [0, "", ""] 00:25:09.035488378: calling as root: test -e /run/htpdate/success 00:25:09.310880584: call returned: [1, "", ""] 00:25:10.311148029: calling as root: test -e /run/htpdate/success 00:25:10.466311395: call returned: [1, "", ""] 00:25:11.466632638: calling as root: test -e /run/htpdate/success 00:25:11.606309694: call returned: [1, "", ""] 00:25:12.606607461: calling as root: test -e /run/htpdate/success 00:25:12.737016045: call returned: [1, "", ""] 00:25:13.737213827: calling as root: test -e /run/htpdate/success 00:25:13.885077943: call returned: [1, "", ""] 00:25:14.885400804: calling as root: test -e /run/htpdate/success 00:25:15.053177965: call returned: [1, "", ""] 00:25:16.053503614: calling as root: test -e /run/htpdate/success 00:25:16.212104388: call returned: [1, "", ""] 00:25:17.212351596: calling as root: test -e /run/htpdate/success 00:25:17.347728761: call returned: [0, "", ""] 00:25:17.347937945: calling as root: systemctl is-system-running 00:25:17.569241941: call returned: [0, "running\n", ""] Then Tor is ready # features/step_definitions/common_steps.rb:347 00:25:17.570144938: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:17.720747472: call returned: [1, "", ""] 00:25:18.720921961: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:18.845792375: call returned: [1, "", ""] 00:25:19.846006535: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:19.982977995: call returned: [1, "", ""] 00:25:20.983187272: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:21.116027542: call returned: [1, "", ""] 00:25:22.116351039: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:22.249261735: call returned: [1, "", ""] 00:25:23.249569547: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:23.397620698: call returned: [1, "", ""] 00:25:24.397825555: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:24.556475333: call returned: [1, "", ""] 00:25:25.556775080: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:25.691628240: call returned: [1, "", ""] 00:25:26.691851938: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:26.816477674: call returned: [1, "", ""] 00:25:27.816805679: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:27.956550239: call returned: [1, "", ""] 00:25:28.956910504: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:29.085604841: call returned: [1, "", ""] 00:25:30.085821193: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:30.216623698: call returned: [1, "", ""] 00:25:31.216923557: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:31.364785404: call returned: [1, "", ""] 00:25:32.365131325: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:32.534486155: call returned: [1, "", ""] 00:25:33.534705765: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:33.679713920: call returned: [1, "", ""] 00:25:34.680057147: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:34.820100080: call returned: [1, "", ""] 00:25:35.820409511: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:35.980289472: call returned: [1, "", ""] 00:25:36.980574291: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:37.114490856: call returned: [1, "", ""] 00:25:38.114746141: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:38.349512727: call returned: [1, "", ""] 00:25:39.349777576: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:39.495631818: call returned: [1, "", ""] 00:25:40.495958454: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:40.630697382: call returned: [1, "", ""] 00:25:41.631055959: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:25:41.792032400: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 And all Internet traffic has only flowed through the configured pluggable transports # features/step_definitions/tor.rb:397 Scenario: Using obfs4 pluggable transports # features/tor_bridges.feature:23 00:25:43.684753552: calling as root: echo 'hello?' 00:25:43.866112963: call returned: [0, "hello?\n", ""] 00:25:44.589669690: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:25:44.589903151: calling as root: nmcli device show eth0 00:25:44.871090690: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:7D:DF:18\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:25:44.880695520: calling as root: date -s '@1523720448' 00:25:45.043113665: call returned: [0, "Sat Apr 14 15:40:48 UTC 2018\n", ""] 00:25:57.852718464: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 00:25:58.024911829: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 00:25:58.025270679: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TOR_LAUNCHER_INSTALL} 00:25:58.216189833: call returned: [0, "/usr/local/lib/tor-launcher-standalone\n", ""] 00:25:58.216356945: calling as root: pgrep --uid tor-launcher --full --exact '/usr/local/lib/tor-browser/firefox-unconfined +-app /usr/local/lib/tor-launcher-standalone/application.ini.*' 00:25:58.416130297: call returned: [0, "6844\n", ""] 00:25:58.416467554: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && ls -1 ${TBB_INSTALL}/*.so 00:25:58.631248566: call returned: [0, "/usr/local/lib/tor-browser/libfreeblpriv3.so\n/usr/local/lib/tor-browser/liblgpllibs.so\n/usr/local/lib/tor-browser/libmozavcodec.so\n/usr/local/lib/tor-browser/libmozavutil.so\n/usr/local/lib/tor-browser/libmozsandbox.so\n/usr/local/lib/tor-browser/libmozsqlite3.so\n/usr/local/lib/tor-browser/libnspr4.so\n/usr/local/lib/tor-browser/libnss3.so\n/usr/local/lib/tor-browser/libnssckbi.so\n/usr/local/lib/tor-browser/libnssdbm3.so\n/usr/local/lib/tor-browser/libnssutil3.so\n/usr/local/lib/tor-browser/libplc4.so\n/usr/local/lib/tor-browser/libplds4.so\n/usr/local/lib/tor-browser/libsmime3.so\n/usr/local/lib/tor-browser/libsoftokn3.so\n/usr/local/lib/tor-browser/libssl3.so\n/usr/local/lib/tor-browser/libxul.so\n", ""] 00:25:58.631386276: calling as root: pmap --show-path 6844 00:26:00.538312687: call returned: [0, "6844: /usr/local/lib/tor-browser/firefox-unconfined -app /usr/local/lib/tor-launcher-standalone/application.ini -profile /home/tor-launcher/.tor-launcher/profile.default\n00000b0b21f28000 64K r-x-- [ anon ]\n00000b0b21f38000 64K ----- [ anon ]\n00000b0b21f48000 256K r-x-- [ anon ]\n00000b0b21f88000 64K ----- [ anon ]\n00000b0b21f98000 192K r-x-- [ anon ]\n00000b0b21fc8000 64K ----- [ anon ]\n00000b0b21fd8000 256K r-x-- [ anon ]\n00000b0b22018000 64K ----- [ anon ]\n00000b0b22028000 128K r-x-- [ anon ]\n00000b0b22048000 64K ----- [ anon ]\n00000b0b22058000 64K r-x-- [ anon ]\n00000b0b22068000 64K ----- [ anon ]\n00000b0b22078000 64K r-x-- [ anon ]\n00000b0b22088000 64K ----- [ anon ]\n00000b0b22098000 64K r-x-- [ anon ]\n00000b0b220a8000 64K r-x-- [ anon ]\n00000b0b220b8000 24K r-x-- [ anon ]\n00000b0b220be000 40K r-x-- [ anon ]\n00000b0b220c8000 64K ----- [ anon ]\n00000b0b220d8000 12K r-x-- [ anon ]\n00000b0b220db000 52K r-x-- [ anon ]\n00000b0b220e8000 1046784K ----- [ anon ]\n000057f6eebc5000 140K r-x-- /usr/local/lib/tor-browser/firefox-unconfined\n000057f6eebe9000 4K r---- /usr/local/lib/tor-browser/firefox-unconfined\n000057f6eebea000 4K rw--- /usr/local/lib/tor-browser/firefox-unconfined\n00007e1a9b800000 1024K rw--- [ anon ]\n00007e1a9b9ff000 4K ----- [ anon ]\n00007e1a9ba00000 18432K rw--- [ anon ]\n00007e1a9ccfa000 20K r-x-- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e1a9ccff000 2044K ----- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e1a9cefe000 4K r---- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e1a9ceff000 4K rw--- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e1a9cf00000 4096K rw--- [ anon ]\n00007e1a9d3ff000 4K ----- [ anon ]\n00007e1a9d400000 3072K rw--- [ anon ]\n00007e1a9d7ff000 4K ----- [ anon ]\n00007e1a9d800000 9216K rw--- [ anon ]\n00007e1a9e1ff000 4K ----- [ anon ]\n00007e1a9e200000 16384K rw--- [ anon ]\n00007e1a9f2ff000 4K ----- [ anon ]\n00007e1a9f300000 10240K rw--- [ anon ]\n00007e1a9fd6c000 572K r---- /usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n00007e1a9fdfb000 4K ----- [ anon ]\n00007e1a9fdfc000 8192K rw--- [ anon ]\n00007e1aa05fc000 4K ----- [ anon ]\n00007e1aa05fd000 8192K rw--- [ anon ]\n00007e1aa0dfd000 4K ----- [ anon ]\n00007e1aa0dfe000 8192K rw--- [ anon ]\n00007e1aa15fe000 4K ----- [ anon ]\n00007e1aa15ff000 8192K rw--- [ anon ]\n00007e1aa1dff000 4K ----- [ anon ]\n00007e1aa1e00000 9216K rw--- [ anon ]\n00007e1aa2768000 572K r---- /usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n00007e1aa27f7000 4K ----- [ anon ]\n00007e1aa27f8000 8192K rw--- [ anon ]\n00007e1aa2ff8000 4K ----- [ anon ]\n00007e1aa2ff9000 8192K rw--- [ anon ]\n00007e1aa37f9000 564K r-x-- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e1aa3886000 2044K ----- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e1aa3a85000 112K r---- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e1aa3aa1000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e1aa3aa2000 168K r-x-- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e1aa3acc000 2048K ----- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e1aa3ccc000 4K r---- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e1aa3ccd000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e1aa3cce000 28K r-x-- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e1aa3cd5000 2048K ----- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e1aa3ed5000 4K r---- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e1aa3ed6000 4K rw--- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e1aa3ed7000 468K r-x-- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e1aa3f4c000 2048K ----- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e1aa414c000 4K r---- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e1aa414d000 4K rw--- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e1aa414e000 80K r-x-- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e1aa4162000 2048K ----- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e1aa4362000 4K r---- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e1aa4363000 4K rw--- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e1aa4364000 8K rw--- [ anon ]\n00007e1aa4366000 20K r-x-- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e1aa436b000 2044K ----- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e1aa456a000 4K r---- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e1aa456b000 4K rw--- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e1aa456c000 460K r-x-- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e1aa45df000 2044K ----- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e1aa47de000 12K r---- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e1aa47e1000 4K rw--- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e1aa47e2000 8K rw--- [ anon ]\n00007e1aa47e4000 32K r-x-- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e1aa47ec000 2048K ----- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e1aa49ec000 4K r---- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e1aa49ed000 4K rw--- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e1aa49ee000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e1aa49f3000 2044K ----- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e1aa4bf2000 4K r---- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e1aa4bf3000 4K rw--- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e1aa4bf4000 16K r-x-- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e1aa4bf8000 2048K ----- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e1aa4df8000 4K r---- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e1aa4df9000 4K rw--- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e1aa4dfa000 4K ----- [ anon ]\n00007e1aa4dfb000 8192K rw--- [ anon ]\n00007e1aa55fb000 4K ----- [ anon ]\n00007e1aa55fc000 8192K rw--- [ anon ]\n00007e1aa5dfc000 4K ----- [ anon ]\n00007e1aa5dfd000 8192K rw--- [ anon ]\n00007e1aa65fd000 4K ----- [ anon ]\n00007e1aa65fe000 8192K rw--- [ anon ]\n00007e1aa6dfe000 4K ----- [ anon ]\n00007e1aa6dff000 8192K rw--- [ anon ]\n00007e1aa75ff000 4K ----- [ anon ]\n00007e1aa7600000 17408K rw--- [ anon ]\n00007e1aa872c000 512K r-x-- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e1aa87ac000 2048K ----- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e1aa89ac000 8K r---- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e1aa89ae000 4K rw--- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e1aa89af000 312K r-x-- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e1aa89fd000 2048K ----- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e1aa8bfd000 8K r---- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e1aa8bff000 4K rw--- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e1aa8c00000 7168K rw--- [ anon ]\n00007e1aa9305000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e1aa9393000 392K r-x-- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e1aa93f5000 2044K ----- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e1aa95f4000 12K r---- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e1aa95f7000 4K rw--- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e1aa95f8000 24K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e1aa95fe000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e1aa97fe000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e1aa97ff000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e1aa9800000 3072K rw--- [ anon ]\n00007e1aa9b00000 2048K rw--- [ anon ]\n00007e1aa9d71000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e1aa9dff000 4K ----- [ anon ]\n00007e1aa9e00000 13312K rw--- [ anon ]\n00007e1aaab5c000 496K r-x-- /usr/local/lib/tor-browser/libnssckbi.so\n00007e1aaabd8000 84K r---- /usr/local/lib/tor-browser/libnssckbi.so\n00007e1aaabed000 48K rw--- /usr/local/lib/tor-browser/libnssckbi.so\n00007e1aaabf9000 4K ----- [ anon ]\n00007e1aaabfa000 8192K rw--- [ anon ]\n00007e1aab3fa000 4K ----- [ anon ]\n00007e1aab3fb000 8192K rw--- [ anon ]\n00007e1aabbfb000 4K ----- [ anon ]\n00007e1aabbfc000 8192K rw--- [ anon ]\n00007e1aac3fc000 4K ----- [ anon ]\n00007e1aac3fd000 8192K rw--- [ anon ]\n00007e1aacbfd000 4K ----- [ anon ]\n00007e1aacbfe000 8192K rw--- [ anon ]\n00007e1aad3fe000 4K ----- [ anon ]\n00007e1aad3ff000 8192K rw--- [ anon ]\n00007e1aadbff000 4K ----- [ anon ]\n00007e1aadc00000 9216K rw--- [ anon ]\n00007e1aae57a000 496K r-x-- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e1aae5f6000 4K ----- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e1aae5f7000 8K r---- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e1aae5f9000 4K rw--- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e1aae5fa000 16K rw--- [ anon ]\n00007e1aae5fe000 4K ----- [ anon ]\n00007e1aae5ff000 8192K rw--- [ anon ]\n00007e1aaedff000 4K ----- [ anon ]\n00007e1aaee00000 9216K rw--- [ anon ]\n00007e1aaf70e000 132K r--s- /usr/share/mime/mime.cache\n00007e1aaf72f000 108K r--s- /home/tor-launcher/.cache/fontconfig/42f746296937150ee8e3c23c67344d6d-le64.cache-4\n00007e1aaf74a000 112K r-x-- /usr/local/lib/tor-browser/libnssdbm3.so\n00007e1aaf766000 4K ----- /usr/local/lib/tor-browser/libnssdbm3.so\n00007e1aaf767000 4K r---- /usr/local/lib/tor-browser/libnssdbm3.so\n00007e1aaf768000 4K rw--- /usr/local/lib/tor-browser/libnssdbm3.so\n00007e1aaf769000 10660K r--s- /usr/local/lib/tor-browser/icudt58l.dat\n00007e1ab01d2000 5520K r---- /usr/local/lib/tor-browser/omni.ja\n00007e1ab0736000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e1ab0763000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e1ab0962000 4K r---- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e1ab0963000 8K rw--- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e1ab0965000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e1ab0992000 2048K ----- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e1ab0b92000 12K r---- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e1ab0b95000 4K rw--- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e1ab0b96000 4K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e1ab0b97000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e1ab0d96000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e1ab0d97000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e1ab0d98000 28K r-x-- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e1ab0d9f000 2044K ----- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e1ab0f9e000 4K r---- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e1ab0f9f000 4K rw--- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e1ab0fa0000 316K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e1ab0fef000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e1ab11ee000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e1ab11ef000 8K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e1ab11f1000 40K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e1ab11fb000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e1ab13fa000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e1ab13fb000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e1ab13fc000 8K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e1ab13fe000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e1ab15fe000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e1ab15ff000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e1ab1600000 1024K rw--- [ anon ]\n00007e1ab1701000 212K r-x-- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e1ab1736000 8K r---- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e1ab1738000 4K rw--- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e1ab1739000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e1ab17c7000 1216K r---- /usr/lib/locale/aa_DJ.utf8/LC_COLLATE\n00007e1ab18f7000 12K r-x-- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e1ab18fa000 2044K ----- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e1ab1af9000 4K r---- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e1ab1afa000 4K rw--- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e1ab1afb000 4K ----- [ anon ]\n00007e1ab1afc000 8192K rw--- [ anon ]\n00007e1ab22fc000 76K r-x-- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e1ab230f000 2044K ----- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e1ab250e000 4K r---- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e1ab250f000 4K rw--- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e1ab2510000 16K r-x-- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e1ab2514000 2044K ----- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e1ab2713000 4K r---- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e1ab2714000 4K rw--- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e1ab2715000 76K r-x-- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e1ab2728000 2048K ----- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e1ab2928000 4K r---- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e1ab2929000 4K rw--- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e1ab292a000 4K rw--- [ anon ]\n00007e1ab292b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e1ab2932000 2044K ----- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e1ab2b31000 4K r---- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e1ab2b32000 4K rw--- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e1ab2b33000 172K r-x-- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e1ab2b5e000 2044K ----- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e1ab2d5d000 8K r---- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e1ab2d5f000 4K rw--- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e1ab2d60000 260K r-x-- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e1ab2da1000 2044K ----- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e1ab2fa0000 16K r---- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e1ab2fa4000 4K rw--- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e1ab2fa5000 4K rw--- [ anon ]\n00007e1ab2fa6000 1052K r-x-- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e1ab30ad000 2048K ----- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e1ab32ad000 8K r---- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e1ab32af000 28K rw--- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e1ab32b6000 68K r-x-- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e1ab32c7000 2044K ----- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e1ab34c6000 4K r---- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e1ab34c7000 4K rw--- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e1ab34c8000 148K r-x-- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e1ab34ed000 2044K ----- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e1ab36ec000 4K r---- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e1ab36ed000 4K rw--- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e1ab36ee000 92K r-x-- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e1ab3705000 2048K ----- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e1ab3905000 4K r---- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e1ab3906000 4K rw--- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e1ab3907000 16K rw--- [ anon ]\n00007e1ab390b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e1ab3912000 2044K ----- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e1ab3b11000 4K r---- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e1ab3b12000 4K rw--- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e1ab3b13000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e1ab3b18000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e1ab3d17000 4K r---- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e1ab3d18000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e1ab3d19000 12K r-x-- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e1ab3d1c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e1ab3f1b000 4K r---- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e1ab3f1c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e1ab3f1d000 48K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e1ab3f29000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e1ab4129000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e1ab412a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e1ab412b000 632K r-x-- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e1ab41c9000 2048K ----- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e1ab43c9000 32K r---- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e1ab43d1000 4K rw--- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e1ab43d2000 32K r-x-- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e1ab43da000 2048K ----- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e1ab45da000 4K r---- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e1ab45db000 4K rw--- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e1ab45dc000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e1ab45e6000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e1ab47e5000 4K r---- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e1ab47e6000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e1ab47e7000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e1ab47f1000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e1ab49f0000 4K r---- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e1ab49f1000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e1ab49f2000 60K r-x-- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e1ab4a01000 2044K ----- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e1ab4c00000 4K r---- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e1ab4c01000 4K rw--- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e1ab4c02000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e1ab4c04000 2044K ----- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e1ab4e03000 4K r---- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e1ab4e04000 4K rw--- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e1ab4e05000 588K r-x-- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e1ab4e98000 2044K ----- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e1ab5097000 8K r---- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e1ab5099000 4K rw--- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e1ab509a000 296K r-x-- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e1ab50e4000 2048K ----- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e1ab52e4000 4K r---- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e1ab52e5000 4K rw--- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e1ab52e6000 8K rw--- [ anon ]\n00007e1ab52e8000 80K r-x-- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e1ab52fc000 2044K ----- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e1ab54fb000 4K r---- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e1ab54fc000 4K rw--- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e1ab54fd000 8K rw--- [ anon ]\n00007e1ab54ff000 148K r-x-- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e1ab5524000 2044K ----- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e1ab5723000 4K r---- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e1ab5724000 4K rw--- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e1ab5725000 8K rw--- [ anon ]\n00007e1ab5727000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e1ab572c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e1ab592b000 4K r---- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e1ab592c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e1ab592d000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e1ab592f000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e1ab5b2e000 4K r---- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e1ab5b2f000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e1ab5b30000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e1ab5b32000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e1ab5d31000 4K r---- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e1ab5d32000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e1ab5d33000 12K r-x-- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e1ab5d36000 2044K ----- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e1ab5f35000 4K r---- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e1ab5f36000 4K rw--- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e1ab5f37000 456K r-x-- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e1ab5fa9000 2044K ----- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e1ab61a8000 4K r---- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e1ab61a9000 4K rw--- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e1ab61aa000 28K r-x-- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e1ab61b1000 2048K ----- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e1ab63b1000 4K r---- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e1ab63b2000 4K rw--- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e1ab63b3000 528K r-x-- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e1ab6437000 2044K ----- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e1ab6636000 12K r---- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e1ab6639000 4K rw--- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e1ab663a000 4K rw--- [ anon ]\n00007e1ab663b000 156K r-x-- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e1ab6662000 2048K ----- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e1ab6862000 8K r---- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e1ab6864000 4K rw--- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e1ab6865000 196K r-x-- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e1ab6896000 2048K ----- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e1ab6a96000 4K r---- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e1ab6a97000 4K rw--- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e1ab6a98000 100K r-x-- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e1ab6ab1000 2044K ----- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e1ab6cb0000 4K r---- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e1ab6cb1000 4K rw--- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e1ab6cb2000 4K r-x-- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e1ab6cb3000 2044K ----- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e1ab6eb2000 4K r---- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e1ab6eb3000 4K rw--- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e1ab6eb4000 392K r-x-- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e1ab6f16000 2048K ----- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e1ab7116000 4K r---- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e1ab7117000 20K rw--- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e1ab711c000 4K rw--- [ anon ]\n00007e1ab711d000 68K r-x-- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e1ab712e000 2044K ----- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e1ab732d000 4K r---- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e1ab732e000 4K rw--- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e1ab732f000 1256K r-x-- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e1ab7469000 2048K ----- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e1ab7669000 4K r---- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e1ab766a000 20K rw--- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e1ab766f000 156K r-x-- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e1ab7696000 2044K ----- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e1ab7895000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e1ab7896000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e1ab7897000 8K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e1ab7899000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e1ab7a99000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e1ab7a9a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e1ab7a9b000 4K r-x-- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e1ab7a9c000 2044K ----- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e1ab7c9b000 4K r---- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e1ab7c9c000 4K rw--- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e1ab7c9d000 1080K r-x-- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e1ab7dab000 2048K ----- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e1ab7fab000 12K r---- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e1ab7fae000 4K rw--- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e1ab7faf000 8K rw--- [ anon ]\n00007e1ab7fb1000 292K r-x-- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e1ab7ffa000 2044K ----- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e1ab81f9000 12K r---- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e1ab81fc000 4K rw--- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e1ab81fd000 136K r-x-- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e1ab821f000 2048K ----- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e1ab841f000 4K r---- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e1ab8420000 4K rw--- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e1ab8421000 48K r-x-- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e1ab842d000 2044K ----- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e1ab862c000 4K r---- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e1ab862d000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e1ab862e000 704K r-x-- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e1ab86de000 2044K ----- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e1ab88dd000 16K r---- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e1ab88e1000 8K rw--- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e1ab88e3000 80K r-x-- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e1ab88f7000 2048K ----- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e1ab8af7000 4K r---- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e1ab8af8000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e1ab8af9000 1588K r-x-- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e1ab8c86000 2044K ----- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e1ab8e85000 20K r---- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e1ab8e8a000 12K rw--- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e1ab8e8d000 4K rw--- [ anon ]\n00007e1ab8e8e000 140K r-x-- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e1ab8eb1000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e1ab90b0000 12K r---- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e1ab90b3000 4K rw--- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e1ab90b4000 4332K r-x-- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e1ab94ef000 2044K ----- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e1ab96ee000 28K r---- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e1ab96f5000 16K rw--- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e1ab96f9000 12K rw--- [ anon ]\n00007e1ab96fc000 1092K r-x-- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e1ab980d000 2048K ----- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e1ab9a0d000 4K r---- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e1ab9a0e000 4K rw--- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e1ab9a0f000 4K rw--- [ anon ]\n00007e1ab9a10000 324K r-x-- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e1ab9a61000 2048K ----- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e1ab9c61000 4K r---- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e1ab9c62000 4K rw--- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e1ab9c63000 308K r-x-- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e1ab9cb0000 2048K ----- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e1ab9eb0000 8K r---- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e1ab9eb2000 4K rw--- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e1ab9eb3000 152K r-x-- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e1ab9ed9000 2044K ----- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e1aba0d8000 4K r---- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e1aba0d9000 4K rw--- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e1aba0da000 36K r-x-- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e1aba0e3000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e1aba2e2000 4K r---- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e1aba2e3000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e1aba2e4000 240K r-x-- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e1aba320000 2044K ----- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e1aba51f000 8K r---- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e1aba521000 4K rw--- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e1aba522000 672K r-x-- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e1aba5ca000 2048K ----- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e1aba7ca000 24K r---- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e1aba7d0000 4K rw--- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e1aba7d1000 69708K r-x-- /usr/local/lib/tor-browser/libxul.so\n00007e1abebe4000 4K ----- /usr/local/lib/tor-browser/libxul.so\n00007e1abebe5000 4136K r---- /usr/local/lib/tor-browser/libxul.so\n00007e1abefef000 312K rw--- /usr/local/lib/tor-browser/libxul.so\n00007e1abf03d000 356K rw--- [ anon ]\n00007e1abf096000 112K r-x-- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e1abf0b2000 8K r---- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e1abf0b4000 4K rw--- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e1abf0b5000 644K rw--- [ anon ]\n00007e1abf156000 656K r-x-- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e1abf1fa000 12K r---- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e1abf1fd000 8K rw--- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e1abf1ff000 4K rw--- [ anon ]\n00007e1abf200000 2048K rw--- [ anon ]\n00007e1abf41a000 324K r---- /usr/lib/locale/aa_DJ.utf8/LC_CTYPE\n00007e1abf46b000 240K r-x-- /usr/local/lib/tor-browser/libssl3.so\n00007e1abf4a7000 4K ----- /usr/local/lib/tor-browser/libssl3.so\n00007e1abf4a8000 16K r---- /usr/local/lib/tor-browser/libssl3.so\n00007e1abf4ac000 4K rw--- /usr/local/lib/tor-browser/libssl3.so\n00007e1abf4ad000 1620K r-x-- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e1abf642000 2048K ----- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e1abf842000 16K r---- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e1abf846000 8K rw--- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e1abf848000 16K rw--- [ anon ]\n00007e1abf84c000 88K r-x-- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e1abf862000 2044K ----- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e1abfa61000 4K r---- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e1abfa62000 4K rw--- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e1abfa63000 1036K r-x-- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e1abfb66000 2044K ----- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e1abfd65000 4K r---- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e1abfd66000 4K rw--- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e1abfd67000 1536K r-x-- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e1abfee7000 2044K ----- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e1ac00e6000 48K r---- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e1ac00f2000 4K rw--- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e1ac00f3000 12K rw--- [ anon ]\n00007e1ac00f6000 28K r-x-- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e1ac00fd000 2044K ----- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e1ac02fc000 4K r---- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e1ac02fd000 4K rw--- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e1ac02fe000 12K r-x-- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e1ac0301000 2044K ----- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e1ac0500000 4K r---- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e1ac0501000 4K rw--- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e1ac0502000 96K r-x-- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e1ac051a000 2044K ----- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e1ac0719000 4K r---- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e1ac071a000 4K rw--- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e1ac071b000 16K rw--- [ anon ]\n00007e1ac071f000 140K r-x-- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e1ac0754000 4K ----- [ anon ]\n00007e1ac0755000 128K rw--- [ anon ]\n00007e1ac0775000 4K r---- /usr/lib/locale/aa_ET/LC_NUMERIC\n00007e1ac0776000 4K r---- /usr/lib/locale/en_US.utf8/LC_TIME\n00007e1ac0777000 4K r---- /usr/lib/locale/chr_US/LC_MONETARY\n00007e1ac0778000 124K r-x-- /usr/local/lib/tor-browser/libsmime3.so\n00007e1ac0797000 4K ----- /usr/local/lib/tor-browser/libsmime3.so\n00007e1ac0798000 12K r---- /usr/local/lib/tor-browser/libsmime3.so\n00007e1ac079b000 4K rw--- /usr/local/lib/tor-browser/libsmime3.so\n00007e1ac079c000 944K r-x-- /usr/local/lib/tor-browser/libnss3.so\n00007e1ac0888000 4K ----- /usr/local/lib/tor-browser/libnss3.so\n00007e1ac0889000 28K r---- /usr/local/lib/tor-browser/libnss3.so\n00007e1ac0890000 4K rw--- /usr/local/lib/tor-browser/libnss3.so\n00007e1ac0891000 8K rw--- [ anon ]\n00007e1ac0893000 140K r-x-- /usr/local/lib/tor-browser/libnssutil3.so\n00007e1ac08b6000 28K r---- /usr/local/lib/tor-browser/libnssutil3.so\n00007e1ac08bd000 4K rw--- /usr/local/lib/tor-browser/libnssutil3.so\n00007e1ac08be000 204K r-x-- /usr/local/lib/tor-browser/libnspr4.so\n00007e1ac08f1000 8K r---- /usr/local/lib/tor-browser/libnspr4.so\n00007e1ac08f3000 4K rw--- /usr/local/lib/tor-browser/libnspr4.so\n00007e1ac08f4000 12K rw--- [ anon ]\n00007e1ac08f7000 156K r-x-- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e1ac091e000 4K ----- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e1ac091f000 4K r---- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e1ac0920000 4K rw--- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e1ac0921000 20K rw--- [ anon ]\n00007e1ac0926000 4K r---- /usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES\n00007e1ac0927000 4K r---- /usr/lib/locale/chr_US/LC_PAPER\n00007e1ac0928000 4K r---- /usr/lib/locale/chr_US/LC_NAME\n00007e1ac0929000 4K r---- /usr/lib/locale/en_US.utf8/LC_ADDRESS\n00007e1ac092a000 4K r---- /usr/lib/locale/chr_US/LC_TELEPHONE\n00007e1ac092b000 4K r---- /usr/lib/locale/chr_US/LC_MEASUREMENT\n00007e1ac092c000 4K r---- /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION\n00007e1ac092d000 28K r--s- /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache\n00007e1ac0934000 12K r-x-- /usr/local/lib/tor-browser/libplds4.so\n00007e1ac0937000 4K r---- /usr/local/lib/tor-browser/libplds4.so\n00007e1ac0938000 4K rw--- /usr/local/lib/tor-browser/libplds4.so\n00007e1ac0939000 16K r-x-- /usr/local/lib/tor-browser/libplc4.so\n00007e1ac093d000 4K r---- /usr/local/lib/tor-browser/libplc4.so\n00007e1ac093e000 4K rw--- /usr/local/lib/tor-browser/libplc4.so\n00007e1ac093f000 12K rw--- [ anon ]\n00007e1ac0942000 4K r---- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e1ac0943000 4K rw--- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e1ac0944000 4K rw--- [ anon ]\n00007ffcbf43f000 132K rw--- [ stack ]\n00007ffcbf5f5000 12K r---- [ anon ]\n00007ffcbf5f8000 8K r-x-- [ anon ]\n total 1647696K\n", ""] 00:26:00.538518238: calling as root: find /usr/lib /lib -name "libfreeblpriv3.so" 00:26:01.594777179: call returned: [0, "/usr/lib/thunderbird/libfreeblpriv3.so\n/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libfreeblpriv3.so\n", ""] 00:26:01.595200995: calling as root: find /usr/lib /lib -name "liblgpllibs.so" 00:26:02.359518183: call returned: [0, "/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/liblgpllibs.so\n", ""] 00:26:02.359800985: calling as root: find /usr/lib /lib -name "libmozavcodec.so" 00:26:03.154709711: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavcodec.so\n", ""] 00:26:03.154940357: calling as root: find /usr/lib /lib -name "libmozavutil.so" 00:26:03.934988892: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavutil.so\n", ""] 00:26:03.935202619: calling as root: find /usr/lib /lib -name "libmozsandbox.so" 00:26:04.737352986: call returned: [0, "/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsandbox.so\n", ""] 00:26:04.737610704: calling as root: find /usr/lib /lib -name "libmozsqlite3.so" 00:26:05.558233977: call returned: [0, "/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsqlite3.so\n", ""] 00:26:05.558530227: calling as root: find /usr/lib /lib -name "libnspr4.so" 00:26:06.613711439: call returned: [0, "/usr/lib/thunderbird/libnspr4.so\n/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnspr4.so\n", ""] 00:26:06.614103521: calling as root: find /usr/lib /lib -name "libnss3.so" 00:26:07.407712633: call returned: [0, "/usr/lib/thunderbird/libnss3.so\n/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnss3.so\n", ""] 00:26:07.408051628: calling as root: find /usr/lib /lib -name "libnssckbi.so" 00:26:08.223004880: call returned: [0, "/usr/lib/thunderbird/libnssckbi.so\n/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssckbi.so\n", ""] 00:26:08.223383549: calling as root: find /usr/lib /lib -name "libnssdbm3.so" 00:26:09.015252166: call returned: [0, "/usr/lib/thunderbird/libnssdbm3.so\n/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssdbm3.so\n", ""] 00:26:09.015655484: calling as root: find /usr/lib /lib -name "libnssutil3.so" 00:26:09.850561631: call returned: [0, "/usr/lib/thunderbird/libnssutil3.so\n/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssutil3.so\n", ""] 00:26:09.850915569: calling as root: find /usr/lib /lib -name "libplc4.so" 00:26:10.642248112: call returned: [0, "/usr/lib/thunderbird/libplc4.so\n/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplc4.so\n", ""] 00:26:10.642622349: calling as root: find /usr/lib /lib -name "libplds4.so" 00:26:11.518997954: call returned: [0, "/usr/lib/thunderbird/libplds4.so\n/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplds4.so\n", ""] 00:26:11.519413437: calling as root: find /usr/lib /lib -name "libsmime3.so" 00:26:12.323554307: call returned: [0, "/usr/lib/thunderbird/libsmime3.so\n/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsmime3.so\n", ""] 00:26:12.323957340: calling as root: find /usr/lib /lib -name "libsoftokn3.so" 00:26:13.094650464: call returned: [0, "/usr/lib/thunderbird/libsoftokn3.so\n/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsoftokn3.so\n", ""] 00:26:13.095083980: calling as root: find /usr/lib /lib -name "libssl3.so" 00:26:13.856087489: call returned: [0, "/usr/lib/thunderbird/libssl3.so\n/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libssl3.so\n", ""] 00:26:13.856491716: calling as root: find /usr/lib /lib -name "libxul.so" 00:26:14.644090702: call returned: [0, "/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libxul.so\n", ""] 00:26:15.402198078: [log] CLICK on L(595,316)@S(0)[0,0 1024x768] 00:26:16.569851890: [log] CLICK on L(310,196)@S(0)[0,0 1024x768] 00:26:17.745123262: [log] CLICK on L(302,248)@S(0)[0,0 1024x768] 00:26:24.819357570: [log] TYPE "obfs4 10.2.1.1:40873 A51C101CED5CB1A574CB1803B4A8237AD5C20025 cert=ubvMyKyaAcaob3bmJLTen9njKcVhEhW5RkHhVXtjKUHt9DfSFAGW0WLx4PN6AzZfwl4+dw iat-mode=0#ENTER." 00:26:31.968775026: [log] TYPE "obfs4 10.2.1.1:44841 4256434EA0888C18B0E5DF84A9596CC97CBAE44A cert=0JmI/HCx582Q1+jp3TEr3Dm9pFJnA5kD1ZVaXdwP1jKxoKLJ3B+inOTINhKXcUze7FHdBQ iat-mode=0#ENTER." 00:26:38.986384155: [log] TYPE "obfs4 10.2.1.1:41685 3E2B777A84C483C9452E711FE57A721A435E04AA cert=HlRePyhYtwg+XBg0E9l0jqmEP5NaVgAIfGO5zuC35/1Gtq8hjumiDFKW/KvylJsF0lIIXQ iat-mode=0#ENTER." 00:26:40.241777426: [log] CLICK on L(792,638)@S(0)[0,0 1024x768] When I configure some obfs4 pluggable transports in Tor Launcher # features/step_definitions/tor.rb:349 00:26:45.618163168: calling as root: /usr/local/sbin/tor-has-bootstrapped 00:26:45.921017671: call returned: [0, "", ""] 00:26:45.921222243: calling as root: test -e /run/tordate/done 00:26:46.150681168: call returned: [0, "", ""] 00:26:46.150883970: calling as root: test -e /run/htpdate/success 00:26:46.324839331: call returned: [1, "", ""] 00:26:47.325207036: calling as root: test -e /run/htpdate/success 00:26:47.455902086: call returned: [1, "", ""] 00:26:48.456083913: calling as root: test -e /run/htpdate/success 00:26:48.585660808: call returned: [0, "", ""] 00:26:48.585853783: calling as root: systemctl is-system-running 00:26:48.765107060: call returned: [0, "running\n", ""] Then Tor is ready # features/step_definitions/common_steps.rb:347 00:26:48.765890491: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:48.914676042: call returned: [1, "", ""] 00:26:49.915019111: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:50.052808417: call returned: [1, "", ""] 00:26:51.053138248: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:51.186443776: call returned: [1, "", ""] 00:26:52.186767754: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:52.332878311: call returned: [1, "", ""] 00:26:53.333141856: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:53.462427464: call returned: [1, "", ""] 00:26:54.462694725: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:54.605619836: call returned: [1, "", ""] 00:26:55.605873152: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:55.722876977: call returned: [1, "", ""] 00:26:56.723158576: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:56.884232873: call returned: [1, "", ""] 00:26:57.884508188: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:58.012774974: call returned: [1, "", ""] 00:26:59.013084385: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:26:59.159002655: call returned: [1, "", ""] 00:27:00.159333746: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:00.294909936: call returned: [1, "", ""] 00:27:01.295253847: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:01.432273257: call returned: [1, "", ""] 00:27:02.432654518: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:02.578730710: call returned: [1, "", ""] 00:27:03.579070067: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:03.718402657: call returned: [1, "", ""] 00:27:04.718708490: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:04.869197210: call returned: [1, "", ""] 00:27:05.869500051: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:05.995025252: call returned: [1, "", ""] 00:27:06.996398850: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:07.155828045: call returned: [1, "", ""] 00:27:08.156063660: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:08.294416038: call returned: [1, "", ""] 00:27:09.294731826: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:09.447860409: call returned: [1, "", ""] 00:27:10.448186262: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:10.585855328: call returned: [1, "", ""] 00:27:11.586052069: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:11.718149534: call returned: [1, "", ""] 00:27:12.718490791: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:12.847332604: call returned: [1, "", ""] 00:27:13.847651476: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:14.009795911: call returned: [1, "", ""] 00:27:15.010085837: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:15.139911150: call returned: [1, "", ""] 00:27:16.140171271: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:16.349990359: call returned: [1, "", ""] 00:27:17.350288944: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:17.536643456: call returned: [1, "", ""] 00:27:18.536992624: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:18.669624520: call returned: [1, "", ""] 00:27:19.669876580: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:19.798777182: call returned: [1, "", ""] 00:27:20.798984483: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 00:27:20.952196142: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 And all Internet traffic has only flowed through the configured pluggable transports # features/step_definitions/tor.rb:397 @product Feature: System memory erasure on shutdown As a Tails user when I shutdown Tails I want the system memory to be free from sensitive data. # These tests rely on the Linux kernel's memory poisoning features. # The feature is called "on shutdown" as this is the security guarantee # we document, but in practice we test that some important bits of memory # are erased _before_ shutdown, while for some others we really test # behavior at shutdown time. Scenario: Erasure of memory freed by killed userspace processes # features/erase_memory.feature:13 00:27:23.077376210: calling as root: echo 'hello?' 00:27:23.286864005: call returned: [0, "hello?\n", ""] 00:27:24.009238101: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:27:24.009403396: calling as root: nmcli device show eth0 00:27:24.292157662: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:27:24.303021235: calling as root: date -s '@1523720548' 00:27:24.461914528: call returned: [0, "Sat Apr 14 15:42:28 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:27:24.463086944: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:27:24.648507429: call returned: [0, "1997\n", ""] 00:27:24.649170798: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:27:24.985362163: call returned: [0, "", ""] 00:27:24.985528814: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:27:26.036952146: call returned: [0, "", ""] 00:27:26.037085865: calling as root: sysctl vm.oom_kill_allocating_task=0 00:27:26.229833429: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:27:26.229966548: calling as root: sysctl vm.oom_dump_tasks=0 00:27:26.362164793: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:27:26.362338394: calling as root: sysctl vm.overcommit_memory=0 00:27:26.525622490: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:27:26.525736455: calling as root: sysctl vm.min_free_kbytes=65536 00:27:26.691217118: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:27:26.691368687: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:27:26.860487875: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:27:26.860599894: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:27.081493901: call returned: [0, "581\n", ""] 00:27:27.081640149: calling as root: systemctl status initramfs-shutdown.service 00:27:27.357793006: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 18min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:27:27.357930471: calling as root: systemctl status memlockd.service 00:27:27.600908773: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 18min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:27:27.601059358: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:27:27.809578198: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 18min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 00:27:27.810680787: spawning as amnesia: sh -c 'echo 1000 > /proc/$$/oom_score_adj && exec /usr/local/sbin/fillram'; killall fillram 00:27:27.889517058: spawning as amnesia: sh -c 'echo 1000 > /proc/$$/oom_score_adj && exec /usr/local/sbin/fillram'; killall fillram 00:27:28.088518268: calling as root: pidof -x -o '%PPID' fillram 00:27:28.356300777: call returned: [0, "7209 7196\n", ""] 00:27:28.356483786: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:28.613045515: call returned: [0, "613\n", ""] 00:27:28.613186534: Memory fill progress: 30% 00:27:28.613244798: calling as root: pidof -x -o '%PPID' fillram 00:27:28.878602241: call returned: [0, "7209 7196\n", ""] 00:27:29.878866323: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:30.084823417: call returned: [0, "991\n", ""] 00:27:30.084967701: Memory fill progress: 50% 00:27:30.085013497: calling as root: pidof -x -o '%PPID' fillram 00:27:30.333111283: call returned: [0, "7209 7196\n", ""] 00:27:31.333338498: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:31.571637376: call returned: [0, "1385\n", ""] 00:27:31.571748500: Memory fill progress: 70% 00:27:31.571818506: calling as root: pidof -x -o '%PPID' fillram 00:27:31.855399283: call returned: [0, "7209 7196\n", ""] 00:27:32.855631951: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:35.115231316: call returned: [0, "550\n", ""] 00:27:35.115379637: calling as root: pidof -x -o '%PPID' fillram 00:27:35.352073614: call returned: [1, "", ""] 00:27:35.352206216: Memory fill progress: finished When I fill the guest's memory with a known pattern and the allocating processes get killed # features/step_definitions/erase_memory.rb:104 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1224 MiB reference memory) Scenario: Erasure of tmpfs data on unmount # features/erase_memory.feature:19 00:27:42.111827915: calling as root: echo 'hello?' 00:27:42.358672193: call returned: [0, "hello?\n", ""] 00:27:43.082708735: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:27:43.082814088: calling as root: nmcli device show eth0 00:27:43.314964322: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:27:43.324767558: calling as root: date -s '@1523720567' 00:27:43.466472215: call returned: [0, "Sat Apr 14 15:42:47 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:27:43.467301811: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:27:43.678396336: call returned: [0, "1997\n", ""] 00:27:43.678610531: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:27:44.067193829: call returned: [0, "", ""] 00:27:44.067343221: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:27:45.177758824: call returned: [0, "", ""] 00:27:45.177888001: calling as root: sysctl vm.oom_kill_allocating_task=0 00:27:45.384831557: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:27:45.384967186: calling as root: sysctl vm.oom_dump_tasks=0 00:27:45.553476729: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:27:45.553603073: calling as root: sysctl vm.overcommit_memory=0 00:27:45.737197499: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:27:45.737319343: calling as root: sysctl vm.min_free_kbytes=65536 00:27:45.907256441: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:27:45.907413131: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:27:46.061612273: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:27:46.061776952: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:27:46.290838244: call returned: [0, "577\n", ""] 00:27:46.290988462: calling as root: systemctl status initramfs-shutdown.service 00:27:46.537116509: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 18min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:27:46.537231784: calling as root: systemctl status memlockd.service 00:27:46.778208609: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 18min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:27:46.778364882: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:27:46.983731179: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 18min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 And I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) 00:27:51.836757829: calling as root: mount -t tmpfs -o 'size=128M' tmpfs '/mnt' 00:27:52.013485718: call returned: [0, "", ""] 00:27:52.013614177: calling as root: while echo wipe_didnt_work >> '/mnt/file'; do true ; done 00:29:00.941795098: call returned: [0, "", "sh: echo: I/O error\n"] 00:29:00.941981620: calling as root: df --output=avail '/mnt' 00:29:01.135665004: call returned: [0, "Avail\n 0\n", ""] When I mount a 128 MiB tmpfs on "/mnt" and fill it with a known pattern # features/step_definitions/erase_memory.rb:155 Then patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 100.000% (128 MiB out of 128 MiB reference memory) 00:29:06.353467488: calling as root: umount '/mnt' 00:29:06.612960237: call returned: [0, "", ""] When I umount "/mnt" # features/step_definitions/erase_memory.rb:209 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) Scenario: Erasure of read and write disk caches on unmount: vfat # features/erase_memory.feature:28 00:29:13.234253360: calling as root: echo 'hello?' 00:29:13.465121700: call returned: [0, "hello?\n", ""] 00:29:14.192762872: calling as root: nmcli device show eth0 00:29:14.208793244: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:29:14.496647957: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:29:14.513623358: calling as root: date -s '@1523720658' 00:29:14.661532060: call returned: [0, "Sat Apr 14 15:44:18 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:29:14.662316518: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:29:14.868577713: call returned: [0, "1997\n", ""] 00:29:14.868775694: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:29:15.229569841: call returned: [0, "", ""] 00:29:15.229703390: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:29:16.237969354: call returned: [0, "", ""] 00:29:16.238127143: calling as root: sysctl vm.oom_kill_allocating_task=0 00:29:16.441403050: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:29:16.441555481: calling as root: sysctl vm.oom_dump_tasks=0 00:29:16.613380716: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:29:16.613506728: calling as root: sysctl vm.overcommit_memory=0 00:29:16.782419422: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:29:16.782582670: calling as root: sysctl vm.min_free_kbytes=65536 00:29:16.932575948: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:29:16.932740250: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:29:17.100917864: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:29:17.101071804: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:29:17.302093894: call returned: [0, "579\n", ""] 00:29:17.302226451: calling as root: systemctl status initramfs-shutdown.service 00:29:17.577586505: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 20min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:29:17.577697019: calling as root: systemctl status memlockd.service 00:29:17.797514868: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 20min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:29:17.797627475: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:29:18.028976944: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 20min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 00:29:18.089094976: libguestfs: trace: set_autosync true 00:29:18.089175782: libguestfs: trace: set_autosync = 0 00:29:18.091827709: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/JdrTsRnUaG" "format:qcow2" 00:29:18.091922434: libguestfs: trace: add_drive = 0 00:29:18.091977011: libguestfs: trace: launch 00:29:18.092043018: libguestfs: trace: get_tmpdir 00:29:18.092094593: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:29:18.092176928: libguestfs: trace: get_backend_setting "force_tcg" 00:29:18.092239331: libguestfs: trace: get_backend_setting = NULL (error) 00:29:18.092303838: libguestfs: trace: get_cachedir 00:29:18.092382203: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:29:18.170424403: libguestfs: trace: get_cachedir 00:29:18.170527349: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:29:18.171403755: libguestfs: trace: get_sockdir 00:29:18.171455796: libguestfs: trace: get_sockdir = "/tmp" 00:29:18.171623289: libguestfs: trace: get_backend_setting "gdb" 00:29:18.171666957: libguestfs: trace: get_backend_setting = NULL (error) 00:29:21.554091758: libguestfs: trace: launch = 0 00:29:21.554263419: libguestfs: trace: list_devices 00:29:21.555108694: libguestfs: trace: list_devices = ["/dev/sda"] 00:29:21.555342383: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:29:21.628639646: libguestfs: trace: part_disk = 0 00:29:21.628974687: libguestfs: trace: part_set_name "/dev/sda" 1 "JdrTsRnUaG" 00:29:21.679962884: libguestfs: trace: part_set_name = 0 00:29:21.680147480: libguestfs: trace: list_partitions 00:29:21.680627058: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:29:21.680795502: libguestfs: trace: mkfs "vfat" "/dev/sda1" 00:29:21.697182037: libguestfs: trace: mkfs = 0 00:29:21.697340281: libguestfs: trace: close 00:29:21.697543312: libguestfs: trace: internal_autosync 00:29:21.711350600: libguestfs: trace: internal_autosync = 0 00:29:21.830631316: calling as root: test -b /dev/sda 00:29:21.988399087: call returned: [1, "", ""] 00:29:23.014269894: calling as root: test -b /dev/sda 00:29:23.211513543: call returned: [1, "", ""] 00:29:24.224456856: calling as root: test -b /dev/sda 00:29:24.363562555: call returned: [1, "", ""] 00:29:25.380093001: calling as root: test -b /dev/sda 00:29:25.509631245: call returned: [0, "", ""] 00:29:25.509795112: calling as root: mktemp -d 00:29:25.643964852: call returned: [0, "/tmp/tmp.cj5z2o2Jez\n", ""] 00:29:25.656636102: calling as root: mount /dev/sda1 /tmp/tmp.cj5z2o2Jez 00:29:26.023153057: call returned: [0, "", ""] 00:29:26.023314768: calling as root: df --output=avail '/tmp/tmp.cj5z2o2Jez' 00:29:26.306415926: call returned: [0, " Avail\n130670\n", ""] When I plug and mount a 128 MiB USB drive with a vfat filesystem # features/step_definitions/common_steps.rb:974 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1226 MiB reference memory) 00:29:31.277877328: calling as root: while echo wipe_didnt_work >> '/tmp/tmp.cj5z2o2Jez/file'; do true ; done 00:31:59.084259828: call returned: [0, "", "sh: echo: I/O error\n"] 00:31:59.084437509: calling as root: df --output=avail '/tmp/tmp.cj5z2o2Jez' 00:31:59.237944322: call returned: [0, "Avail\n 0\n", ""] When I fill the USB drive with a known pattern # features/step_definitions/erase_memory.rb:167 Then patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 102.400% (127 MiB out of 124 MiB reference memory) 00:32:04.498125315: calling as root: umount /tmp/tmp.cj5z2o2Jez 00:32:04.988001622: call returned: [0, "", ""] When I umount the USB drive # features/step_definitions/common_steps.rb:998 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1226 MiB reference memory) 00:32:10.011546954: calling as root: mktemp -d 00:32:10.181329870: call returned: [0, "/tmp/tmp.pY399sqDFG\n", ""] 00:32:10.194562743: calling as root: mount /dev/sda1 /tmp/tmp.pY399sqDFG 00:32:10.432370990: call returned: [0, "", ""] When I mount the USB drive again # features/step_definitions/common_steps.rb:994 00:32:10.433500390: calling as root: cat /tmp/tmp.pY399sqDFG/file >/dev/null 00:32:11.540624210: call returned: [0, "", ""] And I read the content of the test FS # features/step_definitions/erase_memory.rb:174 Then patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 102.400% (127 MiB out of 124 MiB reference memory) 00:32:24.038706634: calling as root: umount /tmp/tmp.pY399sqDFG 00:32:24.309074789: call returned: [0, "", ""] When I umount the USB drive # features/step_definitions/common_steps.rb:998 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1226 MiB reference memory) Scenario: Erasure of read and write disk caches on unmount: LUKS-encrypted ext4 # features/erase_memory.feature:45 00:32:47.463644694: calling as root: echo 'hello?' 00:32:47.712228436: call returned: [0, "hello?\n", ""] 00:32:48.434878087: calling as root: nmcli device show eth0 00:32:48.449540377: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:32:48.727218214: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:32:48.740993791: calling as root: date -s '@1523720872' 00:32:48.877023142: call returned: [0, "Sat Apr 14 15:47:52 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:32:48.877801946: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:32:49.076086582: call returned: [0, "1997\n", ""] 00:32:49.076272121: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:32:49.467707765: call returned: [0, "", ""] 00:32:49.467822956: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:32:50.513876339: call returned: [0, "", ""] 00:32:50.514028002: calling as root: sysctl vm.oom_kill_allocating_task=0 00:32:50.701501392: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:32:50.701650432: calling as root: sysctl vm.oom_dump_tasks=0 00:32:50.861304256: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:32:50.861478614: calling as root: sysctl vm.overcommit_memory=0 00:32:51.031643066: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:32:51.031769385: calling as root: sysctl vm.min_free_kbytes=65536 00:32:51.176797898: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:32:51.176934713: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:32:51.361336656: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:32:51.361503132: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:32:51.596129549: call returned: [0, "577\n", ""] 00:32:51.596254176: calling as root: systemctl status initramfs-shutdown.service 00:32:51.866071984: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 23min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:32:51.866187748: calling as root: systemctl status memlockd.service 00:32:52.100860070: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 23min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:32:52.100997216: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:32:52.330260537: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 23min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 00:32:52.370662744: libguestfs: trace: set_autosync true 00:32:52.370764685: libguestfs: trace: set_autosync = 0 00:32:52.373528902: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/WSGHclMIrq" "format:qcow2" 00:32:52.373602698: libguestfs: trace: add_drive = 0 00:32:52.373660565: libguestfs: trace: launch 00:32:52.373718006: libguestfs: trace: get_tmpdir 00:32:52.373839781: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:32:52.373931825: libguestfs: trace: get_backend_setting "force_tcg" 00:32:52.373991217: libguestfs: trace: get_backend_setting = NULL (error) 00:32:52.374072309: libguestfs: trace: get_cachedir 00:32:52.374119641: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:32:52.415410446: libguestfs: trace: get_cachedir 00:32:52.415601587: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:32:52.415805134: libguestfs: trace: get_sockdir 00:32:52.415845316: libguestfs: trace: get_sockdir = "/tmp" 00:32:52.415982157: libguestfs: trace: get_backend_setting "gdb" 00:32:52.416047680: libguestfs: trace: get_backend_setting = NULL (error) 00:32:55.593989701: libguestfs: trace: launch = 0 00:32:55.594277359: libguestfs: trace: list_devices 00:32:55.595185825: libguestfs: trace: list_devices = ["/dev/sda"] 00:32:55.595355499: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:32:55.658355349: libguestfs: trace: part_disk = 0 00:32:55.658582952: libguestfs: trace: part_set_name "/dev/sda" 1 "WSGHclMIrq" 00:32:55.706468412: libguestfs: trace: part_set_name = 0 00:32:55.706683997: libguestfs: trace: list_partitions 00:32:55.707147832: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:32:55.707344566: libguestfs: trace: luks_format "/dev/sda1" "***" 0 00:33:00.526917810: libguestfs: trace: luks_format = 0 00:33:00.527189255: libguestfs: trace: luks_open "/dev/sda1" "***" "sda1_unlocked" 00:33:02.742442820: libguestfs: trace: luks_open = 0 00:33:02.742580499: libguestfs: trace: mkfs "ext4" "/dev/mapper/sda1_unlocked" 00:33:02.888654569: libguestfs: trace: mkfs = 0 00:33:02.888880512: libguestfs: trace: luks_close "/dev/mapper/sda1_unlocked" 00:33:02.909519175: libguestfs: trace: luks_close = 0 00:33:02.909698021: libguestfs: trace: close 00:33:02.909838614: libguestfs: trace: internal_autosync 00:33:02.911368058: libguestfs: trace: internal_autosync = 0 00:33:03.034303134: calling as root: test -b /dev/sda 00:33:03.164285240: call returned: [1, "", ""] 00:33:04.178116139: calling as root: test -b /dev/sda 00:33:04.387555322: call returned: [1, "", ""] 00:33:05.399352552: calling as root: test -b /dev/sda 00:33:05.605832298: call returned: [0, "", ""] 00:33:05.606041415: calling as root: mktemp -d 00:33:05.818085509: call returned: [0, "/tmp/tmp.lCCbsXH5Qy\n", ""] 00:33:05.829536737: calling as root: echo asdf | cryptsetup luksOpen /dev/sda1 WSGHclMIrq_unlocked 00:33:08.801945337: call returned: [0, "", ""] 00:33:08.802085767: calling as root: mount /dev/mapper/WSGHclMIrq_unlocked /tmp/tmp.lCCbsXH5Qy 00:33:09.275802819: call returned: [0, "", ""] 00:33:09.275970989: calling as root: df --output=avail '/tmp/tmp.lCCbsXH5Qy' 00:33:09.453612363: call returned: [0, " Avail\n110152\n", ""] When I plug and mount a 128 MiB USB drive with an ext4 filesystem encrypted with password "asdf" # features/step_definitions/common_steps.rb:974 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) 00:33:14.464666617: calling as root: while echo wipe_didnt_work >> '/tmp/tmp.lCCbsXH5Qy/file'; do true ; done 00:36:09.163363340: call returned: [0, "", "sh: echo: I/O error\n"] 00:36:09.163519864: calling as root: df --output=avail '/tmp/tmp.lCCbsXH5Qy' 00:36:09.312778849: call returned: [0, "Avail\n 0\n", ""] When I fill the USB drive with a known pattern # features/step_definitions/erase_memory.rb:167 Then patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 108.390% (113 MiB out of 105 MiB reference memory) 00:36:14.514343006: calling as root: umount /tmp/tmp.lCCbsXH5Qy 00:36:15.014889549: call returned: [0, "", ""] 00:36:15.015063964: calling as root: cryptsetup luksClose WSGHclMIrq_unlocked 00:36:15.182911732: call returned: [0, "", ""] When I umount the USB drive # features/step_definitions/common_steps.rb:998 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) 00:36:20.152681113: calling as root: mktemp -d 00:36:20.309773786: call returned: [0, "/tmp/tmp.kTiGK0n31h\n", ""] 00:36:20.326112073: calling as root: echo asdf | cryptsetup luksOpen /dev/sda1 WSGHclMIrq_unlocked 00:36:22.884575662: call returned: [0, "", ""] 00:36:22.884739356: calling as root: mount /dev/mapper/WSGHclMIrq_unlocked /tmp/tmp.kTiGK0n31h 00:36:23.123474514: call returned: [0, "", ""] When I mount the USB drive again # features/step_definitions/common_steps.rb:994 00:36:23.124223037: calling as root: cat /tmp/tmp.kTiGK0n31h/file >/dev/null 00:36:23.990014071: call returned: [0, "", ""] And I read the content of the test FS # features/step_definitions/erase_memory.rb:174 Then patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 108.390% (113 MiB out of 105 MiB reference memory) 00:36:36.314019738: calling as root: umount /tmp/tmp.kTiGK0n31h 00:36:36.572427362: call returned: [0, "", ""] 00:36:36.572575728: calling as root: cryptsetup luksClose WSGHclMIrq_unlocked 00:36:36.761039666: call returned: [0, "", ""] When I umount the USB drive # features/step_definitions/common_steps.rb:998 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) Scenario: Erasure of the aufs read-write branch on shutdown # features/erase_memory.feature:62 00:36:58.762581888: calling as root: echo 'hello?' 00:36:58.964256075: call returned: [0, "hello?\n", ""] 00:36:59.688518492: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:36:59.688686137: calling as root: nmcli device show eth0 00:36:59.940805034: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:36:59.952922892: calling as root: date -s '@1523721124' 00:37:00.089959970: call returned: [0, "Sat Apr 14 15:52:04 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 00:37:00.090665888: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:37:00.272035770: call returned: [0, "1997\n", ""] 00:37:00.272201823: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:37:00.624246303: call returned: [0, "", ""] 00:37:00.624404874: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:37:01.607586377: call returned: [0, "", ""] 00:37:01.607746251: calling as root: sysctl vm.oom_kill_allocating_task=0 00:37:01.786619863: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:37:01.786737927: calling as root: sysctl vm.oom_dump_tasks=0 00:37:01.907064136: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:37:01.907172897: calling as root: sysctl vm.overcommit_memory=0 00:37:02.093092084: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:37:02.093211735: calling as root: sysctl vm.min_free_kbytes=65536 00:37:02.241067088: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:37:02.241216231: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:37:02.418389127: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:37:02.418521395: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:37:02.629867115: call returned: [0, "577\n", ""] 00:37:02.630035707: calling as root: systemctl status initramfs-shutdown.service 00:37:02.881251165: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 27min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:37:02.881372509: calling as root: systemctl status memlockd.service 00:37:03.093547632: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 28min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:37:03.093685173: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:37:03.312269781: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 28min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 00:37:03.313433571: calling as root: for i in $(seq 1 8388608) ; do echo wipe_didnt_work >> '/WhjFvmhCmp' ; done 00:38:47.242609688: call returned: [0, "", ""] When I fill a 128 MiB file with a known pattern on the root filesystem # features/step_definitions/erase_memory.rb:229 00:38:47.243439395: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:38:47.439237259: call returned: [0, "", ""] And I drop all kernel caches # features/step_definitions/erase_memory.rb:246 Then patterns cover at least 128 MiB in the guest's memory # features/step_definitions/erase_memory.rb:189 Pattern coverage: 100.000% (128 MiB out of 128 MiB reference memory) 00:38:52.657838150: spawning as root: halt When I trigger shutdown # features/step_definitions/erase_memory.rb:250 And I wait 20 seconds # features/step_definitions/common_steps.rb:843 Slept for 20 seconds Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) Scenario: Erasure of read and write disk caches of persistent data on shutdown # features/erase_memory.feature:73 00:39:21.092771443: calling as root: echo 'hello?' 00:39:21.353884644: call returned: [0, "hello?\n", ""] 00:39:22.077118861: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:39:22.077256599: calling as root: nmcli device show eth0 00:39:22.354022717: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:39:22.367862133: calling as root: date -s '@1523721266' 00:39:22.518520340: call returned: [0, "Sat Apr 14 15:54:26 UTC 2018\n", ""] Checkpoint: I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen Given I have started Tails from DVD without network and logged in And I create a 7200 MiB disk named "__internal" 00:39:22.612397278: calling as root: test -b /dev/sda 00:39:22.760428148: call returned: [1, "", ""] 00:39:23.772456948: calling as root: test -b /dev/sda 00:39:23.931388505: call returned: [1, "", ""] 00:39:24.946469459: calling as root: test -b /dev/sda 00:39:25.082175166: call returned: [0, "", ""] And I plug USB drive "__internal" 00:39:25.083993454: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:39:25.227408364: call returned: [1, "", ""] 00:39:25.263212178: calling as amnesia: xdotool key Super 00:39:25.421167536: call returned: [0, "", ""] 00:39:26.314753546: [log] TYPE "commandline" 00:39:26.376506660: [log] ( Ctrl ) TYPE "#ENTER." 00:39:30.970988963: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node126 = dogtail.tree.root.application('tails-installer') 00:39:30.989721689: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:39:32.568917893: execution complete 00:39:32.569099259: executing Python as amnesia: node127 = node126.child('Tails Installer', roleName='frame') 00:39:32.608592634: execution complete 00:39:35.608864953: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:39:35.769165710: call returned: [0, "", ""] 00:39:35.783623381: executing Python as amnesia: node128 = node126.child('Target USB stick:', roleName='label') 00:39:35.843305102: execution complete 00:39:35.843463084: executing Python as amnesia: node129 = node128.parent 00:39:35.863678020: execution complete 00:39:35.863806983: executing Python as amnesia: node130 = node129.child('', roleName='combo box', recursive=False) 00:39:35.895322698: execution complete 00:39:35.895424129: executing Python as amnesia: print(node130.name) 00:39:35.918961988: execution complete 00:39:35.919192915: executing Python as amnesia: node131 = node126.button('Install') 00:39:35.959375735: execution complete 00:39:35.959547428: executing Python as amnesia: node131.click() 00:39:37.044881843: execution complete 00:39:37.045014246: executing Python as amnesia: node132 = node126.child('Question', roleName='alert') 00:39:37.086861946: execution complete 00:39:37.087036617: executing Python as amnesia: node133 = node132.button('Yes') 00:39:37.113202446: execution complete 00:39:37.113321177: executing Python as amnesia: node133.click() 00:39:38.141107109: execution complete 00:39:38.141342135: executing Python as amnesia: node134 = node126.child('Information', roleName='alert') 00:39:48.731771312: execution complete 00:39:49.732164457: executing Python as amnesia: node135 = node126.child('Information', roleName='alert') 00:40:00.384008541: execution complete 00:40:01.384378131: executing Python as amnesia: node136 = node126.child('Information', roleName='alert') 00:40:12.088128442: execution complete 00:40:13.089068841: executing Python as amnesia: node137 = node126.child('Information', roleName='alert') 00:40:23.977109632: execution complete 00:40:24.977418685: executing Python as amnesia: node138 = node126.child('Information', roleName='alert') 00:40:35.735467835: execution complete 00:40:36.735767817: executing Python as amnesia: node139 = node126.child('Information', roleName='alert') 00:40:47.706572066: execution complete 00:40:48.706840806: executing Python as amnesia: node140 = node126.child('Information', roleName='alert') 00:40:59.811052986: execution complete 00:41:00.811428036: executing Python as amnesia: node141 = node126.child('Information', roleName='alert') 00:41:00.866550541: execution complete 00:41:00.866670316: executing Python as amnesia: node142 = node141.child('Installation complete!', roleName='label') 00:41:00.904011012: execution complete And I install Tails to USB drive "__internal" by cloning 00:41:00.904632015: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:41:01.578747759: call returned: [0, "11:0\n", ""] 00:41:01.578913241: calling as root: readlink -f /dev/block/'11:0' 00:41:01.710367394: call returned: [0, "/dev/sr0\n", ""] 00:41:01.710467096: calling as root: udevadm info --query=property --name='/dev/sr0' 00:41:01.985541435: call returned: [0, "DEVLINKS=/dev/dvd /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/cdrom /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-path/pci-0000:00:1f.2-ata-3\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:seat:systemd:uaccess:\nUSEC_INITIALIZED=4338158\n", ""] 00:41:01.995575826: calling as root: udisksctl info --block-device '/dev/sda' 00:41:02.451363182: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 00:41:02.451541934: calling as root: udisksctl info --block-device '/dev/sda1' 00:41:02.768975738: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-47C5-C84F\n IdLabel: Tails\n IdType: vfat\n IdUUID: 47C5-C84F\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/47C5-C84F\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 6153d78f-8530-421a-b621-63996ed3ee0b\n", ""] 00:41:02.769211644: calling as root: mkdir -p /mnt/new 00:41:02.936519456: call returned: [0, "", ""] 00:41:02.936631723: calling as root: mount /dev/sda1 /mnt/new 00:41:03.160713733: call returned: [0, "", ""] 00:41:03.160932491: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 00:41:16.983962157: call returned: [0, "", ""] 00:41:16.984078095: calling as root: ls -1 /mnt/new/syslinux 00:41:17.545116426: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 00:41:17.545256455: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 00:41:17.783533378: call returned: [0, "", ""] 00:41:17.783692316: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 00:41:17.929372409: call returned: [0, "", ""] 00:41:17.929486214: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 00:41:18.095941414: call returned: [0, "", ""] 00:41:18.096057212: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 00:41:18.282343873: call returned: [0, "", ""] 00:41:18.282477207: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 00:41:18.469156581: call returned: [0, "", ""] 00:41:18.469289252: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 00:41:18.607705158: call returned: [0, "", ""] 00:41:18.607879391: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 00:41:18.778766007: call returned: [0, "", ""] 00:41:18.778881907: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 00:41:18.935691291: call returned: [0, "", ""] 00:41:18.935817088: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 00:41:19.095899578: call returned: [0, "", ""] 00:41:19.096015609: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 00:41:19.244128999: call returned: [0, "", ""] 00:41:19.244326955: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 00:41:19.414611238: call returned: [0, "", ""] 00:41:19.414725224: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 00:41:19.540609350: call returned: [0, "", ""] 00:41:19.540746540: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 00:41:19.695058953: call returned: [0, "", ""] 00:41:19.695201963: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 00:41:19.897449948: call returned: [0, "", ""] 00:41:19.897607834: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 00:41:20.049968450: call returned: [0, "", ""] 00:41:20.050078684: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 00:41:20.242694230: call returned: [0, "", ""] 00:41:20.242870861: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 00:41:20.394214712: call returned: [0, "", ""] 00:41:20.394326606: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 00:41:20.544491040: call returned: [0, "", ""] 00:41:20.544606631: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 00:41:20.706891295: call returned: [0, "", ""] 00:41:20.707033099: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 00:41:20.859050406: call returned: [0, "", ""] 00:41:20.859161721: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 00:41:21.027249171: call returned: [0, "", ""] 00:41:21.027420152: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 00:41:21.180711208: call returned: [0, "", ""] 00:41:21.180822134: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 00:41:21.373559062: call returned: [0, "", ""] 00:41:21.373675002: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 00:41:21.529581474: call returned: [0, "", ""] 00:41:21.529701572: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 00:41:21.747819762: call returned: [0, "", ""] 00:41:21.747970064: calling as root: umount /mnt/new 00:41:22.191128353: call returned: [0, "", ""] 00:41:22.191254025: calling as root: sync 00:41:22.375746448: call returned: [0, "", ""] And the running Tails is installed on USB drive "__internal" 00:41:22.386480971: calling as root: test -b /dev/sda2 00:41:22.507224696: call returned: [1, "", ""] And there is no persistence partition on USB drive "__internal" 00:41:22.507817346: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off 00:41:28.226631115: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:41:30.881770250: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:42:13.942608566: calling as root: echo 'hello?' 00:42:14.120756778: call returned: [0, "hello?\n", ""] 00:42:14.121053428: calling as root: service tor status 00:42:14.320211955: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:42:14.320595251: opening file /etc/tor/torrc in 'append' mode 00:42:14.489864385: append complete And I start Tails from USB drive "__internal" with network unplugged 00:42:14.490688634: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:42:14.600274628: call returned: [0, "8:1\n", ""] 00:42:14.600387531: calling as root: readlink -f /dev/block/'8:1' 00:42:14.723398285: call returned: [0, "/dev/sda1\n", ""] 00:42:14.723569983: calling as root: ls -1 /dev/sda* 00:42:14.832579295: call returned: [0, "/dev/sda\n/dev/sda1\n", ""] 00:42:14.832698062: calling as root: cut -d':' -f1 /etc/passwd 00:42:14.965074514: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 00:42:14.965192391: calling as root: groups root 00:42:15.141903787: call returned: [0, "root : root\n", ""] 00:42:15.142104126: calling as root: groups daemon 00:42:15.248486058: call returned: [0, "daemon : daemon\n", ""] 00:42:15.248636584: calling as root: groups bin 00:42:15.376121899: call returned: [0, "bin : bin\n", ""] 00:42:15.376271470: calling as root: groups sys 00:42:15.514907528: call returned: [0, "sys : sys\n", ""] 00:42:15.515055093: calling as root: groups sync 00:42:15.635181654: call returned: [0, "sync : nogroup\n", ""] 00:42:15.635315838: calling as root: groups games 00:42:15.745919743: call returned: [0, "games : games\n", ""] 00:42:15.746034858: calling as root: groups man 00:42:15.861502769: call returned: [0, "man : man\n", ""] 00:42:15.861670375: calling as root: groups lp 00:42:15.978327835: call returned: [0, "lp : lp\n", ""] 00:42:15.978459369: calling as root: groups mail 00:42:16.094958653: call returned: [0, "mail : mail\n", ""] 00:42:16.095117302: calling as root: groups news 00:42:16.216113051: call returned: [0, "news : news\n", ""] 00:42:16.216228337: calling as root: groups uucp 00:42:16.331585857: call returned: [0, "uucp : uucp\n", ""] 00:42:16.331701225: calling as root: groups proxy 00:42:16.447276622: call returned: [0, "proxy : proxy\n", ""] 00:42:16.447461922: calling as root: groups www-data 00:42:16.568179433: call returned: [0, "www-data : www-data\n", ""] 00:42:16.568323127: calling as root: groups backup 00:42:16.662873314: call returned: [0, "backup : backup\n", ""] 00:42:16.663035398: calling as root: groups list 00:42:16.777201551: call returned: [0, "list : list\n", ""] 00:42:16.777330861: calling as root: groups irc 00:42:16.900971102: call returned: [0, "irc : irc\n", ""] 00:42:16.901085950: calling as root: groups gnats 00:42:17.018378825: call returned: [0, "gnats : gnats\n", ""] 00:42:17.018510280: calling as root: groups nobody 00:42:17.138927170: call returned: [0, "nobody : nogroup\n", ""] 00:42:17.139103324: calling as root: groups systemd-timesync 00:42:17.273671804: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 00:42:17.273848431: calling as root: groups systemd-network 00:42:17.394312823: call returned: [0, "systemd-network : systemd-network\n", ""] 00:42:17.394450415: calling as root: groups systemd-resolve 00:42:17.498262426: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 00:42:17.498388421: calling as root: groups _apt 00:42:17.611113453: call returned: [0, "_apt : nogroup\n", ""] 00:42:17.611236494: calling as root: groups messagebus 00:42:17.720784688: call returned: [0, "messagebus : messagebus\n", ""] 00:42:17.720936657: calling as root: groups memlockd 00:42:17.835839148: call returned: [0, "memlockd : memlockd\n", ""] 00:42:17.835966985: calling as root: groups monkeysphere 00:42:17.945704434: call returned: [0, "monkeysphere : monkeysphere\n", ""] 00:42:17.945848439: calling as root: groups debian-tor 00:42:18.062116880: call returned: [0, "debian-tor : debian-tor\n", ""] 00:42:18.062228415: calling as root: groups speech-dispatcher 00:42:18.176122377: call returned: [0, "speech-dispatcher : audio\n", ""] 00:42:18.176274828: calling as root: groups colord 00:42:18.283431287: call returned: [0, "colord : colord\n", ""] 00:42:18.283544626: calling as root: groups saned 00:42:18.396173371: call returned: [0, "saned : saned scanner\n", ""] 00:42:18.396319386: calling as root: groups pulse 00:42:18.506173796: call returned: [0, "pulse : pulse audio\n", ""] 00:42:18.506300746: calling as root: groups hplip 00:42:18.616432663: call returned: [0, "hplip : lp\n", ""] 00:42:18.616594090: calling as root: groups Debian-gdm 00:42:18.740820003: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 00:42:18.740970957: calling as root: groups tails-persistence-setup 00:42:18.858652580: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 00:42:18.858830987: calling as root: groups clearnet 00:42:18.962289207: call returned: [0, "clearnet : clearnet\n", ""] 00:42:18.962437571: calling as root: groups htp 00:42:19.083540168: call returned: [0, "htp : htp\n", ""] 00:42:19.083650974: calling as root: groups tails-iuk-get-target-file 00:42:19.196999800: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 00:42:19.197115157: calling as root: groups tails-upgrade-frontend 00:42:19.307201729: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 00:42:19.307331644: calling as root: groups tor-launcher 00:42:19.423446655: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 00:42:19.423564549: calling as root: groups tails-install-iuk 00:42:19.545457103: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 00:42:19.545612634: calling as root: groups amnesia 00:42:19.663081909: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 00:42:19.663218859: calling as root: stat -c %U /dev/sda 00:42:19.779131285: call returned: [0, "root\n", ""] 00:42:19.779225431: calling as root: stat -c %G /dev/sda 00:42:19.883648092: call returned: [0, "disk\n", ""] 00:42:19.883739741: calling as root: stat -c %a /dev/sda 00:42:19.998086409: call returned: [0, "660\n", ""] 00:42:19.998415797: calling as root: stat -c %U /dev/sda1 00:42:20.121114976: call returned: [0, "root\n", ""] 00:42:20.121209012: calling as root: stat -c %G /dev/sda1 00:42:20.244461908: call returned: [0, "disk\n", ""] 00:42:20.244580349: calling as root: stat -c %a /dev/sda1 00:42:20.363138149: call returned: [0, "660\n", ""] 00:42:20.363516089: calling as root: udisksctl info --block-device '/dev/sda' 00:42:20.706829664: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights 00:42:20.707536930: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:42:20.819834275: call returned: [0, "8:1\n", ""] 00:42:20.819940641: calling as root: readlink -f /dev/block/'8:1' 00:42:20.951779115: call returned: [0, "/dev/sda1\n", ""] 00:42:20.951874510: calling as root: udevadm info --query=property --name='/dev/sda1' 00:42:21.174688818: call returned: [0, "DEVLINKS=/dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-partlabel/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-label/Tails /dev/disk/by-uuid/47C5-C84F\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5829911\n", ""] 00:42:21.174876625: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:42:21.304892674: call returned: [0, "8:1\n", ""] 00:42:21.305029943: calling as root: readlink -f /dev/block/'8:1' 00:42:21.436012817: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "__internal" 00:42:21.476086921: calling as root: test -b /dev/sda2 00:42:21.583002961: call returned: [1, "", ""] And there is no persistence partition on USB drive "__internal" 00:42:21.583585395: calling as root: pidof -x -o '%PPID' udev-watchdog 00:42:21.718604944: call returned: [0, "1292\n", ""] And process "udev-watchdog" is running 00:42:21.719224728: calling as root: ps -wweo cmd 00:42:22.053907342: call returned: [0, "CMD\n/sbin/init config nopersistence noprompt splash noautologin autotest_never_use_this_option\n[kthreadd]\n[kworker/0:0]\n[kworker/0:0H]\n[kworker/u4:0]\n[mm_percpu_wq]\n[ksoftirqd/0]\n[rcu_sched]\n[rcu_bh]\n[migration/0]\n[watchdog/0]\n[cpuhp/0]\n[cpuhp/1]\n[watchdog/1]\n[migration/1]\n[ksoftirqd/1]\n[kworker/1:0]\n[kworker/1:0H]\n[kdevtmpfs]\n[netns]\n[kauditd]\n[kworker/0:1]\n[khungtaskd]\n[oom_reaper]\n[writeback]\n[kcompactd0]\n[ksmd]\n[khugepaged]\n[crypto]\n[kintegrityd]\n[kblockd]\n[edac-poller]\n[devfreq_wq]\n[watchdogd]\n[kworker/1:1]\n[kswapd0]\n[kthrotld]\n[ipv6_addrconf]\n[kworker/u4:1]\n[ata_sff]\n[scsi_eh_0]\n[scsi_tmf_0]\n[scsi_eh_1]\n[scsi_tmf_1]\n[scsi_eh_2]\n[scsi_tmf_2]\n[scsi_eh_3]\n[scsi_tmf_3]\n[scsi_eh_4]\n[scsi_tmf_4]\n[scsi_eh_5]\n[scsi_tmf_5]\n[ttm_swap]\n[kworker/u4:2]\n[kworker/u4:3]\n[kworker/u4:4]\n[kworker/u4:5]\n[kworker/u4:6]\n[kworker/u4:7]\n[kworker/1:2]\n[kworker/1:3]\n[scsi_eh_6]\n[scsi_tmf_6]\n[usb-storage]\n[kworker/1:1H]\n[kworker/0:1H]\n[loop0]\n[kworker/0:2]\n/lib/systemd/systemd-journald\n/sbin/lvmetad -f\ngpg-agent --homedir /home/amnesia/.gnupg --use-standard-socket --daemon\ngpg-agent --homedir /usr/share/tails-iuk/trusted_gnupg_homedir --use-standard-socket --daemon\n/usr/sbin/haveged --Foreground --verbose=1 -w 2048\ngpg-agent --homedir /root/.gnupg --use-standard-socket --daemon\n/lib/systemd/systemd-udevd\n/usr/sbin/memlockd -f -u memlockd\n/lib/systemd/systemd-logind\n/usr/sbin/ModemManager\n/usr/bin/python3 /usr/local/lib/tails-autotest-remote-shell\n/usr/lib/accountsservice/accounts-daemon\n/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n/usr/bin/python3 -u /usr/local/lib/onion-grater\n/usr/sbin/cron -f\n/bin/sh -c . /usr/local/lib/tails-shell-library/tor.sh ; while ! tor_is_working ; do /bin/sleep 1 ; done\n/bin/sh /usr/local/lib/udev-watchdog-wrapper\n/usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1 disk\n/usr/lib/policykit-1/polkitd --no-debug\n/usr/sbin/spice-vdagentd\n/usr/sbin/gdm3\ngdm-session-worker [pam/gdm-launch-environment]\n/lib/systemd/systemd --user\n(sd-pam)\n/bin/sh /usr/lib/gdm3/gdm-x-session gnome-session --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/gdm3/gdm-x-session.real gnome-session --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/113/gdm/Xauthority -background none -noreset -keeptty -verbose 3\n[cfg80211]\n/usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation\n/usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/at-spi2-core/at-spi-bus-launcher\n/usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3\n/usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session\n/usr/bin/gnome-shell --mode=gdm-tails\n/usr/lib/upower/upowerd\n/usr/bin/pulseaudio --daemonize=no\nibus-daemon --xim --panel disable\n/usr/lib/gnome-settings-daemon/gnome-settings-daemon\n/usr/bin/spice-vdagent\n/usr/lib/ibus/ibus-dconf\n/usr/lib/ibus/ibus-x11 --kill-daemon\n/usr/lib/colord/colord\n/bin/bash /usr/bin/tails-greeter\n/lib/systemd/systemd-hostnamed\n/lib/systemd/systemd-localed\n/usr/bin/python3 ./tails-greeter.py\n/usr/lib/ibus/ibus-engine-simple\n/usr/lib/dconf/dconf-service\n[kworker/0:3]\n/usr/lib/udisks2/udisksd --no-debug\n/bin/sleep 1\n/bin/sh -c ps -wweo cmd\nps -wweo cmd\n", ""] 00:42:22.054178869: opening file /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1/dev in 'read' mode 00:42:22.076079378: read complete 00:42:22.076209431: calling as root: readlink -f /dev/block/'8:1' 00:42:22.192072109: call returned: [0, "/dev/sda1\n", ""] 00:42:22.192190866: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:42:22.321345683: call returned: [0, "8:1\n", ""] 00:42:22.321495154: calling as root: readlink -f /dev/block/'8:1' 00:42:22.430136054: call returned: [0, "/dev/sda1\n", ""] And udev-watchdog is monitoring the correct device 00:42:28.026037048: calling as root: echo 'hello?' 00:42:28.171399582: call returned: [0, "hello?\n", ""] 00:42:28.899281107: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:42:28.899395508: calling as root: nmcli device show eth0 00:42:29.086896057: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:42:29.097403369: calling as root: date -s '@1523721453' 00:42:29.214805273: call returned: [0, "Sat Apr 14 15:57:33 UTC 2018\n", ""] Checkpoint: I have started Tails without network from a USB drive without a persistent partition and logged in Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen 00:42:30.039097584: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:42:30.039403670: calling as root: loginctl 00:42:30.174504790: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:42:31.174862380: calling as root: loginctl 00:42:31.364414696: call returned: [0, " SESSION UID USER SEAT TTY \n 70 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:42:39.238868435: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:42:39.372592431: call returned: [0, "", ""] 00:42:39.372727827: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:42:39.455516448: call returned: [0, "", ""] And I log in to a new session 00:42:44.522448032: calling as root: echo 'hello?' 00:42:44.705896206: call returned: [0, "hello?\n", ""] 00:42:45.436665811: calling as root: nmcli device show eth0 00:42:45.456697601: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:42:45.792986301: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:C5:16:F3\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:42:45.801877462: calling as root: date -s '@1523721469' 00:42:45.964455730: call returned: [0, "Sat Apr 14 15:57:49 UTC 2018\n", ""] Checkpoint: I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen Given I have started Tails without network from a USB drive without a persistent partition and logged in 00:42:45.999437915: calling as amnesia: xdotool key Super 00:42:46.165732932: call returned: [0, "", ""] 00:42:48.047061670: [log] TYPE "Configure persistent volume" 00:42:54.543615693: [log] ( Ctrl ) TYPE "#ENTER." 00:42:54.955214884: [log] TYPE "asdf#TAB.asdf#ENTER." 00:43:07.152901741: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 00:43:07.163605046: [log] TYPE "#TAB." 00:43:07.956301193: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 00:43:08.121423097: [log] TYPE "#TAB. " 00:43:08.287695862: [log] TYPE "#TAB. " [log] TYPE "#TAB. " [log] TYPE "#TAB. " 00:43:08.373270482: [log] TYPE "#TAB. " 00:43:08.537961655: [log] TYPE "#TAB. " [log] TYPE "#TAB. " 00:43:08.704460090: [log] TYPE "#TAB. " [log] TYPE "#TAB. " 00:43:08.869310854: [log] TYPE "#TAB. " [log] TYPE "#TAB. " 00:43:09.078498818: [log] TYPE "#TAB. " 00:43:09.803487965: [log] CLICK on L(878,708)@S(0)[0,0 1024x768] 00:43:10.318412211: [log] ( Alt ) TYPE "#F4." And I create a persistent partition 00:43:10.332105319: calling as root: udisksctl info --block-device '/dev/sda2' 00:43:10.838749866: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda2:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda2\n DeviceNumber: 2050\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: by-uuid-349f7782-5294-47bb-8282-afd50759545d\n IdLabel: \n IdType: crypto_LUKS\n IdUUID: 349f7782-5294-47bb-8282-afd50759545d\n IdUsage: crypto\n IdVersion: 1\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda2\n ReadOnly: false\n Size: 3251617280\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part2\n /dev/disk/by-partlabel/TailsData\n /dev/disk/by-partuuid/660e475e-14dc-4d30-94f2-79eb6f1253e0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part2\n /dev/disk/by-uuid/349f7782-5294-47bb-8282-afd50759545d\n org.freedesktop.UDisks2.Encrypted:\n org.freedesktop.UDisks2.Partition:\n Flags: 0\n IsContained: false\n IsContainer: false\n Name: TailsData\n Number: 2\n Offset: 4298113024\n Size: 3251617280\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: 0fc63daf-8483-4772-8e79-3d69d8477de4\n UUID: 660e475e-14dc-4d30-94f2-79eb6f1253e0\n", ""] 00:43:10.838918173: calling as root: ls -1 --hide 'control' /dev/mapper/ 00:43:10.994311653: call returned: [0, "luks-349f7782-5294-47bb-8282-afd50759545d\n", ""] 00:43:10.994429307: calling as root: cryptsetup status 'luks-349f7782-5294-47bb-8282-afd50759545d' 00:43:11.222681268: call returned: [0, "/dev/mapper/luks-349f7782-5294-47bb-8282-afd50759545d is active and is in use.\n type: LUKS1\n cipher: aes-xts-plain64\n keysize: 256 bits\n device: /dev/sda2\n offset: 4096 sectors\n size: 6346719 sectors\n mode: read/write\n", ""] 00:43:11.222817733: calling as root: udisksctl info --block-device '/dev/mapper/luks-349f7782-5294-47bb-8282-afd50759545d' 00:43:11.476682320: call returned: [0, "/org/freedesktop/UDisks2/block_devices/dm_2d0:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sda2'\n Device: /dev/dm-0\n DeviceNumber: 65024\n Drive: '/'\n HintAuto: false\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: false\n HintSymbolicIconName: \n HintSystem: true\n Id: by-id-dm-name-luks-349f7782-5294-47bb-8282-afd50759545d\n IdLabel: TailsData\n IdType: ext4\n IdUUID: c316b000-5746-4011-b7e1-0fbd03494b2f\n IdUsage: filesystem\n IdVersion: 1.0\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/mapper/luks-349f7782-5294-47bb-8282-afd50759545d\n ReadOnly: false\n Size: 3249520128\n Symlinks: /dev/disk/by-id/dm-name-luks-349f7782-5294-47bb-8282-afd50759545d\n /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-349f7782529447bb8282afd50759545d-luks-349f7782-5294-47bb-8282-afd50759545d\n /dev/disk/by-label/TailsData\n /dev/disk/by-uuid/c316b000-5746-4011-b7e1-0fbd03494b2f\n /dev/mapper/luks-349f7782-5294-47bb-8282-afd50759545d\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: /media/tails-persistence-setup/TailsData\n", ""] 00:43:11.476887502: calling as root: mkdir -p /mnt/__internal 00:43:11.648715633: call returned: [0, "", ""] 00:43:11.648825585: calling as root: mount '/dev/mapper/luks-349f7782-5294-47bb-8282-afd50759545d' /mnt/__internal 00:43:11.890902832: call returned: [0, "", ""] 00:43:11.891060302: calling as root: umount /mnt/__internal 00:43:12.123056543: call returned: [0, "", ""] 00:43:12.123218784: calling as root: sync 00:43:12.334891102: call returned: [0, "", ""] 00:43:12.335004177: calling as root: cryptsetup luksClose __internal 00:43:12.516976050: call returned: [4, "", "Device __internal is not active.\n"] And a Tails persistence partition exists on USB drive "__internal" 00:43:12.517113649: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off 00:43:21.133797588: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:43:23.794702543: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:44:06.860231869: calling as root: echo 'hello?' 00:44:07.043335500: call returned: [0, "hello?\n", ""] 00:44:07.043682075: calling as root: service tor status 00:44:07.255942165: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:44:07.256221634: opening file /etc/tor/torrc in 'append' mode 00:44:07.462858559: append complete And I start Tails from USB drive "__internal" with network unplugged 00:44:07.463131665: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:44:07.576269382: call returned: [0, "8:1\n", ""] 00:44:07.576414611: calling as root: readlink -f /dev/block/'8:1' 00:44:07.696897338: call returned: [0, "/dev/sda1\n", ""] 00:44:07.697010313: calling as root: ls -1 /dev/sda* 00:44:07.804805979: call returned: [0, "/dev/sda\n/dev/sda1\n/dev/sda2\n", ""] 00:44:07.804993638: calling as root: cut -d':' -f1 /etc/passwd 00:44:07.949078123: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 00:44:07.949249488: calling as root: groups root 00:44:08.124118387: call returned: [0, "root : root\n", ""] 00:44:08.124239338: calling as root: groups daemon 00:44:08.230067165: call returned: [0, "daemon : daemon\n", ""] 00:44:08.230232614: calling as root: groups bin 00:44:08.336264380: call returned: [0, "bin : bin\n", ""] 00:44:08.336422873: calling as root: groups sys 00:44:08.460705204: call returned: [0, "sys : sys\n", ""] 00:44:08.460837537: calling as root: groups sync 00:44:08.577603553: call returned: [0, "sync : nogroup\n", ""] 00:44:08.577810800: calling as root: groups games 00:44:08.693893926: call returned: [0, "games : games\n", ""] 00:44:08.694068681: calling as root: groups man 00:44:08.803755590: call returned: [0, "man : man\n", ""] 00:44:08.803872878: calling as root: groups lp 00:44:08.911277188: call returned: [0, "lp : lp\n", ""] 00:44:08.911427499: calling as root: groups mail 00:44:09.025290168: call returned: [0, "mail : mail\n", ""] 00:44:09.025403488: calling as root: groups news 00:44:09.137539378: call returned: [0, "news : news\n", ""] 00:44:09.137681274: calling as root: groups uucp 00:44:09.237758238: call returned: [0, "uucp : uucp\n", ""] 00:44:09.237871092: calling as root: groups proxy 00:44:09.339270323: call returned: [0, "proxy : proxy\n", ""] 00:44:09.339395526: calling as root: groups www-data 00:44:09.450612590: call returned: [0, "www-data : www-data\n", ""] 00:44:09.450743115: calling as root: groups backup 00:44:09.565556704: call returned: [0, "backup : backup\n", ""] 00:44:09.565699920: calling as root: groups list 00:44:09.694784006: call returned: [0, "list : list\n", ""] 00:44:09.694900541: calling as root: groups irc 00:44:09.814319255: call returned: [0, "irc : irc\n", ""] 00:44:09.814462336: calling as root: groups gnats 00:44:09.920299940: call returned: [0, "gnats : gnats\n", ""] 00:44:09.920414480: calling as root: groups nobody 00:44:10.052113291: call returned: [0, "nobody : nogroup\n", ""] 00:44:10.052272506: calling as root: groups systemd-timesync 00:44:10.172984805: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 00:44:10.173100210: calling as root: groups systemd-network 00:44:10.293448901: call returned: [0, "systemd-network : systemd-network\n", ""] 00:44:10.293573946: calling as root: groups systemd-resolve 00:44:10.406316730: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 00:44:10.406450571: calling as root: groups _apt 00:44:10.535460053: call returned: [0, "_apt : nogroup\n", ""] 00:44:10.535591010: calling as root: groups messagebus 00:44:10.657485265: call returned: [0, "messagebus : messagebus\n", ""] 00:44:10.657631862: calling as root: groups memlockd 00:44:10.778723894: call returned: [0, "memlockd : memlockd\n", ""] 00:44:10.778858054: calling as root: groups monkeysphere 00:44:10.897214371: call returned: [0, "monkeysphere : monkeysphere\n", ""] 00:44:10.897323975: calling as root: groups debian-tor 00:44:11.017169042: call returned: [0, "debian-tor : debian-tor\n", ""] 00:44:11.017310629: calling as root: groups speech-dispatcher 00:44:11.122621096: call returned: [0, "speech-dispatcher : audio\n", ""] 00:44:11.122794605: calling as root: groups colord 00:44:11.218123362: call returned: [0, "colord : colord\n", ""] 00:44:11.218228415: calling as root: groups saned 00:44:11.328543437: call returned: [0, "saned : saned scanner\n", ""] 00:44:11.328663311: calling as root: groups pulse 00:44:11.450048190: call returned: [0, "pulse : pulse audio\n", ""] 00:44:11.450226190: calling as root: groups hplip 00:44:11.575283939: call returned: [0, "hplip : lp\n", ""] 00:44:11.575402626: calling as root: groups Debian-gdm 00:44:11.694159123: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 00:44:11.694271136: calling as root: groups tails-persistence-setup 00:44:11.817493911: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 00:44:11.817610663: calling as root: groups clearnet 00:44:11.934316810: call returned: [0, "clearnet : clearnet\n", ""] 00:44:11.934448423: calling as root: groups htp 00:44:12.044649010: call returned: [0, "htp : htp\n", ""] 00:44:12.044834991: calling as root: groups tails-iuk-get-target-file 00:44:12.147293859: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 00:44:12.147436327: calling as root: groups tails-upgrade-frontend 00:44:12.267764548: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 00:44:12.267941067: calling as root: groups tor-launcher 00:44:12.394228812: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 00:44:12.394362115: calling as root: groups tails-install-iuk 00:44:12.519598756: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 00:44:12.519713006: calling as root: groups amnesia 00:44:12.648743335: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 00:44:12.648899130: calling as root: stat -c %U /dev/sda 00:44:12.758710965: call returned: [0, "root\n", ""] 00:44:12.758836615: calling as root: stat -c %G /dev/sda 00:44:12.866107746: call returned: [0, "disk\n", ""] 00:44:12.866213940: calling as root: stat -c %a /dev/sda 00:44:12.961880751: call returned: [0, "660\n", ""] 00:44:12.962239891: calling as root: stat -c %U /dev/sda1 00:44:13.077204177: call returned: [0, "root\n", ""] 00:44:13.077309294: calling as root: stat -c %G /dev/sda1 00:44:13.194083165: call returned: [0, "disk\n", ""] 00:44:13.194226267: calling as root: stat -c %a /dev/sda1 00:44:13.293963561: call returned: [0, "660\n", ""] 00:44:13.294259781: calling as root: stat -c %U /dev/sda2 00:44:13.414054879: call returned: [0, "root\n", ""] 00:44:13.414146733: calling as root: stat -c %G /dev/sda2 00:44:13.537804852: call returned: [0, "disk\n", ""] 00:44:13.537932450: calling as root: stat -c %a /dev/sda2 00:44:13.642715853: call returned: [0, "660\n", ""] 00:44:13.643126684: calling as root: udisksctl info --block-device '/dev/sda' 00:44:13.944232106: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights 00:44:13.944461449: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:44:14.058085525: call returned: [0, "8:1\n", ""] 00:44:14.058222765: calling as root: readlink -f /dev/block/'8:1' 00:44:14.184151924: call returned: [0, "/dev/sda1\n", ""] 00:44:14.184283322: calling as root: udevadm info --query=property --name='/dev/sda1' 00:44:14.380906015: call returned: [0, "DEVLINKS=/dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-label/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5656420\n", ""] 00:44:14.381102125: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:44:14.499645277: call returned: [0, "8:1\n", ""] 00:44:14.499757913: calling as root: readlink -f /dev/block/'8:1' 00:44:14.609821708: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "__internal" 00:44:14.641091542: calling as root: pidof -x -o '%PPID' udev-watchdog 00:44:14.766601702: call returned: [0, "1236\n", ""] And process "udev-watchdog" is running 00:44:14.766744997: calling as root: ps -wweo cmd 00:44:15.110426957: call returned: [0, "CMD\n/sbin/init config nopersistence noprompt splash noautologin autotest_never_use_this_option\n[kthreadd]\n[kworker/0:0]\n[kworker/0:0H]\n[kworker/u4:0]\n[mm_percpu_wq]\n[ksoftirqd/0]\n[rcu_sched]\n[rcu_bh]\n[migration/0]\n[watchdog/0]\n[cpuhp/0]\n[cpuhp/1]\n[watchdog/1]\n[migration/1]\n[ksoftirqd/1]\n[kworker/1:0]\n[kworker/1:0H]\n[kdevtmpfs]\n[netns]\n[kauditd]\n[kworker/0:1]\n[khungtaskd]\n[oom_reaper]\n[writeback]\n[kcompactd0]\n[ksmd]\n[khugepaged]\n[crypto]\n[kintegrityd]\n[kblockd]\n[edac-poller]\n[devfreq_wq]\n[watchdogd]\n[kworker/1:1]\n[kswapd0]\n[kthrotld]\n[ipv6_addrconf]\n[kworker/u4:1]\n[ata_sff]\n[scsi_eh_0]\n[scsi_tmf_0]\n[scsi_eh_1]\n[scsi_tmf_1]\n[scsi_eh_2]\n[scsi_tmf_2]\n[scsi_eh_3]\n[scsi_tmf_3]\n[scsi_eh_4]\n[scsi_tmf_4]\n[scsi_eh_5]\n[scsi_tmf_5]\n[kworker/u4:2]\n[ttm_swap]\n[kworker/u4:3]\n[kworker/u4:4]\n[kworker/u4:5]\n[kworker/u4:6]\n[kworker/u4:7]\n[kworker/1:2]\n[kworker/1:3]\n[scsi_eh_6]\n[scsi_tmf_6]\n[usb-storage]\n[kworker/0:1H]\n[kworker/1:1H]\n[loop0]\n/lib/systemd/systemd-journald\n/sbin/lvmetad -f\n[kworker/0:2]\n[kworker/0:3]\ngpg-agent --homedir /home/amnesia/.gnupg --use-standard-socket --daemon\ngpg-agent --homedir /usr/share/tails-iuk/trusted_gnupg_homedir --use-standard-socket --daemon\n/usr/sbin/haveged --Foreground --verbose=1 -w 2048\ngpg-agent --homedir /root/.gnupg --use-standard-socket --daemon\n/lib/systemd/systemd-udevd\n/usr/bin/python3 -u /usr/local/lib/onion-grater\n/lib/systemd/systemd-logind\n/usr/sbin/cron -f\n/usr/sbin/memlockd -f -u memlockd\n/usr/lib/accountsservice/accounts-daemon\n/bin/sh /usr/local/lib/udev-watchdog-wrapper\n/usr/sbin/ModemManager\n/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n/usr/bin/python3 /usr/local/lib/tails-autotest-remote-shell\n/bin/sh -c . /usr/local/lib/tails-shell-library/tor.sh ; while ! tor_is_working ; do /bin/sleep 1 ; done\n/usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1 disk\n[kworker/0:4]\n/usr/lib/policykit-1/polkitd --no-debug\n/usr/sbin/spice-vdagentd\n/usr/sbin/gdm3\ngdm-session-worker [pam/gdm-launch-environment]\n/lib/systemd/systemd --user\n(sd-pam)\n/bin/sh /usr/lib/gdm3/gdm-x-session gnome-session --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/gdm3/gdm-x-session.real gnome-session --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/113/gdm/Xauthority -background none -noreset -keeptty -verbose 3\n[cfg80211]\n/usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation\n/usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart\n/usr/lib/at-spi2-core/at-spi-bus-launcher\n/usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3\n/usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session\n/usr/bin/gnome-shell --mode=gdm-tails\n/usr/lib/upower/upowerd\n/usr/bin/pulseaudio --daemonize=no\nibus-daemon --xim --panel disable\n/usr/lib/gnome-settings-daemon/gnome-settings-daemon\n/usr/bin/spice-vdagent\n/usr/lib/ibus/ibus-dconf\n/usr/lib/ibus/ibus-x11 --kill-daemon\n/bin/bash /usr/bin/tails-greeter\n/usr/lib/colord/colord\n/lib/systemd/systemd-hostnamed\n/lib/systemd/systemd-localed\n/usr/bin/python3 ./tails-greeter.py\n/usr/lib/ibus/ibus-engine-simple\n/usr/lib/dconf/dconf-service\n/usr/lib/udisks2/udisksd --no-debug\n/bin/sleep 1\n/bin/sh -c ps -wweo cmd\nps -wweo cmd\n", ""] 00:44:15.110655936: opening file /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1/dev in 'read' mode 00:44:15.132021743: read complete 00:44:15.132109052: calling as root: readlink -f /dev/block/'8:1' 00:44:15.252589502: call returned: [0, "/dev/sda1\n", ""] 00:44:15.252748236: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:44:15.389112415: call returned: [0, "8:1\n", ""] 00:44:15.389210322: calling as root: readlink -f /dev/block/'8:1' 00:44:15.525052887: call returned: [0, "/dev/sda1\n", ""] And udev-watchdog is monitoring the correct device 00:44:20.540158319: calling as root: echo 'hello?' 00:44:20.677023003: call returned: [0, "hello?\n", ""] 00:44:21.399988520: calling as root: nmcli device show eth0 00:44:21.408237669: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:44:21.581304704: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:44:21.589264772: calling as root: date -s '@1523721565' 00:44:21.705449463: call returned: [0, "Sat Apr 14 15:59:25 UTC 2018\n", ""] Checkpoint: I have started Tails without network from a USB drive with a persistent partition enabled and logged in Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen 00:44:27.442083804: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." And I enable persistence 00:44:28.259083600: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 00:44:28.259335969: calling as root: loginctl 00:44:28.406609856: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:44:29.406943782: calling as root: loginctl 00:44:29.653974130: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 72 1000 amnesia seat0 tty2 \n c72 0 root n/a \n\n3 sessions listed.\n", "Failed to get session path: No such device or address\n"] 00:44:37.132602914: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:44:37.215708985: call returned: [0, "", ""] 00:44:37.215821586: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:44:37.298630630: call returned: [0, "", ""] And I log in to a new session 00:44:37.299392502: calling as root: test -e '/var/lib/live/config/tails.persistence' 00:44:37.459764411: call returned: [0, "", ""] 00:44:37.459886885: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 00:44:37.719408669: call returned: [0, "", ""] 00:44:37.719576240: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 00:44:39.056458211: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 00:44:39.056664277: calling as root: mount 00:44:39.448224497: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=323d2154b949a9f2,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11046)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] And all persistence presets are enabled 00:44:39.448846528: calling as root: ls -1 -d /live/persistence/*_unlocked/ 00:44:39.838704091: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 00:44:39.838845109: calling as root: stat -c %U /live/persistence/TailsData_unlocked/ 00:44:40.023820026: call returned: [0, "root\n", ""] 00:44:40.023920599: calling as root: stat -c %G /live/persistence/TailsData_unlocked/ 00:44:40.312340490: call returned: [0, "root\n", ""] 00:44:40.312438631: calling as root: stat -c %a /live/persistence/TailsData_unlocked/ 00:44:40.503638268: call returned: [0, "775\n", ""] And all persistent filesystems have safe access rights 00:44:40.504272701: calling as root: ls -1 -d /live/persistence/*_unlocked/ 00:44:40.697466557: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 00:44:40.697588626: calling as root: test -e /live/persistence/TailsData_unlocked//persistence.conf 00:44:40.826139780: call returned: [0, "", ""] 00:44:40.826259199: calling as root: test ! -e /live/persistence/TailsData_unlocked//live-persistence.conf 00:44:41.068821418: call returned: [0, "", ""] 00:44:41.068966195: calling as root: ls -1 /live/persistence/TailsData_unlocked//persistence.conf /live/persistence/TailsData_unlocked//live-*.conf 00:44:41.314996073: call returned: [0, "/live/persistence/TailsData_unlocked//live-additional-software.conf\n/live/persistence/TailsData_unlocked//persistence.conf\n", ""] 00:44:41.315115090: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//live-additional-software.conf' 00:44:41.532317457: call returned: [0, "tails-persistence-setup\n", ""] 00:44:41.532419768: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//live-additional-software.conf' 00:44:41.762533836: call returned: [0, "tails-persistence-setup\n", ""] 00:44:41.762649407: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//live-additional-software.conf' 00:44:41.970064666: call returned: [0, "600\n", ""] 00:44:41.970205677: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//persistence.conf' 00:44:42.208957813: call returned: [0, "tails-persistence-setup\n", ""] 00:44:42.209053813: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//persistence.conf' 00:44:42.440356953: call returned: [0, "tails-persistence-setup\n", ""] 00:44:42.440461789: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//persistence.conf' 00:44:42.650054318: call returned: [0, "600\n", ""] And all persistence configuration files have safe access rights 00:44:42.650655027: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 00:44:43.523936870: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 00:44:43.524151278: calling as root: ls -1 -d /live/persistence/*_unlocked/ 00:44:43.690270441: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 00:44:43.690374763: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 00:44:43.899003661: call returned: [0, "", ""] 00:44:43.899192735: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 00:44:44.126759704: call returned: [0, "700\n", ""] 00:44:44.126894437: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 00:44:44.340919142: call returned: [0, "amnesia\n", ""] 00:44:44.341057613: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 00:44:44.569892129: call returned: [0, "", ""] 00:44:44.570004260: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 00:44:44.785758094: call returned: [0, "700\n", ""] 00:44:44.785875785: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 00:44:44.997813435: call returned: [0, "amnesia\n", ""] 00:44:44.997998141: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 00:44:45.192712841: call returned: [0, "", ""] 00:44:45.192902306: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 00:44:45.364176883: call returned: [0, "700\n", ""] 00:44:45.364291530: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 00:44:45.595904043: call returned: [0, "amnesia\n", ""] 00:44:45.596058976: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 00:44:45.787169150: call returned: [0, "", ""] 00:44:45.787297847: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 00:44:46.018303725: call returned: [0, "700\n", ""] 00:44:46.018455915: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 00:44:46.233397041: call returned: [0, "amnesia\n", ""] 00:44:46.233552620: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 00:44:46.418142418: call returned: [0, "", ""] 00:44:46.418261487: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 00:44:46.659268526: call returned: [0, "700\n", ""] 00:44:46.659389514: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 00:44:46.890636466: call returned: [0, "amnesia\n", ""] 00:44:46.890803937: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 00:44:47.094036341: call returned: [0, "", ""] 00:44:47.094152917: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 00:44:47.328862027: call returned: [0, "700\n", ""] 00:44:47.328993547: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 00:44:47.520129594: call returned: [0, "amnesia\n", ""] 00:44:47.520265377: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 00:44:47.750201016: call returned: [0, "", ""] 00:44:47.750332842: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 00:44:47.925662857: call returned: [0, "755\n", ""] 00:44:47.925815840: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 00:44:48.142662755: call returned: [0, "root\n", ""] 00:44:48.142865071: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 00:44:48.342520245: call returned: [0, "", ""] 00:44:48.342668332: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 00:44:48.559721628: call returned: [0, "700\n", ""] 00:44:48.559887105: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 00:44:48.766576443: call returned: [0, "amnesia\n", ""] 00:44:48.766712188: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 00:44:48.958342851: call returned: [0, "", ""] 00:44:48.958454688: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 00:44:49.186786216: call returned: [0, "755\n", ""] 00:44:49.186931345: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 00:44:49.437436064: call returned: [0, "root\n", ""] 00:44:49.437596003: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 00:44:49.617068462: call returned: [0, "", ""] 00:44:49.617220067: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 00:44:49.848632050: call returned: [0, "700\n", ""] 00:44:49.848770869: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 00:44:50.097343736: call returned: [0, "amnesia\n", ""] 00:44:50.097490301: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 00:44:50.314831820: call returned: [0, "", ""] 00:44:50.314975861: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 00:44:50.514363838: call returned: [0, "755\n", ""] 00:44:50.514479822: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 00:44:50.761676296: call returned: [0, "root\n", ""] 00:44:50.761844007: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 00:44:51.013318361: call returned: [0, "", ""] 00:44:51.013435126: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 00:44:51.226981320: call returned: [0, "755\n", ""] 00:44:51.227110569: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 00:44:51.420434477: call returned: [0, "root\n", ""] 00:44:51.420604030: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 00:44:51.663449451: call returned: [0, "", ""] 00:44:51.663581000: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 00:44:51.874455651: call returned: [0, "700\n", ""] 00:44:51.874568869: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 00:44:52.109784635: call returned: [0, "amnesia\n", ""] And all persistent directories have safe access rights Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 00:44:57.046662827: calling as root: free -m | awk '/^Mem:/ { print $2 }' 00:44:57.320997788: call returned: [0, "1997\n", ""] 00:44:57.321239566: calling as root: echo 3 > /proc/sys/vm/drop_caches 00:44:57.923079629: call returned: [0, "", ""] 00:44:57.923234605: calling as root: touch /run/initramfs/tails_shutdown_debugging 00:44:59.064026304: call returned: [0, "", ""] 00:44:59.064168986: calling as root: sysctl vm.oom_kill_allocating_task=0 00:44:59.291456334: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 00:44:59.291578285: calling as root: sysctl vm.oom_dump_tasks=0 00:44:59.453923427: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 00:44:59.454047238: calling as root: sysctl vm.overcommit_memory=0 00:44:59.655736931: call returned: [0, "vm.overcommit_memory = 0\n", ""] 00:44:59.655872280: calling as root: sysctl vm.min_free_kbytes=65536 00:44:59.888080434: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 00:44:59.888214466: calling as root: sysctl vm.admin_reserve_kbytes=131072 00:45:00.124333610: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 00:45:00.124450713: calling as root: free -m | awk '/^Mem:/ { print $3 }' 00:45:00.450330736: call returned: [0, "580\n", ""] 00:45:00.450474325: calling as root: systemctl status initramfs-shutdown.service 00:45:00.774995047: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:59:08 UTC; 51s ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1230 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:58:59 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:59:08 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 00:45:00.775127679: calling as root: systemctl status memlockd.service 00:45:01.017059547: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:58:58 UTC; 1min 0s ago\n Main PID: 1181 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1181 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/rm\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/sh\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/sleep\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/systemctl\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/bin/eject\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/bin/pkill\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 00:45:01.017167118: calling as root: systemctl status tails-shutdown-on-media-removal.service 00:45:01.258667882: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:58:58 UTC; 1min 0s ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1185 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1185 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1236 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1 disk\n\nApr 14 15:58:58 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 00:45:01.259896614: calling as root: for i in $(seq 1 8388608) ; do echo wipe_didnt_work >> '/home/amnesia/Persistent/RscEIAfKru' ; done 00:46:49.415232750: call returned: [0, "", ""] When I fill a 128 MiB file with a known pattern on the persistent filesystem # features/step_definitions/erase_memory.rb:229 00:46:49.415988940: spawning as root: halt When I trigger shutdown # features/step_definitions/erase_memory.rb:250 And I wait 20 seconds # features/step_definitions/common_steps.rb:843 Slept for 20 seconds Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1225 MiB reference memory) @product Feature: Installing Tails to a USB drive As a Tails user I want to install Tails to a suitable USB drive Scenario: Try installing Tails to a too small USB drive without partition table # features/usb_install.feature:6 00:47:22.856082772: calling as root: echo 'hello?' 00:47:23.172090903: call returned: [0, "hello?\n", ""] 00:47:23.907628588: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:47:23.907782324: calling as root: nmcli device show eth0 00:47:24.151572494: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:47:24.161321009: calling as root: date -s '@1523721748' 00:47:24.333864687: call returned: [0, "Sat Apr 14 16:02:28 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 4500 MiB disk named "too-small-device" # features/step_definitions/common_steps.rb:59 00:47:24.369774854: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:47:24.549058683: call returned: [1, "", ""] 00:47:24.585548921: calling as amnesia: xdotool key Super 00:47:24.745603228: call returned: [0, "", ""] 00:47:25.960144726: [log] TYPE "commandline" 00:47:26.022392075: [log] ( Ctrl ) TYPE "#ENTER." 00:47:30.620722753: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:47:30.620924711: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node143 = dogtail.tree.root.application('tails-installer') 00:47:32.357288784: execution complete 00:47:32.357460436: executing Python as amnesia: node144 = node143.child('Tails Installer', roleName='frame') 00:47:32.401178320: execution complete 00:47:35.401524957: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:47:35.565139647: call returned: [0, "", ""] And I start Tails Installer # features/step_definitions/usb.rb:93 00:47:35.566301236: executing Python as amnesia: node145 = node143.child('No device suitable to install Tails could be found', roleName='label') 00:47:35.609291499: execution complete But a suitable USB device is not found # features/step_definitions/usb.rb:113 00:47:35.610567459: executing Python as amnesia: node146 = node143.child('Target USB stick:', roleName='label') 00:47:35.664877407: execution complete 00:47:35.665028038: executing Python as amnesia: node147 = node146.parent 00:47:35.682765849: execution complete 00:47:35.682910244: executing Python as amnesia: node148 = node147.child('', roleName='combo box', recursive=False) 00:47:35.705341555: execution complete 00:47:35.705439019: executing Python as amnesia: print(node148.name) 00:47:35.723962016: execution complete And no USB drive is selected # features/step_definitions/usb.rb:119 00:47:35.766052543: calling as root: test -b /dev/sda 00:47:35.906072237: call returned: [1, "", ""] 00:47:36.917426799: calling as root: test -b /dev/sda 00:47:37.051959922: call returned: [1, "", ""] 00:47:38.064526237: calling as root: test -b /dev/sda 00:47:38.205141450: call returned: [0, "", ""] When I plug USB drive "too-small-device" # features/step_definitions/common_steps.rb:65 00:47:38.206454457: executing Python as amnesia: node149 = node143.child('', roleName='text') 00:47:38.284948532: execution complete 00:47:38.285062072: executing Python as amnesia: print(node149.text) 00:47:38.313230411: execution complete Then I am told by Tails Installer that the destination device "is too small" # features/step_definitions/usb.rb:107 00:47:38.315276714: executing Python as amnesia: node150 = node143.child('Target USB stick:', roleName='label') 00:47:38.366119657: execution complete 00:47:38.366243033: executing Python as amnesia: node151 = node150.parent 00:47:38.396066736: execution complete 00:47:38.396184913: executing Python as amnesia: node152 = node151.child('', roleName='combo box', recursive=False) 00:47:38.419857096: execution complete 00:47:38.419942314: executing Python as amnesia: print(node152.name) 00:47:38.438460446: execution complete And no USB drive is selected # features/step_definitions/usb.rb:119 When I unplug USB drive "too-small-device" # features/step_definitions/usb.rb:66 And I temporarily create a 7200 MiB disk named "big-enough" # features/step_definitions/common_steps.rb:59 00:47:38.540769078: calling as root: test -b /dev/sda 00:47:38.740632456: call returned: [1, "", ""] 00:47:39.751642545: calling as root: test -b /dev/sda 00:47:39.893368185: call returned: [1, "", ""] 00:47:40.904904518: calling as root: test -b /dev/sda 00:47:41.051999317: call returned: [0, "", ""] And I plug USB drive "big-enough" # features/step_definitions/common_steps.rb:65 00:47:41.071566003: executing Python as amnesia: node153 = node143.child('Target USB stick:', roleName='label') 00:47:41.131024362: execution complete 00:47:41.131131945: executing Python as amnesia: node154 = node153.parent 00:47:41.152069422: execution complete 00:47:41.152175535: executing Python as amnesia: node155 = node154.child('', roleName='combo box', recursive=False) 00:47:41.181551462: execution complete 00:47:41.181672271: executing Python as amnesia: print(node155.name) 00:47:41.207123060: execution complete Then the "big-enough" USB drive is selected # features/step_definitions/usb.rb:119 Scenario: Try installing Tails to a too small USB drive with GPT and a FAT partition # features/usb_install.feature:20 00:47:42.867849521: calling as root: echo 'hello?' 00:47:43.112480044: call returned: [0, "hello?\n", ""] 00:47:43.836112751: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:47:43.836343252: calling as root: nmcli device show eth0 00:47:44.127393727: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:47:44.136791886: calling as root: date -s '@1523721768' 00:47:44.296290383: call returned: [0, "Sat Apr 14 16:02:48 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 4 GiB disk named "gptfat" # features/step_definitions/common_steps.rb:59 00:47:44.341911470: libguestfs: trace: set_autosync true 00:47:44.341991245: libguestfs: trace: set_autosync = 0 00:47:44.345653495: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/gptfat" "format:qcow2" 00:47:44.345798808: libguestfs: trace: add_drive = 0 00:47:44.345835384: libguestfs: trace: launch 00:47:44.345863549: libguestfs: trace: get_tmpdir 00:47:44.345976395: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:47:44.346050276: libguestfs: trace: get_backend_setting "force_tcg" 00:47:44.346085192: libguestfs: trace: get_backend_setting = NULL (error) 00:47:44.346413545: libguestfs: trace: get_cachedir 00:47:44.346519575: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:47:44.390526337: libguestfs: trace: get_cachedir 00:47:44.390618852: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:47:44.390724317: libguestfs: trace: get_sockdir 00:47:44.391035376: libguestfs: trace: get_sockdir = "/tmp" 00:47:44.391128364: libguestfs: trace: get_backend_setting "gdb" 00:47:44.391172576: libguestfs: trace: get_backend_setting = NULL (error) 00:47:47.577437139: libguestfs: trace: launch = 0 00:47:47.578037906: libguestfs: trace: list_devices 00:47:47.578818677: libguestfs: trace: list_devices = ["/dev/sda"] 00:47:47.578901548: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:47:47.653674125: libguestfs: trace: part_disk = 0 00:47:47.654391907: libguestfs: trace: list_partitions 00:47:47.655120842: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:47:47.655192818: libguestfs: trace: mkfs "vfat" "/dev/sda1" 00:47:47.712053922: libguestfs: trace: mkfs = 0 00:47:47.712509083: libguestfs: trace: close 00:47:47.712976761: libguestfs: trace: internal_autosync 00:47:47.740620941: libguestfs: trace: internal_autosync = 0 And I create a gpt partition with a vfat filesystem on disk "gptfat" # features/step_definitions/untrusted_partitions.rb:23 00:47:47.863516969: calling as root: test -b /dev/sda 00:47:48.005104330: call returned: [1, "", ""] 00:47:49.017607980: calling as root: test -b /dev/sda 00:47:49.170941601: call returned: [1, "", ""] 00:47:50.182232641: calling as root: test -b /dev/sda 00:47:50.297516486: call returned: [0, "", ""] And I plug USB drive "gptfat" # features/step_definitions/common_steps.rb:65 00:47:50.298418222: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:47:50.459298877: call returned: [1, "", ""] 00:47:50.498778912: calling as amnesia: xdotool key Super 00:47:50.677877936: call returned: [0, "", ""] 00:47:51.892155751: [log] TYPE "commandline" 00:47:54.062523197: [log] ( Ctrl ) TYPE "#ENTER." 00:47:56.887803960: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:47:56.887963255: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node156 = dogtail.tree.root.application('tails-installer') 00:47:58.509780451: execution complete 00:47:58.509960835: executing Python as amnesia: node157 = node156.child('Tails Installer', roleName='frame') 00:47:58.572391309: execution complete 00:48:01.572629045: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:48:01.729555067: call returned: [0, "", ""] When I start Tails Installer # features/step_definitions/usb.rb:93 00:48:01.730331020: executing Python as amnesia: node158 = node156.child('', roleName='text') 00:48:01.777131273: execution complete 00:48:01.777231818: executing Python as amnesia: print(node158.text) 00:48:01.800480227: execution complete Then I am told by Tails Installer that the destination device "is too small" # features/step_definitions/usb.rb:107 Scenario: Detecting when a target USB drive is inserted or removed # features/usb_install.feature:28 00:48:03.459851197: calling as root: echo 'hello?' 00:48:03.747154077: call returned: [0, "hello?\n", ""] 00:48:04.475588634: calling as root: nmcli device show eth0 00:48:04.489795368: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:48:04.719101414: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:48:04.729816815: calling as root: date -s '@1523721788' 00:48:04.884259489: call returned: [0, "Sat Apr 14 16:03:08 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 7200 MiB disk named "temp" # features/step_definitions/common_steps.rb:59 00:48:04.914728792: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:48:05.071275648: call returned: [1, "", ""] 00:48:05.109365438: calling as amnesia: xdotool key Super 00:48:05.269325441: call returned: [0, "", ""] 00:48:06.479385688: [log] TYPE "commandline" 00:48:06.542312390: [log] ( Ctrl ) TYPE "#ENTER." 00:48:11.123583159: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:48:11.123732992: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node159 = dogtail.tree.root.application('tails-installer') 00:48:12.839374111: execution complete 00:48:12.839573722: executing Python as amnesia: node160 = node159.child('Tails Installer', roleName='frame') 00:48:12.865511173: execution complete 00:48:15.865761436: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:48:16.065399042: call returned: [0, "", ""] And I start Tails Installer # features/step_definitions/usb.rb:93 00:48:16.066141248: executing Python as amnesia: node161 = node159.child('No device suitable to install Tails could be found', roleName='label') 00:48:16.102792175: execution complete But a suitable USB device is not found # features/step_definitions/usb.rb:113 00:48:16.145396064: calling as root: test -b /dev/sda 00:48:16.297164447: call returned: [1, "", ""] 00:48:17.307787862: calling as root: test -b /dev/sda 00:48:17.442312650: call returned: [1, "", ""] 00:48:18.453283165: calling as root: test -b /dev/sda 00:48:18.597293235: call returned: [0, "", ""] When I plug USB drive "temp" # features/step_definitions/common_steps.rb:65 00:48:18.611553887: executing Python as amnesia: node162 = node159.child('Target USB stick:', roleName='label') 00:48:18.699339717: execution complete 00:48:18.699459991: executing Python as amnesia: node163 = node162.parent 00:48:18.718970871: execution complete 00:48:18.719095760: executing Python as amnesia: node164 = node163.child('', roleName='combo box', recursive=False) 00:48:18.742441494: execution complete 00:48:18.742528902: executing Python as amnesia: print(node164.name) 00:48:18.764709234: execution complete Then the "temp" USB drive is selected # features/step_definitions/usb.rb:119 When I unplug USB drive "temp" # features/step_definitions/usb.rb:66 00:48:18.781734609: executing Python as amnesia: node165 = node159.child('No device suitable to install Tails could be found', roleName='label') 00:48:18.824490738: execution complete Then a suitable USB device is not found # features/step_definitions/usb.rb:113 Scenario: Installing Tails to a used USB drive # features/usb_install.feature:38 00:48:20.484182651: calling as root: echo 'hello?' 00:48:20.681903824: call returned: [0, "hello?\n", ""] 00:48:21.405335037: calling as root: nmcli device show eth0 00:48:21.429829045: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:48:21.736573193: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:48:21.745888019: calling as root: date -s '@1523721805' 00:48:21.896991432: call returned: [0, "Sat Apr 14 16:03:25 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 7200 MiB disk named "install" # features/step_definitions/common_steps.rb:59 00:48:21.926190233: libguestfs: trace: set_autosync true 00:48:21.926290203: libguestfs: trace: set_autosync = 0 00:48:21.928646627: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/install" "format:qcow2" 00:48:21.928750182: libguestfs: trace: add_drive = 0 00:48:21.928786920: libguestfs: trace: launch 00:48:21.928897901: libguestfs: trace: get_tmpdir 00:48:21.928939185: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:48:21.929011694: libguestfs: trace: get_backend_setting "force_tcg" 00:48:21.929048255: libguestfs: trace: get_backend_setting = NULL (error) 00:48:21.929082821: libguestfs: trace: get_cachedir 00:48:21.929194595: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:48:21.973083222: libguestfs: trace: get_cachedir 00:48:21.973182272: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:48:21.973299013: libguestfs: trace: get_sockdir 00:48:21.973644634: libguestfs: trace: get_sockdir = "/tmp" 00:48:21.973743520: libguestfs: trace: get_backend_setting "gdb" 00:48:21.973787989: libguestfs: trace: get_backend_setting = NULL (error) 00:48:25.171157382: libguestfs: trace: launch = 0 00:48:25.171306707: libguestfs: trace: list_devices 00:48:25.172477220: libguestfs: trace: list_devices = ["/dev/sda"] 00:48:25.172576723: libguestfs: trace: part_disk "/dev/sda" "gpt" 00:48:25.244301845: libguestfs: trace: part_disk = 0 00:48:25.244442865: libguestfs: trace: list_partitions 00:48:25.245496750: libguestfs: trace: list_partitions = ["/dev/sda1"] 00:48:25.245580566: libguestfs: trace: mkfs "vfat" "/dev/sda1" 00:48:25.314645397: libguestfs: trace: mkfs = 0 00:48:25.314790662: libguestfs: trace: close 00:48:25.314870405: libguestfs: trace: internal_autosync 00:48:25.357053966: libguestfs: trace: internal_autosync = 0 And I create a gpt partition with a vfat filesystem on disk "install" # features/step_definitions/untrusted_partitions.rb:23 00:48:25.477430849: calling as root: test -b /dev/sda 00:48:25.625678373: call returned: [1, "", ""] 00:48:26.638266473: calling as root: test -b /dev/sda 00:48:26.778907540: call returned: [1, "", ""] 00:48:27.790230622: calling as root: test -b /dev/sda 00:48:27.954511299: call returned: [0, "", ""] And I plug USB drive "install" # features/step_definitions/common_steps.rb:65 00:48:27.955835685: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:48:28.168843461: call returned: [1, "", ""] 00:48:28.213262489: calling as amnesia: xdotool key Super 00:48:28.416262690: call returned: [0, "", ""] 00:48:29.303296124: [log] TYPE "commandline" 00:48:29.364709354: [log] ( Ctrl ) TYPE "#ENTER." 00:48:33.963272239: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node166 = dogtail.tree.root.application('tails-installer') 00:48:33.963383744: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:48:35.702828107: execution complete 00:48:35.703057730: executing Python as amnesia: node167 = node166.child('Tails Installer', roleName='frame') 00:48:35.726280174: execution complete 00:48:38.726492677: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:48:38.884437839: call returned: [0, "", ""] 00:48:38.895609363: executing Python as amnesia: node168 = node166.child('Target USB stick:', roleName='label') 00:48:38.932652445: execution complete 00:48:38.932876761: executing Python as amnesia: node169 = node168.parent 00:48:38.950574378: execution complete 00:48:38.950739536: executing Python as amnesia: node170 = node169.child('', roleName='combo box', recursive=False) 00:48:38.973621939: execution complete 00:48:38.973725233: executing Python as amnesia: print(node170.name) 00:48:38.994227904: execution complete 00:48:38.994513670: executing Python as amnesia: node171 = node166.button('Install') 00:48:39.028694534: execution complete 00:48:39.028826036: executing Python as amnesia: node171.click() 00:48:40.091339167: execution complete 00:48:40.091463656: executing Python as amnesia: node172 = node166.child('Question', roleName='alert') 00:48:40.139430538: execution complete 00:48:40.139548081: executing Python as amnesia: node173 = node172.button('Yes') 00:48:40.170973582: execution complete 00:48:40.171104945: executing Python as amnesia: node173.click() 00:48:41.198439802: execution complete 00:48:41.198749459: executing Python as amnesia: node174 = node166.child('Information', roleName='alert') 00:48:51.871504668: execution complete 00:48:52.871922555: executing Python as amnesia: node175 = node166.child('Information', roleName='alert') 00:49:03.493127615: execution complete 00:49:04.493368324: executing Python as amnesia: node176 = node166.child('Information', roleName='alert') 00:49:15.397170820: execution complete 00:49:16.397539339: executing Python as amnesia: node177 = node166.child('Information', roleName='alert') 00:49:27.262624393: execution complete 00:49:28.262851986: executing Python as amnesia: node178 = node166.child('Information', roleName='alert') 00:49:38.867336974: execution complete 00:49:39.867707364: executing Python as amnesia: node179 = node166.child('Information', roleName='alert') 00:49:50.695214249: execution complete 00:49:51.695487264: executing Python as amnesia: node180 = node166.child('Information', roleName='alert') 00:50:02.476392058: execution complete 00:50:03.476770986: executing Python as amnesia: node181 = node166.child('Information', roleName='alert') 00:50:06.157663477: execution complete 00:50:06.157797969: executing Python as amnesia: node182 = node181.child('Installation complete!', roleName='label') 00:50:06.225822988: execution complete And I install Tails to USB drive "install" by cloning # features/step_definitions/usb.rb:129 00:50:06.227102648: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:50:06.946250546: call returned: [0, "11:0\n", ""] 00:50:06.946360497: calling as root: readlink -f /dev/block/'11:0' 00:50:07.090605580: call returned: [0, "/dev/sr0\n", ""] 00:50:07.090708166: calling as root: udevadm info --query=property --name='/dev/sr0' 00:50:07.358370843: call returned: [0, "DEVLINKS=/dev/cdrom /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/dvd\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:uaccess:seat:systemd:\nUSEC_INITIALIZED=4338158\n", ""] 00:50:07.369145127: calling as root: udisksctl info --block-device '/dev/sda' 00:50:07.831004198: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 00:50:07.831166047: calling as root: udisksctl info --block-device '/dev/sda1' 00:50:08.107128729: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-69C5-B6E1\n IdLabel: Tails\n IdType: vfat\n IdUUID: 69C5-B6E1\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/9b110395-bb25-4154-9dc0-c379e0b135a4\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/69C5-B6E1\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 9b110395-bb25-4154-9dc0-c379e0b135a4\n", ""] 00:50:08.107391923: calling as root: mkdir -p /mnt/new 00:50:08.251831022: call returned: [0, "", ""] 00:50:08.251932072: calling as root: mount /dev/sda1 /mnt/new 00:50:08.511207021: call returned: [0, "", ""] 00:50:08.511327305: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 00:50:22.165415960: call returned: [0, "", ""] 00:50:22.165539990: calling as root: ls -1 /mnt/new/syslinux 00:50:22.764100441: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 00:50:22.764224636: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 00:50:22.975675054: call returned: [0, "", ""] 00:50:22.975799238: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 00:50:23.121670851: call returned: [0, "", ""] 00:50:23.121786781: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 00:50:23.304378978: call returned: [0, "", ""] 00:50:23.304528246: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 00:50:23.491129036: call returned: [0, "", ""] 00:50:23.491244653: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 00:50:23.691467518: call returned: [0, "", ""] 00:50:23.691585344: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 00:50:23.860381238: call returned: [0, "", ""] 00:50:23.860504968: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 00:50:24.037352894: call returned: [0, "", ""] 00:50:24.037531689: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 00:50:24.184605920: call returned: [0, "", ""] 00:50:24.184741767: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 00:50:24.337984348: call returned: [0, "", ""] 00:50:24.338097290: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 00:50:24.485382311: call returned: [0, "", ""] 00:50:24.485593905: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 00:50:24.635017285: call returned: [0, "", ""] 00:50:24.635130884: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 00:50:24.807608121: call returned: [0, "", ""] 00:50:24.807722331: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 00:50:24.961347070: call returned: [0, "", ""] 00:50:24.961501617: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 00:50:25.157710203: call returned: [0, "", ""] 00:50:25.157876496: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 00:50:25.327670078: call returned: [0, "", ""] 00:50:25.327834061: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 00:50:25.512184497: call returned: [0, "", ""] 00:50:25.512347148: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 00:50:25.696624011: call returned: [0, "", ""] 00:50:25.696738952: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 00:50:25.899289976: call returned: [0, "", ""] 00:50:25.899438562: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 00:50:26.075938091: call returned: [0, "", ""] 00:50:26.076048846: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 00:50:26.249308602: call returned: [0, "", ""] 00:50:26.249462739: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 00:50:26.480503449: call returned: [0, "", ""] 00:50:26.480632339: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 00:50:26.639954371: call returned: [0, "", ""] 00:50:26.640101825: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 00:50:26.830687467: call returned: [0, "", ""] 00:50:26.830825499: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 00:50:27.004763736: call returned: [0, "", ""] 00:50:27.004890044: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 00:50:27.163080686: call returned: [0, "", ""] 00:50:27.163223129: calling as root: umount /mnt/new 00:50:27.673396359: call returned: [0, "", ""] 00:50:27.673510122: calling as root: sync 00:50:27.845344284: call returned: [0, "", ""] Then the running Tails is installed on USB drive "install" # features/step_definitions/usb.rb:264 00:50:27.857289703: calling as root: test -b /dev/sda2 00:50:28.027472741: call returned: [1, "", ""] But there is no persistence partition on USB drive "install" # features/step_definitions/usb.rb:277 Scenario: Installing Tails to a pristine USB drive # features/usb_install.feature:47 00:50:29.939080851: calling as root: echo 'hello?' 00:50:30.191244203: call returned: [0, "hello?\n", ""] 00:50:30.914058377: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:50:30.914389015: calling as root: nmcli device show eth0 00:50:31.179799267: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:50:31.193469298: calling as root: date -s '@1523721935' 00:50:31.314597107: call returned: [0, "Sat Apr 14 16:05:35 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 7200 MiB disk named "install" # features/step_definitions/common_steps.rb:59 00:50:31.398299481: calling as root: test -b /dev/sda 00:50:31.532976366: call returned: [1, "", ""] 00:50:32.543768568: calling as root: test -b /dev/sda 00:50:32.676921111: call returned: [1, "", ""] 00:50:33.688344537: calling as root: test -b /dev/sda 00:50:33.839382930: call returned: [0, "", ""] And I plug USB drive "install" # features/step_definitions/common_steps.rb:65 00:50:33.840101924: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:50:33.990201305: call returned: [1, "", ""] 00:50:34.026521135: calling as amnesia: xdotool key Super 00:50:34.177655835: call returned: [0, "", ""] 00:50:35.399162703: [log] TYPE "commandline" 00:50:35.461282959: [log] ( Ctrl ) TYPE "#ENTER." 00:50:40.060004991: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:50:40.060164836: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node183 = dogtail.tree.root.application('tails-installer') 00:50:41.797924822: execution complete 00:50:41.798074492: executing Python as amnesia: node184 = node183.child('Tails Installer', roleName='frame') 00:50:41.822476029: execution complete 00:50:44.822802290: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:50:44.979218835: call returned: [0, "", ""] 00:50:44.990353027: executing Python as amnesia: node185 = node183.child('Target USB stick:', roleName='label') 00:50:45.024678696: execution complete 00:50:45.024784209: executing Python as amnesia: node186 = node185.parent 00:50:45.047459779: execution complete 00:50:45.047606946: executing Python as amnesia: node187 = node186.child('', roleName='combo box', recursive=False) 00:50:45.070084896: execution complete 00:50:45.070179134: executing Python as amnesia: print(node187.name) 00:50:45.090222340: execution complete 00:50:45.090439188: executing Python as amnesia: node188 = node183.button('Install') 00:50:45.125888935: execution complete 00:50:45.125996227: executing Python as amnesia: node188.click() 00:50:46.199037683: execution complete 00:50:46.199172495: executing Python as amnesia: node189 = node183.child('Question', roleName='alert') 00:50:46.243792233: execution complete 00:50:46.243913850: executing Python as amnesia: node190 = node189.button('Yes') 00:50:46.270051871: execution complete 00:50:46.270156543: executing Python as amnesia: node190.click() 00:50:47.306601571: execution complete 00:50:47.306824347: executing Python as amnesia: node191 = node183.child('Information', roleName='alert') 00:50:58.088935418: execution complete 00:50:59.089295013: executing Python as amnesia: node192 = node183.child('Information', roleName='alert') 00:51:09.647442470: execution complete 00:51:10.647757868: executing Python as amnesia: node193 = node183.child('Information', roleName='alert') 00:51:21.150979909: execution complete 00:51:22.151362664: executing Python as amnesia: node194 = node183.child('Information', roleName='alert') 00:51:32.816970861: execution complete 00:51:33.817255351: executing Python as amnesia: node195 = node183.child('Information', roleName='alert') 00:51:44.635938725: execution complete 00:51:45.636244619: executing Python as amnesia: node196 = node183.child('Information', roleName='alert') 00:51:56.381249731: execution complete 00:51:57.381567041: executing Python as amnesia: node197 = node183.child('Information', roleName='alert') 00:52:08.100051344: execution complete 00:52:09.100294058: executing Python as amnesia: node198 = node183.child('Information', roleName='alert') 00:52:09.137490670: execution complete 00:52:09.137650380: executing Python as amnesia: node199 = node198.child('Installation complete!', roleName='label') 00:52:09.162177407: execution complete And I install Tails to USB drive "install" by cloning # features/step_definitions/usb.rb:129 00:52:09.163021928: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:52:09.865669065: call returned: [0, "11:0\n", ""] 00:52:09.865769016: calling as root: readlink -f /dev/block/'11:0' 00:52:10.059365657: call returned: [0, "/dev/sr0\n", ""] 00:52:10.059470108: calling as root: udevadm info --query=property --name='/dev/sr0' 00:52:10.291948268: call returned: [0, "DEVLINKS=/dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/cdrom /dev/dvd\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:systemd:uaccess:seat:\nUSEC_INITIALIZED=4338158\n", ""] 00:52:10.312285451: calling as root: udisksctl info --block-device '/dev/sda' 00:52:10.795593165: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 00:52:10.795743174: calling as root: udisksctl info --block-device '/dev/sda1' 00:52:11.114532714: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-7195-DA81\n IdLabel: Tails\n IdType: vfat\n IdUUID: 7195-DA81\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/172b07d6-68c7-4c32-a150-e2f2cbe5acf6\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/7195-DA81\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 172b07d6-68c7-4c32-a150-e2f2cbe5acf6\n", ""] 00:52:11.114789822: calling as root: mkdir -p /mnt/new 00:52:11.270842375: call returned: [0, "", ""] 00:52:11.270995839: calling as root: mount /dev/sda1 /mnt/new 00:52:11.482430868: call returned: [0, "", ""] 00:52:11.482547739: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 00:52:24.909472895: call returned: [0, "", ""] 00:52:24.909626298: calling as root: ls -1 /mnt/new/syslinux 00:52:25.482945096: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 00:52:25.483112205: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 00:52:25.687306177: call returned: [0, "", ""] 00:52:25.687445016: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 00:52:25.891936804: call returned: [0, "", ""] 00:52:25.892089718: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 00:52:26.052595649: call returned: [0, "", ""] 00:52:26.052717030: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 00:52:26.220780512: call returned: [0, "", ""] 00:52:26.220891130: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 00:52:26.381054055: call returned: [0, "", ""] 00:52:26.381201800: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 00:52:26.536372996: call returned: [0, "", ""] 00:52:26.536496155: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 00:52:26.683014090: call returned: [0, "", ""] 00:52:26.683174972: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 00:52:26.848345513: call returned: [0, "", ""] 00:52:26.848485475: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 00:52:27.002760526: call returned: [0, "", ""] 00:52:27.002898914: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 00:52:27.161590192: call returned: [0, "", ""] 00:52:27.161710786: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 00:52:27.313276228: call returned: [0, "", ""] 00:52:27.313394207: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 00:52:27.507312066: call returned: [0, "", ""] 00:52:27.507501941: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 00:52:27.645746503: call returned: [0, "", ""] 00:52:27.645856964: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 00:52:27.873981688: call returned: [0, "", ""] 00:52:27.874125153: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 00:52:28.031458210: call returned: [0, "", ""] 00:52:28.031635437: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 00:52:28.197329093: call returned: [0, "", ""] 00:52:28.197444615: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 00:52:28.345487771: call returned: [0, "", ""] 00:52:28.345641223: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 00:52:28.486958259: call returned: [0, "", ""] 00:52:28.487112279: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 00:52:28.621975728: call returned: [0, "", ""] 00:52:28.622090748: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 00:52:28.764357980: call returned: [0, "", ""] 00:52:28.764478657: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 00:52:28.949450249: call returned: [0, "", ""] 00:52:28.949577085: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 00:52:29.116272142: call returned: [0, "", ""] 00:52:29.116444952: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 00:52:29.266960669: call returned: [0, "", ""] 00:52:29.267109984: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 00:52:29.447448813: call returned: [0, "", ""] 00:52:29.447581183: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 00:52:29.607252647: call returned: [0, "", ""] 00:52:29.607396631: calling as root: umount /mnt/new 00:52:30.020833771: call returned: [0, "", ""] 00:52:30.020953215: calling as root: sync 00:52:30.174698037: call returned: [0, "", ""] Then the running Tails is installed on USB drive "install" # features/step_definitions/usb.rb:264 00:52:30.188241699: calling as root: test -b /dev/sda2 00:52:30.327245728: call returned: [1, "", ""] But there is no persistence partition on USB drive "install" # features/step_definitions/usb.rb:277 Scenario: Re-installing Tails over an existing USB installation with a persistent partition # features/usb_install.feature:55 00:52:34.379559245: calling as root: echo 'hello?' 00:52:34.609696800: call returned: [0, "hello?\n", ""] 00:52:35.337354625: calling as root: nmcli device show eth0 00:52:35.349517981: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:52:35.682397952: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:52:35.691898935: calling as root: date -s '@1523722059' 00:52:35.864222921: call returned: [0, "Sat Apr 14 16:07:39 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 00:52:37.599319560: calling as root: echo 'hello?' 00:52:37.830419150: call returned: [0, "hello?\n", ""] 00:52:38.554728018: calling as root: nmcli device show eth0 00:52:38.554854575: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:52:38.817199051: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:52:38.834079933: calling as root: date -s '@1523722062' 00:52:38.965415868: call returned: [0, "Sat Apr 14 16:07:42 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I clone USB drive "__internal" to a temporary USB drive "install" # features/step_definitions/usb.rb:59 00:52:43.788098279: calling as root: test -b /dev/sda 00:52:43.948202515: call returned: [1, "", ""] 00:52:44.964379749: calling as root: test -b /dev/sda 00:52:45.101933659: call returned: [1, "", ""] 00:52:46.113952363: calling as root: test -b /dev/sda 00:52:46.235576002: call returned: [0, "", ""] And I plug USB drive "install" # features/step_definitions/common_steps.rb:65 00:52:46.236916023: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:52:46.440246143: call returned: [1, "", ""] 00:52:46.474775090: calling as amnesia: xdotool key Super 00:52:46.633948361: call returned: [0, "", ""] 00:52:47.849311847: [log] TYPE "commandline" 00:52:47.911437915: [log] ( Ctrl ) TYPE "#ENTER." 00:52:52.859082873: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node200 = dogtail.tree.root.application('tails-installer') 00:52:52.872211107: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:52:54.597050610: execution complete 00:52:54.597214512: executing Python as amnesia: node201 = node200.child('Tails Installer', roleName='frame') 00:52:54.700953934: execution complete 00:52:57.701176819: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:52:57.866626883: call returned: [0, "", ""] 00:52:57.880462653: executing Python as amnesia: node202 = node200.child('Target USB stick:', roleName='label') 00:52:57.937846197: execution complete 00:52:57.938001219: executing Python as amnesia: node203 = node202.parent 00:52:57.965085428: execution complete 00:52:57.965205493: executing Python as amnesia: node204 = node203.child('', roleName='combo box', recursive=False) 00:52:57.995433135: execution complete 00:52:57.995535396: executing Python as amnesia: print(node204.name) 00:52:58.028974334: execution complete 00:52:58.029189412: executing Python as amnesia: node205 = node200.button('Reinstall (delete all data)') 00:52:58.086034311: execution complete 00:52:58.086156045: executing Python as amnesia: node205.click() 00:52:59.157753241: execution complete 00:52:59.157942386: executing Python as amnesia: node206 = node200.child('Question', roleName='alert') 00:52:59.219520706: execution complete 00:52:59.219674292: executing Python as amnesia: node207 = node206.button('Yes') 00:52:59.245453844: execution complete 00:52:59.245617408: executing Python as amnesia: node207.click() 00:53:00.277038368: execution complete 00:53:00.277272894: executing Python as amnesia: node208 = node200.child('Information', roleName='alert') 00:53:11.064749934: execution complete 00:53:12.065057333: executing Python as amnesia: node209 = node200.child('Information', roleName='alert') 00:53:22.691037849: execution complete 00:53:23.691399404: executing Python as amnesia: node210 = node200.child('Information', roleName='alert') 00:53:34.316305896: execution complete 00:53:35.316688237: executing Python as amnesia: node211 = node200.child('Information', roleName='alert') 00:53:45.916281876: execution complete 00:53:46.916696032: executing Python as amnesia: node212 = node200.child('Information', roleName='alert') 00:53:57.735151881: execution complete 00:53:58.735599220: executing Python as amnesia: node213 = node200.child('Information', roleName='alert') 00:54:09.572432340: execution complete 00:54:10.572696402: executing Python as amnesia: node214 = node200.child('Information', roleName='alert') 00:54:21.648019649: execution complete 00:54:22.648355655: executing Python as amnesia: node215 = node200.child('Information', roleName='alert') 00:54:22.707787332: execution complete 00:54:22.707934598: executing Python as amnesia: node216 = node215.child('Installation complete!', roleName='label') 00:54:22.739169640: execution complete When I reinstall Tails to USB drive "install" by cloning # features/step_definitions/usb.rb:129 00:54:22.739968327: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:54:23.417769197: call returned: [0, "11:0\n", ""] 00:54:23.417921281: calling as root: readlink -f /dev/block/'11:0' 00:54:23.593463296: call returned: [0, "/dev/sr0\n", ""] 00:54:23.593566884: calling as root: udevadm info --query=property --name='/dev/sr0' 00:54:23.835082981: call returned: [0, "DEVLINKS=/dev/dvd /dev/cdrom /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:uaccess:seat:systemd:\nUSEC_INITIALIZED=4338158\n", ""] 00:54:23.845745791: calling as root: udisksctl info --block-device '/dev/sda' 00:54:24.299315772: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 00:54:24.299471606: calling as root: udisksctl info --block-device '/dev/sda1' 00:54:24.572920856: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-79F5-F112\n IdLabel: Tails\n IdType: vfat\n IdUUID: 79F5-F112\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/253e8ffb-5668-49d4-8e07-008e9c6b2ae0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/79F5-F112\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 253e8ffb-5668-49d4-8e07-008e9c6b2ae0\n", ""] 00:54:24.573153393: calling as root: mkdir -p /mnt/new 00:54:24.753331365: call returned: [0, "", ""] 00:54:24.753430549: calling as root: mount /dev/sda1 /mnt/new 00:54:24.946763144: call returned: [0, "", ""] 00:54:24.946864853: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 00:54:38.688670448: call returned: [0, "", ""] 00:54:38.688787163: calling as root: ls -1 /mnt/new/syslinux 00:54:39.266920316: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 00:54:39.267070559: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 00:54:39.457673910: call returned: [0, "", ""] 00:54:39.457800513: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 00:54:39.603712967: call returned: [0, "", ""] 00:54:39.603833498: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 00:54:39.768011362: call returned: [0, "", ""] 00:54:39.768141942: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 00:54:39.933031671: call returned: [0, "", ""] 00:54:39.933144305: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 00:54:40.132733688: call returned: [0, "", ""] 00:54:40.132850348: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 00:54:40.306778361: call returned: [0, "", ""] 00:54:40.306913838: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 00:54:40.458111097: call returned: [0, "", ""] 00:54:40.458220217: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 00:54:40.636344354: call returned: [0, "", ""] 00:54:40.636488133: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 00:54:40.814613069: call returned: [0, "", ""] 00:54:40.814762025: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 00:54:41.017890345: call returned: [0, "", ""] 00:54:41.018015104: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 00:54:41.175976800: call returned: [0, "", ""] 00:54:41.176104600: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 00:54:41.333617439: call returned: [0, "", ""] 00:54:41.333738023: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 00:54:41.487373515: call returned: [0, "", ""] 00:54:41.487520683: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 00:54:41.632523171: call returned: [0, "", ""] 00:54:41.632635727: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 00:54:41.825111516: call returned: [0, "", ""] 00:54:41.825244028: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 00:54:42.018059592: call returned: [0, "", ""] 00:54:42.018175804: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 00:54:42.166866126: call returned: [0, "", ""] 00:54:42.166993876: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 00:54:42.334122734: call returned: [0, "", ""] 00:54:42.334247639: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 00:54:42.510585195: call returned: [0, "", ""] 00:54:42.510765308: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 00:54:42.658830664: call returned: [0, "", ""] 00:54:42.658964226: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 00:54:42.826512031: call returned: [0, "", ""] 00:54:42.826637492: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 00:54:42.974134254: call returned: [0, "", ""] 00:54:42.974285281: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 00:54:43.132661970: call returned: [0, "", ""] 00:54:43.132792527: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 00:54:43.287725199: call returned: [0, "", ""] 00:54:43.287862252: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 00:54:43.549521243: call returned: [0, "", ""] 00:54:43.549656944: calling as root: umount /mnt/new 00:54:44.048818853: call returned: [0, "", ""] 00:54:44.048963245: calling as root: sync 00:54:44.250872057: call returned: [0, "", ""] Then the running Tails is installed on USB drive "install" # features/step_definitions/usb.rb:264 00:54:44.262655738: calling as root: test -b /dev/sda2 00:54:44.422315298: call returned: [1, "", ""] And there is no persistence partition on USB drive "install" # features/step_definitions/usb.rb:277 Scenario: Booting Tails from a USB drive without a persistent partition and creating one # features/usb_install.feature:65 00:54:51.173019655: calling as root: echo 'hello?' 00:54:51.437250677: call returned: [0, "hello?\n", ""] 00:54:52.162496812: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:54:52.162617684: calling as root: nmcli device show eth0 00:54:52.386831756: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:54:52.395981604: calling as root: date -s '@1523722196' 00:54:52.546351534: call returned: [0, "Sat Apr 14 16:09:56 UTC 2018\n", ""] Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 00:54:53.380915351: calling as root: loginctl 00:54:53.381020455: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:54:53.568642853: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:54:54.568955503: calling as root: loginctl 00:54:54.830685306: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 70 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:55:03.706669016: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:55:03.797936786: call returned: [0, "", ""] 00:55:03.798069717: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:55:03.901667310: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 00:55:03.941804574: calling as amnesia: xdotool key Super 00:55:04.178515701: call returned: [0, "", ""] 00:55:07.732515056: [log] TYPE "Configure persistent volume" 00:55:14.965399083: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "asdf#TAB.asdf#ENTER." 00:55:28.813051854: [log] TYPE "#TAB." 00:55:28.813171740: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 00:55:29.651258710: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 00:55:29.733541439: [log] TYPE "#TAB. " 00:55:29.816013811: [log] TYPE "#TAB. " 00:55:29.898118735: [log] TYPE "#TAB. " 00:55:29.980370225: [log] TYPE "#TAB. " 00:55:30.062018779: [log] TYPE "#TAB. " 00:55:30.225318542: [log] TYPE "#TAB. " [log] TYPE "#TAB. " 00:55:30.307188488: [log] TYPE "#TAB. " 00:55:30.393494284: [log] TYPE "#TAB. " 00:55:30.475401469: [log] TYPE "#TAB. " 00:55:30.557767061: [log] TYPE "#TAB. " 00:55:30.673645080: [log] TYPE "#TAB. " 00:55:31.399529955: [log] CLICK on L(878,708)@S(0)[0,0 1024x768] 00:55:31.909669910: [log] ( Alt ) TYPE "#F4." When I create a persistent partition # features/step_definitions/usb.rb:194 00:55:31.920511126: calling as root: udisksctl info --block-device '/dev/sda2' 00:55:32.254809470: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda2:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda2\n DeviceNumber: 2050\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: by-uuid-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n IdLabel: \n IdType: crypto_LUKS\n IdUUID: 3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n IdUsage: crypto\n IdVersion: 1\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda2\n ReadOnly: false\n Size: 3251617280\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part2\n /dev/disk/by-partlabel/TailsData\n /dev/disk/by-partuuid/b149c0af-49c0-4441-b97e-1931d999b490\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part2\n /dev/disk/by-uuid/3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n org.freedesktop.UDisks2.Encrypted:\n org.freedesktop.UDisks2.Partition:\n Flags: 0\n IsContained: false\n IsContainer: false\n Name: TailsData\n Number: 2\n Offset: 4298113024\n Size: 3251617280\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: 0fc63daf-8483-4772-8e79-3d69d8477de4\n UUID: b149c0af-49c0-4441-b97e-1931d999b490\n", ""] 00:55:32.255074140: calling as root: ls -1 --hide 'control' /dev/mapper/ 00:55:32.419026617: call returned: [0, "luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n", ""] 00:55:32.419140587: calling as root: cryptsetup status 'luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a' 00:55:32.628505345: call returned: [0, "/dev/mapper/luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a is active and is in use.\n type: LUKS1\n cipher: aes-xts-plain64\n keysize: 256 bits\n device: /dev/sda2\n offset: 4096 sectors\n size: 6346719 sectors\n mode: read/write\n", ""] 00:55:32.628632199: calling as root: udisksctl info --block-device '/dev/mapper/luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a' 00:55:32.923000168: call returned: [0, "/org/freedesktop/UDisks2/block_devices/dm_2d0:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sda2'\n Device: /dev/dm-0\n DeviceNumber: 65024\n Drive: '/'\n HintAuto: false\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: false\n HintSymbolicIconName: \n HintSystem: true\n Id: by-id-dm-name-luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n IdLabel: TailsData\n IdType: ext4\n IdUUID: a70519c5-e08b-4fe8-bc00-af54acc50a0a\n IdUsage: filesystem\n IdVersion: 1.0\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/mapper/luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n ReadOnly: false\n Size: 3249520128\n Symlinks: /dev/disk/by-id/dm-name-luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-3650270ae3f24f8cb4e1cf04d29d7e8a-luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n /dev/disk/by-label/TailsData\n /dev/disk/by-uuid/a70519c5-e08b-4fe8-bc00-af54acc50a0a\n /dev/mapper/luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: /media/tails-persistence-setup/TailsData\n", ""] 00:55:32.923239288: calling as root: mkdir -p /mnt/__internal 00:55:33.125801056: call returned: [0, "", ""] 00:55:33.125927848: calling as root: mount '/dev/mapper/luks-3650270a-e3f2-4f8c-b4e1-cf04d29d7e8a' /mnt/__internal 00:55:33.349314417: call returned: [0, "", ""] 00:55:33.349452470: calling as root: umount /mnt/__internal 00:55:33.579780733: call returned: [0, "", ""] 00:55:33.579872863: calling as root: sync 00:55:33.828757667: call returned: [0, "", ""] 00:55:33.828861923: calling as root: cryptsetup luksClose __internal 00:55:33.982011966: call returned: [4, "", "Device __internal is not active.\n"] Then a Tails persistence partition exists on USB drive "__internal" # features/step_definitions/usb.rb:283 Scenario: Booting Tails from a USB drive without a persistent partition # features/usb_install.feature:71 00:55:37.221773424: calling as root: echo 'hello?' 00:55:37.341011334: call returned: [0, "hello?\n", ""] 00:55:38.066834577: calling as root: nmcli device show eth0 00:55:38.076018091: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:55:38.274807343: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:55:38.285810387: calling as root: date -s '@1523722242' 00:55:38.422990254: call returned: [0, "Sat Apr 14 16:10:42 UTC 2018\n", ""] Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 00:55:39.185842871: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:55:39.186075176: calling as root: loginctl 00:55:39.316348638: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:55:40.316718297: calling as root: loginctl 00:55:40.537210843: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 70 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 00:55:48.409856663: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:55:48.489377088: call returned: [0, "", ""] 00:55:48.489522865: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:55:48.571902457: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 00:55:48.572634350: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:55:48.752896675: call returned: [0, "8:1\n", ""] 00:55:48.753009161: calling as root: readlink -f /dev/block/'8:1' 00:55:48.923146592: call returned: [0, "/dev/sda1\n", ""] 00:55:48.923277995: calling as root: udevadm info --query=property --name='/dev/sda1' 00:55:49.283264598: call returned: [0, "DEVLINKS=/dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-label/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5829911\n", ""] 00:55:49.283558755: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:55:49.517444679: call returned: [0, "8:1\n", ""] 00:55:49.517548650: calling as root: readlink -f /dev/block/'8:1' 00:55:49.630210085: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "__internal" # features/step_definitions/usb.rb:390 00:55:49.663625541: calling as root: test -d '/home/amnesia/Persistent/Tor Browser' 00:55:49.765788129: call returned: [1, "", ""] And the persistent Tor Browser directory does not exist # features/step_definitions/common_steps.rb:688 00:55:49.776200348: calling as root: test -b /dev/sda2 00:55:49.839618544: call returned: [1, "", ""] And there is no persistence partition on USB drive "__internal" # features/step_definitions/usb.rb:277 #13459 @fragile Scenario: Booting Tails from a USB drive in UEFI mode # features/usb_install.feature:80 00:55:52.398435856: calling as root: echo 'hello?' 00:55:52.510732409: call returned: [0, "hello?\n", ""] 00:55:53.235277264: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:55:53.235436473: calling as root: nmcli device show eth0 00:55:53.441426407: call returned: [8, "", "Error: NetworkManager is not running.\n"] 00:55:53.454612932: calling as root: date -s '@1523722257' 00:55:53.601508434: call returned: [0, "Sat Apr 14 16:10:57 UTC 2018\n", ""] Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 Then I power off the computer # features/step_definitions/common_steps.rb:159 Given the computer is set to boot in UEFI mode # features/step_definitions/usb.rb:74 00:55:55.727426892: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:55:56.879561216: [log] TYPE "#ENTER." 00:55:59.053722528: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 00:56:44.457257649: calling as root: echo 'hello?' 00:56:44.674773706: call returned: [0, "hello?\n", ""] 00:56:44.675091435: calling as root: service tor status 00:56:44.963778493: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 00:56:44.964031153: opening file /etc/tor/torrc in 'append' mode 00:56:45.156238773: append complete 00:56:45.920356389: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 00:56:45.920705925: calling as root: loginctl 00:56:46.077926058: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 00:56:47.078453670: calling as root: loginctl 00:56:47.320652533: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 00:56:55.197850997: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 00:56:55.279660174: call returned: [0, "", ""] 00:56:55.279786849: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 00:56:55.378956788: call returned: [0, "", ""] 00:56:55.379192276: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node217 = dogtail.tree.root.application('gnome-shell') 00:56:56.298825983: execution complete 00:56:57.023937192: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 00:56:57.024149982: executing Python as amnesia: node218 = node217.child('No Notifications', roleName='label') 00:56:58.135081652: execution complete 00:56:58.135295901: executing Python as amnesia: node219 = node217.child('No Notifications', roleName='label') 00:56:58.935048450: execution complete 00:56:58.976959739: [log] TYPE "#ESC." When I start Tails from USB drive "__internal" with network unplugged and I login # features/step_definitions/common_steps.rb:137 00:56:58.977820097: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:56:59.147630635: call returned: [0, "8:1\n", ""] 00:56:59.147762508: calling as root: readlink -f /dev/block/'8:1' 00:56:59.361706108: call returned: [0, "/dev/sda1\n", ""] 00:56:59.361815979: calling as root: ls -1 /dev/sda* 00:56:59.524347813: call returned: [0, "/dev/sda\n/dev/sda1\n", ""] 00:56:59.524489913: calling as root: cut -d':' -f1 /etc/passwd 00:56:59.721197255: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 00:56:59.721355477: calling as root: groups root 00:56:59.974901020: call returned: [0, "root : root\n", ""] 00:56:59.975103112: calling as root: groups daemon 00:57:00.150079610: call returned: [0, "daemon : daemon\n", ""] 00:57:00.150295718: calling as root: groups bin 00:57:00.334145747: call returned: [0, "bin : bin\n", ""] 00:57:00.334317305: calling as root: groups sys 00:57:00.499455668: call returned: [0, "sys : sys\n", ""] 00:57:00.499664727: calling as root: groups sync 00:57:00.697037527: call returned: [0, "sync : nogroup\n", ""] 00:57:00.697191394: calling as root: groups games 00:57:00.902637613: call returned: [0, "games : games\n", ""] 00:57:00.902803172: calling as root: groups man 00:57:01.081000995: call returned: [0, "man : man\n", ""] 00:57:01.081123837: calling as root: groups lp 00:57:01.266432205: call returned: [0, "lp : lp\n", ""] 00:57:01.266557965: calling as root: groups mail 00:57:01.432307856: call returned: [0, "mail : mail\n", ""] 00:57:01.432477693: calling as root: groups news 00:57:01.598763897: call returned: [0, "news : news\n", ""] 00:57:01.598887620: calling as root: groups uucp 00:57:01.827395075: call returned: [0, "uucp : uucp\n", ""] 00:57:01.827532596: calling as root: groups proxy 00:57:02.046543576: call returned: [0, "proxy : proxy\n", ""] 00:57:02.046704168: calling as root: groups www-data 00:57:02.224878478: call returned: [0, "www-data : www-data\n", ""] 00:57:02.225051795: calling as root: groups backup 00:57:02.410307920: call returned: [0, "backup : backup\n", ""] 00:57:02.410474052: calling as root: groups list 00:57:02.570922402: call returned: [0, "list : list\n", ""] 00:57:02.571140399: calling as root: groups irc 00:57:02.723263456: call returned: [0, "irc : irc\n", ""] 00:57:02.723395786: calling as root: groups gnats 00:57:02.887957471: call returned: [0, "gnats : gnats\n", ""] 00:57:02.888076292: calling as root: groups nobody 00:57:03.040597002: call returned: [0, "nobody : nogroup\n", ""] 00:57:03.040768094: calling as root: groups systemd-timesync 00:57:03.218473806: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 00:57:03.218597910: calling as root: groups systemd-network 00:57:03.395499358: call returned: [0, "systemd-network : systemd-network\n", ""] 00:57:03.395710820: calling as root: groups systemd-resolve 00:57:03.579788554: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 00:57:03.579926567: calling as root: groups _apt 00:57:03.755377502: call returned: [0, "_apt : nogroup\n", ""] 00:57:03.755500803: calling as root: groups messagebus 00:57:03.928808528: call returned: [0, "messagebus : messagebus\n", ""] 00:57:03.928973491: calling as root: groups memlockd 00:57:04.114186450: call returned: [0, "memlockd : memlockd\n", ""] 00:57:04.114310356: calling as root: groups monkeysphere 00:57:04.269498618: call returned: [0, "monkeysphere : monkeysphere\n", ""] 00:57:04.269656819: calling as root: groups debian-tor 00:57:04.432650656: call returned: [0, "debian-tor : debian-tor\n", ""] 00:57:04.432859219: calling as root: groups speech-dispatcher 00:57:04.599482962: call returned: [0, "speech-dispatcher : audio\n", ""] 00:57:04.599634546: calling as root: groups colord 00:57:04.802626994: call returned: [0, "colord : colord\n", ""] 00:57:04.802778005: calling as root: groups saned 00:57:04.934183336: call returned: [0, "saned : saned scanner\n", ""] 00:57:04.934301204: calling as root: groups pulse 00:57:05.105735480: call returned: [0, "pulse : pulse audio\n", ""] 00:57:05.105854259: calling as root: groups hplip 00:57:05.275723663: call returned: [0, "hplip : lp\n", ""] 00:57:05.275889747: calling as root: groups Debian-gdm 00:57:05.413654986: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 00:57:05.413779868: calling as root: groups tails-persistence-setup 00:57:05.567399754: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 00:57:05.567547141: calling as root: groups clearnet 00:57:05.728864461: call returned: [0, "clearnet : clearnet\n", ""] 00:57:05.728981488: calling as root: groups htp 00:57:05.892357520: call returned: [0, "htp : htp\n", ""] 00:57:05.892476115: calling as root: groups tails-iuk-get-target-file 00:57:06.071872114: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 00:57:06.071997081: calling as root: groups tails-upgrade-frontend 00:57:06.198916454: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 00:57:06.199066128: calling as root: groups tor-launcher 00:57:06.364563521: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 00:57:06.364699927: calling as root: groups tails-install-iuk 00:57:06.534984985: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 00:57:06.535117559: calling as root: groups amnesia 00:57:06.694333142: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 00:57:06.694471656: calling as root: stat -c %U /dev/sda 00:57:06.869357921: call returned: [0, "root\n", ""] 00:57:06.869486908: calling as root: stat -c %G /dev/sda 00:57:07.015636461: call returned: [0, "disk\n", ""] 00:57:07.015745670: calling as root: stat -c %a /dev/sda 00:57:07.188536720: call returned: [0, "660\n", ""] 00:57:07.188926203: calling as root: stat -c %U /dev/sda1 00:57:07.366779072: call returned: [0, "root\n", ""] 00:57:07.366890171: calling as root: stat -c %G /dev/sda1 00:57:07.570309621: call returned: [0, "disk\n", ""] 00:57:07.570408043: calling as root: stat -c %a /dev/sda1 00:57:07.726538078: call returned: [0, "660\n", ""] 00:57:07.726871551: calling as root: udisksctl info --block-device '/dev/sda' 00:57:08.036380109: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] Then the boot device has safe access rights # features/step_definitions/usb.rb:410 00:57:08.037110121: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:57:08.184712378: call returned: [0, "8:1\n", ""] 00:57:08.184817340: calling as root: readlink -f /dev/block/'8:1' 00:57:08.330786667: call returned: [0, "/dev/sda1\n", ""] 00:57:08.330903624: calling as root: udevadm info --query=property --name='/dev/sda1' 00:57:08.597254108: call returned: [0, "DEVLINKS=/dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-uuid/47C5-C84F /dev/disk/by-label/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5728925\n", ""] 00:57:08.597435731: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:57:08.744900948: call returned: [0, "8:1\n", ""] 00:57:08.745044970: calling as root: readlink -f /dev/block/'8:1' 00:57:08.880403625: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "__internal" # features/step_definitions/usb.rb:390 00:57:08.911026337: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:57:09.079181800: call returned: [0, "8:1\n", ""] 00:57:09.079332845: calling as root: readlink -f /dev/block/'8:1' 00:57:09.230265727: call returned: [0, "/dev/sda1\n", ""] 00:57:09.230379181: calling as root: ls -1 /dev/sda* 00:57:09.386307303: call returned: [0, "/dev/sda\n/dev/sda1\n", ""] 00:57:09.386440245: calling as root: cut -d':' -f1 /etc/passwd 00:57:09.576367047: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 00:57:09.576477542: calling as root: groups root 00:57:09.713356590: call returned: [0, "root : root\n", ""] 00:57:09.713501922: calling as root: groups daemon 00:57:09.913372379: call returned: [0, "daemon : daemon\n", ""] 00:57:09.913506435: calling as root: groups bin 00:57:10.120349188: call returned: [0, "bin : bin\n", ""] 00:57:10.120473089: calling as root: groups sys 00:57:10.287494654: call returned: [0, "sys : sys\n", ""] 00:57:10.287659027: calling as root: groups sync 00:57:10.432790211: call returned: [0, "sync : nogroup\n", ""] 00:57:10.432919099: calling as root: groups games 00:57:10.597234666: call returned: [0, "games : games\n", ""] 00:57:10.597352785: calling as root: groups man 00:57:10.767432975: call returned: [0, "man : man\n", ""] 00:57:10.767578240: calling as root: groups lp 00:57:10.945384982: call returned: [0, "lp : lp\n", ""] 00:57:10.945519865: calling as root: groups mail 00:57:11.094364904: call returned: [0, "mail : mail\n", ""] 00:57:11.094477613: calling as root: groups news 00:57:11.303819302: call returned: [0, "news : news\n", ""] 00:57:11.303950483: calling as root: groups uucp 00:57:11.448558711: call returned: [0, "uucp : uucp\n", ""] 00:57:11.448708817: calling as root: groups proxy 00:57:11.600583326: call returned: [0, "proxy : proxy\n", ""] 00:57:11.600726918: calling as root: groups www-data 00:57:11.761271628: call returned: [0, "www-data : www-data\n", ""] 00:57:11.761403709: calling as root: groups backup 00:57:11.923151487: call returned: [0, "backup : backup\n", ""] 00:57:11.923277931: calling as root: groups list 00:57:12.079286073: call returned: [0, "list : list\n", ""] 00:57:12.079439347: calling as root: groups irc 00:57:12.251260772: call returned: [0, "irc : irc\n", ""] 00:57:12.251391705: calling as root: groups gnats 00:57:12.394222588: call returned: [0, "gnats : gnats\n", ""] 00:57:12.394341056: calling as root: groups nobody 00:57:12.566727239: call returned: [0, "nobody : nogroup\n", ""] 00:57:12.566848058: calling as root: groups systemd-timesync 00:57:12.700850980: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 00:57:12.700984217: calling as root: groups systemd-network 00:57:12.844683876: call returned: [0, "systemd-network : systemd-network\n", ""] 00:57:12.844805588: calling as root: groups systemd-resolve 00:57:12.995751526: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 00:57:12.995924527: calling as root: groups _apt 00:57:13.149735181: call returned: [0, "_apt : nogroup\n", ""] 00:57:13.149849318: calling as root: groups messagebus 00:57:13.307004053: call returned: [0, "messagebus : messagebus\n", ""] 00:57:13.307149742: calling as root: groups memlockd 00:57:13.461811880: call returned: [0, "memlockd : memlockd\n", ""] 00:57:13.461943062: calling as root: groups monkeysphere 00:57:13.621881769: call returned: [0, "monkeysphere : monkeysphere\n", ""] 00:57:13.622015847: calling as root: groups debian-tor 00:57:13.762448370: call returned: [0, "debian-tor : debian-tor\n", ""] 00:57:13.762581524: calling as root: groups speech-dispatcher 00:57:13.928700788: call returned: [0, "speech-dispatcher : audio\n", ""] 00:57:13.928880936: calling as root: groups colord 00:57:14.091219117: call returned: [0, "colord : colord\n", ""] 00:57:14.091332665: calling as root: groups saned 00:57:14.254460352: call returned: [0, "saned : saned scanner\n", ""] 00:57:14.254581197: calling as root: groups pulse 00:57:14.396051977: call returned: [0, "pulse : pulse audio\n", ""] 00:57:14.396186609: calling as root: groups hplip 00:57:14.554876619: call returned: [0, "hplip : lp\n", ""] 00:57:14.555006189: calling as root: groups Debian-gdm 00:57:14.678784428: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 00:57:14.678960616: calling as root: groups tails-persistence-setup 00:57:14.811974568: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 00:57:14.812099096: calling as root: groups clearnet 00:57:14.979611290: call returned: [0, "clearnet : clearnet\n", ""] 00:57:14.979780333: calling as root: groups htp 00:57:15.137491784: call returned: [0, "htp : htp\n", ""] 00:57:15.137648453: calling as root: groups tails-iuk-get-target-file 00:57:15.288116621: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 00:57:15.288285177: calling as root: groups tails-upgrade-frontend 00:57:15.455549556: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 00:57:15.455749955: calling as root: groups tor-launcher 00:57:15.610751854: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 00:57:15.610897965: calling as root: groups tails-install-iuk 00:57:15.768661053: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 00:57:15.768794209: calling as root: groups amnesia 00:57:15.948183889: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 00:57:15.948361857: calling as root: stat -c %U /dev/sda 00:57:16.093205990: call returned: [0, "root\n", ""] 00:57:16.093336000: calling as root: stat -c %G /dev/sda 00:57:16.260972430: call returned: [0, "disk\n", ""] 00:57:16.261113280: calling as root: stat -c %a /dev/sda 00:57:16.416547006: call returned: [0, "660\n", ""] 00:57:16.416896281: calling as root: stat -c %U /dev/sda1 00:57:16.571603832: call returned: [0, "root\n", ""] 00:57:16.571711021: calling as root: stat -c %G /dev/sda1 00:57:16.739858184: call returned: [0, "disk\n", ""] 00:57:16.739957689: calling as root: stat -c %a /dev/sda1 00:57:16.900068142: call returned: [0, "660\n", ""] 00:57:16.900387664: calling as root: udisksctl info --block-device '/dev/sda' 00:57:17.193971889: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 00:57:17.195149466: calling as root: test -d /sys/firmware/efi 00:57:17.324019139: call returned: [0, "", ""] And Tails has started in UEFI mode # features/step_definitions/usb.rb:605 Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions, and making sure that it boots # features/usb_install.feature:90 00:57:19.785963877: calling as root: echo 'hello?' 00:57:20.006128889: call returned: [0, "hello?\n", ""] 00:57:20.729998789: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:57:20.730166201: calling as root: nmcli device show eth0 00:57:21.002321444: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 00:57:21.013242900: calling as root: date -s '@1523722345' 00:57:21.195983470: call returned: [0, "Sat Apr 14 16:12:25 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 7200 MiB disk named "mbr" # features/step_definitions/common_steps.rb:59 00:57:21.227978053: libguestfs: trace: set_autosync true 00:57:21.228095121: libguestfs: trace: set_autosync = 0 00:57:21.230882624: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/mbr" "format:qcow2" 00:57:21.231043038: libguestfs: trace: add_drive = 0 00:57:21.231094189: libguestfs: trace: launch 00:57:21.231165133: libguestfs: trace: get_tmpdir 00:57:21.231224188: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 00:57:21.231338108: libguestfs: trace: get_backend_setting "force_tcg" 00:57:21.231382917: libguestfs: trace: get_backend_setting = NULL (error) 00:57:21.231445105: libguestfs: trace: get_cachedir 00:57:21.231510615: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:57:21.278507667: libguestfs: trace: get_cachedir 00:57:21.278672033: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 00:57:21.278877103: libguestfs: trace: get_sockdir 00:57:21.278917967: libguestfs: trace: get_sockdir = "/tmp" 00:57:21.279139687: libguestfs: trace: get_backend_setting "gdb" 00:57:21.279230554: libguestfs: trace: get_backend_setting = NULL (error) 00:57:24.543538364: libguestfs: trace: launch = 0 00:57:24.543749018: libguestfs: trace: list_devices 00:57:24.544712939: libguestfs: trace: list_devices = ["/dev/sda"] 00:57:24.544914915: libguestfs: trace: part_init "/dev/sda" "msdos" 00:57:24.612559149: libguestfs: trace: part_init = 0 00:57:24.612765247: libguestfs: trace: close 00:57:24.612866438: libguestfs: trace: internal_autosync 00:57:24.617769045: libguestfs: trace: internal_autosync = 0 And I create a msdos label on disk "mbr" # features/step_definitions/usb.rb:610 00:57:24.742117472: calling as root: test -b /dev/sda 00:57:24.885318686: call returned: [1, "", ""] 00:57:25.896645631: calling as root: test -b /dev/sda 00:57:26.031534219: call returned: [1, "", ""] 00:57:27.043993659: calling as root: test -b /dev/sda 00:57:27.177558982: call returned: [0, "", ""] And I plug USB drive "mbr" # features/step_definitions/common_steps.rb:65 00:57:27.178886899: calling as root: pidof -x -o '%PPID' gnome-terminal-server 00:57:27.364408589: call returned: [1, "", ""] 00:57:27.406785770: calling as amnesia: xdotool key Super 00:57:27.570761763: call returned: [0, "", ""] 00:57:28.789492538: [log] TYPE "commandline" 00:57:28.851121747: [log] ( Ctrl ) TYPE "#ENTER." 00:57:33.790464481: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node220 = dogtail.tree.root.application('tails-installer') 00:57:33.799516640: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 00:57:35.381394920: execution complete 00:57:35.381529876: executing Python as amnesia: node221 = node220.child('Tails Installer', roleName='frame') 00:57:35.427066573: execution complete 00:57:38.427373917: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 00:57:38.597968293: call returned: [0, "", ""] 00:57:38.610083426: executing Python as amnesia: node222 = node220.child('Target USB stick:', roleName='label') 00:57:38.663641579: execution complete 00:57:38.663791926: executing Python as amnesia: node223 = node222.parent 00:57:38.683271045: execution complete 00:57:38.683391924: executing Python as amnesia: node224 = node223.child('', roleName='combo box', recursive=False) 00:57:38.710202251: execution complete 00:57:38.710324506: executing Python as amnesia: print(node224.name) 00:57:38.737253522: execution complete 00:57:38.737511351: executing Python as amnesia: node225 = node220.button('Install') 00:57:38.786300692: execution complete 00:57:38.786431389: executing Python as amnesia: node225.click() 00:57:39.850437030: execution complete 00:57:39.850558758: executing Python as amnesia: node226 = node220.child('Question', roleName='alert') 00:57:39.896678429: execution complete 00:57:39.896838540: executing Python as amnesia: node227 = node226.button('Yes') 00:57:39.918137015: execution complete 00:57:39.918233226: executing Python as amnesia: node227.click() 00:57:40.954151123: execution complete 00:57:40.954355764: executing Python as amnesia: node228 = node220.child('Information', roleName='alert') 00:57:51.652035525: execution complete 00:57:52.652421705: executing Python as amnesia: node229 = node220.child('Information', roleName='alert') 00:58:03.297395379: execution complete 00:58:04.297688582: executing Python as amnesia: node230 = node220.child('Information', roleName='alert') 00:58:14.933379296: execution complete 00:58:15.933663562: executing Python as amnesia: node231 = node220.child('Information', roleName='alert') 00:58:26.430716641: execution complete 00:58:27.433400020: executing Python as amnesia: node232 = node220.child('Information', roleName='alert') 00:58:38.273030197: execution complete 00:58:39.273382290: executing Python as amnesia: node233 = node220.child('Information', roleName='alert') 00:58:50.305616944: execution complete 00:58:51.305910478: executing Python as amnesia: node234 = node220.child('Information', roleName='alert') 00:59:02.169134140: execution complete 00:59:03.169493881: executing Python as amnesia: node235 = node220.child('Information', roleName='alert') 00:59:04.318012671: execution complete 00:59:04.318173930: executing Python as amnesia: node236 = node235.child('Installation complete!', roleName='label') 00:59:04.356057042: execution complete And I install Tails to USB drive "mbr" by cloning # features/step_definitions/usb.rb:129 00:59:04.357251158: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 00:59:05.027421584: call returned: [0, "11:0\n", ""] 00:59:05.027523186: calling as root: readlink -f /dev/block/'11:0' 00:59:05.171593033: call returned: [0, "/dev/sr0\n", ""] 00:59:05.171706687: calling as root: udevadm info --query=property --name='/dev/sr0' 00:59:05.399326573: call returned: [0, "DEVLINKS=/dev/cdrom /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/dvd /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-path/pci-0000:00:1f.2-ata-3\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:systemd:uaccess:seat:\nUSEC_INITIALIZED=4338158\n", ""] 00:59:05.409673311: calling as root: udisksctl info --block-device '/dev/sda' 00:59:05.882406671: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 00:59:05.882612992: calling as root: udisksctl info --block-device '/dev/sda1' 00:59:06.151020530: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-8B85-809B\n IdLabel: Tails\n IdType: vfat\n IdUUID: 8B85-809B\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/d4dcfb1f-bcae-4c8d-8728-461b68383241\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/8B85-809B\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: d4dcfb1f-bcae-4c8d-8728-461b68383241\n", ""] 00:59:06.151267804: calling as root: mkdir -p /mnt/new 00:59:06.273985533: call returned: [0, "", ""] 00:59:06.274100489: calling as root: mount /dev/sda1 /mnt/new 00:59:06.514832737: call returned: [0, "", ""] 00:59:06.514930212: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 00:59:20.276945904: call returned: [0, "", ""] 00:59:20.277073977: calling as root: ls -1 /mnt/new/syslinux 00:59:20.841785234: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 00:59:20.841930438: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 00:59:21.020179982: call returned: [0, "", ""] 00:59:21.020300724: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 00:59:21.177370260: call returned: [0, "", ""] 00:59:21.177498148: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 00:59:21.308427935: call returned: [0, "", ""] 00:59:21.308542852: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 00:59:21.474977606: call returned: [0, "", ""] 00:59:21.475122754: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 00:59:21.613865683: call returned: [0, "", ""] 00:59:21.613977873: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 00:59:21.767240290: call returned: [0, "", ""] 00:59:21.767439270: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 00:59:21.930538779: call returned: [0, "", ""] 00:59:21.930649351: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 00:59:22.094920801: call returned: [0, "", ""] 00:59:22.095056078: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 00:59:22.234067063: call returned: [0, "", ""] 00:59:22.234205452: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 00:59:22.384900086: call returned: [0, "", ""] 00:59:22.385026880: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 00:59:22.544643753: call returned: [0, "", ""] 00:59:22.544792016: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 00:59:22.691658503: call returned: [0, "", ""] 00:59:22.691777132: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 00:59:22.846074833: call returned: [0, "", ""] 00:59:22.846190928: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 00:59:23.001724982: call returned: [0, "", ""] 00:59:23.001883574: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 00:59:23.193452755: call returned: [0, "", ""] 00:59:23.193599971: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 00:59:23.336090096: call returned: [0, "", ""] 00:59:23.336202395: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 00:59:23.507880406: call returned: [0, "", ""] 00:59:23.507990560: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 00:59:23.679736553: call returned: [0, "", ""] 00:59:23.679906300: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 00:59:23.837294106: call returned: [0, "", ""] 00:59:23.837413492: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 00:59:24.005243731: call returned: [0, "", ""] 00:59:24.005356823: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 00:59:24.180841480: call returned: [0, "", ""] 00:59:24.180954547: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 00:59:24.350974159: call returned: [0, "", ""] 00:59:24.351113031: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 00:59:24.490622435: call returned: [0, "", ""] 00:59:24.490733540: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 00:59:24.683339301: call returned: [0, "", ""] 00:59:24.683489373: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 00:59:24.831605640: call returned: [0, "", ""] 00:59:24.831742514: calling as root: umount /mnt/new 00:59:25.304329062: call returned: [0, "", ""] 00:59:25.304480287: calling as root: sync 00:59:25.513305978: call returned: [0, "", ""] Then the running Tails is installed on USB drive "mbr" # features/step_definitions/usb.rb:264 00:59:25.527579228: calling as root: test -b /dev/sda2 00:59:25.687451158: call returned: [1, "", ""] But there is no persistence partition on USB drive "mbr" # features/step_definitions/usb.rb:277 00:59:25.688197020: spawning as root: poweroff When I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 00:59:31.890824624: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 00:59:34.072502934: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:00:17.487485722: calling as root: echo 'hello?' 01:00:17.656631181: call returned: [0, "hello?\n", ""] 01:00:17.656923307: calling as root: service tor status 01:00:17.871900471: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:00:17.872282220: opening file /etc/tor/torrc in 'append' mode 01:00:18.022496128: append complete 01:00:18.778558991: calling as root: loginctl 01:00:18.787339867: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:00:18.956516204: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:00:19.956869648: calling as root: loginctl 01:00:20.153154495: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:00:27.686974370: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:00:27.769608069: call returned: [0, "", ""] 01:00:27.769811958: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:00:27.897344878: call returned: [0, "", ""] 01:00:27.897581150: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node237 = dogtail.tree.root.application('gnome-shell') 01:00:28.821788633: execution complete 01:00:29.545071598: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:00:29.545271363: executing Python as amnesia: node238 = node237.child('No Notifications', roleName='label') 01:00:30.472536515: execution complete 01:00:30.472656871: executing Python as amnesia: node239 = node237.child('No Notifications', roleName='label') 01:00:31.220541168: execution complete 01:00:31.275474856: [log] TYPE "#ESC." And I start Tails from USB drive "mbr" with network unplugged and I login # features/step_definitions/common_steps.rb:137 01:00:31.276721856: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:00:31.477503843: call returned: [0, "8:1\n", ""] 01:00:31.477607733: calling as root: readlink -f /dev/block/'8:1' 01:00:31.627798701: call returned: [0, "/dev/sda1\n", ""] 01:00:31.627899717: calling as root: udevadm info --query=property --name='/dev/sda1' 01:00:31.833461082: call returned: [0, "DEVLINKS=/dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/8B85-809B /dev/disk/by-partlabel/Tails /dev/disk/by-partuuid/d4dcfb1f-bcae-4c8d-8728-461b68383241 /dev/disk/by-label/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=8B85-809B\nID_FS_UUID_ENC=8B85-809B\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=d4dcfb1f-bcae-4c8d-8728-461b68383241\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=6758a799-a3b1-4372-9ac8-3155f9dd69c3\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5560709\n", ""] 01:00:31.833644741: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:00:31.999771193: call returned: [0, "8:1\n", ""] 01:00:31.999914846: calling as root: readlink -f /dev/block/'8:1' 01:00:32.151757946: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "mbr" # features/step_definitions/usb.rb:390 01:00:32.182417706: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:00:32.345542117: call returned: [0, "8:1\n", ""] 01:00:32.345648246: calling as root: readlink -f /dev/block/'8:1' 01:00:32.488005314: call returned: [0, "/dev/sda1\n", ""] 01:00:32.488133851: calling as root: ls -1 /dev/sda* 01:00:32.629048874: call returned: [0, "/dev/sda\n/dev/sda1\n", ""] 01:00:32.629164886: calling as root: cut -d':' -f1 /etc/passwd 01:00:32.798898511: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 01:00:32.799016837: calling as root: groups root 01:00:33.013442966: call returned: [0, "root : root\n", ""] 01:00:33.013579754: calling as root: groups daemon 01:00:33.151596144: call returned: [0, "daemon : daemon\n", ""] 01:00:33.151729791: calling as root: groups bin 01:00:33.283925387: call returned: [0, "bin : bin\n", ""] 01:00:33.284103165: calling as root: groups sys 01:00:33.425954075: call returned: [0, "sys : sys\n", ""] 01:00:33.426080646: calling as root: groups sync 01:00:33.629994110: call returned: [0, "sync : nogroup\n", ""] 01:00:33.630125953: calling as root: groups games 01:00:33.795827444: call returned: [0, "games : games\n", ""] 01:00:33.795947707: calling as root: groups man 01:00:33.916379486: call returned: [0, "man : man\n", ""] 01:00:33.916493115: calling as root: groups lp 01:00:34.067114287: call returned: [0, "lp : lp\n", ""] 01:00:34.067233392: calling as root: groups mail 01:00:34.202311021: call returned: [0, "mail : mail\n", ""] 01:00:34.202428638: calling as root: groups news 01:00:34.340991495: call returned: [0, "news : news\n", ""] 01:00:34.341106694: calling as root: groups uucp 01:00:34.471302120: call returned: [0, "uucp : uucp\n", ""] 01:00:34.471415863: calling as root: groups proxy 01:00:34.622993400: call returned: [0, "proxy : proxy\n", ""] 01:00:34.623136275: calling as root: groups www-data 01:00:34.759040272: call returned: [0, "www-data : www-data\n", ""] 01:00:34.759163111: calling as root: groups backup 01:00:34.924497771: call returned: [0, "backup : backup\n", ""] 01:00:34.924612574: calling as root: groups list 01:00:35.069035156: call returned: [0, "list : list\n", ""] 01:00:35.069152667: calling as root: groups irc 01:00:35.219280900: call returned: [0, "irc : irc\n", ""] 01:00:35.219395301: calling as root: groups gnats 01:00:35.350194331: call returned: [0, "gnats : gnats\n", ""] 01:00:35.350350114: calling as root: groups nobody 01:00:35.487726376: call returned: [0, "nobody : nogroup\n", ""] 01:00:35.487860794: calling as root: groups systemd-timesync 01:00:35.641758213: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 01:00:35.641879186: calling as root: groups systemd-network 01:00:35.799086154: call returned: [0, "systemd-network : systemd-network\n", ""] 01:00:35.799247633: calling as root: groups systemd-resolve 01:00:35.948178175: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 01:00:35.948313474: calling as root: groups _apt 01:00:36.071149953: call returned: [0, "_apt : nogroup\n", ""] 01:00:36.071276241: calling as root: groups messagebus 01:00:36.226697017: call returned: [0, "messagebus : messagebus\n", ""] 01:00:36.226817297: calling as root: groups memlockd 01:00:36.376361239: call returned: [0, "memlockd : memlockd\n", ""] 01:00:36.376474886: calling as root: groups monkeysphere 01:00:36.517601639: call returned: [0, "monkeysphere : monkeysphere\n", ""] 01:00:36.517734706: calling as root: groups debian-tor 01:00:36.667195927: call returned: [0, "debian-tor : debian-tor\n", ""] 01:00:36.667321028: calling as root: groups speech-dispatcher 01:00:36.822394105: call returned: [0, "speech-dispatcher : audio\n", ""] 01:00:36.822563446: calling as root: groups colord 01:00:36.946797921: call returned: [0, "colord : colord\n", ""] 01:00:36.946944572: calling as root: groups saned 01:00:37.072110188: call returned: [0, "saned : saned scanner\n", ""] 01:00:37.072248412: calling as root: groups pulse 01:00:37.228172102: call returned: [0, "pulse : pulse audio\n", ""] 01:00:37.228288645: calling as root: groups hplip 01:00:37.393965755: call returned: [0, "hplip : lp\n", ""] 01:00:37.394089405: calling as root: groups Debian-gdm 01:00:37.539197029: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 01:00:37.539368981: calling as root: groups tails-persistence-setup 01:00:37.696765407: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 01:00:37.696888037: calling as root: groups clearnet 01:00:37.838570538: call returned: [0, "clearnet : clearnet\n", ""] 01:00:37.838690010: calling as root: groups htp 01:00:37.962599805: call returned: [0, "htp : htp\n", ""] 01:00:37.962738358: calling as root: groups tails-iuk-get-target-file 01:00:38.132536289: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 01:00:38.132693300: calling as root: groups tails-upgrade-frontend 01:00:38.293569838: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 01:00:38.293692322: calling as root: groups tor-launcher 01:00:38.424061389: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 01:00:38.424191887: calling as root: groups tails-install-iuk 01:00:38.556150305: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 01:00:38.556267543: calling as root: groups amnesia 01:00:38.712787298: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 01:00:38.712912094: calling as root: stat -c %U /dev/sda 01:00:38.838246783: call returned: [0, "root\n", ""] 01:00:38.838342871: calling as root: stat -c %G /dev/sda 01:00:38.954532648: call returned: [0, "disk\n", ""] 01:00:38.954625058: calling as root: stat -c %a /dev/sda 01:00:39.138286727: call returned: [0, "660\n", ""] 01:00:39.138676490: calling as root: stat -c %U /dev/sda1 01:00:39.272948200: call returned: [0, "root\n", ""] 01:00:39.273042619: calling as root: stat -c %G /dev/sda1 01:00:39.431752763: call returned: [0, "disk\n", ""] 01:00:39.431849472: calling as root: stat -c %a /dev/sda1 01:00:39.582109315: call returned: [0, "660\n", ""] 01:00:39.582449770: calling as root: udisksctl info --block-device '/dev/sda' 01:00:39.837667877: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 01:00:39.847488098: calling as root: test -b /dev/sda2 01:00:39.953761201: call returned: [1, "", ""] And there is no persistence partition on USB drive "mbr" # features/step_definitions/usb.rb:277 Scenario: Writing a Tails isohybrid to a USB drive and booting it, then installing Tails on top of it using Tails Installer, and it still boots # features/usb_install.feature:104 Given a computer # features/step_definitions/common_steps.rb:46 And I temporarily create a 7200 MiB disk named "isohybrid" # features/step_definitions/common_steps.rb:59 01:00:40.732174395: libguestfs: trace: set_autosync true 01:00:40.732244143: libguestfs: trace: set_autosync = 0 01:00:40.732285842: libguestfs: trace: add_drive "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "readonly:true" "format:raw" 01:00:40.732362638: libguestfs: trace: get_tmpdir 01:00:40.732398592: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:00:40.732464468: libguestfs: trace: disk_create "/tmp/TailsToaster/libguestfsQR3TSZ/overlay1" "qcow2" -1 "backingfile:/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "backingformat:raw" 01:00:40.766018863: libguestfs: trace: disk_create = 0 01:00:40.766136982: libguestfs: trace: add_drive = 0 01:00:40.766186659: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/isohybrid" "format:qcow2" 01:00:40.766329046: libguestfs: trace: add_drive = 0 01:00:40.766364119: libguestfs: trace: launch 01:00:40.766406651: libguestfs: trace: get_backend_setting "force_tcg" 01:00:40.766514159: libguestfs: trace: get_backend_setting = NULL (error) 01:00:40.766588936: libguestfs: trace: get_cachedir 01:00:40.766621990: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:00:40.802109070: libguestfs: trace: get_cachedir 01:00:40.802321958: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:00:40.802422679: libguestfs: trace: get_sockdir 01:00:40.802460017: libguestfs: trace: get_sockdir = "/tmp" 01:00:40.802684865: libguestfs: trace: get_backend_setting "gdb" 01:00:40.802727760: libguestfs: trace: get_backend_setting = NULL (error) 01:00:43.962492540: libguestfs: trace: launch = 0 01:00:43.962977094: libguestfs: trace: list_devices 01:00:43.963887944: libguestfs: trace: list_devices = ["/dev/sda", "/dev/sdb"] 01:00:43.963966291: libguestfs: trace: copy_device_to_device "/dev/sda" "/dev/sdb" 01:00:48.283272023: libguestfs: trace: copy_device_to_device = 0 01:00:48.283734818: libguestfs: trace: close 01:00:48.283867452: libguestfs: trace: internal_autosync 01:00:48.521893190: libguestfs: trace: internal_autosync = 0 And I write the Tails ISO image to disk "isohybrid" # features/step_definitions/untrusted_partitions.rb:32 01:00:50.625843393: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:00:52.812541507: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:01:35.877668445: calling as root: echo 'hello?' 01:01:36.056792770: call returned: [0, "hello?\n", ""] 01:01:36.057041342: calling as root: service tor status 01:01:36.263702862: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:01:36.263988171: opening file /etc/tor/torrc in 'append' mode 01:01:36.428481069: append complete 01:01:37.185585359: calling as root: loginctl 01:01:37.195031730: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:01:37.331027630: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:01:38.331378887: calling as root: loginctl 01:01:38.575317591: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n c5 0 root n/a \n 5 1000 amnesia seat0 tty2 \n\n3 sessions listed.\n", "Failed to get session path: No such device or address\n"] 01:01:46.127320999: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:01:46.213069317: call returned: [0, "", ""] 01:01:46.213196525: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:01:46.287161579: call returned: [0, "", ""] 01:01:46.287335722: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node240 = dogtail.tree.root.application('gnome-shell') 01:01:47.322464243: execution complete 01:01:48.047100502: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:01:48.047243130: executing Python as amnesia: node241 = node240.child('No Notifications', roleName='label') 01:01:49.030074511: execution complete 01:01:49.030207417: executing Python as amnesia: node242 = node240.child('No Notifications', roleName='label') 01:01:49.849492130: execution complete 01:01:49.891456907: [log] TYPE "#ESC." And I start Tails from USB drive "isohybrid" with network unplugged and I login # features/step_definitions/common_steps.rb:137 01:01:49.892645535: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:01:50.025304542: call returned: [0, "8:1\n", ""] 01:01:50.025409430: calling as root: readlink -f /dev/block/'8:1' 01:01:50.242886537: call returned: [0, "/dev/sda1\n", ""] 01:01:50.243012913: calling as root: udevadm info --query=property --name='/dev/sda1' 01:01:50.506337060: call returned: [0, "DEVLINKS=/dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partuuid/0000002a-01\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x80\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=0\nID_PART_ENTRY_SCHEME=dos\nID_PART_ENTRY_SIZE=2393685\nID_PART_ENTRY_TYPE=0x17\nID_PART_ENTRY_UUID=0000002a-01\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5777193\n", ""] 01:01:50.506549941: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:01:50.683085051: call returned: [0, "8:1\n", ""] 01:01:50.683245414: calling as root: readlink -f /dev/block/'8:1' 01:01:50.826869659: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "isohybrid" # features/step_definitions/usb.rb:390 01:01:50.868833768: spawning as root: poweroff When I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 01:01:59.590173808: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:02:02.248461449: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:02:41.322248581: calling as root: echo 'hello?' 01:02:41.475658389: call returned: [0, "hello?\n", ""] 01:02:41.476003121: calling as root: service tor status 01:02:41.683187783: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:02:41.683510290: opening file /etc/tor/torrc in 'append' mode 01:02:41.871110565: append complete 01:02:42.626246410: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:02:42.626528924: calling as root: loginctl 01:02:42.771342717: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:02:43.771713382: calling as root: loginctl 01:02:43.982520002: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:02:51.520187161: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:02:51.609214180: call returned: [0, "", ""] 01:02:51.609328324: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:02:51.697486781: call returned: [0, "", ""] 01:02:51.697711488: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node243 = dogtail.tree.root.application('gnome-shell') 01:02:52.524294303: execution complete 01:02:53.252273003: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:02:53.252476999: executing Python as amnesia: node244 = node243.child('No Notifications', roleName='label') 01:02:54.210858976: execution complete 01:02:54.211003220: executing Python as amnesia: node245 = node243.child('No Notifications', roleName='label') 01:02:54.928620871: execution complete 01:02:54.970458214: [log] TYPE "#ESC." And I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 01:02:54.972274483: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:02:55.190271110: call returned: [1, "", ""] 01:02:55.223257626: calling as amnesia: xdotool key Super 01:02:55.410952675: call returned: [0, "", ""] 01:02:56.622166761: [log] TYPE "commandline" 01:02:56.683719322: [log] ( Ctrl ) TYPE "#ENTER." 01:03:01.276180161: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node246 = dogtail.tree.root.application('tails-installer') 01:03:01.284728253: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:03:02.574822193: execution complete 01:03:02.574959730: executing Python as amnesia: node247 = node246.child('Tails Installer', roleName='frame') 01:03:02.605413455: execution complete 01:03:05.605693193: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:03:05.755351057: call returned: [0, "", ""] 01:03:05.766178785: executing Python as amnesia: node248 = node246.child('Target USB stick:', roleName='label') 01:03:05.807578946: execution complete 01:03:05.807734753: executing Python as amnesia: node249 = node248.parent 01:03:05.828276039: execution complete 01:03:05.828467258: executing Python as amnesia: node250 = node249.child('', roleName='combo box', recursive=False) 01:03:05.873007835: execution complete 01:03:05.873159385: executing Python as amnesia: print(node250.name) 01:03:05.897639189: execution complete 01:03:05.897949567: executing Python as amnesia: node251 = node246.button('Install') 01:03:05.952254509: execution complete 01:03:05.952407937: executing Python as amnesia: node251.click() 01:03:07.023740044: execution complete 01:03:07.023904635: executing Python as amnesia: node252 = node246.child('Question', roleName='alert') 01:03:07.073354291: execution complete 01:03:07.073493272: executing Python as amnesia: node253 = node252.button('Yes') 01:03:07.095535083: execution complete 01:03:07.095660715: executing Python as amnesia: node253.click() 01:03:08.135289915: execution complete 01:03:08.135562142: executing Python as amnesia: node254 = node246.child('Information', roleName='alert') 01:03:19.026384890: execution complete 01:03:20.026686555: executing Python as amnesia: node255 = node246.child('Information', roleName='alert') 01:03:30.832762447: execution complete 01:03:31.833081603: executing Python as amnesia: node256 = node246.child('Information', roleName='alert') 01:03:42.469557125: execution complete 01:03:43.469971606: executing Python as amnesia: node257 = node246.child('Information', roleName='alert') 01:03:53.943887797: execution complete 01:03:54.944204894: executing Python as amnesia: node258 = node246.child('Information', roleName='alert') 01:04:05.787646217: execution complete 01:04:06.787995254: executing Python as amnesia: node259 = node246.child('Information', roleName='alert') 01:04:17.578596118: execution complete 01:04:18.578862854: executing Python as amnesia: node260 = node246.child('Information', roleName='alert') 01:04:29.499636006: execution complete 01:04:30.500100751: executing Python as amnesia: node261 = node246.child('Information', roleName='alert') 01:04:31.073609398: execution complete 01:04:31.073762542: executing Python as amnesia: node262 = node261.child('Installation complete!', roleName='label') 01:04:31.102864032: execution complete And I install Tails to USB drive "isohybrid" by cloning # features/step_definitions/usb.rb:129 01:04:31.103999623: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:04:31.759882736: call returned: [0, "11:0\n", ""] 01:04:31.759981917: calling as root: readlink -f /dev/block/'11:0' 01:04:31.923998662: call returned: [0, "/dev/sr0\n", ""] 01:04:31.924139342: calling as root: udevadm info --query=property --name='/dev/sr0' 01:04:32.151297209: call returned: [0, "DEVLINKS=/dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/cdrom /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/dvd\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:seat:systemd:uaccess:\nUSEC_INITIALIZED=4307395\n", ""] 01:04:32.161714991: calling as root: udisksctl info --block-device '/dev/sda' 01:04:32.614536035: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:04:32.614777930: calling as root: udisksctl info --block-device '/dev/sda1' 01:04:32.887341763: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-A003-E7D9\n IdLabel: Tails\n IdType: vfat\n IdUUID: A003-E7D9\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/f23ccac4-a9dc-4b4b-a525-5c8571bd4746\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/A003-E7D9\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: f23ccac4-a9dc-4b4b-a525-5c8571bd4746\n", ""] 01:04:32.887530743: calling as root: mkdir -p /mnt/new 01:04:33.025278790: call returned: [0, "", ""] 01:04:33.025393644: calling as root: mount /dev/sda1 /mnt/new 01:04:33.251247633: call returned: [0, "", ""] 01:04:33.251382545: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 01:04:47.085174674: call returned: [0, "", ""] 01:04:47.085305752: calling as root: ls -1 /mnt/new/syslinux 01:04:47.663518133: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:04:47.663626136: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:04:47.866112711: call returned: [0, "", ""] 01:04:47.866266714: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:04:48.043772768: call returned: [0, "", ""] 01:04:48.043883649: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:04:48.222347061: call returned: [0, "", ""] 01:04:48.222477177: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:04:48.376019592: call returned: [0, "", ""] 01:04:48.376166220: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:04:48.533085319: call returned: [0, "", ""] 01:04:48.533207032: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:04:48.694129321: call returned: [0, "", ""] 01:04:48.694244207: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:04:48.856044808: call returned: [0, "", ""] 01:04:48.856161503: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:04:49.016615722: call returned: [0, "", ""] 01:04:49.016772875: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:04:49.194707889: call returned: [0, "", ""] 01:04:49.194838239: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:04:49.344941268: call returned: [0, "", ""] 01:04:49.345054287: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:04:49.512080420: call returned: [0, "", ""] 01:04:49.512192841: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:04:49.667508092: call returned: [0, "", ""] 01:04:49.667620597: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:04:49.870410180: call returned: [0, "", ""] 01:04:49.870536249: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:04:50.053937205: call returned: [0, "", ""] 01:04:50.054066384: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:04:50.232219901: call returned: [0, "", ""] 01:04:50.232338333: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:04:50.379135663: call returned: [0, "", ""] 01:04:50.379248986: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:04:50.568841123: call returned: [0, "", ""] 01:04:50.568968612: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:04:50.712477004: call returned: [0, "", ""] 01:04:50.712588969: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:04:50.853965282: call returned: [0, "", ""] 01:04:50.854117693: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:04:51.026681426: call returned: [0, "", ""] 01:04:51.026840154: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 01:04:51.176782230: call returned: [0, "", ""] 01:04:51.176895181: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:04:51.338434863: call returned: [0, "", ""] 01:04:51.338562504: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:04:51.472213885: call returned: [0, "", ""] 01:04:51.472335779: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:04:51.625899843: call returned: [0, "", ""] 01:04:51.626013117: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:04:51.783779786: call returned: [0, "", ""] 01:04:51.783928527: calling as root: umount /mnt/new 01:04:52.198709209: call returned: [0, "", ""] 01:04:52.198815799: calling as root: sync 01:04:52.373944991: call returned: [0, "", ""] Then the running Tails is installed on USB drive "isohybrid" # features/step_definitions/usb.rb:264 01:04:52.385448875: calling as root: test -b /dev/sda2 01:04:52.546375287: call returned: [1, "", ""] But there is no persistence partition on USB drive "isohybrid" # features/step_definitions/usb.rb:277 01:04:52.547166443: spawning as root: poweroff When I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 01:05:01.876978574: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:05:48.820554162: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:05:48.820930530: calling as root: echo 'hello?' 01:05:48.991688253: call returned: [0, "hello?\n", ""] 01:05:48.991934853: calling as root: service tor status 01:05:49.208748259: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:05:49.209073877: opening file /etc/tor/torrc in 'append' mode 01:05:49.383569144: append complete 01:05:50.139402692: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:05:50.139622829: calling as root: loginctl 01:05:50.264838798: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:05:51.265164049: calling as root: loginctl 01:05:51.491599760: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 01:05:58.646423106: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:05:58.724031649: call returned: [0, "", ""] 01:05:58.724156668: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:05:58.805180054: call returned: [0, "", ""] 01:05:58.805353160: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node263 = dogtail.tree.root.application('gnome-shell') 01:05:59.674758950: execution complete 01:06:00.399369380: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:06:00.399495078: executing Python as amnesia: node264 = node263.child('No Notifications', roleName='label') 01:06:01.383681763: execution complete 01:06:01.383809597: executing Python as amnesia: node265 = node263.child('No Notifications', roleName='label') 01:06:02.100119851: execution complete 01:06:02.141800423: [log] TYPE "#ESC." And I start Tails from USB drive "isohybrid" with network unplugged and I login # features/step_definitions/common_steps.rb:137 01:06:02.142576119: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:06:02.312721981: call returned: [0, "8:1\n", ""] 01:06:02.312892302: calling as root: readlink -f /dev/block/'8:1' 01:06:02.483882579: call returned: [0, "/dev/sda1\n", ""] 01:06:02.483999237: calling as root: udevadm info --query=property --name='/dev/sda1' 01:06:02.729683769: call returned: [0, "DEVLINKS=/dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partuuid/f23ccac4-a9dc-4b4b-a525-5c8571bd4746 /dev/disk/by-uuid/A003-E7D9 /dev/disk/by-partlabel/Tails /dev/disk/by-label/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=A003-E7D9\nID_FS_UUID_ENC=A003-E7D9\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=f23ccac4-a9dc-4b4b-a525-5c8571bd4746\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=74d4d9b6-49d4-4de8-83ca-91037a8c6131\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=6280959\n", ""] 01:06:02.729942198: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:06:02.894219172: call returned: [0, "8:1\n", ""] 01:06:02.894372692: calling as root: readlink -f /dev/block/'8:1' 01:06:03.042653234: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "isohybrid" # features/step_definitions/usb.rb:390 01:06:03.074687124: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:06:03.214237566: call returned: [0, "8:1\n", ""] 01:06:03.214331504: calling as root: readlink -f /dev/block/'8:1' 01:06:03.390544996: call returned: [0, "/dev/sda1\n", ""] 01:06:03.390684043: calling as root: ls -1 /dev/sda* 01:06:03.573331020: call returned: [0, "/dev/sda\n/dev/sda1\n", ""] 01:06:03.573460864: calling as root: cut -d':' -f1 /etc/passwd 01:06:03.757824050: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 01:06:03.757937708: calling as root: groups root 01:06:03.945969284: call returned: [0, "root : root\n", ""] 01:06:03.946085549: calling as root: groups daemon 01:06:04.108216444: call returned: [0, "daemon : daemon\n", ""] 01:06:04.108337002: calling as root: groups bin 01:06:04.249947148: call returned: [0, "bin : bin\n", ""] 01:06:04.250070250: calling as root: groups sys 01:06:04.444800363: call returned: [0, "sys : sys\n", ""] 01:06:04.444965135: calling as root: groups sync 01:06:04.593654078: call returned: [0, "sync : nogroup\n", ""] 01:06:04.593800032: calling as root: groups games 01:06:04.731896801: call returned: [0, "games : games\n", ""] 01:06:04.732031959: calling as root: groups man 01:06:04.897863641: call returned: [0, "man : man\n", ""] 01:06:04.898034203: calling as root: groups lp 01:06:05.053964914: call returned: [0, "lp : lp\n", ""] 01:06:05.054089739: calling as root: groups mail 01:06:05.211168282: call returned: [0, "mail : mail\n", ""] 01:06:05.211319732: calling as root: groups news 01:06:05.376568123: call returned: [0, "news : news\n", ""] 01:06:05.376781663: calling as root: groups uucp 01:06:05.519157856: call returned: [0, "uucp : uucp\n", ""] 01:06:05.519308595: calling as root: groups proxy 01:06:05.669465857: call returned: [0, "proxy : proxy\n", ""] 01:06:05.669610157: calling as root: groups www-data 01:06:05.853515712: call returned: [0, "www-data : www-data\n", ""] 01:06:05.853632256: calling as root: groups backup 01:06:06.005978992: call returned: [0, "backup : backup\n", ""] 01:06:06.006109873: calling as root: groups list 01:06:06.150596471: call returned: [0, "list : list\n", ""] 01:06:06.150756687: calling as root: groups irc 01:06:06.283883634: call returned: [0, "irc : irc\n", ""] 01:06:06.284056568: calling as root: groups gnats 01:06:06.468375002: call returned: [0, "gnats : gnats\n", ""] 01:06:06.468527036: calling as root: groups nobody 01:06:06.635991948: call returned: [0, "nobody : nogroup\n", ""] 01:06:06.636150538: calling as root: groups systemd-timesync 01:06:06.815422656: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 01:06:06.815559374: calling as root: groups systemd-network 01:06:06.979828498: call returned: [0, "systemd-network : systemd-network\n", ""] 01:06:06.979948179: calling as root: groups systemd-resolve 01:06:07.109511075: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 01:06:07.109658073: calling as root: groups _apt 01:06:07.270014806: call returned: [0, "_apt : nogroup\n", ""] 01:06:07.270181439: calling as root: groups messagebus 01:06:07.411700739: call returned: [0, "messagebus : messagebus\n", ""] 01:06:07.411887306: calling as root: groups memlockd 01:06:07.567401069: call returned: [0, "memlockd : memlockd\n", ""] 01:06:07.567541163: calling as root: groups monkeysphere 01:06:07.729036568: call returned: [0, "monkeysphere : monkeysphere\n", ""] 01:06:07.729169813: calling as root: groups debian-tor 01:06:07.905337613: call returned: [0, "debian-tor : debian-tor\n", ""] 01:06:07.905457893: calling as root: groups speech-dispatcher 01:06:08.082057258: call returned: [0, "speech-dispatcher : audio\n", ""] 01:06:08.082223305: calling as root: groups colord 01:06:08.235402693: call returned: [0, "colord : colord\n", ""] 01:06:08.235524432: calling as root: groups saned 01:06:08.412413514: call returned: [0, "saned : saned scanner\n", ""] 01:06:08.412588173: calling as root: groups pulse 01:06:08.542852573: call returned: [0, "pulse : pulse audio\n", ""] 01:06:08.543047748: calling as root: groups hplip 01:06:08.710140969: call returned: [0, "hplip : lp\n", ""] 01:06:08.710269814: calling as root: groups Debian-gdm 01:06:08.889063504: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 01:06:08.889227428: calling as root: groups tails-persistence-setup 01:06:09.040666743: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 01:06:09.040815900: calling as root: groups clearnet 01:06:09.211866796: call returned: [0, "clearnet : clearnet\n", ""] 01:06:09.212025220: calling as root: groups htp 01:06:09.374904555: call returned: [0, "htp : htp\n", ""] 01:06:09.375046200: calling as root: groups tails-iuk-get-target-file 01:06:09.519013376: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 01:06:09.519134351: calling as root: groups tails-upgrade-frontend 01:06:09.684292646: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 01:06:09.684415181: calling as root: groups tor-launcher 01:06:09.834761022: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 01:06:09.834875567: calling as root: groups tails-install-iuk 01:06:10.013901786: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 01:06:10.014023854: calling as root: groups amnesia 01:06:10.164009476: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 01:06:10.164161820: calling as root: stat -c %U /dev/sda 01:06:10.279068250: call returned: [0, "root\n", ""] 01:06:10.279187548: calling as root: stat -c %G /dev/sda 01:06:10.449967862: call returned: [0, "disk\n", ""] 01:06:10.450115586: calling as root: stat -c %a /dev/sda 01:06:10.611998122: call returned: [0, "660\n", ""] 01:06:10.612361620: calling as root: stat -c %U /dev/sda1 01:06:10.752951685: call returned: [0, "root\n", ""] 01:06:10.753085872: calling as root: stat -c %G /dev/sda1 01:06:10.887254699: call returned: [0, "disk\n", ""] 01:06:10.887351395: calling as root: stat -c %a /dev/sda1 01:06:11.041408044: call returned: [0, "660\n", ""] 01:06:11.041755561: calling as root: udisksctl info --block-device '/dev/sda' 01:06:11.309867937: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 01:06:11.320556975: calling as root: test -b /dev/sda2 01:06:11.457351896: call returned: [1, "", ""] And there is no persistence partition on USB drive "isohybrid" # features/step_definitions/usb.rb:277 @product Feature: Upgrading an old Tails USB installation As a Tails user If I have an old version of Tails installed on a USB device and the USB device has a persistent partition I want to upgrade Tails on it and keep my persistent partition in the process # An issue with this feature is that scenarios depend on each # other. When editing this feature, make sure you understand these # dependencies (which are documented below). Scenario: Try cloning Tails to a too small partition # features/usb_upgrade.feature:13 01:06:14.493591385: calling as root: echo 'hello?' 01:06:14.849723650: call returned: [0, "hello?\n", ""] 01:06:15.573586699: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:06:15.573734247: calling as root: nmcli device show eth0 01:06:15.835067459: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:06:15.844478268: calling as root: date -s '@1523722879' 01:06:16.009862204: call returned: [0, "Sat Apr 14 16:21:19 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I temporarily create a 7200 MiB disk named "too-small-partition" # features/step_definitions/common_steps.rb:59 01:06:16.041320280: libguestfs: trace: set_autosync true 01:06:16.041383513: libguestfs: trace: set_autosync = 0 01:06:16.043840571: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/too-small-partition" "format:qcow2" 01:06:16.043913392: libguestfs: trace: add_drive = 0 01:06:16.044008027: libguestfs: trace: launch 01:06:16.044041665: libguestfs: trace: get_tmpdir 01:06:16.044072207: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:06:16.044211893: libguestfs: trace: get_backend_setting "force_tcg" 01:06:16.044250052: libguestfs: trace: get_backend_setting = NULL (error) 01:06:16.044337588: libguestfs: trace: get_cachedir 01:06:16.044373677: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:06:16.090598932: libguestfs: trace: get_cachedir 01:06:16.090835057: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:06:16.090941517: libguestfs: trace: get_sockdir 01:06:16.091136580: libguestfs: trace: get_sockdir = "/tmp" 01:06:16.091262427: libguestfs: trace: get_backend_setting "gdb" 01:06:16.091306793: libguestfs: trace: get_backend_setting = NULL (error) 01:06:19.258987847: libguestfs: trace: launch = 0 01:06:19.259422982: libguestfs: trace: list_devices 01:06:19.260253390: libguestfs: trace: list_devices = ["/dev/sda"] 01:06:19.260636602: libguestfs: trace: part_init "/dev/sda" "gpt" 01:06:19.315166433: libguestfs: trace: part_init = 0 01:06:19.316045813: libguestfs: trace: blockdev_getss "/dev/sda" 01:06:19.320776647: libguestfs: trace: blockdev_getss = 512 01:06:19.321308135: libguestfs: trace: part_add "/dev/sda" "primary" 8192 1032191 01:06:19.364708737: libguestfs: trace: part_add = 0 01:06:19.364837664: libguestfs: trace: part_set_name "/dev/sda" 1 "Tails" 01:06:19.419659115: libguestfs: trace: part_set_name = 0 01:06:19.420052821: libguestfs: trace: list_partitions 01:06:19.420392090: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:06:19.420642058: libguestfs: trace: mkfs "vfat" "/dev/sda1" 01:06:19.429995859: libguestfs: trace: mkfs = 0 01:06:19.430216544: libguestfs: trace: close 01:06:19.430315339: libguestfs: trace: internal_autosync 01:06:19.440614428: libguestfs: trace: internal_autosync = 0 And I create a 500 MiB gpt partition labeled "Tails" with a vfat filesystem on disk "too-small-partition" # features/step_definitions/untrusted_partitions.rb:23 01:06:19.555893340: calling as root: test -b /dev/sda 01:06:19.671128244: call returned: [1, "", ""] 01:06:20.682496054: calling as root: test -b /dev/sda 01:06:20.821536023: call returned: [1, "", ""] 01:06:21.833565173: calling as root: test -b /dev/sda 01:06:21.972774324: call returned: [0, "", ""] And I plug USB drive "too-small-partition" # features/step_definitions/common_steps.rb:65 01:06:21.973625492: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:06:22.161424731: call returned: [1, "", ""] 01:06:22.199275123: calling as amnesia: xdotool key Super 01:06:22.349850778: call returned: [0, "", ""] 01:06:23.234445607: [log] TYPE "commandline" 01:06:23.296732340: [log] ( Ctrl ) TYPE "#ENTER." 01:06:27.883147901: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node266 = dogtail.tree.root.application('tails-installer') 01:06:27.891876478: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:06:29.545224078: execution complete 01:06:29.545456919: executing Python as amnesia: node267 = node266.child('Tails Installer', roleName='frame') 01:06:29.572957838: execution complete 01:06:32.573177610: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:06:32.735392826: call returned: [0, "", ""] When I start Tails Installer # features/step_definitions/usb.rb:93 01:06:32.736610875: executing Python as amnesia: node268 = node266.child('', roleName='text') 01:06:32.772502869: execution complete 01:06:32.772628335: executing Python as amnesia: print(node268.text) 01:06:32.803677193: execution complete Then I am told by Tails Installer that I "need to use a downloaded Tails ISO image" # features/step_definitions/usb.rb:107 Scenario: Installing an old version of Tails to a pristine USB drive # features/usb_upgrade.feature:21 Given a computer # features/step_definitions/common_steps.rb:46 And the computer is set to boot from the old Tails DVD # features/step_definitions/usb.rb:70 And the network is unplugged # features/step_definitions/common_steps.rb:83 01:06:34.844426029: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] And I start the computer # features/step_definitions/common_steps.rb:109 01:07:15.582986727: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:07:15.583371753: calling as root: echo 'hello?' 01:07:15.762444491: call returned: [0, "hello?\n", ""] 01:07:15.762753998: calling as root: service tor status 01:07:15.970681926: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:07:15.970972646: opening file /etc/tor/torrc in 'append' mode 01:07:16.116673208: append complete When the computer boots Tails # features/step_definitions/common_steps.rb:248 01:07:16.882924142: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:07:16.883182692: calling as root: loginctl 01:07:17.012785662: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:07:18.013146266: calling as root: loginctl 01:07:18.189257934: call returned: [0, " SESSION UID USER SEAT TTY \n c5 0 root n/a \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n3 sessions listed.\n", "Failed to get session path: No such device or address\n"] 01:07:25.341541462: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:07:25.423570621: call returned: [0, "", ""] 01:07:25.423690347: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:07:25.501464649: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 01:07:25.502232303: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node269 = dogtail.tree.root.application('gnome-shell') 01:07:26.454122537: execution complete 01:07:27.177345518: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:07:27.177482502: executing Python as amnesia: node270 = node269.child('No Notifications', roleName='label') 01:07:28.111981474: execution complete 01:07:28.112123181: executing Python as amnesia: node271 = node269.child('No Notifications', roleName='label') 01:07:28.880108834: execution complete 01:07:28.923227168: [log] TYPE "#ESC." And all notifications have disappeared # features/step_definitions/common_steps.rb:441 And I create a 7200 MiB disk named "old" # features/step_definitions/common_steps.rb:59 01:07:29.006017188: calling as root: test -b /dev/sda 01:07:29.220346299: call returned: [1, "", ""] 01:07:30.231385265: calling as root: test -b /dev/sda 01:07:30.379007732: call returned: [1, "", ""] 01:07:31.392153055: calling as root: test -b /dev/sda 01:07:31.517183851: call returned: [0, "", ""] And I plug USB drive "old" # features/step_definitions/common_steps.rb:65 01:07:31.518410623: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:07:31.706192926: call returned: [1, "", ""] 01:07:31.742414666: calling as amnesia: xdotool key Super 01:07:31.884540535: call returned: [0, "", ""] 01:07:33.103237155: [log] TYPE "commandline" 01:07:33.169543509: [log] ( Ctrl ) TYPE "#ENTER." 01:07:37.761309782: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node272 = dogtail.tree.root.application('tails-installer') 01:07:37.770077219: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:07:39.022026657: execution complete 01:07:39.022183924: executing Python as amnesia: node273 = node272.child('Tails Installer', roleName='frame') 01:07:39.053280623: execution complete 01:07:42.053588713: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:07:42.207256660: call returned: [0, "", ""] 01:07:42.223834907: executing Python as amnesia: node274 = node272.child('Target USB stick:', roleName='label') 01:07:42.263309607: execution complete 01:07:42.263415386: executing Python as amnesia: node275 = node274.parent 01:07:42.286503557: execution complete 01:07:42.286653936: executing Python as amnesia: node276 = node275.child('', roleName='combo box', recursive=False) 01:07:42.312865148: execution complete 01:07:42.313007501: executing Python as amnesia: print(node276.name) 01:07:42.332263179: execution complete 01:07:42.332467171: executing Python as amnesia: node277 = node272.button('Install') 01:07:42.374719992: execution complete 01:07:42.374837835: executing Python as amnesia: node277.click() 01:07:43.461114031: execution complete 01:07:43.461244642: executing Python as amnesia: node278 = node272.child('Question', roleName='alert') 01:07:43.533929288: execution complete 01:07:43.534048059: executing Python as amnesia: node279 = node278.button('Yes') 01:07:43.577722942: execution complete 01:07:43.577824953: executing Python as amnesia: node279.click() 01:07:44.611537291: execution complete 01:07:44.611731691: executing Python as amnesia: node280 = node272.child('Information', roleName='alert') 01:07:55.489029093: execution complete 01:07:56.489411181: executing Python as amnesia: node281 = node272.child('Information', roleName='alert') 01:08:07.238841845: execution complete 01:08:08.239116696: executing Python as amnesia: node282 = node272.child('Information', roleName='alert') 01:08:19.065043770: execution complete 01:08:20.065421965: executing Python as amnesia: node283 = node272.child('Information', roleName='alert') 01:08:30.940056830: execution complete 01:08:31.940323666: executing Python as amnesia: node284 = node272.child('Information', roleName='alert') 01:08:42.732405059: execution complete 01:08:43.732679046: executing Python as amnesia: node285 = node272.child('Information', roleName='alert') 01:08:55.297423755: execution complete 01:08:56.297716201: executing Python as amnesia: node286 = node272.child('Information', roleName='alert') 01:09:07.516810139: execution complete 01:09:08.517203048: executing Python as amnesia: node287 = node272.child('Information', roleName='alert') 01:09:08.576741824: execution complete 01:09:08.576876057: executing Python as amnesia: node288 = node287.child('Installation complete!', roleName='label') 01:09:08.606033727: execution complete When I install Tails to USB drive "old" by cloning # features/step_definitions/usb.rb:129 01:09:08.607248015: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:09:09.258773456: call returned: [0, "11:0\n", ""] 01:09:09.258884203: calling as root: readlink -f /dev/block/'11:0' 01:09:09.434912576: call returned: [0, "/dev/sr0\n", ""] 01:09:09.435111978: calling as root: udevadm info --query=property --name='/dev/sr0' 01:09:09.665345686: call returned: [0, "DEVLINKS=/dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/cdrom /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/dvd\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:seat:systemd:uaccess:\nUSEC_INITIALIZED=4162288\n", ""] 01:09:09.677803352: calling as root: udisksctl info --block-device '/dev/sda' 01:09:10.123928434: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:09:10.124095823: calling as root: udisksctl info --block-device '/dev/sda1' 01:09:10.423947569: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-B134-5836\n IdLabel: Tails\n IdType: vfat\n IdUUID: B134-5836\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/B134-5836\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 14987979559889010693\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 4d8958ab-9f31-4219-8f01-e9f4151526ce\n", ""] 01:09:10.424187393: calling as root: mkdir -p /mnt/new 01:09:10.598182655: call returned: [0, "", ""] 01:09:10.598300935: calling as root: mount /dev/sda1 /mnt/new 01:09:10.813907077: call returned: [0, "", ""] 01:09:10.814011652: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 01:09:25.661188899: call returned: [0, "", ""] 01:09:25.661340987: calling as root: ls -1 /mnt/new/syslinux 01:09:26.231663820: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:09:26.231787013: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:09:26.396650496: call returned: [0, "", ""] 01:09:26.396781456: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:09:26.567842401: call returned: [0, "", ""] 01:09:26.567979593: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:09:26.769505712: call returned: [0, "", ""] 01:09:26.769622618: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:09:26.915663249: call returned: [0, "", ""] 01:09:26.915792029: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:09:27.093211156: call returned: [0, "", ""] 01:09:27.093354091: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:09:27.250490720: call returned: [0, "", ""] 01:09:27.250618708: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:09:27.416572927: call returned: [0, "", ""] 01:09:27.416688715: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:09:27.566219702: call returned: [0, "", ""] 01:09:27.566336283: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:09:27.750596791: call returned: [0, "", ""] 01:09:27.750748043: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:09:27.896539122: call returned: [0, "", ""] 01:09:27.896670344: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:09:28.078662452: call returned: [0, "", ""] 01:09:28.078795855: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:09:28.241841506: call returned: [0, "", ""] 01:09:28.241978625: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:09:28.407656416: call returned: [0, "", ""] 01:09:28.407776676: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:09:28.622885911: call returned: [0, "", ""] 01:09:28.623052488: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:09:28.769977280: call returned: [0, "", ""] 01:09:28.770090665: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:09:28.941924479: call returned: [0, "", ""] 01:09:28.942051998: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:09:29.104854524: call returned: [0, "", ""] 01:09:29.104968952: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:09:29.272933038: call returned: [0, "", ""] 01:09:29.273055272: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:09:29.412955081: call returned: [0, "", ""] 01:09:29.413076639: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:09:29.593018433: call returned: [0, "", ""] 01:09:29.593161174: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 01:09:29.763436308: call returned: [0, "", ""] 01:09:29.763632235: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:09:29.920244446: call returned: [0, "", ""] 01:09:29.920371386: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:09:30.083606578: call returned: [0, "", ""] 01:09:30.083761203: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:09:30.259471888: call returned: [0, "", ""] 01:09:30.259626403: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:09:30.410175087: call returned: [0, "", ""] 01:09:30.410288362: calling as root: umount /mnt/new 01:09:30.925394518: call returned: [0, "", ""] 01:09:30.925536505: calling as root: sync 01:09:31.076917799: call returned: [0, "", ""] Then the running Tails is installed on USB drive "old" # features/step_definitions/usb.rb:264 01:09:31.089148478: calling as root: test -b /dev/sda2 01:09:31.232413972: call returned: [1, "", ""] But there is no persistence partition on USB drive "old" # features/step_definitions/usb.rb:277 And I unplug USB drive "old" # features/step_definitions/usb.rb:66 # Depends on scenario: Installing an old version of Tails to a pristine USB drive Scenario: Creating a persistent partition with the old Tails USB installation # features/usb_upgrade.feature:37 Given a computer # features/step_definitions/common_steps.rb:46 01:09:33.813877298: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:09:35.966302049: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:10:19.049013354: calling as root: echo 'hello?' 01:10:19.232623389: call returned: [0, "hello?\n", ""] 01:10:19.232969063: calling as root: service tor status 01:10:19.443405060: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:10:19.443681978: opening file /etc/tor/torrc in 'append' mode 01:10:19.611357737: append complete 01:10:20.367228242: calling as root: loginctl 01:10:20.376546127: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:10:20.503112072: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:10:21.503487178: calling as root: loginctl 01:10:21.697945501: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:10:28.902166870: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:10:28.984166551: call returned: [0, "", ""] 01:10:28.984317116: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:10:29.062630766: call returned: [0, "", ""] 01:10:29.062846451: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node289 = dogtail.tree.root.application('gnome-shell') 01:10:30.038315219: execution complete 01:10:30.763923683: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:10:30.764083094: executing Python as amnesia: node290 = node289.child('No Notifications', roleName='label') 01:10:31.731813862: execution complete 01:10:31.731941553: executing Python as amnesia: node291 = node289.child('No Notifications', roleName='label') 01:10:32.505909097: execution complete 01:10:32.547593159: [log] TYPE "#ESC." And I start Tails from USB drive "old" with network unplugged and I login # features/step_definitions/common_steps.rb:137 01:10:32.548945082: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:10:32.705459462: call returned: [0, "8:1\n", ""] 01:10:32.705571557: calling as root: readlink -f /dev/block/'8:1' 01:10:32.873637266: call returned: [0, "/dev/sda1\n", ""] 01:10:32.873751936: calling as root: udevadm info --query=property --name='/dev/sda1' 01:10:33.145181051: call returned: [0, "DEVLINKS=/dev/disk/by-label/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/B134-5836 /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce /dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=B134-5836\nID_FS_UUID_ENC=B134-5836\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=4d8958ab-9f31-4219-8f01-e9f4151526ce\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=b23fceb4-557c-4963-b3c4-1c7fb682c8bc\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5568852\n", ""] 01:10:33.145392543: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:10:33.269901205: call returned: [0, "8:1\n", ""] 01:10:33.269997740: calling as root: readlink -f /dev/block/'8:1' 01:10:33.432089279: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "old" # features/step_definitions/usb.rb:390 01:10:33.496808762: calling as amnesia: xdotool key Super 01:10:33.677690433: call returned: [0, "", ""] 01:10:35.561234524: [log] TYPE "Configure persistent volume" 01:10:54.910122165: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "asdf#TAB.asdf#ENTER." 01:10:54.995264313: [log] TYPE "#TAB." 01:10:54.995382796: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:10:55.837848223: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:10:55.919553523: [log] TYPE "#TAB. " 01:10:56.004126878: [log] TYPE "#TAB. " 01:10:56.086121420: [log] TYPE "#TAB. " 01:10:56.167826092: [log] TYPE "#TAB. " 01:10:56.497938694: [log] TYPE "#TAB. " [log] TYPE "#TAB. " [log] TYPE "#TAB. " [log] TYPE "#TAB. " 01:10:56.743063362: [log] TYPE "#TAB. " [log] TYPE "#TAB. " [log] TYPE "#TAB. " 01:10:57.579252609: [log] TYPE "#TAB. " [log] CLICK on L(878,708)@S(0)[0,0 1024x768] 01:10:58.094289966: [log] ( Alt ) TYPE "#F4." And I create a persistent partition # features/step_definitions/usb.rb:194 01:10:58.095449404: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:10:58.920072460: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:10:58.920318116: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:10:59.747035270: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] And I take note of which persistence presets are available # features/step_definitions/usb.rb:532 01:10:59.757984492: calling as root: udisksctl info --block-device '/dev/sda2' 01:11:00.061011422: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda2:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda2\n DeviceNumber: 2050\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: by-uuid-072a1405-616c-4839-b2e8-e0633d219a05\n IdLabel: \n IdType: crypto_LUKS\n IdUUID: 072a1405-616c-4839-b2e8-e0633d219a05\n IdUsage: crypto\n IdVersion: 1\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda2\n ReadOnly: false\n Size: 3251617280\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part2\n /dev/disk/by-partlabel/TailsData\n /dev/disk/by-partuuid/9198ebfd-b059-4e52-b0da-7607b6f6aaa7\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part2\n /dev/disk/by-uuid/072a1405-616c-4839-b2e8-e0633d219a05\n org.freedesktop.UDisks2.Encrypted:\n org.freedesktop.UDisks2.Partition:\n Flags: 0\n IsContained: false\n IsContainer: false\n Name: TailsData\n Number: 2\n Offset: 4298113024\n Size: 3251617280\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: 0fc63daf-8483-4772-8e79-3d69d8477de4\n UUID: 9198ebfd-b059-4e52-b0da-7607b6f6aaa7\n", ""] 01:11:00.061202719: calling as root: ls -1 --hide 'control' /dev/mapper/ 01:11:00.222451571: call returned: [0, "luks-072a1405-616c-4839-b2e8-e0633d219a05\n", ""] 01:11:00.222579294: calling as root: cryptsetup status 'luks-072a1405-616c-4839-b2e8-e0633d219a05' 01:11:00.415420026: call returned: [0, "/dev/mapper/luks-072a1405-616c-4839-b2e8-e0633d219a05 is active and is in use.\n type: LUKS1\n cipher: aes-xts-plain64\n keysize: 256 bits\n device: /dev/sda2\n offset: 4096 sectors\n size: 6346719 sectors\n mode: read/write\n", ""] 01:11:00.415558833: calling as root: udisksctl info --block-device '/dev/mapper/luks-072a1405-616c-4839-b2e8-e0633d219a05' 01:11:00.714724174: call returned: [0, "/org/freedesktop/UDisks2/block_devices/dm_2d0:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sda2'\n Device: /dev/dm-0\n DeviceNumber: 65024\n Drive: '/'\n HintAuto: false\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: false\n HintSymbolicIconName: \n HintSystem: true\n Id: by-id-dm-name-luks-072a1405-616c-4839-b2e8-e0633d219a05\n IdLabel: TailsData\n IdType: ext4\n IdUUID: ed5991f1-4ab5-4e27-8f14-5e447b6db646\n IdUsage: filesystem\n IdVersion: 1.0\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/mapper/luks-072a1405-616c-4839-b2e8-e0633d219a05\n ReadOnly: false\n Size: 3249520128\n Symlinks: /dev/disk/by-id/dm-name-luks-072a1405-616c-4839-b2e8-e0633d219a05\n /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-072a1405616c4839b2e8e0633d219a05-luks-072a1405-616c-4839-b2e8-e0633d219a05\n /dev/disk/by-label/TailsData\n /dev/disk/by-uuid/ed5991f1-4ab5-4e27-8f14-5e447b6db646\n /dev/mapper/luks-072a1405-616c-4839-b2e8-e0633d219a05\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: /media/tails-persistence-setup/TailsData\n", ""] 01:11:00.714996486: calling as root: mkdir -p /mnt/old 01:11:00.865395331: call returned: [0, "", ""] 01:11:00.865526485: calling as root: mount '/dev/mapper/luks-072a1405-616c-4839-b2e8-e0633d219a05' /mnt/old 01:11:01.133099513: call returned: [0, "", ""] 01:11:01.133229900: calling as root: umount /mnt/old 01:11:01.343478924: call returned: [0, "", ""] 01:11:01.343600258: calling as root: sync 01:11:01.557207402: call returned: [0, "", ""] 01:11:01.557305009: calling as root: cryptsetup luksClose old 01:11:01.710914185: call returned: [4, "", "Device old is not active.\n"] Then a Tails persistence partition exists on USB drive "old" # features/step_definitions/usb.rb:283 01:11:01.711594437: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 # Depends on scenario: Creating a persistent partition with the old Tails USB installation Scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation # features/usb_upgrade.feature:47 Given a computer # features/step_definitions/common_steps.rb:46 01:11:10.780748953: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:11:13.427045274: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:11:57.173683989: calling as root: echo 'hello?' 01:11:57.357461759: call returned: [0, "hello?\n", ""] 01:11:57.357848705: calling as root: service tor status 01:11:57.618168865: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:11:57.618449666: opening file /etc/tor/torrc in 'append' mode 01:11:57.822276969: append complete 01:11:58.786295710: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." 01:12:04.035513220: calling as root: loginctl 01:12:04.035595081: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:12:04.183753572: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:12:05.184145772: calling as root: loginctl 01:12:05.438008861: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:12:12.968851890: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:12:13.043028836: call returned: [0, "", ""] 01:12:13.043152344: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:12:13.119884346: call returned: [0, "", ""] 01:12:13.120057905: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node292 = dogtail.tree.root.application('gnome-shell') 01:12:14.024862017: execution complete 01:12:14.747423618: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:12:14.747579715: executing Python as amnesia: node293 = node292.child('No Notifications', roleName='label') 01:12:15.717036113: execution complete 01:12:15.717162110: executing Python as amnesia: node294 = node292.child('No Notifications', roleName='label') 01:12:16.456147009: execution complete 01:12:16.497749127: [log] TYPE "#ESC." And I start Tails from USB drive "old" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:12:16.498617290: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:12:16.735728313: call returned: [0, "8:1\n", ""] 01:12:16.735849105: calling as root: readlink -f /dev/block/'8:1' 01:12:16.948849708: call returned: [0, "/dev/sda1\n", ""] 01:12:16.948984340: calling as root: udevadm info --query=property --name='/dev/sda1' 01:12:17.259622029: call returned: [0, "DEVLINKS=/dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-label/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partlabel/Tails /dev/disk/by-uuid/B134-5836 /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=B134-5836\nID_FS_UUID_ENC=B134-5836\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=4d8958ab-9f31-4219-8f01-e9f4151526ce\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=b23fceb4-557c-4963-b3c4-1c7fb682c8bc\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5620815\n", ""] 01:12:17.259831072: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:12:17.455269872: call returned: [0, "8:1\n", ""] 01:12:17.455399340: calling as root: readlink -f /dev/block/'8:1' 01:12:17.697004370: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "old" # features/step_definitions/usb.rb:390 01:12:17.725405279: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:12:17.910079023: call returned: [0, "", ""] 01:12:17.910203532: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:12:18.129731380: call returned: [0, "", ""] 01:12:18.130009157: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:12:19.373610121: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:12:19.373841803: calling as root: mount 01:12:19.748739181: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=8b638fe71d634a67,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12354)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] And all persistence presets are enabled # features/step_definitions/usb.rb:337 01:12:19.750481006: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:12:20.643463412: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:12:20.643669369: calling as root: stat -c %U /home/amnesia/Persistent 01:12:20.831083783: call returned: [0, "amnesia\n", ""] 01:12:20.831195662: calling as amnesia: touch /home/amnesia/Persistent/XXX_persist 01:12:20.951905135: call returned: [0, "", ""] 01:12:20.952039041: calling as root: stat -c %U /home/amnesia/.gnupg 01:12:21.109745528: call returned: [0, "amnesia\n", ""] 01:12:21.109857641: calling as amnesia: touch /home/amnesia/.gnupg/XXX_persist 01:12:21.213149548: call returned: [0, "", ""] 01:12:21.213270357: calling as root: stat -c %U /home/amnesia/.ssh 01:12:21.411928666: call returned: [0, "amnesia\n", ""] 01:12:21.412040079: calling as amnesia: touch /home/amnesia/.ssh/XXX_persist 01:12:21.485675709: call returned: [0, "", ""] 01:12:21.485808222: calling as root: stat -c %U /home/amnesia/.purple 01:12:21.654561158: call returned: [0, "amnesia\n", ""] 01:12:21.654682686: calling as amnesia: touch /home/amnesia/.purple/XXX_persist 01:12:21.784440210: call returned: [0, "", ""] 01:12:21.784584102: calling as root: stat -c %U /home/amnesia/.thunderbird 01:12:21.989260606: call returned: [0, "amnesia\n", ""] 01:12:21.989387331: calling as amnesia: touch /home/amnesia/.thunderbird/XXX_persist 01:12:22.095535153: call returned: [0, "", ""] 01:12:22.095718752: calling as root: stat -c %U /home/amnesia/.gnome2/keyrings 01:12:22.267068773: call returned: [0, "amnesia\n", ""] 01:12:22.267228518: calling as amnesia: touch /home/amnesia/.gnome2/keyrings/XXX_persist 01:12:22.388247079: call returned: [0, "", ""] 01:12:22.388432386: calling as root: stat -c %U /etc/NetworkManager/system-connections 01:12:22.555516604: call returned: [0, "root\n", ""] 01:12:22.555631030: calling as root: touch /etc/NetworkManager/system-connections/XXX_persist 01:12:22.790882380: call returned: [0, "", ""] 01:12:22.791048477: calling as root: stat -c %U /home/amnesia/.mozilla/firefox/bookmarks 01:12:23.014549839: call returned: [0, "amnesia\n", ""] 01:12:23.014678779: calling as amnesia: touch /home/amnesia/.mozilla/firefox/bookmarks/XXX_persist 01:12:23.112805398: call returned: [0, "", ""] 01:12:23.112959794: calling as root: stat -c %U /etc/cups 01:12:23.299272978: call returned: [0, "root\n", ""] 01:12:23.299383814: calling as root: touch /etc/cups/XXX_persist 01:12:23.510409129: call returned: [0, "", ""] 01:12:23.510538660: calling as root: stat -c %U /home/amnesia/.electrum 01:12:23.716712118: call returned: [0, "amnesia\n", ""] 01:12:23.716855898: calling as amnesia: touch /home/amnesia/.electrum/XXX_persist 01:12:23.802441586: call returned: [0, "", ""] 01:12:23.802545343: calling as root: stat -c %U /var/cache/apt/archives 01:12:24.005330979: call returned: [0, "root\n", ""] 01:12:24.005471168: calling as root: touch /var/cache/apt/archives/XXX_persist 01:12:24.199440973: call returned: [0, "", ""] 01:12:24.199590364: calling as root: stat -c %U /var/lib/apt/lists 01:12:24.407674711: call returned: [0, "root\n", ""] 01:12:24.407806349: calling as root: touch /var/lib/apt/lists/XXX_persist 01:12:24.589877031: call returned: [0, "", ""] When I write some files expected to persist # features/step_definitions/usb.rb:502 01:12:24.590568218: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:12:24.737811479: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:12:24.737923312: calling as root: stat -c %U /live/persistence/TailsData_unlocked/ 01:12:24.957268908: call returned: [0, "root\n", ""] 01:12:24.957367954: calling as root: stat -c %G /live/persistence/TailsData_unlocked/ 01:12:25.194407681: call returned: [0, "root\n", ""] 01:12:25.194540923: calling as root: stat -c %a /live/persistence/TailsData_unlocked/ 01:12:25.431063452: call returned: [0, "775\n", ""] And all persistent filesystems have safe access rights # features/step_definitions/usb.rb:442 01:12:25.431738335: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:12:25.647014564: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:12:25.647129335: calling as root: test -e /live/persistence/TailsData_unlocked//persistence.conf 01:12:25.852241863: call returned: [0, "", ""] 01:12:25.852374829: calling as root: test ! -e /live/persistence/TailsData_unlocked//live-persistence.conf 01:12:26.045386416: call returned: [0, "", ""] 01:12:26.045516958: calling as root: ls -1 /live/persistence/TailsData_unlocked//persistence.conf /live/persistence/TailsData_unlocked//live-*.conf 01:12:26.205925836: call returned: [0, "/live/persistence/TailsData_unlocked//live-additional-software.conf\n/live/persistence/TailsData_unlocked//persistence.conf\n", ""] 01:12:26.206092505: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:12:26.414683970: call returned: [0, "tails-persistence-setup\n", ""] 01:12:26.414807937: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:12:26.615160235: call returned: [0, "tails-persistence-setup\n", ""] 01:12:26.615252574: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:12:26.851685391: call returned: [0, "600\n", ""] 01:12:26.851828694: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//persistence.conf' 01:12:27.043989464: call returned: [0, "tails-persistence-setup\n", ""] 01:12:27.044101844: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//persistence.conf' 01:12:27.268526329: call returned: [0, "tails-persistence-setup\n", ""] 01:12:27.268645762: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//persistence.conf' 01:12:27.460484107: call returned: [0, "600\n", ""] And all persistence configuration files have safe access rights # features/step_definitions/usb.rb:453 01:12:27.461655195: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:12:27.676355461: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:12:27.676501838: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 01:12:27.907938664: call returned: [0, "", ""] 01:12:27.908089725: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 01:12:28.154640894: call returned: [0, "700\n", ""] 01:12:28.154793077: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 01:12:28.412212098: call returned: [0, "amnesia\n", ""] 01:12:28.412351948: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 01:12:28.680941371: call returned: [0, "", ""] 01:12:28.681071024: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 01:12:28.918462908: call returned: [0, "700\n", ""] 01:12:28.918593270: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 01:12:29.137653612: call returned: [0, "amnesia\n", ""] 01:12:29.137822464: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 01:12:29.367623813: call returned: [0, "", ""] 01:12:29.367765885: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 01:12:29.579569964: call returned: [0, "700\n", ""] 01:12:29.579702212: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 01:12:29.832055202: call returned: [0, "amnesia\n", ""] 01:12:29.832283354: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 01:12:30.024861984: call returned: [0, "", ""] 01:12:30.025009476: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 01:12:30.240872382: call returned: [0, "700\n", ""] 01:12:30.240985813: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 01:12:30.470144825: call returned: [0, "amnesia\n", ""] 01:12:30.470329355: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 01:12:30.699367886: call returned: [0, "", ""] 01:12:30.699541744: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 01:12:30.905417639: call returned: [0, "700\n", ""] 01:12:30.905581389: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 01:12:31.120143278: call returned: [0, "amnesia\n", ""] 01:12:31.120292336: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 01:12:31.323721395: call returned: [0, "", ""] 01:12:31.323838979: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:12:31.533619684: call returned: [0, "700\n", ""] 01:12:31.533765063: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:12:31.776574239: call returned: [0, "amnesia\n", ""] 01:12:31.776741379: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 01:12:31.989778499: call returned: [0, "", ""] 01:12:31.989910784: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 01:12:32.214602903: call returned: [0, "755\n", ""] 01:12:32.214748527: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 01:12:32.379743750: call returned: [0, "root\n", ""] 01:12:32.379875820: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 01:12:32.611224300: call returned: [0, "", ""] 01:12:32.611355291: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 01:12:32.792805771: call returned: [0, "700\n", ""] 01:12:32.792955292: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 01:12:33.049195518: call returned: [0, "amnesia\n", ""] 01:12:33.049365760: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 01:12:33.258701637: call returned: [0, "", ""] 01:12:33.258851105: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 01:12:33.468300446: call returned: [0, "755\n", ""] 01:12:33.468431432: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 01:12:33.713814027: call returned: [0, "root\n", ""] 01:12:33.714017975: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 01:12:33.900193070: call returned: [0, "", ""] 01:12:33.900323662: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 01:12:34.123824765: call returned: [0, "700\n", ""] 01:12:34.123939991: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 01:12:34.333901670: call returned: [0, "amnesia\n", ""] 01:12:34.334055595: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 01:12:34.514507409: call returned: [0, "", ""] 01:12:34.514655062: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 01:12:34.715904890: call returned: [0, "755\n", ""] 01:12:34.716023710: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 01:12:34.901558837: call returned: [0, "root\n", ""] 01:12:34.901756115: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 01:12:35.038041735: call returned: [0, "", ""] 01:12:35.038185178: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 01:12:35.246925599: call returned: [0, "755\n", ""] 01:12:35.247103684: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 01:12:35.458130015: call returned: [0, "root\n", ""] 01:12:35.458281477: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 01:12:35.673085397: call returned: [0, "", ""] 01:12:35.673216398: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 01:12:35.802089668: call returned: [0, "700\n", ""] 01:12:35.802226776: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 01:12:36.012704919: call returned: [0, "amnesia\n", ""] And all persistent directories from the old Tails version have safe access rights # features/step_definitions/usb.rb:472 01:12:36.013560573: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:12:36.871876262: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:12:36.872154925: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:12:37.726354298: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] And I take note of which persistence presets are available # features/step_definitions/usb.rb:532 01:12:37.727170703: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 01:12:44.894148778: libguestfs: trace: set_autosync true 01:12:44.894265594: libguestfs: trace: set_autosync = 0 01:12:44.894308132: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/old" "readonly:true" "format:qcow2" 01:12:44.894345124: libguestfs: trace: get_tmpdir 01:12:44.894399427: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:12:44.894467633: libguestfs: trace: disk_create "/tmp/TailsToaster/libguestfsyYvxPH/overlay1" "qcow2" -1 "backingfile:/tmp/TailsToaster/TailsToasterStorage/old" "backingformat:qcow2" 01:12:44.927689736: libguestfs: trace: disk_create = 0 01:12:44.927938134: libguestfs: trace: add_drive = 0 01:12:44.927978674: libguestfs: trace: launch 01:12:44.928024134: libguestfs: trace: get_backend_setting "force_tcg" 01:12:44.928150728: libguestfs: trace: get_backend_setting = NULL (error) 01:12:44.928195358: libguestfs: trace: get_cachedir 01:12:44.928331116: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:12:44.963710052: libguestfs: trace: get_cachedir 01:12:44.963821929: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:12:44.964044510: libguestfs: trace: get_sockdir 01:12:44.964085844: libguestfs: trace: get_sockdir = "/tmp" 01:12:44.964294297: libguestfs: trace: get_backend_setting "gdb" 01:12:44.964359424: libguestfs: trace: get_backend_setting = NULL (error) 01:12:48.132437059: libguestfs: trace: launch = 0 01:12:48.132580135: libguestfs: trace: list_devices 01:12:48.133451330: libguestfs: trace: list_devices = ["/dev/sda"] 01:12:48.133534753: libguestfs: trace: part_list "/dev/sda" 01:12:48.181885088: libguestfs: trace: part_list = 01:12:48.182346268: libguestfs: trace: blkid "/dev/sda1" 01:12:48.191327988: libguestfs: trace: blkid = ["DEVNAME", "/dev/sda1", "LABEL", "Tails", "UUID", "B134-5836", "VERSION", "FAT32", "TYPE", "vfat", "USAGE", "filesystem", "MINIMUM_IO_SIZE", "512", "PHYSICAL_SECTOR_SIZE", "512", "LOGICAL_SECTOR_SIZE", "512", "PART_ENTRY_SCHEME", "gpt", "PART_ENTRY_NAME", "Tails", "PART_ENTRY_UUID", "4d8958ab-9f31-4219-8f01-e9f4151526ce", "PART_ENTRY_TYPE", "c12a7328-f81f-11d2-ba4b-00a0c93ec93b", "PART_ENTRY_FLAGS", "0x5", "PART_ENTRY_NUMBER", "1", "PART_ENTRY_OFFSET", "2048", "PART_ENTRY_SIZE", "8388608", "PART_ENTRY_DISK", "8:0"] 01:12:48.191767877: libguestfs: trace: blkid "/dev/sda2" 01:12:48.194317741: libguestfs: trace: blkid = ["DEVNAME", "/dev/sda2", "UUID", "072a1405-616c-4839-b2e8-e0633d219a05", "VERSION", "1", "TYPE", "crypto_LUKS", "USAGE", "crypto", "MINIMUM_IO_SIZE", "512", "PHYSICAL_SECTOR_SIZE", "512", "LOGICAL_SECTOR_SIZE", "512", "PART_ENTRY_SCHEME", "gpt", "PART_ENTRY_NAME", "TailsData", "PART_ENTRY_UUID", "9198ebfd-b059-4e52-b0da-7607b6f6aaa7", "PART_ENTRY_TYPE", "0fc63daf-8483-4772-8e79-3d69d8477de4", "PART_ENTRY_NUMBER", "2", "PART_ENTRY_OFFSET", "8394752", "PART_ENTRY_SIZE", "6350815", "PART_ENTRY_DISK", "8:0"] 01:12:48.194780698: libguestfs: trace: luks_open "/dev/sda2" "***" "sda2_unlocked" 01:12:50.309828317: libguestfs: trace: luks_open = 0 01:12:50.309952648: libguestfs: trace: mount "/dev/mapper/sda2_unlocked" "/" 01:12:50.318018063: libguestfs: trace: mount = 0 01:12:50.318144772: libguestfs: trace: exists "/Persistent/XXX_persist" 01:12:50.318711086: libguestfs: trace: exists = 1 01:12:50.319030145: libguestfs: trace: exists "/Persistent/XXX_gone" 01:12:50.319214300: libguestfs: trace: exists = 0 01:12:50.319496891: libguestfs: trace: exists "/gnupg/XXX_persist" 01:12:50.319874385: libguestfs: trace: exists = 1 01:12:50.319945209: libguestfs: trace: exists "/gnupg/XXX_gone" 01:12:50.320347245: libguestfs: trace: exists = 0 01:12:50.320436095: libguestfs: trace: exists "/openssh-client/XXX_persist" 01:12:50.320762915: libguestfs: trace: exists = 1 01:12:50.321029606: libguestfs: trace: exists "/openssh-client/XXX_gone" 01:12:50.321213723: libguestfs: trace: exists = 0 01:12:50.321280697: libguestfs: trace: exists "/pidgin/XXX_persist" 01:12:50.321796357: libguestfs: trace: exists = 1 01:12:50.321867969: libguestfs: trace: exists "/pidgin/XXX_gone" 01:12:50.322375234: libguestfs: trace: exists = 0 01:12:50.322445308: libguestfs: trace: exists "/thunderbird/XXX_persist" 01:12:50.322725927: libguestfs: trace: exists = 1 01:12:50.323015835: libguestfs: trace: exists "/thunderbird/XXX_gone" 01:12:50.323200731: libguestfs: trace: exists = 0 01:12:50.323276814: libguestfs: trace: exists "/gnome-keyrings/XXX_persist" 01:12:50.323589705: libguestfs: trace: exists = 1 01:12:50.323909640: libguestfs: trace: exists "/gnome-keyrings/XXX_gone" 01:12:50.324095129: libguestfs: trace: exists = 0 01:12:50.324160209: libguestfs: trace: exists "/nm-system-connections/XXX_persist" 01:12:50.324630686: libguestfs: trace: exists = 1 01:12:50.324702205: libguestfs: trace: exists "/nm-system-connections/XXX_gone" 01:12:50.324864473: libguestfs: trace: exists = 0 01:12:50.324927925: libguestfs: trace: exists "/bookmarks/XXX_persist" 01:12:50.325485439: libguestfs: trace: exists = 1 01:12:50.325553863: libguestfs: trace: exists "/bookmarks/XXX_gone" 01:12:50.325713705: libguestfs: trace: exists = 0 01:12:50.326005512: libguestfs: trace: exists "/cups-configuration/XXX_persist" 01:12:50.326340187: libguestfs: trace: exists = 1 01:12:50.326400523: libguestfs: trace: exists "/cups-configuration/XXX_gone" 01:12:50.326556217: libguestfs: trace: exists = 0 01:12:50.326829062: libguestfs: trace: exists "/electrum/XXX_persist" 01:12:50.327136173: libguestfs: trace: exists = 1 01:12:50.327192503: libguestfs: trace: exists "/electrum/XXX_gone" 01:12:50.327349009: libguestfs: trace: exists = 0 01:12:50.327615249: libguestfs: trace: exists "/apt/cache/XXX_persist" 01:12:50.328029066: libguestfs: trace: exists = 1 01:12:50.328091919: libguestfs: trace: exists "/apt/cache/XXX_gone" 01:12:50.328245856: libguestfs: trace: exists = 0 01:12:50.328493792: libguestfs: trace: exists "/apt/lists/XXX_persist" 01:12:50.328757934: libguestfs: trace: exists = 1 01:12:50.328816457: libguestfs: trace: exists "/apt/lists/XXX_gone" 01:12:50.328971432: libguestfs: trace: exists = 0 01:12:50.329060407: libguestfs: trace: umount "/" 01:12:50.333441088: libguestfs: trace: umount = 0 01:12:50.333550152: libguestfs: trace: luks_close "/dev/mapper/sda2_unlocked" 01:12:50.346756962: libguestfs: trace: luks_close = 0 01:12:50.346927769: libguestfs: trace: close 01:12:50.347267032: libguestfs: trace: internal_autosync 01:12:50.350220456: libguestfs: trace: internal_autosync = 0 Then only the expected files are present on the persistence partition on USB drive "old" # features/step_definitions/usb.rb:560 # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation Scenario: Upgrading an old Tails USB installation from a Tails DVD # features/usb_upgrade.feature:62 01:12:52.311041954: calling as root: echo 'hello?' 01:12:52.575993269: call returned: [0, "hello?\n", ""] 01:12:53.299092298: calling as root: nmcli device show eth0 01:12:53.315162587: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:12:53.586897116: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:12:53.596362398: calling as root: date -s '@1523723277' 01:12:53.777611616: call returned: [0, "Sat Apr 14 16:27:57 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I clone USB drive "old" to a new USB drive "to_upgrade" # features/step_definitions/usb.rb:59 01:12:57.301919375: calling as root: test -b /dev/sda 01:12:57.437230710: call returned: [1, "", ""] 01:12:58.447662694: calling as root: test -b /dev/sda 01:12:58.616737382: call returned: [1, "", ""] 01:12:59.636029996: calling as root: test -b /dev/sda 01:12:59.773982689: call returned: [0, "", ""] And I plug USB drive "to_upgrade" # features/step_definitions/common_steps.rb:65 01:12:59.775205494: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:12:59.926979907: call returned: [1, "", ""] 01:12:59.961438502: calling as amnesia: xdotool key Super 01:13:00.121612676: call returned: [0, "", ""] 01:13:01.007043389: [log] TYPE "commandline" 01:13:01.068604803: [log] ( Ctrl ) TYPE "#ENTER." 01:13:05.655187934: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node295 = dogtail.tree.root.application('tails-installer') 01:13:05.657321768: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:13:07.355502280: execution complete 01:13:07.355653660: executing Python as amnesia: node296 = node295.child('Tails Installer', roleName='frame') 01:13:07.404930034: execution complete 01:13:10.405159075: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:13:10.563031162: call returned: [0, "", ""] 01:13:10.574700444: executing Python as amnesia: node297 = node295.child('Target USB stick:', roleName='label') 01:13:10.623536002: execution complete 01:13:10.623649975: executing Python as amnesia: node298 = node297.parent 01:13:10.651699379: execution complete 01:13:10.651817567: executing Python as amnesia: node299 = node298.child('', roleName='combo box', recursive=False) 01:13:10.681158158: execution complete 01:13:10.681272901: executing Python as amnesia: print(node299.name) 01:13:10.709866490: execution complete 01:13:10.710167439: executing Python as amnesia: node300 = node295.button('Upgrade') 01:13:10.754112355: execution complete 01:13:10.754294459: executing Python as amnesia: node300.click() 01:13:11.847246120: execution complete 01:13:11.847365250: executing Python as amnesia: node301 = node295.child('Question', roleName='alert') 01:13:11.890627047: execution complete 01:13:11.890745053: executing Python as amnesia: node302 = node301.button('Yes') 01:13:11.920345734: execution complete 01:13:11.920450308: executing Python as amnesia: node302.click() 01:13:12.956509366: execution complete 01:13:12.956941265: executing Python as amnesia: node303 = node295.child('Information', roleName='alert') 01:13:24.138235409: execution complete 01:13:25.138628667: executing Python as amnesia: node304 = node295.child('Information', roleName='alert') 01:13:31.567173535: execution complete 01:13:31.567306626: executing Python as amnesia: node305 = node304.child('Installation complete!', roleName='label') 01:13:31.596229698: execution complete When I upgrade Tails to USB drive "to_upgrade" by cloning # features/step_definitions/usb.rb:129 01:13:31.597394967: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:13:32.372525953: call returned: [0, "11:0\n", ""] 01:13:32.372673114: calling as root: readlink -f /dev/block/'11:0' 01:13:32.545262005: call returned: [0, "/dev/sr0\n", ""] 01:13:32.545366475: calling as root: udevadm info --query=property --name='/dev/sr0' 01:13:32.800784208: call returned: [0, "DEVLINKS=/dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/dvd /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/cdrom\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:systemd:uaccess:seat:\nUSEC_INITIALIZED=4338158\n", ""] 01:13:32.811327683: calling as root: udisksctl info --block-device '/dev/sda' 01:13:33.305923277: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:13:33.306136338: calling as root: udisksctl info --block-device '/dev/sda1' 01:13:33.604504209: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda1\n DeviceNumber: 2049\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-B134-5836\n IdLabel: Tails\n IdType: vfat\n IdUUID: B134-5836\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/B134-5836\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 5\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 4d8958ab-9f31-4219-8f01-e9f4151526ce\n", ""] 01:13:33.604725327: calling as root: mkdir -p /mnt/new 01:13:33.767955334: call returned: [0, "", ""] 01:13:33.768057833: calling as root: mount /dev/sda1 /mnt/new 01:13:34.021866198: call returned: [0, "", ""] 01:13:34.021965663: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 01:13:48.264925721: call returned: [0, "", ""] 01:13:48.265093786: calling as root: ls -1 /mnt/new/syslinux 01:13:48.876578907: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:13:48.876688772: calling as root: diff -q '/lib/live/mount/medium/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:13:49.059626537: call returned: [0, "", ""] 01:13:49.059745497: calling as root: diff -q '/lib/live/mount/medium/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:13:49.239207362: call returned: [0, "", ""] 01:13:49.239358566: calling as root: diff -q '/lib/live/mount/medium/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:13:49.387941899: call returned: [0, "", ""] 01:13:49.388064943: calling as root: diff -q '/lib/live/mount/medium/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:13:49.550672348: call returned: [0, "", ""] 01:13:49.550828122: calling as root: diff -q '/lib/live/mount/medium/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:13:49.742406043: call returned: [0, "", ""] 01:13:49.742559091: calling as root: diff -q '/lib/live/mount/medium/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:13:49.932645554: call returned: [0, "", ""] 01:13:49.932790663: calling as root: diff -q '/lib/live/mount/medium/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:13:50.131227451: call returned: [0, "", ""] 01:13:50.131341051: calling as root: diff -q '/lib/live/mount/medium/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:13:50.336026997: call returned: [0, "", ""] 01:13:50.336142650: calling as root: diff -q '/lib/live/mount/medium/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:13:50.480111812: call returned: [0, "", ""] 01:13:50.480226463: calling as root: diff -q '/lib/live/mount/medium/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:13:50.663030745: call returned: [0, "", ""] 01:13:50.663163200: calling as root: diff -q '/lib/live/mount/medium/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:13:50.845708094: call returned: [0, "", ""] 01:13:50.845836694: calling as root: diff -q '/lib/live/mount/medium/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:13:51.007626607: call returned: [0, "", ""] 01:13:51.007779921: calling as root: diff -q '/lib/live/mount/medium/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:13:51.196685360: call returned: [0, "", ""] 01:13:51.196854061: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:13:51.387437963: call returned: [0, "", ""] 01:13:51.387587420: calling as root: diff -q '/lib/live/mount/medium/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:13:51.545296109: call returned: [0, "", ""] 01:13:51.545446496: calling as root: diff -q '/lib/live/mount/medium/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:13:51.704606888: call returned: [0, "", ""] 01:13:51.704738955: calling as root: diff -q '/lib/live/mount/medium/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:13:51.871400369: call returned: [0, "", ""] 01:13:51.871517560: calling as root: diff -q '/lib/live/mount/medium/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:13:52.056398166: call returned: [0, "", ""] 01:13:52.056517289: calling as root: diff -q '/lib/live/mount/medium/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:13:52.219777332: call returned: [0, "", ""] 01:13:52.219905987: calling as root: diff -q '/lib/live/mount/medium/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:13:52.388022717: call returned: [0, "", ""] 01:13:52.388203634: calling as root: diff -q '/lib/live/mount/medium/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 01:13:52.568676729: call returned: [0, "", ""] 01:13:52.568826044: calling as root: diff -q '/lib/live/mount/medium/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:13:52.729567209: call returned: [0, "", ""] 01:13:52.729712247: calling as root: diff -q '/lib/live/mount/medium/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:13:52.886662357: call returned: [0, "", ""] 01:13:52.886772113: calling as root: diff -q '/lib/live/mount/medium/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:13:53.047013456: call returned: [0, "", ""] 01:13:53.047195846: calling as root: diff -q '/lib/live/mount/medium/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:13:53.225759475: call returned: [0, "", ""] 01:13:53.225887064: calling as root: umount /mnt/new 01:13:53.706120266: call returned: [0, "", ""] 01:13:53.706221364: calling as root: sync 01:13:53.847755318: call returned: [0, "", ""] Then the running Tails is installed on USB drive "to_upgrade" # features/step_definitions/usb.rb:264 And I unplug USB drive "to_upgrade" # features/step_definitions/usb.rb:66 # Depends on scenario: Upgrading an old Tails USB installation from a Tails DVD Scenario: Booting Tails from a USB drive upgraded from DVD with persistence enabled # features/usb_upgrade.feature:71 Given a computer # features/step_definitions/common_steps.rb:46 01:13:55.903556561: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:14:43.332640432: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:14:43.332946080: calling as root: echo 'hello?' 01:14:43.505692820: call returned: [0, "hello?\n", ""] 01:14:43.505931550: calling as root: service tor status 01:14:43.757221500: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:14:43.757484692: opening file /etc/tor/torrc in 'append' mode 01:14:43.947355042: append complete 01:14:44.909813187: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." 01:14:50.103095480: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:14:50.103337683: calling as root: loginctl 01:14:50.269429423: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:14:51.269794751: calling as root: loginctl 01:14:51.519487745: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 01:14:59.065350067: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:14:59.138410757: call returned: [0, "", ""] 01:14:59.138551522: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:14:59.229033820: call returned: [0, "", ""] 01:14:59.229280079: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node306 = dogtail.tree.root.application('gnome-shell') 01:15:00.198949997: execution complete 01:15:00.921767620: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:15:00.921910529: executing Python as amnesia: node307 = node306.child('No Notifications', roleName='label') 01:15:01.962679786: execution complete 01:15:01.962840426: executing Python as amnesia: node308 = node306.child('No Notifications', roleName='label') 01:15:02.814927295: execution complete 01:15:02.856516463: [log] TYPE "#ESC." And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:15:02.858293878: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:15:03.079033138: call returned: [0, "", ""] 01:15:03.079149170: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:15:03.314710454: call returned: [0, "", ""] 01:15:03.314973094: calling as root: mount 01:15:03.626732286: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=b43feb1e7b5d0920,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13454)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ntmpfs on /var/tmp type tmpfs (rw)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] Then all persistence presets from the old Tails version are enabled # features/step_definitions/usb.rb:337 01:15:03.628063057: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:15:03.882688070: call returned: [0, "8:1\n", ""] 01:15:03.882813728: calling as root: readlink -f /dev/block/'8:1' 01:15:04.144036533: call returned: [0, "/dev/sda1\n", ""] 01:15:04.144174956: calling as root: udevadm info --query=property --name='/dev/sda1' 01:15:04.416292919: call returned: [0, "DEVLINKS=/dev/disk/by-label/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partlabel/Tails /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce /dev/disk/by-uuid/B134-5836\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=B134-5836\nID_FS_UUID_ENC=B134-5836\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=4d8958ab-9f31-4219-8f01-e9f4151526ce\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=b23fceb4-557c-4963-b3c4-1c7fb682c8bc\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5545524\n", ""] 01:15:04.416493320: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:15:04.669610846: call returned: [0, "8:1\n", ""] 01:15:04.669728271: calling as root: readlink -f /dev/block/'8:1' 01:15:04.898437469: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "to_upgrade" # features/step_definitions/usb.rb:390 01:15:04.928796799: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:15:05.150613645: call returned: [0, "8:1\n", ""] 01:15:05.150745769: calling as root: readlink -f /dev/block/'8:1' 01:15:05.336430084: call returned: [0, "/dev/sda1\n", ""] 01:15:05.336584484: calling as root: ls -1 /dev/sda* 01:15:05.547103773: call returned: [0, "/dev/sda\n/dev/sda1\n/dev/sda2\n", ""] 01:15:05.547242104: calling as root: cut -d':' -f1 /etc/passwd 01:15:05.783599386: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 01:15:05.783711658: calling as root: groups root 01:15:06.055791935: call returned: [0, "root : root\n", ""] 01:15:06.055914327: calling as root: groups daemon 01:15:06.251131988: call returned: [0, "daemon : daemon\n", ""] 01:15:06.251263301: calling as root: groups bin 01:15:06.442596643: call returned: [0, "bin : bin\n", ""] 01:15:06.442731596: calling as root: groups sys 01:15:06.668344121: call returned: [0, "sys : sys\n", ""] 01:15:06.668494966: calling as root: groups sync 01:15:06.835644502: call returned: [0, "sync : nogroup\n", ""] 01:15:06.835782199: calling as root: groups games 01:15:07.071663679: call returned: [0, "games : games\n", ""] 01:15:07.071811682: calling as root: groups man 01:15:07.256452718: call returned: [0, "man : man\n", ""] 01:15:07.256606674: calling as root: groups lp 01:15:07.459171383: call returned: [0, "lp : lp\n", ""] 01:15:07.459293346: calling as root: groups mail 01:15:07.653582932: call returned: [0, "mail : mail\n", ""] 01:15:07.653833829: calling as root: groups news 01:15:07.886686185: call returned: [0, "news : news\n", ""] 01:15:07.886810852: calling as root: groups uucp 01:15:08.099767982: call returned: [0, "uucp : uucp\n", ""] 01:15:08.099916944: calling as root: groups proxy 01:15:08.342844641: call returned: [0, "proxy : proxy\n", ""] 01:15:08.342995022: calling as root: groups www-data 01:15:08.552834696: call returned: [0, "www-data : www-data\n", ""] 01:15:08.552997625: calling as root: groups backup 01:15:08.745900958: call returned: [0, "backup : backup\n", ""] 01:15:08.746027339: calling as root: groups list 01:15:08.902331568: call returned: [0, "list : list\n", ""] 01:15:08.902512199: calling as root: groups irc 01:15:09.136944327: call returned: [0, "irc : irc\n", ""] 01:15:09.137148227: calling as root: groups gnats 01:15:09.385971100: call returned: [0, "gnats : gnats\n", ""] 01:15:09.386095338: calling as root: groups nobody 01:15:09.614791617: call returned: [0, "nobody : nogroup\n", ""] 01:15:09.614931226: calling as root: groups systemd-timesync 01:15:09.851713883: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 01:15:09.851838676: calling as root: groups systemd-network 01:15:10.067155865: call returned: [0, "systemd-network : systemd-network\n", ""] 01:15:10.067293186: calling as root: groups systemd-resolve 01:15:10.318501198: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 01:15:10.318646776: calling as root: groups _apt 01:15:10.527115831: call returned: [0, "_apt : nogroup\n", ""] 01:15:10.527229177: calling as root: groups messagebus 01:15:10.743171243: call returned: [0, "messagebus : messagebus\n", ""] 01:15:10.743307194: calling as root: groups memlockd 01:15:10.948762728: call returned: [0, "memlockd : memlockd\n", ""] 01:15:10.948930606: calling as root: groups monkeysphere 01:15:11.166355789: call returned: [0, "monkeysphere : monkeysphere\n", ""] 01:15:11.166563256: calling as root: groups debian-tor 01:15:11.402827035: call returned: [0, "debian-tor : debian-tor\n", ""] 01:15:11.403028089: calling as root: groups speech-dispatcher 01:15:11.670417036: call returned: [0, "speech-dispatcher : audio\n", ""] 01:15:11.670599846: calling as root: groups colord 01:15:11.935188964: call returned: [0, "colord : colord\n", ""] 01:15:11.935309432: calling as root: groups saned 01:15:12.136670901: call returned: [0, "saned : saned scanner\n", ""] 01:15:12.136794325: calling as root: groups pulse 01:15:12.372256425: call returned: [0, "pulse : pulse audio\n", ""] 01:15:12.372386323: calling as root: groups hplip 01:15:12.613945403: call returned: [0, "hplip : lp\n", ""] 01:15:12.614128527: calling as root: groups Debian-gdm 01:15:12.870932767: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 01:15:12.871113297: calling as root: groups tails-persistence-setup 01:15:13.085454329: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 01:15:13.085616597: calling as root: groups clearnet 01:15:13.341201660: call returned: [0, "clearnet : clearnet\n", ""] 01:15:13.341326154: calling as root: groups htp 01:15:13.531644811: call returned: [0, "htp : htp\n", ""] 01:15:13.531759261: calling as root: groups tails-iuk-get-target-file 01:15:13.788360771: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 01:15:13.788540220: calling as root: groups tails-upgrade-frontend 01:15:13.994138938: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 01:15:13.994294036: calling as root: groups tor-launcher 01:15:14.213536604: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 01:15:14.213740365: calling as root: groups tails-install-iuk 01:15:14.499014363: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 01:15:14.499163699: calling as root: groups amnesia 01:15:14.748840119: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 01:15:14.748970093: calling as root: stat -c %U /dev/sda 01:15:14.996977444: call returned: [0, "root\n", ""] 01:15:14.997096697: calling as root: stat -c %G /dev/sda 01:15:15.224647441: call returned: [0, "disk\n", ""] 01:15:15.224773163: calling as root: stat -c %a /dev/sda 01:15:15.407119675: call returned: [0, "660\n", ""] 01:15:15.407474078: calling as root: stat -c %U /dev/sda1 01:15:15.616863777: call returned: [0, "root\n", ""] 01:15:15.616992627: calling as root: stat -c %G /dev/sda1 01:15:15.826007578: call returned: [0, "disk\n", ""] 01:15:15.826142896: calling as root: stat -c %a /dev/sda1 01:15:16.043968554: call returned: [0, "660\n", ""] 01:15:16.044314242: calling as root: stat -c %U /dev/sda2 01:15:16.265983262: call returned: [0, "root\n", ""] 01:15:16.266081761: calling as root: stat -c %G /dev/sda2 01:15:16.491175864: call returned: [0, "disk\n", ""] 01:15:16.491291691: calling as root: stat -c %a /dev/sda2 01:15:16.715353450: call returned: [0, "660\n", ""] 01:15:16.715691461: calling as root: udisksctl info --block-device '/dev/sda' 01:15:17.065190907: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 01:15:17.066325050: calling as root: test -e /home/amnesia/Persistent/XXX_persist 01:15:17.256756454: call returned: [0, "", ""] 01:15:17.256875389: calling as root: test -e /home/amnesia/Persistent/XXX_gone 01:15:17.445950060: call returned: [1, "", ""] 01:15:17.446106197: calling as root: test -e /home/amnesia/.gnupg/XXX_persist 01:15:17.663599257: call returned: [0, "", ""] 01:15:17.663712644: calling as root: test -e /home/amnesia/.gnupg/XXX_gone 01:15:17.900283731: call returned: [1, "", ""] 01:15:17.900397176: calling as root: test -e /home/amnesia/.ssh/XXX_persist 01:15:18.125295520: call returned: [0, "", ""] 01:15:18.125485059: calling as root: test -e /home/amnesia/.ssh/XXX_gone 01:15:18.330150873: call returned: [1, "", ""] 01:15:18.330263905: calling as root: test -e /home/amnesia/.purple/XXX_persist 01:15:18.543639917: call returned: [0, "", ""] 01:15:18.543759670: calling as root: test -e /home/amnesia/.purple/XXX_gone 01:15:18.783763036: call returned: [1, "", ""] 01:15:18.783940632: calling as root: test -e /home/amnesia/.thunderbird/XXX_persist 01:15:18.996840332: call returned: [0, "", ""] 01:15:18.996983367: calling as root: test -e /home/amnesia/.thunderbird/XXX_gone 01:15:19.221966668: call returned: [1, "", ""] 01:15:19.222117621: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_persist 01:15:19.421283461: call returned: [0, "", ""] 01:15:19.421412604: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_gone 01:15:19.654529374: call returned: [1, "", ""] 01:15:19.654646880: calling as root: test -e /etc/NetworkManager/system-connections/XXX_persist 01:15:19.866020050: call returned: [0, "", ""] 01:15:19.866150424: calling as root: test -e /etc/NetworkManager/system-connections/XXX_gone 01:15:20.071906018: call returned: [1, "", ""] 01:15:20.072024839: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_persist 01:15:20.290921493: call returned: [0, "", ""] 01:15:20.291049869: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_gone 01:15:20.523111385: call returned: [1, "", ""] 01:15:20.523304689: calling as root: test -e /etc/cups/XXX_persist 01:15:20.748024839: call returned: [0, "", ""] 01:15:20.748134934: calling as root: test -e /etc/cups/XXX_gone 01:15:20.952020921: call returned: [1, "", ""] 01:15:20.952140705: calling as root: test -e /home/amnesia/.electrum/XXX_persist 01:15:21.140382991: call returned: [0, "", ""] 01:15:21.140524169: calling as root: test -e /home/amnesia/.electrum/XXX_gone 01:15:21.308894099: call returned: [1, "", ""] 01:15:21.309005425: calling as root: test -e /var/cache/apt/archives/XXX_persist 01:15:21.508629849: call returned: [0, "", ""] 01:15:21.508740684: calling as root: test -e /var/cache/apt/archives/XXX_gone 01:15:21.729246569: call returned: [1, "", ""] 01:15:21.729462778: calling as root: test -e /var/lib/apt/lists/XXX_persist 01:15:21.947053608: call returned: [0, "", ""] 01:15:21.947176071: calling as root: test -e /var/lib/apt/lists/XXX_gone 01:15:22.126346965: call returned: [1, "", ""] And the expected persistent files created with the old Tails version are present in the filesystem # features/step_definitions/usb.rb:537 01:15:22.127163025: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:15:22.349767916: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:15:22.349872108: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 01:15:22.560555476: call returned: [0, "", ""] 01:15:22.560682733: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 01:15:22.797035574: call returned: [0, "700\n", ""] 01:15:22.797190971: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 01:15:23.001947072: call returned: [0, "amnesia\n", ""] 01:15:23.002081122: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 01:15:23.196653009: call returned: [0, "", ""] 01:15:23.196797611: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 01:15:23.411080919: call returned: [0, "700\n", ""] 01:15:23.411271854: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 01:15:23.631909661: call returned: [0, "amnesia\n", ""] 01:15:23.632047453: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 01:15:23.819376058: call returned: [0, "", ""] 01:15:23.819516557: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 01:15:24.016493623: call returned: [0, "700\n", ""] 01:15:24.016629983: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 01:15:24.205162455: call returned: [0, "amnesia\n", ""] 01:15:24.205295443: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 01:15:24.414224373: call returned: [0, "", ""] 01:15:24.414381455: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 01:15:24.644507077: call returned: [0, "700\n", ""] 01:15:24.644629860: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 01:15:24.861948100: call returned: [0, "amnesia\n", ""] 01:15:24.862124824: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 01:15:25.068569241: call returned: [0, "", ""] 01:15:25.068686352: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 01:15:25.302498081: call returned: [0, "700\n", ""] 01:15:25.302682728: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 01:15:25.682164883: call returned: [0, "amnesia\n", ""] 01:15:25.682317030: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 01:15:25.908980110: call returned: [0, "", ""] 01:15:25.909098514: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:15:26.229140979: call returned: [0, "700\n", ""] 01:15:26.229257673: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:15:26.510460819: call returned: [0, "amnesia\n", ""] 01:15:26.510638454: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 01:15:26.712477793: call returned: [0, "", ""] 01:15:26.712641714: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 01:15:26.923142609: call returned: [0, "755\n", ""] 01:15:26.923262524: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 01:15:27.102845671: call returned: [0, "root\n", ""] 01:15:27.103039255: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 01:15:27.298664903: call returned: [0, "", ""] 01:15:27.298796580: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 01:15:27.513034873: call returned: [0, "700\n", ""] 01:15:27.513168167: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 01:15:27.723919219: call returned: [0, "amnesia\n", ""] 01:15:27.724063408: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 01:15:27.919543332: call returned: [0, "", ""] 01:15:27.919703536: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 01:15:28.087745322: call returned: [0, "755\n", ""] 01:15:28.087865084: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 01:15:28.267131820: call returned: [0, "root\n", ""] 01:15:28.267270719: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 01:15:28.481791064: call returned: [0, "", ""] 01:15:28.481908207: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 01:15:28.703310446: call returned: [0, "700\n", ""] 01:15:28.703470812: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 01:15:28.921880207: call returned: [0, "amnesia\n", ""] 01:15:28.922045764: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 01:15:29.145717356: call returned: [0, "", ""] 01:15:29.145851911: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 01:15:29.366470934: call returned: [0, "755\n", ""] 01:15:29.366615215: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 01:15:29.505937653: call returned: [0, "root\n", ""] 01:15:29.506073990: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 01:15:29.732216475: call returned: [0, "", ""] 01:15:29.732330944: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 01:15:29.944239666: call returned: [0, "755\n", ""] 01:15:29.944362802: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 01:15:30.130486536: call returned: [0, "root\n", ""] 01:15:30.130643542: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 01:15:30.360595514: call returned: [0, "", ""] 01:15:30.360759816: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 01:15:30.619615360: call returned: [0, "700\n", ""] 01:15:30.619766519: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 01:15:30.805533800: call returned: [0, "amnesia\n", ""] And all persistent directories from the old Tails version have safe access rights # features/step_definitions/usb.rb:472 # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation Scenario: Upgrading an old Tails USB installation from another Tails USB drive # features/usb_upgrade.feature:81 01:15:34.987025188: calling as root: echo 'hello?' 01:15:35.226232233: call returned: [0, "hello?\n", ""] 01:15:35.950674767: calling as root: nmcli device show eth0 01:15:35.961190640: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:15:36.183077046: call returned: [8, "", "Error: NetworkManager is not running.\n"] 01:15:36.193259046: calling as root: date -s '@1523723440' 01:15:36.332272362: call returned: [0, "Sat Apr 14 16:30:40 UTC 2018\n", ""] Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 01:15:37.174391881: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:15:37.174654989: calling as root: loginctl 01:15:37.362414946: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:15:38.362745235: calling as root: loginctl 01:15:38.555072133: call returned: [0, " SESSION UID USER SEAT TTY \n 70 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:15:47.064349257: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:15:47.173640564: call returned: [0, "", ""] 01:15:47.173785624: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:15:47.274517825: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 And I clone USB drive "old" to a new USB drive "to_upgrade" # features/step_definitions/usb.rb:59 01:15:50.408571114: calling as root: test -b /dev/sdb 01:15:50.549766832: call returned: [1, "", ""] 01:15:51.562069252: calling as root: test -b /dev/sdb 01:15:51.757011622: call returned: [0, "", ""] And I plug USB drive "to_upgrade" # features/step_definitions/common_steps.rb:65 01:15:51.757922073: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:15:51.981593096: call returned: [1, "", ""] 01:15:52.013682188: calling as amnesia: xdotool key Super 01:15:52.209278971: call returned: [0, "", ""] 01:15:55.090786023: [log] TYPE "commandline" 01:15:55.153012933: [log] ( Ctrl ) TYPE "#ENTER." 01:16:00.741757365: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node309 = dogtail.tree.root.application('tails-installer') 01:16:00.754573484: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:16:02.660974195: execution complete 01:16:02.661122376: executing Python as amnesia: node310 = node309.child('Tails Installer', roleName='frame') 01:16:02.721301225: execution complete 01:16:05.721694020: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:16:05.906833799: call returned: [0, "", ""] 01:16:05.917273765: executing Python as amnesia: node311 = node309.child('Target USB stick:', roleName='label') 01:16:05.969798856: execution complete 01:16:05.969929835: executing Python as amnesia: node312 = node311.parent 01:16:05.993666077: execution complete 01:16:05.993803635: executing Python as amnesia: node313 = node312.child('', roleName='combo box', recursive=False) 01:16:06.023968341: execution complete 01:16:06.024085587: executing Python as amnesia: print(node313.name) 01:16:06.043770762: execution complete 01:16:06.043977933: executing Python as amnesia: node314 = node309.button('Upgrade') 01:16:06.076397316: execution complete 01:16:06.076498921: executing Python as amnesia: node314.click() 01:16:07.142151342: execution complete 01:16:07.142274173: executing Python as amnesia: node315 = node309.child('Question', roleName='alert') 01:16:07.188312179: execution complete 01:16:07.188430713: executing Python as amnesia: node316 = node315.button('Yes') 01:16:07.224816037: execution complete 01:16:07.224933964: executing Python as amnesia: node316.click() 01:16:08.294513000: execution complete 01:16:08.294747995: executing Python as amnesia: node317 = node309.child('Information', roleName='alert') 01:16:19.551203452: execution complete 01:16:20.551517302: executing Python as amnesia: node318 = node309.child('Information', roleName='alert') 01:16:31.441834273: execution complete 01:16:32.442215823: executing Python as amnesia: node319 = node309.child('Information', roleName='alert') 01:16:34.708014611: execution complete 01:16:34.708161602: executing Python as amnesia: node320 = node319.child('Installation complete!', roleName='label') 01:16:34.738311029: execution complete When I upgrade Tails to USB drive "to_upgrade" by cloning # features/step_definitions/usb.rb:129 01:16:34.739090101: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:16:35.473749439: call returned: [0, "8:1\n", ""] 01:16:35.473855916: calling as root: readlink -f /dev/block/'8:1' 01:16:35.631862344: call returned: [0, "/dev/sda1\n", ""] 01:16:35.632005874: calling as root: udevadm info --query=property --name='/dev/sda1' 01:16:35.936658441: call returned: [0, "DEVLINKS=/dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-label/Tails /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partlabel/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0xd000000000000005\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5829911\n", ""] 01:16:35.953268890: calling as root: udisksctl info --block-device '/dev/sdb' 01:16:36.342636389: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdb:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdb\n DeviceNumber: 2064\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_3'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdb\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-3-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:3:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:16:36.342791097: calling as root: udisksctl info --block-device '/dev/sdb1' 01:16:36.640477927: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdb1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdb1\n DeviceNumber: 2065\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_3'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-B134-5836\n IdLabel: Tails\n IdType: vfat\n IdUUID: B134-5836\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdb1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-3-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:3:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/B134-5836\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 5\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sdb'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 4d8958ab-9f31-4219-8f01-e9f4151526ce\n", ""] 01:16:36.640668072: calling as root: mkdir -p /mnt/new 01:16:36.820275265: call returned: [0, "", ""] 01:16:36.820412782: calling as root: mount /dev/sdb1 /mnt/new 01:16:37.065049570: call returned: [0, "", ""] 01:16:37.065150463: calling as root: diff -qr '/lib/live/mount/medium/live' '/mnt/new/live' 01:16:53.109254228: call returned: [0, "", ""] 01:16:53.109415003: calling as root: ls -1 /mnt/new/syslinux 01:16:53.720197302: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:16:53.720395414: calling as root: diff -q '/lib/live/mount/medium/syslinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:16:53.914762596: call returned: [0, "", ""] 01:16:53.914897093: calling as root: diff -q '/lib/live/mount/medium/syslinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:16:54.065537258: call returned: [0, "", ""] 01:16:54.065685376: calling as root: diff -q '/lib/live/mount/medium/syslinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:16:54.245026957: call returned: [0, "", ""] 01:16:54.245194893: calling as root: diff -q '/lib/live/mount/medium/syslinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:16:54.418365995: call returned: [0, "", ""] 01:16:54.418476298: calling as root: diff -q '/lib/live/mount/medium/syslinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:16:54.609150781: call returned: [0, "", ""] 01:16:54.609326147: calling as root: diff -q '/lib/live/mount/medium/syslinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:16:54.851726824: call returned: [0, "", ""] 01:16:54.851906075: calling as root: diff -q '/lib/live/mount/medium/syslinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:16:55.057840438: call returned: [0, "", ""] 01:16:55.058045360: calling as root: diff -q '/lib/live/mount/medium/syslinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:16:55.249998116: call returned: [0, "", ""] 01:16:55.250136711: calling as root: diff -q '/lib/live/mount/medium/syslinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:16:55.449865318: call returned: [0, "", ""] 01:16:55.450002226: calling as root: diff -q '/lib/live/mount/medium/syslinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:16:55.656136931: call returned: [0, "", ""] 01:16:55.656267029: calling as root: diff -q '/lib/live/mount/medium/syslinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:16:55.809485119: call returned: [0, "", ""] 01:16:55.809626132: calling as root: diff -q '/lib/live/mount/medium/syslinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:16:55.987395696: call returned: [0, "", ""] 01:16:55.987539568: calling as root: diff -q '/lib/live/mount/medium/syslinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:16:56.151175095: call returned: [0, "", ""] 01:16:56.151317063: calling as root: diff -q '/lib/live/mount/medium/syslinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:16:56.360522672: call returned: [0, "", ""] 01:16:56.360636643: calling as root: diff -q '/lib/live/mount/medium/syslinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:16:56.568578704: call returned: [0, "", ""] 01:16:56.568709001: calling as root: diff -q '/lib/live/mount/medium/syslinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:16:56.766533685: call returned: [0, "", ""] 01:16:56.766648952: calling as root: diff -q '/lib/live/mount/medium/syslinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:16:56.934489600: call returned: [0, "", ""] 01:16:56.934619833: calling as root: diff -q '/lib/live/mount/medium/syslinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:16:57.083800674: call returned: [0, "", ""] 01:16:57.083920756: calling as root: diff -q '/lib/live/mount/medium/syslinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:16:57.273153314: call returned: [0, "", ""] 01:16:57.273324764: calling as root: diff -q '/lib/live/mount/medium/syslinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:16:57.473193240: call returned: [0, "", ""] 01:16:57.473393781: calling as root: diff -q '/lib/live/mount/medium/syslinux/splash.png' '/mnt/new/syslinux/splash.png' 01:16:57.626798900: call returned: [0, "", ""] 01:16:57.626914942: calling as root: diff -q '/lib/live/mount/medium/syslinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:16:57.783389402: call returned: [0, "", ""] 01:16:57.783503559: calling as root: diff -q '/lib/live/mount/medium/syslinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:16:57.967156497: call returned: [0, "", ""] 01:16:57.967275578: calling as root: diff -q '/lib/live/mount/medium/syslinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:16:58.166018336: call returned: [0, "", ""] 01:16:58.166183611: calling as root: diff -q '/lib/live/mount/medium/syslinux/syslinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:16:58.329056197: call returned: [0, "", ""] 01:16:58.329179668: calling as root: umount /mnt/new 01:16:58.770372570: call returned: [0, "", ""] 01:16:58.770486578: calling as root: sync 01:16:58.931404039: call returned: [0, "", ""] Then the running Tails is installed on USB drive "to_upgrade" # features/step_definitions/usb.rb:264 And I unplug USB drive "to_upgrade" # features/step_definitions/usb.rb:66 And I unplug USB drive "__internal" # features/step_definitions/usb.rb:66 # Depends on scenario: Upgrading an old Tails USB installation from another Tails USB drive Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled # features/usb_upgrade.feature:92 Given a computer # features/step_definitions/common_steps.rb:46 01:17:01.072644570: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:17:03.721873563: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:17:48.453843847: calling as root: echo 'hello?' 01:17:48.646163931: call returned: [0, "hello?\n", ""] 01:17:48.646436009: calling as root: service tor status 01:17:48.886210399: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:17:48.886600551: opening file /etc/tor/torrc in 'append' mode 01:17:49.046796022: append complete 01:17:54.891161952: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." 01:17:55.617899276: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:17:55.618138660: calling as root: loginctl 01:17:55.766753021: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:17:56.767115510: calling as root: loginctl 01:17:57.017645146: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:18:04.564872467: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:18:04.642337879: call returned: [0, "", ""] 01:18:04.642450754: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:18:04.723160490: call returned: [0, "", ""] 01:18:04.723321985: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node321 = dogtail.tree.root.application('gnome-shell') 01:18:05.602466598: execution complete 01:18:06.333899759: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:18:06.334070496: executing Python as amnesia: node322 = node321.child('No Notifications', roleName='label') 01:18:07.251293328: execution complete 01:18:07.251508270: executing Python as amnesia: node323 = node321.child('No Notifications', roleName='label') 01:18:08.160413297: execution complete And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:18:08.202711981: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:18:08.217468159: [log] TYPE "#ESC." 01:18:08.415839499: call returned: [0, "", ""] 01:18:08.416004183: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:18:08.646592199: call returned: [0, "", ""] 01:18:08.646770585: calling as root: mount 01:18:09.026617518: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=38b5d6861900ab0f,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11233)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ntmpfs on /var/tmp type tmpfs (rw)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] Then all persistence presets from the old Tails version are enabled # features/step_definitions/usb.rb:337 01:18:09.027480969: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:18:09.284380084: call returned: [0, "8:1\n", ""] 01:18:09.284517268: calling as root: readlink -f /dev/block/'8:1' 01:18:09.504784177: call returned: [0, "/dev/sda1\n", ""] 01:18:09.504887512: calling as root: udevadm info --query=property --name='/dev/sda1' 01:18:09.807744601: call returned: [0, "DEVLINKS=/dev/disk/by-uuid/B134-5836 /dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce /dev/disk/by-label/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=B134-5836\nID_FS_UUID_ENC=B134-5836\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=4d8958ab-9f31-4219-8f01-e9f4151526ce\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=b23fceb4-557c-4963-b3c4-1c7fb682c8bc\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5774037\n", ""] 01:18:09.807960485: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:18:10.030364408: call returned: [0, "8:1\n", ""] 01:18:10.030464304: calling as root: readlink -f /dev/block/'8:1' 01:18:10.240893163: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "to_upgrade" # features/step_definitions/usb.rb:390 01:18:10.277403447: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:18:10.467911683: call returned: [0, "8:1\n", ""] 01:18:10.468045819: calling as root: readlink -f /dev/block/'8:1' 01:18:10.641996196: call returned: [0, "/dev/sda1\n", ""] 01:18:10.642138617: calling as root: ls -1 /dev/sda* 01:18:10.837439466: call returned: [0, "/dev/sda\n/dev/sda1\n/dev/sda2\n", ""] 01:18:10.837593497: calling as root: cut -d':' -f1 /etc/passwd 01:18:11.078343455: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 01:18:11.078498052: calling as root: groups root 01:18:11.401986330: call returned: [0, "root : root\n", ""] 01:18:11.402118214: calling as root: groups daemon 01:18:11.571507792: call returned: [0, "daemon : daemon\n", ""] 01:18:11.571628699: calling as root: groups bin 01:18:11.803585728: call returned: [0, "bin : bin\n", ""] 01:18:11.803707307: calling as root: groups sys 01:18:12.014513697: call returned: [0, "sys : sys\n", ""] 01:18:12.014667336: calling as root: groups sync 01:18:12.282517752: call returned: [0, "sync : nogroup\n", ""] 01:18:12.282693840: calling as root: groups games 01:18:12.494042922: call returned: [0, "games : games\n", ""] 01:18:12.494230334: calling as root: groups man 01:18:12.668630140: call returned: [0, "man : man\n", ""] 01:18:12.668795772: calling as root: groups lp 01:18:12.836364929: call returned: [0, "lp : lp\n", ""] 01:18:12.836486610: calling as root: groups mail 01:18:13.023051475: call returned: [0, "mail : mail\n", ""] 01:18:13.023237992: calling as root: groups news 01:18:13.273503399: call returned: [0, "news : news\n", ""] 01:18:13.273659432: calling as root: groups uucp 01:18:13.463608666: call returned: [0, "uucp : uucp\n", ""] 01:18:13.463723689: calling as root: groups proxy 01:18:13.734244619: call returned: [0, "proxy : proxy\n", ""] 01:18:13.734376589: calling as root: groups www-data 01:18:13.915151205: call returned: [0, "www-data : www-data\n", ""] 01:18:13.915291999: calling as root: groups backup 01:18:14.112283191: call returned: [0, "backup : backup\n", ""] 01:18:14.112406054: calling as root: groups list 01:18:14.278365153: call returned: [0, "list : list\n", ""] 01:18:14.278484033: calling as root: groups irc 01:18:14.528737654: call returned: [0, "irc : irc\n", ""] 01:18:14.528891130: calling as root: groups gnats 01:18:14.704574574: call returned: [0, "gnats : gnats\n", ""] 01:18:14.704728624: calling as root: groups nobody 01:18:14.927199822: call returned: [0, "nobody : nogroup\n", ""] 01:18:14.927355266: calling as root: groups systemd-timesync 01:18:15.107214081: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 01:18:15.107341576: calling as root: groups systemd-network 01:18:15.336105298: call returned: [0, "systemd-network : systemd-network\n", ""] 01:18:15.336257849: calling as root: groups systemd-resolve 01:18:15.539733385: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 01:18:15.539875797: calling as root: groups _apt 01:18:15.764420489: call returned: [0, "_apt : nogroup\n", ""] 01:18:15.764542110: calling as root: groups messagebus 01:18:15.923498615: call returned: [0, "messagebus : messagebus\n", ""] 01:18:15.923618529: calling as root: groups memlockd 01:18:16.096488850: call returned: [0, "memlockd : memlockd\n", ""] 01:18:16.096623597: calling as root: groups monkeysphere 01:18:16.285803940: call returned: [0, "monkeysphere : monkeysphere\n", ""] 01:18:16.285938891: calling as root: groups debian-tor 01:18:16.414119220: call returned: [0, "debian-tor : debian-tor\n", ""] 01:18:16.414234217: calling as root: groups speech-dispatcher 01:18:16.638365477: call returned: [0, "speech-dispatcher : audio\n", ""] 01:18:16.638534248: calling as root: groups colord 01:18:16.836614807: call returned: [0, "colord : colord\n", ""] 01:18:16.836751967: calling as root: groups saned 01:18:17.046678697: call returned: [0, "saned : saned scanner\n", ""] 01:18:17.046819673: calling as root: groups pulse 01:18:17.259061414: call returned: [0, "pulse : pulse audio\n", ""] 01:18:17.259189196: calling as root: groups hplip 01:18:17.417801904: call returned: [0, "hplip : lp\n", ""] 01:18:17.417965915: calling as root: groups Debian-gdm 01:18:17.532217108: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 01:18:17.532440977: calling as root: groups tails-persistence-setup 01:18:17.744974472: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 01:18:17.745180591: calling as root: groups clearnet 01:18:17.946743029: call returned: [0, "clearnet : clearnet\n", ""] 01:18:17.946894202: calling as root: groups htp 01:18:18.164849527: call returned: [0, "htp : htp\n", ""] 01:18:18.164981284: calling as root: groups tails-iuk-get-target-file 01:18:18.333538442: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 01:18:18.333686227: calling as root: groups tails-upgrade-frontend 01:18:18.531959283: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 01:18:18.532128405: calling as root: groups tor-launcher 01:18:18.764637751: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 01:18:18.764804626: calling as root: groups tails-install-iuk 01:18:18.977171373: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 01:18:18.977359145: calling as root: groups amnesia 01:18:19.186658702: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 01:18:19.186802982: calling as root: stat -c %U /dev/sda 01:18:19.413562243: call returned: [0, "root\n", ""] 01:18:19.413708406: calling as root: stat -c %G /dev/sda 01:18:19.643947462: call returned: [0, "disk\n", ""] 01:18:19.644092723: calling as root: stat -c %a /dev/sda 01:18:19.901943912: call returned: [0, "660\n", ""] 01:18:19.902281610: calling as root: stat -c %U /dev/sda1 01:18:20.127568883: call returned: [0, "root\n", ""] 01:18:20.127671161: calling as root: stat -c %G /dev/sda1 01:18:20.340018758: call returned: [0, "disk\n", ""] 01:18:20.340119249: calling as root: stat -c %a /dev/sda1 01:18:20.538199502: call returned: [0, "660\n", ""] 01:18:20.538552670: calling as root: stat -c %U /dev/sda2 01:18:20.729168389: call returned: [0, "root\n", ""] 01:18:20.729270160: calling as root: stat -c %G /dev/sda2 01:18:20.977726917: call returned: [0, "disk\n", ""] 01:18:20.977818816: calling as root: stat -c %a /dev/sda2 01:18:21.166132672: call returned: [0, "660\n", ""] 01:18:21.166473873: calling as root: udisksctl info --block-device '/dev/sda' 01:18:21.502200379: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 01:18:21.503934589: calling as root: test -e /home/amnesia/Persistent/XXX_persist 01:18:21.692560927: call returned: [0, "", ""] 01:18:21.692677998: calling as root: test -e /home/amnesia/Persistent/XXX_gone 01:18:21.900767942: call returned: [1, "", ""] 01:18:21.900911611: calling as root: test -e /home/amnesia/.gnupg/XXX_persist 01:18:22.098210451: call returned: [0, "", ""] 01:18:22.098330775: calling as root: test -e /home/amnesia/.gnupg/XXX_gone 01:18:22.324847832: call returned: [1, "", ""] 01:18:22.324992632: calling as root: test -e /home/amnesia/.ssh/XXX_persist 01:18:22.506000230: call returned: [0, "", ""] 01:18:22.506138110: calling as root: test -e /home/amnesia/.ssh/XXX_gone 01:18:22.672653666: call returned: [1, "", ""] 01:18:22.672805687: calling as root: test -e /home/amnesia/.purple/XXX_persist 01:18:22.885910318: call returned: [0, "", ""] 01:18:22.886065976: calling as root: test -e /home/amnesia/.purple/XXX_gone 01:18:23.096888480: call returned: [1, "", ""] 01:18:23.096999546: calling as root: test -e /home/amnesia/.thunderbird/XXX_persist 01:18:23.305139669: call returned: [0, "", ""] 01:18:23.305293533: calling as root: test -e /home/amnesia/.thunderbird/XXX_gone 01:18:23.510639842: call returned: [1, "", ""] 01:18:23.510755060: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_persist 01:18:23.735711802: call returned: [0, "", ""] 01:18:23.735915398: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_gone 01:18:23.927048609: call returned: [1, "", ""] 01:18:23.927186268: calling as root: test -e /etc/NetworkManager/system-connections/XXX_persist 01:18:24.143131359: call returned: [0, "", ""] 01:18:24.143258156: calling as root: test -e /etc/NetworkManager/system-connections/XXX_gone 01:18:24.358055731: call returned: [1, "", ""] 01:18:24.358188647: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_persist 01:18:24.569210378: call returned: [0, "", ""] 01:18:24.569321244: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_gone 01:18:24.774935201: call returned: [1, "", ""] 01:18:24.775077515: calling as root: test -e /etc/cups/XXX_persist 01:18:24.972333966: call returned: [0, "", ""] 01:18:24.972476326: calling as root: test -e /etc/cups/XXX_gone 01:18:25.179383417: call returned: [1, "", ""] 01:18:25.179494612: calling as root: test -e /home/amnesia/.electrum/XXX_persist 01:18:25.328050950: call returned: [0, "", ""] 01:18:25.328177110: calling as root: test -e /home/amnesia/.electrum/XXX_gone 01:18:25.507114888: call returned: [1, "", ""] 01:18:25.507226881: calling as root: test -e /var/cache/apt/archives/XXX_persist 01:18:25.651214176: call returned: [0, "", ""] 01:18:25.651341045: calling as root: test -e /var/cache/apt/archives/XXX_gone 01:18:25.855854882: call returned: [1, "", ""] 01:18:25.855980458: calling as root: test -e /var/lib/apt/lists/XXX_persist 01:18:26.071085121: call returned: [0, "", ""] 01:18:26.071211764: calling as root: test -e /var/lib/apt/lists/XXX_gone 01:18:26.307777925: call returned: [1, "", ""] And the expected persistent files created with the old Tails version are present in the filesystem # features/step_definitions/usb.rb:537 01:18:26.308490810: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:18:26.503776356: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:18:26.503879339: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 01:18:26.701423835: call returned: [0, "", ""] 01:18:26.701548806: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 01:18:26.917362989: call returned: [0, "700\n", ""] 01:18:26.917539910: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 01:18:27.153712565: call returned: [0, "amnesia\n", ""] 01:18:27.153920661: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 01:18:27.355078343: call returned: [0, "", ""] 01:18:27.355246536: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 01:18:27.561772942: call returned: [0, "700\n", ""] 01:18:27.561924394: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 01:18:27.750663789: call returned: [0, "amnesia\n", ""] 01:18:27.750869355: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 01:18:27.944016323: call returned: [0, "", ""] 01:18:27.944143008: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 01:18:28.154873573: call returned: [0, "700\n", ""] 01:18:28.155015572: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 01:18:28.304162926: call returned: [0, "amnesia\n", ""] 01:18:28.304299736: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 01:18:28.531074356: call returned: [0, "", ""] 01:18:28.531218436: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 01:18:28.730726976: call returned: [0, "700\n", ""] 01:18:28.730922664: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 01:18:28.925021371: call returned: [0, "amnesia\n", ""] 01:18:28.925191915: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 01:18:29.139845114: call returned: [0, "", ""] 01:18:29.139964497: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 01:18:29.349303015: call returned: [0, "700\n", ""] 01:18:29.349422643: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 01:18:29.557377785: call returned: [0, "amnesia\n", ""] 01:18:29.557529018: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 01:18:29.719804442: call returned: [0, "", ""] 01:18:29.719917413: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:18:29.880415655: call returned: [0, "700\n", ""] 01:18:29.880577772: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:18:30.084620843: call returned: [0, "amnesia\n", ""] 01:18:30.084789878: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 01:18:30.281512223: call returned: [0, "", ""] 01:18:30.281662511: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 01:18:30.491016455: call returned: [0, "755\n", ""] 01:18:30.491150320: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 01:18:30.699471212: call returned: [0, "root\n", ""] 01:18:30.699621643: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 01:18:30.955798661: call returned: [0, "", ""] 01:18:30.955942593: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 01:18:31.149177604: call returned: [0, "700\n", ""] 01:18:31.149316677: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 01:18:31.351435748: call returned: [0, "amnesia\n", ""] 01:18:31.351584941: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 01:18:31.571685593: call returned: [0, "", ""] 01:18:31.571800933: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 01:18:31.970322279: call returned: [0, "755\n", ""] 01:18:31.970473886: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 01:18:32.229935423: call returned: [0, "root\n", ""] 01:18:32.230118418: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 01:18:32.442042647: call returned: [0, "", ""] 01:18:32.442156822: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 01:18:32.669493099: call returned: [0, "700\n", ""] 01:18:32.669639813: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 01:18:32.901591180: call returned: [0, "amnesia\n", ""] 01:18:32.901764889: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 01:18:33.089681521: call returned: [0, "", ""] 01:18:33.089806486: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 01:18:33.307325573: call returned: [0, "755\n", ""] 01:18:33.307468804: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 01:18:33.495462583: call returned: [0, "root\n", ""] 01:18:33.495651190: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 01:18:33.716101753: call returned: [0, "", ""] 01:18:33.716216510: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 01:18:33.948368823: call returned: [0, "755\n", ""] 01:18:33.948529264: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 01:18:34.149262930: call returned: [0, "root\n", ""] 01:18:34.149409412: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 01:18:34.336855187: call returned: [0, "", ""] 01:18:34.336992690: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 01:18:34.548599423: call returned: [0, "700\n", ""] 01:18:34.548713960: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 01:18:34.766515469: call returned: [0, "amnesia\n", ""] And all persistent directories from the old Tails version have safe access rights # features/step_definitions/usb.rb:472 # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation Scenario: Upgrading an old Tails USB installation from an ISO image, running on the old version # features/usb_upgrade.feature:102 Given a computer # features/step_definitions/common_steps.rb:46 And I clone USB drive "old" to a new USB drive "to_upgrade" # features/step_definitions/usb.rb:59 01:18:39.278391948: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:18:41.959073388: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:19:27.356990126: calling as root: echo 'hello?' 01:19:27.564051041: call returned: [0, "hello?\n", ""] 01:19:27.564434722: calling as root: service tor status 01:19:27.755835538: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:19:27.756232764: opening file /etc/tor/torrc in 'append' mode 01:19:27.923302519: append complete 01:19:28.688429226: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:19:28.688693007: calling as root: loginctl 01:19:28.848829209: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:19:29.849191845: calling as root: loginctl 01:19:30.054631442: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 01:19:37.933976004: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:19:38.051076309: call returned: [0, "", ""] 01:19:38.051210574: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:19:38.127503574: call returned: [0, "", ""] 01:19:38.127685016: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node324 = dogtail.tree.root.application('gnome-shell') 01:19:39.114349730: execution complete 01:19:39.837896852: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:19:39.838042510: executing Python as amnesia: node325 = node324.child('No Notifications', roleName='label') 01:19:40.854028986: execution complete 01:19:40.854199641: executing Python as amnesia: node326 = node324.child('No Notifications', roleName='label') 01:19:41.659222095: execution complete 01:19:41.704526472: [log] TYPE "#ESC." When I start Tails from USB drive "old" with network unplugged and I login # features/step_definitions/common_steps.rb:137 01:19:41.734550970: libguestfs: trace: set_autosync true 01:19:41.734696552: libguestfs: trace: set_autosync = 0 01:19:41.737165989: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/jrAQFDxebo" "format:qcow2" 01:19:41.737246659: libguestfs: trace: add_drive = 0 01:19:41.737351105: libguestfs: trace: launch 01:19:41.737382530: libguestfs: trace: get_tmpdir 01:19:41.737411987: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:19:41.737483757: libguestfs: trace: get_backend_setting "force_tcg" 01:19:41.737581245: libguestfs: trace: get_backend_setting = NULL (error) 01:19:41.737625284: libguestfs: trace: get_cachedir 01:19:41.737659024: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:19:41.787373520: libguestfs: trace: get_cachedir 01:19:41.787721816: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:19:41.787871339: libguestfs: trace: get_sockdir 01:19:41.787944382: libguestfs: trace: get_sockdir = "/tmp" 01:19:41.788080203: libguestfs: trace: get_backend_setting "gdb" 01:19:41.788292035: libguestfs: trace: get_backend_setting = NULL (error) 01:19:46.076523528: libguestfs: trace: launch = 0 01:19:46.076697693: libguestfs: trace: list_devices 01:19:46.077992701: libguestfs: trace: list_devices = ["/dev/sda"] 01:19:46.078492936: libguestfs: trace: part_disk "/dev/sda" "gpt" 01:19:46.179683718: libguestfs: trace: part_disk = 0 01:19:46.179807476: libguestfs: trace: part_set_name "/dev/sda" 1 "jrAQFDxebo" 01:19:46.238521379: libguestfs: trace: part_set_name = 0 01:19:46.239039705: libguestfs: trace: list_partitions 01:19:46.239629701: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:19:46.239700967: libguestfs: trace: mkfs "ext4" "/dev/sda1" 01:19:46.465755164: libguestfs: trace: mkfs = 0 01:19:46.466153518: libguestfs: trace: close 01:19:46.466263232: libguestfs: trace: internal_autosync 01:19:46.469189178: libguestfs: trace: internal_autosync = 0 01:19:46.544074160: libguestfs: trace: set_autosync true 01:19:46.544168117: libguestfs: trace: set_autosync = 0 01:19:46.548273708: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/jrAQFDxebo" "format:qcow2" 01:19:46.548339964: libguestfs: trace: add_drive = 0 01:19:46.548375635: libguestfs: trace: launch 01:19:46.548406377: libguestfs: trace: get_tmpdir 01:19:46.548696307: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:19:46.548780983: libguestfs: trace: get_backend_setting "force_tcg" 01:19:46.548836481: libguestfs: trace: get_backend_setting = NULL (error) 01:19:46.548870233: libguestfs: trace: get_cachedir 01:19:46.548910019: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:19:46.585149045: libguestfs: trace: get_cachedir 01:19:46.585246882: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:19:46.585363357: libguestfs: trace: get_sockdir 01:19:46.585404247: libguestfs: trace: get_sockdir = "/tmp" 01:19:46.585502039: libguestfs: trace: get_backend_setting "gdb" 01:19:46.585688425: libguestfs: trace: get_backend_setting = NULL (error) 01:19:49.810085914: libguestfs: trace: launch = 0 01:19:49.810253029: libguestfs: trace: list_devices 01:19:49.811030984: libguestfs: trace: list_devices = ["/dev/sda"] 01:19:49.811127170: libguestfs: trace: list_partitions 01:19:49.811909457: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:19:49.811984669: libguestfs: trace: mount "/dev/sda1" "/" 01:19:49.819566188: libguestfs: trace: mount = 0 01:19:49.819700748: libguestfs: trace: upload "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" 01:19:57.080353113: libguestfs: trace: upload = 0 01:19:57.080473980: libguestfs: trace: close 01:19:57.080530261: libguestfs: trace: internal_autosync 01:19:57.837171400: libguestfs: trace: internal_autosync = 0 01:19:57.977921433: calling as root: test -b /dev/sdb 01:19:58.119784744: call returned: [1, "", ""] 01:19:59.138604287: calling as root: test -b /dev/sdb 01:19:59.299843541: call returned: [1, "", ""] 01:20:00.313241171: calling as root: test -b /dev/sdb 01:20:00.430981192: call returned: [0, "", ""] 01:20:00.431172642: calling as root: mktemp -d 01:20:00.614014800: call returned: [0, "/tmp/tmp.8VMDLwNEmA\n", ""] 01:20:00.625736931: calling as root: mount /dev/sdb1 /tmp/tmp.8VMDLwNEmA 01:20:01.112765627: call returned: [0, "", ""] 01:20:01.112917895: calling as root: chmod -R a+rX '/tmp/tmp.8VMDLwNEmA' 01:20:01.349482377: call returned: [0, "", ""] And I plug and mount a USB drive containing the Tails ISO # features/step_definitions/usb.rb:166 01:20:01.415691649: calling as root: test -b /dev/sdc 01:20:01.562360875: call returned: [1, "", ""] 01:20:02.574423669: calling as root: test -b /dev/sdc 01:20:02.722434544: call returned: [1, "", ""] 01:20:03.734388970: calling as root: test -b /dev/sdc 01:20:03.882263324: call returned: [0, "", ""] And I plug USB drive "to_upgrade" # features/step_definitions/common_steps.rb:65 01:20:03.883644891: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:20:04.093000125: call returned: [1, "", ""] 01:20:04.146587152: calling as amnesia: xdotool key Super 01:20:04.448183979: call returned: [0, "", ""] 01:20:05.666681463: [log] TYPE "commandline" 01:20:05.728103248: [log] ( Ctrl ) TYPE "#ENTER." 01:20:10.642461229: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:20:10.642680339: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node327 = dogtail.tree.root.application('tails-installer') 01:20:12.066455121: execution complete 01:20:12.066609765: executing Python as amnesia: node328 = node327.child('Tails Installer', roleName='frame') 01:20:12.111463454: execution complete 01:20:15.111751310: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:20:15.283978935: call returned: [0, "", ""] 01:20:15.295441934: executing Python as amnesia: node329 = node327.child('Target USB stick:', roleName='label') 01:20:15.341207898: execution complete 01:20:15.341349189: executing Python as amnesia: node330 = node329.parent 01:20:15.361822676: execution complete 01:20:15.361942504: executing Python as amnesia: node331 = node330.child('', roleName='combo box', recursive=False) 01:20:15.391176758: execution complete 01:20:15.391275232: executing Python as amnesia: print(node331.name) 01:20:15.411303181: execution complete 01:20:15.411612163: executing Python as amnesia: node332 = node327.child('Use a downloaded Tails ISO image', roleName='radio button') 01:20:15.448169494: execution complete 01:20:15.448308648: executing Python as amnesia: node332.click() 01:20:16.517808524: execution complete 01:20:16.517935607: executing Python as amnesia: node333 = node332.parent 01:20:16.540859156: execution complete 01:20:16.541005751: executing Python as amnesia: node334 = node333.button('(None)') 01:20:16.565501744: execution complete 01:20:16.565618231: executing Python as amnesia: node334.click() 01:20:17.602386232: execution complete 01:20:17.602509368: executing Python as amnesia: node335 = node327.child('Select a File', roleName='file chooser') 01:20:17.676214670: execution complete 01:20:17.739338483: [log] ( Ctrl ) TYPE "l" 01:20:17.739517255: executing Python as amnesia: node336 = node335.child(roleName='text') 01:20:17.863117860: execution complete 01:20:17.863275317: executing Python as amnesia: node336.typeText('/tmp/tmp.8VMDLwNEmA/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso\n') 01:20:32.079874840: execution complete 01:20:32.080006953: executing Python as amnesia: node337 = node335.button('Open') 01:20:32.105165187: execution complete 01:20:32.105286108: executing Python as amnesia: node337.click() 01:20:33.138618593: execution complete 01:20:33.138768093: executing Python as amnesia: node338 = node327.button('Upgrade') 01:20:33.213508255: execution complete 01:20:33.213622204: executing Python as amnesia: node338.click() 01:20:34.260968807: execution complete 01:20:34.261150715: executing Python as amnesia: node339 = node327.child('Question', roleName='alert') 01:20:34.317918670: execution complete 01:20:34.318037447: executing Python as amnesia: node340 = node339.button('Yes') 01:20:34.343810874: execution complete 01:20:34.343941883: executing Python as amnesia: node340.click() 01:20:35.397303193: execution complete 01:20:35.397462348: executing Python as amnesia: node341 = node327.child('Information', roleName='alert') 01:20:46.194616347: execution complete 01:20:47.194882833: executing Python as amnesia: node342 = node327.child('Information', roleName='alert') 01:20:57.866061873: execution complete 01:20:58.866351435: executing Python as amnesia: node343 = node327.child('Information', roleName='alert') 01:20:58.932611864: execution complete 01:20:58.932761296: executing Python as amnesia: node344 = node343.child('Installation complete!', roleName='label') 01:20:58.961738537: execution complete And I upgrade Tails on USB drive "to_upgrade" from an ISO # features/step_definitions/usb.rb:129 01:20:58.962842034: calling as root: mkdir -p /mnt/iso 01:20:59.712646431: call returned: [0, "", ""] 01:20:59.712760397: calling as root: mount -o loop /tmp/tmp.8VMDLwNEmA/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso /mnt/iso 01:21:00.161555409: call returned: [0, "", "mount: /dev/loop1 is write-protected, mounting read-only\n"] 01:21:00.172346109: calling as root: udisksctl info --block-device '/dev/sdc' 01:21:00.699495783: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdc:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdc\n DeviceNumber: 2080\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_4'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdc\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-4-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:4:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:21:00.699672184: calling as root: udisksctl info --block-device '/dev/sdc1' 01:21:01.004170082: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdc1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdc1\n DeviceNumber: 2081\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_4'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-B134-5836\n IdLabel: Tails\n IdType: vfat\n IdUUID: B134-5836\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdc1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-4-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:4:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/B134-5836\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 5\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sdc'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 4d8958ab-9f31-4219-8f01-e9f4151526ce\n", ""] 01:21:01.004346946: calling as root: mkdir -p /mnt/new 01:21:01.147788989: call returned: [0, "", ""] 01:21:01.147910970: calling as root: mount /dev/sdc1 /mnt/new 01:21:01.340060980: call returned: [0, "", ""] 01:21:01.340180430: calling as root: diff -qr '/mnt/iso/live' '/mnt/new/live' 01:21:17.364726563: call returned: [0, "", ""] 01:21:17.364905561: calling as root: ls -1 /mnt/new/syslinux 01:21:17.979513031: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:21:17.979686149: calling as root: diff -q '/mnt/iso/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:21:18.219684332: call returned: [0, "", ""] 01:21:18.219853069: calling as root: diff -q '/mnt/iso/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:21:18.393989633: call returned: [0, "", ""] 01:21:18.394126380: calling as root: diff -q '/mnt/iso/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:21:18.570242506: call returned: [0, "", ""] 01:21:18.570350675: calling as root: diff -q '/mnt/iso/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:21:18.739443562: call returned: [0, "", ""] 01:21:18.739557905: calling as root: diff -q '/mnt/iso/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:21:18.881924925: call returned: [0, "", ""] 01:21:18.882034050: calling as root: diff -q '/mnt/iso/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:21:19.098650350: call returned: [0, "", ""] 01:21:19.098779520: calling as root: diff -q '/mnt/iso/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:21:19.274831406: call returned: [0, "", ""] 01:21:19.275001315: calling as root: diff -q '/mnt/iso/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:21:19.483464245: call returned: [0, "", ""] 01:21:19.483628033: calling as root: diff -q '/mnt/iso/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:21:19.640122427: call returned: [0, "", ""] 01:21:19.640246441: calling as root: diff -q '/mnt/iso/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:21:19.798364382: call returned: [0, "", ""] 01:21:19.798492798: calling as root: diff -q '/mnt/iso/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:21:19.967529156: call returned: [0, "", ""] 01:21:19.967653379: calling as root: diff -q '/mnt/iso/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:21:20.140931698: call returned: [0, "", ""] 01:21:20.141060160: calling as root: diff -q '/mnt/iso/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:21:20.330011112: call returned: [0, "", ""] 01:21:20.330174317: calling as root: diff -q '/mnt/iso/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:21:20.535083049: call returned: [0, "", ""] 01:21:20.535212307: calling as root: diff -q '/mnt/iso/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:21:20.727259667: call returned: [0, "", ""] 01:21:20.727375389: calling as root: diff -q '/mnt/iso/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:21:20.900631240: call returned: [0, "", ""] 01:21:20.900757774: calling as root: diff -q '/mnt/iso/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:21:21.112910173: call returned: [0, "", ""] 01:21:21.113029972: calling as root: diff -q '/mnt/iso/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:21:21.250694638: call returned: [0, "", ""] 01:21:21.250830139: calling as root: diff -q '/mnt/iso/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:21:21.425257571: call returned: [0, "", ""] 01:21:21.425410170: calling as root: diff -q '/mnt/iso/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:21:21.589283663: call returned: [0, "", ""] 01:21:21.589420555: calling as root: diff -q '/mnt/iso/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 01:21:21.748264692: call returned: [0, "", ""] 01:21:21.748425496: calling as root: diff -q '/mnt/iso/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:21:21.930969088: call returned: [0, "", ""] 01:21:21.931100275: calling as root: diff -q '/mnt/iso/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:21:22.079471200: call returned: [0, "", ""] 01:21:22.079595656: calling as root: diff -q '/mnt/iso/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:21:22.249738847: call returned: [0, "", ""] 01:21:22.249858699: calling as root: diff -q '/mnt/iso/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:21:22.415413571: call returned: [0, "", ""] 01:21:22.415526330: calling as root: umount /mnt/new 01:21:22.849884442: call returned: [0, "", ""] 01:21:22.849986140: calling as root: sync 01:21:23.013739108: call returned: [0, "", ""] 01:21:23.013844895: calling as root: umount /mnt/iso 01:21:23.356407033: call returned: [0, "", ""] Then the ISO's Tails is installed on USB drive "to_upgrade" # features/step_definitions/usb.rb:269 And I unplug USB drive "to_upgrade" # features/step_definitions/usb.rb:66 # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation Scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version # features/usb_upgrade.feature:113 01:21:28.217989480: calling as root: echo 'hello?' 01:21:28.431309032: call returned: [0, "hello?\n", ""] 01:21:29.155042818: calling as root: nmcli device show eth0 01:21:29.156558378: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:21:29.472697665: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:21:29.482328546: calling as root: date -s '@1523723793' 01:21:29.635702647: call returned: [0, "Sat Apr 14 16:36:33 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:21:29.671152480: libguestfs: trace: set_autosync true 01:21:29.671234603: libguestfs: trace: set_autosync = 0 01:21:29.673676348: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/qCdFLewMqm" "format:qcow2" 01:21:29.673754814: libguestfs: trace: add_drive = 0 01:21:29.673835783: libguestfs: trace: launch 01:21:29.673867819: libguestfs: trace: get_tmpdir 01:21:29.673935879: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:21:29.674027455: libguestfs: trace: get_backend_setting "force_tcg" 01:21:29.674066864: libguestfs: trace: get_backend_setting = NULL (error) 01:21:29.674148351: libguestfs: trace: get_cachedir 01:21:29.674181713: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:21:29.714822816: libguestfs: trace: get_cachedir 01:21:29.714921706: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:21:29.715165973: libguestfs: trace: get_sockdir 01:21:29.715205496: libguestfs: trace: get_sockdir = "/tmp" 01:21:29.715414177: libguestfs: trace: get_backend_setting "gdb" 01:21:29.715459900: libguestfs: trace: get_backend_setting = NULL (error) 01:21:32.993253850: libguestfs: trace: launch = 0 01:21:32.993432725: libguestfs: trace: list_devices 01:21:32.994868025: libguestfs: trace: list_devices = ["/dev/sda"] 01:21:32.995028836: libguestfs: trace: part_disk "/dev/sda" "gpt" 01:21:33.070713423: libguestfs: trace: part_disk = 0 01:21:33.071139544: libguestfs: trace: part_set_name "/dev/sda" 1 "qCdFLewMqm" 01:21:33.114014335: libguestfs: trace: part_set_name = 0 01:21:33.114453475: libguestfs: trace: list_partitions 01:21:33.114806052: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:21:33.114911470: libguestfs: trace: mkfs "ext4" "/dev/sda1" 01:21:33.514918948: libguestfs: trace: mkfs = 0 01:21:33.515153912: libguestfs: trace: close 01:21:33.515468128: libguestfs: trace: internal_autosync 01:21:33.520458285: libguestfs: trace: internal_autosync = 0 01:21:33.609772702: libguestfs: trace: set_autosync true 01:21:33.609970764: libguestfs: trace: set_autosync = 0 01:21:33.612996513: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/qCdFLewMqm" "format:qcow2" 01:21:33.613109110: libguestfs: trace: add_drive = 0 01:21:33.613146221: libguestfs: trace: launch 01:21:33.613180196: libguestfs: trace: get_tmpdir 01:21:33.613213897: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:21:33.613352914: libguestfs: trace: get_backend_setting "force_tcg" 01:21:33.613394569: libguestfs: trace: get_backend_setting = NULL (error) 01:21:33.613439281: libguestfs: trace: get_cachedir 01:21:33.613472753: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:21:33.649506769: libguestfs: trace: get_cachedir 01:21:33.649600950: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:21:33.649718568: libguestfs: trace: get_sockdir 01:21:33.649759891: libguestfs: trace: get_sockdir = "/tmp" 01:21:33.649919937: libguestfs: trace: get_backend_setting "gdb" 01:21:33.649964504: libguestfs: trace: get_backend_setting = NULL (error) 01:21:36.831438652: libguestfs: trace: launch = 0 01:21:36.831602846: libguestfs: trace: list_devices 01:21:36.832619770: libguestfs: trace: list_devices = ["/dev/sda"] 01:21:36.832718977: libguestfs: trace: list_partitions 01:21:36.833927082: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:21:36.834013190: libguestfs: trace: mount "/dev/sda1" "/" 01:21:36.842774939: libguestfs: trace: mount = 0 01:21:36.842909378: libguestfs: trace: upload "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/tmp/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" "/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso" 01:21:44.669482374: libguestfs: trace: upload = 0 01:21:44.670083995: libguestfs: trace: close 01:21:44.670308519: libguestfs: trace: internal_autosync 01:21:45.470742013: libguestfs: trace: internal_autosync = 0 01:21:45.601606805: calling as root: test -b /dev/sda 01:21:45.744102579: call returned: [1, "", ""] 01:21:46.756471411: calling as root: test -b /dev/sda 01:21:46.916405554: call returned: [1, "", ""] 01:21:47.931163157: calling as root: test -b /dev/sda 01:21:48.103324385: call returned: [0, "", ""] 01:21:48.103494391: calling as root: mktemp -d 01:21:48.244152412: call returned: [0, "/tmp/tmp.gCFEgI8dec\n", ""] 01:21:48.258970724: calling as root: mount /dev/sda1 /tmp/tmp.gCFEgI8dec 01:21:48.755175023: call returned: [0, "", ""] 01:21:48.755350467: calling as root: chmod -R a+rX '/tmp/tmp.gCFEgI8dec' 01:21:48.930274855: call returned: [0, "", ""] And I plug and mount a USB drive containing the Tails ISO # features/step_definitions/usb.rb:166 And I clone USB drive "old" to a new USB drive "to_upgrade" # features/step_definitions/usb.rb:59 01:21:52.025690227: calling as root: test -b /dev/sdb 01:21:52.183279186: call returned: [1, "", ""] 01:21:53.196625435: calling as root: test -b /dev/sdb 01:21:53.399639092: call returned: [0, "", ""] And I plug USB drive "to_upgrade" # features/step_definitions/common_steps.rb:65 01:21:53.400546118: calling as root: pidof -x -o '%PPID' gnome-terminal-server 01:21:53.669027970: call returned: [1, "", ""] 01:21:53.705900485: calling as amnesia: xdotool key Super 01:21:53.939250303: call returned: [0, "", ""] 01:21:55.483323331: [log] TYPE "commandline" 01:21:55.545889899: [log] ( Ctrl ) TYPE "#ENTER." 01:22:00.558191491: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node345 = dogtail.tree.root.application('tails-installer') 01:22:00.568173703: [log] TYPE "/usr/bin/tails-installer --verbose > /tmp/tails-installer.log 2>&1#ENTER." 01:22:02.240290508: execution complete 01:22:02.240485454: executing Python as amnesia: node346 = node345.child('Tails Installer', roleName='frame') 01:22:02.284829091: execution complete 01:22:05.285154745: calling as amnesia: xdotool search --name 'Tails Installer' windowactivate --sync 01:22:05.452218750: call returned: [0, "", ""] 01:22:05.465591667: executing Python as amnesia: node347 = node345.child('Target USB stick:', roleName='label') 01:22:05.501943651: execution complete 01:22:05.502086637: executing Python as amnesia: node348 = node347.parent 01:22:05.523434086: execution complete 01:22:05.523622796: executing Python as amnesia: node349 = node348.child('', roleName='combo box', recursive=False) 01:22:05.558919340: execution complete 01:22:05.559105287: executing Python as amnesia: print(node349.name) 01:22:05.584803932: execution complete 01:22:05.585001726: executing Python as amnesia: node350 = node345.child('Use a downloaded Tails ISO image', roleName='radio button') 01:22:05.617982927: execution complete 01:22:05.618088090: executing Python as amnesia: node350.click() 01:22:06.686807112: execution complete 01:22:06.686975117: executing Python as amnesia: node351 = node350.parent 01:22:06.714216618: execution complete 01:22:06.714531178: executing Python as amnesia: node352 = node351.button('(None)') 01:22:06.745169416: execution complete 01:22:06.745273224: executing Python as amnesia: node352.click() 01:22:07.769295031: execution complete 01:22:07.769426445: executing Python as amnesia: node353 = node345.child('Select a File', roleName='file chooser') 01:22:07.829678792: execution complete 01:22:07.896746613: [log] ( Ctrl ) TYPE "l" 01:22:07.896976815: executing Python as amnesia: node354 = node353.child(roleName='text') 01:22:07.982629388: execution complete 01:22:07.982736727: executing Python as amnesia: node354.typeText('/tmp/tmp.gCFEgI8dec/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso\n') 01:22:22.146376353: execution complete 01:22:22.146521648: executing Python as amnesia: node355 = node353.button('Open') 01:22:22.168283942: execution complete 01:22:22.168411359: executing Python as amnesia: node355.click() 01:22:23.192767477: execution complete 01:22:23.192895348: executing Python as amnesia: node356 = node345.button('Upgrade') 01:22:23.239453085: execution complete 01:22:23.239586843: executing Python as amnesia: node356.click() 01:22:24.275268022: execution complete 01:22:24.275399576: executing Python as amnesia: node357 = node345.child('Question', roleName='alert') 01:22:24.320247839: execution complete 01:22:24.320374272: executing Python as amnesia: node358 = node357.button('Yes') 01:22:24.350440104: execution complete 01:22:24.350609818: executing Python as amnesia: node358.click() 01:22:25.411946797: execution complete 01:22:25.412130068: executing Python as amnesia: node359 = node345.child('Information', roleName='alert') 01:22:36.553748646: execution complete 01:22:37.554172727: executing Python as amnesia: node360 = node345.child('Information', roleName='alert') 01:22:48.615203083: execution complete 01:22:49.615491111: executing Python as amnesia: node361 = node345.child('Information', roleName='alert') 01:22:51.274687372: execution complete 01:22:51.274815635: executing Python as amnesia: node362 = node361.child('Installation complete!', roleName='label') 01:22:51.306652900: execution complete And I upgrade Tails on USB drive "to_upgrade" from an ISO # features/step_definitions/usb.rb:129 01:22:51.307410787: calling as root: mkdir -p /mnt/iso 01:22:52.012704644: call returned: [0, "", ""] 01:22:52.012817280: calling as root: mount -o loop /tmp/tmp.gCFEgI8dec/tails-amd64-bugfix_15336-cannot-print-local-pages+force-all-tests-3.7-20180414T1419Z-02a2bcb073+stable@7bffba1055.iso /mnt/iso 01:22:52.438570631: call returned: [0, "", "mount: /dev/loop1 is write-protected, mounting read-only\n"] 01:22:52.450389099: calling as root: udisksctl info --block-device '/dev/sdb' 01:22:52.989678496: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdb:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdb\n DeviceNumber: 2064\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_3'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdb\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-3-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:3:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] 01:22:52.989877263: calling as root: udisksctl info --block-device '/dev/sdb1' 01:22:53.335491009: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sdb1:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sdb1\n DeviceNumber: 2065\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_3'\n HintAuto: true\n HintIconName: \n HintIgnore: true\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: false\n Id: by-uuid-B134-5836\n IdLabel: Tails\n IdType: vfat\n IdUUID: B134-5836\n IdUsage: filesystem\n IdVersion: FAT32\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sdb1\n ReadOnly: false\n Size: 4294967296\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-3-0:0-part1\n /dev/disk/by-label/Tails\n /dev/disk/by-partlabel/Tails\n /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:3:1.0-scsi-0:0:0:0-part1\n /dev/disk/by-uuid/B134-5836\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n org.freedesktop.UDisks2.Partition:\n Flags: 5\n IsContained: false\n IsContainer: false\n Name: Tails\n Number: 1\n Offset: 1048576\n Size: 4294967296\n Table: '/org/freedesktop/UDisks2/block_devices/sdb'\n Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b\n UUID: 4d8958ab-9f31-4219-8f01-e9f4151526ce\n", ""] 01:22:53.335697843: calling as root: mkdir -p /mnt/new 01:22:53.516718258: call returned: [0, "", ""] 01:22:53.516867299: calling as root: mount /dev/sdb1 /mnt/new 01:22:53.763267753: call returned: [0, "", ""] 01:22:53.763382861: calling as root: diff -qr '/mnt/iso/live' '/mnt/new/live' 01:23:09.208804485: call returned: [0, "", ""] 01:23:09.208923121: calling as root: ls -1 /mnt/new/syslinux 01:23:09.778404197: call returned: [0, "boot.cat\ncat.c32\nf10.txt\nf1.txt\nf2.txt\nf3.txt\nf4.txt\nf5.txt\nf6.txt\nf7.txt\nf8.txt\nf9.txt\nifcpu64.c32\nisolinux.bin\nldlinux.c32\nldlinux.sys\nlibcom32.c32\nlibutil.c32\nlive64.cfg\nlive.cfg\nmenu.cfg\nsorry32.txt\nsplash.png\nstdmenu.cfg\nsyslinux.cfg\ntails.cfg\nvesamenu.c32\n", ""] 01:23:09.778536480: calling as root: diff -q '/mnt/iso/isolinux/boot.cat' '/mnt/new/syslinux/boot.cat' 01:23:09.966917309: call returned: [0, "", ""] 01:23:09.967072140: calling as root: diff -q '/mnt/iso/isolinux/cat.c32' '/mnt/new/syslinux/cat.c32' 01:23:10.141242682: call returned: [0, "", ""] 01:23:10.141414625: calling as root: diff -q '/mnt/iso/isolinux/f10.txt' '/mnt/new/syslinux/f10.txt' 01:23:10.301182300: call returned: [0, "", ""] 01:23:10.301317706: calling as root: diff -q '/mnt/iso/isolinux/f1.txt' '/mnt/new/syslinux/f1.txt' 01:23:10.455351390: call returned: [0, "", ""] 01:23:10.455517006: calling as root: diff -q '/mnt/iso/isolinux/f2.txt' '/mnt/new/syslinux/f2.txt' 01:23:10.616896599: call returned: [0, "", ""] 01:23:10.617036380: calling as root: diff -q '/mnt/iso/isolinux/f3.txt' '/mnt/new/syslinux/f3.txt' 01:23:10.808186951: call returned: [0, "", ""] 01:23:10.808335956: calling as root: diff -q '/mnt/iso/isolinux/f4.txt' '/mnt/new/syslinux/f4.txt' 01:23:10.962795661: call returned: [0, "", ""] 01:23:10.962930311: calling as root: diff -q '/mnt/iso/isolinux/f5.txt' '/mnt/new/syslinux/f5.txt' 01:23:11.139948312: call returned: [0, "", ""] 01:23:11.140063731: calling as root: diff -q '/mnt/iso/isolinux/f6.txt' '/mnt/new/syslinux/f6.txt' 01:23:11.303151001: call returned: [0, "", ""] 01:23:11.303279670: calling as root: diff -q '/mnt/iso/isolinux/f7.txt' '/mnt/new/syslinux/f7.txt' 01:23:11.482910049: call returned: [0, "", ""] 01:23:11.483122788: calling as root: diff -q '/mnt/iso/isolinux/f8.txt' '/mnt/new/syslinux/f8.txt' 01:23:11.682416320: call returned: [0, "", ""] 01:23:11.682536785: calling as root: diff -q '/mnt/iso/isolinux/f9.txt' '/mnt/new/syslinux/f9.txt' 01:23:11.854384858: call returned: [0, "", ""] 01:23:11.854515740: calling as root: diff -q '/mnt/iso/isolinux/ifcpu64.c32' '/mnt/new/syslinux/ifcpu64.c32' 01:23:12.044277201: call returned: [0, "", ""] 01:23:12.044430708: calling as root: diff -q '/mnt/iso/isolinux/isolinux.bin' '/mnt/new/syslinux/isolinux.bin' 01:23:12.234286466: call returned: [0, "", ""] 01:23:12.234463410: calling as root: diff -q '/mnt/iso/isolinux/libcom32.c32' '/mnt/new/syslinux/libcom32.c32' 01:23:12.390018668: call returned: [0, "", ""] 01:23:12.390167036: calling as root: diff -q '/mnt/iso/isolinux/libutil.c32' '/mnt/new/syslinux/libutil.c32' 01:23:12.535022959: call returned: [0, "", ""] 01:23:12.535187927: calling as root: diff -q '/mnt/iso/isolinux/live64.cfg' '/mnt/new/syslinux/live64.cfg' 01:23:12.725652656: call returned: [0, "", ""] 01:23:12.725768976: calling as root: diff -q '/mnt/iso/isolinux/live.cfg' '/mnt/new/syslinux/live.cfg' 01:23:12.872175749: call returned: [0, "", ""] 01:23:12.872303690: calling as root: diff -q '/mnt/iso/isolinux/menu.cfg' '/mnt/new/syslinux/menu.cfg' 01:23:13.039875114: call returned: [0, "", ""] 01:23:13.040002195: calling as root: diff -q '/mnt/iso/isolinux/sorry32.txt' '/mnt/new/syslinux/sorry32.txt' 01:23:13.195298877: call returned: [0, "", ""] 01:23:13.195407972: calling as root: diff -q '/mnt/iso/isolinux/splash.png' '/mnt/new/syslinux/splash.png' 01:23:13.394890696: call returned: [0, "", ""] 01:23:13.395017622: calling as root: diff -q '/mnt/iso/isolinux/stdmenu.cfg' '/mnt/new/syslinux/stdmenu.cfg' 01:23:13.529657621: call returned: [0, "", ""] 01:23:13.529788733: calling as root: diff -q '/mnt/iso/isolinux/tails.cfg' '/mnt/new/syslinux/tails.cfg' 01:23:13.728713683: call returned: [0, "", ""] 01:23:13.728827252: calling as root: diff -q '/mnt/iso/isolinux/vesamenu.c32' '/mnt/new/syslinux/vesamenu.c32' 01:23:13.938771177: call returned: [0, "", ""] 01:23:13.938896072: calling as root: diff -q '/mnt/iso/isolinux/isolinux.cfg' '/mnt/new/syslinux/syslinux.cfg' 01:23:14.103827844: call returned: [0, "", ""] 01:23:14.103943843: calling as root: umount /mnt/new 01:23:14.562011376: call returned: [0, "", ""] 01:23:14.562153309: calling as root: sync 01:23:14.770124549: call returned: [0, "", ""] 01:23:14.770265998: calling as root: umount /mnt/iso 01:23:15.053536351: call returned: [0, "", ""] Then the ISO's Tails is installed on USB drive "to_upgrade" # features/step_definitions/usb.rb:269 And I unplug USB drive "to_upgrade" # features/step_definitions/usb.rb:66 # Depends on scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version Scenario: Booting a USB drive upgraded from ISO with persistence enabled # features/usb_upgrade.feature:123 Given a computer # features/step_definitions/common_steps.rb:46 01:23:17.187746187: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:23:19.869723475: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:24:04.268496523: calling as root: echo 'hello?' 01:24:04.464894319: call returned: [0, "hello?\n", ""] 01:24:04.465210520: calling as root: service tor status 01:24:04.667778718: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:24:04.668085209: opening file /etc/tor/torrc in 'append' mode 01:24:04.854199615: append complete 01:24:05.608916485: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 01:24:05.812559315: [log] TYPE "asdf#ENTER." 01:24:10.996789320: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:24:10.997076361: calling as root: loginctl 01:24:11.166513866: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:24:12.166823722: calling as root: loginctl 01:24:12.400370638: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 01:24:19.876605781: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:24:19.994229892: call returned: [0, "", ""] 01:24:19.994383347: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:24:20.083947484: call returned: [0, "", ""] 01:24:20.084147590: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node363 = dogtail.tree.root.application('gnome-shell') 01:24:21.060454127: execution complete 01:24:21.784897991: executing Python as amnesia: node364 = node363.child('No Notifications', roleName='label') 01:24:21.793288434: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:24:22.774266961: execution complete 01:24:22.774413496: executing Python as amnesia: node365 = node363.child('No Notifications', roleName='label') 01:24:23.510548845: execution complete 01:24:23.560105083: [log] TYPE "#ESC." And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:24:23.561002739: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:24:23.772229839: call returned: [0, "", ""] 01:24:23.772356661: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:24:23.990810604: call returned: [0, "", ""] 01:24:23.991001365: calling as root: mount 01:24:24.381499541: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=ba371366d4097642,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=10715)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ntmpfs on /var/tmp type tmpfs (rw)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] Then all persistence presets from the old Tails version are enabled # features/step_definitions/usb.rb:337 01:24:24.382312744: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:24:24.621270422: call returned: [0, "8:1\n", ""] 01:24:24.621386888: calling as root: readlink -f /dev/block/'8:1' 01:24:24.819194636: call returned: [0, "/dev/sda1\n", ""] 01:24:24.819297242: calling as root: udevadm info --query=property --name='/dev/sda1' 01:24:25.144547442: call returned: [0, "DEVLINKS=/dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/B134-5836 /dev/disk/by-partuuid/4d8958ab-9f31-4219-8f01-e9f4151526ce /dev/disk/by-label/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partlabel/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=B134-5836\nID_FS_UUID_ENC=B134-5836\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=4d8958ab-9f31-4219-8f01-e9f4151526ce\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=b23fceb4-557c-4963-b3c4-1c7fb682c8bc\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=6192312\n", ""] 01:24:25.144786702: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:24:25.337180592: call returned: [0, "8:1\n", ""] 01:24:25.337312506: calling as root: readlink -f /dev/block/'8:1' 01:24:25.563083794: call returned: [0, "/dev/sda1\n", ""] And Tails is running from USB drive "to_upgrade" # features/step_definitions/usb.rb:390 01:24:25.593760664: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:24:25.829304740: call returned: [0, "8:1\n", ""] 01:24:25.829422087: calling as root: readlink -f /dev/block/'8:1' 01:24:26.017342105: call returned: [0, "/dev/sda1\n", ""] 01:24:26.017447402: calling as root: ls -1 /dev/sda* 01:24:26.208214846: call returned: [0, "/dev/sda\n/dev/sda1\n/dev/sda2\n", ""] 01:24:26.208325092: calling as root: cut -d':' -f1 /etc/passwd 01:24:26.467844003: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 01:24:26.467952822: calling as root: groups root 01:24:26.750707361: call returned: [0, "root : root\n", ""] 01:24:26.750832150: calling as root: groups daemon 01:24:26.941642147: call returned: [0, "daemon : daemon\n", ""] 01:24:26.941815518: calling as root: groups bin 01:24:27.187617916: call returned: [0, "bin : bin\n", ""] 01:24:27.187770307: calling as root: groups sys 01:24:27.429403402: call returned: [0, "sys : sys\n", ""] 01:24:27.429528096: calling as root: groups sync 01:24:27.671276920: call returned: [0, "sync : nogroup\n", ""] 01:24:27.671434488: calling as root: groups games 01:24:27.870458965: call returned: [0, "games : games\n", ""] 01:24:27.870579057: calling as root: groups man 01:24:27.985732612: call returned: [0, "man : man\n", ""] 01:24:27.985855720: calling as root: groups lp 01:24:28.209867484: call returned: [0, "lp : lp\n", ""] 01:24:28.209985555: calling as root: groups mail 01:24:28.434919411: call returned: [0, "mail : mail\n", ""] 01:24:28.435086079: calling as root: groups news 01:24:28.650345697: call returned: [0, "news : news\n", ""] 01:24:28.650478643: calling as root: groups uucp 01:24:28.879197363: call returned: [0, "uucp : uucp\n", ""] 01:24:28.879369403: calling as root: groups proxy 01:24:29.119792032: call returned: [0, "proxy : proxy\n", ""] 01:24:29.119932434: calling as root: groups www-data 01:24:29.365810118: call returned: [0, "www-data : www-data\n", ""] 01:24:29.365949460: calling as root: groups backup 01:24:29.601951251: call returned: [0, "backup : backup\n", ""] 01:24:29.602070486: calling as root: groups list 01:24:29.741635662: call returned: [0, "list : list\n", ""] 01:24:29.741795481: calling as root: groups irc 01:24:29.971961467: call returned: [0, "irc : irc\n", ""] 01:24:29.972075934: calling as root: groups gnats 01:24:30.196973250: call returned: [0, "gnats : gnats\n", ""] 01:24:30.197128984: calling as root: groups nobody 01:24:30.426371058: call returned: [0, "nobody : nogroup\n", ""] 01:24:30.426520686: calling as root: groups systemd-timesync 01:24:30.662821491: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 01:24:30.662992050: calling as root: groups systemd-network 01:24:30.862692850: call returned: [0, "systemd-network : systemd-network\n", ""] 01:24:30.862867448: calling as root: groups systemd-resolve 01:24:31.063879606: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 01:24:31.064002278: calling as root: groups _apt 01:24:31.282096699: call returned: [0, "_apt : nogroup\n", ""] 01:24:31.282269356: calling as root: groups messagebus 01:24:31.505487726: call returned: [0, "messagebus : messagebus\n", ""] 01:24:31.505621350: calling as root: groups memlockd 01:24:31.711889013: call returned: [0, "memlockd : memlockd\n", ""] 01:24:31.712038895: calling as root: groups monkeysphere 01:24:31.936742691: call returned: [0, "monkeysphere : monkeysphere\n", ""] 01:24:31.936916718: calling as root: groups debian-tor 01:24:32.168136682: call returned: [0, "debian-tor : debian-tor\n", ""] 01:24:32.168292290: calling as root: groups speech-dispatcher 01:24:32.390065388: call returned: [0, "speech-dispatcher : audio\n", ""] 01:24:32.390251887: calling as root: groups colord 01:24:32.603951264: call returned: [0, "colord : colord\n", ""] 01:24:32.604088661: calling as root: groups saned 01:24:32.829455180: call returned: [0, "saned : saned scanner\n", ""] 01:24:32.829582330: calling as root: groups pulse 01:24:33.003868968: call returned: [0, "pulse : pulse audio\n", ""] 01:24:33.004006409: calling as root: groups hplip 01:24:33.237884799: call returned: [0, "hplip : lp\n", ""] 01:24:33.238020755: calling as root: groups Debian-gdm 01:24:33.446991950: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 01:24:33.447113564: calling as root: groups tails-persistence-setup 01:24:33.635294910: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 01:24:33.635461278: calling as root: groups clearnet 01:24:33.867292816: call returned: [0, "clearnet : clearnet\n", ""] 01:24:33.867416645: calling as root: groups htp 01:24:34.054857463: call returned: [0, "htp : htp\n", ""] 01:24:34.054988764: calling as root: groups tails-iuk-get-target-file 01:24:34.274056725: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 01:24:34.274201149: calling as root: groups tails-upgrade-frontend 01:24:34.463186508: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 01:24:34.463324493: calling as root: groups tor-launcher 01:24:34.701127294: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 01:24:34.701271807: calling as root: groups tails-install-iuk 01:24:34.886819599: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 01:24:34.886980306: calling as root: groups amnesia 01:24:35.099122955: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 01:24:35.099283589: calling as root: stat -c %U /dev/sda 01:24:35.285184623: call returned: [0, "root\n", ""] 01:24:35.285284787: calling as root: stat -c %G /dev/sda 01:24:35.547984363: call returned: [0, "disk\n", ""] 01:24:35.548075243: calling as root: stat -c %a /dev/sda 01:24:35.771931270: call returned: [0, "660\n", ""] 01:24:35.772281597: calling as root: stat -c %U /dev/sda1 01:24:35.966529711: call returned: [0, "root\n", ""] 01:24:35.966650489: calling as root: stat -c %G /dev/sda1 01:24:36.181722470: call returned: [0, "disk\n", ""] 01:24:36.181841157: calling as root: stat -c %a /dev/sda1 01:24:36.366302736: call returned: [0, "660\n", ""] 01:24:36.366772740: calling as root: stat -c %U /dev/sda2 01:24:36.563092415: call returned: [0, "root\n", ""] 01:24:36.563220967: calling as root: stat -c %G /dev/sda2 01:24:36.781550797: call returned: [0, "disk\n", ""] 01:24:36.781647756: calling as root: stat -c %a /dev/sda2 01:24:37.008028843: call returned: [0, "660\n", ""] 01:24:37.008365151: calling as root: udisksctl info --block-device '/dev/sda' 01:24:37.322170750: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 01:24:37.322851808: calling as root: test -e /home/amnesia/Persistent/XXX_persist 01:24:37.489659316: call returned: [0, "", ""] 01:24:37.489771434: calling as root: test -e /home/amnesia/Persistent/XXX_gone 01:24:37.757893842: call returned: [1, "", ""] 01:24:37.758079514: calling as root: test -e /home/amnesia/.gnupg/XXX_persist 01:24:37.944162365: call returned: [0, "", ""] 01:24:37.944291686: calling as root: test -e /home/amnesia/.gnupg/XXX_gone 01:24:38.165829840: call returned: [1, "", ""] 01:24:38.165978000: calling as root: test -e /home/amnesia/.ssh/XXX_persist 01:24:38.387754238: call returned: [0, "", ""] 01:24:38.387889289: calling as root: test -e /home/amnesia/.ssh/XXX_gone 01:24:38.559338525: call returned: [1, "", ""] 01:24:38.559461830: calling as root: test -e /home/amnesia/.purple/XXX_persist 01:24:38.764163598: call returned: [0, "", ""] 01:24:38.764286342: calling as root: test -e /home/amnesia/.purple/XXX_gone 01:24:38.906778919: call returned: [1, "", ""] 01:24:38.906891886: calling as root: test -e /home/amnesia/.thunderbird/XXX_persist 01:24:39.111189545: call returned: [0, "", ""] 01:24:39.111303738: calling as root: test -e /home/amnesia/.thunderbird/XXX_gone 01:24:39.349755541: call returned: [1, "", ""] 01:24:39.349900428: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_persist 01:24:39.571236184: call returned: [0, "", ""] 01:24:39.571388483: calling as root: test -e /home/amnesia/.gnome2/keyrings/XXX_gone 01:24:39.774290278: call returned: [1, "", ""] 01:24:39.774417586: calling as root: test -e /etc/NetworkManager/system-connections/XXX_persist 01:24:39.981203407: call returned: [0, "", ""] 01:24:39.981337320: calling as root: test -e /etc/NetworkManager/system-connections/XXX_gone 01:24:40.193427758: call returned: [1, "", ""] 01:24:40.193554596: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_persist 01:24:40.413073737: call returned: [0, "", ""] 01:24:40.413208248: calling as root: test -e /home/amnesia/.mozilla/firefox/bookmarks/XXX_gone 01:24:40.608348766: call returned: [1, "", ""] 01:24:40.608458299: calling as root: test -e /etc/cups/XXX_persist 01:24:40.846098967: call returned: [0, "", ""] 01:24:40.846227079: calling as root: test -e /etc/cups/XXX_gone 01:24:41.044347881: call returned: [1, "", ""] 01:24:41.044522058: calling as root: test -e /home/amnesia/.electrum/XXX_persist 01:24:41.251984696: call returned: [0, "", ""] 01:24:41.252189964: calling as root: test -e /home/amnesia/.electrum/XXX_gone 01:24:41.513439724: call returned: [1, "", ""] 01:24:41.513556962: calling as root: test -e /var/cache/apt/archives/XXX_persist 01:24:41.724874397: call returned: [0, "", ""] 01:24:41.724987463: calling as root: test -e /var/cache/apt/archives/XXX_gone 01:24:41.937228734: call returned: [1, "", ""] 01:24:41.937377348: calling as root: test -e /var/lib/apt/lists/XXX_persist 01:24:42.088691047: call returned: [0, "", ""] 01:24:42.088803100: calling as root: test -e /var/lib/apt/lists/XXX_gone 01:24:42.286492739: call returned: [1, "", ""] And the expected persistent files created with the old Tails version are present in the filesystem # features/step_definitions/usb.rb:537 01:24:42.287276251: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:24:42.504798502: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:24:42.504909063: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 01:24:42.729586894: call returned: [0, "", ""] 01:24:42.729757550: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 01:24:42.934475371: call returned: [0, "700\n", ""] 01:24:42.934606677: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 01:24:43.097037228: call returned: [0, "amnesia\n", ""] 01:24:43.097210082: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 01:24:43.298517723: call returned: [0, "", ""] 01:24:43.298634528: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 01:24:43.515965202: call returned: [0, "700\n", ""] 01:24:43.516119772: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 01:24:43.781817259: call returned: [0, "amnesia\n", ""] 01:24:43.781982714: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 01:24:43.997356985: call returned: [0, "", ""] 01:24:43.997495400: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 01:24:44.224550585: call returned: [0, "700\n", ""] 01:24:44.224676565: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 01:24:44.469222593: call returned: [0, "amnesia\n", ""] 01:24:44.469377110: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 01:24:44.702787579: call returned: [0, "", ""] 01:24:44.702914360: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 01:24:44.909630166: call returned: [0, "700\n", ""] 01:24:44.909773445: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 01:24:45.111311473: call returned: [0, "amnesia\n", ""] 01:24:45.111459923: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 01:24:45.311634742: call returned: [0, "", ""] 01:24:45.311767063: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 01:24:45.572881457: call returned: [0, "700\n", ""] 01:24:45.573000746: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 01:24:45.782928977: call returned: [0, "amnesia\n", ""] 01:24:45.783103429: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 01:24:46.003941675: call returned: [0, "", ""] 01:24:46.004083083: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:24:46.215722992: call returned: [0, "700\n", ""] 01:24:46.215901446: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:24:46.422861582: call returned: [0, "amnesia\n", ""] 01:24:46.423034953: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 01:24:46.638960743: call returned: [0, "", ""] 01:24:46.639087169: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 01:24:46.859085576: call returned: [0, "755\n", ""] 01:24:46.859231442: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 01:24:47.177151388: call returned: [0, "root\n", ""] 01:24:47.177287648: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 01:24:47.454542287: call returned: [0, "", ""] 01:24:47.454665599: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 01:24:47.730095740: call returned: [0, "700\n", ""] 01:24:47.730277630: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 01:24:47.965729817: call returned: [0, "amnesia\n", ""] 01:24:47.965882481: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 01:24:48.176418138: call returned: [0, "", ""] 01:24:48.176542552: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 01:24:48.339780453: call returned: [0, "755\n", ""] 01:24:48.339935666: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 01:24:48.555002491: call returned: [0, "root\n", ""] 01:24:48.555140529: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 01:24:48.763523844: call returned: [0, "", ""] 01:24:48.763686112: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 01:24:48.975617173: call returned: [0, "700\n", ""] 01:24:48.975747455: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 01:24:49.197594938: call returned: [0, "amnesia\n", ""] 01:24:49.197745083: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 01:24:49.409652833: call returned: [0, "", ""] 01:24:49.409817290: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 01:24:49.629650840: call returned: [0, "755\n", ""] 01:24:49.629776851: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 01:24:49.873641548: call returned: [0, "root\n", ""] 01:24:49.873776259: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 01:24:50.064568671: call returned: [0, "", ""] 01:24:50.064687886: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 01:24:50.283160684: call returned: [0, "755\n", ""] 01:24:50.283292124: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 01:24:50.495510916: call returned: [0, "root\n", ""] 01:24:50.495660340: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 01:24:50.715798439: call returned: [0, "", ""] 01:24:50.715924961: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 01:24:50.913159724: call returned: [0, "700\n", ""] 01:24:50.913276203: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 01:24:51.125235652: call returned: [0, "amnesia\n", ""] And all persistent directories from the old Tails version have safe access rights # features/step_definitions/usb.rb:472 Scenario: Upgrading Tails with Tails Upgrader through an incremental upgrade # features/usb_upgrade.feature:132 01:24:57.342738998: calling as root: echo 'hello?' 01:24:57.727168860: call returned: [0, "hello?\n", ""] 01:24:58.449217338: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:24:58.449429543: calling as root: nmcli device show eth0 01:24:58.795570584: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:24:58.805561730: calling as root: date -s '@1523724002' 01:24:59.005999537: call returned: [0, "Sat Apr 14 16:40:02 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 01:24:59.007488279: calling as root: sed -i 's/^TAILS_VERSION_ID=.*$/TAILS_VERSION_ID="1.0~test"/' /etc/os-release 01:24:59.268809923: call returned: [0, "", ""] And Tails is fooled to think it is running version 1.0~test # features/step_definitions/common_steps.rb:909 01:24:59.270181702: calling as root: test -e '/some_new_file' 01:24:59.501348622: call returned: [1, "", ""] 01:24:59.501518224: calling as root: test -e '/etc/amnesia/version' 01:24:59.737427301: call returned: [0, "", ""] 01:24:59.737608263: calling as root: test -e '/etc/os-release' 01:24:59.938798497: call returned: [0, "", ""] 01:24:59.938925454: calling as root: test -e '/usr/share/common-licenses/BSD' 01:25:00.124272017: call returned: [0, "", ""] 01:25:00.124417614: calling as root: test -e '/lib/live/mount/medium/utils/linux/syslinux' 01:25:00.447044041: call returned: [0, "", ""] And the file system changes introduced in version 1.1~test are not present # features/step_definitions/usb.rb:614 When the network is plugged # features/step_definitions/common_steps.rb:79 01:25:00.469934699: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:00.800045489: call returned: [1, "", ""] 01:25:01.800307631: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:02.011385771: call returned: [1, "", ""] 01:25:03.011638558: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:03.280520399: call returned: [1, "", ""] 01:25:04.280760177: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:04.567676702: call returned: [1, "", ""] 01:25:05.567964292: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:05.757561329: call returned: [3, "", ""] 01:25:06.757808691: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:25:07.076398835: call returned: [0, "", ""] 01:25:07.076662733: calling as root: test -e /run/tordate/done 01:25:07.383363368: call returned: [0, "", ""] 01:25:07.383532345: calling as root: test -e /run/htpdate/success 01:25:07.706237255: call returned: [1, "", ""] 01:25:08.706445314: calling as root: test -e /run/htpdate/success 01:25:08.904741498: call returned: [1, "", ""] 01:25:09.905010929: calling as root: test -e /run/htpdate/success 01:25:10.098632147: call returned: [0, "", ""] 01:25:10.098836247: calling as root: systemctl is-system-running 01:25:10.325225504: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 01:25:10.326033521: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node366 = dogtail.tree.root.application('gnome-shell') 01:25:11.231400351: execution complete 01:25:11.953825547: executing Python as amnesia: node367 = node366.child('No Notifications', roleName='label') 01:25:11.964037377: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:25:13.307164058: execution complete 01:25:13.307288743: executing Python as amnesia: node368 = node366.child('No Notifications', roleName='label') 01:25:14.511625303: execution complete And all notifications have disappeared # features/step_definitions/common_steps.rb:441 01:25:17.889305742: [log] TYPE "#ESC." Then I am proposed to install an incremental upgrade to version 1.1~test # features/step_definitions/usb.rb:690 01:25:44.817702062: [log] CLICK on L(722,560)@S(0)[0,0 1024x768] And I can successfully install the incremental upgrade to version 1.1~test # features/step_definitions/usb.rb:706 01:25:58.256519762: spawning as root: poweroff Given I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 01:26:07.755546140: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:26:10.443409418: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:26:54.849728762: calling as root: echo 'hello?' 01:26:55.040440416: call returned: [0, "hello?\n", ""] 01:26:55.040722329: calling as root: service tor status 01:26:55.267182419: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:26:55.267469583: opening file /etc/tor/torrc in 'append' mode 01:26:55.431908207: append complete 01:26:56.190093569: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 01:27:00.829433295: [log] TYPE "asdf#ENTER." 01:27:01.584250868: calling as root: loginctl 01:27:01.593765505: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:27:01.744888836: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:27:02.745219809: calling as root: loginctl 01:27:02.997144129: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:27:10.862024645: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:27:10.976221175: call returned: [0, "", ""] 01:27:10.976336676: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:27:11.059623545: call returned: [0, "", ""] 01:27:11.059784896: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node369 = dogtail.tree.root.application('gnome-shell') 01:27:11.911469099: execution complete 01:27:12.637609808: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:27:12.637774519: executing Python as amnesia: node370 = node369.child('No Notifications', roleName='label') 01:27:13.818009346: execution complete 01:27:13.818133626: executing Python as amnesia: node371 = node369.child('No Notifications', roleName='label') 01:27:14.599706438: execution complete 01:27:14.640941644: [log] TYPE "#ESC." When I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:27:14.642182220: calling as root: tails-version 01:27:14.926570427: call returned: [0, "1.1~test - 20380119\nffffffffffffffffffffffffffffffffffffffff\nlive-build: 3.0.5+really+is+2.0.12-0.tails2\nlive-boot: 4.0.2-1\nlive-config: 4.0.4-1\n", ""] 01:27:14.926723018: opening file /etc/os-release in 'read' mode 01:27:14.951664482: read complete Then Tails is running version 1.1~test # features/step_definitions/common_steps.rb:917 01:27:14.952493433: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:27:15.174332521: call returned: [0, "", ""] 01:27:15.174444915: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:27:15.362891136: call returned: [0, "", ""] 01:27:15.363049023: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:27:16.677670321: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:27:16.677871051: calling as root: mount 01:27:17.105168825: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\n/dev/loop1 on /lib/live/mount/rootfs/1.1~test.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=c6beec63509a5bd9,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11147)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\n", ""] And all persistence presets are enabled # features/step_definitions/usb.rb:337 01:27:17.106470088: calling as root: test -e '/some_new_file' 01:27:17.303598993: call returned: [0, "", ""] 01:27:17.303726037: opening file /some_new_file in 'read' mode 01:27:17.322639476: read complete 01:27:17.322759243: calling as root: test -e '/etc/amnesia/version' 01:27:17.561846795: call returned: [0, "", ""] 01:27:17.562005820: opening file /etc/amnesia/version in 'read' mode 01:27:17.584821839: read complete 01:27:17.584926978: calling as root: test -e '/etc/os-release' 01:27:17.815803765: call returned: [0, "", ""] 01:27:17.815913298: opening file /etc/os-release in 'read' mode 01:27:17.834284497: read complete 01:27:17.834415543: calling as root: test -e '/usr/share/common-licenses/BSD' 01:27:18.038297385: call returned: [1, "", ""] 01:27:18.038416418: calling as root: test -e '/lib/live/mount/medium/utils/linux/syslinux' 01:27:18.324403693: call returned: [1, "", ""] And the file system changes introduced in version 1.1~test are present # features/step_definitions/usb.rb:614 01:27:18.325588050: calling as root: date -s '@1523724142' 01:27:18.587536489: call returned: [0, "Sat Apr 14 16:42:22 UTC 2018\n", ""] Given Tails system time is magically synchronized # features/step_definitions/common_steps.rb:1005 When the network is plugged # features/step_definitions/common_steps.rb:79 01:27:18.608412812: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:19.035220924: call returned: [1, "", ""] 01:27:20.035570003: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:20.238338354: call returned: [1, "", ""] 01:27:21.238609168: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:21.529597512: call returned: [1, "", ""] 01:27:22.529851685: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:22.851022875: call returned: [1, "", ""] 01:27:23.851359854: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:24.127968920: call returned: [3, "", ""] 01:27:25.128248369: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:25.327612554: call returned: [0, "", ""] 01:27:25.327878385: calling as root: test -e /run/tordate/done 01:27:25.573515889: call returned: [0, "", ""] 01:27:25.573793199: calling as root: test -e /run/htpdate/success 01:27:25.878507951: call returned: [1, "", ""] 01:27:26.878857146: calling as root: test -e /run/htpdate/success 01:27:27.070138160: call returned: [1, "", ""] 01:27:28.070405880: calling as root: test -e /run/htpdate/success 01:27:28.289617779: call returned: [0, "", ""] 01:27:28.289884159: calling as root: systemctl is-system-running 01:27:28.505789947: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 01:27:28.506616606: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node372 = dogtail.tree.root.application('gnome-shell') 01:27:28.652039840: execution complete 01:27:29.375147584: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:27:29.375328576: executing Python as amnesia: node373 = node372.child('No Notifications', roleName='label') 01:27:30.687708335: execution complete 01:27:30.687854925: executing Python as amnesia: node374 = node372.child('No Notifications', roleName='label') 01:27:31.869513241: execution complete 01:27:31.913171011: [log] TYPE "#ESC." And all notifications have disappeared # features/step_definitions/common_steps.rb:441 01:27:31.949574826: calling as amnesia: xdotool key Super 01:27:32.102842437: call returned: [0, "", ""] 01:27:34.474889657: [log] TYPE "Unsafe Browser" 01:27:37.629957923: [log] ( Ctrl ) TYPE "#ENTER." 01:27:37.712972499: [log] TYPE "#RIGHT.#ENTER." 01:27:37.713635587: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node375 = dogtail.tree.root.application('gnome-shell') 01:27:37.814819397: execution complete 01:27:37.815065338: executing Python as amnesia: node376 = node375.child('No Notifications', roleName='label', showingOnly=False) 01:27:38.951148197: execution complete 01:27:38.951293574: executing Python as amnesia: node377 = node376.parent 01:27:38.974301074: execution complete 01:27:38.974395047: executing Python as amnesia: node378 = node377.parent 01:27:38.992822634: execution complete 01:27:38.992982019: executing Python as amnesia: node379 = node378.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 01:27:39.046692702: execution complete And I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 01:27:49.824126685: calling as root: test -e '/var/lib/unsafe-browser/chroot/some_new_file' 01:27:50.337872987: call returned: [0, "", ""] 01:27:50.337996109: opening file /var/lib/unsafe-browser/chroot/some_new_file in 'read' mode 01:27:50.364570725: read complete 01:27:50.364679534: calling as root: test -e '/var/lib/unsafe-browser/chroot/etc/amnesia/version' 01:27:50.626492177: call returned: [0, "", ""] 01:27:50.626640081: opening file /var/lib/unsafe-browser/chroot/etc/amnesia/version in 'read' mode 01:27:50.658878582: read complete 01:27:50.659019945: calling as root: test -e '/var/lib/unsafe-browser/chroot/etc/os-release' 01:27:50.918155930: call returned: [0, "", ""] 01:27:50.918269730: opening file /var/lib/unsafe-browser/chroot/etc/os-release in 'read' mode 01:27:50.938713827: read complete 01:27:50.938829113: calling as root: test -e '/var/lib/unsafe-browser/chroot/usr/share/common-licenses/BSD' 01:27:51.182463084: call returned: [1, "", ""] 01:27:51.182600624: calling as root: test -e '/lib/live/mount/medium/utils/linux/syslinux' 01:27:51.441162592: call returned: [1, "", ""] Then the file system changes introduced in version 1.1~test are present in the Unsafe Browser's chroot # features/step_definitions/usb.rb:614 @product Feature: Emergency shutdown # Test something close to real-world usage, without interfering, # i.e. without the "I prepare Tails for memory erasure tests" step; # and test that Tails eventually shuts down, which we don't do in # the following scenarios for test suite performance reasons. Scenario: Tails shuts down on DVD boot medium removal # features/emergency_shutdown.feature:8 01:27:56.725871952: calling as root: echo 'hello?' 01:27:57.022334611: call returned: [0, "hello?\n", ""] 01:27:57.745324380: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:27:57.745448825: calling as root: nmcli device show eth0 01:27:57.983278974: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:27:57.992962495: calling as root: date -s '@1523724182' 01:27:58.149518243: call returned: [0, "Sat Apr 14 16:43:02 UTC 2018\n", ""] Checkpoint: I have started Tails from DVD and logged in and the network is connected Given I have started Tails from DVD without network and logged in And the network is plugged 01:27:58.177580164: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:58.460744433: call returned: [1, "", ""] 01:27:59.461015176: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:27:59.604286205: call returned: [1, "", ""] 01:28:00.604666901: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:28:00.754821176: call returned: [1, "", ""] 01:28:01.755125200: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:28:01.920055067: call returned: [1, "", ""] 01:28:02.920391974: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:28:03.097598167: call returned: [3, "", ""] 01:28:04.097904687: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:28:04.283544412: call returned: [3, "", ""] 01:28:05.283761975: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:28:05.623017489: call returned: [0, "", ""] 01:28:05.623286306: calling as root: test -e /run/tordate/done 01:28:05.924686341: call returned: [0, "", ""] 01:28:05.924973748: calling as root: test -e /run/htpdate/success 01:28:06.203296886: call returned: [0, "", ""] 01:28:06.203612351: calling as root: systemctl is-system-running 01:28:06.395901834: call returned: [0, "running\n", ""] And Tor is ready 01:28:06.396188287: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node380 = dogtail.tree.root.application('gnome-shell') 01:28:07.153562787: execution complete 01:28:07.877146730: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:28:07.877314506: executing Python as amnesia: node381 = node380.child('No Notifications', roleName='label') 01:28:08.801496435: execution complete 01:28:08.801619084: executing Python as amnesia: node382 = node380.child('No Notifications', roleName='label') 01:28:09.560056552: execution complete 01:28:09.601571043: [log] TYPE "#ESC." And all notifications have disappeared 01:28:09.601866465: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:09.795585064: call returned: [1, "", ""] 01:28:10.795937206: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:10.932245020: call returned: [1, "", ""] 01:28:11.932594153: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:12.084747431: call returned: [1, "", ""] 01:28:13.085026611: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:13.219526084: call returned: [1, "", ""] 01:28:14.219876084: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:14.374316903: call returned: [1, "", ""] 01:28:15.374669147: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:15.532958244: call returned: [1, "", ""] 01:28:16.533190977: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:16.722906673: call returned: [1, "", ""] 01:28:17.723114458: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:17.850092384: call returned: [1, "", ""] 01:28:18.850411729: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:18.988655072: call returned: [1, "", ""] 01:28:19.988983370: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:20.103396410: call returned: [1, "", ""] 01:28:21.107110344: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:21.236135824: call returned: [1, "", ""] 01:28:22.236411955: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:22.360593484: call returned: [1, "", ""] 01:28:23.360840952: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:23.577466586: call returned: [1, "", ""] 01:28:24.577717702: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:24.719665042: call returned: [1, "", ""] 01:28:25.719946306: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:25.856499393: call returned: [1, "", ""] 01:28:26.856807310: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:26.999193078: call returned: [1, "", ""] 01:28:27.999490184: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:28.169311743: call returned: [1, "", ""] 01:28:29.169561365: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:29.307350462: call returned: [1, "", ""] 01:28:30.307707491: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:30.431255734: call returned: [1, "", ""] 01:28:31.431478577: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:31.546038033: call returned: [1, "", ""] 01:28:32.546371170: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:32.689673908: call returned: [1, "", ""] 01:28:33.690014835: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:33.824985513: call returned: [1, "", ""] 01:28:34.825228198: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:34.939425740: call returned: [1, "", ""] 01:28:35.939641505: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:36.146784414: call returned: [1, "", ""] 01:28:37.147081603: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:37.351609015: call returned: [1, "", ""] 01:28:38.351937299: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:38.481770690: call returned: [1, "", ""] 01:28:39.482096261: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:39.608029379: call returned: [1, "", ""] 01:28:40.608363831: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:28:40.744792062: call returned: [0, "", ""] And available upgrades have been checked Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 01:28:46.551993498: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:28:46.790120586: call returned: [0, "11:0\n", ""] 01:28:46.790250432: calling as root: readlink -f /dev/block/'11:0' 01:28:46.941956379: call returned: [0, "/dev/sr0\n", ""] 01:28:46.942059088: calling as root: udevadm info --query=property --name='/dev/sr0' 01:28:47.184880240: call returned: [0, "DEVLINKS=/dev/dvd /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/cdrom\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:systemd:uaccess:seat:\nUSEC_INITIALIZED=4338158\n", ""] 01:28:47.185119701: calling as root: /usr/bin/eject -m 01:28:47.350090569: call returned: [0, "", ""] When I eject the boot medium # features/step_definitions/common_steps.rb:895 Then Tails eventually shuts down # features/step_definitions/common_steps.rb:521 Scenario: Tails erases memory on DVD boot medium removal: aufs read-write branch # features/emergency_shutdown.feature:13 01:28:51.395013407: calling as root: echo 'hello?' 01:28:51.683514601: call returned: [0, "hello?\n", ""] 01:28:52.406844363: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:28:52.407458493: calling as root: nmcli device show eth0 01:28:52.700295898: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:28:52.711334155: calling as root: date -s '@1523724236' 01:28:52.829232113: call returned: [0, "Sat Apr 14 16:43:56 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:28:52.829923216: calling as root: free -m | awk '/^Mem:/ { print $2 }' 01:28:53.080170649: call returned: [0, "1997\n", ""] 01:28:53.080338995: calling as root: echo 3 > /proc/sys/vm/drop_caches 01:28:53.438654849: call returned: [0, "", ""] 01:28:53.438794416: calling as root: touch /run/initramfs/tails_shutdown_debugging 01:28:54.481858402: call returned: [0, "", ""] 01:28:54.482002004: calling as root: sysctl vm.oom_kill_allocating_task=0 01:28:54.686889635: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 01:28:54.687093025: calling as root: sysctl vm.oom_dump_tasks=0 01:28:54.857898784: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 01:28:54.858028064: calling as root: sysctl vm.overcommit_memory=0 01:28:55.055013370: call returned: [0, "vm.overcommit_memory = 0\n", ""] 01:28:55.055192783: calling as root: sysctl vm.min_free_kbytes=65536 01:28:55.229169815: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 01:28:55.229315591: calling as root: sysctl vm.admin_reserve_kbytes=131072 01:28:55.413025550: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 01:28:55.413161837: calling as root: free -m | awk '/^Mem:/ { print $3 }' 01:28:55.661146549: call returned: [0, "578\n", ""] 01:28:55.661309670: calling as root: systemctl status initramfs-shutdown.service 01:28:55.925330394: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 1h 19min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 01:28:55.925458285: calling as root: systemctl status memlockd.service 01:28:56.199176417: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 20min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 01:28:56.199297411: calling as root: systemctl status tails-shutdown-on-media-removal.service 01:28:56.417680259: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 20min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 01:28:56.418387814: calling as root: for i in $(seq 1 8388608) ; do echo wipe_didnt_work >> '/WTpgfUvWoq' ; done 01:30:42.330721436: call returned: [0, "", ""] And I fill a 128 MiB file with a known pattern on the root filesystem # features/step_definitions/erase_memory.rb:229 And patterns cover at least 128 MiB in the guest's memory # features/step_definitions/erase_memory.rb:189 Pattern coverage: 100.000% (128 MiB out of 128 MiB reference memory) 01:30:47.787375242: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:30:48.044877972: call returned: [0, "11:0\n", ""] 01:30:48.044992663: calling as root: readlink -f /dev/block/'11:0' 01:30:48.236408607: call returned: [0, "/dev/sr0\n", ""] 01:30:48.236524153: calling as root: udevadm info --query=property --name='/dev/sr0' 01:30:48.479465385: call returned: [0, "DEVLINKS=/dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/dvd /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/cdrom\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:systemd:seat:uaccess:\nUSEC_INITIALIZED=4338158\n", ""] 01:30:48.479665160: calling as root: /usr/bin/eject -m 01:30:48.663784161: call returned: [0, "", ""] When I eject the boot medium # features/step_definitions/common_steps.rb:895 And I wait for Tails to finish wiping the memory # features/step_definitions/erase_memory.rb:225 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1227 MiB reference memory) Scenario: Tails erases memory on DVD boot medium removal: vfat # features/emergency_shutdown.feature:22 01:31:49.641536108: calling as root: echo 'hello?' 01:31:49.928234861: call returned: [0, "hello?\n", ""] 01:31:50.652909514: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:31:50.653165730: calling as root: nmcli device show eth0 01:31:50.980687849: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:31:50.992648712: calling as root: date -s '@1523724415' 01:31:51.131813104: call returned: [0, "Sat Apr 14 16:46:55 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:31:51.132985561: calling as root: free -m | awk '/^Mem:/ { print $2 }' 01:31:51.347987159: call returned: [0, "1997\n", ""] 01:31:51.348170782: calling as root: echo 3 > /proc/sys/vm/drop_caches 01:31:51.809538712: call returned: [0, "", ""] 01:31:51.809691261: calling as root: touch /run/initramfs/tails_shutdown_debugging 01:31:52.833429361: call returned: [0, "", ""] 01:31:52.833592966: calling as root: sysctl vm.oom_kill_allocating_task=0 01:31:53.050330760: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 01:31:53.050460001: calling as root: sysctl vm.oom_dump_tasks=0 01:31:53.213292995: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 01:31:53.213421062: calling as root: sysctl vm.overcommit_memory=0 01:31:53.381442188: call returned: [0, "vm.overcommit_memory = 0\n", ""] 01:31:53.381574370: calling as root: sysctl vm.min_free_kbytes=65536 01:31:53.563150727: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 01:31:53.563268829: calling as root: sysctl vm.admin_reserve_kbytes=131072 01:31:53.708448884: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 01:31:53.708583848: calling as root: free -m | awk '/^Mem:/ { print $3 }' 01:31:53.944029416: call returned: [0, "579\n", ""] 01:31:53.944173527: calling as root: systemctl status initramfs-shutdown.service 01:31:54.202025038: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 1h 22min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 01:31:54.202156569: calling as root: systemctl status memlockd.service 01:31:54.443945605: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 23min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 01:31:54.444059133: calling as root: systemctl status tails-shutdown-on-media-removal.service 01:31:54.637723901: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 23min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 01:31:54.665805439: libguestfs: trace: set_autosync true 01:31:54.665983326: libguestfs: trace: set_autosync = 0 01:31:54.668437918: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/KDEyTcMFCY" "format:qcow2" 01:31:54.669975520: libguestfs: trace: add_drive = 0 01:31:54.670098180: libguestfs: trace: launch 01:31:54.670132715: libguestfs: trace: get_tmpdir 01:31:54.670238700: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:31:54.670304231: libguestfs: trace: get_backend_setting "force_tcg" 01:31:54.670342761: libguestfs: trace: get_backend_setting = NULL (error) 01:31:54.670374604: libguestfs: trace: get_cachedir 01:31:54.670511490: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:31:54.705775184: libguestfs: trace: get_cachedir 01:31:54.705878422: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:31:54.706112427: libguestfs: trace: get_sockdir 01:31:54.706152388: libguestfs: trace: get_sockdir = "/tmp" 01:31:54.706242533: libguestfs: trace: get_backend_setting "gdb" 01:31:54.706383649: libguestfs: trace: get_backend_setting = NULL (error) 01:31:57.877390052: libguestfs: trace: launch = 0 01:31:57.877542069: libguestfs: trace: list_devices 01:31:57.878439911: libguestfs: trace: list_devices = ["/dev/sda"] 01:31:57.878560814: libguestfs: trace: part_disk "/dev/sda" "gpt" 01:31:57.946767048: libguestfs: trace: part_disk = 0 01:31:57.946923408: libguestfs: trace: part_set_name "/dev/sda" 1 "KDEyTcMFCY" 01:31:57.991171865: libguestfs: trace: part_set_name = 0 01:31:57.991290017: libguestfs: trace: list_partitions 01:31:57.991569690: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:31:57.991974865: libguestfs: trace: mkfs "vfat" "/dev/sda1" 01:31:58.002202514: libguestfs: trace: mkfs = 0 01:31:58.002319648: libguestfs: trace: close 01:31:58.002648048: libguestfs: trace: internal_autosync 01:31:58.012307761: libguestfs: trace: internal_autosync = 0 01:31:58.136505309: calling as root: test -b /dev/sda 01:31:58.266170036: call returned: [1, "", ""] 01:31:59.281260434: calling as root: test -b /dev/sda 01:31:59.428133012: call returned: [1, "", ""] 01:32:00.438905108: calling as root: test -b /dev/sda 01:32:00.577826329: call returned: [1, "", ""] 01:32:01.591018896: calling as root: test -b /dev/sda 01:32:01.747194749: call returned: [0, "", ""] 01:32:01.747423895: calling as root: mktemp -d 01:32:01.951534548: call returned: [0, "/tmp/tmp.u4o5H5WoDZ\n", ""] 01:32:01.961974454: calling as root: mount /dev/sda1 /tmp/tmp.u4o5H5WoDZ 01:32:02.408934137: call returned: [0, "", ""] 01:32:02.409092151: calling as root: df --output=avail '/tmp/tmp.u4o5H5WoDZ' 01:32:02.741917687: call returned: [0, " Avail\n130670\n", ""] And I plug and mount a 128 MiB USB drive with a vfat filesystem # features/step_definitions/common_steps.rb:974 01:32:02.742815316: calling as root: while echo wipe_didnt_work >> '/tmp/tmp.u4o5H5WoDZ/file'; do true ; done 01:34:03.874556363: call returned: [0, "", "sh: echo: I/O error\n"] 01:34:03.874712169: calling as root: df --output=avail '/tmp/tmp.u4o5H5WoDZ' 01:34:04.012344768: call returned: [0, "Avail\n 0\n", ""] And I fill the USB drive with a known pattern # features/step_definitions/erase_memory.rb:167 01:34:04.013074754: calling as root: cat /tmp/tmp.u4o5H5WoDZ/file >/dev/null 01:34:04.205856041: call returned: [0, "", ""] And I read the content of the test FS # features/step_definitions/erase_memory.rb:174 And patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 102.400% (127 MiB out of 124 MiB reference memory) 01:34:09.626874295: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:34:09.814661365: call returned: [0, "11:0\n", ""] 01:34:09.814797939: calling as root: readlink -f /dev/block/'11:0' 01:34:09.968852551: call returned: [0, "/dev/sr0\n", ""] 01:34:09.968977063: calling as root: udevadm info --query=property --name='/dev/sr0' 01:34:10.195649845: call returned: [0, "DEVLINKS=/dev/cdrom /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/dvd /dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/disk/by-uuid/2018-03-30-16-03-33-00 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:seat:uaccess:systemd:\nUSEC_INITIALIZED=4338158\n", ""] 01:34:10.195889093: calling as root: /usr/bin/eject -m 01:34:10.406084889: call returned: [0, "", ""] When I eject the boot medium # features/step_definitions/common_steps.rb:895 And I wait for Tails to finish wiping the memory # features/step_definitions/erase_memory.rb:225 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1226 MiB reference memory) Scenario: Tails erases memory on DVD boot medium removal: LUKS-encrypted ext4 # features/emergency_shutdown.feature:33 01:34:28.162754187: calling as root: echo 'hello?' 01:34:28.500837222: call returned: [0, "hello?\n", ""] 01:34:29.225310227: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:34:29.225418078: calling as root: nmcli device show eth0 01:34:29.515474114: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:34:29.525331315: calling as root: date -s '@1523724573' 01:34:29.655003129: call returned: [0, "Sat Apr 14 16:49:33 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:34:29.655801773: calling as root: free -m | awk '/^Mem:/ { print $2 }' 01:34:29.884897775: call returned: [0, "1997\n", ""] 01:34:29.885083678: calling as root: echo 3 > /proc/sys/vm/drop_caches 01:34:30.245209876: call returned: [0, "", ""] 01:34:30.245329774: calling as root: touch /run/initramfs/tails_shutdown_debugging 01:34:31.244647999: call returned: [0, "", ""] 01:34:31.244793004: calling as root: sysctl vm.oom_kill_allocating_task=0 01:34:31.476457625: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 01:34:31.476586655: calling as root: sysctl vm.oom_dump_tasks=0 01:34:31.625504834: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 01:34:31.625638713: calling as root: sysctl vm.overcommit_memory=0 01:34:31.775591103: call returned: [0, "vm.overcommit_memory = 0\n", ""] 01:34:31.775753145: calling as root: sysctl vm.min_free_kbytes=65536 01:34:31.945202105: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 01:34:31.945367953: calling as root: sysctl vm.admin_reserve_kbytes=131072 01:34:32.144700928: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 01:34:32.144855160: calling as root: free -m | awk '/^Mem:/ { print $3 }' 01:34:32.361617566: call returned: [0, "577\n", ""] 01:34:32.361756542: calling as root: systemctl status initramfs-shutdown.service 01:34:32.637981097: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:24:07 UTC; 1h 25min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1171 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:23:57 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:24:07 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 01:34:32.638096241: calling as root: systemctl status memlockd.service 01:34:32.885331014: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 25min ago\n Main PID: 1162 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1162 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/rm\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sh\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/sleep\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /bin/systemctl\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/eject\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/bin/pkill\nApr 14 15:23:59 amnesia memlockd[1162]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 01:34:32.885462628: calling as root: systemctl status tails-shutdown-on-media-removal.service 01:34:33.072913463: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:23:57 UTC; 1h 25min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1169 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1169 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1297 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0 cd\n\nApr 14 15:23:57 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 01:34:33.102627818: libguestfs: trace: set_autosync true 01:34:33.102791573: libguestfs: trace: set_autosync = 0 01:34:33.105980783: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/OFtAiPwJRB" "format:qcow2" 01:34:33.106075023: libguestfs: trace: add_drive = 0 01:34:33.106209669: libguestfs: trace: launch 01:34:33.106265825: libguestfs: trace: get_tmpdir 01:34:33.106316954: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 01:34:33.106449616: libguestfs: trace: get_backend_setting "force_tcg" 01:34:33.106491103: libguestfs: trace: get_backend_setting = NULL (error) 01:34:33.106524986: libguestfs: trace: get_cachedir 01:34:33.106621946: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:34:33.149492763: libguestfs: trace: get_cachedir 01:34:33.149621658: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 01:34:33.149993873: libguestfs: trace: get_sockdir 01:34:33.150060546: libguestfs: trace: get_sockdir = "/tmp" 01:34:33.150190081: libguestfs: trace: get_backend_setting "gdb" 01:34:33.150355929: libguestfs: trace: get_backend_setting = NULL (error) 01:34:36.318570936: libguestfs: trace: launch = 0 01:34:36.318740011: libguestfs: trace: list_devices 01:34:36.319859249: libguestfs: trace: list_devices = ["/dev/sda"] 01:34:36.319948311: libguestfs: trace: part_disk "/dev/sda" "gpt" 01:34:36.374717831: libguestfs: trace: part_disk = 0 01:34:36.375150463: libguestfs: trace: part_set_name "/dev/sda" 1 "OFtAiPwJRB" 01:34:36.415671411: libguestfs: trace: part_set_name = 0 01:34:36.415787473: libguestfs: trace: list_partitions 01:34:36.416384736: libguestfs: trace: list_partitions = ["/dev/sda1"] 01:34:36.416448665: libguestfs: trace: luks_format "/dev/sda1" "***" 0 01:34:41.188824081: libguestfs: trace: luks_format = 0 01:34:41.189281222: libguestfs: trace: luks_open "/dev/sda1" "***" "sda1_unlocked" 01:34:43.425196955: libguestfs: trace: luks_open = 0 01:34:43.425344893: libguestfs: trace: mkfs "ext4" "/dev/mapper/sda1_unlocked" 01:34:43.531061002: libguestfs: trace: mkfs = 0 01:34:43.531498176: libguestfs: trace: luks_close "/dev/mapper/sda1_unlocked" 01:34:43.765098203: libguestfs: trace: luks_close = 0 01:34:43.765210797: libguestfs: trace: close 01:34:43.765267345: libguestfs: trace: internal_autosync 01:34:43.766991581: libguestfs: trace: internal_autosync = 0 01:34:43.891460187: calling as root: test -b /dev/sda 01:34:44.025638495: call returned: [1, "", ""] 01:34:45.039592660: calling as root: test -b /dev/sda 01:34:45.258780633: call returned: [1, "", ""] 01:34:46.272457949: calling as root: test -b /dev/sda 01:34:46.478453418: call returned: [0, "", ""] 01:34:46.478627085: calling as root: mktemp -d 01:34:46.729089620: call returned: [0, "/tmp/tmp.uCEJJC2euA\n", ""] 01:34:46.747229373: calling as root: echo asdf | cryptsetup luksOpen /dev/sda1 OFtAiPwJRB_unlocked 01:34:49.536828496: call returned: [0, "", ""] 01:34:49.536992402: calling as root: mount /dev/mapper/OFtAiPwJRB_unlocked /tmp/tmp.uCEJJC2euA 01:34:50.013716746: call returned: [0, "", ""] 01:34:50.013837238: calling as root: df --output=avail '/tmp/tmp.uCEJJC2euA' 01:34:50.171653276: call returned: [0, " Avail\n110152\n", ""] And I plug and mount a 128 MiB USB drive with an ext4 filesystem encrypted with password "asdf" # features/step_definitions/common_steps.rb:974 01:34:50.172485290: calling as root: while echo wipe_didnt_work >> '/tmp/tmp.uCEJJC2euA/file'; do true ; done 01:37:34.177597805: call returned: [0, "", "sh: echo: I/O error\n"] 01:37:34.177776286: calling as root: df --output=avail '/tmp/tmp.uCEJJC2euA' 01:37:34.298409805: call returned: [0, "Avail\n 0\n", ""] And I fill the USB drive with a known pattern # features/step_definitions/erase_memory.rb:167 01:37:34.299153894: calling as root: cat /tmp/tmp.uCEJJC2euA/file >/dev/null 01:37:34.448081449: call returned: [0, "", ""] And I read the content of the test FS # features/step_definitions/erase_memory.rb:174 And patterns cover at least 99% of the test FS size in the guest's memory # features/step_definitions/erase_memory.rb:178 Pattern coverage: 108.390% (113 MiB out of 105 MiB reference memory) 01:37:40.036361597: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:37:40.216326803: call returned: [0, "11:0\n", ""] 01:37:40.216431319: calling as root: readlink -f /dev/block/'11:0' 01:37:40.382376806: call returned: [0, "/dev/sr0\n", ""] 01:37:40.382475444: calling as root: udevadm info --query=property --name='/dev/sr0' 01:37:40.622101883: call returned: [0, "DEVLINKS=/dev/disk/by-id/ata-QEMU_DVD-ROM_QM00005 /dev/cdrom /dev/disk/by-path/pci-0000:00:1f.2-ata-3 /dev/disk/by-label/TAILS\\x203.7\\x20-\\x2020180330 /dev/dvd /dev/disk/by-uuid/2018-03-30-16-03-33-00\nDEVNAME=/dev/sr0\nDEVPATH=/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0\nDEVTYPE=disk\nID_ATA=1\nID_ATA_SATA=1\nID_BUS=ata\nID_CDROM=1\nID_CDROM_DVD=1\nID_CDROM_MEDIA=1\nID_CDROM_MEDIA_DVD=1\nID_CDROM_MEDIA_SESSION_COUNT=1\nID_CDROM_MEDIA_STATE=complete\nID_CDROM_MEDIA_TRACK_COUNT=1\nID_CDROM_MEDIA_TRACK_COUNT_DATA=1\nID_CDROM_MRW=1\nID_CDROM_MRW_W=1\nID_FOR_SEAT=block-pci-0000_00_1f_2-ata-3\nID_FS_APPLICATION_ID=THE\\x20AMNESIC\\x20INCOGNITO\\x20LIVE\\x20SYSTEM\nID_FS_BOOT_SYSTEM_ID=EL\\x20TORITO\\x20SPECIFICATION\nID_FS_LABEL=TAILS_3.7_-_20180330\nID_FS_LABEL_ENC=TAILS\\x203.7\\x20-\\x2020180330\nID_FS_PUBLISHER_ID=HTTPS:\\x2f\\x2fTAILS.BOUM.ORG\\x2f\nID_FS_TYPE=iso9660\nID_FS_USAGE=filesystem\nID_FS_UUID=2018-03-30-16-03-33-00\nID_FS_UUID_ENC=2018-03-30-16-03-33-00\nID_FS_VERSION=Joliet Extension\nID_MODEL=QEMU_DVD-ROM\nID_MODEL_ENC=QEMU\\x20DVD-ROM\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nID_PART_TABLE_TYPE=dos\nID_PART_TABLE_UUID=0000002a\nID_PATH=pci-0000:00:1f.2-ata-3\nID_PATH_TAG=pci-0000_00_1f_2-ata-3\nID_REVISION=2.5+\nID_SERIAL=QEMU_DVD-ROM_QM00005\nID_SERIAL_SHORT=QM00005\nID_TYPE=cd\nMAJOR=11\nMINOR=0\nSUBSYSTEM=block\nSYSTEMD_MOUNT_DEVICE_BOUND=1\nTAGS=:seat:systemd:uaccess:\nUSEC_INITIALIZED=4338158\n", ""] 01:37:40.622334512: calling as root: /usr/bin/eject -m 01:37:40.822464330: call returned: [0, "", ""] When I eject the boot medium # features/step_definitions/common_steps.rb:895 And I wait for Tails to finish wiping the memory # features/step_definitions/erase_memory.rb:225 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1228 MiB reference memory) Scenario: Tails erases memory and shuts down on USB boot medium removal: persistent data # features/emergency_shutdown.feature:44 01:38:01.843710853: calling as root: echo 'hello?' 01:38:02.084508573: call returned: [0, "hello?\n", ""] 01:38:02.810354371: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:38:02.810479238: calling as root: nmcli device show eth0 01:38:03.126331512: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:38:03.135529105: calling as root: date -s '@1523724787' 01:38:03.327895912: call returned: [0, "Sat Apr 14 16:53:07 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 01:38:03.328579602: calling as root: free -m | awk '/^Mem:/ { print $2 }' 01:38:03.595212041: call returned: [0, "1997\n", ""] 01:38:03.595393348: calling as root: echo 3 > /proc/sys/vm/drop_caches 01:38:04.049766545: call returned: [0, "", ""] 01:38:04.049908126: calling as root: touch /run/initramfs/tails_shutdown_debugging 01:38:05.256715844: call returned: [0, "", ""] 01:38:05.256845713: calling as root: sysctl vm.oom_kill_allocating_task=0 01:38:05.501457609: call returned: [0, "vm.oom_kill_allocating_task = 0\n", ""] 01:38:05.501642581: calling as root: sysctl vm.oom_dump_tasks=0 01:38:05.716752239: call returned: [0, "vm.oom_dump_tasks = 0\n", ""] 01:38:05.716871898: calling as root: sysctl vm.overcommit_memory=0 01:38:05.936526921: call returned: [0, "vm.overcommit_memory = 0\n", ""] 01:38:05.936681713: calling as root: sysctl vm.min_free_kbytes=65536 01:38:06.169536405: call returned: [0, "vm.min_free_kbytes = 65536\n", ""] 01:38:06.169716594: calling as root: sysctl vm.admin_reserve_kbytes=131072 01:38:06.411150130: call returned: [0, "vm.admin_reserve_kbytes = 131072\n", ""] 01:38:06.411323270: calling as root: free -m | awk '/^Mem:/ { print $3 }' 01:38:06.715181639: call returned: [0, "562\n", ""] 01:38:06.715335556: calling as root: systemctl status initramfs-shutdown.service 01:38:07.019187295: call returned: [0, "● initramfs-shutdown.service - Prepare /run/initramfs for shutdown\n Loaded: loaded (/lib/systemd/system/initramfs-shutdown.service; enabled; vendor preset: enabled)\n Active: active (exited) since Sat 2018-04-14 15:59:08 UTC; 54min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1230 (code=exited, status=0/SUCCESS)\n Tasks: 0 (limit: 2359)\n CGroup: /system.slice/initramfs-shutdown.service\n\nApr 14 15:58:59 amnesia systemd[1]: Starting Prepare /run/initramfs for shutdown...\nApr 14 15:59:08 amnesia systemd[1]: Started Prepare /run/initramfs for shutdown.\n", ""] 01:38:07.019312387: calling as root: systemctl status memlockd.service 01:38:07.288960292: call returned: [0, "● memlockd.service - memlockd\n Loaded: loaded (/lib/systemd/system/memlockd.service; enabled; vendor preset: enabled)\n Drop-In: /lib/systemd/system/memlockd.service.d\n └─oom.conf\n Active: active (running) since Sat 2018-04-14 15:58:58 UTC; 54min ago\n Main PID: 1181 (memlockd)\n Tasks: 1 (limit: 2359)\n CGroup: /system.slice/memlockd.service\n └─1181 /usr/sbin/memlockd -f -u memlockd\n\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/x86_64-linux-gnu/libply.so.4\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/rm\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/sh\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/sleep\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /bin/systemctl\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/systemd/system-shutdown/tails\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /lib/systemd/systemd-shutdown\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/bin/eject\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/bin/pkill\nApr 14 15:59:00 amnesia memlockd[1181]: Mapped file /usr/local/sbin/udev-watchdog\n", ""] 01:38:07.289093796: calling as root: systemctl status tails-shutdown-on-media-removal.service 01:38:07.596837052: call returned: [0, "● tails-shutdown-on-media-removal.service - Wipe memory on live media removal\n Loaded: loaded (/lib/systemd/system/tails-shutdown-on-media-removal.service; enabled; vendor preset: enabled)\n Active: active (running) since Sat 2018-04-14 15:58:58 UTC; 54min ago\n Docs: https://tails.boum.org/contribute/design/memory_erasure/\n Main PID: 1185 (udev-watchdog-w)\n Tasks: 2 (limit: 2359)\n CGroup: /system.slice/tails-shutdown-on-media-removal.service\n ├─1185 /bin/sh /usr/local/lib/udev-watchdog-wrapper\n └─1236 /usr/local/sbin/udev-watchdog /devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1 disk\n\nApr 14 15:58:58 amnesia systemd[1]: Started Wipe memory on live media removal.\n", ""] And I prepare Tails for memory erasure tests # features/step_definitions/erase_memory.rb:57 01:38:07.597601865: calling as root: for i in $(seq 1 8388608) ; do echo wipe_didnt_work >> '/home/amnesia/Persistent/OpSmXVpWrz' ; done 01:39:55.237196052: call returned: [0, "", ""] And I fill a 128 MiB file with a known pattern on the persistent filesystem # features/step_definitions/erase_memory.rb:229 And patterns cover at least 128 MiB in the guest's memory # features/step_definitions/erase_memory.rb:189 Pattern coverage: 100.000% (128 MiB out of 128 MiB reference memory) 01:40:01.477714124: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 01:40:01.805607436: call returned: [0, "8:1\n", ""] 01:40:01.805711470: calling as root: readlink -f /dev/block/'8:1' 01:40:02.030878106: call returned: [0, "/dev/sda1\n", ""] 01:40:02.031035983: calling as root: udevadm info --query=property --name='/dev/sda1' 01:40:02.308745981: call returned: [0, "DEVLINKS=/dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-label/Tails /dev/disk/by-uuid/47C5-C84F /dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5656420\n", ""] When I eject the boot medium # features/step_definitions/common_steps.rb:895 And I wait for Tails to finish wiping the memory # features/step_definitions/erase_memory.rb:225 Then I find very few patterns in the guest's memory # features/step_definitions/erase_memory.rb:213 Pattern coverage: 0.000% (0 MiB out of 1243 MiB reference memory) And Tails eventually shuts down # features/step_definitions/common_steps.rb:521 @product Feature: Additional software packages As a Tails user I may want to install softwares not shipped in Tails And have them installed automatically when I enable persistence in the Greeter Scenario: Additional software packages are installed even without network # features/additional_software_packages.feature:8 01:41:45.697791050: calling as root: echo 'hello?' 01:41:45.847376144: call returned: [0, "hello?\n", ""] 01:41:46.572679590: calling as root: nmcli device show eth0 01:41:46.584068163: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:41:46.767604942: call returned: [8, "", "Error: NetworkManager is not running.\n"] 01:41:46.777001996: calling as root: date -s '@1523725010' 01:41:46.903957669: call returned: [0, "Sat Apr 14 16:56:50 UTC 2018\n", ""] Checkpoint: I have started Tails without network from a USB drive with a persistent partition enabled and logged in with an administration password Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen 01:41:47.668382853: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 01:41:47.873886747: [log] TYPE "asdf#ENTER." And I enable persistence 01:41:53.454226641: [log] CLICK on L(244,636)@S(0)[0,0 1024x768] 01:41:54.597040663: [log] CLICK on L(427,266)@S(0)[0,0 1024x768] [log] TYPE "asdf" And I set an administration password 01:41:55.279088089: [log] TYPE "#TAB." [log] TYPE "asdf" [log] TYPE "#ENTER." 01:41:56.002051165: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:41:56.002341062: calling as root: loginctl 01:41:56.159797668: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:41:57.160189952: calling as root: loginctl 01:41:57.375819396: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 72 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 01:42:05.917368251: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:42:05.991186006: call returned: [0, "", ""] 01:42:05.991364788: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:42:06.107127815: call returned: [0, "", ""] And I log in to a new session 01:42:06.107392070: calling as root: test -e '/var/lib/live/config/tails.persistence' 01:42:06.480539294: call returned: [0, "", ""] 01:42:06.480670772: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 01:42:06.759113905: call returned: [0, "", ""] 01:42:06.759345253: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:42:08.085408706: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:42:08.085649478: calling as root: mount 01:42:08.530677966: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=323d2154b949a9f2,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11046)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] And all persistence presets are enabled 01:42:08.530971147: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:42:08.734100839: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:42:08.734204134: calling as root: stat -c %U /live/persistence/TailsData_unlocked/ 01:42:08.968233903: call returned: [0, "root\n", ""] 01:42:08.968346968: calling as root: stat -c %G /live/persistence/TailsData_unlocked/ 01:42:09.187339465: call returned: [0, "root\n", ""] 01:42:09.187453639: calling as root: stat -c %a /live/persistence/TailsData_unlocked/ 01:42:09.374067009: call returned: [0, "775\n", ""] And all persistent filesystems have safe access rights 01:42:09.374251201: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:42:09.574388409: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:42:09.574514794: calling as root: test -e /live/persistence/TailsData_unlocked//persistence.conf 01:42:09.804817379: call returned: [0, "", ""] 01:42:09.804958848: calling as root: test ! -e /live/persistence/TailsData_unlocked//live-persistence.conf 01:42:10.032672286: call returned: [0, "", ""] 01:42:10.032826602: calling as root: ls -1 /live/persistence/TailsData_unlocked//persistence.conf /live/persistence/TailsData_unlocked//live-*.conf 01:42:10.295483681: call returned: [0, "/live/persistence/TailsData_unlocked//live-additional-software.conf\n/live/persistence/TailsData_unlocked//persistence.conf\n", ""] 01:42:10.295583853: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:42:10.534655440: call returned: [0, "tails-persistence-setup\n", ""] 01:42:10.534785532: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:42:10.751823808: call returned: [0, "tails-persistence-setup\n", ""] 01:42:10.751953611: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//live-additional-software.conf' 01:42:10.937131723: call returned: [0, "600\n", ""] 01:42:10.937325814: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//persistence.conf' 01:42:11.193055980: call returned: [0, "tails-persistence-setup\n", ""] 01:42:11.193187465: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//persistence.conf' 01:42:11.411575754: call returned: [0, "tails-persistence-setup\n", ""] 01:42:11.411685866: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//persistence.conf' 01:42:11.612016075: call returned: [0, "600\n", ""] And all persistence configuration files have safe access rights 01:42:11.612223380: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:42:12.496985829: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:42:12.497219196: calling as root: ls -1 -d /live/persistence/*_unlocked/ 01:42:12.678290557: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 01:42:12.678431909: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 01:42:12.915097042: call returned: [0, "", ""] 01:42:12.915235501: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 01:42:13.117492650: call returned: [0, "700\n", ""] 01:42:13.117673956: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 01:42:13.324735895: call returned: [0, "amnesia\n", ""] 01:42:13.324936693: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 01:42:13.524687999: call returned: [0, "", ""] 01:42:13.524836846: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 01:42:13.767530261: call returned: [0, "700\n", ""] 01:42:13.767655219: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 01:42:14.009607905: call returned: [0, "amnesia\n", ""] 01:42:14.009795803: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 01:42:14.208150684: call returned: [0, "", ""] 01:42:14.208286454: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 01:42:14.411605989: call returned: [0, "700\n", ""] 01:42:14.411761169: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 01:42:14.624805079: call returned: [0, "amnesia\n", ""] 01:42:14.624956327: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 01:42:14.895504730: call returned: [0, "", ""] 01:42:14.895675087: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 01:42:15.136596297: call returned: [0, "700\n", ""] 01:42:15.136715302: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 01:42:15.361680177: call returned: [0, "amnesia\n", ""] 01:42:15.361853697: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 01:42:15.563815222: call returned: [0, "", ""] 01:42:15.563992748: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 01:42:15.709283702: call returned: [0, "700\n", ""] 01:42:15.709449171: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 01:42:15.938031360: call returned: [0, "amnesia\n", ""] 01:42:15.938194745: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 01:42:16.169421188: call returned: [0, "", ""] 01:42:16.169548835: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:42:16.389160830: call returned: [0, "700\n", ""] 01:42:16.389341610: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 01:42:16.614831106: call returned: [0, "amnesia\n", ""] 01:42:16.614990417: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 01:42:16.816843394: call returned: [0, "", ""] 01:42:16.816990059: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 01:42:17.055102261: call returned: [0, "755\n", ""] 01:42:17.055237167: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 01:42:17.281447858: call returned: [0, "root\n", ""] 01:42:17.281632032: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 01:42:17.495225065: call returned: [0, "", ""] 01:42:17.495344843: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 01:42:17.720031569: call returned: [0, "700\n", ""] 01:42:17.720168662: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 01:42:17.992088632: call returned: [0, "amnesia\n", ""] 01:42:17.992254947: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 01:42:18.197136497: call returned: [0, "", ""] 01:42:18.197303506: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 01:42:18.418214165: call returned: [0, "755\n", ""] 01:42:18.418367800: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 01:42:18.642799836: call returned: [0, "root\n", ""] 01:42:18.642969119: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 01:42:18.850127141: call returned: [0, "", ""] 01:42:18.850266216: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 01:42:19.060970887: call returned: [0, "700\n", ""] 01:42:19.061154448: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 01:42:19.304156659: call returned: [0, "amnesia\n", ""] 01:42:19.304312934: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 01:42:19.478827090: call returned: [0, "", ""] 01:42:19.478956484: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 01:42:19.715542281: call returned: [0, "755\n", ""] 01:42:19.715664261: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 01:42:19.893833230: call returned: [0, "root\n", ""] 01:42:19.893986271: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 01:42:20.083716750: call returned: [0, "", ""] 01:42:20.083846803: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 01:42:20.259531329: call returned: [0, "755\n", ""] 01:42:20.259692133: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 01:42:20.537166944: call returned: [0, "root\n", ""] 01:42:20.537411159: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 01:42:20.773240685: call returned: [0, "", ""] 01:42:20.773403451: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 01:42:21.005150475: call returned: [0, "700\n", ""] 01:42:21.005355005: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 01:42:21.240561800: call returned: [0, "amnesia\n", ""] And all persistent directories have safe access rights Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in with an administration password # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 01:43:57.781276877: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:43:58.151688392: call returned: [1, "", ""] 01:43:59.151947763: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:43:59.333183800: call returned: [1, "", ""] 01:44:00.333494413: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:00.547745810: call returned: [1, "", ""] 01:44:01.547953206: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:01.744421191: call returned: [1, "", ""] 01:44:02.744780746: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:02.971740376: call returned: [3, "", ""] 01:44:03.972039735: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:04.189185625: call returned: [3, "", ""] 01:44:05.189546913: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:05.410256129: call returned: [3, "", ""] 01:44:06.410479279: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:06.621722999: call returned: [3, "", ""] 01:44:07.622049296: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:07.805287423: call returned: [3, "", ""] 01:44:08.805530690: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:09.207798116: call returned: [3, "", ""] 01:44:10.207997594: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:10.414781170: call returned: [3, "", ""] 01:44:11.415144580: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:11.635712924: call returned: [3, "", ""] 01:44:12.635945969: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:12.814011037: call returned: [3, "", ""] 01:44:13.814265030: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:14.059361811: call returned: [3, "", ""] 01:44:15.059695543: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:15.258777286: call returned: [3, "", ""] 01:44:16.259094750: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:16.478594294: call returned: [3, "", ""] 01:44:17.478918907: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:17.685235345: call returned: [3, "", ""] 01:44:18.685629346: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:18.908875894: call returned: [3, "", ""] 01:44:19.909203709: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:20.144443105: call returned: [3, "", ""] 01:44:21.144790370: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:21.376757117: call returned: [3, "", ""] 01:44:22.377099869: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:22.614992970: call returned: [3, "", ""] 01:44:23.615252778: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:23.807341659: call returned: [3, "", ""] 01:44:24.807634402: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:25.020890867: call returned: [3, "", ""] 01:44:26.021221409: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:26.222910085: call returned: [3, "", ""] 01:44:27.223177313: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:27.441703307: call returned: [3, "", ""] 01:44:28.442048147: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:28.642820412: call returned: [3, "", ""] 01:44:29.643120070: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:29.850002599: call returned: [3, "", ""] 01:44:30.850374670: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:31.014738543: call returned: [3, "", ""] 01:44:32.014929312: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:32.223240840: call returned: [3, "", ""] 01:44:33.223638163: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:33.385144354: call returned: [3, "", ""] 01:44:34.385470981: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:34.596134437: call returned: [3, "", ""] 01:44:35.596445070: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:35.815221191: call returned: [3, "", ""] 01:44:36.815531675: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:37.026037075: call returned: [3, "", ""] 01:44:38.026369133: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:38.286712305: call returned: [3, "", ""] 01:44:39.287083444: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:39.503925056: call returned: [3, "", ""] 01:44:40.504218674: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:40.710388234: call returned: [3, "", ""] 01:44:41.710710969: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:41.934393936: call returned: [3, "", ""] 01:44:42.934676031: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:43.180314703: call returned: [3, "", ""] 01:44:44.180617771: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:44.395240802: call returned: [3, "", ""] 01:44:45.395557281: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:45.586032021: call returned: [3, "", ""] 01:44:46.586305106: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:46.795286448: call returned: [3, "", ""] 01:44:47.795602669: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:48.008603562: call returned: [3, "", ""] 01:44:49.009667361: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:49.212890866: call returned: [3, "", ""] 01:44:50.213239908: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:50.474421926: call returned: [3, "", ""] 01:44:51.474741822: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:51.687631842: call returned: [3, "", ""] 01:44:52.687910316: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:52.883802995: call returned: [3, "", ""] 01:44:53.884039510: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:54.078283412: call returned: [3, "", ""] 01:44:55.078636865: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:55.259026122: call returned: [3, "", ""] 01:44:56.259352274: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:56.471346629: call returned: [3, "", ""] 01:44:57.471597917: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:57.706849011: call returned: [3, "", ""] 01:44:58.707136019: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:44:58.949993421: call returned: [3, "", ""] 01:44:59.950271650: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:00.205814539: call returned: [3, "", ""] 01:45:01.206071784: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:01.398882919: call returned: [3, "", ""] 01:45:02.399151354: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:02.645916202: call returned: [3, "", ""] 01:45:03.646242110: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:03.904165363: call returned: [3, "", ""] 01:45:04.904433589: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:05.126596765: call returned: [3, "", ""] 01:45:06.126881085: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:06.330360673: call returned: [3, "", ""] 01:45:07.330765854: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:07.549034054: call returned: [3, "", ""] 01:45:08.549328633: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:08.762779402: call returned: [3, "", ""] 01:45:09.763067037: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:10.007051427: call returned: [3, "", ""] 01:45:11.007266672: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:11.230482956: call returned: [3, "", ""] 01:45:12.230803248: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:12.459840894: call returned: [3, "", ""] 01:45:13.460104978: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:13.691016636: call returned: [3, "", ""] 01:45:14.691311357: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:14.915835359: call returned: [3, "", ""] 01:45:15.916058410: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:16.142130179: call returned: [3, "", ""] 01:45:17.142468034: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:17.371910625: call returned: [3, "", ""] 01:45:18.372137190: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:18.591987714: call returned: [3, "", ""] 01:45:19.592206834: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:19.794530363: call returned: [3, "", ""] 01:45:20.794872533: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:20.987566553: call returned: [3, "", ""] 01:45:21.987938436: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:22.236376573: call returned: [3, "", ""] 01:45:23.236734867: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:23.406260093: call returned: [3, "", ""] 01:45:24.406518998: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:24.601714034: call returned: [3, "", ""] 01:45:25.602027830: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:25.791129047: call returned: [3, "", ""] 01:45:26.791425305: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:27.010311598: call returned: [3, "", ""] 01:45:28.010635330: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:28.218286462: call returned: [3, "", ""] 01:45:29.218619122: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:29.416525620: call returned: [3, "", ""] 01:45:30.416851312: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:30.679611973: call returned: [3, "", ""] 01:45:31.679872061: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:31.892585494: call returned: [3, "", ""] 01:45:32.892973583: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:33.117623023: call returned: [3, "", ""] 01:45:34.117985209: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:34.302216009: call returned: [3, "", ""] 01:45:35.302560265: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:35.543001592: call returned: [3, "", ""] 01:45:36.543281361: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:36.734182901: call returned: [3, "", ""] 01:45:37.734458035: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:37.940491375: call returned: [3, "", ""] 01:45:38.940736545: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:39.141303190: call returned: [3, "", ""] 01:45:40.141654299: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:40.312375489: call returned: [3, "", ""] 01:45:41.312727821: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:41.544329078: call returned: [3, "", ""] 01:45:42.544652172: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:42.747415454: call returned: [3, "", ""] 01:45:43.747749083: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:43.955064248: call returned: [3, "", ""] 01:45:44.955403868: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:45.154526157: call returned: [3, "", ""] 01:45:46.154965615: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:46.340284498: call returned: [3, "", ""] 01:45:47.340635331: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:47.578162951: call returned: [3, "", ""] 01:45:48.578474405: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:48.811981159: call returned: [3, "", ""] 01:45:49.812295848: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:50.000182891: call returned: [3, "", ""] 01:45:51.000449852: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:51.242323783: call returned: [3, "", ""] 01:45:52.242661212: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:52.473022203: call returned: [3, "", ""] 01:45:53.473251519: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:53.646571485: call returned: [3, "", ""] 01:45:54.646918758: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:54.850389597: call returned: [3, "", ""] 01:45:55.850708535: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:56.052156981: call returned: [3, "", ""] 01:45:57.052482254: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:57.250997544: call returned: [3, "", ""] 01:45:58.251300914: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:58.451228764: call returned: [3, "", ""] 01:45:59.451470337: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:45:59.652161580: call returned: [3, "", ""] 01:46:00.652434704: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:00.893240674: call returned: [3, "", ""] 01:46:01.893493976: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:02.086579771: call returned: [3, "", ""] 01:46:03.086911382: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:03.288102002: call returned: [3, "", ""] 01:46:04.288449546: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:04.506593832: call returned: [3, "", ""] 01:46:05.506965305: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:05.777164899: call returned: [3, "", ""] 01:46:06.777518542: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:07.015679500: call returned: [3, "", ""] 01:46:08.015963762: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:08.217161278: call returned: [3, "", ""] 01:46:09.217447226: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:09.408052122: call returned: [3, "", ""] 01:46:10.408358450: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:10.599182369: call returned: [3, "", ""] 01:46:11.599449731: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:11.823205138: call returned: [3, "", ""] 01:46:12.823514561: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:13.008451952: call returned: [3, "", ""] 01:46:14.008751292: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:14.206199433: call returned: [3, "", ""] 01:46:15.206421072: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:15.406226209: call returned: [3, "", ""] 01:46:16.406597967: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:16.602553062: call returned: [3, "", ""] 01:46:17.602784858: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:17.774953978: call returned: [3, "", ""] 01:46:18.775234904: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:18.959568732: call returned: [3, "", ""] 01:46:19.959916147: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:20.179581433: call returned: [3, "", ""] 01:46:21.179776846: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:21.405937944: call returned: [3, "", ""] 01:46:22.406316036: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:22.623639857: call returned: [3, "", ""] 01:46:23.623970639: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:23.815963628: call returned: [3, "", ""] 01:46:24.816204440: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:25.032691548: call returned: [3, "", ""] 01:46:26.032978732: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:26.233495133: call returned: [3, "", ""] 01:46:27.233809279: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:27.474286287: call returned: [3, "", ""] 01:46:28.474516277: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:28.701626258: call returned: [3, "", ""] 01:46:29.701971501: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:29.893560855: call returned: [3, "", ""] 01:46:30.893764539: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:31.085187442: call returned: [3, "", ""] 01:46:32.085438397: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:32.306065063: call returned: [3, "", ""] 01:46:33.306466711: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:33.521055273: call returned: [3, "", ""] 01:46:34.521327062: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:34.706841602: call returned: [3, "", ""] 01:46:35.707194861: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:35.884080653: call returned: [3, "", ""] 01:46:36.884346970: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:37.064993750: call returned: [3, "", ""] 01:46:38.065251700: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:38.296006483: call returned: [3, "", ""] 01:46:39.296269426: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:39.510238832: call returned: [3, "", ""] 01:46:40.510561105: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:40.743751338: call returned: [3, "", ""] 01:46:41.744033857: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:41.978498759: call returned: [3, "", ""] 01:46:42.978823520: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:43.191964402: call returned: [3, "", ""] 01:46:44.192263623: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:44.370585815: call returned: [3, "", ""] 01:46:45.370992221: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:45.548303150: call returned: [3, "", ""] 01:46:46.548596040: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:46.788032919: call returned: [3, "", ""] 01:46:47.788386681: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:48.015141911: call returned: [3, "", ""] 01:46:49.015421906: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:49.219611286: call returned: [3, "", ""] 01:46:50.219956439: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:50.419807958: call returned: [3, "", ""] 01:46:51.420090916: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:51.626847563: call returned: [3, "", ""] 01:46:52.627157825: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:52.825979482: call returned: [3, "", ""] 01:46:53.826327776: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:54.082738599: call returned: [3, "", ""] 01:46:55.083096610: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:55.326860124: call returned: [3, "", ""] 01:46:56.327245095: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:56.513104848: call returned: [3, "", ""] 01:46:57.513453613: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:57.725142964: call returned: [3, "", ""] 01:46:58.725473632: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:46:58.893020673: call returned: [3, "", ""] 01:46:59.893365634: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:00.079143431: call returned: [3, "", ""] 01:47:01.079437390: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:01.305125698: call returned: [3, "", ""] 01:47:02.305437231: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:02.498398205: call returned: [3, "", ""] 01:47:03.498705002: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:03.725236920: call returned: [3, "", ""] 01:47:04.725528825: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:04.930069640: call returned: [3, "", ""] 01:47:05.930326698: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:06.138119815: call returned: [3, "", ""] 01:47:07.138409737: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:07.359281558: call returned: [3, "", ""] 01:47:08.359596697: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:08.579954139: call returned: [3, "", ""] 01:47:09.580262615: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:09.767160956: call returned: [3, "", ""] 01:47:10.767494703: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:10.988768346: call returned: [3, "", ""] 01:47:11.989117119: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:12.198080580: call returned: [3, "", ""] 01:47:13.198330444: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:13.380973288: call returned: [3, "", ""] 01:47:14.381271784: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:14.571821018: call returned: [3, "", ""] 01:47:15.572108657: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:15.785563961: call returned: [3, "", ""] 01:47:16.785912412: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:17.002517693: call returned: [3, "", ""] 01:47:18.002813713: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:18.243169513: call returned: [3, "", ""] 01:47:19.243539533: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:19.478064042: call returned: [3, "", ""] 01:47:20.478397568: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:20.647326725: call returned: [3, "", ""] 01:47:21.647663186: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:21.833582350: call returned: [3, "", ""] 01:47:22.833892571: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:23.025978357: call returned: [3, "", ""] 01:47:24.026302800: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:24.227628488: call returned: [3, "", ""] 01:47:25.227913510: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:25.431235781: call returned: [3, "", ""] 01:47:26.431537562: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:26.646060875: call returned: [3, "", ""] 01:47:27.646368151: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:27.863184331: call returned: [3, "", ""] 01:47:28.863522132: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:29.041022904: call returned: [3, "", ""] 01:47:30.041288963: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:30.260336378: call returned: [3, "", ""] 01:47:31.260679506: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:31.429708633: call returned: [3, "", ""] 01:47:32.430065882: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:32.621663609: call returned: [3, "", ""] 01:47:33.621891617: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:33.843776698: call returned: [3, "", ""] 01:47:34.844044515: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:35.076679611: call returned: [3, "", ""] 01:47:36.076989175: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:36.285130263: call returned: [3, "", ""] 01:47:37.285476515: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:37.485155328: call returned: [3, "", ""] 01:47:38.485376107: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:38.681257621: call returned: [3, "", ""] 01:47:39.681535239: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:39.899298356: call returned: [3, "", ""] 01:47:40.899599099: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:41.091169073: call returned: [3, "", ""] 01:47:42.091360188: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:42.302003339: call returned: [3, "", ""] 01:47:43.302334716: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:43.547746223: call returned: [3, "", ""] 01:47:44.547979670: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:44.742236479: call returned: [3, "", ""] 01:47:45.742565890: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:45.922286364: call returned: [3, "", ""] 01:47:46.922577987: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:47.139992140: call returned: [3, "", ""] 01:47:48.140308020: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:48.337321699: call returned: [3, "", ""] 01:47:49.337535195: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:49.559696045: call returned: [3, "", ""] 01:47:50.559923069: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:50.773388913: call returned: [3, "", ""] 01:47:51.773772179: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:52.012976047: call returned: [3, "", ""] 01:47:53.013302089: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:53.195128128: call returned: [3, "", ""] 01:47:54.195428002: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:54.412226191: call returned: [3, "", ""] 01:47:55.412525536: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:55.638254892: call returned: [3, "", ""] 01:47:56.638534073: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:56.823731679: call returned: [3, "", ""] 01:47:57.823918930: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:58.013210615: call returned: [3, "", ""] 01:47:59.013533072: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:47:59.186074798: call returned: [3, "", ""] 01:48:00.186324544: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:00.416910488: call returned: [3, "", ""] 01:48:01.417255406: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:01.611373316: call returned: [3, "", ""] 01:48:02.611695441: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:02.786092728: call returned: [3, "", ""] 01:48:03.786470328: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:03.999387586: call returned: [3, "", ""] 01:48:04.999651977: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:05.210433054: call returned: [3, "", ""] 01:48:06.210726523: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:06.425836993: call returned: [3, "", ""] 01:48:07.426111966: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:07.635070158: call returned: [3, "", ""] 01:48:08.635415422: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:08.836075200: call returned: [3, "", ""] 01:48:09.836373432: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:10.058990345: call returned: [3, "", ""] 01:48:11.059321091: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:11.248885344: call returned: [3, "", ""] 01:48:12.249258742: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:12.449651841: call returned: [3, "", ""] 01:48:13.450021481: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:13.667853588: call returned: [3, "", ""] 01:48:14.668105491: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:14.871983124: call returned: [3, "", ""] 01:48:15.872195214: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:16.061903012: call returned: [3, "", ""] 01:48:17.062248100: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:17.239336317: call returned: [3, "", ""] 01:48:18.239638729: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:18.471294363: call returned: [3, "", ""] 01:48:19.471504638: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:19.682103437: call returned: [3, "", ""] 01:48:20.682411444: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:20.849318968: call returned: [3, "", ""] 01:48:21.849649176: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:22.031547583: call returned: [3, "", ""] 01:48:23.031864067: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:23.223777391: call returned: [3, "", ""] 01:48:24.223981515: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:24.428973985: call returned: [3, "", ""] 01:48:25.429280708: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:25.659025817: call returned: [3, "", ""] 01:48:26.659331336: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:48:26.837920384: call returned: [3, "", ""] 01:48:27.782334039: calling as root: journalctl --no-pager -u tor@default.service 01:48:28.289983329: call returned: [0, "-- Logs begin at Sat 2018-04-14 15:59:17 UTC, end at Sat 2018-04-14 17:01:54 UTC. --\nApr 14 16:57:28 amnesia systemd[1]: Starting Anonymizing overlay network for TCP...\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.712 [notice] Tor 0.3.2.10 (git-0edaa32732ec8930) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.1.0f, Zlib 1.2.8, Liblzma 5.2.2, and Libzstd 1.1.2.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.712 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.713 [notice] Read configuration file \"/usr/share/tor/tor-service-defaults-torrc\".\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.713 [notice] Read configuration file \"/etc/tor/torrc\".\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.715 [warn] Skipping obsolete configuration option 'ControlListenAddress'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.715 [warn] Skipping obsolete configuration option 'TransListenAddress'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.716 [warn] Skipping obsolete configuration option 'WarnUnsafeSocks'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.718 [warn] Skipping obsolete configuration option 'ControlListenAddress'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.718 [warn] Skipping obsolete configuration option 'TransListenAddress'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.718 [warn] Skipping obsolete configuration option 'WarnUnsafeSocks'\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.718 [warn] You have used DirAuthority or AlternateDirAuthority to specify alternate directory authorities in your configuration. This is potentially dangerous: it can make you look different from all other Tor users, and hurt your anonymity. Even if you've specified the same authorities as Tor uses by default, the defaults could change in the future. Be sure you know what you're doing.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.718 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.719 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.719 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.719 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.719 [warn] TestingTorNetwork is set. This will make your node almost unusable in the public Tor network, and is therefore only advised if you are building a testing Tor network!\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.720 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.720 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.720 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Apr 14 16:57:28.720 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:28 amnesia tor[12310]: Configuration was valid\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.006 [notice] Tor 0.3.2.10 (git-0edaa32732ec8930) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.1.0f, Zlib 1.2.8, Liblzma 5.2.2, and Libzstd 1.1.2.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.007 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.007 [notice] Read configuration file \"/usr/share/tor/tor-service-defaults-torrc\".\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.007 [notice] Read configuration file \"/etc/tor/torrc\".\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.009 [warn] Skipping obsolete configuration option 'ControlListenAddress'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.010 [warn] Skipping obsolete configuration option 'TransListenAddress'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.010 [warn] Skipping obsolete configuration option 'WarnUnsafeSocks'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.012 [warn] Skipping obsolete configuration option 'ControlListenAddress'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.012 [warn] Skipping obsolete configuration option 'TransListenAddress'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.013 [warn] Skipping obsolete configuration option 'WarnUnsafeSocks'\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.013 [warn] You have used DirAuthority or AlternateDirAuthority to specify alternate directory authorities in your configuration. This is potentially dangerous: it can make you look different from all other Tor users, and hurt your anonymity. Even if you've specified the same authorities as Tor uses by default, the defaults could change in the future. Be sure you know what you're doing.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.013 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.013 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.013 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.014 [warn] The DirAuthority options 'hs' and 'no-hs' are obsolete; you don't need them any more.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.014 [warn] TestingTorNetwork is set. This will make your node almost unusable in the public Tor network, and is therefore only advised if you are building a testing Tor network!\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.018 [notice] Scheduler type KIST has been enabled.\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening Socks listener on 127.0.0.1:9050\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening Socks listener on 127.0.0.1:9062\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening Socks listener on 127.0.0.1:9150\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening DNS listener on 127.0.0.1:5353\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening Transparent pf/netfilter listener on 127.0.0.1:9040\nApr 14 16:57:29 amnesia tor[12311]: Apr 14 16:57:29.019 [notice] Opening Control listener on 127.0.0.1:9052\nApr 14 16:57:29 amnesia systemd[1]: Started Anonymizing overlay network for TCP.\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 Tor failed to bootstrap (TorBootstrapFailure) ./features/support/helpers/misc_helpers.rb:170:in `rescue in wait_until_tor_is_working' ./features/support/helpers/misc_helpers.rb:164:in `/^Tor has built a circuit$/' features/additional_software_packages.feature:11:in `And Tor is ready' And all notifications have disappeared # features/step_definitions/common_steps.rb:441 And available upgrades have been checked # features/step_definitions/common_steps.rb:379 And I configure APT to use non-onion sources # features/step_definitions/apt.rb:24 When I update APT using apt # features/step_definitions/apt.rb:53 And I configure additional software packages to install "sslh" # features/step_definitions/additional_software_packages.rb:1 And I install "sslh" using apt # features/step_definitions/apt.rb:66 And I make my current APT sources persistent # features/step_definitions/apt.rb:41 And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 Then the additional software package installation service is run # features/step_definitions/additional_software_packages.rb:8 And the package "sslh" is installed # features/step_definitions/common_steps.rb:561 01:48:31.699690731: calling as root: echo 'hello?' 01:48:31.866984814: call returned: [0, "hello?\n", ""] 01:48:31.867218370: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 01:48:32.188510516: call returned: [0, "", ""] 01:48:32.188645441: opening file /tmp/systemd.journal in 'read' mode 01:49:45.977946208: read complete Scenario failed at time 01:48:31 Chutney logs: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/01:48:31_Additional_software_packages_are_installed_even_without_network_chutney-data Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/01:48:31_Additional_software_packages_are_installed_even_without_network.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/01:48:31_Additional_software_packages_are_installed_even_without_network.journal Tor logs: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/01:48:31_Additional_software_packages_are_installed_even_without_network.tor Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/01:48:31_Additional_software_packages_are_installed_even_without_network.mkv @source Feature: custom APT sources to build branches As a Tails developer, when I build Tails, I'd be happy if the proper APT sources were automatically picked depending on which Git branch I am working on. Scenario: build from an untagged stable branch where the config/APT_overlays.d directory is empty # features/build.feature:7 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 1.0 # features/step_definitions/build.rb:36 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'stable' suite # features/step_definitions/build.rb:113 Scenario: build from an untagged stable branch where config/APT_overlays.d is not empty # features/build.feature:15 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 1.0 # features/step_definitions/build.rb:36 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And config/APT_overlays.d contains 'feature-foo' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'stable' suite # features/step_definitions/build.rb:109 And I should see the 'feature-foo' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 But I should not see the '1.0' suite # features/step_definitions/build.rb:118 Scenario: build from an untagged stable branch with no encoded time-based snapshot # features/build.feature:27 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10 and 1.0 # features/step_definitions/build.rb:45 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from an untagged stable branch with encoded time-based snapshots # features/build.feature:41 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10 and 1.0 # features/step_definitions/build.rb:45 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a tagged stable branch where the config/APT_overlays.d directory is empty # features/build.feature:55 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10 # features/step_definitions/build.rb:36 And I am working on the stable base branch # features/step_definitions/build.rb:70 And I checkout the 0.10 tag # features/step_definitions/build.rb:82 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the '0.10' suite # features/step_definitions/build.rb:113 Scenario: build from a tagged stable branch where config/APT_overlays.d is not empty # features/build.feature:64 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10 # features/step_definitions/build.rb:36 And I am working on the stable base branch # features/step_definitions/build.rb:70 And I checkout the 0.10 tag # features/step_definitions/build.rb:82 And config/APT_overlays.d contains 'feature-foo' # features/step_definitions/build.rb:127 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 Scenario: build from a tagged stable branch with no encoded time-based snapshot # features/build.feature:73 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10 # features/step_definitions/build.rb:36 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 And I checkout the 0.10 tag # features/step_definitions/build.rb:82 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see the 0.10 tagged snapshot # features/step_definitions/build.rb:147 Scenario: build from a tagged stable branch with encoded time-based snapshots # features/build.feature:87 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10 # features/step_definitions/build.rb:36 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 And I checkout the 0.10 tag # features/step_definitions/build.rb:82 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see the 0.10 tagged snapshot # features/step_definitions/build.rb:147 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see the 0.10 tagged snapshot # features/step_definitions/build.rb:147 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see the 0.10 tagged snapshot # features/step_definitions/build.rb:147 Scenario: build from a bugfix branch without overlays for a stable release # features/build.feature:101 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10.1 # features/step_definitions/build.rb:36 And Tails 0.10.1 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on stable # features/step_definitions/build.rb:87 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'stable' suite # features/step_definitions/build.rb:113 Scenario: build from a bugfix branch with overlays for a stable release # features/build.feature:110 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10.1 # features/step_definitions/build.rb:36 And Tails 0.10.1 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on stable # features/step_definitions/build.rb:87 And config/APT_overlays.d contains 'bugfix-disable-gdomap' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'stable' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-disable-gdomap' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 But I should not see the '0.10' suite # features/step_definitions/build.rb:118 Scenario: build from a bugfix branch with no encoded time-based snapshot for a stable release # features/build.feature:123 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10.1 # features/step_definitions/build.rb:36 And Tails 0.10.1 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on stable # features/step_definitions/build.rb:87 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a bugfix branch with encoded time-based snapshots for a stable release # features/build.feature:137 Given Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.10.1 # features/step_definitions/build.rb:36 And Tails 0.10.1 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on stable # features/step_definitions/build.rb:87 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from an untagged testing branch where the config/APT_overlays.d directory is empty # features/build.feature:151 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has not been released yet # features/step_definitions/build.rb:32 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'testing' suite # features/step_definitions/build.rb:109 And I should not see the '0.11' suite # features/step_definitions/build.rb:118 And I should not see the 'feature-foo' suite # features/step_definitions/build.rb:118 And I should not see the 'bugfix-bar' suite # features/step_definitions/build.rb:118 Scenario: build from an untagged testing branch where config/APT_overlays.d is not empty # features/build.feature:162 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has not been released yet # features/step_definitions/build.rb:32 And config/APT_overlays.d contains 'feature-foo' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'testing' suite # features/step_definitions/build.rb:109 And I should see the 'feature-foo' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 But I should not see the '0.11' suite # features/step_definitions/build.rb:118 Scenario: build from an untagged testing branch with no encoded time-based snapshot # features/build.feature:174 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10 and 1.0 # features/step_definitions/build.rb:45 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from an untagged testing branch with encoded time-based snapshots # features/build.feature:188 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.10 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10 and 1.0 # features/step_definitions/build.rb:45 And Tails 1.0 has not been released yet # features/step_definitions/build.rb:32 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a tagged testing branch where the config/APT_overlays.d directory is empty # features/build.feature:202 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 And I checkout the 0.11 tag # features/step_definitions/build.rb:82 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the '0.11' suite # features/step_definitions/build.rb:113 Scenario: build from a tagged testing branch where config/APT_overlays.d is not empty # features/build.feature:211 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And config/APT_overlays.d contains 'feature-foo' # features/step_definitions/build.rb:127 And I checkout the 0.11 tag # features/step_definitions/build.rb:82 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 Scenario: build from a tagged testing branch with no encoded time-based snapshot # features/build.feature:220 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 And I checkout the 0.11 tag # features/step_definitions/build.rb:82 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see the 0.11 tagged snapshot # features/step_definitions/build.rb:147 Scenario: build from a tagged testing branch with encoded time-based snapshots # features/build.feature:234 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And the last version mentioned in debian/changelog is 0.11 # features/step_definitions/build.rb:36 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 And I checkout the 0.11 tag # features/step_definitions/build.rb:82 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see the 0.11 tagged snapshot # features/step_definitions/build.rb:147 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see the 0.11 tagged snapshot # features/step_definitions/build.rb:147 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see the 0.11 tagged snapshot # features/step_definitions/build.rb:147 Scenario: build a release candidate from a tagged testing branch # features/build.feature:248 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.12~rc1 # features/step_definitions/build.rb:36 And Tails 0.12-rc1 has been tagged # features/step_definitions/build.rb:28 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 And I checkout the 0.12-rc1 tag # features/step_definitions/build.rb:82 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the '0.12-rc1' suite # features/step_definitions/build.rb:113 Scenario: build a release candidate from a tagged testing branch where config/APT_overlays.d is not empty # features/build.feature:258 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.11 has been released # features/step_definitions/build.rb:1 And the last version mentioned in debian/changelog is 0.12~rc1 # features/step_definitions/build.rb:36 And Tails 0.12-rc1 has been tagged # features/step_definitions/build.rb:28 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 And I checkout the 0.12-rc1 tag # features/step_definitions/build.rb:82 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 Scenario: build from a bugfix branch with no encoded time-based snapshot for a major release # features/build.feature:268 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.10~rc1 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10~rc1 and 0.10 # features/step_definitions/build.rb:45 And Tails 0.10 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on testing # features/step_definitions/build.rb:87 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a bugfix branch with encoded time-based snapshots for a major release # features/build.feature:283 Given I am working on the testing base branch # features/step_definitions/build.rb:70 And Tails 0.10~rc1 has been released # features/step_definitions/build.rb:1 And the last versions mentioned in debian/changelog are 0.10~rc1 and 0.10 # features/step_definitions/build.rb:45 And Tails 0.10 has not been released yet # features/step_definitions/build.rb:32 And I am working on the bugfix/disable_gdomap branch based on testing # features/step_definitions/build.rb:87 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from the devel branch without overlays # features/build.feature:298 Given I am working on the devel base branch # features/step_definitions/build.rb:70 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'devel' suite # features/step_definitions/build.rb:113 Scenario: build from the devel branch with overlays # features/build.feature:304 Given I am working on the devel base branch # features/step_definitions/build.rb:70 And config/APT_overlays.d contains 'feature-foo' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'devel' suite # features/step_definitions/build.rb:109 And I should see the 'feature-foo' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 Scenario: build from the devel branch with no encoded time-based snapshot # features/build.feature:313 Given I am working on the devel base branch # features/step_definitions/build.rb:70 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from the devel branch with encoded time-based snapshots # features/build.feature:324 Given I am working on the devel base branch # features/step_definitions/build.rb:70 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from the feature/jessie branch without overlays # features/build.feature:335 Given I am working on the feature/jessie base branch # features/step_definitions/build.rb:70 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'feature-jessie' suite # features/step_definitions/build.rb:113 Scenario: build from the feature/jessie branch with overlays # features/build.feature:341 Given I am working on the feature/jessie base branch # features/step_definitions/build.rb:70 And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'feature-jessie' suite # features/step_definitions/build.rb:109 And I should see the 'feature-7756-reintroduce-whisperback' suite # features/step_definitions/build.rb:109 Scenario: build from a feature branch with overlays based on devel # features/build.feature:348 Given I am working on the feature/thunderbird branch based on devel # features/step_definitions/build.rb:87 And config/APT_overlays.d contains 'feature-thunderbird' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'devel' suite # features/step_definitions/build.rb:109 And I should see the 'feature-thunderbird' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 Scenario: build from a feature branch without overlays based on devel # features/build.feature:357 Given I am working on the feature/thunderbird branch based on devel # features/step_definitions/build.rb:87 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'devel' suite # features/step_definitions/build.rb:113 Scenario: build from a feature branch based on devel with no encoded time-based snapshot # features/build.feature:363 Given I am working on the feature/thunderbird branch based on devel # features/step_definitions/build.rb:87 And no frozen APT snapshot is encoded in config/APT_snapshots.d # features/step_definitions/build.rb:50 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I successfully run "apt-mirror debian" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror torproject" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a feature branch based on devel with encoded time-based snapshots # features/build.feature:374 Given I am working on the feature/thunderbird branch based on devel # features/step_definitions/build.rb:87 And frozen APT snapshots are encoded in config/APT_snapshots.d # features/step_definitions/build.rb:58 When I successfully run "apt-snapshots-serials prepare-build" # features/step_definitions/build.rb:99 And I run "apt-mirror debian" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I run "apt-mirror torproject" # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 When I successfully run "apt-mirror debian-security" # features/step_definitions/build.rb:99 Then I should see a time-based snapshot # features/step_definitions/build.rb:151 Scenario: build from a feature branch with overlays based on feature/jessie # features/build.feature:385 Given I am working on the feature/7756-reintroduce-whisperback branch based on feature/jessie # features/step_definitions/build.rb:87 And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback' # features/step_definitions/build.rb:127 And config/APT_overlays.d contains 'bugfix-bar' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'feature-jessie' suite # features/step_definitions/build.rb:109 And I should see the 'feature-7756-reintroduce-whisperback' suite # features/step_definitions/build.rb:109 And I should see the 'bugfix-bar' suite # features/step_definitions/build.rb:109 Scenario: build from a feature branch without overlays based on feature/jessie # features/build.feature:394 Given I am working on the feature/thunderbird branch based on feature/jessie # features/step_definitions/build.rb:87 And the config/APT_overlays.d directory is empty # features/step_definitions/build.rb:122 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see only the 'feature-jessie' suite # features/step_definitions/build.rb:113 Scenario: build from a feature branch based on devel with dots in its name # features/build.feature:400 Given I am working on the feature/live-boot-3.x branch based on devel # features/step_definitions/build.rb:87 And config/APT_overlays.d contains 'feature-live-boot-3.x' # features/step_definitions/build.rb:127 When I successfully run tails-custom-apt-sources # features/step_definitions/build.rb:99 Then I should see the 'devel' suite # features/step_definitions/build.rb:109 And I should see the 'feature-live-boot-3.x' suite # features/step_definitions/build.rb:109 Scenario: build from a branch that has no config/APT_overlays.d directory # features/build.feature:407 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And the config/APT_overlays.d directory does not exist # features/step_definitions/build.rb:139 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 Scenario: build from a branch that has no config/base_branch file # features/build.feature:413 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And the config/base_branch file does not exist # features/step_definitions/build.rb:135 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 Scenario: build from a branch where config/base_branch is empty # features/build.feature:419 Given I am working on the stable base branch # features/step_definitions/build.rb:70 And the config/base_branch file is empty # features/step_definitions/build.rb:143 When I run tails-custom-apt-sources # features/step_definitions/build.rb:104 Then it should fail # features/step_definitions/build.rb:131 @product Feature: Getting a DHCP lease without leaking too much information As a Tails user when I connect to a network with a DHCP server I should be able to connect to the Internet and the hostname should not have been leaked on the network. Background: # features/dhcp.feature:8 01:50:25.678010855: calling as root: echo 'hello?' 01:50:25.924184545: call returned: [0, "hello?\n", ""] 01:50:26.647061272: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:50:26.647271068: calling as root: nmcli device show eth0 01:50:26.909625524: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:50:26.919129944: calling as root: date -s '@1523725531' 01:50:27.046309938: call returned: [0, "Sat Apr 14 17:05:31 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 And the network is plugged # features/step_definitions/common_steps.rb:79 01:50:27.090016195: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:27.366071419: call returned: [1, "", ""] 01:50:28.366393095: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:28.517108237: call returned: [1, "", ""] 01:50:29.517365003: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:29.682537633: call returned: [1, "", ""] 01:50:30.682890607: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:30.824028483: call returned: [1, "", ""] 01:50:31.824331912: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:32.017531663: call returned: [1, "", ""] 01:50:33.017860414: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:33.171410916: call returned: [1, "", ""] 01:50:34.171677540: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:34.406364032: call returned: [1, "", ""] 01:50:35.406621397: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:35.588281792: call returned: [3, "", ""] 01:50:36.588533819: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:50:36.792316343: call returned: [0, "", ""] 01:50:36.792581876: calling as root: test -e /run/tordate/done 01:50:37.011529752: call returned: [0, "", ""] 01:50:37.011759367: calling as root: test -e /run/htpdate/success 01:50:37.464974457: call returned: [1, "", ""] 01:50:38.467055643: calling as root: test -e /run/htpdate/success 01:50:38.624230404: call returned: [0, "", ""] 01:50:38.624566118: calling as root: systemctl is-system-running 01:50:38.861262396: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 01:50:38.861970490: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node383 = dogtail.tree.root.application('gnome-shell') 01:50:39.709617464: execution complete 01:50:40.432318189: executing Python as amnesia: node384 = node383.child('No Notifications', roleName='label') 01:50:40.445794868: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:50:41.824771319: execution complete 01:50:41.824956442: executing Python as amnesia: node385 = node383.child('No Notifications', roleName='label') 01:50:42.960251047: execution complete And all notifications have disappeared # features/step_definitions/common_steps.rb:441 01:50:43.009489821: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:43.024305836: [log] TYPE "#ESC." 01:50:43.149278094: call returned: [1, "", ""] 01:50:44.149647089: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:44.281830068: call returned: [1, "", ""] 01:50:45.282062145: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:45.405457121: call returned: [1, "", ""] 01:50:46.405649118: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:46.546537252: call returned: [1, "", ""] 01:50:47.546775092: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:47.667312415: call returned: [1, "", ""] 01:50:48.667520206: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:48.792502562: call returned: [1, "", ""] 01:50:49.792792476: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:49.983072830: call returned: [1, "", ""] 01:50:50.983339374: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:51.118131979: call returned: [1, "", ""] 01:50:52.118372470: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:52.268527562: call returned: [1, "", ""] 01:50:53.268753114: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:53.388207633: call returned: [1, "", ""] 01:50:54.388467932: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:54.519519021: call returned: [1, "", ""] 01:50:55.519785447: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:55.656760279: call returned: [1, "", ""] 01:50:56.656927908: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:56.785891210: call returned: [1, "", ""] 01:50:57.786199953: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:57.951481925: call returned: [1, "", ""] 01:50:58.951885240: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:50:59.082248219: call returned: [1, "", ""] 01:51:00.082581507: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:00.235468342: call returned: [1, "", ""] 01:51:01.235783978: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:01.379068061: call returned: [1, "", ""] 01:51:02.379297526: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:02.528872019: call returned: [1, "", ""] 01:51:03.529159346: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:03.692314638: call returned: [1, "", ""] 01:51:04.692654134: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:04.825336333: call returned: [1, "", ""] 01:51:05.825584315: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:05.990760365: call returned: [1, "", ""] 01:51:06.991120396: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:07.156462482: call returned: [1, "", ""] 01:51:08.156754732: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:08.370211410: call returned: [1, "", ""] 01:51:09.370503477: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:09.530607968: call returned: [1, "", ""] 01:51:10.530871108: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:10.670501143: call returned: [1, "", ""] 01:51:11.670777352: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:11.798851940: call returned: [1, "", ""] 01:51:12.799164876: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:12.921254259: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 Scenario: Getting a DHCP lease with the default NetworkManager connection # features/dhcp.feature:16 01:51:12.924397469: calling as root: hostname 01:51:13.093278971: call returned: [0, "localhost.localdomain\n", ""] Then the hostname should not have been leaked on the network # features/step_definitions/dhcp.rb:1 Scenario: Getting a DHCP lease with a manually configured NetworkManager connection # features/dhcp.feature:19 01:51:14.957579934: calling as root: echo 'hello?' 01:51:15.234070906: call returned: [0, "hello?\n", ""] 01:51:15.957112846: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:51:15.957324830: calling as root: nmcli device show eth0 01:51:16.213857970: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:51:16.225639493: calling as root: date -s '@1523725580' 01:51:16.389839482: call returned: [0, "Sat Apr 14 17:06:20 UTC 2018\n", ""] 01:51:16.429396988: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:16.742921141: call returned: [1, "", ""] 01:51:17.743139407: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:17.911131297: call returned: [1, "", ""] 01:51:18.911472445: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:19.089049371: call returned: [1, "", ""] 01:51:20.089275542: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:20.237893215: call returned: [1, "", ""] 01:51:21.238262755: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:21.383370225: call returned: [1, "", ""] 01:51:22.383634353: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:22.639813543: call returned: [1, "", ""] 01:51:23.640265103: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:23.809832164: call returned: [1, "", ""] 01:51:24.810097609: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:25.003784467: call returned: [3, "", ""] 01:51:26.003984170: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:51:26.301364440: call returned: [0, "", ""] 01:51:26.301639367: calling as root: test -e /run/tordate/done 01:51:26.451809761: call returned: [0, "", ""] 01:51:26.452165682: calling as root: test -e /run/htpdate/success 01:51:26.742389856: call returned: [1, "", ""] 01:51:27.742632756: calling as root: test -e /run/htpdate/success 01:51:27.907654257: call returned: [0, "", ""] 01:51:27.907933168: calling as root: systemctl is-system-running 01:51:28.075867516: call returned: [0, "running\n", ""] 01:51:28.076716547: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node386 = dogtail.tree.root.application('gnome-shell') 01:51:28.897004981: execution complete 01:51:29.620614882: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:51:29.620789339: executing Python as amnesia: node387 = node386.child('No Notifications', roleName='label') 01:51:30.912178501: execution complete 01:51:30.912323005: executing Python as amnesia: node388 = node386.child('No Notifications', roleName='label') 01:51:32.117003910: execution complete 01:51:32.159224919: [log] TYPE "#ESC." 01:51:32.159893223: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:32.347067979: call returned: [1, "", ""] 01:51:33.347401180: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:33.511964587: call returned: [1, "", ""] 01:51:34.512328692: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:34.660808816: call returned: [1, "", ""] 01:51:35.661060653: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:35.789935487: call returned: [1, "", ""] 01:51:36.790260934: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:36.930317520: call returned: [1, "", ""] 01:51:37.930613286: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:38.079517957: call returned: [1, "", ""] 01:51:39.079858733: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:39.213506293: call returned: [1, "", ""] 01:51:40.213786472: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:40.540431190: call returned: [1, "", ""] 01:51:41.540634183: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:41.715325478: call returned: [1, "", ""] 01:51:42.715532767: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:42.856208732: call returned: [1, "", ""] 01:51:43.856512205: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:44.049523799: call returned: [1, "", ""] 01:51:45.049797517: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:45.188806913: call returned: [1, "", ""] 01:51:46.189007570: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:46.324280115: call returned: [1, "", ""] 01:51:47.324546681: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:47.480920484: call returned: [1, "", ""] 01:51:48.481159903: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:48.649753616: call returned: [1, "", ""] 01:51:49.650099213: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:49.845352387: call returned: [1, "", ""] 01:51:50.845623904: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:50.982104929: call returned: [1, "", ""] 01:51:51.982441168: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:52.114597608: call returned: [1, "", ""] 01:51:53.114996132: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:53.254584111: call returned: [1, "", ""] 01:51:54.254912473: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:54.402313038: call returned: [1, "", ""] 01:51:55.402605784: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:55.570247610: call returned: [1, "", ""] 01:51:56.570481652: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:56.693901154: call returned: [1, "", ""] 01:51:57.694151549: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:57.890801460: call returned: [1, "", ""] 01:51:58.892947465: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:51:59.042800588: call returned: [1, "", ""] 01:52:00.043155675: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:52:00.182112121: call returned: [1, "", ""] 01:52:01.182435723: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:52:01.350911124: call returned: [1, "", ""] 01:52:02.351166607: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:52:02.485382219: call returned: [0, "", ""] 01:52:02.486368270: calling as root: nmcli connection add con-name manually-added-con type ethernet autoconnect yes ifname eth0 01:52:02.718655784: call returned: [0, "Connection 'manually-added-con' (ee67e11c-5a04-49d6-b210-f9f0c26afc85) successfully added.\n", ""] 01:52:02.718869649: calling as root: nmcli --terse --fields NAME connection show 01:52:02.909118724: call returned: [0, "Wired connection\nmanually-added-con\n", ""] When I add a wired DHCP NetworkManager connection called "manually-added-con" # features/step_definitions/common_steps.rb:566 01:52:02.910413013: calling as root: nmcli connection up id manually-added-con 01:52:03.293729010: call returned: [0, "Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)\n", ""] 01:52:03.293880752: calling as root: nmcli --terse --fields NAME,STATE connection show 01:52:03.555651831: call returned: [0, "manually-added-con:activated\nWired connection:--\n", ""] And I switch to the "manually-added-con" NetworkManager connection # features/step_definitions/common_steps.rb:593 01:52:03.556384300: calling as root: hostname 01:52:03.717519666: call returned: [0, "localhost.localdomain\n", ""] Then the hostname should not have been leaked on the network # features/step_definitions/dhcp.rb:1 @product @doc Feature: Tails documentation #15514 @fragile Scenario: The Tails documentation launcher on the desktop works when offline # features/documentation.feature:6 01:52:05.503455286: calling as root: echo 'hello?' 01:52:05.758637663: call returned: [0, "hello?\n", ""] 01:52:06.482891347: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:52:06.483089339: calling as root: nmcli device show eth0 01:52:06.769358939: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:52:06.786799015: calling as root: date -s '@1523725630' 01:52:06.956859465: call returned: [0, "Sat Apr 14 17:07:10 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:52:06.958070864: calling as root: pgrep --uid amnesia --full --full tails-documentation 01:52:07.118805647: call returned: [1, "", ""] 01:52:08.100245262: [log] DOUBLE CLICK on L(66,239)@S(0)[0,0 1024x768] When I double-click on the Tails documentation launcher on the desktop # features/step_definitions/common_steps.rb:730 01:52:08.101701443: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node389 = dogtail.tree.root.application('tails-documentation') 01:52:10.604545780: execution complete 01:52:10.604692271: executing Python as amnesia: node390 = node389.child('Tails documentation', roleName='frame', recursive=False) 01:52:10.636421449: execution complete 01:52:10.636544508: executing Python as amnesia: node391 = node389.child('Found a bug?', roleName='heading') 01:52:17.490046519: execution complete Then the documentation viewer opens the "Getting started" page # features/step_definitions/checks.rb:97 #15514 @fragile Scenario: The Tails documentation launcher on the desktop works when online # features/documentation.feature:13 01:52:23.882485341: calling as root: echo 'hello?' 01:52:24.172170182: call returned: [0, "hello?\n", ""] 01:52:24.895451535: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:52:24.895674463: calling as root: nmcli device show eth0 01:52:25.247802830: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 01:52:25.256955574: calling as root: systemctl --quiet is-active tor@default.service 01:52:25.413070853: call returned: [0, "", ""] 01:52:25.413168814: calling as root: systemctl stop tor@default.service 01:52:25.639353861: call returned: [0, "", ""] 01:52:25.639470057: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 01:52:25.818302603: call returned: [0, "", ""] 01:52:25.818450885: calling as root: date -s '@1523725649' 01:52:25.990498964: call returned: [0, "Sat Apr 14 17:07:29 UTC 2018\n", ""] 01:52:25.990635211: calling as root: systemctl start tor@default.service 01:52:26.777671225: call returned: [0, "", ""] 01:52:26.777879156: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:52:26.960205867: call returned: [3, "", ""] 01:52:27.960468751: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:52:28.136696168: call returned: [3, "", ""] 01:52:29.137002356: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:52:29.299217063: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 01:52:29.300038130: calling as root: pgrep --uid amnesia --full --full tails-documentation 01:52:29.512210708: call returned: [1, "", ""] When I double-click on the Tails documentation launcher on the desktop # features/step_definitions/common_steps.rb:730 01:52:30.496486678: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node392 = dogtail.tree.root.application('Firefox') 01:52:30.506617541: [log] DOUBLE CLICK on L(66,239)@S(0)[0,0 1024x768] 01:52:44.382294309: execution complete 01:52:44.382452796: executing Python as amnesia: node393 = node392.child(roleName='frame', recursive=False) 01:52:44.547543215: execution complete Then the Tor Browser starts # features/step_definitions/common_steps.rb:398 01:52:44.548813892: executing Python as amnesia: nodes394 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes394)) 01:52:44.835012160: execution complete 01:52:45.835327833: executing Python as amnesia: nodes395 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes395)) 01:52:45.960226551: execution complete 01:52:46.960514695: executing Python as amnesia: nodes396 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes396)) 01:52:47.029655953: execution complete 01:52:48.029955177: executing Python as amnesia: nodes397 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes397)) 01:52:48.113736521: execution complete 01:52:48.113848673: executing Python as amnesia: node398 = nodes397[0] 01:52:48.139176554: execution complete 01:52:48.139311249: executing Python as amnesia: print(node398.name) 01:52:48.163295886: execution complete 01:52:49.163565932: executing Python as amnesia: nodes399 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes399)) 01:52:49.328864311: execution complete 01:52:50.329712296: executing Python as amnesia: nodes400 = node392.findChildren(dogtail.predicate.GenericPredicate(roleName='document frame')) print(len(nodes400)) 01:52:50.433334636: execution complete 01:52:50.433485439: executing Python as amnesia: node401 = nodes400[0] 01:52:50.454244435: execution complete 01:52:50.454334663: executing Python as amnesia: print(node401.name) 01:52:50.483494753: execution complete And the Tor Browser opens the Getting started page # features/step_definitions/browser.rb:223 #15321 @fragile Scenario: The Report an Error launcher will open the support documentation # features/documentation.feature:21 01:52:52.812881126: calling as root: echo 'hello?' 01:52:53.060731058: call returned: [0, "hello?\n", ""] 01:52:53.785598791: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:52:53.785746305: calling as root: nmcli device show eth0 01:52:54.050241654: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:52:54.059487759: calling as root: date -s '@1523725678' 01:52:54.200501133: call returned: [0, "Sat Apr 14 17:07:58 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:52:54.202169419: calling as root: pgrep --uid amnesia --full --full tails-documentation 01:52:54.347667239: call returned: [1, "", ""] 01:52:55.406326117: [log] DOUBLE CLICK on L(66,137)@S(0)[0,0 1024x768] When I double-click on the Report an Error launcher on the desktop # features/step_definitions/common_steps.rb:730 01:52:55.407624421: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node402 = dogtail.tree.root.application('tails-documentation') 01:52:57.878907329: execution complete 01:52:57.879072327: executing Python as amnesia: node403 = node402.child('Tails documentation', roleName='frame', recursive=False) 01:52:57.919739084: execution complete 01:52:57.919859396: executing Python as amnesia: node404 = node402.child('Search the documentation', roleName='heading') 01:53:04.677573660: execution complete Then the documentation viewer opens the "Support" page # features/step_definitions/checks.rb:97 @product @check_tor_leaks Feature: Electrum Bitcoin client As a Tails user I might want to use a Bitcoin client And all Internet traffic should flow only through Tor Scenario: A warning will be displayed if Electrum is not persistent # features/electrum.feature:7 01:53:06.447729151: calling as root: echo 'hello?' 01:53:06.795122170: call returned: [0, "hello?\n", ""] 01:53:07.519614226: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:53:07.519746704: calling as root: nmcli device show eth0 01:53:07.758917193: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:53:07.769611414: calling as root: date -s '@1523725691' 01:53:07.939616153: call returned: [0, "Sat Apr 14 17:08:11 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:53:07.978879438: calling as amnesia: xdotool key Super 01:53:08.143595337: call returned: [0, "", ""] 01:53:10.238736372: [log] TYPE "Electrum Bitcoin Wallet" When I start Electrum through the GNOME menu # features/step_definitions/electrum.rb:13 01:53:10.302942103: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:53:10.317545883: [log] ( Ctrl ) TYPE "#ENTER." 01:53:12.664423137: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:53:12.664639926: calling as root: findmnt --noheadings --output SOURCE --target '/home/amnesia/.electrum' 01:53:12.844358092: call returned: [0, "aufs\n", ""] But persistence for "electrum" is not enabled # features/step_definitions/common_steps.rb:648 01:53:12.845630443: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node405 = dogtail.tree.root.application('zenity') 01:53:13.692261821: execution complete 01:53:13.692476626: executing Python as amnesia: node406 = node405.child(roleName='label') 01:53:13.735491625: execution complete 01:53:13.735584964: executing Python as amnesia: print(node406.name) 01:53:13.765651658: execution complete And I see a warning that Electrum is not persistent # features/step_definitions/electrum.rb:75 #11697 @fragile Scenario: Using a persistent Electrum configuration # features/electrum.feature:15 01:53:19.564105782: calling as root: echo 'hello?' 01:53:19.896013804: call returned: [0, "hello?\n", ""] 01:53:20.618505471: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:53:20.618706004: calling as root: nmcli device show eth0 01:53:20.972265504: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:53:20.986518482: calling as root: date -s '@1523725705' 01:53:21.164088598: call returned: [0, "Sat Apr 14 17:08:25 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 01:53:21.189660427: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:53:21.599539833: call returned: [1, "", ""] 01:53:22.599839332: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:53:22.810568198: call returned: [1, "", ""] 01:53:23.810903444: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:53:24.028948297: call returned: [3, "", ""] 01:53:25.029273877: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:53:25.263950372: call returned: [3, "", ""] 01:53:26.264203728: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:53:26.582360952: call returned: [0, "", ""] 01:53:26.582558798: calling as root: test -e /run/tordate/done 01:53:26.854156567: call returned: [0, "", ""] 01:53:26.854340163: calling as root: test -e /run/htpdate/success 01:53:27.153842098: call returned: [1, "", ""] 01:53:28.154187755: calling as root: test -e /run/htpdate/success 01:53:28.322501776: call returned: [1, "", ""] 01:53:29.322727864: calling as root: test -e /run/htpdate/success 01:53:29.496858506: call returned: [0, "", ""] 01:53:29.497077793: calling as root: systemctl is-system-running 01:53:29.717577095: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 01:53:29.718382815: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:29.944109505: call returned: [1, "", ""] 01:53:30.944443890: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:31.123858070: call returned: [1, "", ""] 01:53:32.124238949: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:32.294847696: call returned: [1, "", ""] 01:53:33.295166496: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:33.471779270: call returned: [1, "", ""] 01:53:34.472111932: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:34.665712991: call returned: [1, "", ""] 01:53:35.666081899: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:35.875935516: call returned: [1, "", ""] 01:53:36.876229937: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:37.071476485: call returned: [1, "", ""] 01:53:38.071769767: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:38.239181895: call returned: [1, "", ""] 01:53:39.239521346: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:39.396511435: call returned: [1, "", ""] 01:53:40.396871130: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:40.556204802: call returned: [1, "", ""] 01:53:41.556546194: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:41.728318037: call returned: [1, "", ""] 01:53:42.728648311: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:42.904888946: call returned: [1, "", ""] 01:53:43.905211961: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:44.054375007: call returned: [1, "", ""] 01:53:45.054614574: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:45.232041213: call returned: [1, "", ""] 01:53:46.232376228: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:46.395642822: call returned: [1, "", ""] 01:53:47.395962132: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:47.585410296: call returned: [1, "", ""] 01:53:48.585668352: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:48.759536639: call returned: [1, "", ""] 01:53:49.759893989: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:49.946092649: call returned: [1, "", ""] 01:53:50.946408254: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:51.134850742: call returned: [1, "", ""] 01:53:52.135111309: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:52.313053686: call returned: [1, "", ""] 01:53:53.313364935: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:53.483890304: call returned: [1, "", ""] 01:53:54.484244926: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:54.653097978: call returned: [1, "", ""] 01:53:55.653427929: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:55.853026880: call returned: [1, "", ""] 01:53:56.853258189: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:57.069897091: call returned: [1, "", ""] 01:53:58.070161732: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:58.311797720: call returned: [1, "", ""] 01:53:59.312021772: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:53:59.502575686: call returned: [1, "", ""] 01:54:00.502852112: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:54:00.718268528: call returned: [1, "", ""] 01:54:01.718596735: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:54:01.901842256: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 01:54:01.902730871: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node407 = dogtail.tree.root.application('gnome-shell') 01:54:02.807170032: execution complete 01:54:03.546330829: executing Python as amnesia: node408 = node407.child('No Notifications', roleName='label') 01:54:03.546452124: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:54:04.978626864: execution complete 01:54:04.978765368: executing Python as amnesia: node409 = node407.child('No Notifications', roleName='label') 01:54:06.106807937: execution complete 01:54:06.148017147: [log] TYPE "#ESC." And all notifications have disappeared # features/step_definitions/common_steps.rb:441 01:54:06.149257738: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 01:54:07.080534207: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 01:54:07.080758362: calling as root: findmnt --noheadings --output SOURCE --target '/home/amnesia/.electrum' 01:54:07.326590317: call returned: [0, "/dev/mapper/TailsData_unlocked[/electrum]\n", ""] Then persistence for "electrum" is enabled # features/step_definitions/common_steps.rb:648 01:54:07.365969772: calling as amnesia: xdotool key Super 01:54:07.543055644: call returned: [0, "", ""] 01:54:09.317314788: [log] TYPE "Electrum Bitcoin Wallet" When I start Electrum through the GNOME menu # features/step_definitions/electrum.rb:13 01:54:09.380849849: calling as root: test -e '/home/amnesia/.electrum/wallets/default_wallet' 01:54:09.389821708: [log] ( Ctrl ) TYPE "#ENTER." 01:54:09.795609716: call returned: [1, "", ""] But a bitcoin wallet is not present # features/step_definitions/electrum.rb:23 01:54:09.796824921: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node410 = dogtail.tree.root.application('electrum') 01:54:20.586669896: execution complete 01:54:21.587025379: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node411 = dogtail.tree.root.application('electrum') 01:54:27.919790507: execution complete Then Electrum starts # features/step_definitions/electrum.rb:17 01:54:27.921561270: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node412 = dogtail.tree.root.application('electrum') 01:54:28.134542556: execution complete 01:54:28.134667894: executing Python as amnesia: node413 = node412.child(roleName='dialog') 01:54:28.158806291: execution complete 01:54:28.158911627: executing Python as amnesia: node414 = node413.child('Electrum wallet', roleName='label') 01:54:28.196780946: execution complete 01:54:28.197011838: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node415 = dogtail.tree.root.application('electrum') 01:54:28.265589465: execution complete 01:54:28.265705630: executing Python as amnesia: node416 = node415.child(roleName='dialog') 01:54:28.288485767: execution complete 01:54:28.288659491: executing Python as amnesia: nodes417 = node416.findChildren(dogtail.predicate.GenericPredicate('This file does not exist. Press 'Next' to create this wallet, or choose another file.', roleName='label')) print(len(nodes417)) 01:54:28.366927611: execution complete And I am prompted to configure Electrum # features/step_definitions/electrum.rb:35 01:54:28.368190779: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node418 = dogtail.tree.root.application('electrum') 01:54:28.436526635: execution complete 01:54:28.436722030: executing Python as amnesia: node419 = node418.child(roleName='dialog') 01:54:28.464736204: execution complete 01:54:28.464868520: executing Python as amnesia: node420 = node419.button('Next') 01:54:28.489549868: execution complete 01:54:28.489673641: executing Python as amnesia: node420.click() 01:54:29.529985549: execution complete 01:54:29.530123376: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node421 = dogtail.tree.root.application('electrum') 01:54:29.601102818: execution complete 01:54:29.601272207: executing Python as amnesia: node422 = node421.child(roleName='dialog') 01:54:29.626766420: execution complete 01:54:29.626884953: executing Python as amnesia: node423 = node422.child('What kind of wallet do you want to create?', roleName='panel') 01:54:29.664355131: execution complete 01:54:29.664521911: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node424 = dogtail.tree.root.application('electrum') 01:54:29.733258395: execution complete 01:54:29.733377002: executing Python as amnesia: node425 = node424.child(roleName='dialog') 01:54:29.755623468: execution complete 01:54:29.755748013: executing Python as amnesia: node426 = node425.child('Standard wallet', roleName='radio button') 01:54:29.798629103: execution complete 01:54:29.798791249: executing Python as amnesia: node426.click() 01:54:30.832010196: execution complete 01:54:30.832154333: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node427 = dogtail.tree.root.application('electrum') 01:54:30.885430050: execution complete 01:54:30.885563155: executing Python as amnesia: node428 = node427.child(roleName='dialog') 01:54:30.925239912: execution complete 01:54:30.925377048: executing Python as amnesia: node429 = node428.button('Next') 01:54:30.951143552: execution complete 01:54:30.951285032: executing Python as amnesia: node429.click() 01:54:31.986171882: execution complete 01:54:31.986331152: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node430 = dogtail.tree.root.application('electrum') 01:54:32.034028559: execution complete 01:54:32.034183122: executing Python as amnesia: node431 = node430.child(roleName='dialog') 01:54:32.060834127: execution complete 01:54:32.060955568: executing Python as amnesia: node432 = node431.child('Keystore', roleName='label') 01:54:32.094285537: execution complete 01:54:32.094423340: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node433 = dogtail.tree.root.application('electrum') 01:54:32.165424004: execution complete 01:54:32.165572625: executing Python as amnesia: node434 = node433.child(roleName='dialog') 01:54:32.190855719: execution complete 01:54:32.190984674: executing Python as amnesia: node435 = node434.child('Create a new seed', roleName='radio button') 01:54:32.231241305: execution complete 01:54:32.231371899: executing Python as amnesia: node435.click() 01:54:33.274671260: execution complete 01:54:33.274878504: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node436 = dogtail.tree.root.application('electrum') 01:54:33.346492114: execution complete 01:54:33.346651460: executing Python as amnesia: node437 = node436.child(roleName='dialog') 01:54:33.371226579: execution complete 01:54:33.371372447: executing Python as amnesia: node438 = node437.button('Next') 01:54:33.398976025: execution complete 01:54:33.399110510: executing Python as amnesia: node438.click() 01:54:34.437010919: execution complete 01:54:34.437180105: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node439 = dogtail.tree.root.application('electrum') 01:54:34.504024514: execution complete 01:54:34.504143568: executing Python as amnesia: node440 = node439.child(roleName='dialog') 01:54:34.531051857: execution complete 01:54:34.531202225: executing Python as amnesia: node441 = node440.child('Choose Seed type', roleName='label') 01:54:34.568592960: execution complete 01:54:34.568810034: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node442 = dogtail.tree.root.application('electrum') 01:54:34.637414573: execution complete 01:54:34.637523530: executing Python as amnesia: node443 = node442.child(roleName='dialog') 01:54:34.669331603: execution complete 01:54:34.669447821: executing Python as amnesia: node444 = node443.child('Standard', roleName='radio button') 01:54:34.705211573: execution complete 01:54:34.705383123: executing Python as amnesia: node444.click() 01:54:35.739623059: execution complete 01:54:35.739772456: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node445 = dogtail.tree.root.application('electrum') 01:54:35.843857357: execution complete 01:54:35.844009526: executing Python as amnesia: node446 = node445.child(roleName='dialog') 01:54:35.866855660: execution complete 01:54:35.867039147: executing Python as amnesia: node447 = node446.button('Next') 01:54:35.889790745: execution complete 01:54:35.889979044: executing Python as amnesia: node447.click() 01:54:36.920328809: execution complete 01:54:36.920522992: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node448 = dogtail.tree.root.application('electrum') 01:54:36.971214172: execution complete 01:54:36.971365740: executing Python as amnesia: node449 = node448.child(roleName='dialog') 01:54:37.003665181: execution complete 01:54:37.003827075: executing Python as amnesia: node450 = node449.child('Your wallet generation seed is:', roleName='label') 01:54:37.039604550: execution complete 01:54:37.039765135: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node451 = dogtail.tree.root.application('electrum') 01:54:37.109976997: execution complete 01:54:37.110112259: executing Python as amnesia: node452 = node451.child(roleName='dialog') 01:54:37.147029458: execution complete 01:54:37.147176736: executing Python as amnesia: node453 = node452.child(roleName='text') 01:54:37.186846979: execution complete 01:54:37.186952911: executing Python as amnesia: print(node453.text) 01:54:37.211653739: execution complete 01:54:37.211848414: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node454 = dogtail.tree.root.application('electrum') 01:54:37.264515956: execution complete 01:54:37.264675162: executing Python as amnesia: node455 = node454.child(roleName='dialog') 01:54:37.288403136: execution complete 01:54:37.288547116: executing Python as amnesia: node456 = node455.button('Next') 01:54:37.314431071: execution complete 01:54:37.314543964: executing Python as amnesia: node456.click() 01:54:38.341319485: execution complete 01:54:38.341509561: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node457 = dogtail.tree.root.application('electrum') 01:54:38.419973152: execution complete 01:54:38.420145715: executing Python as amnesia: node458 = node457.child(roleName='dialog') 01:54:38.457483958: execution complete 01:54:38.457672766: executing Python as amnesia: node459 = node458.child('Confirm Seed', roleName='label') 01:54:38.496518716: execution complete 01:54:38.496703241: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node460 = dogtail.tree.root.application('electrum') 01:54:38.562556024: execution complete 01:54:38.562713579: executing Python as amnesia: node461 = node460.child(roleName='dialog') 01:54:38.590153126: execution complete 01:54:38.590299060: executing Python as amnesia: node462 = node461.child(roleName='text') 01:54:38.630078891: execution complete 01:54:38.630218068: executing Python as amnesia: node462.text = 'nose siege supply chat cream slight accident hire inhale expose sort jaguar' 01:54:38.662107342: execution complete 01:54:38.662267227: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node463 = dogtail.tree.root.application('electrum') 01:54:38.731735599: execution complete 01:54:38.731886327: executing Python as amnesia: node464 = node463.child(roleName='dialog') 01:54:38.760179005: execution complete 01:54:38.760316247: executing Python as amnesia: node465 = node464.button('Next') 01:54:38.789676882: execution complete 01:54:38.789823885: executing Python as amnesia: node465.click() 01:54:39.817667349: execution complete 01:54:39.817847988: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node466 = dogtail.tree.root.application('electrum') 01:54:39.877991468: execution complete 01:54:39.878148265: executing Python as amnesia: node467 = node466.child(roleName='dialog') 01:54:39.911251946: execution complete 01:54:39.911428857: executing Python as amnesia: nodes468 = node467.findChildren(dogtail.predicate.GenericPredicate(roleName='password text')) print(len(nodes468)) 01:54:39.968786938: execution complete 01:54:39.968896820: executing Python as amnesia: node469 = nodes468[0] 01:54:39.989702352: execution complete 01:54:39.989807163: executing Python as amnesia: node470 = nodes468[1] 01:54:40.006857333: execution complete 01:54:40.007007621: executing Python as amnesia: node469.typeText('asdf') 01:54:40.447585901: execution complete 01:54:40.447733938: executing Python as amnesia: node470.typeText('asdf') 01:54:40.889107837: execution complete 01:54:40.889231039: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node471 = dogtail.tree.root.application('electrum') 01:54:40.938188675: execution complete 01:54:40.938309308: executing Python as amnesia: node472 = node471.child(roleName='dialog') 01:54:40.962190432: execution complete 01:54:40.962335670: executing Python as amnesia: node473 = node472.button('Next') 01:54:40.990977968: execution complete 01:54:40.991083912: executing Python as amnesia: node473.click() 01:54:42.017040763: execution complete When I follow the Electrum wizard to create a new bitcoin wallet # features/step_definitions/electrum.rb:50 01:54:42.018542788: calling as root: test -e '/home/amnesia/.electrum/wallets/default_wallet' 01:54:42.223764845: call returned: [1, "", ""] 01:54:43.224022325: calling as root: test -e '/home/amnesia/.electrum/wallets/default_wallet' 01:54:43.407932015: call returned: [0, "", ""] Then a bitcoin wallet is present # features/step_definitions/electrum.rb:23 01:54:43.409352007: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node474 = dogtail.tree.root.application('electrum') 01:54:43.496699291: execution complete 01:54:43.496812385: executing Python as amnesia: node475 = node474.child(roleName='frame') 01:54:43.591976030: execution complete And I see the main Electrum client window # features/step_definitions/electrum.rb:89 01:54:43.593147023: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node476 = dogtail.tree.root.application('electrum') 01:54:43.646816375: execution complete 01:54:43.646969329: executing Python as amnesia: node477 = node476.child(roleName='frame') 01:54:43.696281166: execution complete 01:54:43.696384348: executing Python as amnesia: node478 = node477.child(roleName='status bar') 01:54:43.728738035: execution complete 01:54:43.728924934: executing Python as amnesia: nodes479 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes479)) 01:54:43.770501457: execution complete 01:54:43.770626403: executing Python as amnesia: node480 = nodes479[0] 01:54:43.792885593: execution complete 01:54:43.793006501: executing Python as amnesia: print(node480.name) 01:54:43.813110397: execution complete 01:54:44.813493028: executing Python as amnesia: nodes481 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes481)) 01:54:44.853936870: execution complete 01:54:44.854055882: executing Python as amnesia: node482 = nodes481[0] 01:54:44.871422181: execution complete 01:54:44.871546609: executing Python as amnesia: print(node482.name) 01:54:44.890260236: execution complete 01:54:45.890636822: executing Python as amnesia: nodes483 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes483)) 01:54:45.930264370: execution complete 01:54:45.930433056: executing Python as amnesia: node484 = nodes483[0] 01:54:45.947717474: execution complete 01:54:45.947844213: executing Python as amnesia: print(node484.name) 01:54:45.966727883: execution complete 01:54:46.966981462: executing Python as amnesia: nodes485 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes485)) 01:54:47.008748865: execution complete 01:54:47.008868726: executing Python as amnesia: node486 = nodes485[0] 01:54:47.031112631: execution complete 01:54:47.031217438: executing Python as amnesia: print(node486.name) 01:54:47.054048113: execution complete 01:54:48.054408365: executing Python as amnesia: nodes487 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes487)) 01:54:48.092768254: execution complete 01:54:48.092908649: executing Python as amnesia: node488 = nodes487[0] 01:54:48.116741191: execution complete 01:54:48.116859305: executing Python as amnesia: print(node488.name) 01:54:48.139108288: execution complete 01:54:49.139454258: executing Python as amnesia: nodes489 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes489)) 01:54:49.175407598: execution complete 01:54:49.175606747: executing Python as amnesia: node490 = nodes489[0] 01:54:49.196603937: execution complete 01:54:49.196762070: executing Python as amnesia: print(node490.name) 01:54:49.220401757: execution complete 01:54:50.220749895: executing Python as amnesia: nodes491 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes491)) 01:54:50.265655831: execution complete 01:54:50.265786362: executing Python as amnesia: node492 = nodes491[0] 01:54:50.286052451: execution complete 01:54:50.286158191: executing Python as amnesia: print(node492.name) 01:54:50.305857036: execution complete 01:54:51.306242762: executing Python as amnesia: nodes493 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes493)) 01:54:51.357250292: execution complete 01:54:51.357399230: executing Python as amnesia: node494 = nodes493[0] 01:54:51.385152797: execution complete 01:54:51.385265116: executing Python as amnesia: print(node494.name) 01:54:51.406659645: execution complete 01:54:52.407021719: executing Python as amnesia: nodes495 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes495)) 01:54:52.453479797: execution complete 01:54:52.453615028: executing Python as amnesia: node496 = nodes495[0] 01:54:52.471066749: execution complete 01:54:52.471218471: executing Python as amnesia: print(node496.name) 01:54:52.490116550: execution complete 01:54:53.490481457: executing Python as amnesia: nodes497 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes497)) 01:54:53.553403374: execution complete 01:54:53.553535301: executing Python as amnesia: node498 = nodes497[0] 01:54:53.578045683: execution complete 01:54:53.578163572: executing Python as amnesia: print(node498.name) 01:54:53.602111677: execution complete 01:54:54.602377623: executing Python as amnesia: nodes499 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes499)) 01:54:54.661007919: execution complete 01:54:54.661135790: executing Python as amnesia: node500 = nodes499[0] 01:54:54.683315559: execution complete 01:54:54.683427624: executing Python as amnesia: print(node500.name) 01:54:54.702096263: execution complete 01:54:55.702472071: executing Python as amnesia: nodes501 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes501)) 01:54:55.746665021: execution complete 01:54:55.746776399: executing Python as amnesia: node502 = nodes501[0] 01:54:55.766870031: execution complete 01:54:55.767013692: executing Python as amnesia: print(node502.name) 01:54:55.793760239: execution complete 01:54:56.794088031: executing Python as amnesia: nodes503 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes503)) 01:54:56.831842438: execution complete 01:54:56.831987056: executing Python as amnesia: node504 = nodes503[0] 01:54:56.863002410: execution complete 01:54:56.863166720: executing Python as amnesia: print(node504.name) 01:54:56.882924208: execution complete 01:54:57.883180460: executing Python as amnesia: nodes505 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes505)) 01:54:57.930732515: execution complete 01:54:57.930858730: executing Python as amnesia: node506 = nodes505[0] 01:54:57.952648609: execution complete 01:54:57.952792679: executing Python as amnesia: print(node506.name) 01:54:57.985442261: execution complete 01:54:58.985762504: executing Python as amnesia: nodes507 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes507)) 01:54:59.026189652: execution complete 01:54:59.026301824: executing Python as amnesia: node508 = nodes507[0] 01:54:59.046342918: execution complete 01:54:59.046464882: executing Python as amnesia: print(node508.name) 01:54:59.065397311: execution complete 01:55:00.065669068: executing Python as amnesia: nodes509 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes509)) 01:55:00.128708432: execution complete 01:55:00.128829233: executing Python as amnesia: node510 = nodes509[0] 01:55:00.148526881: execution complete 01:55:00.148659045: executing Python as amnesia: print(node510.name) 01:55:00.168836199: execution complete 01:55:01.169170837: executing Python as amnesia: nodes511 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes511)) 01:55:01.210456344: execution complete 01:55:01.210587429: executing Python as amnesia: node512 = nodes511[0] 01:55:01.232401540: execution complete 01:55:01.232547637: executing Python as amnesia: print(node512.name) 01:55:01.253916792: execution complete 01:55:02.254264168: executing Python as amnesia: nodes513 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes513)) 01:55:02.286326326: execution complete 01:55:02.286460897: executing Python as amnesia: node514 = nodes513[0] 01:55:02.304085895: execution complete 01:55:02.304208169: executing Python as amnesia: print(node514.name) 01:55:02.324408934: execution complete 01:55:03.324674980: executing Python as amnesia: nodes515 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes515)) 01:55:03.359267354: execution complete 01:55:03.359439059: executing Python as amnesia: node516 = nodes515[0] 01:55:03.380018497: execution complete 01:55:03.380191934: executing Python as amnesia: print(node516.name) 01:55:03.400545168: execution complete 01:55:04.400873977: executing Python as amnesia: nodes517 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes517)) 01:55:04.433814603: execution complete 01:55:04.433972302: executing Python as amnesia: node518 = nodes517[0] 01:55:04.457385177: execution complete 01:55:04.457502769: executing Python as amnesia: print(node518.name) 01:55:04.477032959: execution complete 01:55:05.477311597: executing Python as amnesia: nodes519 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes519)) 01:55:05.512869255: execution complete 01:55:05.513003388: executing Python as amnesia: node520 = nodes519[0] 01:55:05.547024862: execution complete 01:55:05.547184124: executing Python as amnesia: print(node520.name) 01:55:05.576083326: execution complete 01:55:06.576427783: executing Python as amnesia: nodes521 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes521)) 01:55:06.613837552: execution complete 01:55:06.613937182: executing Python as amnesia: node522 = nodes521[0] 01:55:06.636445514: execution complete 01:55:06.636535787: executing Python as amnesia: print(node522.name) 01:55:06.659838762: execution complete 01:55:07.660160098: executing Python as amnesia: nodes523 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes523)) 01:55:07.700942691: execution complete 01:55:07.701121612: executing Python as amnesia: node524 = nodes523[0] 01:55:07.727094856: execution complete 01:55:07.727215154: executing Python as amnesia: print(node524.name) 01:55:07.750572258: execution complete 01:55:08.750837222: executing Python as amnesia: nodes525 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes525)) 01:55:08.785726914: execution complete 01:55:08.785874965: executing Python as amnesia: node526 = nodes525[0] 01:55:08.812221626: execution complete 01:55:08.812354365: executing Python as amnesia: print(node526.name) 01:55:08.831321347: execution complete 01:55:09.831643438: executing Python as amnesia: nodes527 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes527)) 01:55:09.879597799: execution complete 01:55:09.879719172: executing Python as amnesia: node528 = nodes527[0] 01:55:09.900841466: execution complete 01:55:09.900947222: executing Python as amnesia: print(node528.name) 01:55:09.922029616: execution complete 01:55:10.922310113: executing Python as amnesia: nodes529 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes529)) 01:55:10.956273568: execution complete 01:55:10.956420907: executing Python as amnesia: node530 = nodes529[0] 01:55:10.976734046: execution complete 01:55:10.976835375: executing Python as amnesia: print(node530.name) 01:55:11.008327185: execution complete 01:55:12.008604310: executing Python as amnesia: nodes531 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes531)) 01:55:12.048169130: execution complete 01:55:12.048284124: executing Python as amnesia: node532 = nodes531[0] 01:55:12.065830396: execution complete 01:55:12.065964186: executing Python as amnesia: print(node532.name) 01:55:12.085409904: execution complete 01:55:13.085669660: executing Python as amnesia: nodes533 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes533)) 01:55:13.130105339: execution complete 01:55:13.130216465: executing Python as amnesia: node534 = nodes533[0] 01:55:13.149984845: execution complete 01:55:13.150082717: executing Python as amnesia: print(node534.name) 01:55:13.171176245: execution complete 01:55:14.171537686: executing Python as amnesia: nodes535 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes535)) 01:55:14.210540042: execution complete 01:55:14.210676764: executing Python as amnesia: node536 = nodes535[0] 01:55:14.232588054: execution complete 01:55:14.232734075: executing Python as amnesia: print(node536.name) 01:55:14.257503263: execution complete 01:55:15.257723801: executing Python as amnesia: nodes537 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes537)) 01:55:15.293951467: execution complete 01:55:15.294072784: executing Python as amnesia: node538 = nodes537[0] 01:55:15.320659155: execution complete 01:55:15.320830723: executing Python as amnesia: print(node538.name) 01:55:15.339125749: execution complete 01:55:16.339552321: executing Python as amnesia: nodes539 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes539)) 01:55:16.371587083: execution complete 01:55:16.371730829: executing Python as amnesia: node540 = nodes539[0] 01:55:16.397955908: execution complete 01:55:16.398050045: executing Python as amnesia: print(node540.name) 01:55:16.416308864: execution complete 01:55:17.416619708: executing Python as amnesia: nodes541 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes541)) 01:55:17.461997761: execution complete 01:55:17.462156104: executing Python as amnesia: node542 = nodes541[0] 01:55:17.481687252: execution complete 01:55:17.481796280: executing Python as amnesia: print(node542.name) 01:55:17.500716247: execution complete 01:55:18.501010415: executing Python as amnesia: nodes543 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes543)) 01:55:18.541183595: execution complete 01:55:18.541304903: executing Python as amnesia: node544 = nodes543[0] 01:55:18.562289021: execution complete 01:55:18.562430547: executing Python as amnesia: print(node544.name) 01:55:18.593574539: execution complete 01:55:19.593866448: executing Python as amnesia: nodes545 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes545)) 01:55:19.636806439: execution complete 01:55:19.636955024: executing Python as amnesia: node546 = nodes545[0] 01:55:19.657821499: execution complete 01:55:19.657939940: executing Python as amnesia: print(node546.name) 01:55:19.679626556: execution complete 01:55:20.680017224: executing Python as amnesia: nodes547 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes547)) 01:55:20.724462143: execution complete 01:55:20.724619480: executing Python as amnesia: node548 = nodes547[0] 01:55:20.742322356: execution complete 01:55:20.742417536: executing Python as amnesia: print(node548.name) 01:55:20.761115335: execution complete 01:55:21.761544887: executing Python as amnesia: nodes549 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes549)) 01:55:21.810959705: execution complete 01:55:21.811132698: executing Python as amnesia: node550 = nodes549[0] 01:55:21.835300334: execution complete 01:55:21.835551034: executing Python as amnesia: print(node550.name) 01:55:21.858295300: execution complete 01:55:22.858642460: executing Python as amnesia: nodes551 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes551)) 01:55:22.893138131: execution complete 01:55:22.893282062: executing Python as amnesia: node552 = nodes551[0] 01:55:22.914523811: execution complete 01:55:22.914666621: executing Python as amnesia: print(node552.name) 01:55:22.935391368: execution complete 01:55:23.935798605: executing Python as amnesia: nodes553 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes553)) 01:55:23.980506893: execution complete 01:55:23.980652691: executing Python as amnesia: node554 = nodes553[0] 01:55:24.003932241: execution complete 01:55:24.004071537: executing Python as amnesia: print(node554.name) 01:55:24.026160512: execution complete 01:55:25.026419082: executing Python as amnesia: nodes555 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes555)) 01:55:25.068766244: execution complete 01:55:25.068933744: executing Python as amnesia: node556 = nodes555[0] 01:55:25.087518712: execution complete 01:55:25.087635324: executing Python as amnesia: print(node556.name) 01:55:25.107329425: execution complete 01:55:26.107648802: executing Python as amnesia: nodes557 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes557)) 01:55:26.140808435: execution complete 01:55:26.140940855: executing Python as amnesia: node558 = nodes557[0] 01:55:26.160180978: execution complete 01:55:26.160309485: executing Python as amnesia: print(node558.name) 01:55:26.187446729: execution complete 01:55:27.187734672: executing Python as amnesia: nodes559 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes559)) 01:55:27.222697753: execution complete 01:55:27.222880036: executing Python as amnesia: node560 = nodes559[0] 01:55:27.239787514: execution complete 01:55:27.239960203: executing Python as amnesia: print(node560.name) 01:55:27.263324939: execution complete 01:55:28.263685886: executing Python as amnesia: nodes561 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes561)) 01:55:28.304097178: execution complete 01:55:28.304222646: executing Python as amnesia: node562 = nodes561[0] 01:55:28.326353749: execution complete 01:55:28.326494502: executing Python as amnesia: print(node562.name) 01:55:28.351260158: execution complete 01:55:29.351524564: executing Python as amnesia: nodes563 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes563)) 01:55:29.392686885: execution complete 01:55:29.392821515: executing Python as amnesia: node564 = nodes563[0] 01:55:29.412313033: execution complete 01:55:29.412451113: executing Python as amnesia: print(node564.name) 01:55:29.438785879: execution complete 01:55:30.439144288: executing Python as amnesia: nodes565 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes565)) 01:55:30.480729924: execution complete 01:55:30.480857509: executing Python as amnesia: node566 = nodes565[0] 01:55:30.498714485: execution complete 01:55:30.498826362: executing Python as amnesia: print(node566.name) 01:55:30.530905828: execution complete 01:55:31.531269008: executing Python as amnesia: nodes567 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes567)) 01:55:31.576448844: execution complete 01:55:31.576592422: executing Python as amnesia: node568 = nodes567[0] 01:55:31.594709089: execution complete 01:55:31.594832099: executing Python as amnesia: print(node568.name) 01:55:31.623069148: execution complete 01:55:32.623345727: executing Python as amnesia: nodes569 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes569)) 01:55:32.667529472: execution complete 01:55:32.667640902: executing Python as amnesia: node570 = nodes569[0] 01:55:32.688717200: execution complete 01:55:32.688879626: executing Python as amnesia: print(node570.name) 01:55:32.712054301: execution complete 01:55:33.712346128: executing Python as amnesia: nodes571 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes571)) 01:55:33.748466855: execution complete 01:55:33.748572330: executing Python as amnesia: node572 = nodes571[0] 01:55:33.765929859: execution complete 01:55:33.766049873: executing Python as amnesia: print(node572.name) 01:55:33.791078903: execution complete 01:55:34.791358804: executing Python as amnesia: nodes573 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes573)) 01:55:34.842819382: execution complete 01:55:34.842976474: executing Python as amnesia: node574 = nodes573[0] 01:55:34.867388570: execution complete 01:55:34.867509909: executing Python as amnesia: print(node574.name) 01:55:34.888682135: execution complete 01:55:35.889089798: executing Python as amnesia: nodes575 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes575)) 01:55:35.929100404: execution complete 01:55:35.929211631: executing Python as amnesia: node576 = nodes575[0] 01:55:35.946078366: execution complete 01:55:35.946191463: executing Python as amnesia: print(node576.name) 01:55:35.964947290: execution complete 01:55:36.965352249: executing Python as amnesia: nodes577 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes577)) 01:55:37.010581714: execution complete 01:55:37.010731275: executing Python as amnesia: node578 = nodes577[0] 01:55:37.030934809: execution complete 01:55:37.031107228: executing Python as amnesia: print(node578.name) 01:55:37.062717841: execution complete 01:55:38.063094777: executing Python as amnesia: nodes579 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes579)) 01:55:38.103856690: execution complete 01:55:38.103984636: executing Python as amnesia: node580 = nodes579[0] 01:55:38.124540202: execution complete 01:55:38.124698069: executing Python as amnesia: print(node580.name) 01:55:38.146167785: execution complete 01:55:39.146537138: executing Python as amnesia: nodes581 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes581)) 01:55:39.183060333: execution complete 01:55:39.183181159: executing Python as amnesia: node582 = nodes581[0] 01:55:39.205230361: execution complete 01:55:39.205326626: executing Python as amnesia: print(node582.name) 01:55:39.227075397: execution complete 01:55:40.227401560: executing Python as amnesia: nodes583 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes583)) 01:55:40.282910313: execution complete 01:55:40.283104005: executing Python as amnesia: node584 = nodes583[0] 01:55:40.301390029: execution complete 01:55:40.301537152: executing Python as amnesia: print(node584.name) 01:55:40.325811415: execution complete 01:55:41.326043677: executing Python as amnesia: nodes585 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes585)) 01:55:41.368841771: execution complete 01:55:41.368968005: executing Python as amnesia: node586 = nodes585[0] 01:55:41.388130404: execution complete 01:55:41.388251670: executing Python as amnesia: print(node586.name) 01:55:41.412049872: execution complete 01:55:42.412486048: executing Python as amnesia: nodes587 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes587)) 01:55:42.451497786: execution complete 01:55:42.451627727: executing Python as amnesia: node588 = nodes587[0] 01:55:42.473551767: execution complete 01:55:42.473675208: executing Python as amnesia: print(node588.name) 01:55:42.493133338: execution complete 01:55:43.493558738: executing Python as amnesia: nodes589 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes589)) 01:55:43.560367443: execution complete 01:55:43.560527671: executing Python as amnesia: node590 = nodes589[0] 01:55:43.588369539: execution complete 01:55:43.588529131: executing Python as amnesia: print(node590.name) 01:55:43.607316824: execution complete 01:55:44.607690241: executing Python as amnesia: nodes591 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes591)) 01:55:44.645809217: execution complete 01:55:44.646017219: executing Python as amnesia: node592 = nodes591[0] 01:55:44.663356175: execution complete 01:55:44.663494435: executing Python as amnesia: print(node592.name) 01:55:44.682374359: execution complete 01:55:45.682715417: executing Python as amnesia: nodes593 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes593)) 01:55:45.724960102: execution complete 01:55:45.725133883: executing Python as amnesia: node594 = nodes593[0] 01:55:45.745162823: execution complete 01:55:45.745269892: executing Python as amnesia: print(node594.name) 01:55:45.767115645: execution complete 01:55:46.767377020: executing Python as amnesia: nodes595 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes595)) 01:55:46.833889176: execution complete 01:55:46.834001009: executing Python as amnesia: node596 = nodes595[0] 01:55:46.858211573: execution complete 01:55:46.858367433: executing Python as amnesia: print(node596.name) 01:55:46.877889832: execution complete 01:55:47.878270698: executing Python as amnesia: nodes597 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes597)) 01:55:47.924558169: execution complete 01:55:47.924729657: executing Python as amnesia: node598 = nodes597[0] 01:55:47.941729831: execution complete 01:55:47.941853213: executing Python as amnesia: print(node598.name) 01:55:47.975273967: execution complete 01:55:48.975544582: executing Python as amnesia: nodes599 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes599)) 01:55:49.011604664: execution complete 01:55:49.011735372: executing Python as amnesia: node600 = nodes599[0] 01:55:49.030038236: execution complete 01:55:49.030228467: executing Python as amnesia: print(node600.name) 01:55:49.059895602: execution complete 01:55:50.060308766: executing Python as amnesia: nodes601 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes601)) 01:55:50.094538673: execution complete 01:55:50.094714512: executing Python as amnesia: node602 = nodes601[0] 01:55:50.117470711: execution complete 01:55:50.117605321: executing Python as amnesia: print(node602.name) 01:55:50.135976290: execution complete 01:55:51.136369125: executing Python as amnesia: nodes603 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes603)) 01:55:51.176051196: execution complete 01:55:51.176168452: executing Python as amnesia: node604 = nodes603[0] 01:55:51.199397804: execution complete 01:55:51.199526338: executing Python as amnesia: print(node604.name) 01:55:51.222803872: execution complete 01:55:52.223206769: executing Python as amnesia: nodes605 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes605)) 01:55:52.261379595: execution complete 01:55:52.261524257: executing Python as amnesia: node606 = nodes605[0] 01:55:52.279526058: execution complete 01:55:52.279660622: executing Python as amnesia: print(node606.name) 01:55:52.298839413: execution complete 01:55:53.299158487: executing Python as amnesia: nodes607 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes607)) 01:55:53.342810350: execution complete 01:55:53.343006184: executing Python as amnesia: node608 = nodes607[0] 01:55:53.363161495: execution complete 01:55:53.363276949: executing Python as amnesia: print(node608.name) 01:55:53.385994690: execution complete 01:55:54.386358084: executing Python as amnesia: nodes609 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes609)) 01:55:54.425081234: execution complete 01:55:54.425204527: executing Python as amnesia: node610 = nodes609[0] 01:55:54.445239478: execution complete 01:55:54.445345244: executing Python as amnesia: print(node610.name) 01:55:54.466191794: execution complete 01:55:55.466477449: executing Python as amnesia: nodes611 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes611)) 01:55:55.502292588: execution complete 01:55:55.502453662: executing Python as amnesia: node612 = nodes611[0] 01:55:55.523005563: execution complete 01:55:55.523161639: executing Python as amnesia: print(node612.name) 01:55:55.550422975: execution complete 01:55:56.550748903: executing Python as amnesia: nodes613 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes613)) 01:55:56.602697787: execution complete 01:55:56.602869042: executing Python as amnesia: node614 = nodes613[0] 01:55:56.620303858: execution complete 01:55:56.620487390: executing Python as amnesia: print(node614.name) 01:55:56.639442111: execution complete 01:55:57.639791170: executing Python as amnesia: nodes615 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes615)) 01:55:57.679213360: execution complete 01:55:57.679320922: executing Python as amnesia: node616 = nodes615[0] 01:55:57.697325099: execution complete 01:55:57.697477010: executing Python as amnesia: print(node616.name) 01:55:57.727593437: execution complete 01:55:58.727998853: executing Python as amnesia: nodes617 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes617)) 01:55:58.764645770: execution complete 01:55:58.764846622: executing Python as amnesia: node618 = nodes617[0] 01:55:58.783463229: execution complete 01:55:58.783574360: executing Python as amnesia: print(node618.name) 01:55:58.802315557: execution complete 01:55:59.802723893: executing Python as amnesia: nodes619 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes619)) 01:55:59.837197884: execution complete 01:55:59.837344228: executing Python as amnesia: node620 = nodes619[0] 01:55:59.862502672: execution complete 01:55:59.862641112: executing Python as amnesia: print(node620.name) 01:55:59.881949202: execution complete 01:56:00.882190603: executing Python as amnesia: nodes621 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes621)) 01:56:00.921650542: execution complete 01:56:00.921805990: executing Python as amnesia: node622 = nodes621[0] 01:56:00.939870147: execution complete 01:56:00.939978880: executing Python as amnesia: print(node622.name) 01:56:00.960695604: execution complete 01:56:01.961116938: executing Python as amnesia: nodes623 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes623)) 01:56:02.001807705: execution complete 01:56:02.001937749: executing Python as amnesia: node624 = nodes623[0] 01:56:02.021857065: execution complete 01:56:02.021987985: executing Python as amnesia: print(node624.name) 01:56:02.049909905: execution complete 01:56:03.050258446: executing Python as amnesia: nodes625 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes625)) 01:56:03.088309593: execution complete 01:56:03.088444230: executing Python as amnesia: node626 = nodes625[0] 01:56:03.106966527: execution complete 01:56:03.107109195: executing Python as amnesia: print(node626.name) 01:56:03.126721821: execution complete 01:56:04.127149592: executing Python as amnesia: nodes627 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes627)) 01:56:04.168355807: execution complete 01:56:04.168482714: executing Python as amnesia: node628 = nodes627[0] 01:56:04.191192261: execution complete 01:56:04.191304852: executing Python as amnesia: print(node628.name) 01:56:04.212620120: execution complete 01:56:05.212864495: executing Python as amnesia: nodes629 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes629)) 01:56:05.261360190: execution complete 01:56:05.261484660: executing Python as amnesia: node630 = nodes629[0] 01:56:05.281595190: execution complete 01:56:05.281742330: executing Python as amnesia: print(node630.name) 01:56:05.303213228: execution complete 01:56:06.303615022: executing Python as amnesia: nodes631 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes631)) 01:56:06.344119011: execution complete 01:56:06.344245876: executing Python as amnesia: node632 = nodes631[0] 01:56:06.364351285: execution complete 01:56:06.364487155: executing Python as amnesia: print(node632.name) 01:56:06.389504129: execution complete 01:56:07.389788108: executing Python as amnesia: nodes633 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes633)) 01:56:07.431280128: execution complete 01:56:07.431404079: executing Python as amnesia: node634 = nodes633[0] 01:56:07.453837296: execution complete 01:56:07.453945622: executing Python as amnesia: print(node634.name) 01:56:07.472861250: execution complete 01:56:08.473134716: executing Python as amnesia: nodes635 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes635)) 01:56:08.515971154: execution complete 01:56:08.516138693: executing Python as amnesia: node636 = nodes635[0] 01:56:08.537034055: execution complete 01:56:08.537162586: executing Python as amnesia: print(node636.name) 01:56:08.557918744: execution complete 01:56:09.558275731: executing Python as amnesia: nodes637 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes637)) 01:56:09.597386253: execution complete 01:56:09.597502372: executing Python as amnesia: node638 = nodes637[0] 01:56:09.617502256: execution complete 01:56:09.617613088: executing Python as amnesia: print(node638.name) 01:56:09.639688213: execution complete 01:56:10.640082185: executing Python as amnesia: nodes639 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes639)) 01:56:10.694436039: execution complete 01:56:10.694616928: executing Python as amnesia: node640 = nodes639[0] 01:56:10.715174056: execution complete 01:56:10.715290864: executing Python as amnesia: print(node640.name) 01:56:10.737491342: execution complete 01:56:11.737720708: executing Python as amnesia: nodes641 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes641)) 01:56:11.793643006: execution complete 01:56:11.793760222: executing Python as amnesia: node642 = nodes641[0] 01:56:11.814527015: execution complete 01:56:11.814672342: executing Python as amnesia: print(node642.name) 01:56:11.837537935: execution complete 01:56:12.837872058: executing Python as amnesia: nodes643 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes643)) 01:56:12.887539136: execution complete 01:56:12.887708370: executing Python as amnesia: node644 = nodes643[0] 01:56:12.906013602: execution complete 01:56:12.906128797: executing Python as amnesia: print(node644.name) 01:56:12.928815222: execution complete 01:56:13.929107746: executing Python as amnesia: nodes645 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes645)) 01:56:13.964740585: execution complete 01:56:13.964850792: executing Python as amnesia: node646 = nodes645[0] 01:56:13.983263536: execution complete 01:56:13.983401085: executing Python as amnesia: print(node646.name) 01:56:14.002188915: execution complete 01:56:15.002509890: executing Python as amnesia: nodes647 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes647)) 01:56:15.037978589: execution complete 01:56:15.038121612: executing Python as amnesia: node648 = nodes647[0] 01:56:15.057774153: execution complete 01:56:15.058043795: executing Python as amnesia: print(node648.name) 01:56:15.077077563: execution complete 01:56:16.077545457: executing Python as amnesia: nodes649 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes649)) 01:56:16.115247337: execution complete 01:56:16.115380009: executing Python as amnesia: node650 = nodes649[0] 01:56:16.133133606: execution complete 01:56:16.133272021: executing Python as amnesia: print(node650.name) 01:56:16.151924754: execution complete 01:56:17.152269846: executing Python as amnesia: nodes651 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes651)) 01:56:17.193108416: execution complete 01:56:17.193216059: executing Python as amnesia: node652 = nodes651[0] 01:56:17.211510728: execution complete 01:56:17.211641400: executing Python as amnesia: print(node652.name) 01:56:17.231382937: execution complete 01:56:18.232047102: executing Python as amnesia: nodes653 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes653)) 01:56:18.277502279: execution complete 01:56:18.277610364: executing Python as amnesia: node654 = nodes653[0] 01:56:18.297882575: execution complete 01:56:18.297987516: executing Python as amnesia: print(node654.name) 01:56:18.320525223: execution complete 01:56:19.320889106: executing Python as amnesia: nodes655 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes655)) 01:56:19.354259785: execution complete 01:56:19.354380922: executing Python as amnesia: node656 = nodes655[0] 01:56:19.372558840: execution complete 01:56:19.372681818: executing Python as amnesia: print(node656.name) 01:56:19.394618829: execution complete 01:56:20.395001966: executing Python as amnesia: nodes657 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes657)) 01:56:20.433757340: execution complete 01:56:20.433904261: executing Python as amnesia: node658 = nodes657[0] 01:56:20.458074255: execution complete 01:56:20.458305299: executing Python as amnesia: print(node658.name) 01:56:20.480128855: execution complete 01:56:21.480450538: executing Python as amnesia: nodes659 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes659)) 01:56:21.528066937: execution complete 01:56:21.528179206: executing Python as amnesia: node660 = nodes659[0] 01:56:21.546166136: execution complete 01:56:21.546258651: executing Python as amnesia: print(node660.name) 01:56:21.565841644: execution complete 01:56:22.566160824: executing Python as amnesia: nodes661 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes661)) 01:56:22.596509531: execution complete 01:56:22.596639836: executing Python as amnesia: node662 = nodes661[0] 01:56:22.614237078: execution complete 01:56:22.614356379: executing Python as amnesia: print(node662.name) 01:56:22.633117816: execution complete 01:56:23.633437148: executing Python as amnesia: nodes663 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes663)) 01:56:23.668519498: execution complete 01:56:23.668633286: executing Python as amnesia: node664 = nodes663[0] 01:56:23.686975757: execution complete 01:56:23.687085371: executing Python as amnesia: print(node664.name) 01:56:23.705331129: execution complete 01:56:24.705728304: executing Python as amnesia: nodes665 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes665)) 01:56:24.746612704: execution complete 01:56:24.746724082: executing Python as amnesia: node666 = nodes665[0] 01:56:24.769240218: execution complete 01:56:24.769337056: executing Python as amnesia: print(node666.name) 01:56:24.791089756: execution complete 01:56:25.791368257: executing Python as amnesia: nodes667 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes667)) 01:56:25.829169809: execution complete 01:56:25.829291243: executing Python as amnesia: node668 = nodes667[0] 01:56:25.850296506: execution complete 01:56:25.850449072: executing Python as amnesia: print(node668.name) 01:56:25.873715954: execution complete 01:56:26.874128513: executing Python as amnesia: nodes669 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes669)) 01:56:26.905646629: execution complete 01:56:26.905761356: executing Python as amnesia: node670 = nodes669[0] 01:56:26.926314197: execution complete 01:56:26.926446213: executing Python as amnesia: print(node670.name) 01:56:26.946534404: execution complete 01:56:27.946904505: executing Python as amnesia: nodes671 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes671)) 01:56:27.988691914: execution complete 01:56:27.988878881: executing Python as amnesia: node672 = nodes671[0] 01:56:28.010094312: execution complete 01:56:28.010220515: executing Python as amnesia: print(node672.name) 01:56:28.031174675: execution complete 01:56:29.031677126: executing Python as amnesia: nodes673 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes673)) 01:56:29.078483098: execution complete 01:56:29.078637108: executing Python as amnesia: node674 = nodes673[0] 01:56:29.096484657: execution complete 01:56:29.096612263: executing Python as amnesia: print(node674.name) 01:56:29.120075477: execution complete 01:56:30.120439722: executing Python as amnesia: nodes675 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes675)) 01:56:30.155850925: execution complete 01:56:30.155978058: executing Python as amnesia: node676 = nodes675[0] 01:56:30.173986807: execution complete 01:56:30.174194020: executing Python as amnesia: print(node676.name) 01:56:30.194691037: execution complete 01:56:31.195115113: executing Python as amnesia: nodes677 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes677)) 01:56:31.226269571: execution complete 01:56:31.226405949: executing Python as amnesia: node678 = nodes677[0] 01:56:31.244891516: execution complete 01:56:31.245018779: executing Python as amnesia: print(node678.name) 01:56:31.268128371: execution complete 01:56:32.268569547: executing Python as amnesia: nodes679 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes679)) 01:56:32.306290064: execution complete 01:56:32.306408368: executing Python as amnesia: node680 = nodes679[0] 01:56:32.326366391: execution complete 01:56:32.326484306: executing Python as amnesia: print(node680.name) 01:56:32.344495503: execution complete 01:56:33.344831126: executing Python as amnesia: nodes681 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes681)) 01:56:33.379945652: execution complete 01:56:33.380074192: executing Python as amnesia: node682 = nodes681[0] 01:56:33.398004168: execution complete 01:56:33.398097663: executing Python as amnesia: print(node682.name) 01:56:33.417295625: execution complete 01:56:34.417531553: executing Python as amnesia: nodes683 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes683)) 01:56:34.450240569: execution complete 01:56:34.450353306: executing Python as amnesia: node684 = nodes683[0] 01:56:34.467697833: execution complete 01:56:34.467827878: executing Python as amnesia: print(node684.name) 01:56:34.486779879: execution complete 01:56:35.487179737: executing Python as amnesia: nodes685 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes685)) 01:56:35.531660662: execution complete 01:56:35.531786154: executing Python as amnesia: node686 = nodes685[0] 01:56:35.561007310: execution complete 01:56:35.561101521: executing Python as amnesia: print(node686.name) 01:56:35.593491672: execution complete 01:56:36.593763327: executing Python as amnesia: nodes687 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes687)) 01:56:36.632441301: execution complete 01:56:36.632567694: executing Python as amnesia: node688 = nodes687[0] 01:56:36.656909338: execution complete 01:56:36.657009528: executing Python as amnesia: print(node688.name) 01:56:36.678211761: execution complete 01:56:37.678565144: executing Python as amnesia: nodes689 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes689)) 01:56:37.720632256: execution complete 01:56:37.720827763: executing Python as amnesia: node690 = nodes689[0] 01:56:37.745006115: execution complete 01:56:37.745157478: executing Python as amnesia: print(node690.name) 01:56:37.764237726: execution complete 01:56:38.764581367: executing Python as amnesia: nodes691 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes691)) 01:56:38.819202966: execution complete 01:56:38.819432732: executing Python as amnesia: node692 = nodes691[0] 01:56:38.836731428: execution complete 01:56:38.836861007: executing Python as amnesia: print(node692.name) 01:56:38.859440162: execution complete 01:56:39.859818352: executing Python as amnesia: nodes693 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes693)) 01:56:39.905170025: execution complete 01:56:39.905331411: executing Python as amnesia: node694 = nodes693[0] 01:56:39.924768842: execution complete 01:56:39.924906040: executing Python as amnesia: print(node694.name) 01:56:39.948893936: execution complete 01:56:40.949270780: executing Python as amnesia: nodes695 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes695)) 01:56:40.996070349: execution complete 01:56:40.996184228: executing Python as amnesia: node696 = nodes695[0] 01:56:41.013401742: execution complete 01:56:41.013540702: executing Python as amnesia: print(node696.name) 01:56:41.032686468: execution complete 01:56:42.033116457: executing Python as amnesia: nodes697 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes697)) 01:56:42.069510712: execution complete 01:56:42.069615894: executing Python as amnesia: node698 = nodes697[0] 01:56:42.087003257: execution complete 01:56:42.087148895: executing Python as amnesia: print(node698.name) 01:56:42.105726831: execution complete 01:56:43.106146295: executing Python as amnesia: nodes699 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes699)) 01:56:43.142691415: execution complete 01:56:43.142800351: executing Python as amnesia: node700 = nodes699[0] 01:56:43.162544529: execution complete 01:56:43.162651114: executing Python as amnesia: print(node700.name) 01:56:43.189654581: execution complete 01:56:44.189969482: executing Python as amnesia: nodes701 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes701)) 01:56:44.229013094: execution complete 01:56:44.229148401: executing Python as amnesia: node702 = nodes701[0] 01:56:44.255780297: execution complete 01:56:44.255880015: executing Python as amnesia: print(node702.name) 01:56:44.277050460: execution complete 01:56:45.277442879: executing Python as amnesia: nodes703 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes703)) 01:56:45.316609555: execution complete 01:56:45.316771465: executing Python as amnesia: node704 = nodes703[0] 01:56:45.334548018: execution complete 01:56:45.334649629: executing Python as amnesia: print(node704.name) 01:56:45.354556209: execution complete 01:56:46.354925977: executing Python as amnesia: nodes705 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes705)) 01:56:46.397840567: execution complete 01:56:46.397953461: executing Python as amnesia: node706 = nodes705[0] 01:56:46.418251563: execution complete 01:56:46.418375716: executing Python as amnesia: print(node706.name) 01:56:46.436863214: execution complete 01:56:47.437196683: executing Python as amnesia: nodes707 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes707)) 01:56:47.484078487: execution complete 01:56:47.484197626: executing Python as amnesia: node708 = nodes707[0] 01:56:47.502611538: execution complete 01:56:47.502717031: executing Python as amnesia: print(node708.name) 01:56:47.525680476: execution complete 01:56:48.525937646: executing Python as amnesia: nodes709 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes709)) 01:56:48.561662843: execution complete 01:56:48.561815227: executing Python as amnesia: node710 = nodes709[0] 01:56:48.587280044: execution complete 01:56:48.587419510: executing Python as amnesia: print(node710.name) 01:56:48.613736936: execution complete 01:56:49.613979893: executing Python as amnesia: nodes711 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes711)) 01:56:49.668571967: execution complete 01:56:49.668719857: executing Python as amnesia: node712 = nodes711[0] 01:56:49.686395120: execution complete 01:56:49.686515297: executing Python as amnesia: print(node712.name) 01:56:49.714827162: execution complete 01:56:50.715079127: executing Python as amnesia: nodes713 = node478.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes713)) 01:56:50.760497973: execution complete 01:56:50.760614552: executing Python as amnesia: node714 = nodes713[0] 01:56:50.791327867: execution complete 01:56:50.791474504: executing Python as amnesia: print(node714.name) 01:56:50.813641823: execution complete And Electrum successfully connects to the network # features/step_definitions/electrum.rb:93 01:56:50.814546365: spawning as root: poweroff Then I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 01:57:00.961389672: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:57:03.123249170: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 01:57:48.225384760: calling as root: echo 'hello?' 01:57:48.429009325: call returned: [0, "hello?\n", ""] 01:57:48.429343016: calling as root: service tor status 01:57:48.650021413: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 01:57:48.650430731: opening file /etc/tor/torrc in 'append' mode 01:57:48.819733913: append complete 01:57:54.223791607: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." 01:57:54.980373229: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 01:57:54.980668886: calling as root: loginctl 01:57:55.148925764: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 01:57:56.149307435: calling as root: loginctl 01:57:56.373915036: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 01:58:04.180680480: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:58:04.260033766: call returned: [0, "", ""] 01:58:04.260178701: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:58:04.358361176: call returned: [0, "", ""] 01:58:04.358633043: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:04.650727699: call returned: [1, "", ""] 01:58:05.651052968: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:05.847819567: call returned: [1, "", ""] 01:58:06.848088166: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:07.072356004: call returned: [1, "", ""] 01:58:08.072653291: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:08.305839932: call returned: [1, "", ""] 01:58:09.306098436: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:09.526256882: call returned: [1, "", ""] 01:58:10.526612051: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:10.749486341: call returned: [3, "", ""] 01:58:11.749835943: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:12.010846256: call returned: [3, "", ""] 01:58:13.011109187: calling as root: /usr/local/sbin/tor-has-bootstrapped 01:58:13.363584804: call returned: [0, "", ""] 01:58:13.363841232: calling as root: test -e /run/tordate/done 01:58:13.684480135: call returned: [0, "", ""] 01:58:13.684686048: calling as root: test -e /run/htpdate/success 01:58:13.996767648: call returned: [1, "", ""] 01:58:14.997114337: calling as root: test -e /run/htpdate/success 01:58:15.162357050: call returned: [1, "", ""] 01:58:16.162685759: calling as root: test -e /run/htpdate/success 01:58:16.425473754: call returned: [0, "", ""] 01:58:16.425815117: calling as root: systemctl is-system-running 01:58:16.690705108: call returned: [0, "running\n", ""] 01:58:16.690891214: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node715 = dogtail.tree.root.application('gnome-shell') 01:58:17.495198026: execution complete 01:58:18.217215453: executing Python as amnesia: node716 = node715.child('No Notifications', roleName='label') 01:58:18.226252629: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 01:58:19.078544869: execution complete 01:58:19.078702517: executing Python as amnesia: node717 = node715.child('No Notifications', roleName='label') 01:58:19.954128477: execution complete 01:58:19.995586669: [log] TYPE "#ESC." 01:58:19.995826710: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:20.213541044: call returned: [1, "", ""] 01:58:21.213799481: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:21.379038710: call returned: [1, "", ""] 01:58:22.379237627: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:22.581445161: call returned: [1, "", ""] 01:58:23.581719954: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:23.764189713: call returned: [1, "", ""] 01:58:24.764536977: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:24.932034671: call returned: [1, "", ""] 01:58:25.932328824: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:26.100029953: call returned: [1, "", ""] 01:58:27.100310587: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:27.276044732: call returned: [1, "", ""] 01:58:28.276256879: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:28.465511602: call returned: [1, "", ""] 01:58:29.465836453: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:29.636767490: call returned: [1, "", ""] 01:58:30.637069905: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:30.823449421: call returned: [1, "", ""] 01:58:31.823770463: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:31.993273664: call returned: [1, "", ""] 01:58:32.993638512: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:33.153893140: call returned: [1, "", ""] 01:58:34.154269644: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:34.320027598: call returned: [1, "", ""] 01:58:35.320323588: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:35.500490598: call returned: [1, "", ""] 01:58:36.500825460: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:36.670292085: call returned: [1, "", ""] 01:58:37.670661091: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:37.834148421: call returned: [1, "", ""] 01:58:38.834443430: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:38.990818649: call returned: [1, "", ""] 01:58:39.991046637: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:40.147510339: call returned: [1, "", ""] 01:58:41.147811969: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:41.304823849: call returned: [1, "", ""] 01:58:42.305185193: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:42.481985543: call returned: [1, "", ""] 01:58:43.482242817: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:43.700737442: call returned: [1, "", ""] 01:58:44.700961787: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:44.939636440: call returned: [1, "", ""] 01:58:45.939838342: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:46.108434895: call returned: [1, "", ""] 01:58:47.108768640: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:47.311198596: call returned: [1, "", ""] 01:58:48.311406574: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 01:58:48.494408373: call returned: [0, "", ""] Given I start Tails from USB drive "__internal" and I login with persistence enabled # features/step_definitions/common_steps.rb:137 01:58:48.526235577: calling as amnesia: xdotool key Super 01:58:48.730289231: call returned: [0, "", ""] 01:58:50.496218267: [log] TYPE "Electrum Bitcoin Wallet" When I start Electrum through the GNOME menu # features/step_definitions/electrum.rb:13 01:58:50.559407940: calling as root: test -e '/home/amnesia/.electrum/wallets/default_wallet' 01:58:50.569783726: [log] ( Ctrl ) TYPE "#ENTER." 01:58:50.927285522: call returned: [0, "", ""] But a bitcoin wallet is present # features/step_definitions/electrum.rb:23 01:58:50.928601910: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node718 = dogtail.tree.root.application('electrum') 01:59:01.719507940: execution complete 01:59:02.719815851: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node719 = dogtail.tree.root.application('electrum') 01:59:10.554746426: execution complete Then Electrum starts # features/step_definitions/electrum.rb:17 01:59:10.556442279: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node720 = dogtail.tree.root.application('electrum') 01:59:10.637112421: execution complete 01:59:10.637221753: executing Python as amnesia: node721 = node720.child(roleName='dialog') 01:59:10.668649432: execution complete 01:59:10.668836094: executing Python as amnesia: node722 = node721.child('Electrum wallet', roleName='label') 01:59:10.703395926: execution complete 01:59:10.703618267: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node723 = dogtail.tree.root.application('electrum') 01:59:10.777482950: execution complete 01:59:10.777630601: executing Python as amnesia: node724 = node723.child(roleName='dialog') 01:59:10.802149195: execution complete 01:59:10.802308045: executing Python as amnesia: nodes725 = node724.findChildren(dogtail.predicate.GenericPredicate('This file is encrypted. Enter your password or choose another file.', roleName='label')) print(len(nodes725)) 01:59:10.875492122: execution complete And I am prompted to enter my Electrum wallet password # features/step_definitions/electrum.rb:35 01:59:10.876797029: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node726 = dogtail.tree.root.application('electrum') 01:59:10.934389954: execution complete 01:59:10.934504505: executing Python as amnesia: node727 = node726.child(roleName='dialog') 01:59:10.962159859: execution complete 01:59:10.962315892: executing Python as amnesia: node728 = node727.child(roleName='password text') 01:59:11.003198323: execution complete 01:59:11.003300494: executing Python as amnesia: node728.typeText('asdf') 01:59:11.436035969: execution complete 01:59:11.436160486: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node729 = dogtail.tree.root.application('electrum') 01:59:11.502028964: execution complete 01:59:11.502152736: executing Python as amnesia: node730 = node729.child(roleName='dialog') 01:59:11.528707371: execution complete 01:59:11.528912061: executing Python as amnesia: node731 = node730.button('Next') 01:59:11.558311989: execution complete 01:59:11.558461018: executing Python as amnesia: node731.click() 01:59:12.590458692: execution complete When I enter my Electrum wallet password # features/step_definitions/electrum.rb:84 01:59:12.591348694: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node732 = dogtail.tree.root.application('electrum') 01:59:12.664895622: execution complete 01:59:12.665013906: executing Python as amnesia: node733 = node732.child(roleName='frame') 01:59:12.713814334: execution complete Then I see the main Electrum client window # features/step_definitions/electrum.rb:89 01:59:12.714577780: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node734 = dogtail.tree.root.application('electrum') 01:59:12.789202679: execution complete 01:59:12.789346274: executing Python as amnesia: node735 = node734.child(roleName='frame') 01:59:12.838881397: execution complete 01:59:12.839029828: executing Python as amnesia: node736 = node735.child(roleName='status bar') 01:59:12.864878736: execution complete 01:59:12.865133129: executing Python as amnesia: nodes737 = node736.findChildren(dogtail.predicate.GenericPredicate(roleName='label')) print(len(nodes737)) 01:59:12.984366099: execution complete 01:59:12.984483264: executing Python as amnesia: node738 = nodes737[0] 01:59:13.003754910: execution complete 01:59:13.003903761: executing Python as amnesia: print(node738.name) 01:59:13.025197261: execution complete And Electrum successfully connects to the network # features/step_definitions/electrum.rb:93 @product Feature: Encryption and verification using GnuPG As a Tails user I want to be able to easily encrypt and sign messages using GnuPG And decrypt and verify GnuPG blocks Background: # features/encryption.feature:7 01:59:21.841528653: calling as root: echo 'hello?' 01:59:22.036873507: call returned: [0, "hello?\n", ""] 01:59:22.759403536: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:59:22.759565876: calling as root: nmcli device show eth0 01:59:23.052313102: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 01:59:23.061661028: calling as root: date -s '@1523726067' 01:59:23.182551161: call returned: [0, "Sat Apr 14 17:14:27 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 01:59:23.183986733: opening file /tmp/gpg_key_recipe in 'write' mode 01:59:23.245581757: write complete 01:59:23.245674861: calling as root: chown amnesia:amnesia /tmp/gpg_key_recipe 01:59:23.393339197: call returned: [0, "", ""] 01:59:23.393469418: calling as amnesia: gpg --batch --gen-key < /tmp/gpg_key_recipe 01:59:27.626955080: call returned: [0, "", "gpg: key 0x6D23C1BF0BC46D08 marked as ultimately trusted\ngpg: directory '/home/amnesia/.gnupg/openpgp-revocs.d' created\ngpg: revocation certificate stored as '/home/amnesia/.gnupg/openpgp-revocs.d/3F71585F317B518604A392576D23C1BF0BC46D08.rev'\n"] And I generate an OpenPGP key named "test" with password "asdf" # features/step_definitions/encryption.rb:11 #10992 @fragile Scenario: Encryption and decryption using OpenPGP Applet # features/encryption.feature:13 01:59:27.664291651: calling as amnesia: xdotool key Super 01:59:27.803218495: call returned: [0, "", ""] 01:59:32.002255159: [log] TYPE "gedit" [log] ( Ctrl ) TYPE "#ENTER." [log] CLICK on L(507,50)@S(0)[0,0 1024x768] When I type a message into gedit # features/step_definitions/encryption.rb:34 01:59:37.937900442: [log] TYPE "ATTACK AT DAWN" 01:59:39.402903284: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 01:59:40.125227664: [log] CLICK on L(690,570)@S(0)[0,0 1024x768] 01:59:41.420998146: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 01:59:42.255299394: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 01:59:44.031117448: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 01:59:44.754487120: [log] CLICK on L(563,71)@S(0)[0,0 1024x768] 01:59:46.240437326: [log] CLICK on L(513,135)@S(0)[0,0 1024x768] 02:00:01.814576810: [log] TYPE "test#ENTER.#ENTER." 02:00:18.146792096: Failed to find fuzzy candidate picture for PinEntryPrompt.png 02:00:19.265098146: [log] CLICK on L(114,50)@S(0)[0,0 1024x768] 02:00:20.488673463: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:00:21.323591355: [log] CLICK on L(676,514)@S(0)[0,0 1024x768] And I encrypt the message using my OpenPGP key # features/step_definitions/encryption.rb:88 02:00:22.201501789: [log] RIGHT CLICK on L(626,385)@S(0)[0,0 1024x768] 02:00:23.533701457: [log] CLICK on L(688,570)@S(0)[0,0 1024x768] 02:00:24.449802080: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:00:25.704275150: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:00:27.032108152: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:00:28.215028442: [log] CLICK on L(838,45)@S(0)[0,0 1024x768] 02:00:30.028274981: [log] CLICK on L(301,329)@S(0)[0,0 1024x768] 02:00:36.248255526: [log] TYPE "asdf#ENTER." Then I can decrypt the encrypted message # features/step_definitions/encryption.rb:94 #10992 @fragile Scenario: Signing and verification using OpenPGP Applet # features/encryption.feature:20 02:00:37.913742786: calling as root: echo 'hello?' 02:00:38.149784463: call returned: [0, "hello?\n", ""] 02:00:38.873132950: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:00:38.873287416: calling as root: nmcli device show eth0 02:00:39.136347869: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:00:39.146349265: calling as root: date -s '@1523726143' 02:00:39.276577718: call returned: [0, "Sat Apr 14 17:15:43 UTC 2018\n", ""] 02:00:39.277308342: opening file /tmp/gpg_key_recipe in 'write' mode 02:00:39.339269072: write complete 02:00:39.339382613: calling as root: chown amnesia:amnesia /tmp/gpg_key_recipe 02:00:39.513978985: call returned: [0, "", ""] 02:00:39.514079569: calling as amnesia: gpg --batch --gen-key < /tmp/gpg_key_recipe 02:00:42.183593908: call returned: [0, "", "gpg: key 0xF808F86D67BBBB37 marked as ultimately trusted\ngpg: directory '/home/amnesia/.gnupg/openpgp-revocs.d' created\ngpg: revocation certificate stored as '/home/amnesia/.gnupg/openpgp-revocs.d/DE2EEEEEF03A02A7C907686BF808F86D67BBBB37.rev'\n"] 02:00:42.222854005: calling as amnesia: xdotool key Super 02:00:42.382481647: call returned: [0, "", ""] 02:00:43.359290754: [log] TYPE "gedit" 02:00:46.583255623: [log] ( Ctrl ) TYPE "#ENTER." [log] CLICK on L(507,50)@S(0)[0,0 1024x768] When I type a message into gedit # features/step_definitions/encryption.rb:34 02:00:52.521893476: [log] TYPE "ATTACK AT DAWN" 02:00:53.276270585: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:00:54.604784580: [log] CLICK on L(690,570)@S(0)[0,0 1024x768] 02:00:56.656044398: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:00:57.983343765: [log] CLICK on L(727,12)@S(0)[0,0 1024x768] 02:00:59.136867032: [log] CLICK on L(565,71)@S(0)[0,0 1024x768] 02:01:00.629137426: [log] CLICK on L(513,135)@S(0)[0,0 1024x768] 02:01:07.569539043: [log] TYPE "#TAB.#DOWN.#ENTER." 02:01:07.569748307: [log] CLICK on L(301,329)@S(0)[0,0 1024x768] 02:01:12.889388325: [log] TYPE "asdf#ENTER." 02:01:13.614844698: [log] CLICK on L(114,50)@S(0)[0,0 1024x768] 02:01:14.919510498: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:01:15.675961082: [log] CLICK on L(676,514)@S(0)[0,0 1024x768] And I sign the message using my OpenPGP key # features/step_definitions/encryption.rb:99 02:01:16.554214782: [log] RIGHT CLICK on L(626,385)@S(0)[0,0 1024x768] 02:01:17.890637498: [log] CLICK on L(688,570)@S(0)[0,0 1024x768] 02:01:18.780226254: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:01:20.033928968: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:01:21.356172526: [log] CLICK on L(726,12)@S(0)[0,0 1024x768] 02:01:22.523256177: [log] CLICK on L(839,45)@S(0)[0,0 1024x768] 02:01:48.845916920: Failed to find fuzzy candidate picture for PinEntryPrompt.png Then I can verify the message's signature # features/step_definitions/encryption.rb:105 #10991 @fragile Scenario: Encryption/signing and decryption/verification using OpenPGP Applet # features/encryption.feature:27 02:01:50.929446187: calling as root: echo 'hello?' 02:01:51.174313234: call returned: [0, "hello?\n", ""] 02:01:51.897642537: calling as root: nmcli device show eth0 02:01:51.918478378: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:01:52.154006782: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:01:52.164597873: calling as root: date -s '@1523726216' 02:01:52.300367196: call returned: [0, "Sat Apr 14 17:16:56 UTC 2018\n", ""] 02:01:52.300959342: opening file /tmp/gpg_key_recipe in 'write' mode 02:01:52.346435673: write complete 02:01:52.346529549: calling as root: chown amnesia:amnesia /tmp/gpg_key_recipe 02:01:52.493084066: call returned: [0, "", ""] 02:01:52.493196282: calling as amnesia: gpg --batch --gen-key < /tmp/gpg_key_recipe 02:01:54.383858700: call returned: [0, "", "gpg: key 0xD5F0BAC4289189F8 marked as ultimately trusted\ngpg: directory '/home/amnesia/.gnupg/openpgp-revocs.d' created\ngpg: revocation certificate stored as '/home/amnesia/.gnupg/openpgp-revocs.d/A0C1691B3C5A151742994224D5F0BAC4289189F8.rev'\n"] 02:01:54.419947257: calling as amnesia: xdotool key Super 02:01:54.581900737: call returned: [0, "", ""] 02:01:58.453580662: [log] TYPE "gedit" [log] ( Ctrl ) TYPE "#ENTER." [log] CLICK on L(533,50)@S(0)[0,0 1024x768] When I type a message into gedit # features/step_definitions/encryption.rb:34 02:02:05.774646149: [log] TYPE "ATTACK AT DAWN" [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:02:06.497086419: [log] CLICK on L(690,570)@S(0)[0,0 1024x768] 02:02:07.285624402: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:02:08.543555542: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:02:09.882370571: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:02:11.046396454: [log] CLICK on L(563,71)@S(0)[0,0 1024x768] 02:02:12.545619297: [log] CLICK on L(513,135)@S(0)[0,0 1024x768] 02:02:18.386252398: [log] CLICK on L(346,380)@S(0)[0,0 1024x768] 02:02:19.822248293: [log] TYPE " " [log] TYPE "#TAB.#DOWN.#ENTER." [log] TYPE "#ENTER." 02:02:20.544163812: [log] CLICK on L(301,329)@S(0)[0,0 1024x768] 02:02:26.508582337: [log] TYPE "asdf#ENTER." [log] CLICK on L(114,50)@S(0)[0,0 1024x768] 02:02:27.301810860: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:02:28.553759132: [log] CLICK on L(676,514)@S(0)[0,0 1024x768] And I both encrypt and sign the message using my OpenPGP key # features/step_definitions/encryption.rb:110 02:02:29.948404716: [log] RIGHT CLICK on L(626,385)@S(0)[0,0 1024x768] 02:02:53.702457588: Found fuzzy candidate picture for GeditSelectAll.png with similarity 0.4 02:02:54.460114456: [log] CLICK on L(308,91)@S(0)[0,0 1024x768] 02:02:55.335184910: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:02:56.595353684: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:02:57.924112170: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:03:24.573961762: Failed to find fuzzy candidate picture for GpgAppletDecryptVerify.png 02:03:27.082150436: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:03:28.249578919: [log] CLICK on L(838,45)@S(0)[0,0 1024x768] 02:03:55.234142200: Failed to find fuzzy candidate picture for PinEntryPrompt.png Then I can decrypt and verify the encrypted message # features/step_definitions/encryption.rb:120 # 11394 @fragile Scenario: Symmetric encryption and decryption using OpenPGP Applet # features/encryption.feature:34 02:03:57.303739333: calling as root: echo 'hello?' 02:03:57.616430363: call returned: [0, "hello?\n", ""] 02:03:58.339243975: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:03:58.339395203: calling as root: nmcli device show eth0 02:03:58.621551565: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:03:58.630737933: calling as root: date -s '@1523726342' 02:03:58.758639962: call returned: [0, "Sat Apr 14 17:19:02 UTC 2018\n", ""] 02:03:58.759415566: opening file /tmp/gpg_key_recipe in 'write' mode 02:03:58.821801216: write complete 02:03:58.821917627: calling as root: chown amnesia:amnesia /tmp/gpg_key_recipe 02:03:58.986527199: call returned: [0, "", ""] 02:03:58.986655942: calling as amnesia: gpg --batch --gen-key < /tmp/gpg_key_recipe 02:04:01.790342866: call returned: [0, "", "gpg: key 0xA55FE502D26C9FEC marked as ultimately trusted\ngpg: directory '/home/amnesia/.gnupg/openpgp-revocs.d' created\ngpg: revocation certificate stored as '/home/amnesia/.gnupg/openpgp-revocs.d/533ADE11FD37F042CF048465A55FE502D26C9FEC.rev'\n"] 02:04:01.827756943: calling as amnesia: xdotool key Super 02:04:01.980508505: call returned: [0, "", ""] 02:04:02.956354405: [log] TYPE "gedit" 02:04:05.457540874: [log] ( Ctrl ) TYPE "#ENTER." 02:04:06.180220818: [log] CLICK on L(507,50)@S(0)[0,0 1024x768] 02:04:11.996776329: [log] TYPE "ATTACK AT DAWN" When I type a message into gedit # features/step_definitions/encryption.rb:34 02:04:12.874360389: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:04:14.212685053: [log] CLICK on L(690,570)@S(0)[0,0 1024x768] 02:04:15.006667383: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:04:16.277255897: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:04:17.969468079: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:04:18.693111409: [log] CLICK on L(547,44)@S(0)[0,0 1024x768] 02:04:20.842258297: [log] CLICK on L(346,359)@S(0)[0,0 1024x768] 02:04:26.806184755: [log] TYPE "asdf#ENTER." [log] CLICK on L(346,359)@S(0)[0,0 1024x768] 02:04:32.012060468: [log] TYPE "asdf#ENTER." 02:04:32.814835390: [log] CLICK on L(114,50)@S(0)[0,0 1024x768] 02:04:33.573848974: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:04:34.826818773: [log] CLICK on L(676,514)@S(0)[0,0 1024x768] And I symmetrically encrypt the message with password "asdf" # features/step_definitions/encryption.rb:126 02:04:35.709719608: [log] RIGHT CLICK on L(626,385)@S(0)[0,0 1024x768] 02:04:37.042117360: [log] CLICK on L(688,570)@S(0)[0,0 1024x768] 02:04:39.188057915: [log] RIGHT CLICK on L(628,385)@S(0)[0,0 1024x768] 02:04:39.188291484: [log] CLICK on L(675,487)@S(0)[0,0 1024x768] 02:04:40.887770545: [log] CLICK on L(725,12)@S(0)[0,0 1024x768] 02:04:41.610605353: [log] CLICK on L(838,45)@S(0)[0,0 1024x768] 02:05:08.261913767: Failed to find fuzzy candidate picture for PinEntryPrompt.png Then I can decrypt the encrypted message # features/step_definitions/encryption.rb:94 @product Feature: Using Evince As a Tails user I want to view and print PDF files in Evince And AppArmor should prevent Evince from doing dangerous things #10994 @fragile Scenario: I can view and print a PDF file stored in /usr/share # features/evince.feature:9 02:05:10.345338482: calling as root: echo 'hello?' 02:05:10.581183674: call returned: [0, "hello?\n", ""] 02:05:11.304774097: calling as root: nmcli device show eth0 02:05:11.318881786: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:05:11.601699761: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:05:11.610326945: calling as root: date -s '@1523726415' 02:05:11.753711840: call returned: [0, "Sat Apr 14 17:20:15 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:05:11.755728323: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:05:11.931334940: call returned: [1, "", ""] 02:05:11.970193513: calling as amnesia: xdotool key Super 02:05:12.136389870: call returned: [0, "", ""] 02:05:13.354374043: [log] TYPE "commandline" 02:05:13.415721459: [log] ( Ctrl ) TYPE "#ENTER." 02:05:17.208302387: [log] TYPE "evince /usr/share/cups/data/default-testpage.pdf#ENTER." When I open "/usr/share/cups/data/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "CupsTestPage.png" after at most 40 seconds # features/step_definitions/common_steps.rb:456 02:05:18.698767170: [log] ( Ctrl ) TYPE "p" 02:05:20.310322706: [log] CLICK on L(91,232)@S(0)[0,0 1024x768] 02:05:21.478653570: [log] CLICK on L(203,437)@S(0)[0,0 1024x768] 02:05:21.922617399: calling as amnesia: echo -n '/home/amnesia/output' | xsel --input --clipboard 02:05:22.159280185: call returned: [0, "", ""] 02:05:22.265362346: [log] ( Ctrl ) TYPE "v" 02:05:23.765008124: calling as root: test -e '/home/amnesia/output.pdf' 02:05:23.778593887: [log] TYPE "#ENTER." [log] CLICK on L(606,120)@S(0)[0,0 1024x768] 02:05:24.070057903: call returned: [0, "", ""] And I can print the current document to "/home/amnesia/output.pdf" # features/step_definitions/evince.rb:5 #10994 @fragile Scenario: I can view and print a PDF file stored in non-persistent /home/amnesia # features/evince.feature:17 02:05:25.770969931: calling as root: echo 'hello?' 02:05:26.008771413: call returned: [0, "hello?\n", ""] 02:05:26.731878535: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:05:26.732024172: calling as root: nmcli device show eth0 02:05:27.032925461: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:05:27.044552970: calling as root: date -s '@1523726431' 02:05:27.215771889: call returned: [0, "Sat Apr 14 17:20:31 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:05:27.217210950: calling as amnesia: cp "/usr/share/cups/data/default-testpage.pdf" "/home/amnesia" 02:05:27.367132695: call returned: [0, "", ""] And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:05:27.368740770: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:05:27.525878114: call returned: [1, "", ""] 02:05:27.571055379: calling as amnesia: xdotool key Super 02:05:27.735018194: call returned: [0, "", ""] 02:05:28.947740587: [log] TYPE "commandline" 02:05:29.010099342: [log] ( Ctrl ) TYPE "#ENTER." 02:05:32.513042582: [log] TYPE "evince /home/amnesia/default-testpage.pdf#ENTER." When I open "/home/amnesia/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "CupsTestPage.png" after at most 40 seconds # features/step_definitions/common_steps.rb:456 02:05:34.788854783: [log] ( Ctrl ) TYPE "p" 02:05:35.980413102: [log] CLICK on L(91,232)@S(0)[0,0 1024x768] 02:05:36.703935421: [log] CLICK on L(203,437)@S(0)[0,0 1024x768] 02:05:37.465778825: calling as amnesia: echo -n '/home/amnesia/output' | xsel --input --clipboard 02:05:37.799648990: call returned: [0, "", ""] 02:05:37.863483043: [log] ( Ctrl ) TYPE "v" 02:05:37.905145445: [log] TYPE "#ENTER." 02:05:39.734016583: [log] CLICK on L(606,120)@S(0)[0,0 1024x768] 02:05:39.734191845: calling as root: test -e '/home/amnesia/output.pdf' 02:05:40.049392427: call returned: [0, "", ""] And I can print the current document to "/home/amnesia/output.pdf" # features/step_definitions/evince.rb:5 Scenario: I cannot view a PDF file stored in non-persistent /home/amnesia/.gnupg # features/evince.feature:24 02:05:41.699274343: calling as root: echo 'hello?' 02:05:42.010523094: call returned: [0, "hello?\n", ""] 02:05:42.733632416: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:05:42.733793014: calling as root: nmcli device show eth0 02:05:43.010909540: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:05:43.019238557: calling as root: date -s '@1523726447' 02:05:43.131605285: call returned: [0, "Sat Apr 14 17:20:47 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:05:43.132864750: calling as amnesia: cp "/usr/share/cups/data/default-testpage.pdf" "/home/amnesia/.gnupg" 02:05:43.283085598: call returned: [0, "", ""] And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/.gnupg" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:05:43.284141046: calling as root: test -e '/home/amnesia/.gnupg/default-testpage.pdf' 02:05:43.412464846: call returned: [0, "", ""] Then the file "/home/amnesia/.gnupg/default-testpage.pdf" exists # features/step_definitions/common_steps.rb:614 02:05:43.413463954: calling as root: test -e '/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf' 02:05:43.604105541: call returned: [0, "", ""] And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" exists # features/step_definitions/common_steps.rb:614 02:05:43.605135049: calling as root: test -e '/live/overlay/home/amnesia/.gnupg/default-testpage.pdf' 02:05:43.745158326: call returned: [0, "", ""] And the file "/live/overlay/home/amnesia/.gnupg/default-testpage.pdf" exists # features/step_definitions/common_steps.rb:614 02:05:43.746129224: calling as root: sysctl -w kernel.printk_ratelimit=0 02:05:43.934866678: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:05:43.934997901: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:05:44.082978343: call returned: [0, "2018-04-14 17:20:47\n", ""] Given I start monitoring the AppArmor log of "/usr/bin/evince" # features/step_definitions/common_steps.rb:853 02:05:44.085440127: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:05:44.296243113: call returned: [1, "", ""] 02:05:44.353191347: calling as amnesia: xdotool key Super 02:05:44.505678396: call returned: [0, "", ""] 02:05:45.717220891: [log] TYPE "commandline" 02:05:45.778710892: [log] ( Ctrl ) TYPE "#ENTER." 02:05:49.584146425: [log] TYPE "evince /home/amnesia/.gnupg/default-testpage.pdf#ENTER." When I try to open "/home/amnesia/.gnupg/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "EvinceUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 02:05:51.031136688: calling as root: journalctl --full --no-pager --since='2018-04-14 17:20:47' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/home/amnesia/.gnupg/default-testpage.pdf"' 02:05:51.249145642: call returned: [0, "Apr 14 17:20:54 amnesia kernel: audit: type=1400 audit(1523726454.472:35): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/home/amnesia/.gnupg/default-testpage.pdf\" pid=7184 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 17:20:54 amnesia kernel: audit: type=1400 audit(1523726454.472:36): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/home/amnesia/.gnupg/default-testpage.pdf\" pid=7184 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/evince" from opening "/home/amnesia/.gnupg/default-testpage.pdf" # features/step_definitions/common_steps.rb:865 02:05:51.315583787: [log] ( Ctrl ) TYPE "w" 02:05:51.316270212: calling as root: pidof -x -o '%PPID' evince 02:05:51.522001785: call returned: [1, "", ""] When I close Evince # features/step_definitions/evince.rb:22 02:05:51.523649018: calling as root: sysctl -w kernel.printk_ratelimit=0 02:05:51.657168535: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:05:51.657303555: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:05:51.814593478: call returned: [0, "2018-04-14 17:20:55\n", ""] Given I restart monitoring the AppArmor log of "/usr/bin/evince" # features/step_definitions/common_steps.rb:853 02:05:51.816088024: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:05:51.985780823: call returned: [0, "7053\n", ""] 02:05:55.702015756: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] [log] TYPE "evince /lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf#ENTER." When I try to open "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "EvinceUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 02:05:56.480551281: calling as root: journalctl --full --no-pager --since='2018-04-14 17:20:55' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf"' 02:05:56.695801852: call returned: [0, "Apr 14 17:20:59 amnesia kernel: audit: type=1400 audit(1523726459.800:37): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf\" pid=7426 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 17:20:59 amnesia kernel: audit: type=1400 audit(1523726459.800:38): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf\" pid=7426 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/evince" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" # features/step_definitions/common_steps.rb:865 02:05:56.760950457: [log] ( Ctrl ) TYPE "w" 02:05:56.761271247: calling as root: pidof -x -o '%PPID' evince 02:05:56.935540107: call returned: [1, "", ""] When I close Evince # features/step_definitions/evince.rb:22 02:05:56.936373095: calling as root: sysctl -w kernel.printk_ratelimit=0 02:05:57.098285961: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:05:57.098404478: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:05:57.243420120: call returned: [0, "2018-04-14 17:21:01\n", ""] Given I restart monitoring the AppArmor log of "/usr/bin/evince" # features/step_definitions/common_steps.rb:853 02:05:57.244916051: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:05:57.414902788: call returned: [0, "7053\n", ""] 02:05:58.170457351: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] 02:06:00.716246901: [log] TYPE "evince /live/overlay/home/amnesia/.gnupg/default-testpage.pdf#ENTER." When I try to open "/live/overlay/home/amnesia/.gnupg/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "EvinceUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 02:06:01.490407838: calling as root: journalctl --full --no-pager --since='2018-04-14 17:21:01' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf"' 02:06:01.717557325: call returned: [0, "Apr 14 17:21:04 amnesia kernel: audit: type=1400 audit(1523726464.844:39): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf\" pid=7652 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 17:21:04 amnesia kernel: audit: type=1400 audit(1523726464.848:40): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf\" pid=7652 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/evince" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" # features/step_definitions/common_steps.rb:865 #10994 @fragile Scenario: I can view and print a PDF file stored in persistent /home/amnesia/Persistent # features/evince.feature:49 02:06:05.859208951: calling as root: echo 'hello?' 02:06:06.113264987: call returned: [0, "hello?\n", ""] 02:06:06.835371848: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:06.835511685: calling as root: nmcli device show eth0 02:06:07.139006656: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:07.150935817: calling as root: date -s '@1523726471' 02:06:07.346339743: call returned: [0, "Sat Apr 14 17:21:11 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 02:06:07.347603225: calling as amnesia: cp "/usr/share/cups/data/default-testpage.pdf" "/home/amnesia/Persistent" 02:06:07.505091878: call returned: [0, "", ""] And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/Persistent" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:06:07.506155195: calling as root: test -e '/home/amnesia/Persistent/default-testpage.pdf' 02:06:07.688163353: call returned: [0, "", ""] Then the file "/home/amnesia/Persistent/default-testpage.pdf" exists # features/step_definitions/common_steps.rb:614 02:06:07.689390544: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:06:07.887179136: call returned: [1, "", ""] 02:06:07.925547705: calling as amnesia: xdotool key Super 02:06:08.117159730: call returned: [0, "", ""] 02:06:09.330916011: [log] TYPE "commandline" 02:06:13.708790043: [log] ( Ctrl ) TYPE "#ENTER." When I open "/home/amnesia/Persistent/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 02:06:15.137495671: [log] TYPE "evince /home/amnesia/Persistent/default-testpage.pdf#ENTER." Then I see "CupsTestPage.png" after at most 40 seconds # features/step_definitions/common_steps.rb:456 02:06:15.200307584: [log] ( Ctrl ) TYPE "p" 02:06:16.746958451: [log] CLICK on L(91,232)@S(0)[0,0 1024x768] 02:06:17.910569051: [log] CLICK on L(203,437)@S(0)[0,0 1024x768] 02:06:18.669804829: calling as amnesia: echo -n '/home/amnesia/Persistent/output' | xsel --input --clipboard 02:06:18.974535032: call returned: [0, "", ""] 02:06:19.078070912: [log] ( Ctrl ) TYPE "v" 02:06:19.078221618: [log] TYPE "#ENTER." 02:06:20.917272638: [log] CLICK on L(606,120)@S(0)[0,0 1024x768] 02:06:20.917962749: calling as root: test -e '/home/amnesia/Persistent/output.pdf' 02:06:21.238744382: call returned: [0, "", ""] And I can print the current document to "/home/amnesia/Persistent/output.pdf" # features/step_definitions/evince.rb:5 Scenario: I cannot view a PDF file stored in persistent /home/amnesia/.gnupg # features/evince.feature:57 02:06:24.048116906: calling as root: echo 'hello?' 02:06:24.278947094: call returned: [0, "hello?\n", ""] 02:06:25.001352378: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:25.001480576: calling as root: nmcli device show eth0 02:06:25.308211070: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:25.322132866: calling as root: date -s '@1523726489' 02:06:25.524999035: call returned: [0, "Sat Apr 14 17:21:29 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 02:06:25.525897264: calling as amnesia: cp "/usr/share/cups/data/default-testpage.pdf" "/home/amnesia/.gnupg" 02:06:25.706379641: call returned: [0, "", ""] And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/.gnupg" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:06:25.707224300: calling as root: test -e '/home/amnesia/.gnupg/default-testpage.pdf' 02:06:25.893041897: call returned: [0, "", ""] Then the file "/home/amnesia/.gnupg/default-testpage.pdf" exists # features/step_definitions/common_steps.rb:614 02:06:25.894072566: calling as root: sysctl -w kernel.printk_ratelimit=0 02:06:26.148455402: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:06:26.148648161: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:06:26.415230805: call returned: [0, "2018-04-14 17:21:29\n", ""] Given I start monitoring the AppArmor log of "/usr/bin/evince" # features/step_definitions/common_steps.rb:853 02:06:26.416050970: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:06:26.604311041: call returned: [1, "", ""] 02:06:26.637867801: calling as amnesia: xdotool key Super 02:06:26.831381958: call returned: [0, "", ""] 02:06:28.057571558: [log] TYPE "commandline" 02:06:28.118914144: [log] ( Ctrl ) TYPE "#ENTER." 02:06:32.237741118: [log] TYPE "evince /home/amnesia/.gnupg/default-testpage.pdf#ENTER." And I try to open "/home/amnesia/.gnupg/default-testpage.pdf" with Evince # features/step_definitions/evince.rb:1 Then I see "EvinceUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 02:06:33.690250470: calling as root: journalctl --full --no-pager --since='2018-04-14 17:21:29' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/home/amnesia/.gnupg/default-testpage.pdf"' 02:06:33.933045555: call returned: [0, "Apr 14 17:21:36 amnesia kernel: audit: type=1400 audit(1523726496.768:35): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/home/amnesia/.gnupg/default-testpage.pdf\" pid=12373 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 17:21:36 amnesia kernel: audit: type=1400 audit(1523726496.768:36): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/evince\" name=\"/home/amnesia/.gnupg/default-testpage.pdf\" pid=12373 comm=\"EvJobScheduler\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/evince" from opening "/home/amnesia/.gnupg/default-testpage.pdf" # features/step_definitions/common_steps.rb:865 @product Feature: GNOME is well-integrated into Tails #13458 @fragile Scenario: A screenshot is taken when the PRINTSCREEN key is pressed # features/gnome.feature:6 02:06:35.738950547: calling as root: echo 'hello?' 02:06:35.966660217: call returned: [0, "hello?\n", ""] 02:06:36.690351241: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:36.690479505: calling as root: nmcli device show eth0 02:06:36.925665128: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:36.938622448: calling as root: date -s '@1523726501' 02:06:37.138761020: call returned: [0, "Sat Apr 14 17:21:41 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I wait 10 seconds # features/step_definitions/common_steps.rb:843 Slept for 10 seconds 02:06:47.141640608: calling as root: find '/home/amnesia/Pictures' -name 'Screenshot*.png' -maxdepth 1 02:06:47.281566467: call returned: [0, "", ""] And there is no screenshot in the live user's Pictures directory # features/step_definitions/gnome.rb:1 When I press the "PRINTSCREEN" key # features/step_definitions/common_steps.rb:680 02:06:47.325086069: calling as root: find '/home/amnesia/Pictures' -name 'Screenshot*.png' -maxdepth 1 02:06:47.333256850: [log] TYPE "#PRINTSCREEN." 02:06:47.501828531: call returned: [0, "/home/amnesia/Pictures/Screenshot from 2018-04-14 17-21-51.png\n", ""] Then a screenshot is saved to the live user's Pictures directory # features/step_definitions/gnome.rb:9 Scenario: GNOME notifications are shown to the user # features/gnome.feature:13 02:06:49.176081889: calling as root: echo 'hello?' 02:06:49.391956296: call returned: [0, "hello?\n", ""] 02:06:50.114702608: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:50.114836031: calling as root: nmcli device show eth0 02:06:50.373888865: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:50.382220681: calling as root: date -s '@1523726514' 02:06:50.561782649: call returned: [0, "Sat Apr 14 17:21:54 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:06:50.563065867: calling as amnesia: notify-send 'Dogtail rules!' 02:06:50.660015090: call returned: [0, "", ""] When the "Dogtail rules!" notification is sent # features/step_definitions/gnome.rb:18 02:06:50.661209438: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node739 = dogtail.tree.root.application('gnome-shell') 02:06:51.528576992: execution complete 02:06:51.528760743: executing Python as amnesia: node740 = node739.child('Dogtail rules!') 02:06:51.748752463: execution complete Then the "Dogtail rules!" notification is shown to the user # features/step_definitions/gnome.rb:22 @product Feature: Hardening features Scenario: AppArmor is enabled and has enforced profiles # features/hardening.feature:4 02:06:53.426779564: calling as root: echo 'hello?' 02:06:53.642387800: call returned: [0, "hello?\n", ""] 02:06:54.372402532: calling as root: nmcli device show eth0 02:06:54.387839573: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:54.620424995: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:54.631206127: calling as root: date -s '@1523726518' 02:06:54.761296791: call returned: [0, "Sat Apr 14 17:21:58 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:06:54.762621631: calling as root: aa-status 02:06:55.103785218: call returned: [0, "apparmor module is loaded.\n33 profiles are loaded.\n30 profiles are in enforce mode.\n /usr/bin/evince\n /usr/bin/evince-previewer\n /usr/bin/evince-previewer//sanitized_helper\n /usr/bin/evince-thumbnailer\n /usr/bin/evince-thumbnailer//sanitized_helper\n /usr/bin/evince//sanitized_helper\n /usr/bin/irssi\n /usr/bin/onioncircuits\n /usr/bin/onionshare\n /usr/bin/onionshare-gui\n /usr/bin/pidgin\n /usr/bin/pidgin//sanitized_helper\n /usr/bin/totem\n /usr/bin/totem-audio-preview\n /usr/bin/totem-video-thumbnailer\n /usr/lib/cups/backend/cups-pdf\n /usr/local/lib/tor-browser/firefox\n /usr/sbin/apt-cacher-ng\n /usr/sbin/cupsd\n /usr/sbin/cupsd//third_party\n /usr/sbin/haveged\n /usr/sbin/tcpdump\n gst_plugin_scanner\n system_tor\n thunderbird\n thunderbird//browser_java\n thunderbird//browser_openjdk\n thunderbird//gpg\n thunderbird//sanitized_helper\n torbrowser_plugin_container\n3 profiles are in complain mode.\n /usr/sbin/avahi-daemon\n /usr/{sbin/traceroute,bin/traceroute.db}\n ping\n2 processes have profiles defined.\n2 processes are in enforce mode.\n /usr/sbin/cupsd (4971) \n /usr/sbin/haveged (1031) \n0 processes are in complain mode.\n0 processes are unconfined but have a profile defined.\n", ""] Then AppArmor is enabled # features/step_definitions/checks.rb:148 02:06:55.105078352: calling as root: aa-status --enforced 02:06:55.321363273: call returned: [0, "30\n", ""] And some AppArmor profiles are enforced # features/step_definitions/checks.rb:152 Scenario: The tor process should be confined with Seccomp # features/hardening.feature:9 02:06:56.967527207: calling as root: echo 'hello?' 02:06:57.216564757: call returned: [0, "hello?\n", ""] 02:06:57.941123032: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:06:57.941316103: calling as root: nmcli device show eth0 02:06:58.221709164: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:06:58.241724435: calling as root: date -s '@1523726522' 02:06:58.383479070: call returned: [0, "Sat Apr 14 17:22:02 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:06:58.410906854: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:06:58.680079558: call returned: [1, "", ""] 02:06:59.680384856: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:06:59.804252156: call returned: [1, "", ""] 02:07:00.804579367: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:00.964862674: call returned: [1, "", ""] 02:07:01.965163933: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:02.129971391: call returned: [1, "", ""] 02:07:03.130215849: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:03.266494503: call returned: [1, "", ""] 02:07:04.266754817: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:04.477936857: call returned: [1, "", ""] 02:07:05.478262280: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:05.707148618: call returned: [3, "", ""] 02:07:06.707351194: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:07:07.036824698: call returned: [0, "", ""] 02:07:07.037049072: calling as root: test -e /run/tordate/done 02:07:07.274665684: call returned: [0, "", ""] 02:07:07.274983665: calling as root: test -e /run/htpdate/success 02:07:07.493354333: call returned: [1, "", ""] 02:07:08.493644608: calling as root: test -e /run/htpdate/success 02:07:08.661135305: call returned: [0, "", ""] 02:07:08.662673575: calling as root: systemctl is-system-running 02:07:08.845959709: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:07:08.847270268: calling as root: pidof -x -o '%PPID' tor 02:07:09.044893504: call returned: [0, "7187\n", ""] 02:07:09.045033596: calling as root: pidof -x -o '%PPID' tor 02:07:09.220882323: call returned: [0, "7187\n", ""] 02:07:09.220996117: opening file /proc/7187/status in 'read' mode 02:07:09.301310060: read complete Then the running process "tor" is confined with Seccomp in filter mode # features/step_definitions/checks.rb:181 @product Feature: Tails-related cryptographic keys are up-to-date Scenario: The shipped Tails OpenPGP keys are up-to-date # features/keys.feature:4 02:07:10.984440107: calling as root: echo 'hello?' 02:07:11.229304123: call returned: [0, "hello?\n", ""] 02:07:11.955659799: calling as root: nmcli device show eth0 02:07:11.970949438: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:07:12.234139237: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:07:12.245408794: calling as root: date -s '@1523726536' 02:07:12.401308013: call returned: [0, "Sat Apr 14 17:22:16 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:07:12.402727283: calling as amnesia: gpg --batch --with-colons --fingerprint --list-key 02:07:12.752415123: call returned: [0, "tru::1:1523719434:0:3:1:5\npub:-:4096:1:C436090F4BB47C6F:1405063050:::-:::escaESCA:::::::\nfpr:::::::::256DEB9077880CD681678528C436090F4BB47C6F:\nuid:-::::1405063074::902C3FABE8380E943B88E6E362C193D048018082::Tails accounting team (schleuder list) :\nuid:-::::1405063074::860DB6331C0F426D92DAD98F2BA7DA31AB280658::Tails accounting team (schleuder list) :\nuid:-::::1405063074::7B211AEF221E8740CE46D12D87A6C17D432003D7::Tails accounting team (schleuder list) :\nsub:-:4096:1:289A5B45A9E89475:1405063050::::::esa::::::\nfpr:::::::::7C0815E885B151F0F7B82273289A5B45A9E89475:\npub:-:4096:1:EC57B56EF0C43132:1374669910:1532349910::-:::scESC:::::::\nfpr:::::::::1F56EDD30741048035DAC1C5EC57B56EF0C43132:\nuid:-::::1391538574::40A7DC80C8A8587EC33E526D04006CCF84DD35D0::Tails bug squad :\nuid:-::::1391538574::3C8AD9F790E35644AAE05A8AF50215E17064C8AF::Tails bug squad (schleuder list) :\nuid:-::::1391538574::D6A38EAB24671D5465AF7FBA66EE4604FDAAF742::Tails bug squad (schleuder list) :\nuid:-::::1407873159::C7C338FDD8528B045BAE64637C70E204A58FB93B::Tails private user support :\nsub:-:4096:1:9D6D6472AFC1AD77:1374669910:1532349910:::::e::::::\nfpr:::::::::0012C2281573FE8D1C24E3509D6D6472AFC1AD77:\npub:-:4096:1:1D2975EDF93E735F:1250285293:1538386179::-:::scESC:::::::\nfpr:::::::::09F6BC8FEEC9D8EE005DBAA41D2975EDF93E735F:\nuid:-::::1475314183::CA2EF3B42A28EC119780E908046D4B9FCBF99BAB::Tails list (schleuder list) :\nuid:-::::1475314182::496A0F5D391DD8818EE1E2472139F14365130E19::Tails developers (Schleuder mailing-list) :\nuid:-::::1475314182::60E13D6723C9457B7304C3C6E5452D7B0D7DEDAD::Tails list (schleuder list) :\nuid:r::::::9933827C0B9BDC6F26DD5C4396AE098A27091851::Amnesia :\nuid:r::::::12DFA836D53698FFABE5061FB3DD3CD796DF26F9::T(A)ILS developers (Schleuder mailing-list) :\nsub:-:4096:1:D843C2F5E89382EB:1250285740:1538386153:::::e::::::\nfpr:::::::::C3948FE7B604C6114E294DDFD843C2F5E89382EB:\npub:-:4096:1:D2EDA621B572DD73:1461942131:::-:::escaESCA:::::::\nfpr:::::::::0B088E31D4F8E59A3D399137D2EDA621B572DD73:\nuid:-::::1461942160::501690F40D08AF49319172C14C924D5D5531C40B::Tails mirror pool managers (schleuder list) :\nuid:-::::1461942160::F9D65DB569B07586B0DA61F8DA4C9C8F732AC4AD::Tails mirror pool managers (schleuder list) :\nuid:-::::1461942160::C450DB00E0BE9AAB5E58FF748A7A221411EB0FE1::Tails mirror pool managers (schleuder list) :\nsub:-:4096:1:3DCFC1EB1C62C73C:1461942131::::::esa::::::\nfpr:::::::::C3B6EA2B3704474BCF2454C33DCFC1EB1C62C73C:\npub:-:4096:1:457080B5A072CBE3:1405062606:::-:::escaESCA:::::::\nfpr:::::::::F3CD9B7B4BDF9995DA22088E457080B5A072CBE3:\nuid:-::::1405062614::60FB6A85ED825EDFFDDB6848893F9F91D9B64EA1::Tails press team (schleuder list) :\nuid:-::::1405062614::A6BDD1625A8F0B65F154829FCEB33D68A6841624::Tails press team (schleuder list) :\nuid:-::::1405062613::2BA6F200D94205F82E9F3A809BD2D57B0EA9042F::Tails press team (schleuder list) :\nsub:-:4096:1:5748DE3BC338BFFC:1405062606::::::esa::::::\nfpr:::::::::79600454A497A88CC0D7F8685748DE3BC338BFFC:\npub:-:4096:1:DBB802B258ACD84F:1421590671:1547217390::-:::cSC:::::::\nfpr:::::::::A490D0F4D311A4153E2BB7CADBB802B258ACD84F:\nuid:-::::1505745394::56CE2B43AA9493872A802884F36253ED9A504FF1::Tails developers :\nuid:-::::1505745390::0D4C42B79EBEDAF02E8F2FFF6CA5C5D6525200B2::Tails developers (offline long-term identity key) :\nsub:e:4096:1:3C83DCB52F699C56:1421595116:1515674976:::::s::::::\nfpr:::::::::A5091F72C746BA6B163D1C183C83DCB52F699C56:\nsub:e:4096:1:98FEC6BC752A3DB6:1421590835:1515674960:::::s::::::\nfpr:::::::::BA2C222F44AC00ED9899389398FEC6BC752A3DB6:\nsub:r:4096:1:AA9E014656987A65:1421590930:1452522130:::::s::::::\nfpr:::::::::C3B6813CD95D79C212F5AA21AA9E014656987A65:\nsub:e:4096:1:AF292B44A0EDAA41:1472561457:1515675057:::::s::::::\nfpr:::::::::79192EE220449071F589AC00AF292B44A0EDAA41:\nsub:-:4096:1:D21DAD38AF281C0B:1503935638:1547222038:::::s::::::\nfpr:::::::::05469FB85EAD6589B43D41D3D21DAD38AF281C0B:\nsub:-:4096:1:3020A7A9C2B72733:1503935663:1547222063:::::s::::::\nfpr:::::::::2FAF9BA0D65BB371F0BC2D463020A7A9C2B72733:\nsub:-:256:22:90B2B4BD7AED235F:1503930294:1547216694:::::s:::::ed25519:\nfpr:::::::::CD4D4351AFA6933F574A9AFB90B2B4BD7AED235F:\npub:-:4096:1:70F4F03116525F43:1345714920:1581947908::-:::scESC:::::::\nfpr:::::::::D113CB6D5131D34BA5F0FE9E70F4F03116525F43:\nuid:-::::1518875908::A8758F234F0FB0602F207E2DB08266621680432B::Tails system administrators :\nuid:-::::1518875908::DA6CF2C472639E55AB464CB7E1F76416FE91069C::Tails system administrators (schleuder list) :\nuid:-::::1518875908::0C10D3FD3B1C9750C5C547D5AE15A6B355950802::Tails system administrators (schleuder list) :\nsub:-:4096:1:58BA940CCA0A30B4:1345714920:1581947922:::::e::::::\nfpr:::::::::373DA2F425C9D097B95ADAD458BA940CCA0A30B4:\n", ""] 02:07:12.753146769: calling as amnesia: gpg --batch --list-key 256DEB9077880CD681678528C436090F4BB47C6F 02:07:12.870136294: call returned: [0, "pub rsa4096/0xC436090F4BB47C6F 2014-07-11 [SCEA]\n Key fingerprint = 256D EB90 7788 0CD6 8167 8528 C436 090F 4BB4 7C6F\nuid [ unknown] Tails accounting team (schleuder list) \nuid [ unknown] Tails accounting team (schleuder list) \nuid [ unknown] Tails accounting team (schleuder list) \nsub rsa4096/0x289A5B45A9E89475 2014-07-11 [SEA]\n\n", ""] 02:07:12.870828483: calling as amnesia: gpg --batch --list-key 7C0815E885B151F0F7B82273289A5B45A9E89475 02:07:12.975419778: call returned: [0, "pub rsa4096/0xC436090F4BB47C6F 2014-07-11 [SCEA]\n Key fingerprint = 256D EB90 7788 0CD6 8167 8528 C436 090F 4BB4 7C6F\nuid [ unknown] Tails accounting team (schleuder list) \nuid [ unknown] Tails accounting team (schleuder list) \nuid [ unknown] Tails accounting team (schleuder list) \nsub rsa4096/0x289A5B45A9E89475 2014-07-11 [SEA]\n\n", ""] 02:07:12.976050861: calling as amnesia: gpg --batch --list-key 1F56EDD30741048035DAC1C5EC57B56EF0C43132 02:07:13.079966861: call returned: [0, "pub rsa4096/0xEC57B56EF0C43132 2013-07-24 [SC] [expires: 2018-07-23]\n Key fingerprint = 1F56 EDD3 0741 0480 35DA C1C5 EC57 B56E F0C4 3132\nuid [ unknown] Tails bug squad \nuid [ unknown] Tails bug squad (schleuder list) \nuid [ unknown] Tails bug squad (schleuder list) \nuid [ unknown] Tails private user support \nsub rsa4096/0x9D6D6472AFC1AD77 2013-07-24 [E] [expires: 2018-07-23]\n\n", ""] 02:07:13.081575301: calling as amnesia: gpg --batch --list-key 0012C2281573FE8D1C24E3509D6D6472AFC1AD77 02:07:13.190289178: call returned: [0, "pub rsa4096/0xEC57B56EF0C43132 2013-07-24 [SC] [expires: 2018-07-23]\n Key fingerprint = 1F56 EDD3 0741 0480 35DA C1C5 EC57 B56E F0C4 3132\nuid [ unknown] Tails bug squad \nuid [ unknown] Tails bug squad (schleuder list) \nuid [ unknown] Tails bug squad (schleuder list) \nuid [ unknown] Tails private user support \nsub rsa4096/0x9D6D6472AFC1AD77 2013-07-24 [E] [expires: 2018-07-23]\n\n", ""] 02:07:13.191034245: calling as amnesia: gpg --batch --list-key 09F6BC8FEEC9D8EE005DBAA41D2975EDF93E735F 02:07:13.366534686: call returned: [0, "pub rsa4096/0x1D2975EDF93E735F 2009-08-14 [SC] [expires: 2018-10-01]\n Key fingerprint = 09F6 BC8F EEC9 D8EE 005D BAA4 1D29 75ED F93E 735F\nuid [ unknown] Tails list (schleuder list) \nuid [ unknown] Tails developers (Schleuder mailing-list) \nuid [ unknown] Tails list (schleuder list) \nsub rsa4096/0xD843C2F5E89382EB 2009-08-14 [E] [expires: 2018-10-01]\n\n", ""] 02:07:13.367463634: calling as amnesia: gpg --batch --list-key C3948FE7B604C6114E294DDFD843C2F5E89382EB 02:07:13.495076686: call returned: [0, "pub rsa4096/0x1D2975EDF93E735F 2009-08-14 [SC] [expires: 2018-10-01]\n Key fingerprint = 09F6 BC8F EEC9 D8EE 005D BAA4 1D29 75ED F93E 735F\nuid [ unknown] Tails list (schleuder list) \nuid [ unknown] Tails developers (Schleuder mailing-list) \nuid [ unknown] Tails list (schleuder list) \nsub rsa4096/0xD843C2F5E89382EB 2009-08-14 [E] [expires: 2018-10-01]\n\n", ""] 02:07:13.495700770: calling as amnesia: gpg --batch --list-key 0B088E31D4F8E59A3D399137D2EDA621B572DD73 02:07:13.608076328: call returned: [0, "pub rsa4096/0xD2EDA621B572DD73 2016-04-29 [SCEA]\n Key fingerprint = 0B08 8E31 D4F8 E59A 3D39 9137 D2ED A621 B572 DD73\nuid [ unknown] Tails mirror pool managers (schleuder list) \nuid [ unknown] Tails mirror pool managers (schleuder list) \nuid [ unknown] Tails mirror pool managers (schleuder list) \nsub rsa4096/0x3DCFC1EB1C62C73C 2016-04-29 [SEA]\n\n", ""] 02:07:13.608592883: calling as amnesia: gpg --batch --list-key C3B6EA2B3704474BCF2454C33DCFC1EB1C62C73C 02:07:13.716998607: call returned: [0, "pub rsa4096/0xD2EDA621B572DD73 2016-04-29 [SCEA]\n Key fingerprint = 0B08 8E31 D4F8 E59A 3D39 9137 D2ED A621 B572 DD73\nuid [ unknown] Tails mirror pool managers (schleuder list) \nuid [ unknown] Tails mirror pool managers (schleuder list) \nuid [ unknown] Tails mirror pool managers (schleuder list) \nsub rsa4096/0x3DCFC1EB1C62C73C 2016-04-29 [SEA]\n\n", ""] 02:07:13.717543969: calling as amnesia: gpg --batch --list-key F3CD9B7B4BDF9995DA22088E457080B5A072CBE3 02:07:13.826842638: call returned: [0, "pub rsa4096/0x457080B5A072CBE3 2014-07-11 [SCEA]\n Key fingerprint = F3CD 9B7B 4BDF 9995 DA22 088E 4570 80B5 A072 CBE3\nuid [ unknown] Tails press team (schleuder list) \nuid [ unknown] Tails press team (schleuder list) \nuid [ unknown] Tails press team (schleuder list) \nsub rsa4096/0x5748DE3BC338BFFC 2014-07-11 [SEA]\n\n", ""] 02:07:13.827369366: calling as amnesia: gpg --batch --list-key 79600454A497A88CC0D7F8685748DE3BC338BFFC 02:07:13.939994562: call returned: [0, "pub rsa4096/0x457080B5A072CBE3 2014-07-11 [SCEA]\n Key fingerprint = F3CD 9B7B 4BDF 9995 DA22 088E 4570 80B5 A072 CBE3\nuid [ unknown] Tails press team (schleuder list) \nuid [ unknown] Tails press team (schleuder list) \nuid [ unknown] Tails press team (schleuder list) \nsub rsa4096/0x5748DE3BC338BFFC 2014-07-11 [SEA]\n\n", ""] 02:07:13.940513320: calling as amnesia: gpg --batch --list-key A490D0F4D311A4153E2BB7CADBB802B258ACD84F 02:07:14.097667967: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.098233846: calling as amnesia: gpg --batch --list-key A5091F72C746BA6B163D1C183C83DCB52F699C56 02:07:14.229487542: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.230034244: calling as amnesia: gpg --batch --list-key BA2C222F44AC00ED9899389398FEC6BC752A3DB6 02:07:14.365106800: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.365688876: calling as amnesia: gpg --batch --list-key C3B6813CD95D79C212F5AA21AA9E014656987A65 02:07:14.481185995: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.481746821: calling as amnesia: gpg --batch --list-key 79192EE220449071F589AC00AF292B44A0EDAA41 02:07:14.606886465: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.607466534: calling as amnesia: gpg --batch --list-key 05469FB85EAD6589B43D41D3D21DAD38AF281C0B 02:07:14.737698704: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.738294063: calling as amnesia: gpg --batch --list-key 2FAF9BA0D65BB371F0BC2D463020A7A9C2B72733 02:07:14.846998310: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.847557518: calling as amnesia: gpg --batch --list-key CD4D4351AFA6933F574A9AFB90B2B4BD7AED235F 02:07:14.983903077: call returned: [0, "pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]\n Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F\nuid [ unknown] Tails developers \nuid [ unknown] Tails developers (offline long-term identity key) \nsub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]\nsub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]\nsub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]\n\n", ""] 02:07:14.984622025: calling as amnesia: gpg --batch --list-key D113CB6D5131D34BA5F0FE9E70F4F03116525F43 02:07:15.093965403: call returned: [0, "pub rsa4096/0x70F4F03116525F43 2012-08-23 [SC] [expires: 2020-02-17]\n Key fingerprint = D113 CB6D 5131 D34B A5F0 FE9E 70F4 F031 1652 5F43\nuid [ unknown] Tails system administrators \nuid [ unknown] Tails system administrators (schleuder list) \nuid [ unknown] Tails system administrators (schleuder list) \nsub rsa4096/0x58BA940CCA0A30B4 2012-08-23 [E] [expires: 2020-02-17]\n\n", ""] 02:07:15.094516848: calling as amnesia: gpg --batch --list-key 373DA2F425C9D097B95ADAD458BA940CCA0A30B4 02:07:15.221525598: call returned: [0, "pub rsa4096/0x70F4F03116525F43 2012-08-23 [SC] [expires: 2020-02-17]\n Key fingerprint = D113 CB6D 5131 D34B A5F0 FE9E 70F4 F031 1652 5F43\nuid [ unknown] Tails system administrators \nuid [ unknown] Tails system administrators (schleuder list) \nuid [ unknown] Tails system administrators (schleuder list) \nsub rsa4096/0x58BA940CCA0A30B4 2012-08-23 [E] [expires: 2020-02-17]\n\n", ""] Then the OpenPGP keys shipped with Tails will be valid for the next 3 months # features/step_definitions/checks.rb:7 Scenario: The Tails Debian repository key is up-to-date # features/keys.feature:8 02:07:16.906980973: calling as root: echo 'hello?' 02:07:17.167847280: call returned: [0, "hello?\n", ""] 02:07:17.891633442: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:07:17.891746442: calling as root: nmcli device show eth0 02:07:18.193373372: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:07:18.204749099: calling as root: date -s '@1523726542' 02:07:18.343201575: call returned: [0, "Sat Apr 14 17:22:22 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:07:18.344703382: calling as root: apt-key adv --batch --list-key 221F9A3C6FA3E09E182E060BC7988EA7A358D82E 02:07:19.134259390: call returned: [0, "Executing: /tmp/apt-key-gpghome.OJksOnlbLj/gpg.1.sh --batch --list-key 221F9A3C6FA3E09E182E060BC7988EA7A358D82E\npub rsa4096 2012-02-04 [SC] [expires: 2019-05-01]\n 221F9A3C6FA3E09E182E060BC7988EA7A358D82E\nuid [ unknown] deb.tails.boum.org archive signing key\n\n", "Warning: apt-key output should not be parsed (stdout is not a terminal)\n"] Then the shipped Debian repository key will be valid for the next 3 months # features/step_definitions/checks.rb:20 @product Feature: Localization As a Tails user I want Tails to be localized in my native language And various Tails features should still work #15321 @doc @fragile Scenario: The Report an Error launcher will open the support documentation in supported non-English locales # features/localization.feature:9 02:07:25.718254388: calling as root: echo 'hello?' 02:07:26.115894851: call returned: [0, "hello?\n", ""] 02:07:26.840294409: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:07:26.840394880: calling as root: nmcli device show eth0 02:07:27.082436191: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:07:27.093626856: calling as root: date -s '@1523726551' 02:07:27.223174318: call returned: [0, "Sat Apr 14 17:22:31 UTC 2018\n", ""] Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 02:07:28.506445975: [log] CLICK on L(273,333)@S(0)[0,0 1024x768] 02:07:28.776824210: [log] TYPE "German" 02:07:31.656415777: [log] TYPE "#ENTER." [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:07:31.656674919: calling as root: loginctl 02:07:31.829097553: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:07:32.829480146: calling as root: loginctl 02:07:33.072615240: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:07:43.260027064: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:07:43.479086949: call returned: [0, "", ""] 02:07:43.479207817: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:07:43.649419183: call returned: [0, "", ""] And I log in to a new session in German # features/step_definitions/common_steps.rb:257 02:07:43.650082048: calling as root: pgrep --uid amnesia --full --full tails-documentation 02:07:43.904170224: call returned: [1, "", ""] 02:07:44.952488356: [log] DOUBLE CLICK on L(66,47)@S(0)[0,0 1024x768] When I double-click on the Report an Error launcher on the desktop # features/step_definitions/common_steps.rb:730 02:07:44.953358932: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node741 = dogtail.tree.root.application('tails-documentation') 02:07:47.419150939: execution complete 02:07:47.419290754: executing Python as amnesia: node742 = node741.child('Tails-Dokumentation', roleName='frame', recursive=False) 02:07:47.461072217: execution complete 02:07:47.461194451: executing Python as amnesia: node743 = node741.child('Die Dokumentation durchsuchen', roleName='heading') 02:07:54.373916364: execution complete Then the documentation viewer opens the "Support" page # features/step_definitions/checks.rb:97 #11711 @fragile Scenario: The Unsafe Browser can be used in all languages supported in Tails # features/localization.feature:17 02:08:00.480281202: calling as root: echo 'hello?' 02:08:00.707775604: call returned: [0, "hello?\n", ""] 02:08:01.430620992: calling as root: nmcli device show eth0 02:08:01.441988087: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:08:01.741473480: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:08:01.756311545: calling as root: systemctl --quiet is-active tor@default.service 02:08:01.926393623: call returned: [0, "", ""] 02:08:01.926532537: calling as root: systemctl stop tor@default.service 02:08:02.126685456: call returned: [0, "", ""] 02:08:02.126784211: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:08:02.284927290: call returned: [0, "", ""] 02:08:02.285037442: calling as root: date -s '@1523726586' 02:08:02.481061946: call returned: [0, "Sat Apr 14 17:23:06 UTC 2018\n", ""] 02:08:02.481163451: calling as root: systemctl start tor@default.service 02:08:03.304108602: call returned: [0, "", ""] 02:08:03.304311458: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:08:03.490250161: call returned: [3, "", ""] 02:08:04.490588582: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:08:04.683238539: call returned: [3, "", ""] 02:08:05.683512042: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:08:05.875829869: call returned: [3, "", ""] 02:08:06.876136089: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:08:07.055942240: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:08:07.061365974: calling as root: test -d '/usr/lib/locale/ar_EG.UTF-8' 02:08:07.221215280: call returned: [1, "", ""] 02:08:07.221314775: calling as root: test -d '/usr/lib/locale/ar_EG.utf8' 02:08:07.395560764: call returned: [0, "", ""] 02:08:07.395715465: calling as root: test -d '/usr/lib/locale/de_DE.UTF-8' 02:08:07.559331914: call returned: [1, "", ""] 02:08:07.559451087: calling as root: test -d '/usr/lib/locale/de_DE.utf8' 02:08:07.725114617: call returned: [0, "", ""] 02:08:07.725257637: calling as root: test -d '/usr/lib/locale/es_ES_ES.UTF-8' 02:08:07.869451803: call returned: [1, "", ""] 02:08:07.869550436: calling as root: test -d '/usr/lib/locale/es_ES_ES.utf8' 02:08:08.037239394: call returned: [1, "", ""] 02:08:08.037351774: calling as root: test -d '/usr/lib/locale/es_ES.UTF-8' 02:08:08.206776754: call returned: [1, "", ""] 02:08:08.206901958: calling as root: test -d '/usr/lib/locale/es_ES.utf8' 02:08:08.370379446: call returned: [0, "", ""] 02:08:08.370519660: calling as root: test -d '/usr/lib/locale/en_US_US.UTF-8' 02:08:08.509521196: call returned: [1, "", ""] 02:08:08.509641233: calling as root: test -d '/usr/lib/locale/en_US_US.utf8' 02:08:08.663034252: call returned: [1, "", ""] 02:08:08.663135434: calling as root: test -d '/usr/lib/locale/en_US.UTF-8' 02:08:08.828713362: call returned: [1, "", ""] 02:08:08.828811147: calling as root: test -d '/usr/lib/locale/en_US.utf8' 02:08:08.999096350: call returned: [0, "", ""] 02:08:08.999235056: calling as root: test -d '/usr/lib/locale/fa_IR.UTF-8' 02:08:09.187149857: call returned: [1, "", ""] 02:08:09.187250402: calling as root: test -d '/usr/lib/locale/fa_IR.utf8' 02:08:09.320462575: call returned: [1, "", ""] 02:08:09.320572487: calling as root: test -d '/usr/lib/locale/fa.UTF-8' 02:08:09.468192436: call returned: [1, "", ""] 02:08:09.468319961: calling as root: test -d '/usr/lib/locale/fa.utf8' 02:08:09.605069514: call returned: [1, "", ""] 02:08:09.605167689: calling as root: test -d '/usr/lib/locale/fa_IR' 02:08:09.755049666: call returned: [0, "", ""] 02:08:09.755185164: calling as root: test -d '/usr/lib/locale/fr_FR.UTF-8' 02:08:09.926933622: call returned: [1, "", ""] 02:08:09.927079988: calling as root: test -d '/usr/lib/locale/fr_FR.utf8' 02:08:10.110667398: call returned: [0, "", ""] 02:08:10.110771394: calling as root: test -d '/usr/lib/locale/it_IT.UTF-8' 02:08:10.286780867: call returned: [1, "", ""] 02:08:10.286893908: calling as root: test -d '/usr/lib/locale/it_IT.utf8' 02:08:10.430508153: call returned: [0, "", ""] 02:08:10.430612681: calling as root: test -d '/usr/lib/locale/ja_JP.UTF-8' 02:08:10.590762248: call returned: [1, "", ""] 02:08:10.590880146: calling as root: test -d '/usr/lib/locale/ja_JP.utf8' 02:08:10.738998359: call returned: [0, "", ""] 02:08:10.739117955: calling as root: test -d '/usr/lib/locale/ko_KR.UTF-8' 02:08:10.873421179: call returned: [1, "", ""] 02:08:10.873519334: calling as root: test -d '/usr/lib/locale/ko_KR.utf8' 02:08:11.036022479: call returned: [0, "", ""] 02:08:11.036238545: calling as root: test -d '/usr/lib/locale/nl_NL.UTF-8' 02:08:11.197084599: call returned: [1, "", ""] 02:08:11.197188834: calling as root: test -d '/usr/lib/locale/nl_NL.utf8' 02:08:11.347460101: call returned: [0, "", ""] 02:08:11.347583081: calling as root: test -d '/usr/lib/locale/pl_PL.UTF-8' 02:08:11.515274553: call returned: [1, "", ""] 02:08:11.515372136: calling as root: test -d '/usr/lib/locale/pl_PL.utf8' 02:08:11.656327599: call returned: [0, "", ""] 02:08:11.656455139: calling as root: test -d '/usr/lib/locale/pt_BR_BR.UTF-8' 02:08:11.805412194: call returned: [1, "", ""] 02:08:11.805508153: calling as root: test -d '/usr/lib/locale/pt_BR_BR.utf8' 02:08:11.948043976: call returned: [1, "", ""] 02:08:11.948218091: calling as root: test -d '/usr/lib/locale/pt_BR.UTF-8' 02:08:12.087491508: call returned: [1, "", ""] 02:08:12.087660975: calling as root: test -d '/usr/lib/locale/pt_BR.utf8' 02:08:12.239506108: call returned: [0, "", ""] 02:08:12.239641404: calling as root: test -d '/usr/lib/locale/ru_RU.UTF-8' 02:08:12.410780118: call returned: [1, "", ""] 02:08:12.410883436: calling as root: test -d '/usr/lib/locale/ru_RU.utf8' 02:08:12.569402163: call returned: [0, "", ""] 02:08:12.569512107: calling as root: test -d '/usr/lib/locale/tr_TR.UTF-8' 02:08:12.735560169: call returned: [1, "", ""] 02:08:12.735694779: calling as root: test -d '/usr/lib/locale/tr_TR.utf8' 02:08:12.873841273: call returned: [0, "", ""] 02:08:12.873982994: calling as root: test -d '/usr/lib/locale/vi_VN.UTF-8' 02:08:13.022756232: call returned: [1, "", ""] 02:08:13.022857310: calling as root: test -d '/usr/lib/locale/vi_VN.utf8' 02:08:13.161644522: call returned: [1, "", ""] 02:08:13.161758691: calling as root: test -d '/usr/lib/locale/vi.UTF-8' 02:08:13.327449393: call returned: [1, "", ""] 02:08:13.327626405: calling as root: test -d '/usr/lib/locale/vi.utf8' 02:08:13.514634263: call returned: [1, "", ""] 02:08:13.514786988: calling as root: test -d '/usr/lib/locale/vi_VN' 02:08:13.667193710: call returned: [0, "", ""] 02:08:13.667323113: calling as root: test -d '/usr/lib/locale/zh_CN_CN.UTF-8' 02:08:13.829965849: call returned: [1, "", ""] 02:08:13.830081869: calling as root: test -d '/usr/lib/locale/zh_CN_CN.utf8' 02:08:13.970701259: call returned: [1, "", ""] 02:08:13.970831514: calling as root: test -d '/usr/lib/locale/zh_CN.UTF-8' 02:08:14.148271887: call returned: [1, "", ""] 02:08:14.148370535: calling as root: test -d '/usr/lib/locale/zh_CN.utf8' 02:08:14.303275028: call returned: [0, "", ""] 02:08:14.304113714: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:08:14.519142609: call returned: [1, "", ""] 02:08:14.557061598: calling as amnesia: xdotool key Super 02:08:14.730503766: call returned: [0, "", ""] 02:08:15.939659320: [log] TYPE "commandline" 02:08:18.113817666: [log] ( Ctrl ) TYPE "#ENTER." 02:08:23.090931191: [log] TYPE "LANG=pl_PL.utf8 LC_ALL=pl_PL.utf8 sudo unsafe-browser#ENTER." 02:08:23.173563770: [log] TYPE "#RIGHT.#ENTER." 02:08:34.022205048: [log] ( Ctrl ) TYPE "q" 02:08:34.022919730: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:08:34.656437457: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:08:34.656625411: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:08:34.937278830: call returned: [0, "", ""] 02:08:35.937620650: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:08:36.105715641: call returned: [0, "", ""] 02:08:37.106076907: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:08:37.268312674: call returned: [0, "", ""] 02:08:38.268609703: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:08:38.470248444: call returned: [1, "", ""] 02:08:38.471365669: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:08:38.679317402: call returned: [0, "9646\n", ""] 02:08:39.519415036: [log] CLICK on L(226,585)@S(0)[0,0 1024x768] 02:08:43.501064825: [log] TYPE "LANG=de_DE.utf8 LC_ALL=de_DE.utf8 sudo unsafe-browser#ENTER." 02:08:43.589405058: [log] TYPE "#RIGHT.#ENTER." 02:09:27.266757057: Found fuzzy candidate picture for UnsafeBrowserStartPage.png with similarity 0.4 02:09:27.363351077: [log] ( Ctrl ) TYPE "q" 02:09:27.363652913: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:09:27.746127241: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:09:27.746287537: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:09:27.971444971: call returned: [0, "", ""] 02:09:28.971668917: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:09:29.103533324: call returned: [0, "", ""] 02:09:30.103775306: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:09:30.239152241: call returned: [0, "", ""] 02:09:31.239462415: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:09:31.432538310: call returned: [0, "", ""] 02:09:32.432750333: calling as root: test -d '/var/lib/unsafe-browser/chroot' 02:09:32.571416809: call returned: [1, "", ""] 02:09:32.572622105: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:09:32.734429669: call returned: [0, "9646\n", ""] 02:09:36.046814375: [log] CLICK on L(226,585)@S(0)[0,0 1024x768] [log] TYPE "LANG=fr_FR.utf8 LC_ALL=fr_FR.utf8 sudo unsafe-browser#ENTER." 02:09:36.889792497: [log] TYPE "#RIGHT.#ENTER." Then the Unsafe Browser works in all supported languages # features/step_definitions/unsafe_browser.rb:31 Unsafe Browser failed to launch in the following locale(s): fr_FR.utf8. is not true. (Test::Unit::AssertionFailedError) features/localization.feature:19:in `Then the Unsafe Browser works in all supported languages' 02:10:10.587323803: calling as root: echo 'hello?' 02:10:10.737260731: call returned: [0, "hello?\n", ""] 02:10:10.737611936: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 02:10:11.036295587: call returned: [0, "", ""] 02:10:11.036421829: opening file /tmp/systemd.journal in 'read' mode 02:10:55.603925178: read complete Scenario failed at time 02:10:10 Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:10:10_The_Unsafe_Browser_can_be_used_in_all_languages_supported_in_Tails.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:10:10_The_Unsafe_Browser_can_be_used_in_all_languages_supported_in_Tails.journal Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:10:10_The_Unsafe_Browser_can_be_used_in_all_languages_supported_in_Tails.mkv @product Feature: Spoofing MAC addresses In order to not reveal information about the physical location As a Tails user I want to be able to control whether my network devices MAC addresses should be spoofed And I want this feature to fail safe and notify me in case of errors Background: # features/mac_spoofing.feature:8 02:11:00.307533253: calling as root: echo 'hello?' 02:11:00.530044350: call returned: [0, "hello?\n", ""] 02:11:01.254328902: calling as root: nmcli device show eth0 02:11:01.256211024: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:11:01.461727512: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:11:01.473793426: calling as root: date -s '@1523726765' 02:11:01.604063132: call returned: [0, "Sat Apr 14 17:26:05 UTC 2018\n", ""] Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 And the network is plugged # features/step_definitions/common_steps.rb:79 Scenario: MAC address spoofing is disabled # features/mac_spoofing.feature:13 02:11:02.614325278: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 02:11:03.773064030: [log] CLICK on L(408,298)@S(0)[0,0 1024x768] 02:11:05.727735748: [log] CLICK on L(410,458)@S(0)[0,0 1024x768] When I disable MAC spoofing in Tails Greeter # features/step_definitions/mac_spoofing.rb:7 02:11:06.893064995: calling as root: loginctl 02:11:06.906673289: [log] CLICK on L(685,196)@S(0)[0,0 1024x768] [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:11:07.053460193: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:11:08.053934476: calling as root: loginctl 02:11:08.337272936: call returned: [0, " SESSION UID USER SEAT TTY \n 8 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:11:19.556113968: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:11:19.739427787: call returned: [0, "", ""] 02:11:19.739563364: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:11:19.887929930: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 02:11:19.888824761: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:20.222440826: call returned: [3, "", ""] 02:11:21.222638099: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:21.387898969: call returned: [3, "", ""] 02:11:22.388118265: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:22.699690331: call returned: [0, "", ""] 02:11:22.699926414: calling as root: test -e /run/tordate/done 02:11:22.911489017: call returned: [0, "", ""] 02:11:22.911732936: calling as root: test -e /run/htpdate/success 02:11:23.163648136: call returned: [1, "", ""] 02:11:24.163894123: calling as root: test -e /run/htpdate/success 02:11:24.304456023: call returned: [0, "", ""] 02:11:24.304651059: calling as root: systemctl is-system-running 02:11:24.494358651: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:11:24.495624614: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:24.653942572: call returned: [0, "eth0\n", ""] Then 1 network interface is enabled # features/step_definitions/mac_spoofing.rb:79 02:11:24.662984980: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth0 02:11:24.911226322: call returned: [0, "52:54:00:ac:dd:ee\n", ""] And the 1st network device has its real MAC address configured # features/step_definitions/mac_spoofing.rb:14 02:11:24.912521832: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:25.088982966: call returned: [0, "eth0\n", ""] 02:11:25.198646900: Hotplugging a 'virtio' network device 02:11:25.321807234: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:25.477751078: call returned: [0, "eth0\n", ""] 02:11:26.478153317: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:26.684890637: call returned: [0, "eth0\neth1\n", ""] When I hotplug a network device and wait for it to be initialized # features/step_definitions/mac_spoofing.rb:102 02:11:26.686367439: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:26.889612753: call returned: [0, "eth0\neth1\n", ""] Then 2 network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 02:11:26.903572838: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth1 02:11:27.063641048: call returned: [0, "52:54:00:11:22:33\n", ""] And the 2nd network device has its real MAC address configured # features/step_definitions/mac_spoofing.rb:14 And some network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:47 Scenario: MAC address spoofing is successful # features/mac_spoofing.feature:24 02:11:29.433627588: calling as root: echo 'hello?' 02:11:29.556546875: call returned: [0, "hello?\n", ""] 02:11:30.279782000: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:11:30.281134715: calling as root: nmcli device show eth0 02:11:30.452359676: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:11:30.463210728: calling as root: date -s '@1523726794' 02:11:30.582789813: call returned: [0, "Sat Apr 14 17:26:34 UTC 2018\n", ""] 02:11:31.380668802: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:11:31.380921619: calling as root: loginctl 02:11:31.533709478: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:11:32.534103975: calling as root: loginctl 02:11:32.706707981: call returned: [0, " SESSION UID USER SEAT TTY \n 8 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:11:40.241257601: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:11:40.324409938: call returned: [0, "", ""] 02:11:40.324531100: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:11:40.416283998: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 02:11:40.417007822: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:40.622599269: call returned: [1, "", ""] 02:11:41.622928437: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:41.784020981: call returned: [1, "", ""] 02:11:42.784353081: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:42.947685166: call returned: [1, "", ""] 02:11:43.947984513: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:44.084462782: call returned: [1, "", ""] 02:11:45.084720573: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:45.316008550: call returned: [1, "", ""] 02:11:46.316353971: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:46.492787185: call returned: [3, "", ""] 02:11:47.493005042: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:11:47.700644448: call returned: [0, "", ""] 02:11:47.700933863: calling as root: test -e /run/tordate/done 02:11:48.096812031: call returned: [0, "", ""] 02:11:48.097056557: calling as root: test -e /run/htpdate/success 02:11:48.442633285: call returned: [1, "", ""] 02:11:49.442985905: calling as root: test -e /run/htpdate/success 02:11:49.588019060: call returned: [0, "", ""] 02:11:49.588409521: calling as root: systemctl is-system-running 02:11:49.740874002: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:11:49.742061182: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:49.926257924: call returned: [0, "eth0\n", ""] Then 1 network interface is enabled # features/step_definitions/mac_spoofing.rb:79 02:11:49.941676957: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth0 02:11:50.121691704: call returned: [0, "50:54:00:80:92:bd\n", ""] And the 1st network device has a spoofed MAC address configured # features/step_definitions/mac_spoofing.rb:14 02:11:50.122790592: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:50.303391792: call returned: [0, "eth0\n", ""] 02:11:50.356128289: Hotplugging a 'virtio' network device 02:11:50.485879951: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:50.683556309: call returned: [0, "eth0\n", ""] 02:11:51.684322115: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:51.877363945: call returned: [0, "eth0\neth1\n", ""] When I hotplug a network device and wait for it to be initialized # features/step_definitions/mac_spoofing.rb:102 02:11:51.878603102: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:11:52.053794253: call returned: [0, "eth0\neth1\n", ""] Then 2 network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 02:11:52.072563556: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth1 02:11:52.218810251: call returned: [0, "50:54:00:7c:27:64\n", ""] And the 2nd network device has a spoofed MAC address configured # features/step_definitions/mac_spoofing.rb:14 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 #10774 @fragile Scenario: MAC address spoofing fails and macchanger returns false # features/mac_spoofing.feature:36 02:11:54.161371704: calling as root: echo 'hello?' 02:11:54.281213508: call returned: [0, "hello?\n", ""] 02:11:55.004789463: calling as root: nmcli device show eth0 02:11:55.004885238: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:11:55.171855546: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:11:55.179899612: calling as root: date -s '@1523726819' 02:11:55.319814651: call returned: [0, "Sat Apr 14 17:26:59 UTC 2018\n", ""] 02:11:55.354000807: calling as root: mv /usr/bin/macchanger /usr/bin/macchanger.orig 02:11:55.487198566: call returned: [0, "", ""] 02:11:55.487340277: calling as root: ln -s /bin/false /usr/bin/macchanger 02:11:55.623013760: call returned: [0, "", ""] Given macchanger will fail by not spoofing and always returns false # features/step_definitions/mac_spoofing.rb:53 02:11:56.387388120: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:11:56.389006707: calling as root: loginctl 02:11:56.535460918: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:11:57.535845699: calling as root: loginctl 02:11:57.749747235: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 10 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:12:05.295468662: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:12:05.411886680: call returned: [0, "", ""] 02:12:05.412002838: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:12:05.545720056: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 02:12:05.547623076: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node744 = dogtail.tree.root.application('gnome-shell') 02:12:06.364526290: execution complete 02:12:06.364818664: executing Python as amnesia: node745 = node744.child('No Notifications', roleName='label', showingOnly=False) 02:12:06.724755393: execution complete 02:12:06.724889764: executing Python as amnesia: node746 = node745.parent 02:12:06.745404561: execution complete 02:12:06.745591469: executing Python as amnesia: node747 = node746.parent 02:12:06.765109955: execution complete 02:12:06.765266411: executing Python as amnesia: node748 = node747.child('Network card disabled', roleName='label', showingOnly=False) 02:12:13.428069197: execution complete And I see the "Network card disabled" notification after at most 60 seconds # features/step_definitions/common_steps.rb:336 02:12:13.429531694: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:12:13.869577048: call returned: [0, "", ""] Then no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 #10774 @fragile Scenario: MAC address spoofing fails and macchanger returns true # features/mac_spoofing.feature:46 02:12:15.600950847: calling as root: echo 'hello?' 02:12:15.730598925: call returned: [0, "hello?\n", ""] 02:12:16.453522726: calling as root: nmcli device show eth0 02:12:16.453687272: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:12:16.626792844: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:12:16.637656069: calling as root: date -s '@1523726840' 02:12:16.741542500: call returned: [0, "Sat Apr 14 17:27:20 UTC 2018\n", ""] 02:12:16.782359398: calling as root: mv /usr/bin/macchanger /usr/bin/macchanger.orig 02:12:16.954531597: call returned: [0, "", ""] 02:12:16.954701218: calling as root: ln -s /bin/true /usr/bin/macchanger 02:12:17.068565859: call returned: [0, "", ""] Given macchanger will fail by not spoofing and always returns true # features/step_definitions/mac_spoofing.rb:53 02:12:17.834559501: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:12:17.834757113: calling as root: loginctl 02:12:17.982535361: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:12:18.982872328: calling as root: loginctl 02:12:19.191916982: call returned: [0, " SESSION UID USER SEAT TTY \n 10 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:12:27.062010910: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:12:27.136549455: call returned: [0, "", ""] 02:12:27.136659654: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:12:27.208502746: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 02:12:27.209182169: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node749 = dogtail.tree.root.application('gnome-shell') 02:12:27.967899216: execution complete 02:12:27.968054625: executing Python as amnesia: node750 = node749.child('No Notifications', roleName='label', showingOnly=False) 02:12:28.398801398: execution complete 02:12:28.398916411: executing Python as amnesia: node751 = node750.parent 02:12:28.416558276: execution complete 02:12:28.416652972: executing Python as amnesia: node752 = node751.parent 02:12:28.441878065: execution complete 02:12:28.442052857: executing Python as amnesia: node753 = node752.child('Network card disabled', roleName='label', showingOnly=False) 02:12:35.567536347: execution complete And I see the "Network card disabled" notification after at most 60 seconds # features/step_definitions/common_steps.rb:336 02:12:35.568321416: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:12:35.712443456: call returned: [0, "", ""] Then no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 #10774 @fragile Scenario: MAC address spoofing fails and the module is not removed # features/mac_spoofing.feature:56 02:12:37.387540938: calling as root: echo 'hello?' 02:12:37.519713543: call returned: [0, "hello?\n", ""] 02:12:38.244382991: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:12:38.244633121: calling as root: nmcli device show eth0 02:12:38.414657747: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:12:38.424219823: calling as root: date -s '@1523726862' 02:12:38.556099563: call returned: [0, "Sat Apr 14 17:27:42 UTC 2018\n", ""] 02:12:38.596551989: calling as root: mv /usr/bin/macchanger /usr/bin/macchanger.orig 02:12:38.746442765: call returned: [0, "", ""] 02:12:38.746626309: calling as root: ln -s /bin/true /usr/bin/macchanger 02:12:38.862469979: call returned: [0, "", ""] Given macchanger will fail by not spoofing and always returns true # features/step_definitions/mac_spoofing.rb:53 02:12:38.863925707: calling as root: dpkg-divert --add --rename --divert '/usr/local/lib/modprobe' /sbin/modprobe 02:12:39.048947928: call returned: [0, "Adding 'local diversion of /sbin/modprobe to /usr/local/lib/modprobe'\n", ""] 02:12:39.049138609: opening file /sbin/modprobe in 'append' mode 02:12:39.078319737: append complete 02:12:39.078468734: calling as root: chmod a+rx /sbin/modprobe 02:12:39.188499150: call returned: [0, "", ""] And no network interface modules can be unloaded # features/step_definitions/mac_spoofing.rb:58 02:12:39.952508185: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:12:39.952726673: calling as root: loginctl 02:12:40.104464281: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:12:41.104881317: calling as root: loginctl 02:12:41.322462242: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 12 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:12:49.851700145: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:12:49.932321339: call returned: [0, "", ""] 02:12:49.932476422: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:12:50.109627830: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 02:12:50.110846071: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node754 = dogtail.tree.root.application('gnome-shell') 02:12:50.904124408: execution complete 02:12:50.904261055: executing Python as amnesia: node755 = node754.child('No Notifications', roleName='label', showingOnly=False) 02:12:51.184030371: execution complete 02:12:51.184182241: executing Python as amnesia: node756 = node755.parent 02:12:51.211130528: execution complete 02:12:51.211793066: executing Python as amnesia: node757 = node756.parent 02:12:51.233873833: execution complete 02:12:51.234100333: executing Python as amnesia: node758 = node757.child('All networking disabled', roleName='label', showingOnly=False) 02:12:59.015192498: execution complete And I see the "All networking disabled" notification after at most 60 seconds # features/step_definitions/common_steps.rb:336 02:12:59.016014026: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:12:59.156330863: call returned: [0, "eth0\n", ""] Then 1 network interface is enabled # features/step_definitions/mac_spoofing.rb:79 02:12:59.157341856: calling as root: systemctl show NetworkManager 02:12:59.568196713: call returned: [0, "Restart=no\nNotifyAccess=none\nRestartUSec=100ms\nTimeoutStartUSec=1min 30s\nTimeoutStopUSec=5s\nRuntimeMaxUSec=infinity\nWatchdogUSec=0\nWatchdogTimestampMonotonic=0\nPermissionsStartOnly=no\nRootDirectoryStartOnly=no\nRemainAfterExit=no\nGuessMainPID=yes\nMainPID=0\nControlPID=0\nFileDescriptorStoreMax=0\nNFileDescriptorStore=0\nStatusErrno=0\nResult=success\nUID=[not set]\nGID=[not set]\nNRestarts=0\nExecMainStartTimestampMonotonic=0\nExecMainExitTimestampMonotonic=0\nExecMainPID=0\nExecMainCode=0\nExecMainStatus=0\nMemoryCurrent=[not set]\nCPUUsageNSec=[not set]\nTasksCurrent=[not set]\nIPIngressBytes=18446744073709551615\nIPIngressPackets=18446744073709551615\nIPEgressBytes=18446744073709551615\nIPEgressPackets=18446744073709551615\nDelegate=no\nCPUAccounting=no\nCPUWeight=[not set]\nStartupCPUWeight=[not set]\nCPUShares=[not set]\nStartupCPUShares=[not set]\nCPUQuotaPerSecUSec=infinity\nIOAccounting=no\nIOWeight=[not set]\nStartupIOWeight=[not set]\nBlockIOAccounting=no\nBlockIOWeight=[not set]\nStartupBlockIOWeight=[not set]\nMemoryAccounting=no\nMemoryLow=0\nMemoryHigh=infinity\nMemoryMax=infinity\nMemorySwapMax=infinity\nMemoryLimit=infinity\nDevicePolicy=auto\nTasksAccounting=yes\nTasksMax=2359\nIPAccounting=no\nUMask=0022\nLimitCPU=infinity\nLimitCPUSoft=infinity\nLimitFSIZE=infinity\nLimitFSIZESoft=infinity\nLimitDATA=infinity\nLimitDATASoft=infinity\nLimitSTACK=infinity\nLimitSTACKSoft=8388608\nLimitCORE=infinity\nLimitCORESoft=0\nLimitRSS=infinity\nLimitRSSSoft=infinity\nLimitNOFILE=1048576\nLimitNOFILESoft=1048576\nLimitAS=infinity\nLimitASSoft=infinity\nLimitNPROC=7864\nLimitNPROCSoft=7864\nLimitMEMLOCK=16777216\nLimitMEMLOCKSoft=16777216\nLimitLOCKS=infinity\nLimitLOCKSSoft=infinity\nLimitSIGPENDING=7864\nLimitSIGPENDINGSoft=7864\nLimitMSGQUEUE=819200\nLimitMSGQUEUESoft=819200\nLimitNICE=0\nLimitNICESoft=0\nLimitRTPRIO=0\nLimitRTPRIOSoft=0\nLimitRTTIME=infinity\nLimitRTTIMESoft=infinity\nOOMScoreAdjust=0\nNice=0\nIOSchedulingClass=0\nIOSchedulingPriority=0\nCPUSchedulingPolicy=0\nCPUSchedulingPriority=0\nTimerSlackNSec=50000\nCPUSchedulingResetOnFork=no\nNonBlocking=no\nStandardInput=null\nStandardInputData=\nStandardOutput=inherit\nStandardError=inherit\nTTYReset=no\nTTYVHangup=no\nTTYVTDisallocate=no\nSyslogPriority=30\nSyslogLevelPrefix=yes\nSyslogLevel=6\nSyslogFacility=3\nLogLevelMax=-1\nSecureBits=0\nCapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend\nAmbientCapabilities=\nDynamicUser=no\nRemoveIPC=no\nMountFlags=\nPrivateTmp=no\nPrivateDevices=no\nProtectKernelTunables=no\nProtectKernelModules=no\nProtectControlGroups=no\nPrivateNetwork=no\nPrivateUsers=no\nProtectHome=no\nProtectSystem=no\nSameProcessGroup=no\nUtmpMode=init\nIgnoreSIGPIPE=yes\nNoNewPrivileges=no\nSystemCallErrorNumber=0\nLockPersonality=no\nRuntimeDirectoryPreserve=no\nRuntimeDirectoryMode=0755\nStateDirectoryMode=0755\nCacheDirectoryMode=0755\nLogsDirectoryMode=0755\nConfigurationDirectoryMode=0755\nMemoryDenyWriteExecute=no\nRestrictRealtime=no\nRestrictNamespaces=no\nMountAPIVFS=no\nKeyringMode=private\nKillMode=control-group\nKillSignal=15\nSendSIGKILL=yes\nSendSIGHUP=no\nId=NetworkManager.service\nNames=NetworkManager.service\nDescription=NetworkManager.service\nLoadState=masked\nActiveState=inactive\nSubState=dead\nFragmentPath=/dev/null\nUnitFileState=bad\nStateChangeTimestampMonotonic=0\nInactiveExitTimestampMonotonic=0\nActiveEnterTimestampMonotonic=0\nActiveExitTimestampMonotonic=0\nInactiveEnterTimestampMonotonic=0\nCanStart=no\nCanStop=yes\nCanReload=no\nCanIsolate=no\nStopWhenUnneeded=no\nRefuseManualStart=no\nRefuseManualStop=no\nAllowIsolate=no\nDefaultDependencies=yes\nOnFailureJobMode=replace\nIgnoreOnIsolate=no\nNeedDaemonReload=no\nJobTimeoutUSec=infinity\nJobRunningTimeoutUSec=infinity\nJobTimeoutAction=none\nConditionResult=no\nAssertResult=no\nConditionTimestampMonotonic=0\nAssertTimestampMonotonic=0\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nSuccessAction=none\nCollectMode=inactive\n", ""] 02:12:59.568331649: calling as root: pidof -x -o '%PPID' NetworkManager 02:12:59.734275860: call returned: [1, "", ""] 02:12:59.734605074: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:12:59.873072231: call returned: [0, "eth0\n", ""] 02:12:59.873404722: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && nic_ipv4_addr eth0 02:13:00.033240369: call returned: [0, "", ""] 02:13:00.033592340: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && nic_ipv6_addr eth0 02:13:00.153118454: call returned: [0, "", ""] But the MAC spoofing panic mode disabled networking # features/step_definitions/mac_spoofing.rb:86 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 Scenario: The MAC address is not leaked when booting Tails # features/mac_spoofing.feature:65 02:13:01.810009309: calling as root: echo 'hello?' 02:13:01.932422747: call returned: [0, "hello?\n", ""] 02:13:02.655112143: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:13:02.655222194: calling as root: nmcli device show eth0 02:13:02.819855220: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:13:02.832878453: calling as root: date -s '@1523726886' 02:13:02.945688032: call returned: [0, "Sat Apr 14 17:28:06 UTC 2018\n", ""] Given a computer # features/step_definitions/common_steps.rb:46 And I capture all network traffic # features/step_definitions/common_steps.rb:96 When I start the computer # features/step_definitions/common_steps.rb:109 02:13:05.367145219: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:13:45.950138089: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:13:45.950579106: calling as root: echo 'hello?' 02:13:46.125428651: call returned: [0, "hello?\n", ""] 02:13:46.125804166: calling as root: service tor status 02:13:46.329548438: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:13:46.329876566: opening file /etc/tor/torrc in 'append' mode 02:13:46.542644869: append complete Then the computer boots Tails # features/step_definitions/common_steps.rb:248 02:13:46.543679886: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:13:46.689017017: call returned: [0, "", ""] And no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 @product Feature: Metadata Anonymization Toolkit As a Tails user I want to be able to remove leaky metadata from documents and media files Scenario: MAT can clean a PNG file # features/mat.feature:6 Given a computer # features/step_definitions/common_steps.rb:46 02:13:49.289010891: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:13:51.462764025: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:14:30.218154238: calling as root: echo 'hello?' 02:14:30.391654494: call returned: [0, "hello?\n", ""] 02:14:30.391996881: calling as root: service tor status 02:14:30.608227935: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:14:30.608538738: opening file /etc/tor/torrc in 'append' mode 02:14:30.793826832: append complete 02:14:31.548363972: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:14:31.548605727: calling as root: loginctl 02:14:31.700914724: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:14:32.701288882: calling as root: loginctl 02:14:32.890764226: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:14:40.040257073: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:14:40.127558391: call returned: [0, "", ""] 02:14:40.127685855: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:14:40.203462460: call returned: [0, "", ""] 02:14:40.203633775: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node759 = dogtail.tree.root.application('gnome-shell') 02:14:41.184740913: execution complete 02:14:41.907207202: executing Python as amnesia: node760 = node759.child('No Notifications', roleName='label') 02:14:41.921051765: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:14:42.865960154: execution complete 02:14:42.866099579: executing Python as amnesia: node761 = node759.child('No Notifications', roleName='label') 02:14:43.756227945: execution complete 02:14:43.798733228: [log] TYPE "#ESC." And I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 02:14:43.846783809: libguestfs: trace: set_autosync true 02:14:43.846868172: libguestfs: trace: set_autosync = 0 02:14:43.849870679: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/fwxIJhhldl" "format:qcow2" 02:14:43.849969531: libguestfs: trace: add_drive = 0 02:14:43.850011387: libguestfs: trace: launch 02:14:43.850242623: libguestfs: trace: get_tmpdir 02:14:43.850292707: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 02:14:43.850377373: libguestfs: trace: get_backend_setting "force_tcg" 02:14:43.850422423: libguestfs: trace: get_backend_setting = NULL (error) 02:14:43.851806281: libguestfs: trace: get_cachedir 02:14:43.852115354: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:14:48.639085860: libguestfs: trace: get_cachedir 02:14:48.639196260: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:14:48.640153424: libguestfs: trace: get_sockdir 02:14:48.640227160: libguestfs: trace: get_sockdir = "/tmp" 02:14:48.640470625: libguestfs: trace: get_backend_setting "gdb" 02:14:48.640518026: libguestfs: trace: get_backend_setting = NULL (error) 02:14:51.979829066: libguestfs: trace: launch = 0 02:14:51.979997382: libguestfs: trace: list_devices 02:14:51.981106334: libguestfs: trace: list_devices = ["/dev/sda"] 02:14:51.981522432: libguestfs: trace: part_disk "/dev/sda" "gpt" 02:14:52.055688269: libguestfs: trace: part_disk = 0 02:14:52.055815269: libguestfs: trace: part_set_name "/dev/sda" 1 "fwxIJhhldl" 02:14:52.101036361: libguestfs: trace: part_set_name = 0 02:14:52.101157648: libguestfs: trace: list_partitions 02:14:52.102407699: libguestfs: trace: list_partitions = ["/dev/sda1"] 02:14:52.102500420: libguestfs: trace: mkfs "ext4" "/dev/sda1" 02:14:52.129792515: libguestfs: trace: mkfs = 0 02:14:52.129906539: libguestfs: trace: close 02:14:52.129966592: libguestfs: trace: internal_autosync 02:14:52.133589171: libguestfs: trace: internal_autosync = 0 02:14:52.204716999: libguestfs: trace: set_autosync true 02:14:52.204814366: libguestfs: trace: set_autosync = 0 02:14:52.208779885: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/fwxIJhhldl" "format:qcow2" 02:14:52.208850697: libguestfs: trace: add_drive = 0 02:14:52.209181017: libguestfs: trace: launch 02:14:52.209216653: libguestfs: trace: get_tmpdir 02:14:52.209250063: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 02:14:52.209326606: libguestfs: trace: get_backend_setting "force_tcg" 02:14:52.209398782: libguestfs: trace: get_backend_setting = NULL (error) 02:14:52.209729581: libguestfs: trace: get_cachedir 02:14:52.209782830: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:14:52.255148633: libguestfs: trace: get_cachedir 02:14:52.255249181: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:14:52.255359241: libguestfs: trace: get_sockdir 02:14:52.255792236: libguestfs: trace: get_sockdir = "/tmp" 02:14:52.255906907: libguestfs: trace: get_backend_setting "gdb" 02:14:52.255953336: libguestfs: trace: get_backend_setting = NULL (error) 02:14:55.541337323: libguestfs: trace: launch = 0 02:14:55.541586064: libguestfs: trace: list_devices 02:14:55.551337020: libguestfs: trace: list_devices = ["/dev/sda"] 02:14:55.551693994: libguestfs: trace: list_partitions 02:14:55.552276877: libguestfs: trace: list_partitions = ["/dev/sda1"] 02:14:55.552364970: libguestfs: trace: mount "/dev/sda1" "/" 02:14:55.558128224: libguestfs: trace: mount = 0 02:14:55.558259115: libguestfs: trace: upload "/var/lib/jenkins/workspace/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/features/misc_files/sample.png" "/sample.png" 02:14:55.561144046: libguestfs: trace: upload = 0 02:14:55.561221197: libguestfs: trace: close 02:14:55.561284957: libguestfs: trace: internal_autosync 02:14:55.571856095: libguestfs: trace: internal_autosync = 0 02:14:55.704512295: calling as root: test -b /dev/sda 02:14:55.828598630: call returned: [1, "", ""] 02:14:56.840758878: calling as root: test -b /dev/sda 02:14:56.996655568: call returned: [1, "", ""] 02:14:58.009070173: calling as root: test -b /dev/sda 02:14:58.201987994: call returned: [0, "", ""] 02:14:58.202151417: calling as root: mktemp -d 02:14:58.379212416: call returned: [0, "/tmp/tmp.g9NTmkC1Kr\n", ""] 02:14:58.395616862: calling as root: mount /dev/sda1 /tmp/tmp.g9NTmkC1Kr 02:14:58.850224921: call returned: [0, "", ""] 02:14:58.850356189: calling as root: chmod -R a+rX '/tmp/tmp.g9NTmkC1Kr' 02:14:59.070365819: call returned: [0, "", ""] And I plug and mount a USB drive containing a sample PNG # features/step_definitions/checks.rb:118 02:14:59.072126222: calling as amnesia: cp "/tmp/tmp.g9NTmkC1Kr/sample.png" "/home/amnesia/sample.png" 02:14:59.201541077: call returned: [0, "", ""] 02:14:59.201681486: calling as amnesia: grep --quiet --fixed-strings --text 'Created with GIMP' '/home/amnesia/sample.png' 02:14:59.282478427: call returned: [0, "", ""] 02:14:59.282588739: calling as amnesia: mat --check '/home/amnesia/sample.png' 02:14:59.999039756: call returned: [0, "[+] /home/amnesia/sample.png is not clean\n", ""] 02:14:59.999206115: calling as amnesia: mat '/home/amnesia/sample.png' 02:15:01.608533732: call returned: [0, "[*] Cleaning /home/amnesia/sample.png\n[+] /home/amnesia/sample.png cleaned!\n", ""] 02:15:01.608725044: calling as amnesia: mat --check '/home/amnesia/sample.png' 02:15:02.194998094: call returned: [0, "[+] /home/amnesia/sample.png is clean\n", ""] 02:15:02.195209083: calling as amnesia: grep --quiet --fixed-strings --text 'Created with GIMP' '/home/amnesia/sample.png' 02:15:02.266959124: call returned: [1, "", ""] 02:15:02.267113803: calling as root: rm '/home/amnesia/sample.png' 02:15:02.447548353: call returned: [0, "", ""] Then MAT can clean some sample PNG file # features/step_definitions/checks.rb:122 @product Feature: Networking Scenario: No initial network # features/networking.feature:4 02:15:06.395633133: calling as root: echo 'hello?' 02:15:06.893843793: call returned: [0, "hello?\n", ""] 02:15:07.618241971: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:15:07.618364961: calling as root: nmcli device show eth0 02:15:07.862034727: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:15:07.870316404: calling as root: date -s '@1523727011' 02:15:08.065162056: call returned: [0, "Sat Apr 14 17:30:11 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And I wait between 30 and 60 seconds # features/step_definitions/common_steps.rb:843 Slept for 53 seconds Then the Tor Status icon tells me that Tor is not usable # features/step_definitions/checks.rb:231 When the network is plugged # features/step_definitions/common_steps.rb:79 02:16:01.210768663: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:01.557482060: call returned: [1, "", ""] 02:16:02.557825181: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:02.801142160: call returned: [1, "", ""] 02:16:03.801490643: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:04.065536510: call returned: [3, "", ""] 02:16:05.065903003: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:05.265641993: call returned: [3, "", ""] 02:16:06.265901348: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:06.560588122: call returned: [0, "", ""] 02:16:06.560831562: calling as root: test -e /run/tordate/done 02:16:06.739922600: call returned: [0, "", ""] 02:16:06.740207990: calling as root: test -e /run/htpdate/success 02:16:06.969817166: call returned: [1, "", ""] 02:16:07.970121120: calling as root: test -e /run/htpdate/success 02:16:08.121397592: call returned: [1, "", ""] 02:16:09.121668696: calling as root: test -e /run/htpdate/success 02:16:09.267525962: call returned: [0, "", ""] 02:16:09.267684251: calling as root: systemctl is-system-running 02:16:09.432837992: call returned: [0, "running\n", ""] Then Tor is ready # features/step_definitions/common_steps.rb:347 And the Tor Status icon tells me that Tor is usable # features/step_definitions/checks.rb:231 02:16:09.559369840: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node762 = dogtail.tree.root.application('gnome-shell') 02:16:10.354535918: execution complete 02:16:11.077488394: executing Python as amnesia: node763 = node762.child('No Notifications', roleName='label') 02:16:11.091510899: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:16:12.272710955: execution complete 02:16:12.272926222: executing Python as amnesia: node764 = node762.child('No Notifications', roleName='label') 02:16:13.337712896: execution complete And all notifications have disappeared # features/step_definitions/common_steps.rb:441 02:16:13.382813140: calling as root: test -e /run/tordate/done 02:16:13.392920355: [log] TYPE "#ESC." 02:16:13.585034613: call returned: [0, "", ""] 02:16:13.585279377: calling as root: test -e /run/htpdate/success 02:16:13.765559806: call returned: [0, "", ""] And the time has synced # features/step_definitions/common_steps.rb:366 Scenario: The Tails Greeter "disable all networking" option disables networking within Tails # features/networking.feature:14 02:16:15.935461712: calling as root: echo 'hello?' 02:16:16.056312469: call returned: [0, "hello?\n", ""] 02:16:16.780249984: calling as root: nmcli device show eth0 02:16:16.793528460: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:16:16.952050851: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:16:16.961194802: calling as root: date -s '@1523727081' 02:16:17.076570970: call returned: [0, "Sat Apr 14 17:31:21 UTC 2018\n", ""] Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 02:16:17.840365971: [log] CLICK on L(244,615)@S(0)[0,0 1024x768] 02:16:20.223378058: [log] CLICK on L(399,338)@S(0)[0,0 1024x768] 02:16:20.980269485: [log] CLICK on L(392,456)@S(0)[0,0 1024x768] [log] CLICK on L(685,196)@S(0)[0,0 1024x768] And I disable all networking in the Tails Greeter # features/step_definitions/checks.rb:224 02:16:22.134354726: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 02:16:22.134564698: calling as root: loginctl 02:16:22.269189121: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:16:23.269556767: calling as root: loginctl 02:16:23.474432020: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 8 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:16:30.943654748: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:16:31.023276150: call returned: [0, "", ""] 02:16:31.023406099: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:16:31.098799839: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 02:16:31.099590354: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:16:31.266232306: call returned: [0, "", ""] Then no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 02:16:31.330671106: Hotplugging a 'virtio' network device When I hotplug a network device # features/step_definitions/mac_spoofing.rb:102 And I wait 10 seconds # features/step_definitions/common_steps.rb:843 Slept for 10 seconds 02:16:41.447704212: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 02:16:41.599379351: call returned: [0, "", ""] Then no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 #11463 @fragile Scenario: The "Tor is ready" notification is shown when Tor has bootstrapped # features/networking.feature:25 02:16:43.788997374: calling as root: echo 'hello?' 02:16:44.010752332: call returned: [0, "hello?\n", ""] 02:16:44.734613892: calling as root: nmcli device show eth0 02:16:44.748999963: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:16:45.028683639: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:16:45.041052649: calling as root: date -s '@1523727109' 02:16:45.206176526: call returned: [0, "Sat Apr 14 17:31:49 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:16:45.228242395: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:45.495549793: call returned: [1, "", ""] 02:16:46.495915818: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:46.680026840: call returned: [1, "", ""] 02:16:47.680379239: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:47.822235329: call returned: [1, "", ""] 02:16:48.822487589: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:49.013335812: call returned: [1, "", ""] 02:16:50.013609579: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:50.193437549: call returned: [3, "", ""] 02:16:51.193691932: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:51.397504068: call returned: [3, "", ""] 02:16:52.397814775: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:16:52.572482719: call returned: [0, "", ""] 02:16:52.572689161: calling as root: test -e /run/tordate/done 02:16:52.736494224: call returned: [1, "", ""] 02:16:53.736739021: calling as root: test -e /run/tordate/done 02:16:54.077936627: call returned: [0, "", ""] 02:16:54.078167282: calling as root: test -e /run/htpdate/success 02:16:54.286336571: call returned: [1, "", ""] 02:16:55.286526810: calling as root: test -e /run/htpdate/success 02:16:55.443601444: call returned: [1, "", ""] 02:16:56.443948370: calling as root: test -e /run/htpdate/success 02:16:56.581928529: call returned: [0, "", ""] 02:16:56.582217062: calling as root: systemctl is-system-running 02:16:56.740983385: call returned: [0, "running\n", ""] When Tor is ready # features/step_definitions/common_steps.rb:347 02:16:56.742487787: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node765 = dogtail.tree.root.application('gnome-shell') 02:16:57.543168581: execution complete 02:16:57.543341239: executing Python as amnesia: node766 = node765.child('No Notifications', roleName='label', showingOnly=False) 02:16:57.877522726: execution complete 02:16:57.877648021: executing Python as amnesia: node767 = node766.parent 02:16:57.903388453: execution complete 02:16:57.903524945: executing Python as amnesia: node768 = node767.parent 02:16:57.925591391: execution complete 02:16:57.925785182: executing Python as amnesia: node769 = node768.child('Tor is ready', roleName='label', showingOnly=False) 02:16:57.979437863: execution complete Then I see the "Tor is ready" notification after at most 30 seconds # features/step_definitions/common_steps.rb:336 @product Feature: Tails persistence As a Tails user I want to use Tails persistence feature Scenario: Booting Tails from a USB drive with a disabled persistent partition # features/persistence.feature:6 02:17:04.830507390: calling as root: echo 'hello?' 02:17:05.155489636: call returned: [0, "hello?\n", ""] 02:17:05.880796293: calling as root: nmcli device show eth0 02:17:05.888627479: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:17:06.133610883: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:17:06.141302045: calling as root: date -s '@1523727130' 02:17:06.297806214: call returned: [0, "Sat Apr 14 17:32:10 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 02:17:07.142004577: calling as root: loginctl 02:17:07.153832719: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:17:07.313772007: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:17:08.314174811: calling as root: loginctl 02:17:08.527781974: call returned: [0, " SESSION UID USER SEAT TTY \n 72 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:17:17.340646741: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:17:17.436812236: call returned: [0, "", ""] 02:17:17.437271923: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:17:17.566059620: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:257 02:17:17.567095558: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:17:17.767022672: call returned: [0, "8:1\n", ""] 02:17:17.767126039: calling as root: readlink -f /dev/block/'8:1' 02:17:17.963862413: call returned: [0, "/dev/sda1\n", ""] 02:17:17.964001659: calling as root: udevadm info --query=property --name='/dev/sda1' 02:17:18.258448036: call returned: [0, "DEVLINKS=/dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-partlabel/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-label/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5656420\n", ""] 02:17:18.258719861: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:17:18.464070745: call returned: [0, "8:1\n", ""] 02:17:18.464242802: calling as root: readlink -f /dev/block/'8:1' 02:17:18.607906695: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "__internal" # features/step_definitions/usb.rb:390 02:17:18.640487490: calling as root: test -e '/var/lib/live/config/tails.persistence' 02:17:19.072826867: call returned: [1, "", ""] And persistence is disabled # features/step_definitions/usb.rb:367 02:17:19.088196986: calling as root: udisksctl info --block-device '/dev/sda2' 02:17:19.507153199: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda2:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda2\n DeviceNumber: 2050\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: by-uuid-349f7782-5294-47bb-8282-afd50759545d\n IdLabel: \n IdType: crypto_LUKS\n IdUUID: 349f7782-5294-47bb-8282-afd50759545d\n IdUsage: crypto\n IdVersion: 1\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda2\n ReadOnly: false\n Size: 3251617280\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part2\n /dev/disk/by-partlabel/TailsData\n /dev/disk/by-partuuid/660e475e-14dc-4d30-94f2-79eb6f1253e0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part2\n /dev/disk/by-uuid/349f7782-5294-47bb-8282-afd50759545d\n org.freedesktop.UDisks2.Encrypted:\n org.freedesktop.UDisks2.Partition:\n Flags: 0\n IsContained: false\n IsContainer: false\n Name: TailsData\n Number: 2\n Offset: 4298113024\n Size: 3251617280\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: 0fc63daf-8483-4772-8e79-3d69d8477de4\n UUID: 660e475e-14dc-4d30-94f2-79eb6f1253e0\n", ""] 02:17:19.507340242: calling as root: ls -1 --hide 'control' /dev/mapper/ 02:17:19.629336950: call returned: [0, "", ""] 02:17:19.629464102: calling as root: echo asdf | cryptsetup luksOpen /dev/sda2 __internal 02:17:21.983273384: call returned: [0, "", ""] 02:17:21.983425315: calling as root: udisksctl info --block-device '/dev/mapper/__internal' 02:17:22.269271915: call returned: [0, "/org/freedesktop/UDisks2/block_devices/dm_2d0:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sda2'\n Device: /dev/dm-0\n DeviceNumber: 65024\n Drive: '/'\n HintAuto: false\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: false\n HintSymbolicIconName: \n HintSystem: true\n Id: by-id-dm-name-__internal\n IdLabel: TailsData\n IdType: ext4\n IdUUID: c316b000-5746-4011-b7e1-0fbd03494b2f\n IdUsage: filesystem\n IdVersion: 1.0\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/mapper/__internal\n ReadOnly: false\n Size: 3249520128\n Symlinks: /dev/disk/by-id/dm-name-__internal\n /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-349f7782529447bb8282afd50759545d-__internal\n /dev/disk/by-label/TailsData\n /dev/disk/by-uuid/c316b000-5746-4011-b7e1-0fbd03494b2f\n /dev/mapper/__internal\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n", ""] 02:17:22.269554657: calling as root: mkdir -p /mnt/__internal 02:17:22.393082980: call returned: [0, "", ""] 02:17:22.393192863: calling as root: mount '/dev/mapper/__internal' /mnt/__internal 02:17:22.910356455: call returned: [0, "", ""] 02:17:22.910506470: calling as root: umount /mnt/__internal 02:17:23.131757541: call returned: [0, "", ""] 02:17:23.131878389: calling as root: sync 02:17:23.280543462: call returned: [0, "", ""] 02:17:23.280678688: calling as root: cryptsetup luksClose __internal 02:17:23.472467019: call returned: [0, "", ""] But a Tails persistence partition exists on USB drive "__internal" # features/step_definitions/usb.rb:283 Scenario: Booting Tails from a USB drive with an enabled persistent partition and reconfiguring it # features/persistence.feature:13 02:17:29.431156601: calling as root: echo 'hello?' 02:17:29.837704047: call returned: [0, "hello?\n", ""] 02:17:30.561658536: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:17:30.561766375: calling as root: nmcli device show eth0 02:17:30.918905747: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:17:30.927280655: calling as root: date -s '@1523727155' 02:17:31.117788042: call returned: [0, "Sat Apr 14 17:32:35 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 02:17:31.118456597: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:17:31.312191837: call returned: [0, "8:1\n", ""] 02:17:31.312295506: calling as root: readlink -f /dev/block/'8:1' 02:17:31.517970788: call returned: [0, "/dev/sda1\n", ""] 02:17:31.518076717: calling as root: udevadm info --query=property --name='/dev/sda1' 02:17:31.787805907: call returned: [0, "DEVLINKS=/dev/disk/by-label/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b /dev/disk/by-partlabel/Tails\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5656420\n", ""] 02:17:31.788122440: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:17:32.045846019: call returned: [0, "8:1\n", ""] 02:17:32.045949049: calling as root: readlink -f /dev/block/'8:1' 02:17:32.305073115: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "__internal" # features/step_definitions/usb.rb:390 02:17:32.336866120: calling as root: test -e '/var/lib/live/config/tails.persistence' 02:17:32.529542621: call returned: [0, "", ""] 02:17:32.529702280: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 02:17:32.770627719: call returned: [0, "", ""] 02:17:32.770850781: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:17:33.659992473: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:17:33.660248187: calling as root: mount 02:17:34.040497319: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=323d2154b949a9f2,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11046)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] And all persistence presets are enabled # features/step_definitions/usb.rb:337 02:17:34.041427426: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:17:34.915649414: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:17:34.915879044: calling as root: ls -1 -d /live/persistence/*_unlocked/ 02:17:35.126689308: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 02:17:35.126816465: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 02:17:35.349190816: call returned: [0, "", ""] 02:17:35.349386128: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 02:17:35.629504703: call returned: [0, "700\n", ""] 02:17:35.629645161: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 02:17:35.846882503: call returned: [0, "amnesia\n", ""] 02:17:35.847193907: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 02:17:36.057555538: call returned: [0, "", ""] 02:17:36.057729029: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 02:17:36.298200554: call returned: [0, "700\n", ""] 02:17:36.298356454: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 02:17:36.530122625: call returned: [0, "amnesia\n", ""] 02:17:36.530290480: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 02:17:36.740042807: call returned: [0, "", ""] 02:17:36.740186122: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 02:17:36.972000222: call returned: [0, "700\n", ""] 02:17:36.972136034: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 02:17:37.192711952: call returned: [0, "amnesia\n", ""] 02:17:37.192926812: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 02:17:37.409850919: call returned: [0, "", ""] 02:17:37.409996859: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 02:17:37.645822773: call returned: [0, "700\n", ""] 02:17:37.645943819: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 02:17:37.902690279: call returned: [0, "amnesia\n", ""] 02:17:37.902853524: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 02:17:38.107835489: call returned: [0, "", ""] 02:17:38.107957096: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 02:17:38.310705187: call returned: [0, "700\n", ""] 02:17:38.310820824: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 02:17:38.535062467: call returned: [0, "amnesia\n", ""] 02:17:38.535208405: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 02:17:38.736555986: call returned: [0, "", ""] 02:17:38.736688379: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 02:17:38.953883362: call returned: [0, "700\n", ""] 02:17:38.953997607: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 02:17:39.101555525: call returned: [0, "amnesia\n", ""] 02:17:39.101740294: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 02:17:39.323167101: call returned: [0, "", ""] 02:17:39.323292891: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 02:17:39.542959873: call returned: [0, "755\n", ""] 02:17:39.543098706: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 02:17:39.818255702: call returned: [0, "root\n", ""] 02:17:39.818415625: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 02:17:40.042834542: call returned: [0, "", ""] 02:17:40.042987976: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 02:17:40.290655194: call returned: [0, "700\n", ""] 02:17:40.290779317: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 02:17:40.606660986: call returned: [0, "amnesia\n", ""] 02:17:40.606919333: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 02:17:40.963772085: call returned: [0, "", ""] 02:17:40.964131600: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 02:17:41.241824688: call returned: [0, "755\n", ""] 02:17:41.241942791: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 02:17:41.506056012: call returned: [0, "root\n", ""] 02:17:41.506194650: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 02:17:41.708209408: call returned: [0, "", ""] 02:17:41.708360930: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 02:17:41.952047532: call returned: [0, "700\n", ""] 02:17:41.952168256: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 02:17:42.196990731: call returned: [0, "amnesia\n", ""] 02:17:42.197131306: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 02:17:42.418717727: call returned: [0, "", ""] 02:17:42.418898529: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 02:17:42.660382940: call returned: [0, "755\n", ""] 02:17:42.660516094: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 02:17:42.903377280: call returned: [0, "root\n", ""] 02:17:42.903580350: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 02:17:43.106979535: call returned: [0, "", ""] 02:17:43.107105651: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 02:17:43.304791025: call returned: [0, "755\n", ""] 02:17:43.304915594: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 02:17:43.511645376: call returned: [0, "root\n", ""] 02:17:43.511783184: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 02:17:43.752708455: call returned: [0, "", ""] 02:17:43.752847188: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 02:17:44.017703424: call returned: [0, "700\n", ""] 02:17:44.017835533: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 02:17:44.217656072: call returned: [0, "amnesia\n", ""] And all persistent directories have safe access rights # features/step_definitions/usb.rb:472 02:17:44.275755512: calling as amnesia: xdotool key Super 02:17:44.451245373: call returned: [0, "", ""] 02:17:46.337917371: [log] TYPE "Configure persistent volume" 02:17:52.172779001: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE " " [log] CLICK on L(517,708)@S(0)[0,0 1024x768] 02:17:52.234999342: [log] ( Alt ) TYPE "#F4." When I disable the first persistence preset # features/step_definitions/usb.rb:185 02:17:52.235752093: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 02:18:02.508747336: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:18:49.422344348: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:18:49.422717528: calling as root: echo 'hello?' 02:18:49.604617347: call returned: [0, "hello?\n", ""] 02:18:49.604908901: calling as root: service tor status 02:18:49.817348530: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:18:49.818454115: opening file /etc/tor/torrc in 'append' mode 02:18:49.996886791: append complete 02:18:50.752065022: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 02:18:50.958264481: [log] TYPE "asdf#ENTER." 02:18:55.805904583: calling as root: loginctl 02:18:55.813901411: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:18:55.937776956: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:18:56.938169054: calling as root: loginctl 02:18:57.156811633: call returned: [0, " SESSION UID USER SEAT TTY \n 5 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:19:05.017150908: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:19:05.104233298: call returned: [0, "", ""] 02:19:05.104350611: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:19:05.197514455: call returned: [0, "", ""] 02:19:05.197723788: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node770 = dogtail.tree.root.application('gnome-shell') 02:19:06.211362112: execution complete 02:19:06.934839032: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:19:06.935028922: executing Python as amnesia: node771 = node770.child('No Notifications', roleName='label') 02:19:07.879806539: execution complete 02:19:07.879921371: executing Python as amnesia: node772 = node770.child('No Notifications', roleName='label') 02:19:08.696632234: execution complete 02:19:08.738092115: [log] TYPE "#ESC." And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 02:19:08.739276869: calling as root: test -e '/var/lib/live/config/tails.persistence' 02:19:08.980501083: call returned: [0, "", ""] 02:19:08.980619271: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 02:19:09.218646379: call returned: [0, "", ""] 02:19:09.218824481: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:19:10.457160920: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:19:10.457441091: calling as root: mount 02:19:10.865655202: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=2c6d1bddcb30da89,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13446)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ntmpfs on /var/tmp type tmpfs (rw)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] Then all persistence presets but the first one are enabled # features/step_definitions/usb.rb:337 Scenario: Writing files to a read/write-enabled persistent partition # features/persistence.feature:23 02:19:14.315780384: calling as root: echo 'hello?' 02:19:14.563108821: call returned: [0, "hello?\n", ""] 02:19:15.287565700: calling as root: nmcli device show eth0 02:19:15.302792295: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:19:15.581512934: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:19:15.591641005: calling as root: date -s '@1523727259' 02:19:15.815562216: call returned: [0, "Sat Apr 14 17:34:19 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:19:15.838175890: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:16.206862580: call returned: [1, "", ""] 02:19:17.207067671: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:17.385572947: call returned: [1, "", ""] 02:19:18.385921127: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:18.594908680: call returned: [3, "", ""] 02:19:19.595156468: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:19.852426474: call returned: [0, "", ""] 02:19:19.852683470: calling as root: test -e /run/tordate/done 02:19:20.121314764: call returned: [0, "", ""] 02:19:20.121597231: calling as root: test -e /run/htpdate/success 02:19:20.417488515: call returned: [1, "", ""] 02:19:21.417820550: calling as root: test -e /run/htpdate/success 02:19:21.580304108: call returned: [1, "", ""] 02:19:22.580542839: calling as root: test -e /run/htpdate/success 02:19:22.766342392: call returned: [0, "", ""] 02:19:22.766587462: calling as root: systemctl is-system-running 02:19:22.903718084: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:19:22.904555682: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:19:23.767790527: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:19:23.768069993: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:19:24.624209571: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] And I take note of which persistence presets are available # features/step_definitions/usb.rb:532 02:19:24.624917717: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:19:25.518826734: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:19:25.519068574: calling as root: stat -c %U /home/amnesia/Persistent 02:19:25.793639080: call returned: [0, "amnesia\n", ""] 02:19:25.793744910: calling as amnesia: touch /home/amnesia/Persistent/XXX_persist 02:19:25.944027508: call returned: [0, "", ""] 02:19:25.944148365: calling as root: stat -c %U /home/amnesia/.gnupg 02:19:26.083984060: call returned: [0, "amnesia\n", ""] 02:19:26.084099820: calling as amnesia: touch /home/amnesia/.gnupg/XXX_persist 02:19:26.197648566: call returned: [0, "", ""] 02:19:26.197759783: calling as root: stat -c %U /home/amnesia/.ssh 02:19:26.363412873: call returned: [0, "amnesia\n", ""] 02:19:26.363513467: calling as amnesia: touch /home/amnesia/.ssh/XXX_persist 02:19:26.466317437: call returned: [0, "", ""] 02:19:26.466443020: calling as root: stat -c %U /home/amnesia/.purple 02:19:26.653618458: call returned: [0, "amnesia\n", ""] 02:19:26.653716797: calling as amnesia: touch /home/amnesia/.purple/XXX_persist 02:19:26.751976339: call returned: [0, "", ""] 02:19:26.752088604: calling as root: stat -c %U /home/amnesia/.thunderbird 02:19:26.914151453: call returned: [0, "amnesia\n", ""] 02:19:26.914262321: calling as amnesia: touch /home/amnesia/.thunderbird/XXX_persist 02:19:27.010584128: call returned: [0, "", ""] 02:19:27.010704145: calling as root: stat -c %U /home/amnesia/.gnome2/keyrings 02:19:27.208824970: call returned: [0, "amnesia\n", ""] 02:19:27.208923990: calling as amnesia: touch /home/amnesia/.gnome2/keyrings/XXX_persist 02:19:27.323272953: call returned: [0, "", ""] 02:19:27.323386172: calling as root: stat -c %U /etc/NetworkManager/system-connections 02:19:27.520901114: call returned: [0, "root\n", ""] 02:19:27.521025987: calling as root: touch /etc/NetworkManager/system-connections/XXX_persist 02:19:27.716592994: call returned: [0, "", ""] 02:19:27.716718465: calling as root: stat -c %U /home/amnesia/.mozilla/firefox/bookmarks 02:19:27.851733295: call returned: [0, "amnesia\n", ""] 02:19:27.851856352: calling as amnesia: touch /home/amnesia/.mozilla/firefox/bookmarks/XXX_persist 02:19:27.960094756: call returned: [0, "", ""] 02:19:27.960202159: calling as root: stat -c %U /etc/cups 02:19:28.131308564: call returned: [0, "root\n", ""] 02:19:28.131403593: calling as root: touch /etc/cups/XXX_persist 02:19:28.349720099: call returned: [0, "", ""] 02:19:28.349868227: calling as root: stat -c %U /home/amnesia/.electrum 02:19:28.593485788: call returned: [0, "amnesia\n", ""] 02:19:28.593611557: calling as amnesia: touch /home/amnesia/.electrum/XXX_persist 02:19:28.721679335: call returned: [0, "", ""] 02:19:28.721786439: calling as root: stat -c %U /var/cache/apt/archives 02:19:28.901223029: call returned: [0, "root\n", ""] 02:19:28.901321757: calling as root: touch /var/cache/apt/archives/XXX_persist 02:19:29.073935221: call returned: [0, "", ""] 02:19:29.074045987: calling as root: stat -c %U /var/lib/apt/lists 02:19:29.269117040: call returned: [0, "root\n", ""] 02:19:29.269222941: calling as root: touch /var/lib/apt/lists/XXX_persist 02:19:29.507833310: call returned: [0, "", ""] When I write some files expected to persist # features/step_definitions/usb.rb:502 02:19:29.508560025: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 02:19:36.717090208: libguestfs: trace: set_autosync true 02:19:36.717164669: libguestfs: trace: set_autosync = 0 02:19:36.717202000: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/__internal" "readonly:true" "format:qcow2" 02:19:36.717270482: libguestfs: trace: get_tmpdir 02:19:36.717299806: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 02:19:36.717364436: libguestfs: trace: disk_create "/tmp/TailsToaster/libguestfswRlVaH/overlay1" "qcow2" -1 "backingfile:/tmp/TailsToaster/TailsToasterStorage/__internal" "backingformat:qcow2" 02:19:36.751768683: libguestfs: trace: disk_create = 0 02:19:36.752030297: libguestfs: trace: add_drive = 0 02:19:36.752071286: libguestfs: trace: launch 02:19:36.752118413: libguestfs: trace: get_backend_setting "force_tcg" 02:19:36.752256678: libguestfs: trace: get_backend_setting = NULL (error) 02:19:36.752337840: libguestfs: trace: get_cachedir 02:19:36.752390479: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:19:36.789131125: libguestfs: trace: get_cachedir 02:19:36.789234056: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 02:19:36.789339649: libguestfs: trace: get_sockdir 02:19:36.789379830: libguestfs: trace: get_sockdir = "/tmp" 02:19:36.789600539: libguestfs: trace: get_backend_setting "gdb" 02:19:36.789644315: libguestfs: trace: get_backend_setting = NULL (error) 02:19:39.949385400: libguestfs: trace: launch = 0 02:19:39.949535051: libguestfs: trace: list_devices 02:19:39.950730654: libguestfs: trace: list_devices = ["/dev/sda"] 02:19:39.952120658: libguestfs: trace: part_list "/dev/sda" 02:19:40.002381372: libguestfs: trace: part_list = 02:19:40.004002921: libguestfs: trace: blkid "/dev/sda1" 02:19:40.021695056: libguestfs: trace: blkid = ["DEVNAME", "/dev/sda1", "LABEL", "Tails", "UUID", "47C5-C84F", "VERSION", "FAT32", "TYPE", "vfat", "USAGE", "filesystem", "MINIMUM_IO_SIZE", "512", "PHYSICAL_SECTOR_SIZE", "512", "LOGICAL_SECTOR_SIZE", "512", "PART_ENTRY_SCHEME", "gpt", "PART_ENTRY_NAME", "Tails", "PART_ENTRY_UUID", "6153d78f-8530-421a-b621-63996ed3ee0b", "PART_ENTRY_TYPE", "c12a7328-f81f-11d2-ba4b-00a0c93ec93b", "PART_ENTRY_FLAGS", "0x5", "PART_ENTRY_NUMBER", "1", "PART_ENTRY_OFFSET", "2048", "PART_ENTRY_SIZE", "8388608", "PART_ENTRY_DISK", "8:0"] 02:19:40.021865099: libguestfs: trace: blkid "/dev/sda2" 02:19:40.025626600: libguestfs: trace: blkid = ["DEVNAME", "/dev/sda2", "UUID", "349f7782-5294-47bb-8282-afd50759545d", "VERSION", "1", "TYPE", "crypto_LUKS", "USAGE", "crypto", "MINIMUM_IO_SIZE", "512", "PHYSICAL_SECTOR_SIZE", "512", "LOGICAL_SECTOR_SIZE", "512", "PART_ENTRY_SCHEME", "gpt", "PART_ENTRY_NAME", "TailsData", "PART_ENTRY_UUID", "660e475e-14dc-4d30-94f2-79eb6f1253e0", "PART_ENTRY_TYPE", "0fc63daf-8483-4772-8e79-3d69d8477de4", "PART_ENTRY_NUMBER", "2", "PART_ENTRY_OFFSET", "8394752", "PART_ENTRY_SIZE", "6350815", "PART_ENTRY_DISK", "8:0"] 02:19:40.025839540: libguestfs: trace: luks_open "/dev/sda2" "***" "sda2_unlocked" 02:19:41.969982971: libguestfs: trace: luks_open = 0 02:19:41.970114697: libguestfs: trace: mount "/dev/mapper/sda2_unlocked" "/" 02:19:41.982137100: libguestfs: trace: mount = 0 02:19:41.982935038: libguestfs: trace: exists "/Persistent/XXX_persist" 02:19:41.983860342: libguestfs: trace: exists = 1 02:19:41.983962759: libguestfs: trace: exists "/Persistent/XXX_gone" 02:19:41.984325603: libguestfs: trace: exists = 0 02:19:41.984680568: libguestfs: trace: exists "/gnupg/XXX_persist" 02:19:41.985359866: libguestfs: trace: exists = 1 02:19:41.985436455: libguestfs: trace: exists "/gnupg/XXX_gone" 02:19:41.986128077: libguestfs: trace: exists = 0 02:19:41.986208191: libguestfs: trace: exists "/openssh-client/XXX_persist" 02:19:41.986709663: libguestfs: trace: exists = 1 02:19:41.987103028: libguestfs: trace: exists "/openssh-client/XXX_gone" 02:19:41.987486654: libguestfs: trace: exists = 0 02:19:41.987566700: libguestfs: trace: exists "/pidgin/XXX_persist" 02:19:41.988469213: libguestfs: trace: exists = 1 02:19:41.988537046: libguestfs: trace: exists "/pidgin/XXX_gone" 02:19:41.988943024: libguestfs: trace: exists = 0 02:19:41.989301033: libguestfs: trace: exists "/thunderbird/XXX_persist" 02:19:41.989807487: libguestfs: trace: exists = 1 02:19:41.989878308: libguestfs: trace: exists "/thunderbird/XXX_gone" 02:19:41.990148138: libguestfs: trace: exists = 0 02:19:41.990504765: libguestfs: trace: exists "/gnome-keyrings/XXX_persist" 02:19:41.991126163: libguestfs: trace: exists = 1 02:19:41.991197787: libguestfs: trace: exists "/gnome-keyrings/XXX_gone" 02:19:41.991910232: libguestfs: trace: exists = 0 02:19:41.991979573: libguestfs: trace: exists "/nm-system-connections/XXX_persist" 02:19:41.992408714: libguestfs: trace: exists = 1 02:19:41.992740202: libguestfs: trace: exists "/nm-system-connections/XXX_gone" 02:19:41.993082669: libguestfs: trace: exists = 0 02:19:41.993164436: libguestfs: trace: exists "/bookmarks/XXX_persist" 02:19:41.994141818: libguestfs: trace: exists = 1 02:19:41.994213161: libguestfs: trace: exists "/bookmarks/XXX_gone" 02:19:41.994571529: libguestfs: trace: exists = 0 02:19:41.994896784: libguestfs: trace: exists "/cups-configuration/XXX_persist" 02:19:41.995399177: libguestfs: trace: exists = 1 02:19:41.995476221: libguestfs: trace: exists "/cups-configuration/XXX_gone" 02:19:41.995855740: libguestfs: trace: exists = 0 02:19:41.996207757: libguestfs: trace: exists "/electrum/XXX_persist" 02:19:41.996802302: libguestfs: trace: exists = 1 02:19:41.996866047: libguestfs: trace: exists "/electrum/XXX_gone" 02:19:41.997557742: libguestfs: trace: exists = 0 02:19:41.997647406: libguestfs: trace: exists "/apt/cache/XXX_persist" 02:19:41.998275060: libguestfs: trace: exists = 1 02:19:41.998610868: libguestfs: trace: exists "/apt/cache/XXX_gone" 02:19:41.999011161: libguestfs: trace: exists = 0 02:19:41.999079785: libguestfs: trace: exists "/apt/lists/XXX_persist" 02:19:41.999475650: libguestfs: trace: exists = 1 02:19:41.999749956: libguestfs: trace: exists "/apt/lists/XXX_gone" 02:19:42.000082674: libguestfs: trace: exists = 0 02:19:42.000144572: libguestfs: trace: umount "/" 02:19:42.002852815: libguestfs: trace: umount = 0 02:19:42.002928895: libguestfs: trace: luks_close "/dev/mapper/sda2_unlocked" 02:19:42.016169302: libguestfs: trace: luks_close = 0 02:19:42.016506126: libguestfs: trace: close 02:19:42.016592916: libguestfs: trace: internal_autosync 02:19:42.021554131: libguestfs: trace: internal_autosync = 0 Then only the expected files are present on the persistence partition on USB drive "__internal" # features/step_definitions/usb.rb:560 Scenario: Creating and using a persistent NetworkManager connection # features/persistence.feature:33 02:19:44.486125772: calling as root: echo 'hello?' 02:19:44.726643887: call returned: [0, "hello?\n", ""] 02:19:45.450494233: calling as root: nmcli device show eth0 02:19:45.469846787: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:19:45.757392399: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:19:45.772386727: calling as root: date -s '@1523727289' 02:19:45.930749884: call returned: [0, "Sat Apr 14 17:34:49 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:19:45.951390523: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:46.292173042: call returned: [1, "", ""] 02:19:47.292499217: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:47.507101012: call returned: [1, "", ""] 02:19:48.507363480: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:48.698616026: call returned: [1, "", ""] 02:19:49.698888753: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:49.882746992: call returned: [1, "", ""] 02:19:50.883099817: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:51.078788256: call returned: [1, "", ""] 02:19:52.079166026: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:52.269020949: call returned: [1, "", ""] 02:19:53.269341391: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:53.468047771: call returned: [1, "", ""] 02:19:54.468385788: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:54.719315346: call returned: [1, "", ""] 02:19:55.719547124: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:55.978849538: call returned: [3, "", ""] 02:19:56.979080958: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:19:57.307066549: call returned: [0, "", ""] 02:19:57.307512635: calling as root: test -e /run/tordate/done 02:19:57.608146172: call returned: [0, "", ""] 02:19:57.608377074: calling as root: test -e /run/htpdate/success 02:19:57.964116209: call returned: [1, "", ""] 02:19:58.964547451: calling as root: test -e /run/htpdate/success 02:19:59.167494131: call returned: [1, "", ""] 02:20:00.167819322: calling as root: test -e /run/htpdate/success 02:20:00.390832136: call returned: [1, "", ""] 02:20:01.391095377: calling as root: test -e /run/htpdate/success 02:20:01.588998297: call returned: [0, "", ""] 02:20:01.589269591: calling as root: systemctl is-system-running 02:20:01.828113655: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:20:01.829436556: calling as root: nmcli connection add con-name persistent-con-current type ethernet autoconnect yes ifname eth0 02:20:02.119645953: call returned: [0, "Connection 'persistent-con-current' (342ec2aa-4e29-42dc-8bf9-accdd420065c) successfully added.\n", ""] 02:20:02.119815793: calling as root: nmcli --terse --fields NAME connection show 02:20:02.348015576: call returned: [0, "Wired connection\npersistent-con-current\n", ""] And I add a current wired DHCP NetworkManager connection called "persistent-con-current" # features/step_definitions/common_steps.rb:566 02:20:02.348973882: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 02:20:11.462336073: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:21:05.699874982: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:21:05.700127588: calling as root: echo 'hello?' 02:21:05.880205953: call returned: [0, "hello?\n", ""] 02:21:05.880463965: calling as root: service tor status 02:21:06.099776055: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:21:06.100141503: opening file /etc/tor/torrc in 'append' mode 02:21:06.290607134: append complete 02:21:11.685755267: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." 02:21:12.439527596: calling as root: loginctl 02:21:12.439416462: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:21:12.574689833: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:21:13.575085446: calling as root: loginctl 02:21:13.822501154: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:21:29.348679652: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:21:29.435646141: call returned: [0, "", ""] 02:21:29.435770082: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:21:29.520391794: call returned: [0, "", ""] 02:21:29.520610858: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node773 = dogtail.tree.root.application('gnome-shell') 02:21:30.327254353: execution complete 02:21:31.049601575: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:21:31.049774361: executing Python as amnesia: node774 = node773.child('No Notifications', roleName='label') 02:21:31.986034691: execution complete 02:21:31.986219480: executing Python as amnesia: node775 = node773.child('No Notifications', roleName='label') 02:21:32.707127628: execution complete Given I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 02:21:32.749533926: [log] TYPE "#ESC." And I capture all network traffic # features/step_definitions/common_steps.rb:96 And the network is plugged # features/step_definitions/common_steps.rb:79 02:21:32.791686802: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:33.153812071: call returned: [1, "", ""] 02:21:34.154149594: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:34.334841187: call returned: [1, "", ""] 02:21:35.335144281: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:35.555045993: call returned: [1, "", ""] 02:21:36.555260973: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:36.852078734: call returned: [1, "", ""] 02:21:37.852339884: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:38.078510869: call returned: [3, "", ""] 02:21:39.078765104: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:39.295800054: call returned: [3, "", ""] 02:21:40.296101866: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:40.595199159: call returned: [0, "", ""] 02:21:40.595425603: calling as root: test -e /run/tordate/done 02:21:40.878640804: call returned: [0, "", ""] 02:21:40.878871283: calling as root: test -e /run/htpdate/success 02:21:41.277825862: call returned: [1, "", ""] 02:21:42.278165283: calling as root: test -e /run/htpdate/success 02:21:42.478554360: call returned: [0, "", ""] 02:21:42.478821631: calling as root: systemctl is-system-running 02:21:42.796640072: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:21:42.798249106: calling as root: nmcli connection up id persistent-con-current 02:21:43.310146632: call returned: [0, "Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)\n", ""] 02:21:43.310303162: calling as root: nmcli --terse --fields NAME,STATE connection show 02:21:43.607643791: call returned: [0, "persistent-con-current:activated\nWired connection:--\n", ""] And I switch to the "persistent-con-current" NetworkManager connection # features/step_definitions/common_steps.rb:593 02:21:43.622070828: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth0 02:21:43.886534606: call returned: [0, "50:54:00:3f:8c:9d\n", ""] And the 1st network device has a spoofed MAC address configured # features/step_definitions/mac_spoofing.rb:14 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 Scenario: Creating and using a Jessie-area persistent NetworkManager connection # features/persistence.feature:47 02:21:46.529192043: calling as root: echo 'hello?' 02:21:46.761352198: call returned: [0, "hello?\n", ""] 02:21:47.484137195: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:21:47.484315523: calling as root: nmcli device show eth0 02:21:47.861214708: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:21:47.872733181: calling as root: date -s '@1523727411' 02:21:48.087378642: call returned: [0, "Sat Apr 14 17:36:51 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:21:48.112300673: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:48.424944503: call returned: [1, "", ""] 02:21:49.425367695: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:49.622092441: call returned: [1, "", ""] 02:21:50.622418476: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:50.786283269: call returned: [1, "", ""] 02:21:51.786575242: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:51.954984154: call returned: [1, "", ""] 02:21:52.955328937: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:53.132675753: call returned: [1, "", ""] 02:21:54.132999249: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:54.305357441: call returned: [1, "", ""] 02:21:55.305642411: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:55.469985604: call returned: [1, "", ""] 02:21:56.470259532: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:56.758064279: call returned: [1, "", ""] 02:21:57.758273611: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:57.965938231: call returned: [1, "", ""] 02:21:58.966241517: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:21:59.174859202: call returned: [3, "", ""] 02:22:00.175237752: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:22:00.437858021: call returned: [3, "", ""] 02:22:01.438113863: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:22:01.847640900: call returned: [0, "", ""] 02:22:01.848809029: calling as root: test -e /run/tordate/done 02:22:02.046514719: call returned: [0, "", ""] 02:22:02.046766491: calling as root: test -e /run/htpdate/success 02:22:02.294658202: call returned: [1, "", ""] 02:22:03.294960099: calling as root: test -e /run/htpdate/success 02:22:03.533235408: call returned: [0, "", ""] 02:22:03.533428658: calling as root: systemctl is-system-running 02:22:03.820992645: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:22:03.822247067: calling as root: nmcli connection add con-name persistent-con-2.x type ethernet autoconnect yes ifname eth0 02:22:04.139713294: call returned: [0, "Connection 'persistent-con-2.x' (07cc915a-6ca1-4ccf-b3c6-51e7348268e2) successfully added.\n", ""] 02:22:04.139975799: calling as root: nmcli --terse --fields NAME connection show 02:22:04.373702779: call returned: [0, "Wired connection\npersistent-con-2.x\n", ""] And I add a 2.x wired DHCP NetworkManager connection called "persistent-con-2.x" # features/step_definitions/common_steps.rb:566 02:22:04.374562071: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 02:22:12.999477436: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:22:59.753920048: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:22:59.754298519: calling as root: echo 'hello?' 02:22:59.933033528: call returned: [0, "hello?\n", ""] 02:22:59.933307052: calling as root: service tor status 02:23:00.135000389: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:23:00.135277903: opening file /etc/tor/torrc in 'append' mode 02:23:00.327354760: append complete 02:23:01.083151502: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 02:23:01.290378255: [log] TYPE "asdf#ENTER." 02:23:06.475651997: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:23:06.475948756: calling as root: loginctl 02:23:06.610791306: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:23:07.611110183: calling as root: loginctl 02:23:07.792113395: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:23:15.680247198: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:23:15.776362963: call returned: [0, "", ""] 02:23:15.776506864: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:23:15.873567272: call returned: [0, "", ""] 02:23:15.873761055: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node776 = dogtail.tree.root.application('gnome-shell') 02:23:16.926897902: execution complete 02:23:17.649183763: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:23:17.649316929: executing Python as amnesia: node777 = node776.child('No Notifications', roleName='label') 02:23:18.512770216: execution complete 02:23:18.512927861: executing Python as amnesia: node778 = node776.child('No Notifications', roleName='label') 02:23:19.283271156: execution complete 02:23:19.324590446: [log] TYPE "#ESC." Given I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 And I capture all network traffic # features/step_definitions/common_steps.rb:96 And the network is plugged # features/step_definitions/common_steps.rb:79 02:23:19.366379678: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:19.680117543: call returned: [1, "", ""] 02:23:20.680426359: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:20.884800602: call returned: [1, "", ""] 02:23:21.885133533: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:22.119313951: call returned: [1, "", ""] 02:23:23.119632250: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:23.340535422: call returned: [1, "", ""] 02:23:24.340885409: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:24.550298599: call returned: [3, "", ""] 02:23:25.550610054: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:23:25.751511411: call returned: [0, "", ""] 02:23:25.751705599: calling as root: test -e /run/tordate/done 02:23:25.938966927: call returned: [0, "", ""] 02:23:25.939132826: calling as root: test -e /run/htpdate/success 02:23:26.268228709: call returned: [1, "", ""] 02:23:27.268546244: calling as root: test -e /run/htpdate/success 02:23:27.431339177: call returned: [1, "", ""] 02:23:28.431590640: calling as root: test -e /run/htpdate/success 02:23:28.615637127: call returned: [0, "", ""] 02:23:28.615802284: calling as root: systemctl is-system-running 02:23:28.898746954: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:23:28.900058422: calling as root: nmcli connection up id persistent-con-2.x 02:23:29.310293439: call returned: [0, "Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)\n", ""] 02:23:29.310437638: calling as root: nmcli --terse --fields NAME,STATE connection show 02:23:29.591126499: call returned: [0, "persistent-con-2.x:activated\nWired connection:--\n", ""] And I switch to the "persistent-con-2.x" NetworkManager connection # features/step_definitions/common_steps.rb:593 02:23:29.615455116: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_current_mac_of_nic eth0 02:23:29.930364864: call returned: [0, "50:54:00:4b:f5:0e\n", ""] And the 1st network device has a spoofed MAC address configured # features/step_definitions/mac_spoofing.rb:14 And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 Scenario: Deleting a Tails persistent partition # features/persistence.feature:61 02:23:35.506632802: calling as root: echo 'hello?' 02:23:35.772463129: call returned: [0, "hello?\n", ""] 02:23:36.498122012: calling as root: nmcli device show eth0 02:23:36.498212801: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:23:36.707721121: call returned: [8, "", "Error: NetworkManager is not running.\n"] 02:23:36.718015065: calling as root: date -s '@1523727520' 02:23:36.841520773: call returned: [0, "Sat Apr 14 17:38:40 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen # features/step_definitions/snapshots.rb:186 02:23:37.605292222: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:23:37.605506575: calling as root: loginctl 02:23:37.785633092: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:23:38.786013319: calling as root: loginctl 02:23:38.949769574: call returned: [0, " SESSION UID USER SEAT TTY \n 72 1000 amnesia seat0 tty2 \n c1 113 Debian-gdm seat0 tty1 \n\n2 sessions listed.\n", ""] 02:23:47.836905705: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:23:47.933192141: call returned: [0, "", ""] 02:23:47.933315078: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:23:48.019020144: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 02:23:48.019727197: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:23:48.168156249: call returned: [0, "8:1\n", ""] 02:23:48.168272447: calling as root: readlink -f /dev/block/'8:1' 02:23:48.318345827: call returned: [0, "/dev/sda1\n", ""] 02:23:48.318492003: calling as root: udevadm info --query=property --name='/dev/sda1' 02:23:48.556071357: call returned: [0, "DEVLINKS=/dev/disk/by-label/Tails /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/47C5-C84F /dev/disk/by-partlabel/Tails /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part1 /dev/disk/by-partuuid/6153d78f-8530-421a-b621-63996ed3ee0b\nDEVNAME=/dev/sda1\nDEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sda/sda1\nDEVTYPE=partition\nID_BUS=usb\nID_DRIVE_DETACHABLE=0\nID_FS_LABEL=Tails\nID_FS_LABEL_ENC=Tails\nID_FS_TYPE=vfat\nID_FS_USAGE=filesystem\nID_FS_UUID=47C5-C84F\nID_FS_UUID_ENC=47C5-C84F\nID_FS_VERSION=FAT32\nID_INSTANCE=0:0\nID_MODEL=QEMU_HARDDISK\nID_MODEL_ENC=QEMU\\x20HARDDISK\\x20\\x20\\x20\nID_MODEL_ID=0001\nID_PART_ENTRY_DISK=8:0\nID_PART_ENTRY_FLAGS=0x5\nID_PART_ENTRY_NAME=Tails\nID_PART_ENTRY_NUMBER=1\nID_PART_ENTRY_OFFSET=2048\nID_PART_ENTRY_SCHEME=gpt\nID_PART_ENTRY_SIZE=8388608\nID_PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b\nID_PART_ENTRY_UUID=6153d78f-8530-421a-b621-63996ed3ee0b\nID_PART_TABLE_TYPE=gpt\nID_PART_TABLE_UUID=0bc6700e-c585-4afe-9f00-16da4e3e5d2c\nID_PATH=pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\nID_PATH_TAG=pci-0000_02_00_0-usb-0_2_1_0-scsi-0_0_0_0\nID_REVISION=2.5+\nID_SERIAL=QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\nID_SERIAL_SHORT=1-0000:00:01.1:00.0-2\nID_TYPE=disk\nID_USB_DRIVER=usb-storage\nID_USB_INTERFACES=:080650:\nID_USB_INTERFACE_NUM=00\nID_VENDOR=QEMU\nID_VENDOR_ENC=QEMU\\x20\\x20\\x20\\x20\nID_VENDOR_ID=46f4\nMAJOR=8\nMINOR=1\nPARTN=1\nPARTNAME=Tails\nSUBSYSTEM=block\nTAGS=:systemd:\nUDISKS_IGNORE=1\nUDISKS_SYSTEM=1\nUSEC_INITIALIZED=5656420\n", ""] 02:23:48.556262226: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:23:48.689259964: call returned: [0, "8:1\n", ""] 02:23:48.689362099: calling as root: readlink -f /dev/block/'8:1' 02:23:48.854900753: call returned: [0, "/dev/sda1\n", ""] Then Tails is running from USB drive "__internal" # features/step_definitions/usb.rb:390 02:23:48.885592569: calling as root: udevadm info --device-id-of-file=/lib/live/mount/medium 02:23:49.049614282: call returned: [0, "8:1\n", ""] 02:23:49.049716288: calling as root: readlink -f /dev/block/'8:1' 02:23:49.215632426: call returned: [0, "/dev/sda1\n", ""] 02:23:49.215808222: calling as root: ls -1 /dev/sda* 02:23:49.365668413: call returned: [0, "/dev/sda\n/dev/sda1\n/dev/sda2\n", ""] 02:23:49.365815015: calling as root: cut -d':' -f1 /etc/passwd 02:23:49.848454954: call returned: [0, "root\ndaemon\nbin\nsys\nsync\ngames\nman\nlp\nmail\nnews\nuucp\nproxy\nwww-data\nbackup\nlist\nirc\ngnats\nnobody\nsystemd-timesync\nsystemd-network\nsystemd-resolve\n_apt\nmessagebus\nmemlockd\nmonkeysphere\ndebian-tor\nspeech-dispatcher\ncolord\nsaned\npulse\nhplip\nDebian-gdm\ntails-persistence-setup\nclearnet\nhtp\ntails-iuk-get-target-file\ntails-upgrade-frontend\ntor-launcher\ntails-install-iuk\namnesia\n", ""] 02:23:49.848581078: calling as root: groups root 02:23:50.106320761: call returned: [0, "root : root\n", ""] 02:23:50.106443732: calling as root: groups daemon 02:23:50.320108927: call returned: [0, "daemon : daemon\n", ""] 02:23:50.320248261: calling as root: groups bin 02:23:50.460273638: call returned: [0, "bin : bin\n", ""] 02:23:50.460396115: calling as root: groups sys 02:23:50.608970534: call returned: [0, "sys : sys\n", ""] 02:23:50.609108858: calling as root: groups sync 02:23:50.783318619: call returned: [0, "sync : nogroup\n", ""] 02:23:50.783440664: calling as root: groups games 02:23:50.943465569: call returned: [0, "games : games\n", ""] 02:23:50.943584618: calling as root: groups man 02:23:51.126463101: call returned: [0, "man : man\n", ""] 02:23:51.126584354: calling as root: groups lp 02:23:51.258617277: call returned: [0, "lp : lp\n", ""] 02:23:51.258786316: calling as root: groups mail 02:23:51.419812027: call returned: [0, "mail : mail\n", ""] 02:23:51.419930965: calling as root: groups news 02:23:51.551545053: call returned: [0, "news : news\n", ""] 02:23:51.551660444: calling as root: groups uucp 02:23:51.711091008: call returned: [0, "uucp : uucp\n", ""] 02:23:51.711238527: calling as root: groups proxy 02:23:51.845945204: call returned: [0, "proxy : proxy\n", ""] 02:23:51.846065269: calling as root: groups www-data 02:23:52.002399558: call returned: [0, "www-data : www-data\n", ""] 02:23:52.002520092: calling as root: groups backup 02:23:52.141919246: call returned: [0, "backup : backup\n", ""] 02:23:52.142033908: calling as root: groups list 02:23:52.283105310: call returned: [0, "list : list\n", ""] 02:23:52.283235951: calling as root: groups irc 02:23:52.406560570: call returned: [0, "irc : irc\n", ""] 02:23:52.406676497: calling as root: groups gnats 02:23:52.569757040: call returned: [0, "gnats : gnats\n", ""] 02:23:52.569877632: calling as root: groups nobody 02:23:52.713201603: call returned: [0, "nobody : nogroup\n", ""] 02:23:52.713352007: calling as root: groups systemd-timesync 02:23:52.873481923: call returned: [0, "systemd-timesync : systemd-timesync\n", ""] 02:23:52.873632391: calling as root: groups systemd-network 02:23:53.035216613: call returned: [0, "systemd-network : systemd-network\n", ""] 02:23:53.035360267: calling as root: groups systemd-resolve 02:23:53.165787635: call returned: [0, "systemd-resolve : systemd-resolve\n", ""] 02:23:53.165932355: calling as root: groups _apt 02:23:53.310091993: call returned: [0, "_apt : nogroup\n", ""] 02:23:53.310223386: calling as root: groups messagebus 02:23:53.473137343: call returned: [0, "messagebus : messagebus\n", ""] 02:23:53.473266911: calling as root: groups memlockd 02:23:53.629875924: call returned: [0, "memlockd : memlockd\n", ""] 02:23:53.630009662: calling as root: groups monkeysphere 02:23:53.788128300: call returned: [0, "monkeysphere : monkeysphere\n", ""] 02:23:53.788257788: calling as root: groups debian-tor 02:23:53.953942297: call returned: [0, "debian-tor : debian-tor\n", ""] 02:23:53.954059022: calling as root: groups speech-dispatcher 02:23:54.118385562: call returned: [0, "speech-dispatcher : audio\n", ""] 02:23:54.118505290: calling as root: groups colord 02:23:54.279712514: call returned: [0, "colord : colord\n", ""] 02:23:54.279836296: calling as root: groups saned 02:23:54.461499337: call returned: [0, "saned : saned scanner\n", ""] 02:23:54.461617614: calling as root: groups pulse 02:23:54.604842971: call returned: [0, "pulse : pulse audio\n", ""] 02:23:54.604975275: calling as root: groups hplip 02:23:54.751303419: call returned: [0, "hplip : lp\n", ""] 02:23:54.751418204: calling as root: groups Debian-gdm 02:23:54.912799016: call returned: [0, "Debian-gdm : Debian-gdm\n", ""] 02:23:54.912917523: calling as root: groups tails-persistence-setup 02:23:55.070613916: call returned: [0, "tails-persistence-setup : tails-persistence-setup\n", ""] 02:23:55.070732121: calling as root: groups clearnet 02:23:55.215233016: call returned: [0, "clearnet : clearnet\n", ""] 02:23:55.215354884: calling as root: groups htp 02:23:55.365731798: call returned: [0, "htp : htp\n", ""] 02:23:55.365946926: calling as root: groups tails-iuk-get-target-file 02:23:55.516933687: call returned: [0, "tails-iuk-get-target-file : tails-iuk-get-target-file\n", ""] 02:23:55.517100673: calling as root: groups tails-upgrade-frontend 02:23:55.696476492: call returned: [0, "tails-upgrade-frontend : tails-upgrade-frontend\n", ""] 02:23:55.696610555: calling as root: groups tor-launcher 02:23:55.841008825: call returned: [0, "tor-launcher : tor-launcher debian-tor\n", ""] 02:23:55.841127830: calling as root: groups tails-install-iuk 02:23:56.020726587: call returned: [0, "tails-install-iuk : tails-install-iuk tails-iuk-get-target-file\n", ""] 02:23:56.020890899: calling as root: groups amnesia 02:23:56.165056496: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] 02:23:56.165209731: calling as root: stat -c %U /dev/sda 02:23:56.357094557: call returned: [0, "root\n", ""] 02:23:56.357207979: calling as root: stat -c %G /dev/sda 02:23:56.504799820: call returned: [0, "disk\n", ""] 02:23:56.504896902: calling as root: stat -c %a /dev/sda 02:23:56.654388557: call returned: [0, "660\n", ""] 02:23:56.654762148: calling as root: stat -c %U /dev/sda1 02:23:56.789024248: call returned: [0, "root\n", ""] 02:23:56.789123151: calling as root: stat -c %G /dev/sda1 02:23:57.001334460: call returned: [0, "disk\n", ""] 02:23:57.001492363: calling as root: stat -c %a /dev/sda1 02:23:57.135943537: call returned: [0, "660\n", ""] 02:23:57.136314612: calling as root: stat -c %U /dev/sda2 02:23:57.284812095: call returned: [0, "root\n", ""] 02:23:57.284933665: calling as root: stat -c %G /dev/sda2 02:23:57.456808600: call returned: [0, "disk\n", ""] 02:23:57.456905995: calling as root: stat -c %a /dev/sda2 02:23:57.600073300: call returned: [0, "660\n", ""] 02:23:57.600491784: calling as root: udisksctl info --block-device '/dev/sda' 02:23:57.850084151: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda\n DeviceNumber: 2048\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: \n IdLabel: \n IdType: \n IdUUID: \n IdUsage: \n IdVersion: \n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda\n ReadOnly: false\n Size: 7549747200\n Symlinks: /dev/TailsBootDev\n /dev/bilibop\n /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0\n org.freedesktop.UDisks2.PartitionTable:\n Type: gpt\n", ""] And the boot device has safe access rights # features/step_definitions/usb.rb:410 02:23:57.850883543: calling as root: test -e '/var/lib/live/config/tails.persistence' 02:23:57.991677715: call returned: [1, "", ""] And persistence is disabled # features/step_definitions/usb.rb:367 02:23:58.002723783: calling as root: udisksctl info --block-device '/dev/sda2' 02:23:58.291229438: call returned: [0, "/org/freedesktop/UDisks2/block_devices/sda2:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/'\n Device: /dev/sda2\n DeviceNumber: 2050\n Drive: '/org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e1_3a00_2e0_2'\n HintAuto: true\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: true\n HintSymbolicIconName: \n HintSystem: true\n Id: by-uuid-349f7782-5294-47bb-8282-afd50759545d\n IdLabel: \n IdType: crypto_LUKS\n IdUUID: 349f7782-5294-47bb-8282-afd50759545d\n IdUsage: crypto\n IdVersion: 1\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/sda2\n ReadOnly: false\n Size: 3251617280\n Symlinks: /dev/disk/by-id/usb-QEMU_QEMU_HARDDISK_1-0000:00:01.1:00.0-2-0:0-part2\n /dev/disk/by-partlabel/TailsData\n /dev/disk/by-partuuid/660e475e-14dc-4d30-94f2-79eb6f1253e0\n /dev/disk/by-path/pci-0000:02:00.0-usb-0:2:1.0-scsi-0:0:0:0-part2\n /dev/disk/by-uuid/349f7782-5294-47bb-8282-afd50759545d\n org.freedesktop.UDisks2.Encrypted:\n org.freedesktop.UDisks2.Partition:\n Flags: 0\n IsContained: false\n IsContainer: false\n Name: TailsData\n Number: 2\n Offset: 4298113024\n Size: 3251617280\n Table: '/org/freedesktop/UDisks2/block_devices/sda'\n Type: 0fc63daf-8483-4772-8e79-3d69d8477de4\n UUID: 660e475e-14dc-4d30-94f2-79eb6f1253e0\n", ""] 02:23:58.291459398: calling as root: ls -1 --hide 'control' /dev/mapper/ 02:23:58.421069452: call returned: [0, "", ""] 02:23:58.421174879: calling as root: echo asdf | cryptsetup luksOpen /dev/sda2 __internal 02:24:00.760386725: call returned: [0, "", ""] 02:24:00.760554376: calling as root: udisksctl info --block-device '/dev/mapper/__internal' 02:24:01.052290173: call returned: [0, "/org/freedesktop/UDisks2/block_devices/dm_2d0:\n org.freedesktop.UDisks2.Block:\n Configuration: []\n CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sda2'\n Device: /dev/dm-0\n DeviceNumber: 65024\n Drive: '/'\n HintAuto: false\n HintIconName: \n HintIgnore: false\n HintName: \n HintPartitionable: false\n HintSymbolicIconName: \n HintSystem: true\n Id: by-id-dm-name-__internal\n IdLabel: TailsData\n IdType: ext4\n IdUUID: c316b000-5746-4011-b7e1-0fbd03494b2f\n IdUsage: filesystem\n IdVersion: 1.0\n MDRaid: '/'\n MDRaidMember: '/'\n PreferredDevice: /dev/mapper/__internal\n ReadOnly: false\n Size: 3249520128\n Symlinks: /dev/disk/by-id/dm-name-__internal\n /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-349f7782529447bb8282afd50759545d-__internal\n /dev/disk/by-label/TailsData\n /dev/disk/by-uuid/c316b000-5746-4011-b7e1-0fbd03494b2f\n /dev/mapper/__internal\n org.freedesktop.UDisks2.Filesystem:\n MountPoints: \n", ""] 02:24:01.052537167: calling as root: mkdir -p /mnt/__internal 02:24:01.232509159: call returned: [0, "", ""] 02:24:01.232612509: calling as root: mount '/dev/mapper/__internal' /mnt/__internal 02:24:01.738471453: call returned: [0, "", ""] 02:24:01.738585017: calling as root: umount /mnt/__internal 02:24:01.995053904: call returned: [0, "", ""] 02:24:01.995167149: calling as root: sync 02:24:02.194556929: call returned: [0, "", ""] 02:24:02.194668344: calling as root: cryptsetup luksClose __internal 02:24:02.446093427: call returned: [0, "", ""] But a Tails persistence partition exists on USB drive "__internal" # features/step_definitions/usb.rb:283 02:24:02.446713452: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node779 = dogtail.tree.root.application('gnome-shell') 02:24:03.294890088: execution complete 02:24:04.016563299: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:24:04.016774506: executing Python as amnesia: node780 = node779.child('No Notifications', roleName='label') 02:24:05.276063578: execution complete 02:24:05.276190301: executing Python as amnesia: node781 = node779.child('No Notifications', roleName='label') 02:24:06.377901127: execution complete 02:24:06.419656019: [log] TYPE "#ESC." And all notifications have disappeared # features/step_definitions/common_steps.rb:441 02:24:06.452840903: calling as amnesia: xdotool key Super 02:24:06.655328446: call returned: [0, "", ""] 02:24:08.422794863: [log] TYPE "Delete persistent volume" 02:24:13.072441123: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE " " When I delete the persistent partition # features/step_definitions/usb.rb:598 02:24:13.083101828: calling as root: test -b /dev/sda2 02:24:13.217833342: call returned: [1, "", ""] Then there is no persistence partition on USB drive "__internal" # features/step_definitions/usb.rb:277 Scenario: Dotfiles persistence # features/persistence.feature:72 02:24:16.079837784: calling as root: echo 'hello?' 02:24:16.328199943: call returned: [0, "hello?\n", ""] 02:24:17.052008685: calling as root: nmcli device show eth0 02:24:17.066790153: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:24:17.343617824: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:24:17.355765102: calling as root: date -s '@1523727561' 02:24:17.539914219: call returned: [0, "Sat Apr 14 17:39:21 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 02:24:17.541686607: calling as amnesia: touch /live/persistence/TailsData_unlocked/dotfiles/.XXX_persist 02:24:17.674757738: call returned: [0, "", ""] When I write some dotfile expected to persist # features/step_definitions/usb.rb:510 02:24:17.675561744: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 02:24:26.227930983: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:24:28.894025820: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 02:25:12.664179312: calling as root: echo 'hello?' 02:25:12.848334607: call returned: [0, "hello?\n", ""] 02:25:12.848561625: calling as root: service tor status 02:25:13.061579119: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:25:13.061932139: opening file /etc/tor/torrc in 'append' mode 02:25:13.211920568: append complete 02:25:13.975534070: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] 02:25:14.179960649: [log] TYPE "asdf#ENTER." 02:25:19.368283666: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 02:25:19.368480591: calling as root: loginctl 02:25:19.521211228: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:25:20.521616961: calling as root: loginctl 02:25:20.714809847: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 02:25:28.594155290: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:25:28.724047487: call returned: [0, "", ""] 02:25:28.724165914: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:25:28.808525165: call returned: [0, "", ""] 02:25:28.808691204: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node782 = dogtail.tree.root.application('gnome-shell') 02:25:29.735629595: execution complete 02:25:30.458900490: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:25:30.459128127: executing Python as amnesia: node783 = node782.child('No Notifications', roleName='label') 02:25:31.349895440: execution complete 02:25:31.350048397: executing Python as amnesia: node784 = node782.child('No Notifications', roleName='label') 02:25:32.062294782: execution complete 02:25:32.103474601: [log] TYPE "#ESC." And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled # features/step_definitions/common_steps.rb:137 02:25:32.104678137: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 02:25:33.398062233: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 02:25:33.398274731: calling as root: test -L /home/amnesia/.XXX_persist 02:25:33.582017041: call returned: [0, "", ""] 02:25:33.582144863: calling as root: test -e $(readlink -f /home/amnesia/.XXX_persist) 02:25:33.716767345: call returned: [0, "", ""] Then the expected persistent dotfile is present in the filesystem # features/step_definitions/usb.rb:552 @product Feature: Chatting anonymously using Pidgin As a Tails user when I chat using Pidgin I should be able to use OTR And I should be able to persist my Pidgin configuration And AppArmor should prevent Pidgin from doing dangerous things And all Internet traffic should flow only through Tor Scenario: Make sure Pidgin's D-Bus interface is blocked # features/pidgin.feature:10 02:25:37.279945433: calling as root: echo 'hello?' 02:25:37.573885350: call returned: [0, "hello?\n", ""] 02:25:38.298803472: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:25:38.298966654: calling as root: nmcli device show eth0 02:25:38.548419467: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:25:38.563597670: calling as root: date -s '@1523727642' 02:25:38.733175745: call returned: [0, "Sat Apr 14 17:40:42 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:25:38.775070232: calling as amnesia: xdotool key Super 02:25:38.959637681: call returned: [0, "", ""] 02:25:40.809467343: [log] TYPE "Pidgin Internet Messenger" 02:25:40.871682944: [log] ( Ctrl ) TYPE "#ENTER." When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 02:25:50.645385374: calling as root: pidof -x -o '%PPID' pidgin 02:25:50.828074117: call returned: [0, "6951\n", ""] 02:25:50.828217500: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:25:50.974897392: call returned: [0, "", ""] 02:25:50.975033349: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:25:51.151864484: call returned: [0, "", ""] 02:25:51.152075292: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsGetAll 02:25:51.256155620: call returned: [0, "method return time=1523727654.518003 sender=:1.56 -> destination=:1.59 serial=87 reply_serial=2\n array [\n int32 208\n int32 217\n ]\n", ""] 02:25:51.256319749: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:25:51.449389157: call returned: [0, "", ""] 02:25:51.449558702: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:25:51.604568407: call returned: [0, "", ""] 02:25:51.604755446: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsGetAll 02:25:51.797611745: call returned: [1, "", "Error org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type=\"method_call\", sender=\":1.60\" (uid=1000 pid=7279 comm=\"dbus-send --print-reply --dest=im.pidgin.purple.Pu\") interface=\"im.pidgin.purple.PurpleInterface\" member=\"PurpleAccountsGetAll\" error name=\"(unset)\" requested_reply=\"0\" destination=\"im.pidgin.purple.PurpleService\" (uid=1000 pid=6951 comm=\"/usr/bin/pidgin \")\n"] And Pidgin's D-Bus interface is not available # features/step_definitions/pidgin.rb:524 #11453 @check_tor_leaks @fragile Scenario: Chatting with some friend over XMPP # features/pidgin.feature:18 02:25:57.937243832: calling as root: echo 'hello?' 02:25:58.336457911: call returned: [0, "hello?\n", ""] 02:25:59.059619753: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:25:59.059745093: calling as root: nmcli device show eth0 02:25:59.431854864: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:25:59.442260998: calling as root: systemctl --quiet is-active tor@default.service 02:25:59.604366111: call returned: [0, "", ""] 02:25:59.604480474: calling as root: systemctl stop tor@default.service 02:25:59.807070955: call returned: [0, "", ""] 02:25:59.807183272: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:25:59.999372048: call returned: [0, "", ""] 02:25:59.999517591: calling as root: date -s '@1523727664' 02:26:00.144073199: call returned: [0, "Sat Apr 14 17:41:04 UTC 2018\n", ""] 02:26:00.144188793: calling as root: systemctl start tor@default.service 02:26:00.974258631: call returned: [0, "", ""] 02:26:00.974427446: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:26:01.107561186: call returned: [3, "", ""] 02:26:02.107775237: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:26:02.309088951: call returned: [3, "", ""] 02:26:03.309443769: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:26:03.491212785: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:26:03.532074824: calling as amnesia: xdotool key Super 02:26:03.724703021: call returned: [0, "", ""] 02:26:05.574108593: [log] TYPE "Pidgin Internet Messenger" 02:26:05.635660035: [log] ( Ctrl ) TYPE "#ENTER." When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 02:26:16.713989306: [log] CLICK on L(437,526)@S(0)[0,0 1024x768] 02:26:19.138388229: [log] CLICK on L(475,287)@S(0)[0,0 1024x768] [log] CLICK on L(481,316)@S(0)[0,0 1024x768] 02:26:20.496760219: [log] CLICK on L(497,253)@S(0)[0,0 1024x768] [log] TYPE "testtailssib1" 02:26:21.251894053: [log] CLICK on L(513,295)@S(0)[0,0 1024x768] 02:26:21.662680918: [log] TYPE "riseup.net" 02:26:23.776089823: [log] CLICK on L(495,382)@S(0)[0,0 1024x768] [log] TYPE "qscjtsi3Kjao9NNUxs2uCWnfwjtb" 02:26:24.613052730: [log] CLICK on L(424,418)@S(0)[0,0 1024x768] 02:26:25.450443717: [log] CLICK on L(390,137)@S(0)[0,0 1024x768] 02:26:26.598312106: [log] CLICK on L(469,299)@S(0)[0,0 1024x768] 02:26:27.212427541: [log] TYPE "xmpp.riseup.net" 02:26:28.036518876: [log] CLICK on L(643,704)@S(0)[0,0 1024x768] When I create my XMPP account # features/step_definitions/pidgin.rb:76 02:26:29.191058140: [log] CLICK on L(711,527)@S(0)[0,0 1024x768] And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:26:29.192042113: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:26:29.432642001: call returned: [0, "", ""] 02:26:29.432776698: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:29.612889625: call returned: [0, "", ""] 02:26:29.613080623: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:26:29.843385687: call returned: [0, "method return time=1523727693.696595 sender=:1.64 -> destination=:1.67 serial=100 reply_serial=2\n int32 5921\n", ""] 02:26:29.843525727: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:26:30.027748991: call returned: [0, "", ""] 02:26:30.027872856: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:30.217647338: call returned: [0, "", ""] 02:26:30.217781361: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:26:30.416964417: call returned: [0, "", ""] 02:26:30.417131332: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:30.632638121: call returned: [0, "", ""] 02:26:30.632843384: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:26:30.744752013: call returned: [0, "method return time=1523727694.596874 sender=:1.64 -> destination=:1.68 serial=104 reply_serial=2\n int32 0\n", ""] 02:26:30.744884946: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:26:30.947322922: call returned: [0, "", ""] 02:26:30.947443369: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:31.102747720: call returned: [0, "", ""] 02:26:32.103133956: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:26:32.274431124: call returned: [0, "", ""] 02:26:32.274551600: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:32.463816086: call returned: [0, "", ""] 02:26:32.463974778: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:26:32.560165498: call returned: [0, "method return time=1523727696.414227 sender=:1.64 -> destination=:1.69 serial=163 reply_serial=2\n int32 5921\n", ""] 02:26:32.560341954: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:26:32.729559188: call returned: [0, "", ""] 02:26:32.729679213: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:32.909025627: call returned: [0, "", ""] 02:26:32.909147777: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:26:33.065807251: call returned: [0, "", ""] 02:26:33.065931070: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:33.224401316: call returned: [0, "", ""] 02:26:33.224561149: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:26:33.330384706: call returned: [0, "method return time=1523727697.184495 sender=:1.64 -> destination=:1.70 serial=180 reply_serial=2\n int32 1\n", ""] 02:26:33.330577065: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:26:33.466561706: call returned: [0, "", ""] 02:26:33.466726939: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:26:33.668474184: call returned: [0, "", ""] 02:26:33.668670334: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:26:33.827690082: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:26:34.073731508: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:26:34.232837607: call returned: [0, "", ""] Given my XMPP friend goes online # features/step_definitions/pidgin.rb:111 02:26:47.997389982: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:26:48.008194151: INFO:jabberbot:bot connected. serving forever. DEBUG:jabberbot:user testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d changed status to None DEBUG:jabberbot:Got presence: testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d (type: None, show: None, status: None, subscription: both) 02:26:48.114861307: call returned: [0, "", ""] When I start a conversation with my friend # features/step_definitions/pidgin.rb:126 02:26:49.537690946: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:26:49.722661027: call returned: [0, "", ""] And I say something to my friend # features/step_definitions/pidgin.rb:142 02:26:49.929505780: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:26:50.051725235: call returned: [0, "", ""] 02:26:53.505474800: DEBUG:potr.context:'ping' DEBUG:jabberbot:*** props = [u'http://jabber.org/protocol/chatstates', u'jabber:client'] DEBUG:jabberbot:*** jid = testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d DEBUG:jabberbot:*** username = testtailssib1 DEBUG:jabberbot:*** type = chat DEBUG:jabberbot:*** text = ping DEBUG:jabberbot:*** cmd = ping DEBUG:potr.context:'For security reasons, OTR encryption is STRONGLY recommended for conversations on this server, see https://help.riseup.net/security/message-security/otr for more information!' DEBUG:jabberbot:*** props = [u'jabber:client'] DEBUG:jabberbot:*** jid = riseup.net DEBUG:jabberbot:*** username = DEBUG:jabberbot:*** type = chat DEBUG:jabberbot:*** text = For security reasons, OTR encryption is STRONGLY recommended for conversations on this server, see https://help.riseup.net/security/message-security/otr for more information! INFO:jabberbot:Ignoring message from unseen guest: riseup.net DEBUG:jabberbot:I've seen: [u'testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d'] Then I receive a response from my friend # features/step_definitions/pidgin.rb:154 #11414 @check_tor_leaks @fragile Scenario: Chatting with some friend over XMPP in a multi-user chat # features/pidgin.feature:32 02:26:57.117958067: calling as root: echo 'hello?' 02:26:57.330719599: call returned: [0, "hello?\n", ""] 02:26:58.056121364: calling as root: nmcli device show eth0 02:26:58.361232712: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:26:58.372564515: calling as root: systemctl --quiet is-active tor@default.service 02:26:58.553794668: call returned: [0, "", ""] 02:26:58.553892284: calling as root: systemctl stop tor@default.service 02:26:58.741912729: call returned: [0, "", ""] 02:26:58.742008498: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:26:58.922680023: call returned: [0, "", ""] 02:26:58.922797306: calling as root: date -s '@1523727723' 02:26:59.093099096: call returned: [0, "Sat Apr 14 17:42:03 UTC 2018\n", ""] 02:26:59.093271508: calling as root: systemctl start tor@default.service 02:26:59.825112121: call returned: [0, "", ""] 02:26:59.825281794: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:27:00.020708560: call returned: [3, "", ""] 02:27:01.021074745: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:27:01.202431231: call returned: [3, "", ""] 02:27:02.202790306: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:27:02.343847044: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:27:02.379541776: calling as amnesia: xdotool key Super 02:27:02.551923693: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 When I create my XMPP account # features/step_definitions/pidgin.rb:76 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:27:27.158010329: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:27:27.445427874: call returned: [0, "", ""] 02:27:27.445577531: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:27.649945986: call returned: [0, "", ""] 02:27:27.650183493: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:27:27.754416252: call returned: [0, "method return time=1523727751.658669 sender=:1.64 -> destination=:1.67 serial=100 reply_serial=2\n int32 5921\n", ""] 02:27:27.754577017: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:27:27.934671002: call returned: [0, "", ""] 02:27:27.934821625: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:28.081886992: call returned: [0, "", ""] 02:27:28.082009526: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:27:28.275218959: call returned: [0, "", ""] 02:27:28.275344768: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:28.430871436: call returned: [0, "", ""] 02:27:28.431081521: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:27:28.546406799: call returned: [0, "method return time=1523727752.448731 sender=:1.64 -> destination=:1.68 serial=109 reply_serial=2\n int32 0\n", ""] 02:27:28.546535889: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:27:28.710393375: call returned: [0, "", ""] 02:27:28.710532629: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:28.884350361: call returned: [0, "", ""] 02:27:29.884586188: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:27:30.091365349: call returned: [0, "", ""] 02:27:30.091484226: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:30.252678453: call returned: [0, "", ""] 02:27:30.252823622: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:27:30.337962844: call returned: [0, "method return time=1523727754.242276 sender=:1.64 -> destination=:1.69 serial=167 reply_serial=2\n int32 5921\n", ""] 02:27:30.338085394: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:27:30.471300482: call returned: [0, "", ""] 02:27:30.471414944: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:30.658468318: call returned: [0, "", ""] 02:27:30.658600272: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:27:30.833619178: call returned: [0, "", ""] 02:27:30.833732562: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:31.017826373: call returned: [0, "", ""] 02:27:31.017974205: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:27:31.112907141: call returned: [0, "method return time=1523727755.016763 sender=:1.64 -> destination=:1.70 serial=186 reply_serial=2\n int32 1\n", ""] 02:27:31.113118022: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:27:31.257877661: call returned: [0, "", ""] 02:27:31.258047859: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:27:31.451380199: call returned: [0, "", ""] 02:27:31.451578703: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:27:31.637702915: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:27:31.672903307: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:27:31.788027677: call returned: [0, "", ""] 02:27:37.348853400: calling as amnesia: xclip -o 02:27:37.522360236: call returned: [0, "conference.riseup.net", ""] 02:27:41.483171456: calling as amnesia: xdotool search --name 'SRPmtK73PfF@conference.riseup.net' windowactivate --sync 02:27:41.652577495: call returned: [0, "", ""] When I join some empty multi-user chat # features/step_definitions/pidgin.rb:188 02:27:41.684647655: calling as amnesia: xdotool search --name 'SRPmtK73PfF@conference.riseup.net' windowactivate --sync 02:27:41.837418458: call returned: [0, "", ""] And I clear the multi-user chat's scrollback # features/step_definitions/pidgin.rb:229 02:27:43.917647887: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:27:44.073803803: call returned: [0, "", ""] And my XMPP friend goes online and joins the multi-user chat # features/step_definitions/pidgin.rb:111 02:27:57.493939471: calling as amnesia: xdotool search --name 'SRPmtK73PfF@conference.riseup.net' windowactivate --sync 02:27:57.511860856: INFO:jabberbot:bot connected. serving forever. DEBUG:jabberbot:user testtailssib1@riseup.net/aedb3385-3919-4f4c-aa16-ef1d5c841dd6 changed status to None DEBUG:jabberbot:Got presence: testtailssib1@riseup.net/aedb3385-3919-4f4c-aa16-ef1d5c841dd6 (type: None, show: None, status: None, subscription: both) DEBUG:jabberbot:user testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d changed status to None DEBUG:jabberbot:Got presence: testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d (type: None, show: None, status: None, subscription: both) DEBUG:jabberbot:user srpmtk73pff@conference.riseup.net/testtailssib1 changed status to None DEBUG:jabberbot:Got presence: srpmtk73pff@conference.riseup.net/testtailssib1 (type: None, show: None, status: None, subscription: none) DEBUG:jabberbot:user srpmtk73pff@conference.riseup.net/testtailssib2 changed status to None DEBUG:jabberbot:Got presence: srpmtk73pff@conference.riseup.net/testtailssib2 (type: None, show: None, status: None, subscription: none) 02:27:57.646148521: call returned: [0, "", ""] Then I can see that my friend joined the multi-user chat # features/step_definitions/pidgin.rb:235 02:27:57.756689939: calling as amnesia: xdotool search --name 'SRPmtK73PfF' windowactivate --sync 02:27:57.888039705: call returned: [0, "", ""] And I say something to my friend in the multi-user chat # features/step_definitions/pidgin.rb:142 02:27:58.733096944: calling as amnesia: xdotool search --name 'SRPmtK73PfF' windowactivate --sync 02:27:58.854769645: call returned: [0, "", ""] 02:28:02.302680103: DEBUG:jabberbot:*** props = [u'jabber:client'] DEBUG:jabberbot:*** jid = srpmtk73pff@conference.riseup.net/testtailssib1 DEBUG:jabberbot:*** username = testtailssib1 DEBUG:jabberbot:*** type = groupchat DEBUG:jabberbot:*** text = ping DEBUG:jabberbot:*** cmd = ping Then I receive a response from my friend in the multi-user chat # features/step_definitions/pidgin.rb:154 02:28:02.304122096: calling as amnesia: xdotool search --name 'SRPmtK73PfF' windowactivate --sync 02:28:02.414115959: call returned: [0, "", ""] When I say https://labs.riseup.net/code/projects/tails/roadmap to my friend in the multi-user chat # features/step_definitions/pidgin.rb:142 02:28:08.686575627: DEBUG:jabberbot:*** props = [u'jabber:client', u'http://jabber.org/protocol/xhtml-im'] DEBUG:jabberbot:*** jid = srpmtk73pff@conference.riseup.net/testtailssib1 DEBUG:jabberbot:*** username = testtailssib1 DEBUG:jabberbot:*** type = groupchat DEBUG:jabberbot:*** text = https://labs.riseup.net/code/projects/tails/roadmap DEBUG:jabberbot:*** cmd = https://labs.riseup.net/code/projects/tails/roadmap Then I see the Tails roadmap URL # features/step_definitions/pidgin.rb:505 When I wait 10 seconds # features/step_definitions/common_steps.rb:843 Slept for 10 seconds 02:28:19.460667144: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node785 = dogtail.tree.root.application('Firefox') 02:28:29.970298107: execution complete 02:28:30.970699211: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node786 = dogtail.tree.root.application('Firefox') 02:28:31.967155124: execution complete And I click on the Tails roadmap URL # features/step_definitions/pidgin.rb:519 02:28:31.969402876: executing Python as amnesia: node787 = node786.child('Roadmap - Tails - RiseupLabs Code Repository - Tor Browser', roleName='frame') 02:28:37.952508243: execution complete 02:28:37.952807714: executing Python as amnesia: node788 = node786.child('Reload current page', roleName='push button') 02:28:39.701561870: execution complete Then the Tor Browser loads the Tails roadmap # features/step_definitions/common_steps.rb:405 #11453 @check_tor_leaks @fragile Scenario: Chatting with some friend over XMPP and with OTR # features/pidgin.feature:53 02:28:42.054498029: calling as root: echo 'hello?' 02:28:42.198279992: call returned: [0, "hello?\n", ""] 02:28:42.922723495: calling as root: nmcli device show eth0 02:28:43.169878352: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:28:43.181146404: calling as root: systemctl --quiet is-active tor@default.service 02:28:43.362031134: call returned: [0, "", ""] 02:28:43.362188452: calling as root: systemctl stop tor@default.service 02:28:43.588845595: call returned: [0, "", ""] 02:28:43.588965162: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:28:43.746516193: call returned: [0, "", ""] 02:28:43.746656952: calling as root: date -s '@1523727827' 02:28:43.932797992: call returned: [0, "Sat Apr 14 17:43:47 UTC 2018\n", ""] 02:28:43.932900443: calling as root: systemctl start tor@default.service 02:28:44.662951849: call returned: [0, "", ""] 02:28:44.663125010: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:28:44.829451511: call returned: [3, "", ""] 02:28:45.829781012: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:28:45.991288139: call returned: [3, "", ""] 02:28:46.991519645: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:28:47.143040602: call returned: [3, "", ""] 02:28:48.143236179: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:28:48.303726343: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:28:48.340445102: calling as amnesia: xdotool key Super 02:28:48.472145824: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 When I create my XMPP account # features/step_definitions/pidgin.rb:76 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:29:13.086028581: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:29:13.257146919: call returned: [0, "", ""] 02:29:13.257267312: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:13.437537708: call returned: [0, "", ""] 02:29:13.437763846: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:29:13.648350762: call returned: [0, "method return time=1523727856.716385 sender=:1.64 -> destination=:1.67 serial=100 reply_serial=2\n int32 5921\n", ""] 02:29:13.648478007: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:29:13.833287733: call returned: [0, "", ""] 02:29:13.833568878: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:13.998402497: call returned: [0, "", ""] 02:29:13.998549669: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:29:14.183928050: call returned: [0, "", ""] 02:29:14.184065044: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:14.340136919: call returned: [0, "", ""] 02:29:14.340334336: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:29:14.452056799: call returned: [0, "method return time=1523727857.521105 sender=:1.64 -> destination=:1.68 serial=106 reply_serial=2\n int32 0\n", ""] 02:29:14.452254958: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:29:14.613788462: call returned: [0, "", ""] 02:29:14.613925131: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:14.789484483: call returned: [0, "", ""] 02:29:15.789827543: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:29:15.948173743: call returned: [0, "", ""] 02:29:15.948300277: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:16.104338013: call returned: [0, "", ""] 02:29:16.104504642: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:29:16.214761700: call returned: [0, "method return time=1523727859.282523 sender=:1.64 -> destination=:1.69 serial=183 reply_serial=2\n int32 5921\n", ""] 02:29:16.214921242: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:29:16.372239188: call returned: [0, "", ""] 02:29:16.372359456: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:16.518595720: call returned: [0, "", ""] 02:29:16.518714459: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:29:16.673282528: call returned: [0, "", ""] 02:29:16.673399154: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:16.830694406: call returned: [0, "", ""] 02:29:16.830839365: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:29:16.957644632: call returned: [0, "method return time=1523727860.025899 sender=:1.64 -> destination=:1.70 serial=186 reply_serial=2\n int32 1\n", ""] 02:29:16.957802973: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:29:17.107577459: call returned: [0, "", ""] 02:29:17.107734291: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:29:17.286889266: call returned: [0, "", ""] 02:29:17.287117399: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:29:17.415601383: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:29:17.500536114: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:29:17.652362188: call returned: [0, "", ""] Given my XMPP friend goes online # features/step_definitions/pidgin.rb:111 02:29:31.414489455: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:29:31.425759839: INFO:jabberbot:bot connected. serving forever. DEBUG:jabberbot:user testtailssib1@riseup.net/6488bb8f-4686-4b48-99e3-8d181e300a2d changed status to None DEBUG:jabberbot:Got presence: testtailssib1@riseup.net/6488bb8f-4686-4b48-99e3-8d181e300a2d (type: None, show: None, status: None, subscription: both) DEBUG:jabberbot:user testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d changed status to None DEBUG:jabberbot:Got presence: testtailssib1@riseup.net/6c9d31f2-7fcc-47f6-94e4-f654afed981d (type: None, show: None, status: None, subscription: both) 02:29:31.525452061: call returned: [0, "", ""] When I start a conversation with my friend # features/step_definitions/pidgin.rb:126 02:29:32.950883510: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:29:33.075516684: call returned: [0, "", ""] And I start an OTR session with my friend # features/step_definitions/pidgin.rb:168 02:29:37.540630290: DEBUG:potr.context: DEBUG:root:Got privkey of type DEBUG:potr.context:testtailssib2@riseup.net got msg DEBUG:potr.context: 02:29:37.540860343: DEBUG:potr.context:testtailssib2@riseup.net got msg DEBUG:potr.context: DEBUG:root:Got pubkey of type DEBUG:potr.crypt:testtailssib2@riseup.net: Refreshing ourkey to 2 {0: {0: , 1: None}, 1: {0: , 1: None}} INFO:potr.crypt:went encrypted with 475680BD B1216567 36DB8DC9 D38BA678 1F25D69A Then Pidgin automatically generates an OTR key # features/step_definitions/pidgin.rb:175 02:29:37.542213421: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:29:37.676844530: call returned: [0, "", ""] And an OTR session was successfully started with my friend # features/step_definitions/pidgin.rb:180 02:29:37.785119203: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:29:37.946453031: call returned: [0, "", ""] When I say something to my friend # features/step_definitions/pidgin.rb:142 02:29:38.150932127: calling as amnesia: xdotool search --name 'testtailssib2' windowactivate --sync 02:29:38.327514863: DEBUG:potr.context:testtailssib2@riseup.net got msg 02:29:38.327622583: DEBUG:potr.context:7\xfe\x0eeZ\xe2xu\x13\xdf\xff\xe5\xbf\x7f\xe60$Aem\xfc\xa9\xa2\x1f\x1e\xea(\rC\xa1\xf2?\xddX!\xe2\x9c\xd0L\xb9\xfa3\xb1f\xea\x1a\xfe\xa2\x16)Bo\xd3~\xd9\xf3=.j\x1ajm\xba\x00\x9e^OR\xa1\xf1\xe7\xb2\xa2\xc8\x1c\x9c\xdc\xff\xe1\x88\xe8\x825ec\xd9#\xbd\xea\xadu\xae\x82f(\xb4\x84|\xf1f\x9do\xe6!}q\xff\x15\x08\xf48\xc9\x1e\xcb\x14\x9dmD\xfd=)/\x92\x08\x0e\xb5',ctr='\x00\x00\x00\x00\x00\x00\x00\x01',encmsg='TOvN\x90',mac='WJ\xa3\xdaRR\xa8\xf4\x0e\x0b\xc37\x1e\x9b\x0e:\xac5Z\xac',oldmacs='',)> DEBUG:potr.crypt:sesskeys: {0: {0: , 1: None}, 1: {0: , 1: None}}, our=2, r=1, their=1, s=1 02:29:38.327849191: DEBUG:potr.crypt:handle: enc='\xe5\xe4\x14\x92\xa3|\x9f\x95\xc3\xdeqz\x93\x81\r)' mac='\xac(\x84p0\x0bd:7ds\x9a\xe7\xcb@\x87h+\x05\x92' ctr= 02:29:38.334255435: DEBUG:potr.crypt:testtailssib2@riseup.net: Refreshing theirkey to 2 {0: {0: , 1: }, 1: {0: , 1: }} 02:29:38.334355009: DEBUG:jabberbot:*** props = [u'jabber:client'] DEBUG:jabberbot:*** jid = testtailssib1@riseup.net/6488bb8f-4686-4b48-99e3-8d181e300a2d DEBUG:jabberbot:*** username = testtailssib1 02:29:38.334410216: DEBUG:jabberbot:*** type = chat DEBUG:jabberbot:*** text = ping 02:29:38.334457951: DEBUG:jabberbot:*** cmd = ping 02:29:38.334714599: DEBUG:potr.crypt:create: enc='y\xfdP$\xc1\xddxW\x82\xfd\x02\xea\xa0\x1a\xc6\x1c' mac='i\xc0\xc5\x9f\xd8\x7f\x8dw\xf3oa\xf7g\xa4e\xd9\x9b;\x97\xc3' ctr= 02:29:38.336997650: call returned: [0, "", ""] Then I receive a response from my friend # features/step_definitions/pidgin.rb:154 #11414 @check_tor_leaks @fragile Scenario: Connecting to the tails multi-user chat with my XMPP account # features/pidgin.feature:70 02:29:43.815459366: calling as root: echo 'hello?' 02:29:43.961974749: call returned: [0, "hello?\n", ""] 02:29:44.685211713: calling as root: nmcli device show eth0 02:29:44.943048001: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:29:44.955389826: calling as root: systemctl --quiet is-active tor@default.service 02:29:45.093614304: call returned: [0, "", ""] 02:29:45.093743858: calling as root: systemctl stop tor@default.service 02:29:45.272930291: call returned: [0, "", ""] 02:29:45.273058026: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:29:45.450796239: call returned: [0, "", ""] 02:29:45.450932239: calling as root: date -s '@1523727889' 02:29:45.648233080: call returned: [0, "Sat Apr 14 17:44:49 UTC 2018\n", ""] 02:29:45.648349767: calling as root: systemctl start tor@default.service 02:29:46.315234588: call returned: [0, "", ""] 02:29:46.315406002: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:29:46.458021929: call returned: [3, "", ""] 02:29:47.458382617: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:29:47.621320464: call returned: [3, "", ""] 02:29:48.621641036: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:29:48.792612077: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:29:48.793845532: opening file /home/amnesia/.purple/accounts.xml in 'read' mode 02:29:48.926800150: read complete And Pidgin has the expected accounts configured with random nicknames # features/step_definitions/pidgin.rb:298 02:29:48.980564210: calling as amnesia: xdotool key Super 02:29:49.152607051: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 And I create my XMPP account # features/step_definitions/pidgin.rb:76 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:30:13.777367452: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:30:14.007150112: call returned: [0, "", ""] 02:30:14.007273473: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:14.162054525: call returned: [0, "", ""] 02:30:14.162210057: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:30:14.390416917: call returned: [0, "method return time=1523727917.750397 sender=:1.64 -> destination=:1.67 serial=100 reply_serial=2\n int32 5921\n", ""] 02:30:14.390565733: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:30:14.514026144: call returned: [0, "", ""] 02:30:14.514158562: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:14.671621978: call returned: [0, "", ""] 02:30:14.671754416: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:30:14.841061591: call returned: [0, "", ""] 02:30:14.841212201: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:15.017807451: call returned: [0, "", ""] 02:30:15.017969124: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:30:15.133203415: call returned: [0, "method return time=1523727918.495457 sender=:1.64 -> destination=:1.68 serial=106 reply_serial=2\n int32 0\n", ""] 02:30:15.133330639: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:30:15.317895032: call returned: [0, "", ""] 02:30:15.318029735: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:15.480208607: call returned: [0, "", ""] 02:30:16.480642126: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:30:16.648937655: call returned: [0, "", ""] 02:30:16.649117727: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:16.810870485: call returned: [0, "", ""] 02:30:16.811090912: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:30:16.931129299: call returned: [0, "method return time=1523727920.293367 sender=:1.64 -> destination=:1.69 serial=167 reply_serial=2\n int32 5921\n", ""] 02:30:16.931327240: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:30:17.092391591: call returned: [0, "", ""] 02:30:17.092523656: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:17.261835334: call returned: [0, "", ""] 02:30:17.261956383: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:30:17.435915907: call returned: [0, "", ""] 02:30:17.436032892: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:17.614985833: call returned: [0, "", ""] 02:30:17.615167458: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:30:17.715018405: call returned: [0, "method return time=1523727921.078149 sender=:1.64 -> destination=:1.70 serial=192 reply_serial=2\n int32 1\n", ""] 02:30:17.715167576: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:30:17.868937551: call returned: [0, "", ""] 02:30:17.869150120: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:30:18.026472616: call returned: [0, "", ""] 02:30:18.026789136: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:30:18.166221647: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:30:18.198510437: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:30:18.327821575: call returned: [0, "", ""] 02:30:23.145713588: calling as amnesia: xdotool search --name 'tails@conference.riseup.net' windowactivate --sync 02:30:23.248461819: call returned: [1, "", ""] 02:30:28.248973374: calling as amnesia: xdotool set_desktop '1' 02:30:28.334723443: call returned: [0, "", ""] 02:30:33.335077825: calling as amnesia: xdotool set_desktop '0' 02:30:33.435881315: call returned: [0, "", ""] 02:30:38.436221812: calling as amnesia: xdotool search --name 'tails@conference.riseup.net' windowactivate --sync 02:30:38.574933253: call returned: [0, "", ""] And I can join the "tails" channel on "conference.riseup.net" # features/step_definitions/pidgin.rb:405 Scenario: Adding a certificate to Pidgin # features/pidgin.feature:80 02:30:42.451604725: calling as root: echo 'hello?' 02:30:42.588035371: call returned: [0, "hello?\n", ""] 02:30:43.311286623: calling as root: nmcli device show eth0 02:30:43.596193577: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:30:43.606891021: calling as root: systemctl --quiet is-active tor@default.service 02:30:43.796268020: call returned: [0, "", ""] 02:30:43.796377809: calling as root: systemctl stop tor@default.service 02:30:43.969814526: call returned: [0, "", ""] 02:30:43.969925697: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:30:44.158913298: call returned: [0, "", ""] 02:30:44.159054560: calling as root: date -s '@1523727948' 02:30:44.326816483: call returned: [0, "Sat Apr 14 17:45:48 UTC 2018\n", ""] 02:30:44.327028106: calling as root: systemctl start tor@default.service 02:30:45.045220334: call returned: [0, "", ""] 02:30:45.045381409: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:30:45.218027828: call returned: [3, "", ""] 02:30:46.218363532: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:30:46.406523451: call returned: [3, "", ""] 02:30:47.406829714: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:30:47.584452370: call returned: [3, "", ""] 02:30:48.584691443: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:30:48.775224350: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:30:48.815229416: calling as amnesia: xdotool key Super 02:30:48.991458122: call returned: [0, "", ""] And I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 And I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:31:00.771870611: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/home/amnesia/test.crt" 02:31:00.929137599: call returned: [0, "", ""] 02:31:00.929281405: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:31:01.079314492: call returned: [0, "", ""] Then I can add a certificate from the "/home/amnesia" directory to Pidgin # features/step_definitions/pidgin.rb:480 Scenario: Failing to add a certificate to Pidgin # features/pidgin.feature:87 02:31:10.970068438: calling as root: echo 'hello?' 02:31:11.124285797: call returned: [0, "hello?\n", ""] 02:31:11.846913673: calling as root: nmcli device show eth0 02:31:12.139678807: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:31:12.147683720: calling as root: systemctl --quiet is-active tor@default.service 02:31:12.316360397: call returned: [0, "", ""] 02:31:12.316456525: calling as root: systemctl stop tor@default.service 02:31:12.504436331: call returned: [0, "", ""] 02:31:12.504935401: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:31:12.695472312: call returned: [0, "", ""] 02:31:12.695586859: calling as root: date -s '@1523727976' 02:31:12.840184259: call returned: [0, "Sat Apr 14 17:46:16 UTC 2018\n", ""] 02:31:12.840284665: calling as root: systemctl start tor@default.service 02:31:13.645804648: call returned: [0, "", ""] 02:31:13.645967677: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:31:13.809209079: call returned: [3, "", ""] 02:31:14.809532421: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:31:14.973648073: call returned: [3, "", ""] 02:31:15.973956504: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:31:16.148125671: call returned: [3, "", ""] 02:31:17.148503705: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:31:17.303988924: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:31:17.347843857: calling as amnesia: xdotool key Super 02:31:17.514214107: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 And I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:31:29.642077679: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/home/amnesia/.gnupg/test.crt" 02:31:29.760300723: call returned: [0, "", ""] 02:31:29.760517057: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:31:29.897712877: call returned: [0, "", ""] Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin # features/step_definitions/pidgin.rb:487 When I close Pidgin's certificate import failure dialog # features/step_definitions/pidgin.rb:499 And I close Pidgin's certificate manager # features/step_definitions/pidgin.rb:492 02:31:38.700490782: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/lib/live/mount/overlay/home/amnesia/.gnupg/test.crt" 02:31:38.792827255: call returned: [0, "", ""] 02:31:38.792982746: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:31:38.905343296: call returned: [0, "", ""] 02:31:56.069356954: Found fuzzy candidate picture for GtkFileChooserDesktopButton.png with similarity 0.7 Then I cannot add a certificate from the "/lib/live/mount/overlay/home/amnesia/.gnupg" directory to Pidgin # features/step_definitions/pidgin.rb:487 When I close Pidgin's certificate import failure dialog # features/step_definitions/pidgin.rb:499 And I close Pidgin's certificate manager # features/step_definitions/pidgin.rb:492 02:32:01.787383647: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/live/overlay/home/amnesia/.gnupg/test.crt" 02:32:01.876034690: call returned: [0, "", ""] 02:32:01.876184432: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:32:01.999488274: call returned: [0, "", ""] Then I cannot add a certificate from the "/live/overlay/home/amnesia/.gnupg" directory to Pidgin # features/step_definitions/pidgin.rb:487 #11584 @check_tor_leaks @fragile Scenario: Using a persistent Pidgin configuration # features/pidgin.feature:102 02:32:24.001124095: calling as root: echo 'hello?' 02:32:24.332180869: call returned: [0, "hello?\n", ""] 02:32:25.056408011: calling as root: nmcli device show eth0 02:32:25.362224562: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:32:25.380143885: calling as root: date -s '@1523728049' 02:32:25.603063748: call returned: [0, "Sat Apr 14 17:47:29 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 02:32:25.603887970: opening file /home/amnesia/.purple/accounts.xml in 'read' mode 02:32:25.744113593: read complete And Pidgin has the expected accounts configured with random nicknames # features/step_definitions/pidgin.rb:298 And the network is plugged # features/step_definitions/common_steps.rb:79 02:32:25.772082308: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:32:26.088340101: call returned: [1, "", ""] 02:32:27.088697266: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:32:27.264534683: call returned: [1, "", ""] 02:32:28.264862050: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:32:28.458857884: call returned: [3, "", ""] 02:32:29.459109187: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:32:29.651882453: call returned: [3, "", ""] 02:32:30.652131563: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:32:30.925438010: call returned: [0, "", ""] 02:32:30.925771363: calling as root: test -e /run/tordate/done 02:32:31.166464273: call returned: [0, "", ""] 02:32:31.166633057: calling as root: test -e /run/htpdate/success 02:32:31.420021004: call returned: [1, "", ""] 02:32:32.420271936: calling as root: test -e /run/htpdate/success 02:32:32.692198585: call returned: [1, "", ""] 02:32:33.692473076: calling as root: test -e /run/htpdate/success 02:32:33.885592251: call returned: [1, "", ""] 02:32:34.885840715: calling as root: test -e /run/htpdate/success 02:32:35.225852209: call returned: [0, "", ""] 02:32:35.226106146: calling as root: systemctl is-system-running 02:32:35.564247098: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:32:35.565493203: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:35.919990314: call returned: [1, "", ""] 02:32:36.920326199: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:37.081094370: call returned: [1, "", ""] 02:32:38.081521282: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:38.239109264: call returned: [1, "", ""] 02:32:39.239381854: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:39.430939613: call returned: [1, "", ""] 02:32:40.431212937: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:40.586209612: call returned: [1, "", ""] 02:32:41.586531511: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:41.781781747: call returned: [1, "", ""] 02:32:42.782121618: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:42.946697674: call returned: [1, "", ""] 02:32:43.947073215: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:44.127500091: call returned: [1, "", ""] 02:32:45.127852488: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:45.338587345: call returned: [1, "", ""] 02:32:46.338829082: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:46.499367090: call returned: [1, "", ""] 02:32:47.499716526: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:47.694418962: call returned: [1, "", ""] 02:32:48.694722952: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:48.848854800: call returned: [1, "", ""] 02:32:49.849139728: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:50.041204274: call returned: [1, "", ""] 02:32:51.041579546: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:51.207359419: call returned: [1, "", ""] 02:32:52.207651993: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:52.378735181: call returned: [1, "", ""] 02:32:53.379005412: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:53.600310290: call returned: [1, "", ""] 02:32:54.600558212: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:54.785494848: call returned: [1, "", ""] 02:32:55.785852564: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:55.963857535: call returned: [1, "", ""] 02:32:56.964176771: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:57.125597763: call returned: [1, "", ""] 02:32:58.126009093: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:58.288843704: call returned: [1, "", ""] 02:32:59.289169289: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:32:59.464306579: call returned: [1, "", ""] 02:33:00.464613451: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:33:00.709246242: call returned: [1, "", ""] 02:33:01.709524493: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:33:01.959174962: call returned: [1, "", ""] 02:33:02.959401976: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:33:03.158993457: call returned: [1, "", ""] 02:33:04.159319784: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:33:04.363120217: call returned: [1, "", ""] 02:33:05.363465823: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:33:05.531055515: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 02:33:05.531964950: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node789 = dogtail.tree.root.application('gnome-shell') 02:33:06.402071733: execution complete 02:33:07.124303230: executing Python as amnesia: node790 = node789.child('No Notifications', roleName='label') 02:33:08.390300724: execution complete 02:33:08.390420481: executing Python as amnesia: node791 = node789.child('No Notifications', roleName='label') 02:33:09.482330567: execution complete And all notifications have disappeared # features/step_definitions/common_steps.rb:441 02:33:09.569414351: calling as amnesia: xdotool key Super 02:33:09.745651695: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 Then I see Pidgin's account manager window # features/step_definitions/pidgin.rb:325 When I create my XMPP account # features/step_definitions/pidgin.rb:76 And I close Pidgin's account manager window # features/step_definitions/pidgin.rb:329 02:33:35.367978364: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:33:35.620901640: call returned: [0, "", ""] 02:33:35.621054304: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:35.903997266: call returned: [0, "", ""] 02:33:35.904290212: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:33:36.060311027: call returned: [0, "method return time=1523728120.018441 sender=:1.63 -> destination=:1.66 serial=100 reply_serial=2\n int32 5921\n", ""] 02:33:36.060468552: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:33:36.276001982: call returned: [0, "", ""] 02:33:36.276126780: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:36.482298832: call returned: [0, "", ""] 02:33:36.482425658: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:33:36.691889931: call returned: [0, "", ""] 02:33:36.692011426: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:36.842270820: call returned: [0, "", ""] 02:33:36.842448279: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:33:36.969824289: call returned: [0, "method return time=1523728120.927467 sender=:1.63 -> destination=:1.67 serial=109 reply_serial=2\n int32 0\n", ""] 02:33:36.969966596: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:33:37.151857501: call returned: [0, "", ""] 02:33:37.151975986: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:37.349169906: call returned: [0, "", ""] 02:33:38.349554120: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:33:38.551546527: call returned: [0, "", ""] 02:33:38.551691677: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:38.772747590: call returned: [0, "", ""] 02:33:38.772906469: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:33:38.922069192: call returned: [0, "method return time=1523728122.880008 sender=:1.63 -> destination=:1.68 serial=189 reply_serial=2\n int32 5921\n", ""] 02:33:38.922259630: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:33:39.154681585: call returned: [0, "", ""] 02:33:39.154802762: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:39.391917567: call returned: [0, "", ""] 02:33:39.392061795: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:33:39.631931783: call returned: [0, "", ""] 02:33:39.632057309: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:39.859778095: call returned: [0, "", ""] 02:33:39.859934733: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:5921 02:33:39.990231681: call returned: [0, "method return time=1523728123.949489 sender=:1.63 -> destination=:1.69 serial=198 reply_serial=2\n int32 1\n", ""] 02:33:39.990358740: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:33:40.224656281: call returned: [0, "", ""] 02:33:40.224831656: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:33:40.439165353: call returned: [0, "", ""] 02:33:40.439348890: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:33:40.628568283: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:33:40.665562413: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:33:40.786984596: call returned: [0, "", ""] When I close Pidgin # features/step_definitions/pidgin.rb:333 02:33:41.421399286: opening file /home/amnesia/.purple/accounts.xml in 'read' mode 02:33:41.654124094: read complete And I take note of the configured Pidgin accounts # features/step_definitions/pidgin.rb:436 02:33:41.669849532: spawning as root: poweroff And I shutdown Tails and wait for the computer to power off # features/step_definitions/common_steps.rb:532 Given a computer # features/step_definitions/common_steps.rb:46 02:34:38.711471621: calling as root: echo 'hello?' 02:34:38.878107736: call returned: [0, "hello?\n", ""] 02:34:38.878351094: calling as root: service tor status 02:34:39.083618284: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 02:34:39.083886942: opening file /etc/tor/torrc in 'append' mode 02:34:39.303053140: append complete 02:34:45.110421727: calling as root: loginctl 02:34:45.271281546: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 02:34:46.271586547: calling as root: loginctl 02:34:46.471888545: call returned: [0, " SESSION UID USER SEAT TTY \n c5 0 root n/a \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n3 sessions listed.\n", "Failed to get session path: No such device or address\n"] 02:34:54.360122837: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 02:34:54.453718052: call returned: [0, "", ""] 02:34:54.453834064: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 02:34:54.530847200: call returned: [0, "", ""] 02:34:54.531092194: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:34:54.783474114: call returned: [1, "", ""] 02:34:55.783831955: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:34:55.995176303: call returned: [1, "", ""] 02:34:56.995413289: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:34:57.175495101: call returned: [1, "", ""] 02:34:58.175712623: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:34:58.407227350: call returned: [1, "", ""] 02:34:59.407461756: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:34:59.678674337: call returned: [1, "", ""] 02:35:00.679041149: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:35:00.903738223: call returned: [3, "", ""] 02:35:01.904010623: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:35:02.149555595: call returned: [0, "", ""] 02:35:02.149829968: calling as root: test -e /run/tordate/done 02:35:02.490163590: call returned: [0, "", ""] 02:35:02.490414856: calling as root: test -e /run/htpdate/success 02:35:02.824764332: call returned: [1, "", ""] 02:35:03.825020480: calling as root: test -e /run/htpdate/success 02:35:04.007599437: call returned: [1, "", ""] 02:35:05.007861577: calling as root: test -e /run/htpdate/success 02:35:05.192388389: call returned: [0, "", ""] 02:35:05.192703932: calling as root: systemctl is-system-running 02:35:05.348780583: call returned: [0, "running\n", ""] 02:35:05.349101304: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node792 = dogtail.tree.root.application('gnome-shell') 02:35:06.217482301: execution complete 02:35:06.940917209: executing Python as amnesia: node793 = node792.child('No Notifications', roleName='label') 02:35:07.949991087: execution complete 02:35:07.950159466: executing Python as amnesia: node794 = node792.child('No Notifications', roleName='label') 02:35:09.254396740: execution complete 02:35:09.306819174: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:09.517137283: call returned: [1, "", ""] 02:35:10.517436468: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:10.680579904: call returned: [1, "", ""] 02:35:11.680839695: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:11.871112699: call returned: [1, "", ""] 02:35:12.871349133: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:13.030036612: call returned: [1, "", ""] 02:35:14.030326605: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:14.205080819: call returned: [1, "", ""] 02:35:15.205306609: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:15.408858469: call returned: [1, "", ""] 02:35:16.409205626: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:16.589752980: call returned: [1, "", ""] 02:35:17.590100422: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:17.791185530: call returned: [1, "", ""] 02:35:18.791508539: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:18.971251825: call returned: [1, "", ""] 02:35:19.971581042: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:20.157374055: call returned: [1, "", ""] 02:35:21.157697290: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:21.346093047: call returned: [1, "", ""] 02:35:22.346400902: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:22.523323437: call returned: [1, "", ""] 02:35:23.523678199: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:23.719865363: call returned: [1, "", ""] 02:35:24.720055473: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:24.884880347: call returned: [1, "", ""] 02:35:25.885214079: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:26.053443957: call returned: [1, "", ""] 02:35:27.053786630: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:27.234291500: call returned: [1, "", ""] 02:35:28.234591798: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:28.417771992: call returned: [1, "", ""] 02:35:29.418075586: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:29.622717511: call returned: [1, "", ""] 02:35:30.623029812: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:30.808928661: call returned: [1, "", ""] 02:35:31.809178088: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:31.969223142: call returned: [1, "", ""] 02:35:32.969493082: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:33.244614299: call returned: [1, "", ""] 02:35:34.244922929: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:34.410222346: call returned: [1, "", ""] 02:35:35.410560293: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:35.582268001: call returned: [1, "", ""] 02:35:36.582516450: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:35:36.796205445: call returned: [0, "", ""] And I start Tails from USB drive "__internal" and I login with persistence enabled # features/step_definitions/common_steps.rb:137 02:35:36.797583945: opening file /home/amnesia/.purple/accounts.xml in 'read' mode 02:35:37.039022411: read complete And Pidgin has the expected persistent accounts configured # features/step_definitions/pidgin.rb:444 02:35:37.092729320: calling as amnesia: xdotool key Super 02:35:37.264320260: call returned: [0, "", ""] When I start "Pidgin Internet Messenger" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 02:35:39.170556491: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:35:39.465499482: call returned: [0, "", ""] 02:35:39.465660851: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:39.737581602: call returned: [0, "", ""] 02:35:39.737790197: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:35:40.147872432: call returned: [1, "", "Error org.freedesktop.DBus.Error.ServiceUnknown: The name im.pidgin.purple.PurpleService was not provided by any .service files\n"] 02:35:40.148213703: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:35:40.416710797: call returned: [0, "", ""] 02:35:40.416888809: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:40.748614401: call returned: [0, "", ""] 02:35:41.748906898: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:35:42.080060834: call returned: [0, "", ""] 02:35:42.080183971: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:42.397850028: call returned: [0, "", ""] 02:35:42.398007662: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:35:48.630741836: call returned: [0, "method return time=1523728251.743905 sender=:1.64 -> destination=:1.65 serial=93 reply_serial=2\n int32 368\n", ""] 02:35:48.630872731: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:35:48.857801832: call returned: [0, "", ""] 02:35:48.857951563: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:49.173747612: call returned: [0, "", ""] 02:35:49.173865988: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:35:49.498521427: call returned: [0, "", ""] 02:35:49.498645897: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:49.697423351: call returned: [0, "", ""] 02:35:49.697599833: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:368 02:35:49.839962839: call returned: [0, "method return time=1523728252.955291 sender=:1.64 -> destination=:1.68 serial=99 reply_serial=2\n int32 0\n", ""] 02:35:49.840091276: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:35:50.088133665: call returned: [0, "", ""] 02:35:50.088266304: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:50.313886930: call returned: [0, "", ""] 02:35:51.314344947: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:35:51.512074976: call returned: [0, "", ""] 02:35:51.512317944: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:51.786885601: call returned: [0, "", ""] 02:35:51.787092267: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountsFind string:testtailssib1@riseup.net string:prpl-jabber 02:35:51.881798923: call returned: [0, "method return time=1523728254.996300 sender=:1.64 -> destination=:1.69 serial=144 reply_serial=2\n int32 368\n", ""] 02:35:51.881954832: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:35:52.111368717: call returned: [0, "", ""] 02:35:52.111489422: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:52.355101284: call returned: [0, "", ""] 02:35:52.355222994: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled 02:35:52.544800920: call returned: [0, "", ""] 02:35:52.544919701: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:52.788768439: call returned: [0, "", ""] 02:35:52.788937044: calling as amnesia: dbus-send --print-reply --dest=im.pidgin.purple.PurpleService /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.PurpleAccountIsConnected int32:368 02:35:52.928312214: call returned: [0, "method return time=1523728256.044405 sender=:1.64 -> destination=:1.70 serial=189 reply_serial=2\n int32 1\n", ""] 02:35:52.928479461: calling as root: mv /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf.disabled /etc/dbus-1/session.d/im.pidgin.purple.PurpleService.conf 02:35:53.117593264: call returned: [0, "", ""] 02:35:53.117746263: calling as root: pkill -HUP -u amnesia 'dbus-daemon' 02:35:53.375566918: call returned: [0, "", ""] 02:35:53.375793559: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:35:53.557589214: call returned: [0, "", ""] Then Pidgin automatically enables my XMPP account # features/step_definitions/pidgin.rb:101 02:35:53.592025582: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:35:53.718507832: call returned: [0, "", ""] 02:35:59.120098477: calling as amnesia: xclip -o 02:35:59.300553183: call returned: [0, "conference.riseup.net", ""] 02:36:03.426337058: calling as amnesia: xdotool search --name 'KpuQ0RClTaxFK@conference.riseup.net' windowactivate --sync 02:36:03.626257130: call returned: [0, "", ""] And I join some empty multi-user chat # features/step_definitions/pidgin.rb:188 02:36:03.660481435: calling as root: sysctl -w kernel.printk_ratelimit=0 02:36:03.884596862: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:36:03.884733103: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:36:04.080683654: call returned: [0, "2018-04-14 17:51:07\n", ""] Given I start monitoring the AppArmor log of "/usr/bin/pidgin" # features/step_definitions/common_steps.rb:853 02:36:04.081553828: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/home/amnesia/.gnupg/test.crt" 02:36:04.232540821: call returned: [0, "", ""] 02:36:04.232666376: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:36:04.390563861: call returned: [0, "", ""] Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin # features/step_definitions/pidgin.rb:487 02:36:11.660340662: calling as root: journalctl --full --no-pager --since='2018-04-14 17:51:07' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/pidgin" name="/home/amnesia/.gnupg/test.crt"' 02:36:11.897443846: call returned: [0, "Apr 14 17:51:14 amnesia kernel: audit: type=1400 audit(1523728274.544:53): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/pidgin\" name=\"/home/amnesia/.gnupg/test.crt\" pid=10303 comm=\"pidgin\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/pidgin" from opening "/home/amnesia/.gnupg/test.crt" # features/step_definitions/common_steps.rb:865 When I close Pidgin's certificate import failure dialog # features/step_definitions/pidgin.rb:499 And I close Pidgin's certificate manager # features/step_definitions/pidgin.rb:492 02:36:13.110607383: calling as root: sysctl -w kernel.printk_ratelimit=0 02:36:13.307994171: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:36:13.308142713: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:36:13.515789068: call returned: [0, "2018-04-14 17:51:16\n", ""] Given I restart monitoring the AppArmor log of "/usr/bin/pidgin" # features/step_definitions/common_steps.rb:853 02:36:13.517457532: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/live/persistence/TailsData_unlocked/gnupg/test.crt" 02:36:13.656697817: call returned: [0, "", ""] 02:36:13.656834118: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:36:13.764596534: call returned: [0, "", ""] Then I cannot add a certificate from the "/live/persistence/TailsData_unlocked/gnupg" directory to Pidgin # features/step_definitions/pidgin.rb:487 02:36:30.905617434: calling as root: journalctl --full --no-pager --since='2018-04-14 17:51:16' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/pidgin" name="/live/persistence/TailsData_unlocked/gnupg/test.crt"' 02:36:31.167072602: call returned: [0, "Apr 14 17:51:33 amnesia kernel: audit: type=1400 audit(1523728293.812:60): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/pidgin\" name=\"/live/persistence/TailsData_unlocked/gnupg/test.crt\" pid=10303 comm=\"pidgin\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/pidgin" from opening "/live/persistence/TailsData_unlocked/gnupg/test.crt" # features/step_definitions/common_steps.rb:865 When I close Pidgin's certificate import failure dialog # features/step_definitions/pidgin.rb:499 And I close Pidgin's certificate manager # features/step_definitions/pidgin.rb:492 02:36:32.386769435: calling as amnesia: cp "/usr/share/ca-certificates/mozilla/CNNIC_ROOT.crt" "/home/amnesia/test.crt" 02:36:32.464589856: call returned: [0, "", ""] 02:36:32.464717069: calling as amnesia: xdotool search --name 'Buddy List' windowactivate --sync 02:36:32.588449442: call returned: [0, "", ""] Then I can add a certificate from the "/home/amnesia" directory to Pidgin # features/step_definitions/pidgin.rb:480 @source Feature: check PO files As a Tails developer, when I build Tails, I want to make sure the PO files in use are correct. @doc Scenario: check all PO files # features/po.feature:7 Given I am in the Git branch being tested # features/step_definitions/po.rb:1 Then all the PO files should be correct # features/step_definitions/po.rb:5 @product Feature: Regressions tests Scenario: tails-debugging-info does not leak information # features/regression_tests.feature:4 02:36:59.339676580: calling as root: echo 'hello?' 02:36:59.925852476: call returned: [0, "hello?\n", ""] 02:37:00.648458328: calling as root: nmcli device show eth0 02:37:00.916168213: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:37:00.929755413: calling as root: date -s '@1523728325' 02:37:01.086523184: call returned: [0, "Sat Apr 14 17:52:05 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:37:01.087985003: opening file /secret in 'append' mode 02:37:01.109632958: append complete 02:37:01.109832989: calling as root: chmod u=rw,go= /secret 02:37:01.265019444: call returned: [0, "", ""] 02:37:01.265399914: calling as root: chown root:root /secret 02:37:01.419825714: call returned: [0, "", ""] 02:37:01.419974385: opening file /usr/local/sbin/tails-debugging-info in 'read' mode 02:37:01.835416364: read complete Then tails-debugging-info is not susceptible to symlink attacks # features/step_definitions/checks.rb:192 @product Feature: Tails has a sane default configuration Scenario: The live user is setup correctly # features/sane_defaults.feature:4 02:37:04.214021672: calling as root: echo 'hello?' 02:37:04.462731368: call returned: [0, "hello?\n", ""] 02:37:05.185384499: calling as root: nmcli device show eth0 02:37:05.462351021: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:37:05.472573698: calling as root: date -s '@1523728329' 02:37:05.640680545: call returned: [0, "Sat Apr 14 17:52:09 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:37:05.642158967: calling as root: test -e /var/lib/live/config/user-setup 02:37:05.795626652: call returned: [0, "", ""] 02:37:05.795795841: calling as root: . /etc/live/config/username.conf; echo $LIVE_USERNAME 02:37:06.009176917: call returned: [0, "amnesia\n", ""] Then the live user has been setup by live-boot # features/step_definitions/checks.rb:38 02:37:06.010450358: calling as root: groups amnesia 02:37:06.241823653: call returned: [0, "amnesia : amnesia lp dialout cdrom floppy video plugdev netdev vboxsf lpadmin scanner\n", ""] And the live user is a member of only its own group and "cdrom dialout floppy video plugdev netdev scanner lp lpadmin vboxsf" # features/step_definitions/checks.rb:46 02:37:06.243147927: calling as root: test -d /home/amnesia 02:37:06.384848061: call returned: [0, "", ""] 02:37:06.384966214: calling as root: stat -c %U:%G /home/amnesia 02:37:06.588072222: call returned: [0, "amnesia:amnesia\n", ""] 02:37:06.588181481: calling as root: stat -c %a /home/amnesia 02:37:06.772528880: call returned: [0, "700\n", ""] And the live user owns its home dir and it has normal permissions # features/step_definitions/checks.rb:57 Scenario: No unexpected network services # features/sane_defaults.feature:10 02:37:08.602250284: calling as root: echo 'hello?' 02:37:08.864352407: call returned: [0, "hello?\n", ""] 02:37:09.589751478: calling as root: nmcli device show eth0 02:37:09.856497287: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:37:09.869554318: calling as root: date -s '@1523728333' 02:37:10.036289900: call returned: [0, "Sat Apr 14 17:52:13 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 When the network is plugged # features/step_definitions/common_steps.rb:79 02:37:10.063619728: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:10.298094390: call returned: [1, "", ""] 02:37:11.298415677: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:11.435569069: call returned: [1, "", ""] 02:37:12.435923802: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:12.614318993: call returned: [1, "", ""] 02:37:13.614581138: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:13.797699428: call returned: [1, "", ""] 02:37:14.798025152: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:14.942131967: call returned: [1, "", ""] 02:37:15.942442693: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:16.116323034: call returned: [1, "", ""] 02:37:17.116541618: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:17.439329707: call returned: [1, "", ""] 02:37:18.439582170: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:18.634669905: call returned: [3, "", ""] 02:37:19.634993607: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:19.825309192: call returned: [3, "", ""] 02:37:20.825749988: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:20.971756853: call returned: [0, "", ""] 02:37:20.972020689: calling as root: test -e /run/tordate/done 02:37:21.230049632: call returned: [0, "", ""] 02:37:21.230433902: calling as root: test -e /run/htpdate/success 02:37:21.391187729: call returned: [1, "", ""] 02:37:22.391475658: calling as root: test -e /run/htpdate/success 02:37:22.555894512: call returned: [0, "", ""] 02:37:22.556106520: calling as root: systemctl is-system-running 02:37:22.685606591: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:37:22.687232700: calling as root: ss -ltupn 02:37:23.013048533: call returned: [0, "Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port \nudp UNCONN 0 0 *:68 *:* users:((\"dhclient\",pid=6843,fd=6))\nudp UNCONN 0 0 127.0.0.1:5353 *:* users:((\"tor\",pid=7286,fd=9))\ntcp LISTEN 0 128 127.0.0.1:9040 *:* users:((\"tor\",pid=7286,fd=10))\ntcp LISTEN 0 5 127.0.0.1:631 *:* users:((\"cupsd\",pid=4971,fd=9))\ntcp LISTEN 0 128 127.0.0.1:6136 *:* users:((\"monkeysphere-va\",pid=4796,fd=4))\ntcp LISTEN 0 128 127.0.0.1:9050 *:* users:((\"tor\",pid=7286,fd=6))\ntcp LISTEN 0 5 127.0.0.1:9051 *:* users:((\"onion-grater\",pid=1228,fd=3))\ntcp LISTEN 0 128 127.0.0.1:9052 *:* users:((\"tor\",pid=7286,fd=11))\ntcp LISTEN 0 128 127.0.0.1:9150 *:* users:((\"tor\",pid=7286,fd=8))\ntcp LISTEN 0 128 127.0.0.1:9062 *:* users:((\"tor\",pid=7286,fd=7))\n", ""] Then no unexpected services are listening for network connections # features/step_definitions/checks.rb:67 Service 'dhclient' is listening on *:68 but has an exception @product Feature: Shutdown applet Scenario: The shutdown applet can shutdown Tails # features/shutdown_applet.feature:4 02:37:25.280414611: calling as root: echo 'hello?' 02:37:25.415696171: call returned: [0, "hello?\n", ""] 02:37:26.137805794: calling as root: nmcli device show eth0 02:37:26.411215152: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:37:26.420608992: calling as root: systemctl --quiet is-active tor@default.service 02:37:26.571890838: call returned: [0, "", ""] 02:37:26.572027995: calling as root: systemctl stop tor@default.service 02:37:26.774615355: call returned: [0, "", ""] 02:37:26.774714717: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:37:26.939219979: call returned: [0, "", ""] 02:37:26.939335102: calling as root: date -s '@1523728351' 02:37:27.128737787: call returned: [0, "Sat Apr 14 17:52:31 UTC 2018\n", ""] 02:37:27.128851841: calling as root: systemctl start tor@default.service 02:37:27.915518018: call returned: [0, "", ""] 02:37:27.915713532: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:28.073220145: call returned: [3, "", ""] 02:37:29.073550549: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:29.269864199: call returned: [3, "", ""] 02:37:30.270268590: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:30.471854208: call returned: [3, "", ""] 02:37:31.472119674: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:31.662582432: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 When I request a shutdown using the emergency shutdown applet # features/step_definitions/common_steps.rb:537 Slept for 5 seconds Then Tails eventually shuts down # features/step_definitions/common_steps.rb:521 Scenario: The shutdown applet can reboot Tails # features/shutdown_applet.feature:9 02:37:42.450239472: calling as root: echo 'hello?' 02:37:42.592081055: call returned: [0, "hello?\n", ""] 02:37:43.316660257: calling as root: nmcli device show eth0 02:37:43.596778707: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:37:43.607714329: calling as root: systemctl --quiet is-active tor@default.service 02:37:43.781320666: call returned: [0, "", ""] 02:37:43.781476163: calling as root: systemctl stop tor@default.service 02:37:43.943264641: call returned: [0, "", ""] 02:37:43.943387598: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:37:44.107689405: call returned: [0, "", ""] 02:37:44.107819744: calling as root: date -s '@1523728368' 02:37:44.302617419: call returned: [0, "Sat Apr 14 17:52:48 UTC 2018\n", ""] 02:37:44.302718551: calling as root: systemctl start tor@default.service 02:37:45.092313209: call returned: [0, "", ""] 02:37:45.092521884: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:45.226452162: call returned: [3, "", ""] 02:37:46.226863438: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:46.427243781: call returned: [3, "", ""] 02:37:47.427639421: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:47.632071144: call returned: [3, "", ""] 02:37:48.632473740: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:37:48.830398929: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 When I request a reboot using the emergency shutdown applet # features/step_definitions/common_steps.rb:552 Slept for 5 seconds 02:38:15.901238567: Failed to find fuzzy candidate picture for TailsGreeter.png 02:38:31.484903484: Found fuzzy candidate picture for TailsGreeter.png with similarity 0.6 Then Tails eventually restarts # features/step_definitions/common_steps.rb:521 @product Feature: Logging in via SSH As a Tails user When I connect to SSH servers on the Internet all Internet traffic should flow only through Tor Background: # features/ssh.feature:7 02:38:33.233788144: calling as root: echo 'hello?' 02:38:33.382820731: call returned: [0, "hello?\n", ""] 02:38:34.107440896: calling as root: nmcli device show eth0 02:38:34.396042872: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:38:34.414522791: calling as root: systemctl --quiet is-active tor@default.service 02:38:34.580777094: call returned: [0, "", ""] 02:38:34.580876086: calling as root: systemctl stop tor@default.service 02:38:34.777858748: call returned: [0, "", ""] 02:38:34.777969469: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:38:34.957953301: call returned: [0, "", ""] 02:38:34.958070731: calling as root: date -s '@1523728419' 02:38:35.148763249: call returned: [0, "Sat Apr 14 17:53:39 UTC 2018\n", ""] 02:38:35.148866813: calling as root: systemctl start tor@default.service 02:38:35.852746947: call returned: [0, "", ""] 02:38:35.852912256: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:36.025563550: call returned: [3, "", ""] 02:38:37.025903217: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:37.166441102: call returned: [3, "", ""] 02:38:38.166731446: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:38.348297476: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 @check_tor_leaks Scenario: Connecting to an SSH server on the Internet # features/ssh.feature:11 02:38:38.349969136: calling as amnesia: install -m 0700 -d '/home/amnesia/.ssh/' 02:38:38.437279580: call returned: [0, "", ""] 02:38:38.437853463: calling as amnesia: echo '-----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEA1dzPWseaW9KIw/LdrnqP6kaJAgNf+nyJggQzvwmKtNMZ5C4k rbmmFO+dMe7pCmy5du2hGeuM6hQVejhX3YsXXnUfoFGgKC0s8A/XF/Ii7mdb9Xtl ComR9xF/HHfuSeRXskVApiH5UkArjss5FNidwYrSTgIaUzUwpJh0mTzGiEQBWUBD kQ9LpNouxsz7mDZcwXXtf+J8+AfTFByWc+FZLIJAghQlIsmqJucMBfkM2/AkmgUX DqQKmigmyqorVWV4msl0Pb7EFLA2kab6y+mnQR9Iwa4pVrWSc+9Y+lb8l0Um2q5v ldeDqukECTBWFwMu7C1vs7tzZ3zY+whTzx37FLkBjkO668joqWoYk17iQb6kLlVj CKO3S7X26y+uiTzmR2ipXPQsbSQHC3HfbgcBlNqfWE2iS/iD7NjLxL2TSi0lXx8J fhdWI/q748h1qt+/a2QT//GjzxXptq0p/+mLbyn5ZgCLhBOVxPBfOby5GkJs8YNg qEHV3ovdXur+rY00GKmEwd86uPJuDGaQGQyWYr0yYPRIkUpCt9yIdJbZ+5/o0ODU BAWHTSAC5+rqV8hTfoqeNaLxo5TD1yVYzF2zb9LZX9mTmAz6whw+l2oHs2CTKlYS SNsDWUGjbZW/XJZpKj1hLJhGzTWX668elcABsCqSAsuAove3LSrCwsj11r0CAwEA AQKCAgEAu53JMySk4CUk4nJv1B+lnatfiqqXStJyd+Nj2hZu3w/LSQjKGLYjY36K c0Hao9CaLCFwEaM5rikMZnqDatIZID60DhtN27E2GSxsUI+V4Xw/im5ESChEK3Ho B3uXSq/N15E1lAl+BpBRJiZW31jhnOdCdDkYCyNAl0VAFSbiLK0sWbYtEFdQz0Cx hKpTlkcqvHXOc0CozZdfr+ccfnCVoJxsJzGxGoG8igBr5dmFVHWqRoxsm+WBf5f1 4BnFhldMpM5S8dAniNbGKKVKpBVJK7JcS72UeoM0Bg1WC9jAI50A5xvcvKGi2w8t ATqsa+fZBE0gD5dFOOaoHCJEFBGDMCFrm0eEfrrAtp2lAf1iFmWeq6TY9kgYEX+X 6QDE9cCIpYfx1RTvMtvlLryFt3TTZppKv3GQYI6DWmVx/+sHI29JAghhgJnjtQgM 7yqt0ap36WsGZhlnwk7bGW3AQIkxtpuHz1pMFJupBwR/zD2REltW9Gagqmtw4Om6 fUniQfuXBgRuYtPgQ8T2LLp6Z7rDx8AVDS89kz36UwApBdIk/Ull0VR4xACmq1WN 5Z+wPh+Sq3vAK/FJO5hQ0IPf2zFhFNSYEx/iE/j1SVQy11dtVbJEW0LOUzKnKDDX nB1YBKhD4tLWkLJgLBEh5jBsZMVD5JYpIC3Xeo4leaMTm6f+14ECggEBAPm4k9Dc ADY4qLbdJC/mLSDZuKYvW6Sr6qXKmf1u0nbrRW37aePySRushvjDjzJPdcYGaisI 6IAOWjeAobsHjEcbmzwXBk1JB/Sz0U9pJqZuFKjOgoCvxAdcn3d1n8tvhHxvMvCU +i5LkFtIfP5uLxMX4pZKV8sy7twrZ7C4gCRs8yjtZ6cxPnrRB6OTIDSYfeOOopfH dOiqdRxHS1h7KrVrMLrx0rNA6bNxuQQeyDwN6qMhKKoWZs6cj5jpiLs7ryLVVNwE orVmd1uuzoN5z1XUi/KM3G+Qlcq1bybCT77b5AlJ3yZpRqXaR+cFD5zxi4JeS8vj Faj6EpLWE34qvI0CggEBANs9aojQe9CrtEzXSYV47vmeCNiiqoZZhA/61jhkyMg2 xVBXmW2o98S+md+vzhPdso2ffFVOfqCvT3+e8ni7ZFGKafIoz/1lzUsHnxkJZer/ aScCIB+qo2WMpy13+D1yE36AFEIus0C/qbl43sFixrmQIxbrXk+HEfE0fqhNBGj6 bwkdwRCU78Vf3hC5581+oFesJQCUp+JnEpI/8PB0WgCJB63wHk+r73DWD26gwP/w W8N1klS+pcTufKE+nmseybyc29ZTSOVNF9D5K/9RG3YWrRqf2rdUHeE940SpPhrP nRta2eK+qHC0vxVyxrg0p84IbL3zDwYEn4UjRVR9LvECggEAUibeuf8mMrBBEKd/ mCJpBj2Z+VHrHClScGhOcIlcw7JyjNQA6fRzCJ+hZ4UuPqbVX+gMVUwA8N/H3ip7 CkRZaaszTnlkoVg9PctKOI2nIWllcoM9e4hXPPTDoVEY2Jw/QZBzeaIJC+HgA6e9 NxaYdfeNm1OpvjdrTRMacZDA1zrgY752MxKIM29AzBdCqQrhn1L1OmlrlH8/N6Zc qycZzcUNqvKTFlVsjJQFAc3+oYMShcgK0Km9+IqY0v1A9heUbikwWZFM1dB3w7mm Rqp0AxCBWbHtcuZl4OH/Rwj1oxxD0Kp0tvY7P6SnsuB/Wmo8Mw9CcDisj4J1SckT cJYuoQKCAQEAqw0T3YKr13bfyUP+/MAJ039Vb5Aac4/L1ZvjH0Si0nLJJ5HxBvnZ tgrvivJjWmSSNqTEINqJOV0OLYgZrdCmyGexmVn2TMHslilwG9yVQ+/aXrDt10cP DN/cX0FG0Mn8I6pSJADDojTneumvAjrKyWSHvA4PGwVLHmHSoATW+ADMONSaGRHa sKfHXk1taYruFvkcNYPGKII6nxh8J17gCaLf9vls7MQ8oFCi4bFSY11oeut0K+JC +48GddehSfpPc3T+oA2CxkSL3GNLzHu/bTbr/+XQg1CBr4bVlnBlIA3zibAsZxhR 2v1qSJWwLXAHrFwuW1UT16Irw3htUyoIQQKCAQBVUAkFfDTeQygHCl6I/wmGIqXK DXF8ng9vvo8yN6pNzHhx+0us59AfpMiyNm+PaC6cgGb9ni83H6Iwwzxqy0tKRP1z FPQl2jdA95ZQwMuVPzWbNPq8a9dc3YRhhzBb8M8Nsk2ByjFEfTObaPeDDr7g2lZG ImIY1kylD2ZgrAkoC3CDH3ptY3QbViBEPzC/d73CONdx4752LG2Gqg8MytotUup3 P/1tJ97Z0fwJnO1mlRKSeuPI9+nMO9IVgKZR8LIw+9CFgS4JWBOht8Agd2oIK4km PY1JkftKOwjRvNuZrt8P95wNKL+h/KYTdn+qsvBU7nO0PbDegRSm5hqVQAW3 -----END RSA PRIVATE KEY----- ' > '/home/amnesia/.ssh/id_rsa' 02:38:38.922034131: call returned: [0, "", ""] 02:38:38.922184426: calling as amnesia: echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDV3M9ax5pb0ojD8t2ueo/qRokCA1/6fImCBDO/CYq00xnkLiStuaYU750x7ukKbLl27aEZ64zqFBV6OFfdixdedR+gUaAoLSzwD9cX8iLuZ1v1e2UKiZH3EX8cd+5J5FeyRUCmIflSQCuOyzkU2J3BitJOAhpTNTCkmHSZPMaIRAFZQEORD0uk2i7GzPuYNlzBde1/4nz4B9MUHJZz4VksgkCCFCUiyaom5wwF+Qzb8CSaBRcOpAqaKCbKqitVZXiayXQ9vsQUsDaRpvrL6adBH0jBrilWtZJz71j6VvyXRSbarm+V14Oq6QQJMFYXAy7sLW+zu3NnfNj7CFPPHfsUuQGOQ7rryOipahiTXuJBvqQuVWMIo7dLtfbrL66JPOZHaKlc9CxtJAcLcd9uBwGU2p9YTaJL+IPs2MvEvZNKLSVfHwl+F1Yj+rvjyHWq379rZBP/8aPPFem2rSn/6YtvKflmAIuEE5XE8F85vLkaQmzxg2CoQdXei91e6v6tjTQYqYTB3zq48m4MZpAZDJZivTJg9EiRSkK33Ih0ltn7n+jQ4NQEBYdNIALn6upXyFN+ip41ovGjlMPXJVjMXbNv0tlf2ZOYDPrCHD6XagezYJMqVhJI2wNZQaNtlb9clmkqPWEsmEbNNZfrrx6VwAGwKpICy4Ci97ctKsLCyPXWvQ== user@isotester' > '/home/amnesia/.ssh/id_rsa.pub' 02:38:39.090064613: call returned: [0, "", ""] 02:38:39.090224906: calling as amnesia: chmod 0600 '/home/amnesia/.ssh/'id* 02:38:39.171875868: call returned: [0, "", ""] Given I have the SSH key pair for an SSH server # features/step_definitions/ssh.rb:41 02:38:39.173294432: calling as root: pidof -x -o '%PPID' ssh 02:38:39.345106168: call returned: [1, "", ""] 02:38:39.345901314: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:38:39.521312974: call returned: [1, "", ""] 02:38:39.561837378: calling as amnesia: xdotool key Super 02:38:39.729969698: call returned: [0, "", ""] 02:38:44.725172305: calling as root: pidof -x -o '%PPID' ssh 02:38:44.915885200: call returned: [0, "8677\n", ""] When I connect to an SSH server on the Internet # features/step_definitions/ssh.rb:83 Then I have sucessfully logged into the SSH server # features/step_definitions/ssh.rb:112 @check_tor_leaks Scenario: Connecting to an SSH server on the LAN # features/ssh.feature:17 02:38:51.853183737: calling as root: echo 'hello?' 02:38:52.018089833: call returned: [0, "hello?\n", ""] 02:38:52.743257180: calling as root: nmcli device show eth0 02:38:53.020682260: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:38:53.034473860: calling as root: systemctl --quiet is-active tor@default.service 02:38:53.173669372: call returned: [0, "", ""] 02:38:53.173770792: calling as root: systemctl stop tor@default.service 02:38:53.363075288: call returned: [0, "", ""] 02:38:53.363209532: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:38:53.501948003: call returned: [0, "", ""] 02:38:53.502079845: calling as root: date -s '@1523728437' 02:38:53.701710658: call returned: [0, "Sat Apr 14 17:53:57 UTC 2018\n", ""] 02:38:53.701852254: calling as root: systemctl start tor@default.service 02:38:54.438547576: call returned: [0, "", ""] 02:38:54.438691180: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:54.616078761: call returned: [3, "", ""] 02:38:55.616369218: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:55.780886237: call returned: [3, "", ""] 02:38:56.781230343: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:38:56.956871369: call returned: [0, "", ""] 02:38:56.957412794: calling as amnesia: install -m 0700 -d '/home/amnesia/.ssh/' 02:38:57.035262686: call returned: [0, "", ""] 02:38:57.035521093: calling as amnesia: echo '-----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEA1dzPWseaW9KIw/LdrnqP6kaJAgNf+nyJggQzvwmKtNMZ5C4k rbmmFO+dMe7pCmy5du2hGeuM6hQVejhX3YsXXnUfoFGgKC0s8A/XF/Ii7mdb9Xtl ComR9xF/HHfuSeRXskVApiH5UkArjss5FNidwYrSTgIaUzUwpJh0mTzGiEQBWUBD kQ9LpNouxsz7mDZcwXXtf+J8+AfTFByWc+FZLIJAghQlIsmqJucMBfkM2/AkmgUX DqQKmigmyqorVWV4msl0Pb7EFLA2kab6y+mnQR9Iwa4pVrWSc+9Y+lb8l0Um2q5v ldeDqukECTBWFwMu7C1vs7tzZ3zY+whTzx37FLkBjkO668joqWoYk17iQb6kLlVj CKO3S7X26y+uiTzmR2ipXPQsbSQHC3HfbgcBlNqfWE2iS/iD7NjLxL2TSi0lXx8J fhdWI/q748h1qt+/a2QT//GjzxXptq0p/+mLbyn5ZgCLhBOVxPBfOby5GkJs8YNg qEHV3ovdXur+rY00GKmEwd86uPJuDGaQGQyWYr0yYPRIkUpCt9yIdJbZ+5/o0ODU BAWHTSAC5+rqV8hTfoqeNaLxo5TD1yVYzF2zb9LZX9mTmAz6whw+l2oHs2CTKlYS SNsDWUGjbZW/XJZpKj1hLJhGzTWX668elcABsCqSAsuAove3LSrCwsj11r0CAwEA AQKCAgEAu53JMySk4CUk4nJv1B+lnatfiqqXStJyd+Nj2hZu3w/LSQjKGLYjY36K c0Hao9CaLCFwEaM5rikMZnqDatIZID60DhtN27E2GSxsUI+V4Xw/im5ESChEK3Ho B3uXSq/N15E1lAl+BpBRJiZW31jhnOdCdDkYCyNAl0VAFSbiLK0sWbYtEFdQz0Cx hKpTlkcqvHXOc0CozZdfr+ccfnCVoJxsJzGxGoG8igBr5dmFVHWqRoxsm+WBf5f1 4BnFhldMpM5S8dAniNbGKKVKpBVJK7JcS72UeoM0Bg1WC9jAI50A5xvcvKGi2w8t ATqsa+fZBE0gD5dFOOaoHCJEFBGDMCFrm0eEfrrAtp2lAf1iFmWeq6TY9kgYEX+X 6QDE9cCIpYfx1RTvMtvlLryFt3TTZppKv3GQYI6DWmVx/+sHI29JAghhgJnjtQgM 7yqt0ap36WsGZhlnwk7bGW3AQIkxtpuHz1pMFJupBwR/zD2REltW9Gagqmtw4Om6 fUniQfuXBgRuYtPgQ8T2LLp6Z7rDx8AVDS89kz36UwApBdIk/Ull0VR4xACmq1WN 5Z+wPh+Sq3vAK/FJO5hQ0IPf2zFhFNSYEx/iE/j1SVQy11dtVbJEW0LOUzKnKDDX nB1YBKhD4tLWkLJgLBEh5jBsZMVD5JYpIC3Xeo4leaMTm6f+14ECggEBAPm4k9Dc ADY4qLbdJC/mLSDZuKYvW6Sr6qXKmf1u0nbrRW37aePySRushvjDjzJPdcYGaisI 6IAOWjeAobsHjEcbmzwXBk1JB/Sz0U9pJqZuFKjOgoCvxAdcn3d1n8tvhHxvMvCU +i5LkFtIfP5uLxMX4pZKV8sy7twrZ7C4gCRs8yjtZ6cxPnrRB6OTIDSYfeOOopfH dOiqdRxHS1h7KrVrMLrx0rNA6bNxuQQeyDwN6qMhKKoWZs6cj5jpiLs7ryLVVNwE orVmd1uuzoN5z1XUi/KM3G+Qlcq1bybCT77b5AlJ3yZpRqXaR+cFD5zxi4JeS8vj Faj6EpLWE34qvI0CggEBANs9aojQe9CrtEzXSYV47vmeCNiiqoZZhA/61jhkyMg2 xVBXmW2o98S+md+vzhPdso2ffFVOfqCvT3+e8ni7ZFGKafIoz/1lzUsHnxkJZer/ aScCIB+qo2WMpy13+D1yE36AFEIus0C/qbl43sFixrmQIxbrXk+HEfE0fqhNBGj6 bwkdwRCU78Vf3hC5581+oFesJQCUp+JnEpI/8PB0WgCJB63wHk+r73DWD26gwP/w W8N1klS+pcTufKE+nmseybyc29ZTSOVNF9D5K/9RG3YWrRqf2rdUHeE940SpPhrP nRta2eK+qHC0vxVyxrg0p84IbL3zDwYEn4UjRVR9LvECggEAUibeuf8mMrBBEKd/ mCJpBj2Z+VHrHClScGhOcIlcw7JyjNQA6fRzCJ+hZ4UuPqbVX+gMVUwA8N/H3ip7 CkRZaaszTnlkoVg9PctKOI2nIWllcoM9e4hXPPTDoVEY2Jw/QZBzeaIJC+HgA6e9 NxaYdfeNm1OpvjdrTRMacZDA1zrgY752MxKIM29AzBdCqQrhn1L1OmlrlH8/N6Zc qycZzcUNqvKTFlVsjJQFAc3+oYMShcgK0Km9+IqY0v1A9heUbikwWZFM1dB3w7mm Rqp0AxCBWbHtcuZl4OH/Rwj1oxxD0Kp0tvY7P6SnsuB/Wmo8Mw9CcDisj4J1SckT cJYuoQKCAQEAqw0T3YKr13bfyUP+/MAJ039Vb5Aac4/L1ZvjH0Si0nLJJ5HxBvnZ tgrvivJjWmSSNqTEINqJOV0OLYgZrdCmyGexmVn2TMHslilwG9yVQ+/aXrDt10cP DN/cX0FG0Mn8I6pSJADDojTneumvAjrKyWSHvA4PGwVLHmHSoATW+ADMONSaGRHa sKfHXk1taYruFvkcNYPGKII6nxh8J17gCaLf9vls7MQ8oFCi4bFSY11oeut0K+JC +48GddehSfpPc3T+oA2CxkSL3GNLzHu/bTbr/+XQg1CBr4bVlnBlIA3zibAsZxhR 2v1qSJWwLXAHrFwuW1UT16Irw3htUyoIQQKCAQBVUAkFfDTeQygHCl6I/wmGIqXK DXF8ng9vvo8yN6pNzHhx+0us59AfpMiyNm+PaC6cgGb9ni83H6Iwwzxqy0tKRP1z FPQl2jdA95ZQwMuVPzWbNPq8a9dc3YRhhzBb8M8Nsk2ByjFEfTObaPeDDr7g2lZG ImIY1kylD2ZgrAkoC3CDH3ptY3QbViBEPzC/d73CONdx4752LG2Gqg8MytotUup3 P/1tJ97Z0fwJnO1mlRKSeuPI9+nMO9IVgKZR8LIw+9CFgS4JWBOht8Agd2oIK4km PY1JkftKOwjRvNuZrt8P95wNKL+h/KYTdn+qsvBU7nO0PbDegRSm5hqVQAW3 -----END RSA PRIVATE KEY----- ' > '/home/amnesia/.ssh/id_rsa' 02:38:57.391963171: call returned: [0, "", ""] 02:38:57.392156507: calling as amnesia: echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDV3M9ax5pb0ojD8t2ueo/qRokCA1/6fImCBDO/CYq00xnkLiStuaYU750x7ukKbLl27aEZ64zqFBV6OFfdixdedR+gUaAoLSzwD9cX8iLuZ1v1e2UKiZH3EX8cd+5J5FeyRUCmIflSQCuOyzkU2J3BitJOAhpTNTCkmHSZPMaIRAFZQEORD0uk2i7GzPuYNlzBde1/4nz4B9MUHJZz4VksgkCCFCUiyaom5wwF+Qzb8CSaBRcOpAqaKCbKqitVZXiayXQ9vsQUsDaRpvrL6adBH0jBrilWtZJz71j6VvyXRSbarm+V14Oq6QQJMFYXAy7sLW+zu3NnfNj7CFPPHfsUuQGOQ7rryOipahiTXuJBvqQuVWMIo7dLtfbrL66JPOZHaKlc9CxtJAcLcd9uBwGU2p9YTaJL+IPs2MvEvZNKLSVfHwl+F1Yj+rvjyHWq379rZBP/8aPPFem2rSn/6YtvKflmAIuEE5XE8F85vLkaQmzxg2CoQdXei91e6v6tjTQYqYTB3zq48m4MZpAZDJZivTJg9EiRSkK33Ih0ltn7n+jQ4NQEBYdNIALn6upXyFN+ip41ovGjlMPXJVjMXbNv0tlf2ZOYDPrCHD6XagezYJMqVhJI2wNZQaNtlb9clmkqPWEsmEbNNZfrrx6VwAGwKpICy4Ci97ctKsLCyPXWvQ== user@isotester' > '/home/amnesia/.ssh/id_rsa.pub' 02:38:57.573836988: call returned: [0, "", ""] 02:38:57.573995513: calling as amnesia: chmod 0600 '/home/amnesia/.ssh/'id* 02:38:57.664547351: call returned: [0, "", ""] Given I have the SSH key pair for an SSH server # features/step_definitions/ssh.rb:41 And an SSH server is running on the LAN # features/step_definitions/ssh.rb:74 02:38:57.736466458: calling as root: pidof -x -o '%PPID' ssh 02:38:57.930242143: call returned: [1, "", ""] 02:38:57.931158086: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:38:58.184502707: call returned: [1, "", ""] 02:38:58.239558537: calling as amnesia: xdotool key Super 02:38:58.441859297: call returned: [0, "", ""] 02:39:02.656966263: calling as root: pidof -x -o '%PPID' ssh 02:39:02.839352686: call returned: [0, "8678\n", ""] When I connect to an SSH server on the LAN # features/step_definitions/ssh.rb:83 Then I am prompted to verify the SSH fingerprint for the SSH server # features/step_definitions/ssh.rb:61 @check_tor_leaks Scenario: Connecting to an SFTP server on the Internet using the GNOME "Connect to Server" feature # features/ssh.feature:24 02:39:07.111743154: calling as root: echo 'hello?' 02:39:07.259995440: call returned: [0, "hello?\n", ""] 02:39:07.982098456: calling as root: nmcli device show eth0 02:39:08.233967416: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:39:08.245781763: calling as root: systemctl --quiet is-active tor@default.service 02:39:08.421009340: call returned: [0, "", ""] 02:39:08.421109584: calling as root: systemctl stop tor@default.service 02:39:08.598981861: call returned: [0, "", ""] 02:39:08.599121547: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:39:08.785675275: call returned: [0, "", ""] 02:39:08.785786254: calling as root: date -s '@1523728452' 02:39:08.934398590: call returned: [0, "Sat Apr 14 17:54:12 UTC 2018\n", ""] 02:39:08.934494966: calling as root: systemctl start tor@default.service 02:39:09.692802793: call returned: [0, "", ""] 02:39:09.692997475: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:09.849593949: call returned: [3, "", ""] 02:39:10.849929054: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:10.992011866: call returned: [3, "", ""] 02:39:11.992323698: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:12.144080237: call returned: [3, "", ""] 02:39:13.144436647: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:13.298121997: call returned: [0, "", ""] 02:39:13.299106994: calling as amnesia: install -m 0700 -d '/home/amnesia/.ssh/' 02:39:13.368156103: call returned: [0, "", ""] 02:39:13.368401079: calling as amnesia: echo '-----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEA1dzPWseaW9KIw/LdrnqP6kaJAgNf+nyJggQzvwmKtNMZ5C4k rbmmFO+dMe7pCmy5du2hGeuM6hQVejhX3YsXXnUfoFGgKC0s8A/XF/Ii7mdb9Xtl ComR9xF/HHfuSeRXskVApiH5UkArjss5FNidwYrSTgIaUzUwpJh0mTzGiEQBWUBD kQ9LpNouxsz7mDZcwXXtf+J8+AfTFByWc+FZLIJAghQlIsmqJucMBfkM2/AkmgUX DqQKmigmyqorVWV4msl0Pb7EFLA2kab6y+mnQR9Iwa4pVrWSc+9Y+lb8l0Um2q5v ldeDqukECTBWFwMu7C1vs7tzZ3zY+whTzx37FLkBjkO668joqWoYk17iQb6kLlVj CKO3S7X26y+uiTzmR2ipXPQsbSQHC3HfbgcBlNqfWE2iS/iD7NjLxL2TSi0lXx8J fhdWI/q748h1qt+/a2QT//GjzxXptq0p/+mLbyn5ZgCLhBOVxPBfOby5GkJs8YNg qEHV3ovdXur+rY00GKmEwd86uPJuDGaQGQyWYr0yYPRIkUpCt9yIdJbZ+5/o0ODU BAWHTSAC5+rqV8hTfoqeNaLxo5TD1yVYzF2zb9LZX9mTmAz6whw+l2oHs2CTKlYS SNsDWUGjbZW/XJZpKj1hLJhGzTWX668elcABsCqSAsuAove3LSrCwsj11r0CAwEA AQKCAgEAu53JMySk4CUk4nJv1B+lnatfiqqXStJyd+Nj2hZu3w/LSQjKGLYjY36K c0Hao9CaLCFwEaM5rikMZnqDatIZID60DhtN27E2GSxsUI+V4Xw/im5ESChEK3Ho B3uXSq/N15E1lAl+BpBRJiZW31jhnOdCdDkYCyNAl0VAFSbiLK0sWbYtEFdQz0Cx hKpTlkcqvHXOc0CozZdfr+ccfnCVoJxsJzGxGoG8igBr5dmFVHWqRoxsm+WBf5f1 4BnFhldMpM5S8dAniNbGKKVKpBVJK7JcS72UeoM0Bg1WC9jAI50A5xvcvKGi2w8t ATqsa+fZBE0gD5dFOOaoHCJEFBGDMCFrm0eEfrrAtp2lAf1iFmWeq6TY9kgYEX+X 6QDE9cCIpYfx1RTvMtvlLryFt3TTZppKv3GQYI6DWmVx/+sHI29JAghhgJnjtQgM 7yqt0ap36WsGZhlnwk7bGW3AQIkxtpuHz1pMFJupBwR/zD2REltW9Gagqmtw4Om6 fUniQfuXBgRuYtPgQ8T2LLp6Z7rDx8AVDS89kz36UwApBdIk/Ull0VR4xACmq1WN 5Z+wPh+Sq3vAK/FJO5hQ0IPf2zFhFNSYEx/iE/j1SVQy11dtVbJEW0LOUzKnKDDX nB1YBKhD4tLWkLJgLBEh5jBsZMVD5JYpIC3Xeo4leaMTm6f+14ECggEBAPm4k9Dc ADY4qLbdJC/mLSDZuKYvW6Sr6qXKmf1u0nbrRW37aePySRushvjDjzJPdcYGaisI 6IAOWjeAobsHjEcbmzwXBk1JB/Sz0U9pJqZuFKjOgoCvxAdcn3d1n8tvhHxvMvCU +i5LkFtIfP5uLxMX4pZKV8sy7twrZ7C4gCRs8yjtZ6cxPnrRB6OTIDSYfeOOopfH dOiqdRxHS1h7KrVrMLrx0rNA6bNxuQQeyDwN6qMhKKoWZs6cj5jpiLs7ryLVVNwE orVmd1uuzoN5z1XUi/KM3G+Qlcq1bybCT77b5AlJ3yZpRqXaR+cFD5zxi4JeS8vj Faj6EpLWE34qvI0CggEBANs9aojQe9CrtEzXSYV47vmeCNiiqoZZhA/61jhkyMg2 xVBXmW2o98S+md+vzhPdso2ffFVOfqCvT3+e8ni7ZFGKafIoz/1lzUsHnxkJZer/ aScCIB+qo2WMpy13+D1yE36AFEIus0C/qbl43sFixrmQIxbrXk+HEfE0fqhNBGj6 bwkdwRCU78Vf3hC5581+oFesJQCUp+JnEpI/8PB0WgCJB63wHk+r73DWD26gwP/w W8N1klS+pcTufKE+nmseybyc29ZTSOVNF9D5K/9RG3YWrRqf2rdUHeE940SpPhrP nRta2eK+qHC0vxVyxrg0p84IbL3zDwYEn4UjRVR9LvECggEAUibeuf8mMrBBEKd/ mCJpBj2Z+VHrHClScGhOcIlcw7JyjNQA6fRzCJ+hZ4UuPqbVX+gMVUwA8N/H3ip7 CkRZaaszTnlkoVg9PctKOI2nIWllcoM9e4hXPPTDoVEY2Jw/QZBzeaIJC+HgA6e9 NxaYdfeNm1OpvjdrTRMacZDA1zrgY752MxKIM29AzBdCqQrhn1L1OmlrlH8/N6Zc qycZzcUNqvKTFlVsjJQFAc3+oYMShcgK0Km9+IqY0v1A9heUbikwWZFM1dB3w7mm Rqp0AxCBWbHtcuZl4OH/Rwj1oxxD0Kp0tvY7P6SnsuB/Wmo8Mw9CcDisj4J1SckT cJYuoQKCAQEAqw0T3YKr13bfyUP+/MAJ039Vb5Aac4/L1ZvjH0Si0nLJJ5HxBvnZ tgrvivJjWmSSNqTEINqJOV0OLYgZrdCmyGexmVn2TMHslilwG9yVQ+/aXrDt10cP DN/cX0FG0Mn8I6pSJADDojTneumvAjrKyWSHvA4PGwVLHmHSoATW+ADMONSaGRHa sKfHXk1taYruFvkcNYPGKII6nxh8J17gCaLf9vls7MQ8oFCi4bFSY11oeut0K+JC +48GddehSfpPc3T+oA2CxkSL3GNLzHu/bTbr/+XQg1CBr4bVlnBlIA3zibAsZxhR 2v1qSJWwLXAHrFwuW1UT16Irw3htUyoIQQKCAQBVUAkFfDTeQygHCl6I/wmGIqXK DXF8ng9vvo8yN6pNzHhx+0us59AfpMiyNm+PaC6cgGb9ni83H6Iwwzxqy0tKRP1z FPQl2jdA95ZQwMuVPzWbNPq8a9dc3YRhhzBb8M8Nsk2ByjFEfTObaPeDDr7g2lZG ImIY1kylD2ZgrAkoC3CDH3ptY3QbViBEPzC/d73CONdx4752LG2Gqg8MytotUup3 P/1tJ97Z0fwJnO1mlRKSeuPI9+nMO9IVgKZR8LIw+9CFgS4JWBOht8Agd2oIK4km PY1JkftKOwjRvNuZrt8P95wNKL+h/KYTdn+qsvBU7nO0PbDegRSm5hqVQAW3 -----END RSA PRIVATE KEY----- ' > '/home/amnesia/.ssh/id_rsa' 02:39:13.761696218: call returned: [0, "", ""] 02:39:13.761831370: calling as amnesia: echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDV3M9ax5pb0ojD8t2ueo/qRokCA1/6fImCBDO/CYq00xnkLiStuaYU750x7ukKbLl27aEZ64zqFBV6OFfdixdedR+gUaAoLSzwD9cX8iLuZ1v1e2UKiZH3EX8cd+5J5FeyRUCmIflSQCuOyzkU2J3BitJOAhpTNTCkmHSZPMaIRAFZQEORD0uk2i7GzPuYNlzBde1/4nz4B9MUHJZz4VksgkCCFCUiyaom5wwF+Qzb8CSaBRcOpAqaKCbKqitVZXiayXQ9vsQUsDaRpvrL6adBH0jBrilWtZJz71j6VvyXRSbarm+V14Oq6QQJMFYXAy7sLW+zu3NnfNj7CFPPHfsUuQGOQ7rryOipahiTXuJBvqQuVWMIo7dLtfbrL66JPOZHaKlc9CxtJAcLcd9uBwGU2p9YTaJL+IPs2MvEvZNKLSVfHwl+F1Yj+rvjyHWq379rZBP/8aPPFem2rSn/6YtvKflmAIuEE5XE8F85vLkaQmzxg2CoQdXei91e6v6tjTQYqYTB3zq48m4MZpAZDJZivTJg9EiRSkK33Ih0ltn7n+jQ4NQEBYdNIALn6upXyFN+ip41ovGjlMPXJVjMXbNv0tlf2ZOYDPrCHD6XagezYJMqVhJI2wNZQaNtlb9clmkqPWEsmEbNNZfrrx6VwAGwKpICy4Ci97ctKsLCyPXWvQ== user@isotester' > '/home/amnesia/.ssh/id_rsa.pub' 02:39:13.916746310: call returned: [0, "", ""] 02:39:13.916894939: calling as amnesia: chmod 0600 '/home/amnesia/.ssh/'id* 02:39:13.992831202: call returned: [0, "", ""] Given I have the SSH key pair for an SFTP server # features/step_definitions/ssh.rb:41 02:39:14.027776725: calling as amnesia: xdotool key Super 02:39:14.199790701: call returned: [0, "", ""] 02:39:15.374249893: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node795 = dogtail.tree.root.application('nautilus') 02:39:16.778781937: execution complete 02:39:16.778911278: executing Python as amnesia: node796 = node795.child(roleName='frame') 02:39:17.002787343: execution complete 02:39:17.002908252: executing Python as amnesia: node797 = node795.child('Other Locations', roleName='label') 02:39:17.072731067: execution complete 02:39:17.072857533: executing Python as amnesia: node797.click() 02:39:18.148952394: execution complete 02:39:18.149091616: executing Python as amnesia: node798 = node795.child('Connect to Server', roleName='label') 02:39:18.238833136: execution complete 02:39:18.238971954: executing Python as amnesia: node799 = node798.parent 02:39:18.259971517: execution complete 02:39:18.260082781: executing Python as amnesia: node800 = node799.child(roleName='filler', recursive=False) 02:39:18.287236295: execution complete 02:39:18.287462731: executing Python as amnesia: node801 = node800.child(roleName='text', recursive=False) 02:39:18.326120776: execution complete 02:39:18.326257200: executing Python as amnesia: node801.text = 'sftp://autotest-sftp@lizard.tails.boum.org:3006' 02:39:18.356118396: execution complete 02:39:18.356223735: executing Python as amnesia: node802 = node799.button('Connect', recursive=False) 02:39:18.389456307: execution complete 02:39:18.389628759: executing Python as amnesia: node802.click() 02:39:19.433095073: execution complete 02:39:19.434204031: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node803 = dogtail.tree.root.application('gnome-shell') 02:39:19.518427369: execution complete 02:39:19.518580296: executing Python as amnesia: node804 = node803.child('Log In Anyway') 02:39:20.221240341: execution complete When I connect to an SFTP server on the Internet # features/step_definitions/ssh.rb:116 02:39:20.264160861: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node805 = dogtail.tree.root.application('nautilus') 02:39:20.361830529: execution complete 02:39:20.361962467: executing Python as amnesia: node806 = node805.child('autotest-sftp on lizard.tails.boum.org') 02:39:25.826479778: execution complete Then I successfully connect to the SFTP server # features/step_definitions/ssh.rb:151 #11465 @product @check_tor_leaks Feature: Thunderbird email client As a Tails user I may want to use an email client Background: # features/thunderbird.feature:7 02:39:27.713655102: calling as root: echo 'hello?' 02:39:27.867078164: call returned: [0, "hello?\n", ""] 02:39:28.591401489: calling as root: nmcli device show eth0 02:39:28.867991176: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:39:28.876535217: calling as root: systemctl --quiet is-active tor@default.service 02:39:29.043172913: call returned: [0, "", ""] 02:39:29.043285168: calling as root: systemctl stop tor@default.service 02:39:29.228548827: call returned: [0, "", ""] 02:39:29.228646465: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:39:29.422365798: call returned: [0, "", ""] 02:39:29.422477541: calling as root: date -s '@1523728473' 02:39:29.566774977: call returned: [0, "Sat Apr 14 17:54:33 UTC 2018\n", ""] 02:39:29.566877402: calling as root: systemctl start tor@default.service 02:39:30.340310057: call returned: [0, "", ""] 02:39:30.340470293: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:30.488807860: call returned: [3, "", ""] 02:39:31.489109244: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:31.641813845: call returned: [3, "", ""] 02:39:32.642179742: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:32.869500578: call returned: [3, "", ""] 02:39:33.869811991: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:34.043043520: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:39:34.044564487: calling as root: test -e '/home/amnesia/.thunderbird/profile.default/prefs.js' 02:39:34.168243559: call returned: [1, "", ""] And I have not configured an email account # features/step_definitions/thunderbird.rb:38 02:39:34.169328233: opening file /etc/thunderbird/pref/thunderbird.js in 'append' mode 02:39:34.214425531: append complete 02:39:34.251661309: calling as amnesia: xdotool key Super 02:39:34.420001808: call returned: [0, "", ""] 02:39:35.712512449: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node807 = dogtail.tree.root.application('Thunderbird') 02:39:47.232002332: execution complete 02:39:48.232377361: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node808 = dogtail.tree.root.application('Thunderbird') 02:39:48.301469273: execution complete 02:39:48.301633084: executing Python as amnesia: node809 = node808.child(roleName='frame') 02:39:48.324565808: execution complete When I start Thunderbird # features/step_definitions/thunderbird.rb:24 02:39:48.327228861: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node810 = dogtail.tree.root.application('Thunderbird') 02:39:48.375597325: execution complete 02:39:48.375734933: executing Python as amnesia: node811 = node810.child('Mail Account Setup', roleName='frame') 02:39:48.497428515: execution complete Then I am prompted to setup an email account # features/step_definitions/thunderbird.rb:46 Scenario: Only the expected addons are installed # features/thunderbird.feature:13 02:39:48.500068623: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node812 = dogtail.tree.root.application('Thunderbird') 02:39:48.561676075: execution complete 02:39:48.561793138: executing Python as amnesia: node813 = node812.child('Mail Account Setup', roleName='frame') 02:39:48.702358806: execution complete 02:39:48.702489468: executing Python as amnesia: node814 = node813.button('Cancel') 02:39:48.751959711: execution complete 02:39:48.752065637: executing Python as amnesia: node814.click() 02:39:49.783044941: execution complete Given I cancel setting up an email account # features/step_definitions/thunderbird.rb:50 02:39:49.784177328: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node815 = dogtail.tree.root.application('Thunderbird') 02:39:49.872590955: execution complete 02:39:49.872741546: executing Python as amnesia: node816 = node815.child(roleName='frame') 02:39:49.898995659: execution complete 02:39:49.899151389: executing Python as amnesia: node817 = node816.button('AppMenu') 02:39:49.991942982: execution complete 02:39:49.992100078: executing Python as amnesia: node817.click() 02:39:51.028567944: execution complete 02:39:51.028751611: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node818 = dogtail.tree.root.application('Thunderbird') 02:39:51.089683324: execution complete 02:39:51.089802561: executing Python as amnesia: node819 = node818.child(roleName='frame') 02:39:51.112623305: execution complete 02:39:51.112799016: executing Python as amnesia: node820 = node819.child('Add-ons', roleName='menu item') 02:39:51.210069741: execution complete 02:39:51.210234486: executing Python as amnesia: node820.click() 02:39:52.241462160: execution complete 02:39:52.241624864: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node821 = dogtail.tree.root.application('Thunderbird') 02:39:52.313853007: execution complete 02:39:52.314023795: executing Python as amnesia: node822 = node821.child('Add-ons Manager - Mozilla Thunderbird', roleName='frame') 02:39:52.365730774: execution complete When I open Thunderbird's Add-ons Manager # features/step_definitions/thunderbird.rb:54 02:39:52.366807534: executing Python as amnesia: node823 = node822.child('Extensions', roleName='list item') 02:39:52.607324116: execution complete 02:39:52.607464151: executing Python as amnesia: node823.click() 02:39:53.637400757: execution complete And I click the extensions tab # features/step_definitions/thunderbird.rb:62 02:39:53.638340782: executing Python as amnesia: node824 = node822.child('TorBirdy', roleName='label') 02:39:53.900702128: execution complete 02:39:53.900809100: executing Python as amnesia: node825 = node824.parent 02:39:53.920481003: execution complete 02:39:53.920592874: executing Python as amnesia: node826 = node825.parent 02:39:53.948998588: execution complete 02:39:53.949143719: executing Python as amnesia: nodes827 = node826.findChildren(dogtail.predicate.GenericPredicate(roleName='list item'), recursive=False) print(len(nodes827)) 02:39:53.979526151: execution complete 02:39:53.979650936: executing Python as amnesia: node828 = nodes827[0] 02:39:54.001064565: execution complete 02:39:54.001202529: executing Python as amnesia: node829 = nodes827[1] 02:39:54.021610851: execution complete 02:39:54.021722260: executing Python as amnesia: print(node828.name) 02:39:54.049892119: execution complete 02:39:54.050004188: executing Python as amnesia: print(node829.name) 02:39:54.081407021: execution complete Then I see that only the Enigmail and TorBirdy addons are enabled in Thunderbird # features/step_definitions/thunderbird.rb:66 Scenario: Torbirdy is configured to use Tor # features/thunderbird.feature:19 02:39:55.953437412: calling as root: echo 'hello?' 02:39:56.104286489: call returned: [0, "hello?\n", ""] 02:39:56.827509324: calling as root: nmcli device show eth0 02:39:57.126702075: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:39:57.136983162: calling as root: systemctl --quiet is-active tor@default.service 02:39:57.287660601: call returned: [0, "", ""] 02:39:57.287769696: calling as root: systemctl stop tor@default.service 02:39:57.479495044: call returned: [0, "", ""] 02:39:57.479638213: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:39:57.684046353: call returned: [0, "", ""] 02:39:57.684231181: calling as root: date -s '@1523728501' 02:39:57.873019814: call returned: [0, "Sat Apr 14 17:55:01 UTC 2018\n", ""] 02:39:57.873152606: calling as root: systemctl start tor@default.service 02:39:58.639194522: call returned: [0, "", ""] 02:39:58.639344509: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:39:58.805952517: call returned: [3, "", ""] 02:39:59.806253270: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:00.005022920: call returned: [3, "", ""] 02:40:01.005289468: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:01.181088141: call returned: [3, "", ""] 02:40:02.181342995: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:02.362574400: call returned: [0, "", ""] 02:40:02.363166986: calling as root: test -e '/home/amnesia/.thunderbird/profile.default/prefs.js' 02:40:02.491394984: call returned: [1, "", ""] 02:40:02.491861442: opening file /etc/thunderbird/pref/thunderbird.js in 'append' mode 02:40:02.529392576: append complete 02:40:02.565017319: calling as amnesia: xdotool key Super 02:40:02.754670037: call returned: [0, "", ""] 02:40:04.057479262: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node830 = dogtail.tree.root.application('Thunderbird') 02:40:15.690485272: execution complete 02:40:16.690926455: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node831 = dogtail.tree.root.application('Thunderbird') 02:40:16.740921305: execution complete 02:40:16.741081357: executing Python as amnesia: node832 = node831.child(roleName='frame') 02:40:16.767770585: execution complete 02:40:16.768436846: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node833 = dogtail.tree.root.application('Thunderbird') 02:40:16.817294767: execution complete 02:40:16.817459904: executing Python as amnesia: node834 = node833.child('Mail Account Setup', roleName='frame') 02:40:16.957009478: execution complete 02:40:16.957680350: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node835 = dogtail.tree.root.application('Thunderbird') 02:40:17.006499480: execution complete 02:40:17.006686724: executing Python as amnesia: node836 = node835.child('Mail Account Setup', roleName='frame') 02:40:17.135620035: execution complete 02:40:17.135774981: executing Python as amnesia: node837 = node836.button('Cancel') 02:40:17.187862711: execution complete 02:40:17.188029952: executing Python as amnesia: node837.click() 02:40:18.224790619: execution complete Given I cancel setting up an email account # features/step_definitions/thunderbird.rb:50 02:40:18.226026316: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node838 = dogtail.tree.root.application('Thunderbird') 02:40:18.278766259: execution complete 02:40:18.278949854: executing Python as amnesia: node839 = node838.child(roleName='frame') 02:40:18.303322022: execution complete 02:40:18.303460850: executing Python as amnesia: node840 = node839.child(roleName='status bar') 02:40:18.382429427: execution complete 02:40:18.382563793: executing Python as amnesia: node841 = node840.child('TorBirdy Enabled: Tor', roleName='label') 02:40:18.409217221: execution complete Then I see that Torbirdy is configured to use Tor # features/step_definitions/thunderbird.rb:80 #11890 @fragile Scenario: Thunderbird's autoconfiguration wizard defaults to IMAP and secure protocols # features/thunderbird.feature:25 02:40:20.263174033: calling as root: echo 'hello?' 02:40:20.436054696: call returned: [0, "hello?\n", ""] 02:40:21.158256187: calling as root: nmcli device show eth0 02:40:21.436655108: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:40:21.448157397: calling as root: systemctl --quiet is-active tor@default.service 02:40:21.635393127: call returned: [0, "", ""] 02:40:21.635488860: calling as root: systemctl stop tor@default.service 02:40:21.840944960: call returned: [0, "", ""] 02:40:21.841046398: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:40:21.995786166: call returned: [0, "", ""] 02:40:21.995898974: calling as root: date -s '@1523728526' 02:40:22.169003489: call returned: [0, "Sat Apr 14 17:55:26 UTC 2018\n", ""] 02:40:22.169182417: calling as root: systemctl start tor@default.service 02:40:22.995455916: call returned: [0, "", ""] 02:40:22.995619934: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:23.167918852: call returned: [3, "", ""] 02:40:24.168113928: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:24.345842310: call returned: [3, "", ""] 02:40:25.346227201: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:25.512998954: call returned: [0, "", ""] 02:40:25.513722319: calling as root: test -e '/home/amnesia/.thunderbird/profile.default/prefs.js' 02:40:25.679466337: call returned: [1, "", ""] 02:40:25.680044768: opening file /etc/thunderbird/pref/thunderbird.js in 'append' mode 02:40:25.722927742: append complete 02:40:25.759436393: calling as amnesia: xdotool key Super 02:40:25.928908928: call returned: [0, "", ""] 02:40:27.225202605: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node842 = dogtail.tree.root.application('Thunderbird') 02:40:38.368167034: execution complete 02:40:38.368344932: executing Python as amnesia: node843 = node842.child(roleName='frame') 02:40:38.447337426: execution complete 02:40:38.447984362: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node844 = dogtail.tree.root.application('Thunderbird') 02:40:38.722655140: execution complete 02:40:38.722788244: executing Python as amnesia: node845 = node844.child('Mail Account Setup', roleName='frame') 02:40:38.847531089: execution complete 02:40:38.848706614: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node846 = dogtail.tree.root.application('Thunderbird') 02:40:38.901344966: execution complete 02:40:38.901498676: executing Python as amnesia: node847 = node846.child('Mail Account Setup', roleName='frame') 02:40:39.027025747: execution complete 02:40:39.027210280: executing Python as amnesia: node848 = node847.child('Your name:', roleName='entry') 02:40:39.063722603: execution complete 02:40:39.063830563: executing Python as amnesia: node848.typeText('tails-dev') 02:40:40.024986323: execution complete 02:40:40.025111861: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node849 = dogtail.tree.root.application('Thunderbird') 02:40:40.079870133: execution complete 02:40:40.080037412: executing Python as amnesia: node850 = node849.child('Mail Account Setup', roleName='frame') 02:40:40.171231460: execution complete 02:40:40.171390425: executing Python as amnesia: node851 = node850.child('Email address:', roleName='entry') 02:40:40.203992969: execution complete 02:40:40.204117017: executing Python as amnesia: node851.typeText('tails-dev@riseup.net') 02:40:42.285899096: execution complete 02:40:42.286106148: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node852 = dogtail.tree.root.application('Thunderbird') 02:40:42.338462268: execution complete 02:40:42.338644508: executing Python as amnesia: node853 = node852.child('Mail Account Setup', roleName='frame') 02:40:42.473394234: execution complete 02:40:42.473544170: executing Python as amnesia: node854 = node853.child('Password:', roleName='entry') 02:40:42.523255840: execution complete 02:40:42.523372558: executing Python as amnesia: node854.typeText('fie0riKoocue4etohghied1oothae7') 02:40:45.657065711: execution complete 02:40:45.657245638: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node855 = dogtail.tree.root.application('Thunderbird') 02:40:45.728442375: execution complete 02:40:45.728593169: executing Python as amnesia: node856 = node855.child('Mail Account Setup', roleName='frame') 02:40:45.886111852: execution complete 02:40:45.886228183: executing Python as amnesia: node857 = node856.button('Continue') 02:40:45.944778673: execution complete 02:40:45.944901184: executing Python as amnesia: node857.click() 02:40:46.972789552: execution complete 02:40:46.972954252: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node858 = dogtail.tree.root.application('Thunderbird') 02:40:47.025725542: execution complete 02:40:47.025858523: executing Python as amnesia: node859 = node858.child('Mail Account Setup', roleName='frame') 02:40:47.156790832: execution complete 02:40:47.156916702: executing Python as amnesia: node860 = node859.button('Done') 02:40:47.231284773: execution complete When I enter my email credentials into the autoconfiguration wizard # features/step_definitions/thunderbird.rb:85 02:40:47.232263774: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node861 = dogtail.tree.root.application('Thunderbird') 02:40:47.293536284: execution complete 02:40:47.293653438: executing Python as amnesia: node862 = node861.child('Mail Account Setup', roleName='frame') 02:40:47.426932881: execution complete 02:40:47.427085408: executing Python as amnesia: node863 = node862.child('Incoming:', roleName='entry') 02:40:47.471661322: execution complete 02:40:47.471824255: executing Python as amnesia: print(node863.text) 02:40:47.494118311: execution complete Then the autoconfiguration wizard's choice for the incoming server is secure IMAP # features/step_definitions/thunderbird.rb:97 02:40:47.495423285: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node864 = dogtail.tree.root.application('Thunderbird') 02:40:47.556298791: execution complete 02:40:47.556458444: executing Python as amnesia: node865 = node864.child('Mail Account Setup', roleName='frame') 02:40:47.690523386: execution complete 02:40:47.690637086: executing Python as amnesia: node866 = node865.child('Outgoing:', roleName='entry') 02:40:47.760353094: execution complete 02:40:47.760451934: executing Python as amnesia: print(node866.text) 02:40:47.785482472: execution complete Then the autoconfiguration wizard's choice for the outgoing server is secure SMTP # features/step_definitions/thunderbird.rb:97 #11890 @fragile Scenario: Thunderbird can send emails, and receive emails over IMAP # features/thunderbird.feature:32 02:40:49.628280764: calling as root: echo 'hello?' 02:40:49.765795556: call returned: [0, "hello?\n", ""] 02:40:50.489368097: calling as root: nmcli device show eth0 02:40:50.769955473: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:40:50.780908533: calling as root: systemctl --quiet is-active tor@default.service 02:40:50.945094054: call returned: [0, "", ""] 02:40:50.945241134: calling as root: systemctl stop tor@default.service 02:40:51.133168851: call returned: [0, "", ""] 02:40:51.133360035: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:40:51.301288100: call returned: [0, "", ""] 02:40:51.301471022: calling as root: date -s '@1523728555' 02:40:51.471069515: call returned: [0, "Sat Apr 14 17:55:55 UTC 2018\n", ""] 02:40:51.471168093: calling as root: systemctl start tor@default.service 02:40:52.386164979: call returned: [0, "", ""] 02:40:52.386340959: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:52.563034609: call returned: [3, "", ""] 02:40:53.563295671: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:53.736053681: call returned: [3, "", ""] 02:40:54.736431880: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:54.906779919: call returned: [3, "", ""] 02:40:55.907134924: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:40:56.057614571: call returned: [0, "", ""] 02:40:56.058368298: calling as root: test -e '/home/amnesia/.thunderbird/profile.default/prefs.js' 02:40:56.217863432: call returned: [1, "", ""] 02:40:56.218512073: opening file /etc/thunderbird/pref/thunderbird.js in 'append' mode 02:40:56.274655417: append complete 02:40:56.309993259: calling as amnesia: xdotool key Super 02:40:56.499245683: call returned: [0, "", ""] 02:40:57.811240923: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node867 = dogtail.tree.root.application('Thunderbird') 02:41:08.973300316: execution complete 02:41:08.973434689: executing Python as amnesia: node868 = node867.child(roleName='frame') 02:41:08.997145295: execution complete 02:41:08.997730250: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node869 = dogtail.tree.root.application('Thunderbird') 02:41:09.227857016: execution complete 02:41:09.227981166: executing Python as amnesia: node870 = node869.child('Mail Account Setup', roleName='frame') 02:41:09.378183562: execution complete 02:41:09.378818678: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node871 = dogtail.tree.root.application('Thunderbird') 02:41:09.432369538: execution complete 02:41:09.432496341: executing Python as amnesia: node872 = node871.child('Mail Account Setup', roleName='frame') 02:41:09.548155256: execution complete 02:41:09.548263624: executing Python as amnesia: node873 = node872.child('Your name:', roleName='entry') 02:41:09.585611575: execution complete 02:41:09.585753972: executing Python as amnesia: node873.typeText('tails-dev') 02:41:10.538201267: execution complete 02:41:10.538410932: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node874 = dogtail.tree.root.application('Thunderbird') 02:41:10.602376980: execution complete 02:41:10.602499655: executing Python as amnesia: node875 = node874.child('Mail Account Setup', roleName='frame') 02:41:10.754445014: execution complete 02:41:10.754567579: executing Python as amnesia: node876 = node875.child('Email address:', roleName='entry') 02:41:10.795563792: execution complete 02:41:10.795677498: executing Python as amnesia: node876.typeText('tails-dev@riseup.net') 02:41:12.854890631: execution complete 02:41:12.855072118: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node877 = dogtail.tree.root.application('Thunderbird') 02:41:12.916876388: execution complete 02:41:12.917069537: executing Python as amnesia: node878 = node877.child('Mail Account Setup', roleName='frame') 02:41:13.011309193: execution complete 02:41:13.011442279: executing Python as amnesia: node879 = node878.child('Password:', roleName='entry') 02:41:13.067600561: execution complete 02:41:13.067711764: executing Python as amnesia: node879.typeText('fie0riKoocue4etohghied1oothae7') 02:41:16.145278518: execution complete 02:41:16.145440838: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node880 = dogtail.tree.root.application('Thunderbird') 02:41:16.213876889: execution complete 02:41:16.214000594: executing Python as amnesia: node881 = node880.child('Mail Account Setup', roleName='frame') 02:41:16.341869521: execution complete 02:41:16.342027001: executing Python as amnesia: node882 = node881.button('Continue') 02:41:16.400162787: execution complete 02:41:16.400300755: executing Python as amnesia: node882.click() 02:41:17.434459229: execution complete 02:41:17.434627688: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node883 = dogtail.tree.root.application('Thunderbird') 02:41:17.481013874: execution complete 02:41:17.481132676: executing Python as amnesia: node884 = node883.child('Mail Account Setup', roleName='frame') 02:41:17.623130121: execution complete 02:41:17.623261383: executing Python as amnesia: node885 = node884.button('Done') 02:41:17.696044152: execution complete When I enter my email credentials into the autoconfiguration wizard # features/step_definitions/thunderbird.rb:85 02:41:17.696839870: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node886 = dogtail.tree.root.application('Thunderbird') 02:41:17.766812097: execution complete 02:41:17.766979168: executing Python as amnesia: node887 = node886.child('Mail Account Setup', roleName='frame') 02:41:17.891439513: execution complete 02:41:17.891565010: executing Python as amnesia: node888 = node887.child('Incoming:', roleName='entry') 02:41:17.942513096: execution complete 02:41:17.942625766: executing Python as amnesia: print(node888.text) 02:41:17.966857750: execution complete Then the autoconfiguration wizard's choice for the incoming server is secure IMAP # features/step_definitions/thunderbird.rb:97 02:41:17.967963309: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node889 = dogtail.tree.root.application('Thunderbird') 02:41:18.012264974: execution complete 02:41:18.012392811: executing Python as amnesia: node890 = node889.child('Mail Account Setup', roleName='frame') 02:41:18.142347096: execution complete 02:41:18.142461974: executing Python as amnesia: node891 = node890.button('Done') 02:41:18.218524249: execution complete 02:41:18.220358931: executing Python as amnesia: node891.click() 02:41:19.254224977: execution complete 02:41:20.254616479: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node892 = dogtail.tree.root.application('Thunderbird') 02:41:20.312257187: execution complete 02:41:20.312374056: executing Python as amnesia: node893 = node892.child('Mail Account Setup', roleName='frame') 02:41:32.974371296: execution complete 02:41:32.975172904: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node894 = dogtail.tree.root.application('Thunderbird') 02:41:33.047299626: execution complete 02:41:33.047454079: executing Python as amnesia: node895 = node894.child(roleName='frame') 02:41:33.068472989: execution complete 02:41:33.068633824: executing Python as amnesia: node896 = node895.child('tails-dev@riseup.net', roleName='table row') 02:41:33.159114777: execution complete 02:41:33.159240389: executing Python as amnesia: node896.click() 02:41:34.188579550: execution complete 02:41:34.188746537: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node897 = dogtail.tree.root.application('Thunderbird') 02:41:34.237196577: execution complete 02:41:34.237337463: executing Python as amnesia: node898 = node897.child('tails-dev@riseup.net - Mozilla Thunderbird', roleName='frame') 02:41:34.263544036: execution complete 02:41:34.263737696: executing Python as amnesia: node899 = node898.child('Mail Toolbar', roleName='tool bar') 02:41:34.340009246: execution complete 02:41:34.340142502: executing Python as amnesia: node900 = node899.button('Get Messages') 02:41:34.371898516: execution complete 02:41:34.372006276: executing Python as amnesia: node900.click() 02:41:35.400187194: execution complete 02:41:35.400392107: executing Python as amnesia: node901 = node898.child(roleName='status bar', retry=False) 02:41:35.614179475: execution complete 02:41:35.614303798: executing Python as amnesia: node902 = node901.child(roleName='progress bar', retry=False) 02:41:35.651261441: execution complete 02:41:36.651561853: executing Python as amnesia: node903 = node898.child(roleName='status bar', retry=False) 02:41:37.013506653: execution complete 02:41:37.013696584: executing Python as amnesia: node904 = node903.child(roleName='progress bar', retry=False) 02:41:37.047587845: execution complete 02:41:38.047959890: executing Python as amnesia: node905 = node898.child(roleName='status bar', retry=False) 02:41:38.193529199: execution complete 02:41:38.193648045: executing Python as amnesia: node906 = node905.child(roleName='progress bar', retry=False) 02:41:38.220100824: execution complete 02:41:39.220402408: executing Python as amnesia: node907 = node898.child(roleName='status bar', retry=False) 02:41:39.324076427: execution complete 02:41:39.324232878: executing Python as amnesia: node908 = node907.child(roleName='progress bar', retry=False) 02:41:39.395945584: execution complete When I accept the autoconfiguration wizard's configuration # features/step_definitions/thunderbird.rb:124 02:41:39.397162340: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node909 = dogtail.tree.root.application('Thunderbird') 02:41:39.456286447: execution complete 02:41:39.456526291: executing Python as amnesia: node910 = node909.child(roleName='frame') 02:41:39.483215809: execution complete 02:41:39.483353068: executing Python as amnesia: node911 = node910.child('Mail Toolbar', roleName='tool bar') 02:41:39.533500224: execution complete 02:41:39.533677496: executing Python as amnesia: node912 = node911.button('Write') 02:41:39.568094790: execution complete 02:41:39.568192948: executing Python as amnesia: node912.click() 02:41:40.597233160: execution complete 02:41:40.597457591: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node913 = dogtail.tree.root.application('Thunderbird') 02:41:40.667263631: execution complete 02:41:40.667378519: executing Python as amnesia: node914 = node913.child('Write: (no subject)') 02:41:40.854951981: execution complete 02:41:40.855121457: executing Python as amnesia: node915 = node914.child('To:', roleName='autocomplete') 02:41:40.940605273: execution complete 02:41:40.940764680: executing Python as amnesia: node916 = node915.child(roleName='entry') 02:41:40.964862414: execution complete 02:41:40.965413616: executing Python as amnesia: node916.typeText('tails-dev@riseup.net') 02:41:43.030878119: execution complete 02:41:43.031102461: executing Python as amnesia: node917 = node914.child('Subject:', roleName='entry') 02:41:43.105690027: execution complete 02:41:43.105818985: executing Python as amnesia: node917.typeText('Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:48.624826587: execution complete 02:41:48.624951824: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node918 = dogtail.tree.root.application('Thunderbird') 02:41:48.684112337: execution complete 02:41:48.684248071: executing Python as amnesia: node919 = node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:48.802346488: execution complete 02:41:48.802462771: executing Python as amnesia: node920 = node919.child('about:blank', roleName='document frame') 02:41:48.879080560: execution complete 02:41:48.879203022: executing Python as amnesia: node920.typeText('test') 02:41:49.313897751: execution complete 02:41:49.314145439: executing Python as amnesia: node921 = node919.child('Composition Toolbar', roleName='tool bar') 02:41:49.351231901: execution complete 02:41:49.351352005: executing Python as amnesia: node922 = node921.button('Send') 02:41:49.376977408: execution complete 02:41:49.377093426: executing Python as amnesia: node922.click() 02:41:50.401279864: execution complete 02:41:50.401537236: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:50.425593069: execution complete 02:41:50.425692923: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:50.670351099: execution complete 02:41:50.670482907: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:50.695855687: execution complete 02:41:51.696113721: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:51.716054060: execution complete 02:41:51.716145442: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:51.979650279: execution complete 02:41:51.979756301: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:51.999262501: execution complete 02:41:52.999488278: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:53.020240068: execution complete 02:41:53.020333084: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:53.268331262: execution complete 02:41:53.268499404: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:53.292440793: execution complete 02:41:54.292720653: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:54.316617101: execution complete 02:41:54.316708409: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:54.520397001: execution complete 02:41:54.520502263: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:54.543574128: execution complete 02:41:55.543793117: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:55.576535529: execution complete 02:41:55.576629968: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:55.856672368: execution complete 02:41:55.856809183: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:55.883620570: execution complete 02:41:56.883874124: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:56.909025443: execution complete 02:41:56.909126011: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:57.143811511: execution complete 02:41:57.143965644: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:57.180655342: execution complete 02:41:58.180958740: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:58.200439890: execution complete 02:41:58.200604470: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:41:58.381391497: execution complete 02:41:58.381553580: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:41:58.404012722: execution complete 02:41:59.404374001: executing Python as amnesia: dogtail.config.searchCutoffCount = 0 02:41:59.422993474: execution complete 02:41:59.423125269: executing Python as amnesia: node918.child('Write: Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:42:12.474392656: execution complete 02:42:12.474626795: executing Python as amnesia: dogtail.config.searchCutoffCount = 20 02:42:12.499993552: execution complete And I send an email to myself # features/step_definitions/thunderbird.rb:173 02:42:12.500802226: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node923 = dogtail.tree.root.application('Thunderbird') 02:42:12.547472007: execution complete 02:42:12.547637224: executing Python as amnesia: node924 = node923.child(roleName='frame') 02:42:12.575046060: execution complete 02:42:12.575177468: executing Python as amnesia: node925 = node924.child('tails-dev@riseup.net', roleName='table row') 02:42:12.659354043: execution complete 02:42:12.659468176: executing Python as amnesia: node925.click() 02:42:13.691213851: execution complete 02:42:13.691350930: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node926 = dogtail.tree.root.application('Thunderbird') 02:42:13.747044268: execution complete 02:42:13.747164078: executing Python as amnesia: node927 = node926.child('tails-dev@riseup.net - Mozilla Thunderbird', roleName='frame') 02:42:13.777872415: execution complete 02:42:13.778034495: executing Python as amnesia: node928 = node927.child('Mail Toolbar', roleName='tool bar') 02:42:13.831787532: execution complete 02:42:13.831926875: executing Python as amnesia: node929 = node928.button('Get Messages') 02:42:13.856045257: execution complete 02:42:13.856160630: executing Python as amnesia: node929.click() 02:42:14.885017226: execution complete 02:42:14.885338933: executing Python as amnesia: node930 = node927.child(roleName='status bar', retry=False) 02:42:15.000177423: execution complete 02:42:15.000303208: executing Python as amnesia: node931 = node930.child(roleName='progress bar', retry=False) 02:42:15.034756737: execution complete 02:42:16.035189674: executing Python as amnesia: node932 = node927.child(roleName='status bar', retry=False) 02:42:16.184613936: execution complete 02:42:16.184735530: executing Python as amnesia: node933 = node932.child(roleName='progress bar', retry=False) 02:42:16.230627582: execution complete And I fetch my email # features/step_definitions/thunderbird.rb:105 02:42:16.231902444: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node934 = dogtail.tree.root.application('Thunderbird') 02:42:16.279694715: execution complete 02:42:16.279890379: executing Python as amnesia: node935 = node934.child(roleName='frame') 02:42:16.311797906: execution complete 02:42:16.311957224: executing Python as amnesia: node936 = node935.child('tails-dev@riseup.net', roleName='table row') 02:42:16.446235884: execution complete 02:42:16.446384466: executing Python as amnesia: node937 = node936.parent 02:42:16.468294576: execution complete 02:42:16.468479046: executing Python as amnesia: nodes938 = node937.findChildren(dogtail.predicate.GenericPredicate(roleName='table row'), recursive=False) print(len(nodes938)) 02:42:16.521261702: execution complete 02:42:16.521529816: executing Python as amnesia: node939 = nodes938[0] 02:42:16.539956265: execution complete 02:42:16.540101469: executing Python as amnesia: node940 = nodes938[1] 02:42:16.562021459: execution complete 02:42:16.562144617: executing Python as amnesia: node941 = nodes938[2] 02:42:16.581900185: execution complete 02:42:16.582065758: executing Python as amnesia: node942 = nodes938[3] 02:42:16.602189559: execution complete 02:42:16.602318034: executing Python as amnesia: node943 = nodes938[4] 02:42:16.623887420: execution complete 02:42:16.624005859: executing Python as amnesia: node944 = nodes938[5] 02:42:16.645884116: execution complete 02:42:16.646051857: executing Python as amnesia: node945 = nodes938[6] 02:42:16.663767879: execution complete 02:42:16.663914435: executing Python as amnesia: node946 = nodes938[7] 02:42:16.681748564: execution complete 02:42:16.681850283: executing Python as amnesia: node947 = nodes938[8] 02:42:16.706521030: execution complete 02:42:16.706668470: executing Python as amnesia: node948 = nodes938[9] 02:42:16.724337842: execution complete 02:42:16.724422779: executing Python as amnesia: node949 = nodes938[10] 02:42:16.741858082: execution complete 02:42:16.741972350: executing Python as amnesia: node950 = nodes938[11] 02:42:16.764409538: execution complete 02:42:16.764499415: executing Python as amnesia: print(node939.name) 02:42:16.783409888: execution complete 02:42:16.783544304: executing Python as amnesia: print(node940.name) 02:42:16.801281008: execution complete 02:42:16.801410367: executing Python as amnesia: node940.click() 02:42:17.837737798: execution complete 02:42:17.837913488: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node951 = dogtail.tree.root.application('Thunderbird') 02:42:17.917613051: execution complete 02:42:17.917730804: executing Python as amnesia: node952 = node951.child(roleName='frame') 02:42:17.969408899: execution complete 02:42:17.969585896: executing Python as amnesia: node953 = node952.child('Filter these messages ', roleName='entry') 02:42:18.163468737: execution complete 02:42:18.163622832: executing Python as amnesia: node953.typeText('Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS') 02:42:23.668189066: execution complete 02:42:23.668376184: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node954 = dogtail.tree.root.application('Thunderbird') 02:42:23.730241754: execution complete 02:42:23.730420971: executing Python as amnesia: node955 = node954.child(roleName='frame') 02:42:23.763338167: execution complete 02:42:23.763481609: executing Python as amnesia: node956 = node955.child('1 message') 02:42:24.236878575: execution complete 02:42:24.236995021: executing Python as amnesia: node957 = node956.parent 02:42:24.256874915: execution complete 02:42:24.256989258: executing Python as amnesia: node958 = node957.child(roleName='table') 02:42:24.331970376: execution complete 02:42:24.332078562: executing Python as amnesia: node959 = node958.child('Automated test suite: Pa6bsC1p6o2wRPutXLYnWUdN16CM1LRS', roleName='table cell') 02:42:24.391088546: execution complete 02:42:24.391218478: executing Python as amnesia: node959.click() 02:42:25.432934886: execution complete 02:42:25.433048993: executing Python as amnesia: node960 = node957.button('Delete') 02:42:25.584775770: execution complete 02:42:25.584916597: executing Python as amnesia: node960.click() 02:42:26.611394444: execution complete Then I can find the email I sent to myself in my inbox # features/step_definitions/thunderbird.rb:194 #11890 @fragile Scenario: Thunderbird can download the inbox with POP3 # features/thunderbird.feature:42 02:42:28.642744178: calling as root: echo 'hello?' 02:42:28.785991298: call returned: [0, "hello?\n", ""] 02:42:29.508303588: calling as root: nmcli device show eth0 02:42:29.791924549: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:42:29.803794652: calling as root: systemctl --quiet is-active tor@default.service 02:42:29.947091955: call returned: [0, "", ""] 02:42:29.947202018: calling as root: systemctl stop tor@default.service 02:42:30.109122935: call returned: [0, "", ""] 02:42:30.109299020: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:42:30.291239126: call returned: [0, "", ""] 02:42:30.291356530: calling as root: date -s '@1523728654' 02:42:30.453894080: call returned: [0, "Sat Apr 14 17:57:34 UTC 2018\n", ""] 02:42:30.454055883: calling as root: systemctl start tor@default.service 02:42:31.348210435: call returned: [0, "", ""] 02:42:31.348378210: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:42:31.518632169: call returned: [3, "", ""] 02:42:32.519010537: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:42:32.702315364: call returned: [3, "", ""] 02:42:33.702670894: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:42:33.894289022: call returned: [3, "", ""] 02:42:34.894617205: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:42:35.070133377: call returned: [0, "", ""] 02:42:35.070852898: calling as root: test -e '/home/amnesia/.thunderbird/profile.default/prefs.js' 02:42:35.203203589: call returned: [1, "", ""] 02:42:35.203780886: opening file /etc/thunderbird/pref/thunderbird.js in 'append' mode 02:42:35.250726234: append complete 02:42:35.295499541: calling as amnesia: xdotool key Super 02:42:35.471989254: call returned: [0, "", ""] 02:42:36.769885974: NTER." 02:42:36.770078728: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node961 = dogtail.tree.root.application('Thunderbird') 02:42:47.866667170: execution complete 02:42:47.866800448: executing Python as amnesia: node962 = node961.child(roleName='frame') 02:42:47.903462530: execution complete 02:42:47.904099289: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node963 = dogtail.tree.root.application('Thunderbird') 02:42:48.005418699: execution complete 02:42:48.005561717: executing Python as amnesia: node964 = node963.child('Mail Account Setup', roleName='frame') 02:42:48.101453452: execution complete 02:42:48.102002926: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node965 = dogtail.tree.root.application('Thunderbird') 02:42:48.170331744: execution complete 02:42:48.170466291: executing Python as amnesia: node966 = node965.child('Mail Account Setup', roleName='frame') 02:42:48.265692387: execution complete 02:42:48.265815409: executing Python as amnesia: node967 = node966.child('Your name:', roleName='entry') 02:42:48.301459192: execution complete 02:42:48.301646912: executing Python as amnesia: node967.typeText('tails-dev') 02:42:49.248038401: execution complete 02:42:49.248200406: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node968 = dogtail.tree.root.application('Thunderbird') 02:42:49.317134197: execution complete 02:42:49.317286548: executing Python as amnesia: node969 = node968.child('Mail Account Setup', roleName='frame') 02:42:49.415941125: execution complete 02:42:49.416145535: executing Python as amnesia: node970 = node969.child('Email address:', roleName='entry') 02:42:49.449750648: execution complete 02:42:49.449865685: executing Python as amnesia: node970.typeText('tails-dev@riseup.net') 02:42:51.551819451: execution complete 02:42:51.551958016: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node971 = dogtail.tree.root.application('Thunderbird') 02:42:51.606421800: execution complete 02:42:51.606569148: executing Python as amnesia: node972 = node971.child('Mail Account Setup', roleName='frame') 02:42:51.731368062: execution complete 02:42:51.731516222: executing Python as amnesia: node973 = node972.child('Password:', roleName='entry') 02:42:51.776075255: execution complete 02:42:51.776199186: executing Python as amnesia: node973.typeText('fie0riKoocue4etohghied1oothae7') 02:42:54.880951969: execution complete 02:42:54.881077524: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node974 = dogtail.tree.root.application('Thunderbird') 02:42:54.930922145: execution complete 02:42:54.931047874: executing Python as amnesia: node975 = node974.child('Mail Account Setup', roleName='frame') 02:42:55.072910190: execution complete 02:42:55.073038079: executing Python as amnesia: node976 = node975.button('Continue') 02:42:55.143522330: execution complete 02:42:55.143631048: executing Python as amnesia: node976.click() 02:42:56.183381161: execution complete 02:42:56.183657536: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node977 = dogtail.tree.root.application('Thunderbird') 02:42:56.259380940: execution complete 02:42:56.259501509: executing Python as amnesia: node978 = node977.child('Mail Account Setup', roleName='frame') 02:42:56.400244369: execution complete 02:42:56.400359892: executing Python as amnesia: node979 = node978.button('Done') 02:42:56.482703969: execution complete When I enter my email credentials into the autoconfiguration wizard # features/step_definitions/thunderbird.rb:85 02:42:56.483625619: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node980 = dogtail.tree.root.application('Thunderbird') 02:42:56.529057094: execution complete 02:42:56.529231999: executing Python as amnesia: node981 = node980.child('Mail Account Setup', roleName='frame') 02:42:56.693282156: execution complete 02:42:56.693447952: executing Python as amnesia: node982 = node981.child('Incoming:', roleName='entry') 02:42:56.767985129: execution complete 02:42:56.768127484: executing Python as amnesia: print(node982.text) 02:42:56.788539697: execution complete Then the autoconfiguration wizard's choice for the incoming server is secure IMAP # features/step_definitions/thunderbird.rb:97 02:42:56.789717884: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node983 = dogtail.tree.root.application('Thunderbird') 02:42:56.851737225: execution complete 02:42:56.851951592: executing Python as amnesia: node984 = node983.child('Mail Account Setup', roleName='frame') 02:42:57.022805885: execution complete 02:42:57.023065226: executing Python as amnesia: node985 = node984.child('POP3 (keep mail on your computer)', roleName='radio button') 02:42:57.093244754: execution complete 02:42:57.093380867: executing Python as amnesia: node985.click() 02:42:58.122279494: execution complete When I select the autoconfiguration wizard's POP3 choice # features/step_definitions/thunderbird.rb:146 02:42:58.123632615: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node986 = dogtail.tree.root.application('Thunderbird') 02:42:58.186752983: execution complete 02:42:58.186927731: executing Python as amnesia: node987 = node986.child('Mail Account Setup', roleName='frame') 02:42:58.353429846: execution complete 02:42:58.353565882: executing Python as amnesia: node988 = node987.child('Incoming:', roleName='entry') 02:42:58.414759925: execution complete 02:42:58.414864159: executing Python as amnesia: print(node988.text) 02:42:58.441801440: execution complete Then the autoconfiguration wizard's choice for the incoming server is secure POP3 # features/step_definitions/thunderbird.rb:97 02:42:58.442662160: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node989 = dogtail.tree.root.application('Thunderbird') 02:42:58.498835332: execution complete 02:42:58.499012106: executing Python as amnesia: node990 = node989.child('Mail Account Setup', roleName='frame') 02:42:58.672171646: execution complete 02:42:58.672299799: executing Python as amnesia: node991 = node990.button('Done') 02:42:58.760415049: execution complete 02:42:58.760539004: executing Python as amnesia: node991.click() 02:42:59.790637464: execution complete 02:43:00.790927496: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node992 = dogtail.tree.root.application('Thunderbird') 02:43:00.860054796: execution complete 02:43:00.860174163: executing Python as amnesia: node993 = node992.child('Mail Account Setup', roleName='frame') 02:43:14.041420250: execution complete 02:43:14.041686170: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node994 = dogtail.tree.root.application('Thunderbird') 02:43:14.111171571: execution complete 02:43:14.111288028: executing Python as amnesia: node995 = node994.child(roleName='frame') 02:43:14.131653887: execution complete 02:43:14.131773970: executing Python as amnesia: node996 = node995.child('tails-dev@riseup.net', roleName='table row') 02:43:14.224756044: execution complete 02:43:14.224951313: executing Python as amnesia: node996.click() 02:43:15.261101578: execution complete 02:43:15.261264391: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node997 = dogtail.tree.root.application('Thunderbird') 02:43:15.317837686: execution complete 02:43:15.317974744: executing Python as amnesia: node998 = node997.child('tails-dev@riseup.net - Mozilla Thunderbird', roleName='frame') 02:43:15.345803220: execution complete 02:43:15.345917579: executing Python as amnesia: node999 = node998.child('Mail Toolbar', roleName='tool bar') 02:43:15.420558234: execution complete 02:43:15.420719455: executing Python as amnesia: node1000 = node999.button('Get Messages') 02:43:15.441851637: execution complete 02:43:15.441976217: executing Python as amnesia: node1000.click() 02:43:16.482823982: execution complete 02:43:16.483038346: executing Python as amnesia: node1001 = node998.child(roleName='status bar', retry=False) 02:43:16.703081926: execution complete 02:43:16.703202377: executing Python as amnesia: node1002 = node1001.child(roleName='progress bar', retry=False) 02:43:16.729372653: execution complete 02:43:17.729650606: executing Python as amnesia: node1003 = node998.child(roleName='status bar', retry=False) 02:43:17.925072435: execution complete 02:43:17.925199732: executing Python as amnesia: node1004 = node1003.child(roleName='progress bar', retry=False) 02:43:17.960523788: execution complete 02:43:18.960799234: executing Python as amnesia: node1005 = node998.child(roleName='status bar', retry=False) 02:43:19.163132510: execution complete 02:43:19.163284871: executing Python as amnesia: node1006 = node1005.child(roleName='progress bar', retry=False) 02:43:19.195696298: execution complete 02:43:20.196041880: executing Python as amnesia: node1007 = node998.child(roleName='status bar', retry=False) 02:43:20.357559416: execution complete 02:43:20.357712138: executing Python as amnesia: node1008 = node1007.child(roleName='progress bar', retry=False) 02:43:20.387942399: execution complete 02:43:21.388362933: executing Python as amnesia: node1009 = node998.child(roleName='status bar', retry=False) 02:43:21.531276486: execution complete 02:43:21.531393711: executing Python as amnesia: node1010 = node1009.child(roleName='progress bar', retry=False) 02:43:21.564122637: execution complete 02:43:22.564603662: executing Python as amnesia: node1011 = node998.child(roleName='status bar', retry=False) 02:43:22.762465859: execution complete 02:43:22.762585991: executing Python as amnesia: node1012 = node1011.child(roleName='progress bar', retry=False) 02:43:22.812330671: execution complete When I accept the autoconfiguration wizard's configuration # features/step_definitions/thunderbird.rb:124 02:43:22.813239002: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1013 = dogtail.tree.root.application('Thunderbird') 02:43:22.872222095: execution complete 02:43:22.872352166: executing Python as amnesia: node1014 = node1013.child(roleName='frame') 02:43:22.899965520: execution complete 02:43:22.900120039: executing Python as amnesia: node1015 = node1014.child('tails-dev@riseup.net', roleName='table row') 02:43:23.019667211: execution complete 02:43:23.019807392: executing Python as amnesia: node1015.click() 02:43:24.059371158: execution complete 02:43:24.059489307: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1016 = dogtail.tree.root.application('Thunderbird') 02:43:24.122545107: execution complete 02:43:24.122679051: executing Python as amnesia: node1017 = node1016.child('tails-dev@riseup.net - Mozilla Thunderbird', roleName='frame') 02:43:24.160365724: execution complete 02:43:24.160546625: executing Python as amnesia: node1018 = node1017.child('Mail Toolbar', roleName='tool bar') 02:43:24.242711690: execution complete 02:43:24.243030638: executing Python as amnesia: node1019 = node1018.button('Get Messages') 02:43:24.265300458: execution complete 02:43:24.265422151: executing Python as amnesia: node1019.click() 02:43:25.304716972: execution complete 02:43:25.304884501: executing Python as amnesia: node1020 = node1017.child(roleName='status bar', retry=False) 02:43:25.498803676: execution complete 02:43:25.499002533: executing Python as amnesia: node1021 = node1020.child(roleName='progress bar', retry=False) 02:43:25.528935129: execution complete 02:43:26.529206825: executing Python as amnesia: node1022 = node1017.child(roleName='status bar', retry=False) 02:43:26.701574124: execution complete 02:43:26.701777642: executing Python as amnesia: node1023 = node1022.child(roleName='progress bar', retry=False) 02:43:26.727548570: execution complete 02:43:27.727904892: executing Python as amnesia: node1024 = node1017.child(roleName='status bar', retry=False) 02:43:27.923449404: execution complete 02:43:27.923607525: executing Python as amnesia: node1025 = node1024.child(roleName='progress bar', retry=False) 02:43:27.960936203: execution complete 02:43:28.961204982: executing Python as amnesia: node1026 = node1017.child(roleName='status bar', retry=False) 02:43:29.116355648: execution complete 02:43:29.116476069: executing Python as amnesia: node1027 = node1026.child(roleName='progress bar', retry=False) 02:43:29.160750834: execution complete 02:43:30.161111948: executing Python as amnesia: node1028 = node1017.child(roleName='status bar', retry=False) 02:43:30.304504339: execution complete 02:43:30.304679486: executing Python as amnesia: node1029 = node1028.child(roleName='progress bar', retry=False) 02:43:30.354863573: execution complete And I fetch my email # features/step_definitions/thunderbird.rb:105 02:43:30.356057223: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1030 = dogtail.tree.root.application('Thunderbird') 02:43:30.427821703: execution complete 02:43:30.428016988: executing Python as amnesia: node1031 = node1030.child(roleName='frame') 02:43:30.450961330: execution complete 02:43:30.451130398: executing Python as amnesia: node1032 = node1031.child('tails-dev@riseup.net', roleName='table row') 02:43:30.552728739: execution complete 02:43:30.552876161: executing Python as amnesia: node1033 = node1032.parent 02:43:30.570440780: execution complete 02:43:30.570577907: executing Python as amnesia: nodes1034 = node1033.findChildren(dogtail.predicate.GenericPredicate(roleName='table row'), recursive=False) print(len(nodes1034)) 02:43:30.604232659: execution complete 02:43:30.604346069: executing Python as amnesia: node1035 = nodes1034[0] 02:43:30.620779488: execution complete 02:43:30.620880801: executing Python as amnesia: node1036 = nodes1034[1] 02:43:30.640930700: execution complete 02:43:30.641043320: executing Python as amnesia: node1037 = nodes1034[2] 02:43:30.663623161: execution complete 02:43:30.663724358: executing Python as amnesia: node1038 = nodes1034[3] 02:43:30.685027209: execution complete 02:43:30.685136272: executing Python as amnesia: node1039 = nodes1034[4] 02:43:30.703372844: execution complete 02:43:30.703511704: executing Python as amnesia: node1040 = nodes1034[5] 02:43:30.721758811: execution complete 02:43:30.721937491: executing Python as amnesia: print(node1035.name) 02:43:30.746747380: execution complete 02:43:30.746867890: executing Python as amnesia: print(node1036.name) 02:43:30.765814077: execution complete 02:43:30.765920374: executing Python as amnesia: node1036.click() 02:43:31.797877287: execution complete 02:43:31.798056921: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1041 = dogtail.tree.root.application('Thunderbird') 02:43:31.858174942: execution complete 02:43:31.858336743: executing Python as amnesia: node1042 = node1041.child(roleName='frame') 02:43:31.893307197: execution complete 02:43:31.893448188: executing Python as amnesia: node1043 = node1042.child('Select columns to display', roleName='push button') 02:43:32.129725137: execution complete 02:43:32.129838079: executing Python as amnesia: node1044 = node1043.parent 02:43:32.155273522: execution complete 02:43:32.155415188: executing Python as amnesia: node1045 = node1044.parent 02:43:32.177953938: execution complete 02:43:32.178142036: executing Python as amnesia: nodes1046 = node1045.findChildren(dogtail.predicate.GenericPredicate(roleName='table row'), recursive=False) print(len(nodes1046)) 02:43:32.224962839: execution complete 02:43:32.225078509: executing Python as amnesia: node1047 = nodes1046[0] 02:43:32.245560537: execution complete 02:43:32.245665265: executing Python as amnesia: node1048 = nodes1046[1] 02:43:32.267118843: execution complete 02:43:32.268783770: executing Python as amnesia: node1049 = nodes1046[2] 02:43:32.291164814: execution complete 02:43:32.291263461: executing Python as amnesia: node1050 = nodes1046[3] 02:43:32.313495429: execution complete 02:43:32.313587462: executing Python as amnesia: node1051 = nodes1046[4] 02:43:32.332768512: execution complete 02:43:32.332865921: executing Python as amnesia: node1052 = nodes1046[5] 02:43:32.356037267: execution complete 02:43:32.356182671: executing Python as amnesia: node1053 = nodes1046[6] 02:43:32.377813183: execution complete 02:43:32.377953453: executing Python as amnesia: node1054 = nodes1046[7] 02:43:32.399060558: execution complete 02:43:32.399200467: executing Python as amnesia: node1055 = nodes1046[8] 02:43:32.421681972: execution complete Then my Thunderbird inbox is non-empty # features/step_definitions/thunderbird.rb:212 @product Feature: The Tor enforcement is effective As a Tails user I want all direct Internet connections I do by mistake or applications do by misconfiguration or buggy leaks to be blocked And as a Tails developer I want to ensure that the automated test suite detects firewall leaks reliably Scenario: The firewall configuration is very restrictive # features/tor_enforcement.feature:8 02:43:34.379592552: calling as root: echo 'hello?' 02:43:34.530202421: call returned: [0, "hello?\n", ""] 02:43:35.253233737: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:43:35.253384342: calling as root: nmcli device show eth0 02:43:35.551649252: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:43:35.561987697: calling as root: systemctl --quiet is-active tor@default.service 02:43:35.704894292: call returned: [0, "", ""] 02:43:35.704992506: calling as root: systemctl stop tor@default.service 02:43:35.877049049: call returned: [0, "", ""] 02:43:35.877161962: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:43:36.044061615: call returned: [0, "", ""] 02:43:36.044192593: calling as root: date -s '@1523728720' 02:43:36.204717232: call returned: [0, "Sat Apr 14 17:58:40 UTC 2018\n", ""] 02:43:36.204832113: calling as root: systemctl start tor@default.service 02:43:36.961766360: call returned: [0, "", ""] 02:43:36.962014198: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:37.116849537: call returned: [3, "", ""] 02:43:38.117207983: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:38.281006864: call returned: [3, "", ""] 02:43:39.281311229: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:39.450377277: call returned: [3, "", ""] 02:43:40.450684390: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:40.649493978: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:43:40.651277643: calling as root: iptables-save -c -t filter | iptables-xml 02:43:41.516205651: call returned: [0, "\n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n \n \n \n \n \n\n \n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n

icmp

\n
\n \n RELATED\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 13\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 65534\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n FIN,SYN,RST,ACK SYN\n \n \n 9050,9062,9150\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 116\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 117\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 118\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9052\n \n \n 0\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 119\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9040\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 113\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 631\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 6136\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 17600:17650\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

tcp

\n
\n \n 114\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

udp

\n
\n \n 114\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 107\n \n \n FIN,SYN,RST,ACK SYN\n \n \n NEW\n \n
\n \n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 107\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n 10.0.0.0/8\n \n \n \n \n \n \n \n\n \n\n \n \n \n 172.16.0.0/12\n \n \n \n \n \n \n \n\n \n\n \n \n \n 192.168.0.0/16\n \n \n \n \n \n \n \n\n \n\n \n \n \n "Dropped outbound packet: "\n 7\n \n \n \n\n \n\n \n \n \n icmp-port-unreachable\n \n \n\n \n\n
\n \n \n \n \n

tcp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n \n\n \n\n
\n \n
\n\n
\n", ""] Then the firewall's policy is to DROP all IPv4 traffic # features/step_definitions/tor.rb:55 02:43:41.541357759: calling as root: id -u clearnet 02:43:41.686406625: call returned: [0, "114\n", ""] 02:43:41.686529758: calling as root: id -u debian-tor 02:43:41.853960992: call returned: [0, "107\n", ""] 02:43:41.854121869: calling as root: iptables-save -c -t filter | iptables-xml 02:43:42.700775535: call returned: [0, "\n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n \n \n \n \n \n\n \n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n

icmp

\n
\n \n RELATED\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 13\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 65534\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n FIN,SYN,RST,ACK SYN\n \n \n 9050,9062,9150\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 116\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 117\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 118\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9052\n \n \n 0\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 119\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9040\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 113\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 631\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 6136\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 17600:17650\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

tcp

\n
\n \n 114\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

udp

\n
\n \n 114\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 107\n \n \n FIN,SYN,RST,ACK SYN\n \n \n NEW\n \n
\n \n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 107\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n 10.0.0.0/8\n \n \n \n \n \n \n \n\n \n\n \n \n \n 172.16.0.0/12\n \n \n \n \n \n \n \n\n \n\n \n \n \n 192.168.0.0/16\n \n \n \n \n \n \n \n\n \n\n \n \n \n "Dropped outbound packet: "\n 7\n \n \n \n\n \n\n \n \n \n icmp-port-unreachable\n \n \n\n \n\n
\n \n \n \n \n

tcp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n \n\n \n\n
\n \n
\n\n
\n", ""] And the firewall is configured to only allow the clearnet and debian-tor users to connect directly to the Internet over IPv4 # features/step_definitions/tor.rb:65 02:43:42.757988610: calling as root: iptables-save -c -t nat | iptables-xml 02:43:43.000398697: call returned: [0, "\n\n \n \n \n \n \n 127.192.0.0/10\n

tcp

\n
\n
\n \n \n 9040\n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n

udp

\n
\n \n 53\n \n
\n \n \n 5353\n \n \n\n
\n\n
\n \n \n \n
\n\n
\n", ""] And the firewall's NAT rules only redirect traffic for Tor's TransPort and DNSPort # features/step_definitions/tor.rb:120 02:43:43.005455038: calling as root: ip6tables-save -c -t filter | iptables-xml 02:43:43.326712872: call returned: [0, "\n\n \n \n \n \n \n ::1/128\n ::1/128\n lo\n

tcp

\n
\n \n 4101\n \n
\n \n \n \n\n
\n\n \n \n \n ::1/128\n ::1/128\n lo\n

tcp

\n
\n \n 4101\n \n \n ESTABLISHED\n \n
\n \n \n \n\n
\n\n
\n \n \n \n \n ::1/128\n ::1/128\n lo\n

tcp

\n
\n \n 4101\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n ::1/128\n ::1/128\n lo\n

tcp

\n
\n \n 4101\n \n \n 113\n \n
\n \n \n \n\n
\n\n \n \n \n ::1/128\n ::1/128\n lo\n

tcp

\n
\n \n 4101\n \n \n ESTABLISHED\n \n
\n \n \n \n\n
\n\n \n \n \n "Dropped outbound packet: "\n 7\n \n \n \n\n \n\n \n \n \n icmp6-port-unreachable\n \n \n\n \n\n
\n \n
\n\n
\n", ""] And the firewall is configured to block all external IPv6 traffic # features/step_definitions/tor.rb:156 #14771 @fragile Scenario: Anti test: Detecting TCP leaks from the Unsafe Browser with the firewall leak detector # features/tor_enforcement.feature:17 02:43:45.047408176: calling as root: echo 'hello?' 02:43:45.184819748: call returned: [0, "hello?\n", ""] 02:43:45.912957187: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:43:45.913216493: calling as root: nmcli device show eth0 02:43:46.175426154: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:43:46.185863314: calling as root: systemctl --quiet is-active tor@default.service 02:43:46.329996673: call returned: [0, "", ""] 02:43:46.330107504: calling as root: systemctl stop tor@default.service 02:43:46.519010297: call returned: [0, "", ""] 02:43:46.519123630: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:43:46.692989591: call returned: [0, "", ""] 02:43:46.693101786: calling as root: date -s '@1523728730' 02:43:46.858966080: call returned: [0, "Sat Apr 14 17:58:50 UTC 2018\n", ""] 02:43:46.859075439: calling as root: systemctl start tor@default.service 02:43:47.515742232: call returned: [0, "", ""] 02:43:47.515899472: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:47.703181754: call returned: [3, "", ""] 02:43:48.703582403: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:48.898626763: call returned: [3, "", ""] 02:43:49.898887450: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:50.059395341: call returned: [3, "", ""] 02:43:51.059603391: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:43:51.220852820: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 02:43:51.270404946: calling as amnesia: xdotool key Super 02:43:51.445770544: call returned: [0, "", ""] 02:43:52.824867077: [log] TYPE "Unsafe Browser" 02:43:55.656688624: [log] ( Ctrl ) TYPE "#ENTER." 02:43:55.739407860: [log] TYPE "#RIGHT.#ENTER." 02:43:55.739614302: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1056 = dogtail.tree.root.application('gnome-shell') 02:43:55.871449521: execution complete 02:43:55.871609303: executing Python as amnesia: node1057 = node1056.child('No Notifications', roleName='label', showingOnly=False) 02:43:56.773830143: execution complete 02:43:56.773968053: executing Python as amnesia: node1058 = node1057.parent 02:43:56.843112178: execution complete 02:43:56.843218346: executing Python as amnesia: node1059 = node1058.parent 02:43:56.866091364: execution complete 02:43:56.866251307: executing Python as amnesia: node1060 = node1059.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 02:43:56.914611862: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 02:44:07.022388719: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:44:07.542153490: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:44:08.377582646: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:44:08.859502324: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:44:09.009480604: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:44:09.767506314: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 02:44:14.767914193: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 02:44:14.931047805: call returned: [0, "", ""] 02:44:14.994092202: [log] ( Ctrl ) TYPE "v" 02:44:15.034971480: [log] TYPE "#ENTER." And I open Tails homepage in the Unsafe Browser # features/step_definitions/browser.rb:198 And Tails homepage loads in the Unsafe Browser # features/step_definitions/browser.rb:207 Then the firewall leak detector has detected leaks # features/step_definitions/firewall_leaks.rb:1 Scenario: Anti test: Detecting TCP leaks of DNS lookups with the firewall leak detector # features/tor_enforcement.feature:25 02:44:23.539316266: calling as root: echo 'hello?' 02:44:23.689613334: call returned: [0, "hello?\n", ""] 02:44:24.413507213: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:44:24.413614274: calling as root: nmcli device show eth0 02:44:24.686050000: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:44:24.696189288: calling as root: systemctl --quiet is-active tor@default.service 02:44:24.853208614: call returned: [0, "", ""] 02:44:24.853305391: calling as root: systemctl stop tor@default.service 02:44:25.058358197: call returned: [0, "", ""] 02:44:25.058477568: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:44:25.226407716: call returned: [0, "", ""] 02:44:25.226535834: calling as root: date -s '@1523728769' 02:44:25.400303446: call returned: [0, "Sat Apr 14 17:59:29 UTC 2018\n", ""] 02:44:25.400420284: calling as root: systemctl start tor@default.service 02:44:26.106573330: call returned: [0, "", ""] 02:44:26.106807505: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:26.275463768: call returned: [3, "", ""] 02:44:27.275863633: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:27.446961721: call returned: [3, "", ""] 02:44:28.447294450: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:28.649008459: call returned: [3, "", ""] 02:44:29.649236676: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:29.828058106: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 02:44:29.844177724: calling as root: /usr/local/lib/do_not_ever_run_me 02:44:30.217958633: call returned: [0, "", ""] 02:44:30.218055085: calling as root: iptables -L -n -v 02:44:30.375308316: call returned: [0, "Chain INPUT (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n\nChain FORWARD (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n\nChain OUTPUT (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n", ""] And I disable Tails' firewall # features/step_definitions/firewall_leaks.rb:7 02:44:30.376613442: calling as amnesia: host -T -t A torproject.org 208.67.222.222 02:44:30.831961431: call returned: [0, "Using domain server:\nName: 208.67.222.222\nAddress: 208.67.222.222#53\nAliases: \n\ntorproject.org has address 154.35.132.71\ntorproject.org has address 138.201.14.197\n", ""] When I do a TCP DNS lookup of "torproject.org" # features/step_definitions/firewall_leaks.rb:19 Then the firewall leak detector has detected leaks # features/step_definitions/firewall_leaks.rb:1 Scenario: Anti test: Detecting UDP leaks of DNS lookups with the firewall leak detector # features/tor_enforcement.feature:32 02:44:32.673981433: calling as root: echo 'hello?' 02:44:32.828772406: call returned: [0, "hello?\n", ""] 02:44:33.558527486: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:44:33.558700243: calling as root: nmcli device show eth0 02:44:33.825443750: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:44:33.836079247: calling as root: systemctl --quiet is-active tor@default.service 02:44:33.963470700: call returned: [0, "", ""] 02:44:33.963564988: calling as root: systemctl stop tor@default.service 02:44:34.160700824: call returned: [0, "", ""] 02:44:34.160829233: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:44:34.336546700: call returned: [0, "", ""] 02:44:34.336673219: calling as root: date -s '@1523728778' 02:44:34.517456045: call returned: [0, "Sat Apr 14 17:59:38 UTC 2018\n", ""] 02:44:34.517561207: calling as root: systemctl start tor@default.service 02:44:35.323977556: call returned: [0, "", ""] 02:44:35.324137163: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:35.472533671: call returned: [3, "", ""] 02:44:36.472890466: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:36.638869841: call returned: [3, "", ""] 02:44:37.639136703: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:37.828379119: call returned: [3, "", ""] 02:44:38.828719539: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:39.010679873: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 02:44:39.024945843: calling as root: /usr/local/lib/do_not_ever_run_me 02:44:39.406319089: call returned: [0, "", ""] 02:44:39.406435279: calling as root: iptables -L -n -v 02:44:39.569051527: call returned: [0, "Chain INPUT (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n\nChain FORWARD (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n\nChain OUTPUT (policy ACCEPT 1 packets, 40 bytes)\n pkts bytes target prot opt in out source destination \n", ""] And I disable Tails' firewall # features/step_definitions/firewall_leaks.rb:7 02:44:39.570802399: calling as amnesia: host -t A torproject.org 208.67.222.222 02:44:40.040815840: call returned: [0, "Using domain server:\nName: 208.67.222.222\nAddress: 208.67.222.222#53\nAliases: \n\ntorproject.org has address 154.35.132.71\ntorproject.org has address 138.201.14.197\n", ""] When I do a UDP DNS lookup of "torproject.org" # features/step_definitions/firewall_leaks.rb:24 Then the firewall leak detector has detected leaks # features/step_definitions/firewall_leaks.rb:1 Scenario: Anti test: Detecting ICMP leaks of ping with the firewall leak detector # features/tor_enforcement.feature:39 02:44:41.850538971: calling as root: echo 'hello?' 02:44:41.995563235: call returned: [0, "hello?\n", ""] 02:44:42.719202619: calling as root: nmcli device show eth0 02:44:42.736874737: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:44:42.989041817: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:44:42.999513985: calling as root: systemctl --quiet is-active tor@default.service 02:44:43.132656414: call returned: [0, "", ""] 02:44:43.132830879: calling as root: systemctl stop tor@default.service 02:44:43.313596091: call returned: [0, "", ""] 02:44:43.313690419: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:44:43.499323030: call returned: [0, "", ""] 02:44:43.499439044: calling as root: date -s '@1523728787' 02:44:43.702997631: call returned: [0, "Sat Apr 14 17:59:47 UTC 2018\n", ""] 02:44:43.703120975: calling as root: systemctl start tor@default.service 02:44:44.403573448: call returned: [0, "", ""] 02:44:44.403794296: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:44.595075679: call returned: [3, "", ""] 02:44:45.595333061: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:45.763534682: call returned: [3, "", ""] 02:44:46.763844324: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:46.901511234: call returned: [3, "", ""] 02:44:47.901869700: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:48.076869065: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 02:44:48.091038503: calling as root: /usr/local/lib/do_not_ever_run_me 02:44:48.412643555: call returned: [0, "", ""] 02:44:48.412746083: calling as root: iptables -L -n -v 02:44:48.622505161: call returned: [0, "Chain INPUT (policy ACCEPT 3 packets, 1749 bytes)\n pkts bytes target prot opt in out source destination \n\nChain FORWARD (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n\nChain OUTPUT (policy ACCEPT 5 packets, 1829 bytes)\n pkts bytes target prot opt in out source destination \n", ""] And I disable Tails' firewall # features/step_definitions/firewall_leaks.rb:7 02:44:48.624148165: calling as root: ping -c 5 208.67.222.222 02:44:52.880842507: call returned: [0, "PING 208.67.222.222 (208.67.222.222) 56(84) bytes of data.\n64 bytes from 208.67.222.222: icmp_seq=1 ttl=52 time=34.3 ms\n64 bytes from 208.67.222.222: icmp_seq=2 ttl=52 time=34.6 ms\n64 bytes from 208.67.222.222: icmp_seq=3 ttl=52 time=33.6 ms\n64 bytes from 208.67.222.222: icmp_seq=4 ttl=52 time=34.4 ms\n64 bytes from 208.67.222.222: icmp_seq=5 ttl=52 time=34.7 ms\n\n--- 208.67.222.222 ping statistics ---\n5 packets transmitted, 5 received, 0% packet loss, time 4007ms\nrtt min/avg/max/mdev = 33.626/34.369/34.763/0.399 ms\n", ""] When I send some ICMP pings # features/step_definitions/firewall_leaks.rb:29 Then the firewall leak detector has detected leaks # features/step_definitions/firewall_leaks.rb:1 @check_tor_leaks Scenario: The Tor enforcement is effective at blocking untorified TCP connection attempts # features/tor_enforcement.feature:47 02:44:54.723067679: calling as root: echo 'hello?' 02:44:54.883294781: call returned: [0, "hello?\n", ""] 02:44:55.606156682: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:44:55.606306601: calling as root: nmcli device show eth0 02:44:55.913739715: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:44:55.923800669: calling as root: systemctl --quiet is-active tor@default.service 02:44:56.095040981: call returned: [0, "", ""] 02:44:56.095146406: calling as root: systemctl stop tor@default.service 02:44:56.281632410: call returned: [0, "", ""] 02:44:56.281802021: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:44:56.449783596: call returned: [0, "", ""] 02:44:56.449911659: calling as root: date -s '@1523728800' 02:44:56.608650539: call returned: [0, "Sat Apr 14 18:00:00 UTC 2018\n", ""] 02:44:56.608789230: calling as root: systemctl start tor@default.service 02:44:57.297729619: call returned: [0, "", ""] 02:44:57.297957573: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:57.468618300: call returned: [3, "", ""] 02:44:58.468928086: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:58.672723904: call returned: [3, "", ""] 02:44:59.673522419: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:44:59.876793127: call returned: [3, "", ""] 02:45:00.877040373: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:01.083011197: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:45:01.084092659: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=TCP .* DPT=42 ' 02:45:01.245397951: call returned: [1, "", ""] 02:45:01.245576323: calling as amnesia: echo | nc.traditional 1.2.3.4 42 02:45:02.385891932: call returned: [1, "", "(UNKNOWN) [1.2.3.4] 42 (nameserver) : Connection refused\n"] When I open an untorified TCP connection to 1.2.3.4 on port 42 # features/step_definitions/tor.rb:187 Then the untorified connection fails # features/step_definitions/tor.rb:211 02:45:02.388198990: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=TCP .* DPT=42 ' 02:45:02.569310834: call returned: [0, "", ""] And the untorified connection is logged as dropped by the firewall # features/step_definitions/tor.rb:225 @check_tor_leaks Scenario: The Tor enforcement is effective at blocking untorified UDP connection attempts # features/tor_enforcement.feature:54 02:45:04.458009244: calling as root: echo 'hello?' 02:45:04.657962511: call returned: [0, "hello?\n", ""] 02:45:05.379724737: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:45:05.379895897: calling as root: nmcli device show eth0 02:45:05.701436586: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:45:05.712157745: calling as root: systemctl --quiet is-active tor@default.service 02:45:05.851359166: call returned: [0, "", ""] 02:45:05.851519077: calling as root: systemctl stop tor@default.service 02:45:06.081851114: call returned: [0, "", ""] 02:45:06.081960140: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:45:06.241206326: call returned: [0, "", ""] 02:45:06.241325871: calling as root: date -s '@1523728810' 02:45:06.419168205: call returned: [0, "Sat Apr 14 18:00:10 UTC 2018\n", ""] 02:45:06.419292215: calling as root: systemctl start tor@default.service 02:45:07.161196407: call returned: [0, "", ""] 02:45:07.161454994: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:07.315514548: call returned: [3, "", ""] 02:45:08.315769697: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:08.489833927: call returned: [3, "", ""] 02:45:09.490092694: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:09.689312680: call returned: [3, "", ""] 02:45:10.689586444: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:10.866026639: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:45:10.867632271: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=UDP .* DPT=42 ' 02:45:11.043411990: call returned: [1, "", ""] 02:45:11.043547060: calling as amnesia: echo | nc.traditional -u 1.2.3.4 42 02:45:11.277334758: call returned: [1, "", ""] When I open an untorified UDP connection to 1.2.3.4 on port 42 # features/step_definitions/tor.rb:187 02:45:11.278027720: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=UDP .* DPT=42 ' 02:45:11.485283868: call returned: [0, "", ""] And the untorified connection is logged as dropped by the firewall # features/step_definitions/tor.rb:225 @check_tor_leaks @fragile Scenario: The Tor enforcement is effective at blocking untorified ICMP connection attempts # features/tor_enforcement.feature:60 02:45:13.404318324: calling as root: echo 'hello?' 02:45:13.543226474: call returned: [0, "hello?\n", ""] 02:45:14.269537710: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:45:14.269781230: calling as root: nmcli device show eth0 02:45:14.533175587: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:45:14.550654301: calling as root: systemctl --quiet is-active tor@default.service 02:45:14.706413121: call returned: [0, "", ""] 02:45:14.706516752: calling as root: systemctl stop tor@default.service 02:45:14.909294511: call returned: [0, "", ""] 02:45:14.909465773: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:45:15.083560910: call returned: [0, "", ""] 02:45:15.083679414: calling as root: date -s '@1523728819' 02:45:15.257901625: call returned: [0, "Sat Apr 14 18:00:19 UTC 2018\n", ""] 02:45:15.258008440: calling as root: systemctl start tor@default.service 02:45:16.021976718: call returned: [0, "", ""] 02:45:16.022137604: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:16.175773353: call returned: [3, "", ""] 02:45:17.176127999: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:17.349929577: call returned: [3, "", ""] 02:45:18.350287691: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:18.521657334: call returned: [3, "", ""] 02:45:19.521902093: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:19.711254253: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:45:19.712697066: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=ICMP ' 02:45:19.911522966: call returned: [1, "", ""] 02:45:19.911648789: calling as root: ping -c 5 1.2.3.4 02:45:25.267823851: call returned: [1, "PING 1.2.3.4 (1.2.3.4) 56(84) bytes of data.\nFrom 10.2.1.51 icmp_seq=1 Destination Port Unreachable\nFrom 10.2.1.51 icmp_seq=2 Destination Port Unreachable\nFrom 10.2.1.51 icmp_seq=3 Destination Port Unreachable\nFrom 10.2.1.51 icmp_seq=4 Destination Port Unreachable\nFrom 10.2.1.51 icmp_seq=5 Destination Port Unreachable\n\n--- 1.2.3.4 ping statistics ---\n5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4092ms\n\n", "ping: sendmsg: Operation not permitted\nping: sendmsg: Operation not permitted\nping: sendmsg: Operation not permitted\nping: sendmsg: Operation not permitted\nping: sendmsg: Operation not permitted\n"] When I open an untorified ICMP connection to 1.2.3.4 # features/step_definitions/tor.rb:187 Then the untorified connection fails # features/step_definitions/tor.rb:211 02:45:25.268831803: calling as root: journalctl --dmesg --output=cat | grep -qP '^Dropped outbound packet: .* DST=1\.2\.3\.4 .* PROTO=ICMP ' 02:45:25.417876593: call returned: [0, "", ""] And the untorified connection is logged as dropped by the firewall # features/step_definitions/tor.rb:225 Scenario: The system DNS is always set up to use Tor's DNSPort # features/tor_enforcement.feature:66 02:45:27.420940232: calling as root: echo 'hello?' 02:45:27.834955769: call returned: [0, "hello?\n", ""] 02:45:28.559426008: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:45:28.559561569: calling as root: nmcli device show eth0 02:45:28.818655928: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:45:28.831681220: calling as root: date -s '@1523728832' 02:45:28.996463124: call returned: [0, "Sat Apr 14 18:00:32 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 02:45:28.998016323: opening file /etc/resolv.conf in 'read' mode 02:45:29.016731933: read complete And the system DNS is using the local DNS resolver # features/step_definitions/tor.rb:232 And the network is plugged # features/step_definitions/common_steps.rb:79 02:45:29.040602210: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:29.287664187: call returned: [1, "", ""] 02:45:30.288033934: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:30.424973889: call returned: [1, "", ""] 02:45:31.425263206: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:31.591723794: call returned: [1, "", ""] 02:45:32.592013676: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:32.743989381: call returned: [1, "", ""] 02:45:33.744337525: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:33.908013950: call returned: [1, "", ""] 02:45:34.908449874: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:35.090352133: call returned: [1, "", ""] 02:45:36.090649386: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:36.240829284: call returned: [1, "", ""] 02:45:37.241116865: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:37.421532701: call returned: [1, "", ""] 02:45:38.421896178: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:38.584172028: call returned: [3, "", ""] 02:45:39.584403031: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:39.774972643: call returned: [0, "", ""] 02:45:39.775176819: calling as root: test -e /run/tordate/done 02:45:39.957446813: call returned: [0, "", ""] 02:45:39.957674251: calling as root: test -e /run/htpdate/success 02:45:40.365366275: call returned: [1, "", ""] 02:45:41.365753335: calling as root: test -e /run/htpdate/success 02:45:41.504363745: call returned: [1, "", ""] 02:45:42.504687479: calling as root: test -e /run/htpdate/success 02:45:42.645592298: call returned: [0, "", ""] 02:45:42.651183716: calling as root: systemctl is-system-running 02:45:42.782914958: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:45:42.784062348: opening file /etc/resolv.conf in 'read' mode 02:45:42.801787839: read complete Then the system DNS is still using the local DNS resolver # features/step_definitions/tor.rb:232 @product @check_tor_leaks Feature: Tor stream isolation is effective As a Tails user I want my Torified sessions to be sensibly isolated from each other to prevent identity correlation Background: # features/tor_stream_isolation.feature:6 02:45:44.435204809: calling as root: echo 'hello?' 02:45:44.572732008: call returned: [0, "hello?\n", ""] 02:45:45.295278540: calling as root: nmcli device show eth0 02:45:45.307249025: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:45:45.570386535: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:45:45.580891655: calling as root: systemctl --quiet is-active tor@default.service 02:45:45.737416488: call returned: [0, "", ""] 02:45:45.737608846: calling as root: systemctl stop tor@default.service 02:45:45.939613921: call returned: [0, "", ""] 02:45:45.939710742: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:45:46.090431360: call returned: [0, "", ""] 02:45:46.090557917: calling as root: date -s '@1523728850' 02:45:46.287184555: call returned: [0, "Sat Apr 14 18:00:50 UTC 2018\n", ""] 02:45:46.287338026: calling as root: systemctl start tor@default.service 02:45:47.007973248: call returned: [0, "", ""] 02:45:47.008141544: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:47.150302612: call returned: [3, "", ""] 02:45:48.150705844: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:48.318252858: call returned: [3, "", ""] 02:45:49.318577491: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:49.474048087: call returned: [3, "", ""] 02:45:50.474379381: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:50.646858642: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 Scenario: tails-security-check is using the Tails-specific SocksPort # features/tor_stream_isolation.feature:9 02:45:50.649509175: spawning as root: while true; do ss -taupen | grep 'users:(("tails-security-"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of tails-security-check # features/step_definitions/tor.rb:285 02:45:50.789218064: calling as amnesia: tails-security-check 02:45:52.941937700: call returned: [0, "", ""] And I re-run tails-security-check # features/step_definitions/tor.rb:311 02:45:52.943114148: opening file /tmp/ss.log in 'read' mode 02:45:53.090460154: read complete Then I see that tails-security-check is properly stream isolated # features/step_definitions/tor.rb:294 Scenario: htpdate is using the Tails-specific SocksPort # features/tor_stream_isolation.feature:14 02:45:54.978748028: calling as root: echo 'hello?' 02:45:55.137999417: call returned: [0, "hello?\n", ""] 02:45:55.868878968: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:45:55.869004018: calling as root: nmcli device show eth0 02:45:56.134874233: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:45:56.144989788: calling as root: systemctl --quiet is-active tor@default.service 02:45:56.307050896: call returned: [0, "", ""] 02:45:56.307151613: calling as root: systemctl stop tor@default.service 02:45:56.497718381: call returned: [0, "", ""] 02:45:56.497823648: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:45:56.651576675: call returned: [0, "", ""] 02:45:56.651792467: calling as root: date -s '@1523728860' 02:45:56.820343018: call returned: [0, "Sat Apr 14 18:01:00 UTC 2018\n", ""] 02:45:56.820448915: calling as root: systemctl start tor@default.service 02:45:57.576354790: call returned: [0, "", ""] 02:45:57.576499172: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:57.779544846: call returned: [3, "", ""] 02:45:58.779889800: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:45:58.963665997: call returned: [3, "", ""] 02:45:59.963981553: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:00.087963723: call returned: [3, "", ""] 02:46:01.088259723: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:01.280112103: call returned: [0, "", ""] 02:46:01.281394379: spawning as root: while true; do ss -taupen | grep 'users:(("curl"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of htpdate # features/step_definitions/tor.rb:285 02:46:01.422850381: calling as root: service htpdate stop && rm -f /run/htpdate/* && systemctl --no-block start htpdate.service 02:46:02.768002077: call returned: [0, "", ""] 02:46:02.768250118: calling as root: test -e /run/tordate/done 02:46:02.926697555: call returned: [0, "", ""] 02:46:02.926881586: calling as root: test -e /run/htpdate/success 02:46:03.084283690: call returned: [1, "", ""] 02:46:04.084629428: calling as root: test -e /run/htpdate/success 02:46:04.223244201: call returned: [1, "", ""] 02:46:05.223625973: calling as root: test -e /run/htpdate/success 02:46:05.381529106: call returned: [0, "", ""] And I re-run htpdate # features/step_definitions/tor.rb:315 02:46:05.382713709: opening file /tmp/ss.log in 'read' mode 02:46:05.601618909: read complete Then I see that htpdate is properly stream isolated # features/step_definitions/tor.rb:294 Scenario: tails-upgrade-frontend-wrapper is using the Tails-specific SocksPort # features/tor_stream_isolation.feature:19 02:46:07.499318892: calling as root: echo 'hello?' 02:46:07.656435270: call returned: [0, "hello?\n", ""] 02:46:08.380589633: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:46:08.380714825: calling as root: nmcli device show eth0 02:46:08.615421579: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:46:08.627168951: calling as root: systemctl --quiet is-active tor@default.service 02:46:08.799810268: call returned: [0, "", ""] 02:46:08.799909600: calling as root: systemctl stop tor@default.service 02:46:09.016064597: call returned: [0, "", ""] 02:46:09.016250986: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:46:09.154913606: call returned: [0, "", ""] 02:46:09.155082539: calling as root: date -s '@1523728873' 02:46:09.360445129: call returned: [0, "Sat Apr 14 18:01:13 UTC 2018\n", ""] 02:46:09.360541943: calling as root: systemctl start tor@default.service 02:46:10.170662147: call returned: [0, "", ""] 02:46:10.170978487: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:10.360453191: call returned: [3, "", ""] 02:46:11.360771099: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:11.576492002: call returned: [3, "", ""] 02:46:12.576752774: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:12.747291055: call returned: [3, "", ""] 02:46:13.747611555: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:13.905689648: call returned: [0, "", ""] 02:46:13.907118039: spawning as root: while true; do ss -taupen | grep 'users:(("tails-iuk-get-u"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of tails-upgrade-frontend-wrapper # features/step_definitions/tor.rb:285 02:46:14.067811977: calling as amnesia: tails-upgrade-frontend-wrapper 02:46:48.592281361: call returned: [0, "localuser:tails-upgrade-frontend being added to access control list\nThe system is up-to-date\nlocaluser:tails-upgrade-frontend being removed from access control list\n", "Prototype mismatch: sub Tails::MirrorPool::assert ($;$) vs none at /usr/share/perl5/Tails/MirrorPool.pm line 28.\nPrototype mismatch: sub Tails::IUK::Frontend::assert ($;$) vs none at /usr/share/perl5/Tails/IUK/Frontend.pm line 42.\n"] And I re-run tails-upgrade-frontend-wrapper # features/step_definitions/tor.rb:322 02:46:48.593628575: opening file /tmp/ss.log in 'read' mode 02:46:48.778497528: read complete Then I see that tails-upgrade-frontend-wrapper is properly stream isolated # features/step_definitions/tor.rb:294 #11592 @fragile Scenario: The Tor Browser is using the web browser-specific SocksPort # features/tor_stream_isolation.feature:26 02:46:50.715958891: calling as root: echo 'hello?' 02:46:50.883942655: call returned: [0, "hello?\n", ""] 02:46:51.606666955: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:46:51.606788092: calling as root: nmcli device show eth0 02:46:51.923578670: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:46:51.933937634: calling as root: systemctl --quiet is-active tor@default.service 02:46:52.088718061: call returned: [0, "", ""] 02:46:52.088814498: calling as root: systemctl stop tor@default.service 02:46:52.255125133: call returned: [0, "", ""] 02:46:52.255225540: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:46:52.407047246: call returned: [0, "", ""] 02:46:52.407166035: calling as root: date -s '@1523728916' 02:46:52.552881791: call returned: [0, "Sat Apr 14 18:01:56 UTC 2018\n", ""] 02:46:52.552997360: calling as root: systemctl start tor@default.service 02:46:53.339840890: call returned: [0, "", ""] 02:46:53.340063284: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:53.498838828: call returned: [3, "", ""] 02:46:54.499124666: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:54.652940038: call returned: [3, "", ""] 02:46:55.653273374: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:55.842742789: call returned: [3, "", ""] 02:46:56.843138882: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:46:57.005266237: call returned: [0, "", ""] 02:46:57.006319351: spawning as root: while true; do ss -taupen | grep 'users:(("firefox"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of Tor Browser # features/step_definitions/tor.rb:285 02:46:57.188859511: calling as amnesia: xdotool key Super 02:46:57.427447440: call returned: [0, "", ""] 02:46:58.684269583: [log] TYPE "Tor Browser" 02:46:58.745817469: [log] ( Ctrl ) TYPE "#ENTER." 02:46:58.746480426: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1061 = dogtail.tree.root.application('Firefox') 02:47:10.392355551: execution complete 02:47:11.392708828: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1062 = dogtail.tree.root.application('Firefox') 02:47:11.934091690: execution complete 02:47:11.934274396: executing Python as amnesia: node1063 = node1062.child(roleName='frame', recursive=False) 02:47:12.128830171: execution complete And I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:47:12.130529364: executing Python as amnesia: node1064 = node1062.child('Tails - News - Tor Browser', roleName='frame') 02:47:16.688210400: execution complete 02:47:16.688443174: executing Python as amnesia: node1065 = node1062.child('Reload current page', roleName='push button') 02:47:21.123785968: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:47:21.125009586: opening file /tmp/ss.log in 'read' mode 02:47:24.040538642: read complete Then I see that Tor Browser is properly stream isolated # features/step_definitions/tor.rb:294 @fragile Scenario: Gobby is using the default SocksPort # features/tor_stream_isolation.feature:33 02:47:26.034454755: calling as root: echo 'hello?' 02:47:26.187298640: call returned: [0, "hello?\n", ""] 02:47:26.910654796: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:47:26.910763223: calling as root: nmcli device show eth0 02:47:27.168826669: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:47:27.179662099: calling as root: systemctl --quiet is-active tor@default.service 02:47:27.332454941: call returned: [0, "", ""] 02:47:27.332553373: calling as root: systemctl stop tor@default.service 02:47:27.505733642: call returned: [0, "", ""] 02:47:27.505831335: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:47:27.675951504: call returned: [0, "", ""] 02:47:27.676116773: calling as root: date -s '@1523728951' 02:47:27.848873702: call returned: [0, "Sat Apr 14 18:02:31 UTC 2018\n", ""] 02:47:27.848973628: calling as root: systemctl start tor@default.service 02:47:28.576613069: call returned: [0, "", ""] 02:47:28.576785197: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:28.760243403: call returned: [3, "", ""] 02:47:29.760569855: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:29.921825229: call returned: [3, "", ""] 02:47:30.922117198: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:31.098966432: call returned: [3, "", ""] 02:47:32.099300904: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:32.259826497: call returned: [0, "", ""] 02:47:32.261151019: spawning as root: while true; do ss -taupen | grep 'users:(("gobby-0.5"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of Gobby # features/step_definitions/tor.rb:285 02:47:32.439752103: calling as amnesia: xdotool key Super 02:47:32.649216552: call returned: [0, "", ""] 02:47:33.646912467: [log] TYPE "Gobby" And I start "Gobby" via GNOME Activities Overview # features/step_definitions/common_steps.rb:657 02:47:33.709849024: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1066 = dogtail.tree.root.application('gobby-0.5') 02:47:33.719517889: [log] ( Ctrl ) TYPE "#ENTER." 02:47:36.152675682: execution complete 02:47:36.152823946: executing Python as amnesia: node1067 = node1066.child('Welcome to Gobby', roleName='label') 02:47:36.325919540: execution complete 02:47:36.326109685: executing Python as amnesia: node1068 = node1066.button('Close') 02:47:36.439273371: execution complete 02:47:36.439386206: executing Python as amnesia: node1068.click() 02:47:37.552924894: execution complete 02:47:37.553051809: executing Python as amnesia: node1069 = node1066.child('Failed to share documents', roleName='label') 02:47:37.714736417: execution complete 02:47:37.714910922: executing Python as amnesia: node1070 = node1066.menu('File') 02:47:37.744630893: execution complete 02:47:37.744731335: executing Python as amnesia: node1070.click() 02:47:38.793791994: execution complete 02:47:38.793907020: executing Python as amnesia: node1071 = node1066.menuItem('Connect to Server...') 02:47:38.831035749: execution complete 02:47:38.831197130: executing Python as amnesia: node1071.click() 02:47:39.864949647: execution complete 02:47:39.927785798: [log] ( Ctrl ) TYPE "t" 02:47:39.927897034: executing Python as amnesia: node1072 = node1066.dialog('Connect to Server') 02:47:39.955384719: execution complete 02:47:39.955500382: executing Python as amnesia: node1073 = node1072.child('', roleName='text') 02:47:39.982504347: execution complete 02:47:39.982626280: executing Python as amnesia: node1073.typeText('gobby.debian.org') 02:47:41.659817137: execution complete 02:47:41.659980495: executing Python as amnesia: node1074 = node1072.button('Connect') 02:47:41.692792269: execution complete 02:47:41.692898735: executing Python as amnesia: node1074.click() 02:47:42.725582261: execution complete 02:47:42.725791246: executing Python as amnesia: node1075 = node1066.child('amnesia', roleName='table cell') 02:47:46.068728487: execution complete And I connect Gobby to "gobby.debian.org" # features/step_definitions/tor.rb:326 02:47:46.069856341: opening file /tmp/ss.log in 'read' mode 02:47:46.461571871: read complete Then I see that Gobby is properly stream isolated # features/step_definitions/tor.rb:294 Scenario: SSH is using the default SocksPort # features/tor_stream_isolation.feature:39 02:47:48.507001997: calling as root: echo 'hello?' 02:47:48.659956154: call returned: [0, "hello?\n", ""] 02:47:49.382172966: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:47:49.382302540: calling as root: nmcli device show eth0 02:47:49.660644875: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:47:49.670426016: calling as root: systemctl --quiet is-active tor@default.service 02:47:49.843361155: call returned: [0, "", ""] 02:47:49.843474600: calling as root: systemctl stop tor@default.service 02:47:50.013383555: call returned: [0, "", ""] 02:47:50.013547981: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:47:50.174372322: call returned: [0, "", ""] 02:47:50.174498051: calling as root: date -s '@1523728974' 02:47:50.312154019: call returned: [0, "Sat Apr 14 18:02:54 UTC 2018\n", ""] 02:47:50.312292939: calling as root: systemctl start tor@default.service 02:47:51.069441703: call returned: [0, "", ""] 02:47:51.069714444: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:51.264028490: call returned: [3, "", ""] 02:47:52.264361426: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:52.442583051: call returned: [3, "", ""] 02:47:53.442922467: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:53.647247584: call returned: [3, "", ""] 02:47:54.647587286: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:47:54.819426598: call returned: [0, "", ""] 02:47:54.820675471: spawning as root: while true; do ss -taupen | grep 'users:(("\(nc\|ssh\)"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of SSH # features/step_definitions/tor.rb:285 02:47:54.978685749: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:47:55.212424636: call returned: [1, "", ""] 02:47:55.249239248: calling as amnesia: xdotool key Super 02:47:55.402201753: call returned: [0, "", ""] 02:47:56.614711879: [log] TYPE "commandline" 02:47:56.676157567: [log] ( Ctrl ) TYPE "#ENTER." 02:47:59.868730761: [log] TYPE "ssh lizard.tails.boum.org#ENTER." And I run "ssh lizard.tails.boum.org" in GNOME Terminal # features/step_definitions/common_steps.rb:605 And I see "SSHAuthVerification.png" after at most 60 seconds # features/step_definitions/common_steps.rb:456 02:48:01.316739422: opening file /tmp/ss.log in 'read' mode 02:48:01.432722365: read complete Then I see that SSH is properly stream isolated # features/step_definitions/tor.rb:294 Scenario: whois lookups use the default SocksPort # features/tor_stream_isolation.feature:45 02:48:03.278605900: calling as root: echo 'hello?' 02:48:03.428281152: call returned: [0, "hello?\n", ""] 02:48:04.151017347: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:48:04.151157935: calling as root: nmcli device show eth0 02:48:04.403598044: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:48:04.413744111: calling as root: systemctl --quiet is-active tor@default.service 02:48:04.564793774: call returned: [0, "", ""] 02:48:04.564936897: calling as root: systemctl stop tor@default.service 02:48:04.755892672: call returned: [0, "", ""] 02:48:04.756005480: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:48:04.952383277: call returned: [0, "", ""] 02:48:04.952522688: calling as root: date -s '@1523728989' 02:48:05.120544481: call returned: [0, "Sat Apr 14 18:03:09 UTC 2018\n", ""] 02:48:05.120649493: calling as root: systemctl start tor@default.service 02:48:05.912435341: call returned: [0, "", ""] 02:48:05.912647402: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:06.111516350: call returned: [3, "", ""] 02:48:07.111823701: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:07.279971154: call returned: [3, "", ""] 02:48:08.280292461: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:08.443350801: call returned: [3, "", ""] 02:48:09.443632581: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:09.601184520: call returned: [0, "", ""] 02:48:09.602411075: spawning as root: while true; do ss -taupen | grep 'users:(("whois"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of whois # features/step_definitions/tor.rb:285 02:48:09.785372031: calling as amnesia: whois 'boum.org' 02:48:10.794640860: call returned: [0, "Domain Name: BOUM.ORG\nRegistry Domain ID: D103677623-LROR\nRegistrar WHOIS Server: whois.gandi.net\nRegistrar URL: http://www.gandi.net\nUpdated Date: 2011-11-21T00:31:40Z\nCreation Date: 2004-01-07T17:49:42Z\nRegistry Expiry Date: 2019-01-07T17:49:42Z\nRegistrar Registration Expiration Date:\nRegistrar: Gandi SAS\nRegistrar IANA ID: 81\nRegistrar Abuse Contact Email: abuse@support.gandi.net\nRegistrar Abuse Contact Phone: +33.170377661\nReseller:\nDomain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\nRegistry Registrant ID: C7178308-LROR\nRegistrant Name: Ben voui\nRegistrant Organization: Ben voui\nRegistrant Street: 5 rue Orfila\nRegistrant City: Paris\nRegistrant State/Province:\nRegistrant Postal Code: 75020\nRegistrant Country: FR\nRegistrant Phone: +33.143664644\nRegistrant Phone Ext:\nRegistrant Fax:\nRegistrant Fax Ext:\nRegistrant Email: 600dcd01d46cf5fe42f3e8fd48edf086-599038@contact.gandi.net\nRegistry Admin ID: C7178507-LROR\nAdmin Name: Ben voui\nAdmin Organization:\nAdmin Street: 5 rue Orfila\nAdmin City: Paris\nAdmin State/Province:\nAdmin Postal Code: 75020\nAdmin Country: FR\nAdmin Phone: +33.143664644\nAdmin Phone Ext:\nAdmin Fax:\nAdmin Fax Ext:\nAdmin Email: 60a04aeab747f1964c5ee769feac8cba-203074@contact.gandi.net\nRegistry Tech ID: C7178507-LROR\nTech Name: Ben voui\nTech Organization:\nTech Street: 5 rue Orfila\nTech City: Paris\nTech State/Province:\nTech Postal Code: 75020\nTech Country: FR\nTech Phone: +33.143664644\nTech Phone Ext:\nTech Fax:\nTech Fax Ext:\nTech Email: 60a04aeab747f1964c5ee769feac8cba-203074@contact.gandi.net\nName Server: NS.BOUM.ORG\nName Server: NS2.BOUM.ORG\nDNSSEC: unsigned\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/\n>>> Last update of WHOIS database: 2018-04-14T18:02:14Z <<<\n\nFor more information on Whois status codes, please visit https://icann.org/epp\n\nAccess to Public Interest Registry WHOIS information is provided to assist persons in determining the contents of a domain name registration record in the Public Interest Registry registry database. The data in this record is provided by Public Interest Registry for informational purposes only, and Public Interest Registry does not guarantee its accuracy. This service is intended only for query-based access. You agree that you will use this data only for lawful purposes and that, under no circumstances will you use this data to: (a) allow, enable, or otherwise support the transmission by e-mail, telephone, or facsimile of mass unsolicited, commercial advertising or solicitations to entities other than the data recipient's own existing customers; or (b) enable high volume, automated, electronic processes that send queries or data to the systems of Registry Operator, a Registrar, or Afilias except as reasonably necessary to register domain names or modify existing registrations. All rights reserved. Public Interest Registry reserves the right to modify these terms at any time. By submitting this query, you agree to abide by this policy.\n", ""] And I query the whois directory service for "boum.org" # features/step_definitions/torified_misc.rb:3 And the whois command is successful # features/step_definitions/torified_misc.rb:35 02:48:10.796715560: opening file /tmp/ss.log in 'read' mode 02:48:10.863477295: read complete Then I see that whois is properly stream isolated # features/step_definitions/tor.rb:294 @fragile Scenario: Explicitly torify-wrapped applications are using the default SocksPort # features/tor_stream_isolation.feature:52 02:48:12.703766171: calling as root: echo 'hello?' 02:48:12.851534750: call returned: [0, "hello?\n", ""] 02:48:13.579494721: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:48:13.579634315: calling as root: nmcli device show eth0 02:48:13.839920244: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:48:13.851052995: calling as root: systemctl --quiet is-active tor@default.service 02:48:14.038038389: call returned: [0, "", ""] 02:48:14.038137085: calling as root: systemctl stop tor@default.service 02:48:14.233443450: call returned: [0, "", ""] 02:48:14.233614286: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:48:14.402140708: call returned: [0, "", ""] 02:48:14.402255574: calling as root: date -s '@1523728998' 02:48:14.586089473: call returned: [0, "Sat Apr 14 18:03:18 UTC 2018\n", ""] 02:48:14.586209453: calling as root: systemctl start tor@default.service 02:48:15.469972724: call returned: [0, "", ""] 02:48:15.470133623: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:15.643435029: call returned: [3, "", ""] 02:48:16.643693263: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:16.821758535: call returned: [3, "", ""] 02:48:17.822145239: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:17.988623174: call returned: [3, "", ""] 02:48:18.989041901: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:19.140806481: call returned: [0, "", ""] 02:48:19.141419102: spawning as root: while true; do ss -taupen | grep 'users:(("gobby-0.5"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of Gobby # features/step_definitions/tor.rb:285 02:48:19.285739185: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:48:19.485553764: call returned: [1, "", ""] 02:48:19.525446363: calling as amnesia: xdotool key Super 02:48:19.680658225: call returned: [0, "", ""] 02:48:20.899912624: [log] TYPE "commandline" 02:48:20.962758072: [log] ( Ctrl ) TYPE "#ENTER." 02:48:24.150982687: [log] TYPE "torify /usr/bin/gobby-0.5#ENTER." And I run "torify /usr/bin/gobby-0.5" in GNOME Terminal # features/step_definitions/common_steps.rb:605 02:48:24.151808397: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1076 = dogtail.tree.root.application('gobby-0.5') 02:48:25.672119305: execution complete 02:48:25.672279274: executing Python as amnesia: node1077 = node1076.child('Welcome to Gobby', roleName='label') 02:48:25.746983402: execution complete 02:48:25.747120205: executing Python as amnesia: node1078 = node1076.button('Close') 02:48:25.829311991: execution complete 02:48:25.829456421: executing Python as amnesia: node1078.click() 02:48:26.977009024: execution complete 02:48:26.977137455: executing Python as amnesia: node1079 = node1076.child('Failed to share documents', roleName='label') 02:48:27.111090838: execution complete 02:48:27.111207910: executing Python as amnesia: node1080 = node1076.menu('File') 02:48:27.146789123: execution complete 02:48:27.146890531: executing Python as amnesia: node1080.click() 02:48:28.181372000: execution complete 02:48:28.181497525: executing Python as amnesia: node1081 = node1076.menuItem('Connect to Server...') 02:48:28.221849930: execution complete 02:48:28.221954038: executing Python as amnesia: node1081.click() 02:48:29.259544157: execution complete 02:48:29.321151303: [log] ( Ctrl ) TYPE "t" 02:48:29.321350539: executing Python as amnesia: node1082 = node1076.dialog('Connect to Server') 02:48:29.349474886: execution complete 02:48:29.349638638: executing Python as amnesia: node1083 = node1082.child('', roleName='text') 02:48:29.383060990: execution complete 02:48:29.383283667: executing Python as amnesia: node1083.typeText('gobby.debian.org') 02:48:31.059743264: execution complete 02:48:31.059857684: executing Python as amnesia: node1084 = node1082.button('Connect') 02:48:31.090762467: execution complete 02:48:31.090977052: executing Python as amnesia: node1084.click() 02:48:32.120682603: execution complete 02:48:32.120965313: executing Python as amnesia: node1085 = node1076.child('amnesia', roleName='table cell') 02:48:36.033161082: execution complete And I connect Gobby to "gobby.debian.org" # features/step_definitions/tor.rb:326 02:48:36.034101770: opening file /tmp/ss.log in 'read' mode 02:48:36.428241398: read complete Then I see that Gobby is properly stream isolated # features/step_definitions/tor.rb:294 @fragile Scenario: Explicitly torsocks-wrapped applications are using the default SocksPort # features/tor_stream_isolation.feature:59 02:48:38.367220112: calling as root: echo 'hello?' 02:48:38.533835560: call returned: [0, "hello?\n", ""] 02:48:39.256594434: calling as root: nmcli device show eth0 02:48:39.267956997: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:48:39.551598213: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:48:39.562038953: calling as root: systemctl --quiet is-active tor@default.service 02:48:39.710749959: call returned: [0, "", ""] 02:48:39.710908088: calling as root: systemctl stop tor@default.service 02:48:39.901284766: call returned: [0, "", ""] 02:48:39.901428286: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:48:40.050607513: call returned: [0, "", ""] 02:48:40.050799451: calling as root: date -s '@1523729024' 02:48:40.217429217: call returned: [0, "Sat Apr 14 18:03:44 UTC 2018\n", ""] 02:48:40.217540675: calling as root: systemctl start tor@default.service 02:48:40.971008565: call returned: [0, "", ""] 02:48:40.971167359: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:41.140740328: call returned: [3, "", ""] 02:48:42.141020360: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:42.318264786: call returned: [3, "", ""] 02:48:43.318529625: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:43.476513056: call returned: [3, "", ""] 02:48:44.476778324: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:48:44.612593113: call returned: [0, "", ""] 02:48:44.613243945: spawning as root: while true; do ss -taupen | grep 'users:(("gobby-0.5"'; sleep 0.1; done > /tmp/ss.log When I monitor the network connections of Gobby # features/step_definitions/tor.rb:285 02:48:44.798631101: calling as root: pidof -x -o '%PPID' gnome-terminal-server 02:48:45.014268476: call returned: [1, "", ""] 02:48:45.050492414: calling as amnesia: xdotool key Super 02:48:45.244711336: call returned: [0, "", ""] 02:48:46.520300950: [log] TYPE "commandline" [log] ( Ctrl ) TYPE "#ENTER." 02:48:49.785249260: [log] TYPE "torsocks /usr/bin/gobby-0.5#ENTER." And I run "torsocks /usr/bin/gobby-0.5" in GNOME Terminal # features/step_definitions/common_steps.rb:605 02:48:49.786079248: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1086 = dogtail.tree.root.application('gobby-0.5') 02:48:51.175091535: execution complete 02:48:51.175244916: executing Python as amnesia: node1087 = node1086.child('Welcome to Gobby', roleName='label') 02:48:51.209148881: execution complete 02:48:51.209310165: executing Python as amnesia: node1088 = node1086.button('Close') 02:48:51.284204094: execution complete 02:48:51.284348656: executing Python as amnesia: node1088.click() 02:48:52.379768698: execution complete 02:48:52.379912967: executing Python as amnesia: node1089 = node1086.child('Failed to share documents', roleName='label') 02:48:52.569509002: execution complete 02:48:52.569700541: executing Python as amnesia: node1090 = node1086.menu('File') 02:48:52.603392137: execution complete 02:48:52.603506078: executing Python as amnesia: node1090.click() 02:48:53.651466001: execution complete 02:48:53.651619866: executing Python as amnesia: node1091 = node1086.menuItem('Connect to Server...') 02:48:53.693108973: execution complete 02:48:53.693238294: executing Python as amnesia: node1091.click() 02:48:54.735344037: execution complete 02:48:54.798529088: executing Python as amnesia: node1092 = node1086.dialog('Connect to Server') 02:48:54.812486277: [log] ( Ctrl ) TYPE "t" 02:48:54.830630876: execution complete 02:48:54.830763386: executing Python as amnesia: node1093 = node1092.child('', roleName='text') 02:48:54.862043474: execution complete 02:48:54.862163537: executing Python as amnesia: node1093.typeText('gobby.debian.org') 02:48:56.544776066: execution complete 02:48:56.544904060: executing Python as amnesia: node1094 = node1092.button('Connect') 02:48:56.582599097: execution complete 02:48:56.582716459: executing Python as amnesia: node1094.click() 02:48:57.606488851: execution complete 02:48:57.606696929: executing Python as amnesia: node1095 = node1086.child('amnesia', roleName='table cell') 02:49:00.864331991: execution complete And I connect Gobby to "gobby.debian.org" # features/step_definitions/tor.rb:326 02:49:00.865218651: opening file /tmp/ss.log in 'read' mode 02:49:01.182200010: read complete Then I see that Gobby is properly stream isolated # features/step_definitions/tor.rb:294 @product Feature: Browsing the web using the Tor Browser As a Tails user when I browse the web using the Tor Browser all Internet traffic should flow only through Tor #11591, #11592 @fragile Scenario: The Tor Browser cannot access the LAN # features/torified_browsing.feature:9 02:49:03.073065143: calling as root: echo 'hello?' 02:49:03.234479857: call returned: [0, "hello?\n", ""] 02:49:03.957654396: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:49:03.957781408: calling as root: nmcli device show eth0 02:49:04.227839663: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:49:04.239976575: calling as root: systemctl --quiet is-active tor@default.service 02:49:04.404386780: call returned: [0, "", ""] 02:49:04.404484835: calling as root: systemctl stop tor@default.service 02:49:04.605407821: call returned: [0, "", ""] 02:49:04.605508362: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:49:04.783111211: call returned: [0, "", ""] 02:49:04.783280499: calling as root: date -s '@1523729048' 02:49:04.946649502: call returned: [0, "Sat Apr 14 18:04:08 UTC 2018\n", ""] 02:49:04.946751950: calling as root: systemctl start tor@default.service 02:49:05.813183469: call returned: [0, "", ""] 02:49:05.813338226: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:05.982095175: call returned: [3, "", ""] 02:49:06.982359634: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:07.117268820: call returned: [3, "", ""] 02:49:08.117609557: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:08.316842212: call returned: [3, "", ""] 02:49:09.317105380: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:09.475446150: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:49:09.494648784: calling as amnesia: curl http://10.2.1.1:8000 02:49:09.629066019: call returned: [7, "", " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to 10.2.1.1 port 8000: Connection refused\n"] 02:49:10.629710088: calling as amnesia: curl http://10.2.1.1:8000 02:49:10.751631079: call returned: [0, "Welcome to the LAN web server!", " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 30 100 30 0 0 1593 0 --:--:-- --:--:-- --:--:-- 1666\n"] And a web server is running on the LAN # features/step_definitions/common_steps.rb:790 And I capture all network traffic # features/step_definitions/common_steps.rb:96 02:49:10.803277290: calling as amnesia: xdotool key Super 02:49:10.966843544: call returned: [0, "", ""] 02:49:12.219815765: [log] TYPE "Tor Browser" 02:49:12.282397712: [log] ( Ctrl ) TYPE "#ENTER." 02:49:12.282689272: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1096 = dogtail.tree.root.application('Firefox') 02:49:23.635741750: execution complete 02:49:24.636232222: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1097 = dogtail.tree.root.application('Firefox') 02:49:25.407372109: execution complete 02:49:25.407518614: executing Python as amnesia: node1098 = node1097.child(roleName='frame', recursive=False) 02:49:25.526778566: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:49:25.527711000: executing Python as amnesia: node1099 = node1097.child('Tails - News - Tor Browser', roleName='frame') 02:49:30.399843276: execution complete 02:49:30.400095383: executing Python as amnesia: node1100 = node1097.child('Reload current page', roleName='push button') 02:49:34.578816312: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:49:34.581150974: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:49:35.181063036: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:49:36.022874374: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:49:36.515528868: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:49:36.722857032: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:49:37.504866291: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:49:42.505195537: calling as amnesia: echo -n 'http://10.2.1.1:8000' | xsel --input --clipboard 02:49:42.634993845: call returned: [0, "", ""] 02:49:42.697506341: [log] ( Ctrl ) TYPE "v" 02:49:42.738921665: [log] TYPE "#ENTER." And I open a page on the LAN web server in the Tor Browser # features/step_definitions/common_steps.rb:839 02:49:43.533414256: executing Python as amnesia: node1101 = node1097.child('Problem loading page', roleName='document frame') 02:49:44.997980658: execution complete 02:49:44.998184063: executing Python as amnesia: nodes1102 = node1101.findChildren(dogtail.predicate.GenericPredicate(roleName='heading')) print(len(nodes1102)) 02:49:45.044387756: execution complete 02:49:45.044512137: executing Python as amnesia: node1103 = nodes1102[0] 02:49:45.062203626: execution complete 02:49:45.062294852: executing Python as amnesia: print(node1103.text) 02:49:45.083362816: execution complete Then the Tor Browser shows the "Unable to connect" error # features/step_definitions/browser.rb:211 And no traffic was sent to the web server on the LAN # features/step_definitions/torified_browsing.rb:1 #11592 @check_tor_leaks @fragile Scenario: The Tor Browser directory is usable # features/torified_browsing.feature:21 02:49:46.919623462: calling as root: echo 'hello?' 02:49:47.061085949: call returned: [0, "hello?\n", ""] 02:49:47.787255333: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:49:47.787419921: calling as root: nmcli device show eth0 02:49:48.071474993: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:49:48.083003652: calling as root: systemctl --quiet is-active tor@default.service 02:49:48.234296091: call returned: [0, "", ""] 02:49:48.234420044: calling as root: systemctl stop tor@default.service 02:49:48.432242987: call returned: [0, "", ""] 02:49:48.432378387: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:49:48.595747259: call returned: [0, "", ""] 02:49:48.595863379: calling as root: date -s '@1523729092' 02:49:48.776358106: call returned: [0, "Sat Apr 14 18:04:52 UTC 2018\n", ""] 02:49:48.776464879: calling as root: systemctl start tor@default.service 02:49:49.707602433: call returned: [0, "", ""] 02:49:49.707775822: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:49.869455434: call returned: [3, "", ""] 02:49:50.869837552: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:51.035075915: call returned: [3, "", ""] 02:49:52.035374277: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:52.202545278: call returned: [3, "", ""] 02:49:53.202868906: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:49:53.373761412: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:49:53.375791918: calling as root: test -d '/home/amnesia/Tor Browser' 02:49:53.519300671: call returned: [0, "", ""] Then the amnesiac Tor Browser directory exists # features/step_definitions/common_steps.rb:688 02:49:54.394847510: [log] CLICK on L(167,12)@S(0)[0,0 1024x768] 02:49:54.885871753: [log] TYPE "#ESC." And there is a GNOME bookmark for the amnesiac Tor Browser directory # features/step_definitions/common_steps.rb:698 02:49:54.886804928: calling as root: test -d '/home/amnesia/Persistent/Tor Browser' 02:49:55.062743932: call returned: [1, "", ""] And the persistent Tor Browser directory does not exist # features/step_definitions/common_steps.rb:688 02:49:55.105136595: calling as amnesia: xdotool key Super 02:49:55.260240893: call returned: [0, "", ""] 02:49:56.521525613: [log] TYPE "Tor Browser" 02:49:56.584100242: [log] ( Ctrl ) TYPE "#ENTER." 02:49:56.584410513: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1104 = dogtail.tree.root.application('Firefox') 02:50:08.127891416: execution complete 02:50:09.128182050: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1105 = dogtail.tree.root.application('Firefox') 02:50:10.171134297: execution complete 02:50:10.171351050: executing Python as amnesia: node1106 = node1105.child(roleName='frame', recursive=False) 02:50:10.262680754: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:50:10.263697931: executing Python as amnesia: node1107 = node1105.child('Tails - News - Tor Browser', roleName='frame') 02:50:14.417616188: execution complete 02:50:14.417968793: executing Python as amnesia: node1108 = node1105.child('Reload current page', roleName='push button') 02:50:18.740714253: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:50:18.804506535: [log] ( Ctrl ) TYPE "s" 02:50:20.145017673: calling as root: test -e '/home/amnesia/Tor Browser/index.html' 02:50:20.156327043: [log] TYPE "index" [log] TYPE "#ENTER." 02:50:20.807192102: call returned: [1, "", ""] 02:50:21.807566590: calling as root: test -e '/home/amnesia/Tor Browser/index.html' 02:50:21.979975385: call returned: [1, "", ""] 02:50:22.980268686: calling as root: test -e '/home/amnesia/Tor Browser/index.html' 02:50:23.194795411: call returned: [0, "", ""] Then I can save the current page as "index.html" to the default downloads directory # features/step_definitions/common_steps.rb:742 02:50:23.260834543: [log] ( Ctrl ) TYPE "p" 02:50:23.260975063: executing Python as amnesia: node1109 = node1105.child('Print', roleName='dialog') 02:50:25.195941067: execution complete 02:50:25.196137455: executing Python as amnesia: node1110 = node1109.child('Print to File', 'table cell') 02:50:25.237869231: execution complete 02:50:25.237967324: executing Python as amnesia: node1110.click() 02:50:26.268587250: execution complete 02:50:26.268797612: executing Python as amnesia: node1111 = node1109.child(roleName='text') 02:50:26.329673712: execution complete 02:50:26.329780649: executing Python as amnesia: print(node1111.text) 02:50:26.349023929: execution complete 02:50:26.349161408: executing Python as amnesia: node1111.text = '/home/amnesia/Tor Browser/output.pdf' 02:50:26.377720170: execution complete 02:50:26.377884767: executing Python as amnesia: node1112 = node1109.button('Print') 02:50:26.841948536: execution complete 02:50:26.842091370: executing Python as amnesia: node1112.click() 02:50:27.872410378: execution complete 02:50:27.872577023: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:28.079567157: call returned: [1, "", ""] 02:50:29.079884341: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:29.212365131: call returned: [1, "", ""] 02:50:30.212679003: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:30.353518024: call returned: [1, "", ""] 02:50:31.353820113: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:31.502723631: call returned: [1, "", ""] 02:50:32.503048657: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:32.651832883: call returned: [1, "", ""] 02:50:33.652149046: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:33.830501264: call returned: [1, "", ""] 02:50:34.830791474: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:34.977901289: call returned: [1, "", ""] 02:50:35.978218287: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:36.168111011: call returned: [1, "", ""] 02:50:37.168461637: calling as root: test -e '/home/amnesia/Tor Browser/output.pdf' 02:50:37.300634564: call returned: [0, "", ""] And I can print the current page as "output.pdf" to the default downloads directory # features/step_definitions/common_steps.rb:772 #11592 @check_tor_leaks @fragile Scenario: Downloading files with the Tor Browser # features/torified_browsing.feature:33 02:50:39.425205934: calling as root: echo 'hello?' 02:50:39.578010118: call returned: [0, "hello?\n", ""] 02:50:40.301298267: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:50:40.301437892: calling as root: nmcli device show eth0 02:50:40.583452077: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:50:40.595200832: calling as root: systemctl --quiet is-active tor@default.service 02:50:40.739681989: call returned: [0, "", ""] 02:50:40.739777845: calling as root: systemctl stop tor@default.service 02:50:40.924607774: call returned: [0, "", ""] 02:50:40.924745039: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:50:41.067657421: call returned: [0, "", ""] 02:50:41.067773396: calling as root: date -s '@1523729145' 02:50:41.241264193: call returned: [0, "Sat Apr 14 18:05:45 UTC 2018\n", ""] 02:50:41.241377966: calling as root: systemctl start tor@default.service 02:50:42.027198322: call returned: [0, "", ""] 02:50:42.027782563: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:50:42.184258318: call returned: [3, "", ""] 02:50:43.184573916: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:50:43.352846770: call returned: [3, "", ""] 02:50:44.353145410: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:50:44.542674172: call returned: [3, "", ""] 02:50:45.542876647: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:50:45.712786463: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:50:45.752239280: calling as amnesia: xdotool key Super 02:50:45.907065561: call returned: [0, "", ""] 02:50:47.223598579: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1113 = dogtail.tree.root.application('Firefox') 02:50:47.233182175: [log] TYPE "Tor Browser" [log] ( Ctrl ) TYPE "#ENTER." 02:50:58.524393721: execution complete 02:50:59.524675276: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1114 = dogtail.tree.root.application('Firefox') 02:50:59.922521257: execution complete 02:50:59.922706246: executing Python as amnesia: node1115 = node1114.child(roleName='frame', recursive=False) 02:51:00.015217675: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:51:00.017913562: executing Python as amnesia: node1116 = node1114.child('Tails - News - Tor Browser', roleName='frame') 02:51:05.405784602: execution complete 02:51:05.406125078: executing Python as amnesia: node1117 = node1114.child('Reload current page', roleName='push button') 02:51:09.229252335: execution complete Then the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:51:09.232004266: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:51:09.869024886: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:51:10.630355957: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:51:11.118465890: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:51:11.294292876: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:51:12.049561911: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:51:17.049749522: calling as amnesia: echo -n 'https://tails.boum.org/tails-signing.key' | xsel --input --clipboard 02:51:17.162150566: call returned: [0, "", ""] 02:51:17.265051392: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." When I download some file in the Tor Browser # features/step_definitions/browser.rb:175 Then I get the browser download dialog # features/step_definitions/browser.rb:181 02:51:20.372428122: [log] CLICK on L(701,460)@S(0)[0,0 1024x768] 02:51:21.532620716: [log] TYPE "#ENTER." When I save the file to the default Tor Browser download directory # features/step_definitions/browser.rb:186 02:51:21.533942224: calling as root: test -e '/home/amnesia/Tor Browser/tails-signing.key' 02:51:21.731510685: call returned: [1, "", ""] 02:51:22.731825354: calling as root: test -e '/home/amnesia/Tor Browser/tails-signing.key' 02:51:22.911347192: call returned: [0, "", ""] Then the file is saved to the default Tor Browser download directory # features/step_definitions/browser.rb:192 #11592 @check_tor_leaks @fragile Scenario: Playing HTML5 audio # features/torified_browsing.feature:44 02:51:25.033659069: calling as root: echo 'hello?' 02:51:25.195921656: call returned: [0, "hello?\n", ""] 02:51:25.918568983: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:51:25.918731364: calling as root: nmcli device show eth0 02:51:26.205045856: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:51:26.217168904: calling as root: systemctl --quiet is-active tor@default.service 02:51:26.381050909: call returned: [0, "", ""] 02:51:26.381162438: calling as root: systemctl stop tor@default.service 02:51:26.600929487: call returned: [0, "", ""] 02:51:26.601044298: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:51:26.742058991: call returned: [0, "", ""] 02:51:26.742207335: calling as root: date -s '@1523729190' 02:51:26.927514474: call returned: [0, "Sat Apr 14 18:06:30 UTC 2018\n", ""] 02:51:26.927619084: calling as root: systemctl start tor@default.service 02:51:27.780936084: call returned: [0, "", ""] 02:51:27.781213713: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:51:27.967558544: call returned: [3, "", ""] 02:51:28.967866673: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:51:29.117434547: call returned: [3, "", ""] 02:51:30.117746601: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:51:30.292073712: call returned: [3, "", ""] 02:51:31.292995027: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:51:31.439498153: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:51:31.476936059: calling as amnesia: xdotool key Super 02:51:31.639425247: call returned: [0, "", ""] 02:51:32.902794485: [log] TYPE "Tor Browser" 02:51:32.965258710: [log] ( Ctrl ) TYPE "#ENTER." 02:51:32.965556328: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1118 = dogtail.tree.root.application('Firefox') 02:51:44.340265624: execution complete 02:51:45.340605052: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1119 = dogtail.tree.root.application('Firefox') 02:51:45.777814537: execution complete 02:51:45.777986257: executing Python as amnesia: node1120 = node1119.child(roleName='frame', recursive=False) 02:51:45.935886652: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:51:45.936826592: executing Python as amnesia: node1121 = node1119.child('Tails - News - Tor Browser', roleName='frame') 02:51:55.966792620: execution complete 02:51:55.967133630: executing Python as amnesia: node1122 = node1119.child('Reload current page', roleName='push button') 02:52:08.241665576: execution complete 02:52:09.242049797: executing Python as amnesia: node1123 = node1119.child('Reload current page', roleName='push button') 02:52:22.294621731: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:52:22.295885833: calling as amnesia: pacmd info 02:52:23.946306224: call returned: [0, "Memory blocks currently allocated: 1, size: 63.9 KiB.\nMemory blocks allocated during the whole lifetime: 608, size: 2.2 MiB.\nMemory blocks imported from other processes: 0, size: 0 B.\nMemory blocks exported to other processes: 0, size: 0 B.\nTotal sample cache size: 0 B.\nDefault sample spec: s16le 2ch 44100Hz\nDefault channel map: front-left,front-right\nDefault sink name: alsa_output.pci-0000_07_01.0.analog-stereo\nDefault source name: alsa_input.pci-0000_07_01.0.analog-stereo\nMemory blocks of type POOL: 1 allocated/114 accumulated.\nMemory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.\nMemory blocks of type APPENDED: 0 allocated/0 accumulated.\nMemory blocks of type USER: 0 allocated/0 accumulated.\nMemory blocks of type FIXED: 0 allocated/494 accumulated.\nMemory blocks of type IMPORTED: 0 allocated/0 accumulated.\n23 module(s) loaded.\n index: 0\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the volume/mute state of devices\"\n\t\tmodule.version = \"10.0\"\n index: 1\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the volume/mute/device state of streams\"\n\t\tmodule.version = \"10.0\"\n index: 2\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore profile of cards\"\n\t\tmodule.version = \"10.0\"\n index: 3\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Augment the property sets of streams with additional static information\"\n\t\tmodule.version = \"10.0\"\n index: 4\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\t\n index: 5\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Detect available audio hardware and load matching drivers\"\n\t\tmodule.version = \"10.0\"\n index: 6\n\tname: \n\targument: \n\tused: 0\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"ALSA Card\"\n\t\tmodule.version = \"10.0\"\n index: 7\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Native protocol (UNIX sockets)\"\n\t\tmodule.version = \"10.0\"\n index: 8\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the default sink and source\"\n\t\tmodule.version = \"10.0\"\n index: 9\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"When a sink/source is removed, try to move its streams to the default sink/source\"\n\t\tmodule.version = \"10.0\"\n index: 10\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Always keeps at least one sink loaded even if it's a null one\"\n\t\tmodule.version = \"10.0\"\n index: 11\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically set device of streams based on intended roles of devices\"\n\t\tmodule.version = \"10.0\"\n index: 12\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"When a sink/source is idle for too long, suspend it\"\n\t\tmodule.version = \"10.0\"\n index: 13\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Create a client for each ConsoleKit session of this user\"\n\t\tmodule.version = \"10.0\"\n index: 14\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Create a client for each login session of this user\"\n\t\tmodule.version = \"10.0\"\n index: 15\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Position event sounds between L and R depending on the position on screen of the widget triggering them.\"\n\t\tmodule.version = \"10.0\"\n index: 16\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Mute & cork streams with certain roles while others exist\"\n\t\tmodule.version = \"10.0\"\n index: 17\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Detect when various filters are desirable\"\n\t\tmodule.version = \"10.0\"\n index: 18\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Load filter sinks automatically when needed\"\n\t\tmodule.version = \"10.0\"\n index: 19\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"X11 credential publisher\"\n\t\tmodule.version = \"10.0\"\n index: 20\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Synthesize X11 media key events when cork/uncork is requested\"\n\t\tmodule.version = \"10.0\"\n index: 21\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"X11 session management\"\n\t\tmodule.version = \"10.0\"\n index: 22\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Command line interface protocol (UNIX sockets)\"\n\t\tmodule.version = \"10.0\"\n1 sink(s) available.\n * index: 0\n\tname: \n\tdriver: \n\tflags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME \n\tstate: SUSPENDED\n\tsuspend cause: IDLE \n\tpriority: 9059\n\tvolume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 0.00 ms\n\tmax request: 0 KiB\n\tmax rewind: 0 KiB\n\tmonitor source: 0\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 0\n\tlinked by: 0\n\tfixed latency: 99.95 ms\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\talsa.resolution_bits = \"16\"\n\t\tdevice.api = \"alsa\"\n\t\tdevice.class = \"sound\"\n\t\talsa.class = \"generic\"\n\t\talsa.subclass = \"generic-mix\"\n\t\talsa.name = \"Generic Analog\"\n\t\talsa.id = \"Generic Analog\"\n\t\talsa.subdevice = \"0\"\n\t\talsa.subdevice_name = \"subdevice #0\"\n\t\talsa.device = \"0\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"front:0\"\n\t\tdevice.buffering.buffer_size = \"17632\"\n\t\tdevice.buffering.fragment_size = \"4408\"\n\t\tdevice.access_mode = \"mmap\"\n\t\tdevice.profile.name = \"analog-stereo\"\n\t\tdevice.profile.description = \"Analog Stereo\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\talsa.mixer_name = \"QEMU Generic\"\n\t\talsa.components = \"HDA:1af40022,1af40022,00100101\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tports:\n\t\tanalog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\tactive port: \n2 source(s) available.\n index: 0\n\tname: \n\tdriver: \n\tflags: DECIBEL_VOLUME LATENCY \n\tstate: SUSPENDED\n\tsuspend cause: IDLE \n\tpriority: 1050\n\tvolume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 0.00 ms\n\tmax rewind: 0 KiB\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 0\n\tlinked by: 0\n\tfixed latency: 99.95 ms\n\tmonitor_of: 0\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\tdevice.description = \"Monitor of 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\tdevice.class = \"monitor\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"0\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n * index: 1\n\tname: \n\tdriver: \n\tflags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY \n\tstate: SUSPENDED\n\tsuspend cause: IDLE \n\tpriority: 9059\n\tvolume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 0.00 ms\n\tmax rewind: 0 KiB\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 0\n\tlinked by: 0\n\tfixed latency: 99.95 ms\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\talsa.resolution_bits = \"16\"\n\t\tdevice.api = \"alsa\"\n\t\tdevice.class = \"sound\"\n\t\talsa.class = \"generic\"\n\t\talsa.subclass = \"generic-mix\"\n\t\talsa.name = \"Generic Analog\"\n\t\talsa.id = \"Generic Analog\"\n\t\talsa.subdevice = \"0\"\n\t\talsa.subdevice_name = \"subdevice #0\"\n\t\talsa.device = \"0\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"front:0\"\n\t\tdevice.buffering.buffer_size = \"17632\"\n\t\tdevice.buffering.fragment_size = \"4408\"\n\t\tdevice.access_mode = \"mmap\"\n\t\tdevice.profile.name = \"analog-stereo\"\n\t\tdevice.profile.description = \"Analog Stereo\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\talsa.mixer_name = \"QEMU Generic\"\n\t\talsa.components = \"HDA:1af40022,1af40022,00100101\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tports:\n\t\tanalog-input-linein: Line In (priority 8100, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\tactive port: \n7 client(s) logged in.\n index: 0\n\tdriver: \n\towner module: 14\n\tproperties:\n\t\tapplication.name = \"Login Session 8\"\n\t\tsystemd-login.session = \"8\"\n index: 1\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Shell\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.Shell\"\n\t\tapplication.icon_name = \"start-here\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.screen = \"0\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.id = \"4851\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-shell\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 2\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Shell Volume Control\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.VolumeControl\"\n\t\tapplication.icon_name = \"multimedia-volume-control\"\n\t\tapplication.version = \"3.22.3\"\n\t\tapplication.process.id = \"4851\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-shell\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 8\n\tdriver: \n\towner module: 21\n\tproperties:\n\t\tapplication.name = \"XSMP Session on gnome-session as 104e113781922f106f152371946143392700000046950018\"\n\t\txsmp.vendor = \"gnome-session\"\n\t\txsmp.client.id = \"104e113781922f106f152371946143392700000046950018\"\n index: 10\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Volume Control Media Keys\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.VolumeControl\"\n\t\tapplication.icon_name = \"multimedia-volume-control\"\n\t\tapplication.version = \"3.22.2\"\n\t\tapplication.process.id = \"4929\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-settings-daemon\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 21\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"Tor Browser\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.process.id = \"8695\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"plugin-container\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.language = \"C.UTF-8\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 23\n\tdriver: \n\towner module: 22\n\tproperties:\n\t\tapplication.name = \"UNIX socket client\"\n1 card(s) available.\n index: 0\n\tname: \n\tdriver: \n\towner module: 6\n\tproperties:\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"0\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tprofiles:\n\t\tinput:analog-stereo: Analog Stereo Input (priority 60, available: unknown)\n\t\toutput:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)\n\t\toutput:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: unknown)\n\t\toff: Off (priority 0, available: unknown)\n\tactive profile: \n\tsinks:\n\t\talsa_output.pci-0000_07_01.0.analog-stereo/#0: 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\tsources:\n\t\talsa_output.pci-0000_07_01.0.analog-stereo.monitor/#0: Monitor of 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\t\talsa_input.pci-0000_07_01.0.analog-stereo/#1: 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\tports:\n\t\tanalog-input-linein: Line In (priority 8100, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\t\tanalog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n0 sink input(s) available.\n0 source output(s) available.\n0 cache entrie(s) available.\n", ""] And no application is playing audio # features/step_definitions/common_steps.rb:724 02:52:23.949537889: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:52:24.175816406: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:52:24.930931220: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:52:25.418957245: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:52:25.599052651: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:52:26.356303215: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:52:31.356471566: calling as amnesia: echo -n 'http://www.terrillthompson.com/tests/html5-audio.html' | xsel --input --clipboard 02:52:31.497321478: call returned: [0, "", ""] 02:52:31.599971394: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." And I open the address "http://www.terrillthompson.com/tests/html5-audio.html" in the Tor Browser # features/step_definitions/browser.rb:67 02:52:43.878974964: [log] CLICK on L(36,507)@S(0)[0,0 1024x768] And I click the HTML5 play button # features/step_definitions/common_steps.rb:738 02:52:53.880269962: calling as amnesia: pacmd info 02:52:55.228932528: call returned: [0, "Memory blocks currently allocated: 16, size: 167.3 KiB.\nMemory blocks allocated during the whole lifetime: 2163, size: 9.1 MiB.\nMemory blocks imported from other processes: 7, size: 86.2 KiB.\nMemory blocks exported to other processes: 0, size: 0 B.\nTotal sample cache size: 0 B.\nDefault sample spec: s16le 2ch 44100Hz\nDefault channel map: front-left,front-right\nDefault sink name: alsa_output.pci-0000_07_01.0.analog-stereo\nDefault source name: alsa_input.pci-0000_07_01.0.analog-stereo\nMemory blocks of type POOL: 9 allocated/883 accumulated.\nMemory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.\nMemory blocks of type APPENDED: 0 allocated/0 accumulated.\nMemory blocks of type USER: 0 allocated/0 accumulated.\nMemory blocks of type FIXED: 0 allocated/1006 accumulated.\nMemory blocks of type IMPORTED: 7 allocated/274 accumulated.\n23 module(s) loaded.\n index: 0\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the volume/mute state of devices\"\n\t\tmodule.version = \"10.0\"\n index: 1\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the volume/mute/device state of streams\"\n\t\tmodule.version = \"10.0\"\n index: 2\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore profile of cards\"\n\t\tmodule.version = \"10.0\"\n index: 3\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Augment the property sets of streams with additional static information\"\n\t\tmodule.version = \"10.0\"\n index: 4\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\t\n index: 5\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Detect available audio hardware and load matching drivers\"\n\t\tmodule.version = \"10.0\"\n index: 6\n\tname: \n\targument: \n\tused: 1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"ALSA Card\"\n\t\tmodule.version = \"10.0\"\n index: 7\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Native protocol (UNIX sockets)\"\n\t\tmodule.version = \"10.0\"\n index: 8\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically restore the default sink and source\"\n\t\tmodule.version = \"10.0\"\n index: 9\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"When a sink/source is removed, try to move its streams to the default sink/source\"\n\t\tmodule.version = \"10.0\"\n index: 10\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Always keeps at least one sink loaded even if it's a null one\"\n\t\tmodule.version = \"10.0\"\n index: 11\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Automatically set device of streams based on intended roles of devices\"\n\t\tmodule.version = \"10.0\"\n index: 12\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"When a sink/source is idle for too long, suspend it\"\n\t\tmodule.version = \"10.0\"\n index: 13\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Create a client for each ConsoleKit session of this user\"\n\t\tmodule.version = \"10.0\"\n index: 14\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Create a client for each login session of this user\"\n\t\tmodule.version = \"10.0\"\n index: 15\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Position event sounds between L and R depending on the position on screen of the widget triggering them.\"\n\t\tmodule.version = \"10.0\"\n index: 16\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Mute & cork streams with certain roles while others exist\"\n\t\tmodule.version = \"10.0\"\n index: 17\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Detect when various filters are desirable\"\n\t\tmodule.version = \"10.0\"\n index: 18\n\tname: \n\targument: <>\n\tused: -1\n\tload once: yes\n\tproperties:\n\t\tmodule.author = \"Colin Guthrie\"\n\t\tmodule.description = \"Load filter sinks automatically when needed\"\n\t\tmodule.version = \"10.0\"\n index: 19\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"X11 credential publisher\"\n\t\tmodule.version = \"10.0\"\n index: 20\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Synthesize X11 media key events when cork/uncork is requested\"\n\t\tmodule.version = \"10.0\"\n index: 21\n\tname: \n\targument: \n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"X11 session management\"\n\t\tmodule.version = \"10.0\"\n index: 22\n\tname: \n\targument: <>\n\tused: -1\n\tload once: no\n\tproperties:\n\t\tmodule.author = \"Lennart Poettering\"\n\t\tmodule.description = \"Command line interface protocol (UNIX sockets)\"\n\t\tmodule.version = \"10.0\"\n1 sink(s) available.\n * index: 0\n\tname: \n\tdriver: \n\tflags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME \n\tstate: RUNNING\n\tsuspend cause: \n\tpriority: 9059\n\tvolume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 90.83 ms\n\tmax request: 17 KiB\n\tmax rewind: 17 KiB\n\tmonitor source: 0\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 1\n\tlinked by: 1\n\tfixed latency: 99.95 ms\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\talsa.resolution_bits = \"16\"\n\t\tdevice.api = \"alsa\"\n\t\tdevice.class = \"sound\"\n\t\talsa.class = \"generic\"\n\t\talsa.subclass = \"generic-mix\"\n\t\talsa.name = \"Generic Analog\"\n\t\talsa.id = \"Generic Analog\"\n\t\talsa.subdevice = \"0\"\n\t\talsa.subdevice_name = \"subdevice #0\"\n\t\talsa.device = \"0\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"front:0\"\n\t\tdevice.buffering.buffer_size = \"17632\"\n\t\tdevice.buffering.fragment_size = \"4408\"\n\t\tdevice.access_mode = \"mmap\"\n\t\tdevice.profile.name = \"analog-stereo\"\n\t\tdevice.profile.description = \"Analog Stereo\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\talsa.mixer_name = \"QEMU Generic\"\n\t\talsa.components = \"HDA:1af40022,1af40022,00100101\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tports:\n\t\tanalog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\tactive port: \n2 source(s) available.\n index: 0\n\tname: \n\tdriver: \n\tflags: DECIBEL_VOLUME LATENCY \n\tstate: IDLE\n\tsuspend cause: \n\tpriority: 1050\n\tvolume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 0.00 ms\n\tmax rewind: 17 KiB\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 0\n\tlinked by: 0\n\tfixed latency: 99.95 ms\n\tmonitor_of: 0\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\tdevice.description = \"Monitor of 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\tdevice.class = \"monitor\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"0\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n * index: 1\n\tname: \n\tdriver: \n\tflags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY \n\tstate: SUSPENDED\n\tsuspend cause: IDLE \n\tpriority: 9059\n\tvolume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB\n\t balance 0.00\n\tbase volume: 65536 / 100% / 0.00 dB\n\tvolume steps: 65537\n\tmuted: no\n\tcurrent latency: 0.00 ms\n\tmax rewind: 0 KiB\n\tsample spec: s16le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tused by: 0\n\tlinked by: 0\n\tfixed latency: 99.95 ms\n\tcard: 0 \n\tmodule: 6\n\tproperties:\n\t\talsa.resolution_bits = \"16\"\n\t\tdevice.api = \"alsa\"\n\t\tdevice.class = \"sound\"\n\t\talsa.class = \"generic\"\n\t\talsa.subclass = \"generic-mix\"\n\t\talsa.name = \"Generic Analog\"\n\t\talsa.id = \"Generic Analog\"\n\t\talsa.subdevice = \"0\"\n\t\talsa.subdevice_name = \"subdevice #0\"\n\t\talsa.device = \"0\"\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"front:0\"\n\t\tdevice.buffering.buffer_size = \"17632\"\n\t\tdevice.buffering.fragment_size = \"4408\"\n\t\tdevice.access_mode = \"mmap\"\n\t\tdevice.profile.name = \"analog-stereo\"\n\t\tdevice.profile.description = \"Analog Stereo\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\"\n\t\talsa.mixer_name = \"QEMU Generic\"\n\t\talsa.components = \"HDA:1af40022,1af40022,00100101\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tports:\n\t\tanalog-input-linein: Line In (priority 8100, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\tactive port: \n8 client(s) logged in.\n index: 0\n\tdriver: \n\towner module: 14\n\tproperties:\n\t\tapplication.name = \"Login Session 8\"\n\t\tsystemd-login.session = \"8\"\n index: 1\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Shell\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.Shell\"\n\t\tapplication.icon_name = \"start-here\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.screen = \"0\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.id = \"4851\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-shell\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 2\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Shell Volume Control\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.VolumeControl\"\n\t\tapplication.icon_name = \"multimedia-volume-control\"\n\t\tapplication.version = \"3.22.3\"\n\t\tapplication.process.id = \"4851\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-shell\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 8\n\tdriver: \n\towner module: 21\n\tproperties:\n\t\tapplication.name = \"XSMP Session on gnome-session as 104e113781922f106f152371946143392700000046950018\"\n\t\txsmp.vendor = \"gnome-session\"\n\t\txsmp.client.id = \"104e113781922f106f152371946143392700000046950018\"\n index: 10\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"GNOME Volume Control Media Keys\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.id = \"org.gnome.VolumeControl\"\n\t\tapplication.icon_name = \"multimedia-volume-control\"\n\t\tapplication.version = \"3.22.2\"\n\t\tapplication.process.id = \"4929\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"gnome-settings-daemon\"\n\t\tapplication.language = \"en_US.UTF-8\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 21\n\tdriver: \n\towner module: 7\n\tproperties:\n\t\tapplication.name = \"Tor Browser\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.process.id = \"8695\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"plugin-container\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.language = \"C.UTF-8\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n index: 25\n\tdriver: \n\towner module: 14\n\tproperties:\n\t\tapplication.name = \"Login Session c71\"\n\t\tsystemd-login.session = \"c71\"\n index: 26\n\tdriver: \n\towner module: 22\n\tproperties:\n\t\tapplication.name = \"UNIX socket client\"\n1 card(s) available.\n index: 0\n\tname: \n\tdriver: \n\towner module: 6\n\tproperties:\n\t\talsa.card = \"0\"\n\t\talsa.card_name = \"HDA Intel\"\n\t\talsa.long_card_name = \"HDA Intel at 0xfc000000 irq 35\"\n\t\talsa.driver_name = \"snd_hda_intel\"\n\t\tdevice.bus_path = \"pci-0000:07:01.0\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:1e.0/0000:06:00.0/0000:07:01.0/sound/card0\"\n\t\tdevice.bus = \"pci\"\n\t\tdevice.vendor.id = \"8086\"\n\t\tdevice.vendor.name = \"Intel Corporation\"\n\t\tdevice.product.id = \"2668\"\n\t\tdevice.product.name = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tdevice.string = \"0\"\n\t\tdevice.description = \"82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine)\"\n\t\tmodule-udev-detect.discovered = \"1\"\n\t\tdevice.icon_name = \"audio-card-pci\"\n\tprofiles:\n\t\tinput:analog-stereo: Analog Stereo Input (priority 60, available: unknown)\n\t\toutput:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)\n\t\toutput:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: unknown)\n\t\toff: Off (priority 0, available: unknown)\n\tactive profile: \n\tsinks:\n\t\talsa_output.pci-0000_07_01.0.analog-stereo/#0: 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\tsources:\n\t\talsa_output.pci-0000_07_01.0.analog-stereo.monitor/#0: Monitor of 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\t\talsa_input.pci-0000_07_01.0.analog-stereo/#1: 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (QEMU Virtual Machine) Analog Stereo\n\tports:\n\t\tanalog-input-linein: Line In (priority 8100, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n\t\tanalog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: unknown)\n\t\t\tproperties:\n\t\t\t\t\n1 sink input(s) available.\n index: 0\n\tdriver: \n\tflags: START_CORKED \n\tstate: RUNNING\n\tsink: 0 \n\tvolume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB\n\t balance 0.00\n\tmuted: no\n\tcurrent latency: 124.26 ms\n\trequested latency: 99.95 ms\n\tsample spec: float32le 2ch 44100Hz\n\tchannel map: front-left,front-right\n\t Stereo\n\tresample method: copy\n\tmodule: 7\n\tclient: 21 \n\tproperties:\n\t\tmedia.name = \"AudioStream\"\n\t\tapplication.name = \"Tor Browser\"\n\t\tnative-protocol.peer = \"UNIX socket client\"\n\t\tnative-protocol.version = \"32\"\n\t\tapplication.process.id = \"8695\"\n\t\tapplication.process.user = \"amnesia\"\n\t\tapplication.process.host = \"amnesia\"\n\t\tapplication.process.binary = \"plugin-container\"\n\t\twindow.x11.display = \":1\"\n\t\tapplication.language = \"C.UTF-8\"\n\t\tapplication.process.machine_id = \"203552d5819c41f3800e2c8ef2545404\"\n\t\tapplication.process.session_id = \"8\"\n\t\tmodule-stream-restore.id = \"sink-input-by-application-name:Tor Browser\"\n0 source output(s) available.\n0 cache entrie(s) available.\n", ""] And 1 application is playing audio after 10 seconds # features/step_definitions/common_steps.rb:724 #10442 @check_tor_leaks @fragile Scenario: Watching a WebM video # features/torified_browsing.feature:55 02:52:57.986028113: calling as root: echo 'hello?' 02:52:58.143513596: call returned: [0, "hello?\n", ""] 02:52:58.867200765: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:52:58.867352564: calling as root: nmcli device show eth0 02:52:59.176379603: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:52:59.187486579: calling as root: systemctl --quiet is-active tor@default.service 02:52:59.344840124: call returned: [0, "", ""] 02:52:59.344975633: calling as root: systemctl stop tor@default.service 02:52:59.525197827: call returned: [0, "", ""] 02:52:59.525306566: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:52:59.703660844: call returned: [0, "", ""] 02:52:59.703784156: calling as root: date -s '@1523729283' 02:52:59.885826927: call returned: [0, "Sat Apr 14 18:08:03 UTC 2018\n", ""] 02:52:59.885938744: calling as root: systemctl start tor@default.service 02:53:00.744552885: call returned: [0, "", ""] 02:53:00.744790203: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:00.933108025: call returned: [3, "", ""] 02:53:01.933411317: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:02.117841432: call returned: [3, "", ""] 02:53:03.118172010: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:03.283830766: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:53:03.326472682: calling as amnesia: xdotool key Super 02:53:03.483105429: call returned: [0, "", ""] 02:53:04.739537903: [log] TYPE "Tor Browser" 02:53:04.802248881: [log] ( Ctrl ) TYPE "#ENTER." 02:53:04.802517741: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1124 = dogtail.tree.root.application('Firefox') 02:53:16.277083662: execution complete 02:53:17.277597432: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1125 = dogtail.tree.root.application('Firefox') 02:53:17.910806794: execution complete 02:53:17.910958084: executing Python as amnesia: node1126 = node1125.child(roleName='frame', recursive=False) 02:53:17.940888194: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:53:17.942181937: executing Python as amnesia: node1127 = node1125.child('Tails - News - Tor Browser', roleName='frame') 02:53:22.710326133: execution complete 02:53:22.710549855: executing Python as amnesia: node1128 = node1125.child('Reload current page', roleName='push button') 02:53:25.876596703: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:53:25.878253145: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:53:26.514536731: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:53:27.269824968: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:53:27.755899454: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:53:27.957277724: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:53:28.717551333: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:53:33.718022073: calling as amnesia: echo -n 'https://tails.boum.org/lib/test_suite/test.webm' | xsel --input --clipboard 02:53:33.863178244: call returned: [0, "", ""] 02:53:33.925427018: [log] ( Ctrl ) TYPE "v" 02:53:36.084259541: [log] TYPE "#ENTER." And I open the address "https://tails.boum.org/lib/test_suite/test.webm" in the Tor Browser # features/step_definitions/browser.rb:67 Then I see "TorBrowserSampleRemoteWebMVideoFrame.png" after at most 180 seconds # features/step_definitions/common_steps.rb:456 #11592 @fragile Scenario: I can view a file stored in "~/Tor Browser" but not in ~/.gnupg # features/torified_browsing.feature:64 02:53:38.214379188: calling as root: echo 'hello?' 02:53:38.369707117: call returned: [0, "hello?\n", ""] 02:53:39.095479576: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:53:39.095644995: calling as root: nmcli device show eth0 02:53:39.391092344: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:53:39.402387419: calling as root: systemctl --quiet is-active tor@default.service 02:53:39.550468052: call returned: [0, "", ""] 02:53:39.550570375: calling as root: systemctl stop tor@default.service 02:53:39.738123457: call returned: [0, "", ""] 02:53:39.738223369: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:53:39.925645217: call returned: [0, "", ""] 02:53:39.925756792: calling as root: date -s '@1523729324' 02:53:40.062306873: call returned: [0, "Sat Apr 14 18:08:44 UTC 2018\n", ""] 02:53:40.062417365: calling as root: systemctl start tor@default.service 02:53:40.803712726: call returned: [0, "", ""] 02:53:40.803893861: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:40.984886387: call returned: [3, "", ""] 02:53:41.985207235: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:42.190320699: call returned: [3, "", ""] 02:53:43.190737576: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:43.357355723: call returned: [3, "", ""] 02:53:44.357679450: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:53:44.543587818: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:53:44.544958845: calling as amnesia: cp "/usr/share/synaptic/html/index.html" "/home/amnesia/Tor Browser/synaptic.html" 02:53:44.679077515: call returned: [0, "", ""] And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/Tor Browser/synaptic.html" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:53:44.680359177: calling as amnesia: cp "/usr/share/synaptic/html/index.html" "/home/amnesia/.gnupg/synaptic.html" 02:53:44.764635019: call returned: [0, "", ""] And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/.gnupg/synaptic.html" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:53:44.765919498: calling as amnesia: cp "/usr/share/synaptic/html/index.html" "/tmp/synaptic.html" 02:53:44.847001590: call returned: [0, "", ""] And I copy "/usr/share/synaptic/html/index.html" to "/tmp/synaptic.html" as user "amnesia" # features/step_definitions/common_steps.rb:636 02:53:44.848280228: calling as root: test -e '/home/amnesia/.gnupg/synaptic.html' 02:53:44.990279408: call returned: [0, "", ""] Then the file "/home/amnesia/.gnupg/synaptic.html" exists # features/step_definitions/common_steps.rb:614 02:53:44.991656530: calling as root: test -e '/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html' 02:53:45.139215884: call returned: [0, "", ""] And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" exists # features/step_definitions/common_steps.rb:614 02:53:45.140410324: calling as root: test -e '/live/overlay/home/amnesia/.gnupg/synaptic.html' 02:53:45.256468183: call returned: [0, "", ""] And the file "/live/overlay/home/amnesia/.gnupg/synaptic.html" exists # features/step_definitions/common_steps.rb:614 02:53:45.257652227: calling as root: test -e '/tmp/synaptic.html' 02:53:45.440073198: call returned: [0, "", ""] And the file "/tmp/synaptic.html" exists # features/step_definitions/common_steps.rb:614 02:53:45.441342961: calling as root: sysctl -w kernel.printk_ratelimit=0 02:53:45.652026643: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:53:45.652197493: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:53:45.840411953: call returned: [0, "2018-04-14 18:08:49\n", ""] Given I start monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" # features/step_definitions/common_steps.rb:853 02:53:45.878000593: calling as amnesia: xdotool key Super 02:53:46.036548172: call returned: [0, "", ""] 02:53:47.288217088: [log] TYPE "Tor Browser" 02:53:47.349639914: [log] ( Ctrl ) TYPE "#ENTER." 02:53:47.349951313: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1129 = dogtail.tree.root.application('Firefox') 02:53:58.923012589: execution complete 02:53:59.923280450: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1130 = dogtail.tree.root.application('Firefox') 02:54:00.329030134: execution complete 02:54:00.329216100: executing Python as amnesia: node1131 = node1130.child(roleName='frame', recursive=False) 02:54:00.499063463: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:54:00.501197966: executing Python as amnesia: node1132 = node1130.child('Tails - News - Tor Browser', roleName='frame') 02:54:04.837739063: execution complete 02:54:04.837939078: executing Python as amnesia: node1133 = node1130.child('Reload current page', roleName='push button') 02:54:09.480478347: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:54:09.481913682: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:10.072687974: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:10.831535862: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:54:11.307503426: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:11.494083438: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:12.252851257: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:54:17.253168444: calling as amnesia: echo -n 'file:///home/amnesia/Tor Browser/synaptic.html' | xsel --input --clipboard 02:54:17.389190312: call returned: [0, "", ""] 02:54:17.491757739: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." And I open the address "file:///home/amnesia/Tor Browser/synaptic.html" in the Tor Browser # features/step_definitions/browser.rb:67 Then I see "TorBrowserSynapticManual.png" after at most 5 seconds # features/step_definitions/common_steps.rb:456 02:54:18.070656467: calling as root: journalctl --full --no-pager --since='2018-04-14 18:08:49' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/local/lib/tor-browser/firefox" name="/home/amnesia/Tor Browser/synaptic.html"' 02:54:18.310666862: call returned: [1, "", ""] And AppArmor has not denied "/usr/local/lib/tor-browser/firefox" from opening "/home/amnesia/Tor Browser/synaptic.html" # features/step_definitions/common_steps.rb:865 02:54:18.311983211: calling as root: sysctl -w kernel.printk_ratelimit=0 02:54:18.546779891: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:54:18.546902415: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:54:18.726552647: call returned: [0, "2018-04-14 18:09:22\n", ""] Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" # features/step_definitions/common_steps.rb:853 02:54:18.728061001: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:18.884191600: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:20.206184556: [log] CLICK on L(453,80)@S(0)[0,0 1024x768] 02:54:20.206648304: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:20.341910571: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:21.105733133: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:54:26.105964059: calling as amnesia: echo -n 'file:///home/amnesia/.gnupg/synaptic.html' | xsel --input --clipboard 02:54:26.217704732: call returned: [0, "", ""] 02:54:26.320370832: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." When I open the address "file:///home/amnesia/.gnupg/synaptic.html" in the Tor Browser # features/step_definitions/browser.rb:67 Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds # features/step_definitions/common_steps.rb:456 02:54:27.004165240: calling as root: journalctl --full --no-pager --since='2018-04-14 18:09:22' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/local/lib/tor-browser/firefox" name="/home/amnesia/.gnupg/synaptic.html"' 02:54:27.192478412: call returned: [0, "Apr 14 18:09:30 amnesia kernel: audit: type=1400 audit(1523729370.308:36): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/local/lib/tor-browser/firefox\" name=\"/home/amnesia/.gnupg/synaptic.html\" pid=8759 comm=46532042726F6B65722038383737 requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/home/amnesia/.gnupg/synaptic.html" # features/step_definitions/common_steps.rb:865 02:54:27.193339299: calling as root: sysctl -w kernel.printk_ratelimit=0 02:54:27.354753750: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:54:27.354891347: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:54:27.526659285: call returned: [0, "2018-04-14 18:09:31\n", ""] Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" # features/step_definitions/common_steps.rb:853 02:54:27.528173879: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:27.692436420: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:29.027181669: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:29.037288668: [log] CLICK on L(663,80)@S(0)[0,0 1024x768] 02:54:29.179233129: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:29.933604435: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:54:34.933786574: calling as amnesia: echo -n 'file:///lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html' | xsel --input --clipboard 02:54:35.039533297: call returned: [0, "", ""] 02:54:35.618661736: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." When I open the address "file:///lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" in the Tor Browser # features/step_definitions/browser.rb:67 Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds # features/step_definitions/common_steps.rb:456 02:54:35.846559307: calling as root: journalctl --full --no-pager --since='2018-04-14 18:09:31' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/local/lib/tor-browser/firefox" name="/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html"' 02:54:36.042776701: call returned: [0, "Apr 14 18:09:39 amnesia kernel: audit: type=1400 audit(1523729379.180:37): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/local/lib/tor-browser/firefox\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html\" pid=8759 comm=46532042726F6B65722038383737 requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" # features/step_definitions/common_steps.rb:865 02:54:36.043730889: calling as root: sysctl -w kernel.printk_ratelimit=0 02:54:36.214353191: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 02:54:36.214504671: calling as root: date +"%Y-%m-%d %H:%M:%S" 02:54:36.369497027: call returned: [0, "2018-04-14 18:09:40\n", ""] Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" # features/step_definitions/common_steps.rb:853 02:54:36.370832255: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:36.539482980: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:37.848355209: [log] CLICK on L(873,80)@S(0)[0,0 1024x768] 02:54:37.848734394: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:38.016026948: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:38.775128962: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:54:43.775435172: calling as amnesia: echo -n 'file:///live/overlay/home/amnesia/.gnupg/synaptic.html' | xsel --input --clipboard 02:54:43.877961120: call returned: [0, "", ""] 02:54:43.939582070: [log] ( Ctrl ) TYPE "v" 02:54:44.436408726: [log] TYPE "#ENTER." When I open the address "file:///live/overlay/home/amnesia/.gnupg/synaptic.html" in the Tor Browser # features/step_definitions/browser.rb:67 Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds # features/step_definitions/common_steps.rb:456 02:54:44.659068109: calling as root: journalctl --full --no-pager --since='2018-04-14 18:09:40' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/local/lib/tor-browser/firefox" name="/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html"' 02:54:44.869094636: call returned: [0, "Apr 14 18:09:48 amnesia kernel: audit: type=1400 audit(1523729388.028:38): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/local/lib/tor-browser/firefox\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html\" pid=8759 comm=46532042726F6B65722038383737 requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" # features/step_definitions/common_steps.rb:865 02:54:44.870514547: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:45.036211272: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:45.880748639: [log] CLICK on L(991,80)@S(0)[0,0 1024x768] 02:54:46.353443767: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:54:46.524846337: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:54:47.279437781: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:54:52.279832333: calling as amnesia: echo -n 'file:///tmp/synaptic.html' | xsel --input --clipboard 02:54:52.370950552: call returned: [0, "", ""] 02:54:52.435274438: [log] ( Ctrl ) TYPE "v" 02:54:52.932291286: [log] TYPE "#ENTER." When I open the address "file:///tmp/synaptic.html" in the Tor Browser # features/step_definitions/browser.rb:67 Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds # features/step_definitions/common_steps.rb:456 Scenario: The Tor Browser uses TBB's shared libraries # features/torified_browsing.feature:102 02:54:54.908927656: calling as root: echo 'hello?' 02:54:55.044126116: call returned: [0, "hello?\n", ""] 02:54:55.766071015: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:54:55.766176717: calling as root: nmcli device show eth0 02:54:56.014783272: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:54:56.025117105: calling as root: systemctl --quiet is-active tor@default.service 02:54:56.204944010: call returned: [0, "", ""] 02:54:56.205074915: calling as root: systemctl stop tor@default.service 02:54:56.408920522: call returned: [0, "", ""] 02:54:56.409066668: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:54:56.571063537: call returned: [0, "", ""] 02:54:56.571180032: calling as root: date -s '@1523729400' 02:54:56.732904626: call returned: [0, "Sat Apr 14 18:10:00 UTC 2018\n", ""] 02:54:56.733031750: calling as root: systemctl start tor@default.service 02:54:57.515232549: call returned: [0, "", ""] 02:54:57.515436132: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:54:57.686841528: call returned: [3, "", ""] 02:54:58.687050883: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:54:58.914042077: call returned: [3, "", ""] 02:54:59.914267592: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:00.093750872: call returned: [3, "", ""] 02:55:01.094070622: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:01.257718262: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:55:01.296844239: calling as amnesia: xdotool key Super 02:55:01.477713377: call returned: [0, "", ""] 02:55:02.735263232: [log] TYPE "Tor Browser" 02:55:02.796844247: [log] ( Ctrl ) TYPE "#ENTER." 02:55:02.797118630: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1134 = dogtail.tree.root.application('Firefox') 02:55:14.430714752: execution complete 02:55:15.431162551: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1135 = dogtail.tree.root.application('Firefox') 02:55:16.096341893: execution complete 02:55:16.096493673: executing Python as amnesia: node1136 = node1135.child(roleName='frame', recursive=False) 02:55:16.301135421: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:55:16.302487844: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:55:16.987372966: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:55:16.987571907: calling as root: pgrep --uid amnesia --full --exact '/usr/local/lib/tor-browser/firefox .* -profile /home/amnesia/.tor-browser/profile.default' 02:55:17.249741850: call returned: [0, "8582\n", ""] 02:55:17.250103298: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && ls -1 ${TBB_INSTALL}/*.so 02:55:17.472448441: call returned: [0, "/usr/local/lib/tor-browser/libfreeblpriv3.so\n/usr/local/lib/tor-browser/liblgpllibs.so\n/usr/local/lib/tor-browser/libmozavcodec.so\n/usr/local/lib/tor-browser/libmozavutil.so\n/usr/local/lib/tor-browser/libmozsandbox.so\n/usr/local/lib/tor-browser/libmozsqlite3.so\n/usr/local/lib/tor-browser/libnspr4.so\n/usr/local/lib/tor-browser/libnss3.so\n/usr/local/lib/tor-browser/libnssckbi.so\n/usr/local/lib/tor-browser/libnssdbm3.so\n/usr/local/lib/tor-browser/libnssutil3.so\n/usr/local/lib/tor-browser/libplc4.so\n/usr/local/lib/tor-browser/libplds4.so\n/usr/local/lib/tor-browser/libsmime3.so\n/usr/local/lib/tor-browser/libsoftokn3.so\n/usr/local/lib/tor-browser/libssl3.so\n/usr/local/lib/tor-browser/libxul.so\n", ""] 02:55:17.472602064: calling as root: pmap --show-path 8582 02:55:20.203332645: call returned: [0, "8582: /usr/local/lib/tor-browser/firefox -allow-remote --class Tor Browser -profile /home/amnesia/.tor-browser/profile.default\n00003c77d778d000 64K r-x-- [ anon ]\n00003c77d779d000 64K ----- [ anon ]\n00003c77d77ad000 64K r-x-- [ anon ]\n00003c77d77bd000 64K ----- [ anon ]\n00003c77d77cd000 192K r-x-- [ anon ]\n00003c77d77fd000 64K ----- [ anon ]\n00003c77d780d000 64K r-x-- [ anon ]\n00003c77d781d000 64K ----- [ anon ]\n00003c77d782d000 64K r-x-- [ anon ]\n00003c77d783d000 64K ----- [ anon ]\n00003c77d784d000 64K r-x-- [ anon ]\n00003c77d785d000 64K ----- [ anon ]\n00003c77d786d000 128K r-x-- [ anon ]\n00003c77d788d000 128K r-x-- [ anon ]\n00003c77d78ad000 64K ----- [ anon ]\n00003c77d78bd000 64K r-x-- [ anon ]\n00003c77d78cd000 64K ----- [ anon ]\n00003c77d78dd000 64K r-x-- [ anon ]\n00003c77d78ed000 64K ----- [ anon ]\n00003c77d78fd000 128K r-x-- [ anon ]\n00003c77d791d000 64K ----- [ anon ]\n00003c77d792d000 128K r-x-- [ anon ]\n00003c77d794d000 128K r-x-- [ anon ]\n00003c77d796d000 64K ----- [ anon ]\n00003c77d797d000 64K r-x-- [ anon ]\n00003c77d798d000 64K ----- [ anon ]\n00003c77d799d000 128K r-x-- [ anon ]\n00003c77d79bd000 64K ----- [ anon ]\n00003c77d79cd000 64K r-x-- [ anon ]\n00003c77d79dd000 64K ----- [ anon ]\n00003c77d79ed000 64K r-x-- [ anon ]\n00003c77d79fd000 128K r-x-- [ anon ]\n00003c77d7a1d000 64K ----- [ anon ]\n00003c77d7a2d000 64K r-x-- [ anon ]\n00003c77d7a3d000 64K ----- [ anon ]\n00003c77d7a4d000 128K r-x-- [ anon ]\n00003c77d7a6d000 64K r-x-- [ anon ]\n00003c77d7a7d000 64K ----- [ anon ]\n00003c77d7a8d000 4K r-x-- [ anon ]\n00003c77d7a8e000 60K r-x-- [ anon ]\n00003c77d7a9d000 192K r-x-- [ anon ]\n00003c77d7acd000 64K ----- [ anon ]\n00003c77d7add000 64K r-x-- [ anon ]\n00003c77d7aed000 64K ----- [ anon ]\n00003c77d7afd000 64K r-x-- [ anon ]\n00003c77d7b0d000 64K ----- [ anon ]\n00003c77d7b1d000 256K r-x-- [ anon ]\n00003c77d7b5d000 64K ----- [ anon ]\n00003c77d7b6d000 128K r-x-- [ anon ]\n00003c77d7b8d000 64K r-x-- [ anon ]\n00003c77d7b9d000 64K r-x-- [ anon ]\n00003c77d7bad000 64K r-x-- [ anon ]\n00003c77d7bbd000 64K ----- [ anon ]\n00003c77d7bcd000 64K r-x-- [ anon ]\n00003c77d7bdd000 64K r-x-- [ anon ]\n00003c77d7bed000 64K ----- [ anon ]\n00003c77d7bfd000 64K r-x-- [ anon ]\n00003c77d7c0d000 64K ----- [ anon ]\n00003c77d7c1d000 64K r-x-- [ anon ]\n00003c77d7c2d000 64K ----- [ anon ]\n00003c77d7c3d000 64K r-x-- [ anon ]\n00003c77d7c4d000 64K ----- [ anon ]\n00003c77d7c5d000 64K r-x-- [ anon ]\n00003c77d7c6d000 64K ----- [ anon ]\n00003c77d7c7d000 64K r-x-- [ anon ]\n00003c77d7c8d000 64K ----- [ anon ]\n00003c77d7c9d000 128K r-x-- [ anon ]\n00003c77d7cbd000 64K ----- [ anon ]\n00003c77d7ccd000 64K r-x-- [ anon ]\n00003c77d7cdd000 64K ----- [ anon ]\n00003c77d7ced000 64K r-x-- [ anon ]\n00003c77d7cfd000 64K ----- [ anon ]\n00003c77d7d0d000 64K r-x-- [ anon ]\n00003c77d7d1d000 64K ----- [ anon ]\n00003c77d7d2d000 64K r-x-- [ anon ]\n00003c77d7d3d000 64K ----- [ anon ]\n00003c77d7d4d000 64K r-x-- [ anon ]\n00003c77d7d5d000 64K ----- [ anon ]\n00003c77d7d6d000 256K r-x-- [ anon ]\n00003c77d7dad000 64K ----- [ anon ]\n00003c77d7dbd000 64K r-x-- [ anon ]\n00003c77d7dcd000 64K r-x-- [ anon ]\n00003c77d7ddd000 64K ----- [ anon ]\n00003c77d7ded000 64K r-x-- [ anon ]\n00003c77d7dfd000 64K ----- [ anon ]\n00003c77d7e0d000 128K r-x-- [ anon ]\n00003c77d7e2d000 64K ----- [ anon ]\n00003c77d7e3d000 64K r-x-- [ anon ]\n00003c77d7e4d000 64K ----- [ anon ]\n00003c77d7e5d000 192K r-x-- [ anon ]\n00003c77d7e8d000 64K ----- [ anon ]\n00003c77d7e9d000 192K r-x-- [ anon ]\n00003c77d7ecd000 64K ----- [ anon ]\n00003c77d7edd000 128K r-x-- [ anon ]\n00003c77d7efd000 64K ----- [ anon ]\n00003c77d7f0d000 64K r-x-- [ anon ]\n00003c77d7f1d000 64K ----- [ anon ]\n00003c77d7f2d000 64K r-x-- [ anon ]\n00003c77d7f3d000 64K ----- [ anon ]\n00003c77d7f4d000 64K r-x-- [ anon ]\n00003c77d7f5d000 64K ----- [ anon ]\n00003c77d7f6d000 256K r-x-- [ anon ]\n00003c77d7fad000 64K ----- [ anon ]\n00003c77d7fbd000 64K r-x-- [ anon ]\n00003c77d7fcd000 64K r-x-- [ anon ]\n00003c77d7fdd000 64K ----- [ anon ]\n00003c77d7fed000 64K r-x-- [ anon ]\n00003c77d7ffd000 64K ----- [ anon ]\n00003c77d800d000 192K r-x-- [ anon ]\n00003c77d803d000 64K ----- [ anon ]\n00003c77d804d000 64K r-x-- [ anon ]\n00003c77d805d000 64K ----- [ anon ]\n00003c77d806d000 64K r-x-- [ anon ]\n00003c77d807d000 64K ----- [ anon ]\n00003c77d808d000 64K r-x-- [ anon ]\n00003c77d809d000 64K r-x-- [ anon ]\n00003c77d80ad000 64K r-x-- [ anon ]\n00003c77d80bd000 64K ----- [ anon ]\n00003c77d80cd000 128K r-x-- [ anon ]\n00003c77d80ed000 64K r-x-- [ anon ]\n00003c77d80fd000 64K ----- [ anon ]\n00003c77d810d000 128K r-x-- [ anon ]\n00003c77d812d000 64K ----- [ anon ]\n00003c77d813d000 64K r-x-- [ anon ]\n00003c77d814d000 44K r-x-- [ anon ]\n00003c77d8158000 20K r-x-- [ anon ]\n00003c77d815d000 128K r-x-- [ anon ]\n00003c77d817d000 64K ----- [ anon ]\n00003c77d818d000 64K r-x-- [ anon ]\n00003c77d819d000 64K r-x-- [ anon ]\n00003c77d81ad000 64K ----- [ anon ]\n00003c77d81bd000 256K r-x-- [ anon ]\n00003c77d81fd000 64K ----- [ anon ]\n00003c77d820d000 16K r-x-- [ anon ]\n00003c77d8211000 48K r-x-- [ anon ]\n00003c77d821d000 128K r-x-- [ anon ]\n00003c77d823d000 64K ----- [ anon ]\n00003c77d824d000 256K r-x-- [ anon ]\n00003c77d828d000 64K ----- [ anon ]\n00003c77d829d000 64K r-x-- [ anon ]\n00003c77d82ad000 64K ----- [ anon ]\n00003c77d82bd000 128K r-x-- [ anon ]\n00003c77d82dd000 64K ----- [ anon ]\n00003c77d82ed000 320K r-x-- [ anon ]\n00003c77d833d000 64K ----- [ anon ]\n00003c77d834d000 64K r-x-- [ anon ]\n00003c77d835d000 192K r-x-- [ anon ]\n00003c77d838d000 64K ----- [ anon ]\n00003c77d839d000 96K r-x-- [ anon ]\n00003c77d83b5000 32K r-x-- [ anon ]\n00003c77d83bd000 1036096K ----- [ anon ]\n0000573893b50000 140K r-x-- /usr/local/lib/tor-browser/firefox\n0000573893b74000 4K r---- /usr/local/lib/tor-browser/firefox\n0000573893b75000 4K rw--- /usr/local/lib/tor-browser/firefox\n00007e04def00000 6144K rw--- [ anon ]\n00007e04df561000 2684K rw-s- [ shmid=0xb8007 ]\n00007e04df800000 4096K rw--- [ anon ]\n00007e04dfcd2000 2232K rw-s- [ shmid=0xa0004 ]\n00007e04dff00000 10240K rw--- [ anon ]\n00007e04e09ff000 4K ----- [ anon ]\n00007e04e0a00000 9216K rw--- [ anon ]\n00007e04e13ff000 4K ----- [ anon ]\n00007e04e1400000 110592K rw--- [ anon ]\n00007e04e80ff000 4K ----- [ anon ]\n00007e04e8100000 14336K rw--- [ anon ]\n00007e04e8ffd000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n00007e04e8fff000 2048K ----- /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n00007e04e91ff000 4K rw--- /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n00007e04e9200000 89088K rw--- [ anon ]\n00007e04ee9ff000 4K ----- [ anon ]\n00007e04eea00000 18432K rw--- [ anon ]\n00007e04efcf6000 4K ----- [ anon ]\n00007e04efcf7000 8192K rw--- [ anon ]\n00007e04f04f7000 4K ----- [ anon ]\n00007e04f04f8000 8192K rw--- [ anon ]\n00007e04f0cf8000 4K ----- [ anon ]\n00007e04f0cf9000 8192K rw--- [ anon ]\n00007e04f1500000 7168K rw--- [ anon ]\n00007e04f1cfa000 4K ----- [ anon ]\n00007e04f1cfb000 8192K rw--- [ anon ]\n00007e04f24fb000 4K ----- [ anon ]\n00007e04f24fc000 8192K rw--- [ anon ]\n00007e04f2cfc000 4K ----- [ anon ]\n00007e04f2cfd000 8192K rw--- [ anon ]\n00007e04f34fd000 4K ----- [ anon ]\n00007e04f34fe000 8192K rw--- [ anon ]\n00007e04f3cfe000 4K ----- [ anon ]\n00007e04f3cff000 8192K rw--- [ anon ]\n00007e04f44ff000 4K ----- [ anon ]\n00007e04f4500000 17408K rw--- [ anon ]\n00007e04f5600000 12288K rw--- [ anon ]\n00007e04f62f9000 4K ----- [ anon ]\n00007e04f62fa000 2048K rw--- [ anon ]\n00007e04f64fa000 20K r-x-- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e04f64ff000 2044K ----- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e04f66fe000 4K r---- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e04f66ff000 4K rw--- /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n00007e04f6700000 3072K rw--- [ anon ]\n00007e04f6a8d000 1484K r---- /usr/lib/locale/C.UTF-8/LC_COLLATE\n00007e04f6c00000 5120K rw--- [ anon ]\n00007e04f7100000 26624K rw--- [ anon ]\n00007e04f8b00000 10240K rw--- [ anon ]\n00007e04f95fe000 4K ----- [ anon ]\n00007e04f95ff000 8192K rw--- [ anon ]\n00007e04f9dff000 4K ----- [ anon ]\n00007e04f9e00000 11264K rw--- [ anon ]\n00007e04fa9ff000 4K ----- [ anon ]\n00007e04faa00000 31744K rw--- [ anon ]\n00007e04fc97e000 512K rw-s- [ shmid=0xb0006 ]\n00007e04fc9fe000 4K ----- [ anon ]\n00007e04fc9ff000 2048K rw--- [ anon ]\n00007e04fcbff000 4K ----- [ anon ]\n00007e04fcc00000 10240K rw--- [ anon ]\n00007e04fd600000 3072K rw--- [ anon ]\n00007e04fd924000 4K ----- [ anon ]\n00007e04fd925000 8192K rw--- [ anon ]\n00007e04fe125000 4K ----- [ anon ]\n00007e04fe126000 8192K rw--- [ anon ]\n00007e04fe926000 564K r-x-- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e04fe9b3000 2044K ----- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e04febb2000 112K r---- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e04febce000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n00007e04febcf000 168K r-x-- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e04febf9000 2048K ----- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e04fedf9000 4K r---- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e04fedfa000 4K rw--- /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n00007e04fedfb000 28K r-x-- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e04fee02000 2048K ----- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e04ff002000 4K r---- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e04ff003000 4K rw--- /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n00007e04ff004000 468K r-x-- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e04ff079000 2048K ----- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e04ff279000 4K r---- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e04ff27a000 4K rw--- /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n00007e04ff27b000 80K r-x-- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e04ff28f000 2048K ----- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e04ff48f000 4K r---- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e04ff490000 4K rw--- /lib/x86_64-linux-gnu/libnsl-2.24.so\n00007e04ff491000 8K rw--- [ anon ]\n00007e04ff493000 20K r-x-- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e04ff498000 2044K ----- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e04ff697000 4K r---- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e04ff698000 4K rw--- /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n00007e04ff699000 460K r-x-- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e04ff70c000 2044K ----- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e04ff90b000 12K r---- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e04ff90e000 4K rw--- /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n00007e04ff90f000 8K rw--- [ anon ]\n00007e04ff911000 32K r-x-- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e04ff919000 2048K ----- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e04ffb19000 4K r---- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e04ffb1a000 4K rw--- /lib/x86_64-linux-gnu/libwrap.so.0.7.6\n00007e04ffb1b000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e04ffb20000 2044K ----- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e04ffd1f000 4K r---- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e04ffd20000 4K rw--- /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n00007e04ffd21000 16K r-x-- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e04ffd25000 2048K ----- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e04fff25000 4K r---- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e04fff26000 4K rw--- /lib/x86_64-linux-gnu/libcap.so.2.25\n00007e04fff27000 512K r-x-- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e04fffa7000 2048K ----- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e05001a7000 8K r---- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e05001a9000 4K rw--- /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n00007e05001aa000 312K r-x-- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e05001f8000 2048K ----- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e05003f8000 8K r---- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e05003fa000 4K rw--- /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n00007e05003fb000 4K ----- [ anon ]\n00007e05003fc000 8192K rw--- [ anon ]\n00007e0500bfc000 4K ----- [ anon ]\n00007e0500bfd000 8192K rw--- [ anon ]\n00007e05013fd000 4K ----- [ anon ]\n00007e05013fe000 8192K rw--- [ anon ]\n00007e0501bfe000 4K ----- [ anon ]\n00007e0501bff000 8192K rw--- [ anon ]\n00007e05023ff000 4K ----- [ anon ]\n00007e0502400000 17408K rw--- [ anon ]\n00007e0503500000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e050358e000 8K r-x-- /lib/x86_64-linux-gnu/libutil-2.24.so\n00007e0503590000 2044K ----- /lib/x86_64-linux-gnu/libutil-2.24.so\n00007e050378f000 4K r---- /lib/x86_64-linux-gnu/libutil-2.24.so\n00007e0503790000 4K rw--- /lib/x86_64-linux-gnu/libutil-2.24.so\n00007e0503791000 216K r-x-- /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n00007e05037c7000 2048K ----- /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n00007e05039c7000 24K r---- /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n00007e05039cd000 4K rw--- /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n00007e05039ce000 188K r-x-- /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so\n00007e05039fd000 2048K ----- /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so\n00007e0503bfd000 8K r---- /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so\n00007e0503bff000 4K rw--- /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so\n00007e0503c00000 5120K rw--- [ anon ]\n00007e0504105000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e0504193000 392K r-x-- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e05041f5000 2044K ----- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e05043f4000 12K r---- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e05043f7000 4K rw--- /usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n00007e05043f8000 24K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e05043fe000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e05045fe000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e05045ff000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n00007e0504600000 3072K rw--- [ anon ]\n00007e0504900000 2048K rw--- [ anon ]\n00007e0504b41000 760K r---- /usr/local/share/tor-browser-extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi\n00007e0504bff000 4K ----- [ anon ]\n00007e0504c00000 13312K rw--- [ anon ]\n00007e050591b000 4K ----- [ anon ]\n00007e050591c000 256K rw--- [ anon ]\n00007e050595c000 496K r-x-- /usr/local/lib/tor-browser/libnssckbi.so\n00007e05059d8000 84K r---- /usr/local/lib/tor-browser/libnssckbi.so\n00007e05059ed000 48K rw--- /usr/local/lib/tor-browser/libnssckbi.so\n00007e05059f9000 4K ----- [ anon ]\n00007e05059fa000 8192K rw--- [ anon ]\n00007e05061fa000 4K ----- [ anon ]\n00007e05061fb000 8192K rw--- [ anon ]\n00007e05069fb000 4K ----- [ anon ]\n00007e05069fc000 8192K rw--- [ anon ]\n00007e05071fc000 4K ----- [ anon ]\n00007e05071fd000 8192K rw--- [ anon ]\n00007e05079fd000 4K ----- [ anon ]\n00007e05079fe000 8192K rw--- [ anon ]\n00007e05081fe000 4K ----- [ anon ]\n00007e05081ff000 8192K rw--- [ anon ]\n00007e05089ff000 4K ----- [ anon ]\n00007e0508a00000 9216K rw--- [ anon ]\n00007e050931a000 384K rw-s- [ shmid=0x80002 ]\n00007e050937a000 496K r-x-- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e05093f6000 4K ----- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e05093f7000 8K r---- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e05093f9000 4K rw--- /usr/local/lib/tor-browser/libfreeblpriv3.so\n00007e05093fa000 16K rw--- [ anon ]\n00007e05093fe000 4K ----- [ anon ]\n00007e05093ff000 8192K rw--- [ anon ]\n00007e0509bff000 4K ----- [ anon ]\n00007e0509c00000 9216K rw--- [ anon ]\n00007e050a528000 568K r---- /usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n00007e050a5b6000 10660K r--s- /usr/local/lib/tor-browser/icudt58l.dat\n00007e050b01f000 11980K r---- /usr/local/lib/tor-browser/browser/omni.ja\n00007e050bbd2000 5520K r---- /usr/local/lib/tor-browser/omni.ja\n00007e050c136000 40K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e050c140000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e050c33f000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e050c340000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n00007e050c341000 8K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e050c343000 2048K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e050c543000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e050c544000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n00007e050c545000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e050c572000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e050c771000 4K r---- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e050c772000 8K rw--- /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n00007e050c774000 180K r-x-- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e050c7a1000 2048K ----- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e050c9a1000 12K r---- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e050c9a4000 4K rw--- /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n00007e050c9a5000 4K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e050c9a6000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e050cba5000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e050cba6000 4K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n00007e050cba7000 28K r-x-- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e050cbae000 2044K ----- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e050cdad000 4K r---- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e050cdae000 4K rw--- /usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n00007e050cdaf000 316K r-x-- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e050cdfe000 2044K ----- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e050cffd000 4K r---- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e050cffe000 8K rw--- /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n00007e050d000000 1024K rw--- [ anon ]\n00007e050d11c000 32K rw-s- /home/amnesia/.tor-browser/profile.default/webappsstore.sqlite-shm\n00007e050d124000 132K r--s- /usr/share/mime/mime.cache\n00007e050d145000 196K r---- /usr/lib/locale/C.UTF-8/LC_CTYPE\n00007e050d176000 1216K r---- /usr/lib/locale/aa_DJ.utf8/LC_COLLATE\n00007e050d2a6000 4K ----- [ anon ]\n00007e050d2a7000 8192K rw--- [ anon ]\n00007e050daa7000 12K r-x-- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e050daaa000 2044K ----- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e050dca9000 4K r---- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e050dcaa000 4K rw--- /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n00007e050dcab000 324K r---- /usr/lib/locale/aa_DJ.utf8/LC_CTYPE\n00007e050dcfc000 76K r-x-- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e050dd0f000 2044K ----- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e050df0e000 4K r---- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e050df0f000 4K rw--- /lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n00007e050df10000 16K r-x-- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e050df14000 2044K ----- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e050e113000 4K r---- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e050e114000 4K rw--- /lib/x86_64-linux-gnu/libuuid.so.1.3.0\n00007e050e115000 76K r-x-- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e050e128000 2048K ----- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e050e328000 4K r---- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e050e329000 4K rw--- /lib/x86_64-linux-gnu/libbsd.so.0.8.3\n00007e050e32a000 4K rw--- [ anon ]\n00007e050e32b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e050e332000 2044K ----- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e050e531000 4K r---- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e050e532000 4K rw--- /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n00007e050e533000 172K r-x-- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e050e55e000 2044K ----- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e050e75d000 8K r---- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e050e75f000 4K rw--- /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n00007e050e760000 260K r-x-- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e050e7a1000 2044K ----- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e050e9a0000 16K r---- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e050e9a4000 4K rw--- /lib/x86_64-linux-gnu/libblkid.so.1.1.0\n00007e050e9a5000 4K rw--- [ anon ]\n00007e050e9a6000 1052K r-x-- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e050eaad000 2048K ----- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e050ecad000 8K r---- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e050ecaf000 28K rw--- /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n00007e050ecb6000 68K r-x-- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e050ecc7000 2044K ----- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e050eec6000 4K r---- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e050eec7000 4K rw--- /usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n00007e050eec8000 148K r-x-- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e050eeed000 2044K ----- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e050f0ec000 4K r---- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e050f0ed000 4K rw--- /lib/x86_64-linux-gnu/liblzma.so.5.2.2\n00007e050f0ee000 92K r-x-- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e050f105000 2048K ----- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e050f305000 4K r---- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e050f306000 4K rw--- /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n00007e050f307000 16K rw--- [ anon ]\n00007e050f30b000 28K r-x-- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e050f312000 2044K ----- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e050f511000 4K r---- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e050f512000 4K rw--- /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n00007e050f513000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e050f518000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e050f717000 4K r---- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e050f718000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n00007e050f719000 12K r-x-- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e050f71c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e050f91b000 4K r---- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e050f91c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n00007e050f91d000 48K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e050f929000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e050fb29000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e050fb2a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n00007e050fb2b000 632K r-x-- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e050fbc9000 2048K ----- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e050fdc9000 32K r---- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e050fdd1000 4K rw--- /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n00007e050fdd2000 32K r-x-- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e050fdda000 2048K ----- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e050ffda000 4K r---- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e050ffdb000 4K rw--- /usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n00007e050ffdc000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e050ffe6000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e05101e5000 4K r---- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e05101e6000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n00007e05101e7000 40K r-x-- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e05101f1000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e05103f0000 4K r---- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e05103f1000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n00007e05103f2000 60K r-x-- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e0510401000 2044K ----- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e0510600000 4K r---- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e0510601000 4K rw--- /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n00007e0510602000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e0510604000 2044K ----- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e0510803000 4K r---- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e0510804000 4K rw--- /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n00007e0510805000 588K r-x-- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e0510898000 2044K ----- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e0510a97000 8K r---- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e0510a99000 4K rw--- /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n00007e0510a9a000 296K r-x-- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e0510ae4000 2048K ----- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e0510ce4000 4K r---- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e0510ce5000 4K rw--- /lib/x86_64-linux-gnu/libmount.so.1.1.0\n00007e0510ce6000 8K rw--- [ anon ]\n00007e0510ce8000 80K r-x-- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e0510cfc000 2044K ----- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e0510efb000 4K r---- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e0510efc000 4K rw--- /lib/x86_64-linux-gnu/libresolv-2.24.so\n00007e0510efd000 8K rw--- [ anon ]\n00007e0510eff000 148K r-x-- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e0510f24000 2044K ----- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e0511123000 4K r---- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e0511124000 4K rw--- /lib/x86_64-linux-gnu/libselinux.so.1\n00007e0511125000 8K rw--- [ anon ]\n00007e0511127000 20K r-x-- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e051112c000 2044K ----- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e051132b000 4K r---- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e051132c000 4K rw--- /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n00007e051132d000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e051132f000 2044K ----- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e051152e000 4K r---- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e051152f000 4K rw--- /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n00007e0511530000 8K r-x-- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e0511532000 2044K ----- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e0511731000 4K r---- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e0511732000 4K rw--- /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n00007e0511733000 12K r-x-- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e0511736000 2044K ----- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e0511935000 4K r---- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e0511936000 4K rw--- /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n00007e0511937000 456K r-x-- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e05119a9000 2044K ----- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e0511ba8000 4K r---- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e0511ba9000 4K rw--- /lib/x86_64-linux-gnu/libpcre.so.3.13.3\n00007e0511baa000 28K r-x-- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e0511bb1000 2048K ----- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e0511db1000 4K r---- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e0511db2000 4K rw--- /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n00007e0511db3000 528K r-x-- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e0511e37000 2044K ----- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e0512036000 12K r---- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e0512039000 4K rw--- /lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n00007e051203a000 4K rw--- [ anon ]\n00007e051203b000 156K r-x-- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e0512062000 2048K ----- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e0512262000 8K r---- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e0512264000 4K rw--- /lib/x86_64-linux-gnu/libexpat.so.1.6.2\n00007e0512265000 196K r-x-- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e0512296000 2048K ----- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e0512496000 4K r---- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e0512497000 4K rw--- /usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n00007e0512498000 100K r-x-- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e05124b1000 2044K ----- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e05126b0000 4K r---- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e05126b1000 4K rw--- /lib/x86_64-linux-gnu/libz.so.1.2.8\n00007e05126b2000 4K r-x-- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e05126b3000 2044K ----- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e05128b2000 4K r---- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e05128b3000 4K rw--- /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n00007e05128b4000 392K r-x-- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e0512916000 2048K ----- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e0512b16000 4K r---- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e0512b17000 20K rw--- /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n00007e0512b1c000 4K rw--- [ anon ]\n00007e0512b1d000 68K r-x-- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e0512b2e000 2044K ----- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e0512d2d000 4K r---- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e0512d2e000 4K rw--- /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n00007e0512d2f000 1256K r-x-- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e0512e69000 2048K ----- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e0513069000 4K r---- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e051306a000 20K rw--- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n00007e051306f000 156K r-x-- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e0513096000 2044K ----- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e0513295000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e0513296000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n00007e0513297000 8K r-x-- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e0513299000 2048K ----- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e0513499000 4K r---- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e051349a000 4K rw--- /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n00007e051349b000 4K r-x-- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e051349c000 2044K ----- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e051369b000 4K r---- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e051369c000 4K rw--- /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n00007e051369d000 1080K r-x-- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e05137ab000 2048K ----- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e05139ab000 12K r---- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e05139ae000 4K rw--- /usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n00007e05139af000 8K rw--- [ anon ]\n00007e05139b1000 292K r-x-- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e05139fa000 2044K ----- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e0513bf9000 12K r---- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e0513bfc000 4K rw--- /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n00007e0513bfd000 136K r-x-- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e0513c1f000 2048K ----- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e0513e1f000 4K r---- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e0513e20000 4K rw--- /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n00007e0513e21000 48K r-x-- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e0513e2d000 2044K ----- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e051402c000 4K r---- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e051402d000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n00007e051402e000 704K r-x-- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e05140de000 2044K ----- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e05142dd000 16K r---- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e05142e1000 8K rw--- /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n00007e05142e3000 80K r-x-- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e05142f7000 2048K ----- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e05144f7000 4K r---- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e05144f8000 4K rw--- /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n00007e05144f9000 1588K r-x-- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e0514686000 2044K ----- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e0514885000 20K r---- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e051488a000 12K rw--- /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n00007e051488d000 4K rw--- [ anon ]\n00007e051488e000 140K r-x-- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e05148b1000 2044K ----- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e0514ab0000 12K r---- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e0514ab3000 4K rw--- /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n00007e0514ab4000 4332K r-x-- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e0514eef000 2044K ----- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e05150ee000 28K r---- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e05150f5000 16K rw--- /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n00007e05150f9000 12K rw--- [ anon ]\n00007e05150fc000 1092K r-x-- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e051520d000 2048K ----- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e051540d000 4K r---- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e051540e000 4K rw--- /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n00007e051540f000 4K rw--- [ anon ]\n00007e0515410000 324K r-x-- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e0515461000 2048K ----- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e0515661000 4K r---- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e0515662000 4K rw--- /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n00007e0515663000 308K r-x-- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e05156b0000 2048K ----- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e05158b0000 8K r---- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e05158b2000 4K rw--- /lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n00007e05158b3000 152K r-x-- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e05158d9000 2044K ----- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e0515ad8000 4K r---- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e0515ad9000 4K rw--- /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n00007e0515ada000 36K r-x-- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e0515ae3000 2044K ----- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e0515ce2000 4K r---- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e0515ce3000 4K rw--- /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n00007e0515ce4000 240K r-x-- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e0515d20000 2044K ----- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e0515f1f000 8K r---- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e0515f21000 4K rw--- /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n00007e0515f22000 672K r-x-- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e0515fca000 2048K ----- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e05161ca000 24K r---- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e05161d0000 4K rw--- /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n00007e05161d1000 69708K r-x-- /usr/local/lib/tor-browser/libxul.so\n00007e051a5e4000 4K ----- /usr/local/lib/tor-browser/libxul.so\n00007e051a5e5000 4136K r---- /usr/local/lib/tor-browser/libxul.so\n00007e051a9ef000 312K rw--- /usr/local/lib/tor-browser/libxul.so\n00007e051aa3d000 356K rw--- [ anon ]\n00007e051aa96000 112K r-x-- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e051aab2000 8K r---- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e051aab4000 4K rw--- /usr/local/lib/tor-browser/liblgpllibs.so\n00007e051aab5000 644K rw--- [ anon ]\n00007e051ab56000 656K r-x-- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e051abfa000 12K r---- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e051abfd000 8K rw--- /usr/local/lib/tor-browser/libmozsqlite3.so\n00007e051abff000 4K rw--- [ anon ]\n00007e051ac00000 2048K rw--- [ anon ]\n00007e051ae00000 212K r-x-- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e051ae35000 8K r---- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e051ae37000 4K rw--- /usr/local/lib/tor-browser/libsoftokn3.so\n00007e051ae38000 240K r-x-- /usr/local/lib/tor-browser/libssl3.so\n00007e051ae74000 4K ----- /usr/local/lib/tor-browser/libssl3.so\n00007e051ae75000 16K r---- /usr/local/lib/tor-browser/libssl3.so\n00007e051ae79000 4K rw--- /usr/local/lib/tor-browser/libssl3.so\n00007e051ae7a000 1620K r-x-- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e051b00f000 2048K ----- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e051b20f000 16K r---- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e051b213000 8K rw--- /lib/x86_64-linux-gnu/libc-2.24.so\n00007e051b215000 16K rw--- [ anon ]\n00007e051b219000 88K r-x-- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e051b22f000 2044K ----- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e051b42e000 4K r---- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e051b42f000 4K rw--- /lib/x86_64-linux-gnu/libgcc_s.so.1\n00007e051b430000 1036K r-x-- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e051b533000 2044K ----- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e051b732000 4K r---- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e051b733000 4K rw--- /lib/x86_64-linux-gnu/libm-2.24.so\n00007e051b734000 1536K r-x-- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e051b8b4000 2044K ----- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e051bab3000 48K r---- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e051babf000 4K rw--- /usr/local/lib/tor-browser/libstdc++.so.6\n00007e051bac0000 12K rw--- [ anon ]\n00007e051bac3000 28K r-x-- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e051baca000 2044K ----- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e051bcc9000 4K r---- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e051bcca000 4K rw--- /lib/x86_64-linux-gnu/librt-2.24.so\n00007e051bccb000 12K r-x-- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e051bcce000 2044K ----- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e051becd000 4K r---- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e051bece000 4K rw--- /lib/x86_64-linux-gnu/libdl-2.24.so\n00007e051becf000 96K r-x-- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e051bee7000 2044K ----- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e051c0e6000 4K r---- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e051c0e7000 4K rw--- /lib/x86_64-linux-gnu/libpthread-2.24.so\n00007e051c0e8000 16K rw--- [ anon ]\n00007e051c0ec000 140K r-x-- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e051c10f000 32K rw-s- /home/amnesia/.mozilla/firefox/bookmarks/places.sqlite-shm\n00007e051c117000 4K r---- /usr/lib/locale/C.UTF-8/LC_PAPER\n00007e051c118000 4K r---- /usr/lib/locale/C.UTF-8/LC_NAME\n00007e051c119000 4K r---- /usr/lib/locale/C.UTF-8/LC_ADDRESS\n00007e051c11a000 4K r---- /usr/lib/locale/C.UTF-8/LC_TELEPHONE\n00007e051c11b000 4K r---- /usr/lib/locale/C.UTF-8/LC_MEASUREMENT\n00007e051c11c000 4K r---- /usr/lib/locale/C.UTF-8/LC_IDENTIFICATION\n00007e051c11d000 4K r---- /usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES\n00007e051c11e000 4K r---- /usr/lib/locale/C.UTF-8/LC_TIME\n00007e051c11f000 4K r---- /usr/lib/locale/C.UTF-8/LC_NUMERIC\n00007e051c120000 4K r---- /usr/lib/locale/C.UTF-8/LC_MONETARY\n00007e051c121000 4K ----- [ anon ]\n00007e051c122000 128K rw--- [ anon ]\n00007e051c142000 4K r---- /usr/lib/locale/aa_ET/LC_NUMERIC\n00007e051c143000 4K r---- /usr/lib/locale/en_US.utf8/LC_TIME\n00007e051c144000 4K r---- /usr/lib/locale/chr_US/LC_MONETARY\n00007e051c145000 124K r-x-- /usr/local/lib/tor-browser/libsmime3.so\n00007e051c164000 4K ----- /usr/local/lib/tor-browser/libsmime3.so\n00007e051c165000 12K r---- /usr/local/lib/tor-browser/libsmime3.so\n00007e051c168000 4K rw--- /usr/local/lib/tor-browser/libsmime3.so\n00007e051c169000 944K r-x-- /usr/local/lib/tor-browser/libnss3.so\n00007e051c255000 4K ----- /usr/local/lib/tor-browser/libnss3.so\n00007e051c256000 28K r---- /usr/local/lib/tor-browser/libnss3.so\n00007e051c25d000 4K rw--- /usr/local/lib/tor-browser/libnss3.so\n00007e051c25e000 8K rw--- [ anon ]\n00007e051c260000 140K r-x-- /usr/local/lib/tor-browser/libnssutil3.so\n00007e051c283000 28K r---- /usr/local/lib/tor-browser/libnssutil3.so\n00007e051c28a000 4K rw--- /usr/local/lib/tor-browser/libnssutil3.so\n00007e051c28b000 204K r-x-- /usr/local/lib/tor-browser/libnspr4.so\n00007e051c2be000 8K r---- /usr/local/lib/tor-browser/libnspr4.so\n00007e051c2c0000 4K rw--- /usr/local/lib/tor-browser/libnspr4.so\n00007e051c2c1000 12K rw--- [ anon ]\n00007e051c2c4000 156K r-x-- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e051c2eb000 4K ----- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e051c2ec000 4K r---- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e051c2ed000 4K rw--- /usr/local/lib/tor-browser/libmozsandbox.so\n00007e051c2ee000 20K rw--- [ anon ]\n00007e051c2f3000 4K r---- /usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES\n00007e051c2f4000 4K r---- /usr/lib/locale/chr_US/LC_PAPER\n00007e051c2f5000 4K r---- /usr/lib/locale/chr_US/LC_NAME\n00007e051c2f6000 4K r---- /usr/lib/locale/en_US.utf8/LC_ADDRESS\n00007e051c2f7000 4K r---- /usr/lib/locale/chr_US/LC_TELEPHONE\n00007e051c2f8000 4K r---- /usr/lib/locale/chr_US/LC_MEASUREMENT\n00007e051c2f9000 4K r---- /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION\n00007e051c2fa000 28K r--s- /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache\n00007e051c301000 12K r-x-- /usr/local/lib/tor-browser/libplds4.so\n00007e051c304000 4K r---- /usr/local/lib/tor-browser/libplds4.so\n00007e051c305000 4K rw--- /usr/local/lib/tor-browser/libplds4.so\n00007e051c306000 16K r-x-- /usr/local/lib/tor-browser/libplc4.so\n00007e051c30a000 4K r---- /usr/local/lib/tor-browser/libplc4.so\n00007e051c30b000 4K rw--- /usr/local/lib/tor-browser/libplc4.so\n00007e051c30c000 12K rw--- [ anon ]\n00007e051c30f000 4K r---- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e051c310000 4K rw--- /lib/x86_64-linux-gnu/ld-2.24.so\n00007e051c311000 4K rw--- [ anon ]\n00007ffdf6b78000 132K rw--- [ stack ]\n00007ffdf6baf000 12K r---- [ anon ]\n00007ffdf6bb2000 8K r-x-- [ anon ]\n total 2039128K\n", ""] 02:55:20.203547872: calling as root: find /usr/lib /lib -name "libfreeblpriv3.so" 02:55:21.367732598: call returned: [0, "/usr/lib/thunderbird/libfreeblpriv3.so\n/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libfreeblpriv3.so\n", ""] 02:55:21.368283106: calling as root: find /usr/lib /lib -name "liblgpllibs.so" 02:55:22.228447366: call returned: [0, "/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/liblgpllibs.so\n", ""] 02:55:22.228709786: calling as root: find /usr/lib /lib -name "libmozavcodec.so" 02:55:23.139058051: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavcodec.so\n", ""] 02:55:23.139292628: calling as root: find /usr/lib /lib -name "libmozavutil.so" 02:55:24.023482971: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavutil.so\n", ""] 02:55:24.023778486: calling as root: find /usr/lib /lib -name "libmozsandbox.so" 02:55:24.906482944: call returned: [0, "/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsandbox.so\n", ""] 02:55:24.906812303: calling as root: find /usr/lib /lib -name "libmozsqlite3.so" 02:55:25.734420216: call returned: [0, "/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsqlite3.so\n", ""] 02:55:25.734724566: calling as root: find /usr/lib /lib -name "libnspr4.so" 02:55:26.622675360: call returned: [0, "/usr/lib/thunderbird/libnspr4.so\n/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnspr4.so\n", ""] 02:55:26.623113036: calling as root: find /usr/lib /lib -name "libnss3.so" 02:55:27.543700708: call returned: [0, "/usr/lib/thunderbird/libnss3.so\n/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnss3.so\n", ""] 02:55:27.544066725: calling as root: find /usr/lib /lib -name "libnssckbi.so" 02:55:28.391057695: call returned: [0, "/usr/lib/thunderbird/libnssckbi.so\n/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssckbi.so\n", ""] 02:55:28.391610349: calling as root: find /usr/lib /lib -name "libnssdbm3.so" 02:55:29.308393059: call returned: [0, "/usr/lib/thunderbird/libnssdbm3.so\n/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssdbm3.so\n", ""] 02:55:29.308872583: calling as root: find /usr/lib /lib -name "libnssutil3.so" 02:55:30.112401405: call returned: [0, "/usr/lib/thunderbird/libnssutil3.so\n/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssutil3.so\n", ""] 02:55:30.112855436: calling as root: find /usr/lib /lib -name "libplc4.so" 02:55:30.883182054: call returned: [0, "/usr/lib/thunderbird/libplc4.so\n/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplc4.so\n", ""] 02:55:30.883572106: calling as root: find /usr/lib /lib -name "libplds4.so" 02:55:31.738215667: call returned: [0, "/usr/lib/thunderbird/libplds4.so\n/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplds4.so\n", ""] 02:55:31.738629054: calling as root: find /usr/lib /lib -name "libsmime3.so" 02:55:32.468776828: call returned: [0, "/usr/lib/thunderbird/libsmime3.so\n/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsmime3.so\n", ""] 02:55:32.469182195: calling as root: find /usr/lib /lib -name "libsoftokn3.so" 02:55:33.243386525: call returned: [0, "/usr/lib/thunderbird/libsoftokn3.so\n/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsoftokn3.so\n", ""] 02:55:33.243776521: calling as root: find /usr/lib /lib -name "libssl3.so" 02:55:34.043776480: call returned: [0, "/usr/lib/thunderbird/libssl3.so\n/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libssl3.so\n", ""] 02:55:34.044152890: calling as root: find /usr/lib /lib -name "libxul.so" 02:55:34.752786227: call returned: [0, "/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libxul.so\n", ""] Then the Tor Browser uses all expected TBB shared libraries # features/step_definitions/browser.rb:150 #11592 @check_tor_leaks @fragile Scenario: The Tor Browser's "New identity" feature works as expected # features/torified_browsing.feature:109 02:55:36.439209506: calling as root: echo 'hello?' 02:55:36.594119056: call returned: [0, "hello?\n", ""] 02:55:37.316257506: calling as root: nmcli device show eth0 02:55:37.327621861: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:55:37.558202077: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:55:37.568429667: calling as root: systemctl --quiet is-active tor@default.service 02:55:37.705557497: call returned: [0, "", ""] 02:55:37.705658634: calling as root: systemctl stop tor@default.service 02:55:37.878667646: call returned: [0, "", ""] 02:55:37.878763244: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:55:38.058387746: call returned: [0, "", ""] 02:55:38.058514891: calling as root: date -s '@1523729442' 02:55:38.244441885: call returned: [0, "Sat Apr 14 18:10:42 UTC 2018\n", ""] 02:55:38.244623260: calling as root: systemctl start tor@default.service 02:55:39.073116389: call returned: [0, "", ""] 02:55:39.073282389: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:39.239241175: call returned: [3, "", ""] 02:55:40.239542504: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:40.405494699: call returned: [3, "", ""] 02:55:41.405896788: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:41.584151875: call returned: [3, "", ""] 02:55:42.584530622: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:55:42.753675236: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:55:42.792804210: calling as amnesia: xdotool key Super 02:55:42.951079010: call returned: [0, "", ""] 02:55:44.211895172: [log] TYPE "Tor Browser" 02:55:44.274079738: [log] ( Ctrl ) TYPE "#ENTER." 02:55:44.274377969: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1137 = dogtail.tree.root.application('Firefox') 02:55:55.613697157: execution complete 02:55:56.613977284: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1138 = dogtail.tree.root.application('Firefox') 02:55:57.038639382: execution complete 02:55:57.038783044: executing Python as amnesia: node1139 = node1138.child(roleName='frame', recursive=False) 02:55:57.141649753: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:55:57.142528297: executing Python as amnesia: node1140 = node1138.child('Tails - News - Tor Browser', roleName='frame') 02:56:01.691060120: execution complete 02:56:01.691376087: executing Python as amnesia: node1141 = node1138.child('Reload current page', roleName='push button') 02:56:06.734384513: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:56:06.736286267: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:56:07.313447370: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:56:08.151639351: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:56:08.641689510: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:56:08.859359529: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:56:09.617969076: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:56:14.618310346: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 02:56:14.746336958: call returned: [0, "", ""] 02:56:14.809817568: [log] ( Ctrl ) TYPE "v" 02:56:14.851114613: [log] TYPE "#ENTER." And I open Tails homepage in the Tor Browser # features/step_definitions/browser.rb:198 02:56:15.320464278: executing Python as amnesia: node1142 = node1138.child('Tails - Privacy for anyone anywhere - Tor Browser', roleName='frame') 02:56:17.854694657: execution complete 02:56:17.854919289: executing Python as amnesia: node1143 = node1138.child('Reload current page', roleName='push button') 02:56:17.958928349: execution complete Then Tails homepage loads in the Tor Browser # features/step_definitions/browser.rb:202 02:56:18.794505123: [log] CLICK on L(64,114)@S(0)[0,0 1024x768] 02:56:19.972587419: [log] CLICK on L(104,146)@S(0)[0,0 1024x768] When I request a new identity using Torbutton # features/step_definitions/common_steps.rb:417 And I acknowledge Torbutton's New Identity confirmation prompt # features/step_definitions/common_steps.rb:422 02:56:20.774218494: executing Python as amnesia: node1144 = node1138.child('Tails - News - Tor Browser', roleName='frame') 02:56:20.787544423: [log] TYPE "y" 02:56:27.358160859: execution complete 02:56:27.358561069: executing Python as amnesia: node1145 = node1138.child('Reload current page', roleName='push button') 02:56:31.384390792: execution complete Then the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 #11592 @fragile Scenario: The Tor Browser should not have any plugins enabled # features/torified_browsing.feature:121 02:56:33.496258274: calling as root: echo 'hello?' 02:56:33.657466262: call returned: [0, "hello?\n", ""] 02:56:34.380497855: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:56:34.380628127: calling as root: nmcli device show eth0 02:56:34.631856937: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 02:56:34.642358514: calling as root: systemctl --quiet is-active tor@default.service 02:56:34.808302141: call returned: [0, "", ""] 02:56:34.808450008: calling as root: systemctl stop tor@default.service 02:56:35.013543293: call returned: [0, "", ""] 02:56:35.013679928: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 02:56:35.177626379: call returned: [0, "", ""] 02:56:35.177757519: calling as root: date -s '@1523729499' 02:56:35.362272001: call returned: [0, "Sat Apr 14 18:11:39 UTC 2018\n", ""] 02:56:35.362385184: calling as root: systemctl start tor@default.service 02:56:36.129550735: call returned: [0, "", ""] 02:56:36.129756917: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:56:36.292179361: call returned: [3, "", ""] 02:56:37.292610508: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:56:37.461234246: call returned: [3, "", ""] 02:56:38.461602671: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:56:38.609100620: call returned: [3, "", ""] 02:56:39.609355410: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:56:39.777503522: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 02:56:39.813230433: calling as amnesia: xdotool key Super 02:56:39.981014522: call returned: [0, "", ""] 02:56:41.304788534: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1146 = dogtail.tree.root.application('Firefox') 02:56:41.314590845: [log] TYPE "Tor Browser" [log] ( Ctrl ) TYPE "#ENTER." 02:56:52.698032346: execution complete 02:56:53.698451328: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1147 = dogtail.tree.root.application('Firefox') 02:56:54.187194394: execution complete 02:56:54.187336899: executing Python as amnesia: node1148 = node1147.child(roleName='frame', recursive=False) 02:56:54.233966903: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:56:54.234754455: executing Python as amnesia: node1149 = node1147.child('Tails - News - Tor Browser', roleName='frame') 02:56:58.911935392: execution complete 02:56:58.912344227: executing Python as amnesia: node1150 = node1147.child('Reload current page', roleName='push button') 02:57:03.654451202: execution complete And the Tor Browser loads the startup page # features/step_definitions/common_steps.rb:405 02:57:03.656571374: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:57:04.243133598: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:57:04.995268534: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:57:05.475501655: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:57:05.662968614: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:57:06.420067988: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:57:11.420397151: calling as amnesia: echo -n 'about:plugins' | xsel --input --clipboard 02:57:11.545582720: call returned: [0, "", ""] 02:57:11.609193128: [log] ( Ctrl ) TYPE "v" 02:57:11.650305611: [log] TYPE "#ENTER." Then the Tor Browser has no plugins installed # features/step_definitions/browser.rb:117 #11592 @fragile Scenario: The persistent Tor Browser directory is usable # features/torified_browsing.feature:129 02:57:16.783636369: calling as root: echo 'hello?' 02:57:17.063256489: call returned: [0, "hello?\n", ""] 02:57:17.785157443: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 02:57:17.785273151: calling as root: nmcli device show eth0 02:57:18.059559898: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 02:57:18.071047470: calling as root: date -s '@1523729542' 02:57:18.319548326: call returned: [0, "Sat Apr 14 18:12:22 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 And the network is plugged # features/step_definitions/common_steps.rb:79 02:57:18.343434443: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:57:18.658393268: call returned: [1, "", ""] 02:57:19.658705557: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:57:19.937661114: call returned: [1, "", ""] 02:57:20.937861365: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:57:21.143738949: call returned: [3, "", ""] 02:57:22.144077832: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:57:22.386054414: call returned: [3, "", ""] 02:57:23.386284666: calling as root: /usr/local/sbin/tor-has-bootstrapped 02:57:23.669096706: call returned: [0, "", ""] 02:57:23.669372244: calling as root: test -e /run/tordate/done 02:57:23.856277540: call returned: [0, "", ""] 02:57:23.856654053: calling as root: test -e /run/htpdate/success 02:57:23.999645492: call returned: [1, "", ""] 02:57:24.999853140: calling as root: test -e /run/htpdate/success 02:57:25.186958595: call returned: [1, "", ""] 02:57:26.187187517: calling as root: test -e /run/htpdate/success 02:57:26.358316597: call returned: [0, "", ""] 02:57:26.358549269: calling as root: systemctl is-system-running 02:57:26.591062269: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 02:57:26.592014696: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:26.794825702: call returned: [1, "", ""] 02:57:27.795180219: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:28.084521164: call returned: [1, "", ""] 02:57:29.084867686: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:29.254069269: call returned: [1, "", ""] 02:57:30.254390628: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:30.411321053: call returned: [1, "", ""] 02:57:31.411638037: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:31.576585785: call returned: [1, "", ""] 02:57:32.576940053: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:32.746187784: call returned: [1, "", ""] 02:57:33.746388502: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:33.914491618: call returned: [1, "", ""] 02:57:34.914811995: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:35.066871151: call returned: [1, "", ""] 02:57:36.067156513: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:36.231718247: call returned: [1, "", ""] 02:57:37.232088347: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:37.423580475: call returned: [1, "", ""] 02:57:38.423877966: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:38.597208892: call returned: [1, "", ""] 02:57:39.597603999: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:39.757278839: call returned: [1, "", ""] 02:57:40.757676299: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:40.943866655: call returned: [1, "", ""] 02:57:41.944195755: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:42.113398915: call returned: [1, "", ""] 02:57:43.113643098: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:43.321595100: call returned: [1, "", ""] 02:57:44.321935464: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:44.476801851: call returned: [1, "", ""] 02:57:45.477150603: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:45.654926539: call returned: [1, "", ""] 02:57:46.655206071: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:46.842200324: call returned: [1, "", ""] 02:57:47.842459675: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:47.991253296: call returned: [1, "", ""] 02:57:48.991489915: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:49.173367531: call returned: [1, "", ""] 02:57:50.173644033: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:50.328810367: call returned: [1, "", ""] 02:57:51.329184719: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:51.551789008: call returned: [1, "", ""] 02:57:52.552136706: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:52.748172944: call returned: [1, "", ""] 02:57:53.748483397: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:53.932941330: call returned: [1, "", ""] 02:57:54.933263262: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:55.134408148: call returned: [1, "", ""] 02:57:56.134679683: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:56.313433338: call returned: [1, "", ""] 02:57:57.313698751: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:57.471715818: call returned: [1, "", ""] 02:57:58.472040444: calling as root: test -e '/run/tails-upgrader/checked_upgrades' 02:57:58.654881282: call returned: [0, "", ""] And available upgrades have been checked # features/step_definitions/common_steps.rb:379 02:57:58.655778627: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1151 = dogtail.tree.root.application('gnome-shell') 02:57:59.564411577: execution complete 02:58:00.286699223: executing Python as amnesia: node1152 = node1151.child('No Notifications', roleName='label') 02:58:00.295653491: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 02:58:01.595568551: execution complete 02:58:01.595686397: executing Python as amnesia: node1153 = node1151.child('No Notifications', roleName='label') 02:58:02.690235370: execution complete 02:58:02.735390497: [log] TYPE "#ESC." And all notifications have disappeared # features/step_definitions/common_steps.rb:441 02:58:02.736727311: calling as root: test -d '/home/amnesia/Persistent/Tor Browser' 02:58:02.931321383: call returned: [0, "", ""] Then the persistent Tor Browser directory exists # features/step_definitions/common_steps.rb:688 02:58:03.687689042: [log] CLICK on L(167,12)@S(0)[0,0 1024x768] 02:58:04.169660242: [log] TYPE "#ESC." And there is a GNOME bookmark for the persistent Tor Browser directory # features/step_definitions/common_steps.rb:698 02:58:04.204320475: calling as amnesia: xdotool key Super 02:58:04.359372732: call returned: [0, "", ""] 02:58:05.676202917: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1154 = dogtail.tree.root.application('Firefox') 02:58:05.676316312: [log] TYPE "Tor Browser" [log] ( Ctrl ) TYPE "#ENTER." 02:58:17.012773446: execution complete 02:58:18.013110256: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1155 = dogtail.tree.root.application('Firefox') 02:58:19.395540644: execution complete 02:58:19.395679249: executing Python as amnesia: node1156 = node1155.child(roleName='frame', recursive=False) 02:58:19.587654530: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:58:19.589190496: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:58:20.320944344: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:58:21.077767103: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 02:58:21.122842374: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:58:21.386458420: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:58:22.140951471: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:58:27.141248962: calling as amnesia: echo -n 'https://tails.boum.org/about' | xsel --input --clipboard 02:58:27.350678072: call returned: [0, "", ""] 02:58:27.412700349: [log] ( Ctrl ) TYPE "v" 02:58:27.453823269: [log] TYPE "#ENTER." And I open the address "https://tails.boum.org/about" in the Tor Browser # features/step_definitions/browser.rb:67 02:58:30.579478805: executing Python as amnesia: node1157 = node1155.child('Tails - About - Tor Browser', roleName='frame') 02:58:30.608036984: execution complete 02:58:30.608293365: executing Python as amnesia: node1158 = node1155.child('Reload current page', roleName='push button') 02:58:30.686468904: execution complete And "Tails - About" has loaded in the Tor Browser # features/step_definitions/browser.rb:100 02:58:31.964855018: [log] ( Ctrl ) TYPE "s" 02:58:32.687657686: [log] CLICK on L(167,430)@S(0)[0,0 1024x768] 02:58:33.213874823: [log] ( Alt ) TYPE "n" 02:58:33.847418878: [log] TYPE "index" 02:58:33.888507722: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/index.html' 02:58:33.897182162: [log] TYPE "#ENTER." 02:58:34.069998204: call returned: [1, "", ""] 02:58:35.070246518: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/index.html' 02:58:35.321232517: call returned: [0, "", ""] And I can save the current page as "index.html" to the persistent Tor Browser directory # features/step_definitions/common_steps.rb:742 And I close the Tor Browser # features/step_definitions/browser.rb:13 02:58:35.423382454: calling as amnesia: xdotool key Super 02:58:35.432330090: [log] ( Ctrl ) TYPE "q" 02:58:35.802145660: call returned: [0, "", ""] 02:58:37.065359269: [log] TYPE "Tor Browser" 02:58:37.129023114: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1159 = dogtail.tree.root.application('Firefox') 02:58:37.129151583: [log] ( Ctrl ) TYPE "#ENTER." 02:58:37.590020098: execution complete 02:58:37.590147543: executing Python as amnesia: node1160 = node1159.child(roleName='frame', recursive=False) 02:58:37.613735678: execution complete When I start the Tor Browser # features/step_definitions/common_steps.rb:385 02:58:37.615150456: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:58:38.057091175: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:58:38.897810878: [log] CLICK on L(453,80)@S(0)[0,0 1024x768] 02:58:40.715284513: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 02:58:40.910469947: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 02:58:41.668928396: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 02:58:46.669344497: calling as amnesia: echo -n 'file:///home/amnesia/Persistent/Tor Browser/index.html' | xsel --input --clipboard 02:58:46.768198202: call returned: [0, "", ""] 02:58:46.830018145: [log] ( Ctrl ) TYPE "v" 02:58:47.336991780: [log] TYPE "#ENTER." And I open the address "file:///home/amnesia/Persistent/Tor Browser/index.html" in the Tor Browser # features/step_definitions/browser.rb:67 02:58:47.337870605: executing Python as amnesia: node1161 = node1159.child('Tails - About - Tor Browser', roleName='frame') 02:58:47.379138143: execution complete 02:58:47.379386902: executing Python as amnesia: node1162 = node1159.child('Reload current page', roleName='push button') 02:58:47.451530917: execution complete Then "Tails - About" has loaded in the Tor Browser # features/step_definitions/browser.rb:100 02:58:47.514572566: [log] ( Ctrl ) TYPE "p" 02:58:47.514748545: executing Python as amnesia: node1163 = node1159.child('Print', roleName='dialog') 02:58:50.292123835: execution complete 02:58:50.292262964: executing Python as amnesia: node1164 = node1163.child('Print to File', 'table cell') 02:58:50.333099855: execution complete 02:58:50.333229299: executing Python as amnesia: node1164.click() 02:58:51.370474668: execution complete 02:58:51.370669773: executing Python as amnesia: node1165 = node1163.child(roleName='text') 02:58:51.438933417: execution complete 02:58:51.439061949: executing Python as amnesia: print(node1165.text) 02:58:51.463925680: execution complete 02:58:51.464068132: executing Python as amnesia: node1165.text = '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:51.491395392: execution complete 02:58:51.491528710: executing Python as amnesia: node1166 = node1163.button('Print') 02:58:52.097300233: execution complete 02:58:52.097410650: executing Python as amnesia: node1166.click() 02:58:53.136859250: execution complete 02:58:53.137064199: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:53.425862891: call returned: [1, "", ""] 02:58:54.426211809: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:54.669570550: call returned: [1, "", ""] 02:58:55.669824019: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:55.868386615: call returned: [1, "", ""] 02:58:56.868723190: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:57.077853870: call returned: [1, "", ""] 02:58:58.078110180: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:58.317202435: call returned: [1, "", ""] 02:58:59.317481583: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:58:59.523842020: call returned: [1, "", ""] 02:59:00.524066270: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:00.781558345: call returned: [1, "", ""] 02:59:01.781785569: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:01.986303534: call returned: [1, "", ""] 02:59:02.986633675: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:03.257709690: call returned: [1, "", ""] 02:59:04.258063173: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:04.453548981: call returned: [1, "", ""] 02:59:05.453812233: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:05.706489331: call returned: [1, "", ""] 02:59:06.706739498: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:06.921250314: call returned: [1, "", ""] 02:59:07.921481726: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:08.131282369: call returned: [1, "", ""] 02:59:09.131637939: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:09.339137196: call returned: [1, "", ""] 02:59:10.339464546: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:10.562570039: call returned: [1, "", ""] 02:59:11.562880404: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:11.736312906: call returned: [1, "", ""] 02:59:12.736587260: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:12.930075140: call returned: [1, "", ""] 02:59:13.930352812: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:14.143307639: call returned: [1, "", ""] 02:59:15.143620037: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:15.387595687: call returned: [1, "", ""] 02:59:16.387883741: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:16.619872127: call returned: [1, "", ""] 02:59:17.620077178: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:17.854756129: call returned: [1, "", ""] 02:59:18.855108341: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:19.042184971: call returned: [1, "", ""] 02:59:20.045428330: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:20.282668366: call returned: [1, "", ""] 02:59:21.283087178: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:21.491596754: call returned: [1, "", ""] 02:59:22.492005204: calling as root: test -e '/home/amnesia/Persistent/Tor Browser/output.pdf' 02:59:22.712359013: call returned: [1, "", ""] And I can print the current page as "output.pdf" to the persistent Tor Browser directory # features/step_definitions/common_steps.rb:772 The page was not printed to /home/amnesia/Persistent/Tor Browser/output.pdf (Timeout::Error) ./features/support/helpers/misc_helpers.rb:90:in `rescue in try_for' ./features/support/helpers/misc_helpers.rb:36:in `/^I can print the current page as "([^"]+[.]pdf)" to the (default downloads|persistent Tor Browser) directory$/' features/torified_browsing.feature:145:in `And I can print the current page as "output.pdf" to the persistent Tor Browser directory' 02:59:26.248942626: calling as root: echo 'hello?' 02:59:26.466216827: call returned: [0, "hello?\n", ""] 02:59:26.466512224: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 02:59:26.835562813: call returned: [0, "", ""] 02:59:26.835663613: opening file /tmp/systemd.journal in 'read' mode 03:00:23.932385190: read complete Scenario failed at time 02:59:26 Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:59:26_The_persistent_Tor_Browser_directory_is_usable.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:59:26_The_persistent_Tor_Browser_directory_is_usable.journal Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-15336-cannot-print-local-pages-force-all-tests/2/artifact/build-artifacts/02:59:26_The_persistent_Tor_Browser_directory_is_usable.mkv #11585 @fragile Scenario: Persistent browser bookmarks # features/torified_browsing.feature:149 03:00:27.001747546: calling as root: echo 'hello?' 03:00:27.263058290: call returned: [0, "hello?\n", ""] 03:00:27.985465345: calling as root: nmcli device show eth0 03:00:28.004577191: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:00:28.356608572: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 03:00:28.366795730: calling as root: date -s '@1523729732' 03:00:28.546741470: call returned: [0, "Sat Apr 14 18:15:32 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 03:00:28.547696694: calling as root: test -e '/var/lib/live/config/tails.persistence' 03:00:28.762412805: call returned: [0, "", ""] 03:00:28.762530178: calling as root: . '/var/lib/live/config/tails.persistence' && test "$TAILS_PERSISTENCE_ENABLED" = true 03:00:28.966989871: call returned: [0, "", ""] 03:00:28.967148448: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 03:00:29.864955012: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 03:00:29.865200701: calling as root: mount 03:00:30.265224906: call returned: [0, "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1006628k,nr_inodes=251657,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204516k,mode=755)\n/dev/sda1 on /lib/live/mount/medium type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)\n/dev/loop0 on /lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)\ntmpfs on /lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)\naufs on / type aufs (rw,noatime,si=323d2154b949a9f2,noxino)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)\ncgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11046)\ntmpfs on /var/tmp type tmpfs (rw)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ntmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)\ntmpfs on /run/user/113 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=113,gid=121)\n/dev/mapper/TailsData_unlocked on /live/persistence/TailsData_unlocked type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/cups type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /etc/NetworkManager/system-connections type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.electrum type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnome2/keyrings type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.gnupg type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.mozilla/firefox/bookmarks type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/Persistent type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.purple type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.ssh type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /home/amnesia/.thunderbird type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/cache/apt/archives type ext4 (rw,noatime,data=ordered)\n/dev/mapper/TailsData_unlocked on /var/lib/apt/lists type ext4 (rw,noatime,data=ordered)\ntmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700,uid=1000,gid=1000)\ntmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204516k,mode=700)\n", ""] And all persistence presets are enabled # features/step_definitions/usb.rb:337 03:00:30.266190314: calling as root: ls -1 -d /live/persistence/*_unlocked/ 03:00:30.506010930: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 03:00:30.506120606: calling as root: stat -c %U /live/persistence/TailsData_unlocked/ 03:00:30.717247674: call returned: [0, "root\n", ""] 03:00:30.717350242: calling as root: stat -c %G /live/persistence/TailsData_unlocked/ 03:00:30.906752890: call returned: [0, "root\n", ""] 03:00:30.906853773: calling as root: stat -c %a /live/persistence/TailsData_unlocked/ 03:00:31.117983375: call returned: [0, "775\n", ""] And all persistent filesystems have safe access rights # features/step_definitions/usb.rb:442 03:00:31.118812847: calling as root: ls -1 -d /live/persistence/*_unlocked/ 03:00:31.279948096: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 03:00:31.280056403: calling as root: test -e /live/persistence/TailsData_unlocked//persistence.conf 03:00:31.466003782: call returned: [0, "", ""] 03:00:31.466166337: calling as root: test ! -e /live/persistence/TailsData_unlocked//live-persistence.conf 03:00:31.679051448: call returned: [0, "", ""] 03:00:31.679171672: calling as root: ls -1 /live/persistence/TailsData_unlocked//persistence.conf /live/persistence/TailsData_unlocked//live-*.conf 03:00:31.905406165: call returned: [0, "/live/persistence/TailsData_unlocked//live-additional-software.conf\n/live/persistence/TailsData_unlocked//persistence.conf\n", ""] 03:00:31.905512826: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//live-additional-software.conf' 03:00:32.136250953: call returned: [0, "tails-persistence-setup\n", ""] 03:00:32.136353685: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//live-additional-software.conf' 03:00:32.366377755: call returned: [0, "tails-persistence-setup\n", ""] 03:00:32.366498161: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//live-additional-software.conf' 03:00:32.511122996: call returned: [0, "600\n", ""] 03:00:32.511296055: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//persistence.conf' 03:00:32.731741797: call returned: [0, "tails-persistence-setup\n", ""] 03:00:32.731866602: calling as root: stat -c %G '/live/persistence/TailsData_unlocked//persistence.conf' 03:00:32.918134848: call returned: [0, "tails-persistence-setup\n", ""] 03:00:32.918237310: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//persistence.conf' 03:00:33.176858554: call returned: [0, "600\n", ""] And all persistence configuration files have safe access rights # features/step_definitions/usb.rb:453 03:00:33.177646375: calling as root: perl -E ' use strict; use warnings FATAL => "all"; use Tails::Persistence::Configuration::Presets; foreach my $preset (Tails::Persistence::Configuration::Presets->new()->all) { say $preset->destination, ":", join(",", @{$preset->options}); }' 03:00:34.009818858: call returned: [0, "/home/amnesia/Persistent:source=Persistent\n/home/amnesia/.gnupg:source=gnupg\n/home/amnesia/.ssh:source=openssh-client\n/home/amnesia/.purple:source=pidgin\n/home/amnesia/.thunderbird:source=thunderbird\n/home/amnesia/.gnome2/keyrings:source=gnome-keyrings\n/etc/NetworkManager/system-connections:source=nm-system-connections\n/home/amnesia/.mozilla/firefox/bookmarks:source=bookmarks\n/etc/cups:source=cups-configuration\n/home/amnesia/.electrum:source=electrum\n/var/cache/apt/archives:source=apt/cache\n/var/lib/apt/lists:source=apt/lists\n/home/amnesia:source=dotfiles,link\n", ""] 03:00:34.010045544: calling as root: ls -1 -d /live/persistence/*_unlocked/ 03:00:34.190147434: call returned: [0, "/live/persistence/TailsData_unlocked/\n", ""] 03:00:34.190271663: calling as root: test -d /live/persistence/TailsData_unlocked//Persistent 03:00:34.403896153: call returned: [0, "", ""] 03:00:34.404012719: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//Persistent' 03:00:34.648302454: call returned: [0, "700\n", ""] 03:00:34.648429643: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//Persistent' 03:00:34.866532795: call returned: [0, "amnesia\n", ""] 03:00:34.866686714: calling as root: test -d /live/persistence/TailsData_unlocked//gnupg 03:00:35.061723470: call returned: [0, "", ""] 03:00:35.061843256: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnupg' 03:00:35.259283446: call returned: [0, "700\n", ""] 03:00:35.259466518: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnupg' 03:00:35.509172607: call returned: [0, "amnesia\n", ""] 03:00:35.509332219: calling as root: test -d /live/persistence/TailsData_unlocked//openssh-client 03:00:35.724579975: call returned: [0, "", ""] 03:00:35.724709890: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//openssh-client' 03:00:35.888953020: call returned: [0, "700\n", ""] 03:00:35.889085678: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//openssh-client' 03:00:36.113742663: call returned: [0, "amnesia\n", ""] 03:00:36.113946060: calling as root: test -d /live/persistence/TailsData_unlocked//pidgin 03:00:36.300709296: call returned: [0, "", ""] 03:00:36.300885690: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//pidgin' 03:00:36.497013892: call returned: [0, "700\n", ""] 03:00:36.497170229: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//pidgin' 03:00:36.638901004: call returned: [0, "amnesia\n", ""] 03:00:36.639053799: calling as root: test -d /live/persistence/TailsData_unlocked//thunderbird 03:00:36.853100593: call returned: [0, "", ""] 03:00:36.853228311: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//thunderbird' 03:00:37.111596688: call returned: [0, "700\n", ""] 03:00:37.111718352: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//thunderbird' 03:00:37.293222515: call returned: [0, "amnesia\n", ""] 03:00:37.293371495: calling as root: test -d /live/persistence/TailsData_unlocked//gnome-keyrings 03:00:37.516872940: call returned: [0, "", ""] 03:00:37.517013134: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//gnome-keyrings' 03:00:37.733190118: call returned: [0, "700\n", ""] 03:00:37.733382374: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//gnome-keyrings' 03:00:37.965431345: call returned: [0, "amnesia\n", ""] 03:00:37.965628640: calling as root: test -d /live/persistence/TailsData_unlocked//nm-system-connections 03:00:38.234035121: call returned: [0, "", ""] 03:00:38.234175712: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//nm-system-connections' 03:00:38.515641948: call returned: [0, "755\n", ""] 03:00:38.515776698: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//nm-system-connections' 03:00:38.784083852: call returned: [0, "root\n", ""] 03:00:38.784236864: calling as root: test -d /live/persistence/TailsData_unlocked//bookmarks 03:00:38.985918523: call returned: [0, "", ""] 03:00:38.986099336: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//bookmarks' 03:00:39.213281813: call returned: [0, "700\n", ""] 03:00:39.213408282: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//bookmarks' 03:00:39.410859787: call returned: [0, "amnesia\n", ""] 03:00:39.411037919: calling as root: test -d /live/persistence/TailsData_unlocked//cups-configuration 03:00:39.638133467: call returned: [0, "", ""] 03:00:39.638277255: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//cups-configuration' 03:00:39.860808084: call returned: [0, "755\n", ""] 03:00:39.860970210: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//cups-configuration' 03:00:40.079820305: call returned: [0, "root\n", ""] 03:00:40.079992924: calling as root: test -d /live/persistence/TailsData_unlocked//electrum 03:00:40.278466537: call returned: [0, "", ""] 03:00:40.278610451: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//electrum' 03:00:40.474146641: call returned: [0, "700\n", ""] 03:00:40.474329645: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//electrum' 03:00:40.669694115: call returned: [0, "amnesia\n", ""] 03:00:40.669863891: calling as root: test -d /live/persistence/TailsData_unlocked//apt/cache 03:00:40.879511770: call returned: [0, "", ""] 03:00:40.879629961: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/cache' 03:00:41.118536321: call returned: [0, "755\n", ""] 03:00:41.118659285: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/cache' 03:00:41.347908525: call returned: [0, "root\n", ""] 03:00:41.348113232: calling as root: test -d /live/persistence/TailsData_unlocked//apt/lists 03:00:41.515323628: call returned: [0, "", ""] 03:00:41.515445006: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//apt/lists' 03:00:41.711147638: call returned: [0, "755\n", ""] 03:00:41.711266752: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//apt/lists' 03:00:41.915275578: call returned: [0, "root\n", ""] 03:00:41.915461866: calling as root: test -d /live/persistence/TailsData_unlocked//dotfiles 03:00:42.081187113: call returned: [0, "", ""] 03:00:42.081321503: calling as root: stat -c %a '/live/persistence/TailsData_unlocked//dotfiles' 03:00:42.271825202: call returned: [0, "700\n", ""] 03:00:42.271983519: calling as root: stat -c %U '/live/persistence/TailsData_unlocked//dotfiles' 03:00:42.513682682: call returned: [0, "amnesia\n", ""] And all persistent directories have safe access rights # features/step_definitions/usb.rb:472 03:00:42.548569886: calling as amnesia: xdotool key Super 03:00:42.733177243: call returned: [0, "", ""] 03:00:43.992695768: [log] TYPE "Tor Browser" 03:00:44.054520405: [log] ( Ctrl ) TYPE "#ENTER." 03:00:44.054714174: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1167 = dogtail.tree.root.application('zenity') 03:00:46.767815874: execution complete 03:00:46.767990517: executing Python as amnesia: node1168 = node1167.dialog('Tor is not ready') 03:00:46.800399089: execution complete 03:00:46.800513740: executing Python as amnesia: node1169 = node1168.button('Start Tor Browser') 03:00:46.831864919: execution complete 03:00:46.831960389: executing Python as amnesia: node1169.click() 03:00:47.911733915: execution complete 03:00:47.912372323: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1170 = dogtail.tree.root.application('Firefox') 03:00:58.357543975: execution complete 03:00:59.357911614: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1171 = dogtail.tree.root.application('Firefox') 03:00:59.763963694: execution complete 03:00:59.764108715: executing Python as amnesia: node1172 = node1171.child(roleName='frame', recursive=False) 03:00:59.833694852: execution complete 03:00:59.834396615: executing Python as amnesia: node1173 = node1171.child('Problem loading page', roleName='document frame') 03:01:03.137107259: execution complete 03:01:03.137333608: executing Python as amnesia: nodes1174 = node1173.findChildren(dogtail.predicate.GenericPredicate(roleName='heading')) print(len(nodes1174)) 03:01:03.190827820: execution complete 03:01:03.190984959: executing Python as amnesia: node1175 = nodes1174[0] 03:01:03.208660901: execution complete 03:01:03.208763843: executing Python as amnesia: print(node1175.text) 03:01:03.233328897: execution complete When I start the Tor Browser in offline mode # features/step_definitions/common_steps.rb:385 03:01:03.235029447: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:01:03.910418667: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:01:05.225706274: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 03:01:05.226079120: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:01:05.449354803: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:01:06.215363430: [log] CLICK on L(238,114)@S(0)[0,0 1024x768] 03:01:11.215634323: calling as amnesia: echo -n 'https://www.eff.org' | xsel --input --clipboard 03:01:11.352557650: call returned: [0, "", ""] 03:01:11.457672113: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." 03:01:11.913607432: executing Python as amnesia: node1176 = node1171.child('Problem loading page', roleName='document frame') 03:01:12.055392582: execution complete 03:01:12.055522829: executing Python as amnesia: nodes1177 = node1176.findChildren(dogtail.predicate.GenericPredicate(roleName='heading')) print(len(nodes1177)) 03:01:12.102326733: execution complete 03:01:12.102470348: executing Python as amnesia: node1178 = nodes1177[0] 03:01:12.123712638: execution complete 03:01:12.123819186: executing Python as amnesia: print(node1178.text) 03:01:12.154643904: execution complete 03:01:12.218834574: [log] ( Ctrl ) TYPE "d" 03:01:13.522088105: [log] TYPE "https://www.eff.org#ENTER." And I add a bookmark to eff.org in the Tor Browser # features/step_definitions/common_steps.rb:427 03:01:13.522741547: spawning as root: reboot And I warm reboot the computer # features/step_definitions/common_steps.rb:548 03:01:24.399842616: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 03:01:57.487492396: calling as root: echo 'hello?' 03:01:57.879909241: call returned: [0, "hello?\n", ""] 03:01:57.880276038: calling as root: service tor status 03:01:58.369671560: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 03:01:58.369978652: opening file /etc/tor/torrc in 'append' mode 03:01:58.624249867: append complete And the computer reboots Tails # features/step_definitions/common_steps.rb:248 03:02:09.317564650: [log] CLICK on L(404,469)@S(0)[0,0 1024x768] [log] TYPE "asdf#ENTER." And I enable persistence # features/step_definitions/usb.rb:324 03:02:14.508016047: [log] CLICK on L(767,154)@S(0)[0,0 1024x768] 03:02:14.508289272: calling as root: loginctl 03:02:14.664679011: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 03:02:15.665037226: calling as root: loginctl 03:02:15.921778024: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 03:02:23.806298317: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 03:02:23.890222114: call returned: [0, "", ""] 03:02:23.890371880: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 03:02:23.977602972: call returned: [0, "", ""] And I log in to a new session # features/step_definitions/common_steps.rb:257 03:02:24.012464712: calling as amnesia: xdotool key Super 03:02:24.179196397: call returned: [0, "", ""] 03:02:27.104460565: [log] TYPE "Tor Browser" 03:02:27.166048131: [log] ( Ctrl ) TYPE "#ENTER." 03:02:27.166262684: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1179 = dogtail.tree.root.application('zenity') 03:02:29.901068548: execution complete 03:02:29.901193547: executing Python as amnesia: node1180 = node1179.dialog('Tor is not ready') 03:02:29.928678441: execution complete 03:02:29.928852155: executing Python as amnesia: node1181 = node1180.button('Start Tor Browser') 03:02:29.951943733: execution complete 03:02:29.952092614: executing Python as amnesia: node1181.click() 03:02:31.027313491: execution complete 03:02:31.027596184: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1182 = dogtail.tree.root.application('Firefox') 03:02:41.379220028: execution complete 03:02:42.379497805: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1183 = dogtail.tree.root.application('Firefox') 03:02:42.675210235: execution complete 03:02:42.675371806: executing Python as amnesia: node1184 = node1183.child(roleName='frame', recursive=False) 03:02:42.725613997: execution complete 03:02:42.725796164: executing Python as amnesia: node1185 = node1183.child('Problem loading page', roleName='document frame') 03:02:46.641115472: execution complete 03:02:46.641291558: executing Python as amnesia: nodes1186 = node1185.findChildren(dogtail.predicate.GenericPredicate(roleName='heading')) print(len(nodes1186)) 03:02:46.684030546: execution complete 03:02:46.684182592: executing Python as amnesia: node1187 = nodes1186[0] 03:02:46.702029625: execution complete 03:02:46.702168237: executing Python as amnesia: print(node1187.text) 03:02:46.726152961: execution complete And I start the Tor Browser in offline mode # features/step_definitions/common_steps.rb:385 Then the Tor Browser has a bookmark to eff.org # features/step_definitions/common_steps.rb:436 @product03:02:47.238308046: [log] ( Alt ) TYPE "b" @check_tor_leaks Feature: Cloning a Git repository As a Tails user when I clone a Git repository all Internet traffic should flow only through Tor Background: # features/torified_git.feature:7 03:02:49.285935617: calling as root: echo 'hello?' 03:02:49.432830744: call returned: [0, "hello?\n", ""] 03:02:50.155434762: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:02:50.155572769: calling as root: nmcli device show eth0 03:02:50.437064434: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:02:50.446845020: calling as root: systemctl --quiet is-active tor@default.service 03:02:50.587991581: call returned: [0, "", ""] 03:02:50.588156670: calling as root: systemctl stop tor@default.service 03:02:50.791569041: call returned: [0, "", ""] 03:02:50.791731799: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:02:50.941471400: call returned: [0, "", ""] 03:02:50.941580358: calling as root: date -s '@1523729875' 03:02:51.116056516: call returned: [0, "Sat Apr 14 18:17:55 UTC 2018\n", ""] 03:02:51.116157524: calling as root: systemctl start tor@default.service 03:02:51.866552368: call returned: [0, "", ""] 03:02:51.866741980: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:02:52.029687564: call returned: [3, "", ""] 03:02:53.031023786: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:02:53.203987835: call returned: [3, "", ""] 03:02:54.204394888: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:02:54.369083173: call returned: [3, "", ""] 03:02:55.369382089: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:02:55.512757974: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 #11563 @fragile Scenario: Cloning a Git repository anonymously over HTTPS # features/torified_git.feature:12 03:02:55.515402530: calling as root: test -d '/home/amnesia/testing' 03:02:55.662071448: call returned: [1, "", ""] 03:02:55.662749865: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:02:55.838281326: call returned: [1, "", ""] 03:02:55.874343791: calling as amnesia: xdotool key Super 03:02:56.038122224: call returned: [0, "", ""] 03:02:57.252344334: [log] TYPE "commandline" 03:02:57.313815943: [log] ( Ctrl ) TYPE "#ENTER." 03:03:01.905622208: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:01.914770158: [log] TYPE "git clone https://git-tails.immerda.ch/myprivatekeyispublic/testing#ENTER." 03:03:02.214922388: call returned: [0, "8675\n", ""] 03:03:03.215288486: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:03.388824652: call returned: [0, "8675\n", ""] 03:03:04.389150071: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:04.533208185: call returned: [1, "", ""] 03:03:04.533377290: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1188 = dogtail.tree.root.application('gnome-terminal-server') 03:03:04.672584671: execution complete 03:03:04.672846568: executing Python as amnesia: node1189 = node1188.child('Terminal', roleName='terminal') 03:03:04.727011051: execution complete 03:03:04.727137056: executing Python as amnesia: print(node1189.text) 03:03:04.762391283: execution complete When I clone the Git repository "https://git-tails.immerda.ch/myprivatekeyispublic/testing" in GNOME Terminal # features/step_definitions/git.rb:1 03:03:04.763544162: calling as root: test -d '/home/amnesia/testing/.git' 03:03:04.902005560: call returned: [0, "", ""] 03:03:04.902142910: calling as root: test -e '/home/amnesia/testing/.git/config' 03:03:05.053148395: call returned: [0, "", ""] 03:03:05.053271647: calling as amnesia: cd '/home/amnesia/testing/' && git status 03:03:05.163180916: call returned: [0, "On branch master\nYour branch is up-to-date with 'origin/master'.\nnothing to commit, working tree clean\n", ""] Then the Git repository "testing" has been cloned successfully # features/step_definitions/git.rb:27 Scenario: Cloning a Git repository anonymously over the Git protocol # features/torified_git.feature:16 03:03:07.022635542: calling as root: echo 'hello?' 03:03:07.173035920: call returned: [0, "hello?\n", ""] 03:03:07.896340479: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:03:07.896543269: calling as root: nmcli device show eth0 03:03:08.185878667: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:03:08.196214662: calling as root: systemctl --quiet is-active tor@default.service 03:03:08.348166497: call returned: [0, "", ""] 03:03:08.348267574: calling as root: systemctl stop tor@default.service 03:03:08.573113392: call returned: [0, "", ""] 03:03:08.573229227: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:03:08.708230721: call returned: [0, "", ""] 03:03:08.708344830: calling as root: date -s '@1523729892' 03:03:08.851417530: call returned: [0, "Sat Apr 14 18:18:12 UTC 2018\n", ""] 03:03:08.851534008: calling as root: systemctl start tor@default.service 03:03:09.704042620: call returned: [0, "", ""] 03:03:09.704278500: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:09.885496665: call returned: [3, "", ""] 03:03:10.885753765: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:11.038159898: call returned: [3, "", ""] 03:03:12.038506167: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:12.227816422: call returned: [3, "", ""] 03:03:13.228077688: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:13.431054680: call returned: [0, "", ""] 03:03:13.432811054: calling as root: test -d '/home/amnesia/testing' 03:03:13.579079458: call returned: [1, "", ""] 03:03:13.579709289: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:03:13.753165185: call returned: [1, "", ""] 03:03:13.787626287: calling as amnesia: xdotool key Super 03:03:13.955736778: call returned: [0, "", ""] 03:03:15.167732486: [log] TYPE "commandline" 03:03:17.002294694: [log] ( Ctrl ) TYPE "#ENTER." 03:03:19.655576187: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:19.655672181: [log] TYPE "git clone git://git.tails.boum.org/myprivatekeyispublic/testing#ENTER." 03:03:19.909239558: call returned: [0, "8678\n", ""] 03:03:20.909579192: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:21.076364985: call returned: [1, "", ""] 03:03:21.076592923: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1190 = dogtail.tree.root.application('gnome-terminal-server') 03:03:21.197598707: execution complete 03:03:21.197853088: executing Python as amnesia: node1191 = node1190.child('Terminal', roleName='terminal') 03:03:21.262799227: execution complete 03:03:21.263001350: executing Python as amnesia: print(node1191.text) 03:03:21.308075065: execution complete When I clone the Git repository "git://git.tails.boum.org/myprivatekeyispublic/testing" in GNOME Terminal # features/step_definitions/git.rb:1 03:03:21.308946532: calling as root: test -d '/home/amnesia/testing/.git' 03:03:21.491977133: call returned: [0, "", ""] 03:03:21.492113488: calling as root: test -e '/home/amnesia/testing/.git/config' 03:03:21.649518815: call returned: [0, "", ""] 03:03:21.649649448: calling as amnesia: cd '/home/amnesia/testing/' && git status 03:03:21.747154382: call returned: [0, "On branch master\nYour branch is up-to-date with 'origin/master'.\nnothing to commit, working tree clean\n", ""] Then the Git repository "testing" has been cloned successfully # features/step_definitions/git.rb:27 Scenario: Cloning git repository over SSH # features/torified_git.feature:20 03:03:23.588413518: calling as root: echo 'hello?' 03:03:23.733352962: call returned: [0, "hello?\n", ""] 03:03:24.456516478: calling as root: nmcli device show eth0 03:03:24.468815827: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:03:24.722440066: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:03:24.735429523: calling as root: systemctl --quiet is-active tor@default.service 03:03:24.912792187: call returned: [0, "", ""] 03:03:24.912895670: calling as root: systemctl stop tor@default.service 03:03:25.089090277: call returned: [0, "", ""] 03:03:25.089187732: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:03:25.252035686: call returned: [0, "", ""] 03:03:25.252155447: calling as root: date -s '@1523729909' 03:03:25.424526818: call returned: [0, "Sat Apr 14 18:18:29 UTC 2018\n", ""] 03:03:25.424638689: calling as root: systemctl start tor@default.service 03:03:26.256426483: call returned: [0, "", ""] 03:03:26.256605674: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:26.437806857: call returned: [3, "", ""] 03:03:27.438058394: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:27.610735040: call returned: [3, "", ""] 03:03:28.611011389: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:28.800164520: call returned: [3, "", ""] 03:03:29.800500742: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:29.960715585: call returned: [0, "", ""] 03:03:29.962080151: calling as amnesia: install -m 0700 -d '/home/amnesia/.ssh/' 03:03:30.025397155: call returned: [0, "", ""] 03:03:30.025521160: calling as amnesia: echo '-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAvMUNgUUM/kyuo26m+Xw7igG6zgGFMFbS3u8m5StGsJOn7zLi J8P5Mml/R+4tdOS6owVU4RaZTPsNZZK/ClYmOPhmNvJ04pVChk2DZ8AARg/TANj3 qjKs3D+MeKbk1bt6EsA55kgGsTUky5Ti8cc2Wna25jqjagIiyM822PGG9mmI6/zL YR6QLUizNaciXrRM3Q4R4sQkEreVlHeonPEiGUs9zx0swCpLtPM5UIYte1PVHgkw ePsU6vM8UqVTK/VwtLLgLanXnsMFuzq7DTAXPq49+XSFNq4JlxbEF6+PQXZvYZ5N eW00Gq7NSpPP8uoHr6f1J+mMxxnM85jzYtRx+QIDAQABAoIBAA8Bs1MlhCTrP67q awfGYo1UGd+qq0XugREL/hGV4SbEdkNDzkrO/46MaHv1aVOzo0q2b8r9Gu7NvoDm q51Mv/kjdizEFZq1tvYqT1n+H4dyVpnopbe4E5nmy2oECokbQFchRPkTnMSVrvko OupxpdaHPX8MBlW1GcLRBlE00j/gfK1SXX5rcxkF5EHVND1b6iHddTPearDbU8yr wga1XO6WeohAYzqmGtMD0zk6lOk0LmnTNG6WvHiFTAc/0yTiKub6rNOIEMS/82+V l437H0hKcIN/7/mf6FpqRNPJTuhOVFf+L4G/ZQ8zHoMGVIbhuTiIPqZ/KMu3NaUF R634jckCgYEA+jJ31hom/d65LfxWPkmiSkNTEOTfjbfcgpfc7sS3enPsYnfnmn5L O3JJzAKShSVP8NVuPN5Mg5FGp9QLKrN3kV6QWQ3EnqeW748DXMU6zKGJQ5wo7ZVm w2DhJ/3PAuBTL/5X4mjPQL+dr86Aq2JBDC7LHJs40I8O7UbhnsdMxKcCgYEAwSXc 3znAkAX8o2g37RiAl36HdONgxr2eaGK7OExp03pbKmoISw6bFbVpicBy6eTytn0A 2PuFcBKJRfKrViHyiE8UfAJ31JbUaxpg4bFF6UEszN4CmgKS8fnwEe1aX0qSjvkE NQSuhN5AfykXY/1WVIaWuC500uB7Ow6M16RDyF8CgYEAqFTeNYlg5Hs+Acd9SukF rItBTuN92P5z+NUtyuNFQrjNuK5Nf68q9LL/Hag5ZiVldHZUddVmizpp3C6Y2MDo WEDUQ2Y0/D1rGoAQ1hDIb7bbAEcHblmPSzJaKirkZV4B+g9Yl7bGghypfggkn6o6 c3TkKLnybrdhZpjC4a3bY48CgYBnWRYdD27c4Ycz/GDoaZLs/NQIFF5FGVL4cdPR pPl/IdpEEKZNWwxaik5lWedjBZFlWe+pKrRUqmZvWhCZruJyUzYXwM5Tnz0b7epm +Q76Z1hMaoKj27q65UyymvkfQey3ucCpic7D45RJNjiA1R5rbfSZqqnx6BGoIPn1 rLxkKwKBgDXiWeUKJCydj0NfHryGBkQvaDahDE3Yigcma63b8vMZPBrJSC4SGAHJ NWema+bArbaF0rKVJpwvpkZWGcr6qRn94Ts0kJAzR+VIVTOjB9sVwdxjadwWHRs5 kKnpY0tnSF7hyVRwN7GOsNDJEaFjCW7k4+55D2ZNBy2iN3beW8CZ -----END RSA PRIVATE KEY----- ' > '/home/amnesia/.ssh/id_rsa' 03:03:30.259996279: call returned: [0, "", ""] 03:03:30.260123885: calling as amnesia: echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8xQ2BRQz+TK6jbqb5fDuKAbrOAYUwVtLe7yblK0awk6fvMuInw/kyaX9H7i105LqjBVThFplM+w1lkr8KViY4+GY28nTilUKGTYNnwABGD9MA2PeqMqzcP4x4puTVu3oSwDnmSAaxNSTLlOLxxzZadrbmOqNqAiLIzzbY8Yb2aYjr/MthHpAtSLM1pyJetEzdDhHixCQSt5WUd6ic8SIZSz3PHSzAKku08zlQhi17U9UeCTB4+xTq8zxSpVMr9XC0suAtqdeewwW7OrsNMBc+rj35dIU2rgmXFsQXr49Bdm9hnk15bTQars1Kk8/y6gevp/Un6YzHGczzmPNi1HH5 amnesia@amnesia' > '/home/amnesia/.ssh/id_rsa.pub' 03:03:30.366187645: call returned: [0, "", ""] 03:03:30.366286364: calling as amnesia: chmod 0600 '/home/amnesia/.ssh/'id* 03:03:30.432148723: call returned: [0, "", ""] Given I have the SSH key pair for a Git repository # features/step_definitions/ssh.rb:41 03:03:30.433298696: calling as root: test -d '/home/amnesia/testing' 03:03:30.552273777: call returned: [1, "", ""] 03:03:30.552988163: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:03:30.713588220: call returned: [1, "", ""] 03:03:30.753310894: calling as amnesia: xdotool key Super 03:03:30.927242018: call returned: [0, "", ""] 03:03:32.141440831: [log] TYPE "commandline" 03:03:32.203711104: [log] ( Ctrl ) TYPE "#ENTER." 03:03:36.644206773: [log] TYPE "git clone tails@git.tails.boum.org:myprivatekeyispublic/testing#ENTER." 03:03:38.917295288: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:38.931458174: [log] TYPE "yes#ENTER." 03:03:39.072860414: call returned: [0, "8730\n", ""] 03:03:40.073054936: calling as root: pidof -x -o '%PPID' /usr/bin/git 03:03:40.312051460: call returned: [1, "", ""] 03:03:40.312286998: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1192 = dogtail.tree.root.application('gnome-terminal-server') 03:03:40.431596964: execution complete 03:03:40.431721252: executing Python as amnesia: node1193 = node1192.child('Terminal', roleName='terminal') 03:03:40.529483917: execution complete 03:03:40.529591175: executing Python as amnesia: print(node1193.text) 03:03:40.578456691: execution complete When I clone the Git repository "tails@git.tails.boum.org:myprivatekeyispublic/testing" in GNOME Terminal # features/step_definitions/git.rb:1 03:03:40.579251961: calling as root: test -d '/home/amnesia/testing/.git' 03:03:40.712639895: call returned: [0, "", ""] 03:03:40.712855930: calling as root: test -e '/home/amnesia/testing/.git/config' 03:03:40.862873949: call returned: [0, "", ""] 03:03:40.863038110: calling as amnesia: cd '/home/amnesia/testing/' && git status 03:03:40.969106328: call returned: [0, "On branch master\nYour branch is up-to-date with 'origin/master'.\nnothing to commit, working tree clean\n", ""] Then the Git repository "testing" has been cloned successfully # features/step_definitions/git.rb:27 #14770 @product @check_tor_leaks @fragile Feature: Keyserver interaction with GnuPG As a Tails user when I interact with keyservers using various GnuPG tools the configured keyserver must be used and all Internet traffic should flow only through Tor. Background: # features/torified_gnupg.feature:9 03:03:42.822931008: calling as root: echo 'hello?' 03:03:42.979975966: call returned: [0, "hello?\n", ""] 03:03:43.710586325: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:03:43.710775261: calling as root: nmcli device show eth0 03:03:43.968343506: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:03:43.980213145: calling as root: systemctl --quiet is-active tor@default.service 03:03:44.155098911: call returned: [0, "", ""] 03:03:44.155212017: calling as root: systemctl stop tor@default.service 03:03:44.386278775: call returned: [0, "", ""] 03:03:44.386394386: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:03:44.544333871: call returned: [0, "", ""] 03:03:44.544447475: calling as root: date -s '@1523729928' 03:03:44.705261873: call returned: [0, "Sat Apr 14 18:18:48 UTC 2018\n", ""] 03:03:44.705443790: calling as root: systemctl start tor@default.service 03:03:45.452209029: call returned: [0, "", ""] 03:03:45.452360532: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:45.628559242: call returned: [3, "", ""] 03:03:46.628799099: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:46.798975998: call returned: [3, "", ""] 03:03:47.799305469: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:47.974692980: call returned: [3, "", ""] 03:03:48.974888459: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:49.139925851: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:03:49.141120965: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:03:49.243877211: call returned: [2, "", "gpg: error reading key: No public key\n"] And the "10CC5BC7" OpenPGP key is not in the live user's public keyring # features/step_definitions/torified_gnupg.rb:42 03:03:50.380460998: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:03:50.415672540: read complete 03:03:50.415874391: calling as root: sed -i 's/jirk5u4osbsr34t5.onion/gfjm7cxtzz46bihv.onion:5858/' '/home/amnesia/.gnupg/dirmngr.conf' 03:03:50.578218067: call returned: [0, "", ""] And GnuPG is configured to use Chutney's onion keyserver # features/step_definitions/torified_gnupg.rb:212 03:03:50.579967623: calling as amnesia: gsettings get org.gnome.crypto.pgp keyservers 03:03:50.665809306: call returned: [0, "['hkp://jirk5u4osbsr34t5.onion']\n", ""] 03:03:50.667770018: calling as amnesia: gsettings set org.gnome.crypto.pgp keyservers "['hkp://gfjm7cxtzz46bihv.onion:5858']" 03:03:50.755585450: call returned: [0, "", ""] And Seahorse is configured to use Chutney's onion keyserver # features/step_definitions/torified_gnupg.rb:212 Scenario: Fetching OpenPGP keys using GnuPG should work and be done over Tor. # features/torified_gnupg.feature:15 03:03:50.759127896: calling as amnesia: timeout 120 gpg --batch --recv-key '10CC5BC7' 03:03:51.509388770: call returned: [0, "", "gpg: key 0x1D84CCF010CC5BC7: public key \"anonym \" imported\ngpg: no ultimately trusted keys found\ngpg: Total number processed: 1\ngpg: imported: 1\n"] When I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI # features/step_definitions/torified_gnupg.rb:60 And the GnuPG fetch is successful # features/step_definitions/torified_gnupg.rb:81 03:03:51.511458714: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:03:51.606267945: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] Then the "10CC5BC7" key is in the live user's public keyring # features/step_definitions/torified_gnupg.rb:91 03:03:51.607750513: calling as amnesia: gpg-connect-agent --dirmngr "keyserver --hosttable" /bye 03:03:51.731282209: call returned: [0, "S # hosttable (idx, ipv6, ipv4, dead, name, time):\nS # 0 O gfjm7cxtzz46bihv.onion\nOK\n", ""] 03:03:51.731404770: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:03:51.755331233: read complete And GnuPG's dirmngr uses the configured keyserver # features/step_definitions/torified_gnupg.rb:250 Scenario: Fetching OpenPGP keys using Seahorse should work and be done over Tor. # features/torified_gnupg.feature:21 03:03:53.613205110: calling as root: echo 'hello?' 03:03:53.742751828: call returned: [0, "hello?\n", ""] 03:03:54.466646824: calling as root: nmcli device show eth0 03:03:54.486661830: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:03:54.756505233: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:03:54.766833448: calling as root: systemctl --quiet is-active tor@default.service 03:03:54.939779276: call returned: [0, "", ""] 03:03:54.939877073: calling as root: systemctl stop tor@default.service 03:03:55.112614186: call returned: [0, "", ""] 03:03:55.112737653: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:03:55.293349615: call returned: [0, "", ""] 03:03:55.293550201: calling as root: date -s '@1523729939' 03:03:55.440995406: call returned: [0, "Sat Apr 14 18:18:59 UTC 2018\n", ""] 03:03:55.441109926: calling as root: systemctl start tor@default.service 03:03:56.204242685: call returned: [0, "", ""] 03:03:56.204472297: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:56.360613910: call returned: [3, "", ""] 03:03:57.360914158: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:57.520814991: call returned: [3, "", ""] 03:03:58.521156549: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:58.679964523: call returned: [3, "", ""] 03:03:59.680339785: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:03:59.846866225: call returned: [0, "", ""] 03:03:59.847535968: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:03:59.938930359: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:03:59.961949238: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:03:59.987769168: read complete 03:03:59.987975487: calling as root: sed -i 's/jirk5u4osbsr34t5.onion/gfjm7cxtzz46bihv.onion:5858/' '/home/amnesia/.gnupg/dirmngr.conf' 03:04:00.117714412: call returned: [0, "", ""] 03:04:00.118613215: calling as amnesia: gsettings get org.gnome.crypto.pgp keyservers 03:04:00.226876980: call returned: [0, "['hkp://jirk5u4osbsr34t5.onion']\n", ""] 03:04:00.227245011: calling as amnesia: gsettings set org.gnome.crypto.pgp keyservers "['hkp://gfjm7cxtzz46bihv.onion:5858']" 03:04:00.323551991: call returned: [0, "", ""] 03:04:00.365109648: calling as amnesia: xdotool key Super 03:04:00.526246977: call returned: [0, "", ""] 03:04:02.125023583: [log] TYPE "Passwords and Keys" [log] ( Ctrl ) TYPE "#ENTER." 03:04:04.661888149: [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:04:04.662683962: calling as root: pidof -x -o '%PPID' seahorse 03:04:04.879708835: call returned: [0, "8626\n", ""] 03:04:06.226376619: [log] CLICK on L(303,141)@S(0)[0,0 1024x768] 03:04:07.408808123: [log] CLICK on L(358,173)@S(0)[0,0 1024x768] 03:04:08.318191247: [log] TYPE "10CC5BC7#ENTER." 03:04:13.934228430: [log] CLICK on L(284,46)@S(0)[0,0 1024x768] 03:04:14.696700586: [log] CLICK on L(18,158)@S(0)[0,0 1024x768] 03:04:15.528826801: [log] CLICK on L(53,113)@S(0)[0,0 1024x768] 03:04:15.529088254: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:15.641406318: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:16.641826775: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:16.736334709: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:17.736792114: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:17.827214920: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:18.827686024: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:18.926592758: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:19.927064048: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:20.009134944: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:21.009540325: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:21.089525680: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:22.090061276: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:22.187994980: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] When I fetch the "10CC5BC7" OpenPGP key using Seahorse # features/step_definitions/torified_gnupg.rb:164 03:04:28.520038324: calling as root: pidof -x -o '%PPID' seahorse 03:04:28.691111347: call returned: [0, "8626\n", ""] And the Seahorse operation is successful # features/step_definitions/torified_gnupg.rb:86 03:04:28.691924773: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:28.770891515: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] Then the "10CC5BC7" key is in the live user's public keyring # features/step_definitions/torified_gnupg.rb:91 Scenario: Fetching OpenPGP keys using Seahorse via the OpenPGP Applet should work and be done over Tor. # features/torified_gnupg.feature:26 03:04:30.683281756: calling as root: echo 'hello?' 03:04:30.823229621: call returned: [0, "hello?\n", ""] 03:04:31.546611313: calling as root: nmcli device show eth0 03:04:31.557756125: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:04:31.805943458: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:04:31.816683789: calling as root: systemctl --quiet is-active tor@default.service 03:04:31.945616510: call returned: [0, "", ""] 03:04:31.945774004: calling as root: systemctl stop tor@default.service 03:04:32.109840354: call returned: [0, "", ""] 03:04:32.110002001: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:04:32.278108372: call returned: [0, "", ""] 03:04:32.278256147: calling as root: date -s '@1523729976' 03:04:32.449904890: call returned: [0, "Sat Apr 14 18:19:36 UTC 2018\n", ""] 03:04:32.450119123: calling as root: systemctl start tor@default.service 03:04:33.185092501: call returned: [0, "", ""] 03:04:33.185248186: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:04:33.360630383: call returned: [3, "", ""] 03:04:34.360885751: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:04:34.548294530: call returned: [3, "", ""] 03:04:35.548553936: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:04:35.740843098: call returned: [3, "", ""] 03:04:36.741227819: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:04:36.905974128: call returned: [0, "", ""] 03:04:36.906609321: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:36.987065849: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:37.011451696: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:04:37.038635307: read complete 03:04:37.038851198: calling as root: sed -i 's/jirk5u4osbsr34t5.onion/gfjm7cxtzz46bihv.onion:5858/' '/home/amnesia/.gnupg/dirmngr.conf' 03:04:37.173311350: call returned: [0, "", ""] 03:04:37.174177068: calling as amnesia: gsettings get org.gnome.crypto.pgp keyservers 03:04:37.260240278: call returned: [0, "['hkp://jirk5u4osbsr34t5.onion']\n", ""] 03:04:37.260554480: calling as amnesia: gsettings set org.gnome.crypto.pgp keyservers "['hkp://gfjm7cxtzz46bihv.onion:5858']" 03:04:37.345678960: call returned: [0, "", ""] 03:04:38.721150617: [log] CLICK on L(699,12)@S(0)[0,0 1024x768] 03:04:39.885896570: [log] CLICK on L(775,100)@S(0)[0,0 1024x768] 03:04:42.427002018: [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:04:42.427339869: calling as root: pidof -x -o '%PPID' seahorse 03:04:42.611372034: call returned: [0, "8600\n", ""] 03:04:45.032476942: [log] CLICK on L(303,141)@S(0)[0,0 1024x768] 03:04:45.032627582: [log] CLICK on L(358,173)@S(0)[0,0 1024x768] 03:04:45.924402364: [log] TYPE "10CC5BC7#ENTER." 03:04:56.711294159: [log] CLICK on L(284,46)@S(0)[0,0 1024x768] 03:04:58.219143767: [log] CLICK on L(18,158)@S(0)[0,0 1024x768] [log] CLICK on L(53,113)@S(0)[0,0 1024x768] 03:04:58.219483366: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:58.309048475: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:04:59.309485721: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:04:59.405628654: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:05:00.406158824: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:00.504880505: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] When I fetch the "10CC5BC7" OpenPGP key using Seahorse via the OpenPGP Applet # features/step_definitions/torified_gnupg.rb:164 03:05:07.168815711: calling as root: pidof -x -o '%PPID' seahorse 03:05:07.314785730: call returned: [0, "8600\n", ""] And the Seahorse operation is successful # features/step_definitions/torified_gnupg.rb:86 03:05:07.315604779: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:07.417020755: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] Then the "10CC5BC7" key is in the live user's public keyring # features/step_definitions/torified_gnupg.rb:91 Scenario: Syncing OpenPGP keys using Seahorse should work and be done over Tor. # features/torified_gnupg.feature:31 03:05:09.366468839: calling as root: echo 'hello?' 03:05:09.533810276: call returned: [0, "hello?\n", ""] 03:05:10.256210883: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:05:10.256351746: calling as root: nmcli device show eth0 03:05:10.531198386: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:05:10.545608938: calling as root: systemctl --quiet is-active tor@default.service 03:05:10.702545409: call returned: [0, "", ""] 03:05:10.702653645: calling as root: systemctl stop tor@default.service 03:05:10.933770884: call returned: [0, "", ""] 03:05:10.933968297: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:05:11.090986561: call returned: [0, "", ""] 03:05:11.091140709: calling as root: date -s '@1523730015' 03:05:11.302777371: call returned: [0, "Sat Apr 14 18:20:15 UTC 2018\n", ""] 03:05:11.302908267: calling as root: systemctl start tor@default.service 03:05:12.019665926: call returned: [0, "", ""] 03:05:12.019889031: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:12.157401357: call returned: [3, "", ""] 03:05:13.157713108: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:13.351637863: call returned: [3, "", ""] 03:05:14.352005558: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:14.509742764: call returned: [3, "", ""] 03:05:15.509935097: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:15.714633225: call returned: [0, "", ""] 03:05:15.715378889: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:15.782476295: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:05:15.806209768: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:05:15.832648809: read complete 03:05:15.832792755: calling as root: sed -i 's/jirk5u4osbsr34t5.onion/gfjm7cxtzz46bihv.onion:5858/' '/home/amnesia/.gnupg/dirmngr.conf' 03:05:15.993108155: call returned: [0, "", ""] 03:05:15.993996648: calling as amnesia: gsettings get org.gnome.crypto.pgp keyservers 03:05:16.081492460: call returned: [0, "['hkp://jirk5u4osbsr34t5.onion']\n", ""] 03:05:16.081771551: calling as amnesia: gsettings set org.gnome.crypto.pgp keyservers "['hkp://gfjm7cxtzz46bihv.onion:5858']" 03:05:16.171319754: call returned: [0, "", ""] 03:05:16.172729223: calling as amnesia: timeout 120 gpg --batch --keyserver-options import-clean --recv-key '10CC5BC7' 03:05:16.878312596: call returned: [0, "", "gpg: key 0x1D84CCF010CC5BC7: public key \"anonym \" imported\ngpg: no ultimately trusted keys found\ngpg: Total number processed: 1\ngpg: imported: 1\n"] Given I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI without any signatures # features/step_definitions/torified_gnupg.rb:60 And the GnuPG fetch is successful # features/step_definitions/torified_gnupg.rb:81 03:05:16.879771351: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:16.964589897: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] And the "10CC5BC7" key is in the live user's public keyring # features/step_definitions/torified_gnupg.rb:91 03:05:16.966196287: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:17.085234364: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] But the key "10CC5BC7" has only 2 signatures # features/step_definitions/torified_gnupg.rb:30 03:05:17.121973893: calling as amnesia: xdotool key Super 03:05:17.310751017: call returned: [0, "", ""] 03:05:18.880266493: [log] TYPE "Passwords and Keys" 03:05:18.943351190: [log] ( Ctrl ) TYPE "#ENTER." When I start Seahorse # features/step_definitions/torified_gnupg.rb:99 Then Seahorse has opened # features/step_definitions/torified_gnupg.rb:104 03:05:20.758238200: calling as root: pidof -x -o '%PPID' seahorse 03:05:20.980131752: call returned: [0, "8668\n", ""] 03:05:21.746171152: [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:05:21.747207982: calling as root: pidof -x -o '%PPID' seahorse 03:05:21.929697259: call returned: [0, "8668\n", ""] 03:05:23.269399569: [log] CLICK on L(250,143)@S(0)[0,0 1024x768] 03:05:24.459873692: [log] CLICK on L(299,257)@S(0)[0,0 1024x768] 03:05:24.969088174: [log] ( Alt ) TYPE "p" And I enable key synchronization in Seahorse # features/step_definitions/torified_gnupg.rb:108 03:05:25.827822502: calling as root: pidof -x -o '%PPID' seahorse 03:05:25.838506703: [log] TYPE "#DOWN." [log] ( Alt ) TYPE "c" [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:05:26.077260892: call returned: [0, "8668\n", ""] 03:05:27.337569898: [log] CLICK on L(303,141)@S(0)[0,0 1024x768] 03:05:28.514538851: [log] CLICK on L(372,201)@S(0)[0,0 1024x768] 03:05:29.018991626: [log] ( Alt ) TYPE "s" 03:05:29.019222983: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:29.225380135: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:05:32.556203874: calling as root: pidof -x -o '%PPID' seahorse 03:05:32.749140960: call returned: [0, "8668\n", ""] 03:05:33.749484433: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:33.859505406: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:05:37.190248222: calling as root: pidof -x -o '%PPID' seahorse 03:05:37.348125066: call returned: [0, "8668\n", ""] 03:05:38.348449903: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:38.523345951: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsig 0x03CF4A0AB3C79A63 2014-07-09 [User ID not found]\nsig 0x42E86A2A11F48D36 2017-03-27 [User ID not found]\nsig 0xA14B4DBC6DCDD53C 2017-12-29 [User ID not found]\nsig 0xB14BB0C38D861CF1 2014-08-17 [User ID not found]\nsig 0x23CF2E3D254514F7 2015-02-05 [User ID not found]\nsig 0xC218525819F78451 2014-07-12 [User ID not found]\nsig 0xBACE15D2A57498FF 2013-08-07 [User ID not found]\nsig 0x9768FD3CC48815F2 2014-07-06 [User ID not found]\nsig 0x9E5B04F430F80A2C 2014-12-07 [User ID not found]\nsig 0xC92949B8A63BB098 2017-01-12 [User ID not found]\nsig 0xE9E28DEA00AA5556 2017-07-10 [User ID not found]\nsig 0x787963BC287ED166 2017-01-04 [User ID not found]\nsig 0xC0C076132FFA7695 2018-01-01 [User ID not found]\nsig 3 0x1D84CCF010CC5BC7 2013-08-07 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-01-14 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-09 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-25 anonym \nsig 3 0x1D84CCF010CC5BC7 2016-08-14 anonym \nsig 0xAECEF546EC8B0260 2014-07-06 [User ID not found]\nsig 2 P X 0xA993E7156E0E9923 2017-03-28 [User ID not found]\nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:05:41.853764167: calling as root: pidof -x -o '%PPID' seahorse 03:05:42.038861039: call returned: [0, "8668\n", ""] And I synchronize keys in Seahorse # features/step_definitions/torified_gnupg.rb:118 03:05:45.369817154: calling as root: pidof -x -o '%PPID' seahorse 03:05:45.523275812: call returned: [0, "8668\n", ""] And the Seahorse operation is successful # features/step_definitions/torified_gnupg.rb:86 03:05:45.524391298: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:45.712624053: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsig 0x03CF4A0AB3C79A63 2014-07-09 [User ID not found]\nsig 0x42E86A2A11F48D36 2017-03-27 [User ID not found]\nsig 0xA14B4DBC6DCDD53C 2017-12-29 [User ID not found]\nsig 0xB14BB0C38D861CF1 2014-08-17 [User ID not found]\nsig 0x23CF2E3D254514F7 2015-02-05 [User ID not found]\nsig 0xC218525819F78451 2014-07-12 [User ID not found]\nsig 0xBACE15D2A57498FF 2013-08-07 [User ID not found]\nsig 0x9768FD3CC48815F2 2014-07-06 [User ID not found]\nsig 0x9E5B04F430F80A2C 2014-12-07 [User ID not found]\nsig 0xC92949B8A63BB098 2017-01-12 [User ID not found]\nsig 0xE9E28DEA00AA5556 2017-07-10 [User ID not found]\nsig 0x787963BC287ED166 2017-01-04 [User ID not found]\nsig 0xC0C076132FFA7695 2018-01-01 [User ID not found]\nsig 3 0x1D84CCF010CC5BC7 2013-08-07 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-01-14 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-09 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-25 anonym \nsig 3 0x1D84CCF010CC5BC7 2016-08-14 anonym \nsig 0xAECEF546EC8B0260 2014-07-06 [User ID not found]\nsig 2 P X 0xA993E7156E0E9923 2017-03-28 [User ID not found]\nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] Then the key "10CC5BC7" has more than 2 signatures # features/step_definitions/torified_gnupg.rb:30 Scenario: Syncing OpenPGP keys using Seahorse started from the OpenPGP Applet should work and be done over Tor. # features/torified_gnupg.feature:43 03:05:48.244247356: calling as root: echo 'hello?' 03:05:48.397708047: call returned: [0, "hello?\n", ""] 03:05:49.120855925: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:05:49.121081983: calling as root: nmcli device show eth0 03:05:49.388255946: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:05:49.399062950: calling as root: systemctl --quiet is-active tor@default.service 03:05:49.573803608: call returned: [0, "", ""] 03:05:49.573948286: calling as root: systemctl stop tor@default.service 03:05:49.784070207: call returned: [0, "", ""] 03:05:49.784285580: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:05:49.942524586: call returned: [0, "", ""] 03:05:49.942643739: calling as root: date -s '@1523730054' 03:05:50.134005353: call returned: [0, "Sat Apr 14 18:20:54 UTC 2018\n", ""] 03:05:50.134107230: calling as root: systemctl start tor@default.service 03:05:50.859271705: call returned: [0, "", ""] 03:05:50.859458933: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:51.023883412: call returned: [3, "", ""] 03:05:52.024097728: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:52.186567637: call returned: [3, "", ""] 03:05:53.186869476: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:53.353272875: call returned: [3, "", ""] 03:05:54.353600612: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:05:54.513935286: call returned: [0, "", ""] 03:05:54.514568498: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:54.619626898: call returned: [2, "", "gpg: error reading key: No public key\n"] 03:05:54.645349139: opening file /home/amnesia/.gnupg/dirmngr.conf in 'read' mode 03:05:54.670647648: read complete 03:05:54.670777033: calling as root: sed -i 's/jirk5u4osbsr34t5.onion/gfjm7cxtzz46bihv.onion:5858/' '/home/amnesia/.gnupg/dirmngr.conf' 03:05:54.815126750: call returned: [0, "", ""] 03:05:54.815929207: calling as amnesia: gsettings get org.gnome.crypto.pgp keyservers 03:05:54.897401857: call returned: [0, "['hkp://jirk5u4osbsr34t5.onion']\n", ""] 03:05:54.897765100: calling as amnesia: gsettings set org.gnome.crypto.pgp keyservers "['hkp://gfjm7cxtzz46bihv.onion:5858']" 03:05:55.003547455: call returned: [0, "", ""] 03:05:55.004199534: calling as amnesia: timeout 120 gpg --batch --keyserver-options import-clean --recv-key '10CC5BC7' 03:05:56.495137296: call returned: [0, "", "gpg: key 0x1D84CCF010CC5BC7: public key \"anonym \" imported\ngpg: no ultimately trusted keys found\ngpg: Total number processed: 1\ngpg: imported: 1\n"] Given I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI without any signatures # features/step_definitions/torified_gnupg.rb:60 And the GnuPG fetch is successful # features/step_definitions/torified_gnupg.rb:81 03:05:56.496626379: calling as amnesia: gpg --batch --list-keys '10CC5BC7' 03:05:56.592924457: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\n\n", ""] And the "10CC5BC7" key is in the live user's public keyring # features/step_definitions/torified_gnupg.rb:91 03:05:56.593714140: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:05:56.707446323: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] But the key "10CC5BC7" has only 2 signatures # features/step_definitions/torified_gnupg.rb:30 03:05:57.964976772: [log] CLICK on L(699,12)@S(0)[0,0 1024x768] 03:05:59.138044852: [log] CLICK on L(775,100)@S(0)[0,0 1024x768] When I start Seahorse via the OpenPGP Applet # features/step_definitions/torified_gnupg.rb:99 Then Seahorse has opened # features/step_definitions/torified_gnupg.rb:104 03:06:00.952040459: calling as root: pidof -x -o '%PPID' seahorse 03:06:01.123366999: call returned: [0, "8644\n", ""] 03:06:01.879639355: [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:06:01.879943590: calling as root: pidof -x -o '%PPID' seahorse 03:06:02.046037574: call returned: [0, "8644\n", ""] 03:06:03.302280598: [log] CLICK on L(250,143)@S(0)[0,0 1024x768] 03:06:04.491654730: [log] CLICK on L(299,257)@S(0)[0,0 1024x768] 03:06:05.036207321: [log] ( Alt ) TYPE "p" [log] TYPE "#DOWN." And I enable key synchronization in Seahorse # features/step_definitions/torified_gnupg.rb:108 03:06:05.857039640: [log] ( Alt ) TYPE "c" [log] CLICK on L(510,110)@S(0)[0,0 1024x768] 03:06:05.857424295: calling as root: pidof -x -o '%PPID' seahorse 03:06:06.017734801: call returned: [0, "8644\n", ""] 03:06:07.272742637: [log] CLICK on L(303,141)@S(0)[0,0 1024x768] 03:06:08.446184804: [log] CLICK on L(372,201)@S(0)[0,0 1024x768] 03:06:08.959357262: [log] ( Alt ) TYPE "s" 03:06:08.959557543: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:06:09.164250474: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:06:12.497230485: calling as root: pidof -x -o '%PPID' seahorse 03:06:12.646429835: call returned: [0, "8644\n", ""] 03:06:13.646735332: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:06:13.761452843: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:06:17.091298349: calling as root: pidof -x -o '%PPID' seahorse 03:06:17.309284294: call returned: [0, "8644\n", ""] 03:06:18.309509221: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:06:18.488155617: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsig 0x03CF4A0AB3C79A63 2014-07-09 [User ID not found]\nsig 0x42E86A2A11F48D36 2017-03-27 [User ID not found]\nsig 0xA14B4DBC6DCDD53C 2017-12-29 [User ID not found]\nsig 0xB14BB0C38D861CF1 2014-08-17 [User ID not found]\nsig 0x23CF2E3D254514F7 2015-02-05 [User ID not found]\nsig 0xC218525819F78451 2014-07-12 [User ID not found]\nsig 0xBACE15D2A57498FF 2013-08-07 [User ID not found]\nsig 0x9768FD3CC48815F2 2014-07-06 [User ID not found]\nsig 0x9E5B04F430F80A2C 2014-12-07 [User ID not found]\nsig 0xC92949B8A63BB098 2017-01-12 [User ID not found]\nsig 0xE9E28DEA00AA5556 2017-07-10 [User ID not found]\nsig 0x787963BC287ED166 2017-01-04 [User ID not found]\nsig 0xC0C076132FFA7695 2018-01-01 [User ID not found]\nsig 3 0x1D84CCF010CC5BC7 2013-08-07 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-01-14 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-09 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-25 anonym \nsig 3 0x1D84CCF010CC5BC7 2016-08-14 anonym \nsig 0xAECEF546EC8B0260 2014-07-06 [User ID not found]\nsig 2 P X 0xA993E7156E0E9923 2017-03-28 [User ID not found]\nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] 03:06:21.821293688: calling as root: pidof -x -o '%PPID' seahorse 03:06:21.969471324: call returned: [0, "8644\n", ""] And I synchronize keys in Seahorse # features/step_definitions/torified_gnupg.rb:118 03:06:25.302487161: calling as root: pidof -x -o '%PPID' seahorse 03:06:25.466527317: call returned: [0, "8644\n", ""] And the Seahorse operation is successful # features/step_definitions/torified_gnupg.rb:86 03:06:25.467359442: calling as amnesia: gpg --batch --list-sigs 10CC5BC7 03:06:25.638300258: call returned: [0, "pub rsa4096/0x1D84CCF010CC5BC7 2012-08-21 [SC] [expires: 2018-08-06]\n Key fingerprint = 52B6 9F10 A3B0 785A D05A FB47 1D84 CCF0 10CC 5BC7\nuid [ unknown] anonym \nsig 3 0x1D84CCF010CC5BC7 2017-08-06 anonym \nsig 0x03CF4A0AB3C79A63 2014-07-09 [User ID not found]\nsig 0x42E86A2A11F48D36 2017-03-27 [User ID not found]\nsig 0xA14B4DBC6DCDD53C 2017-12-29 [User ID not found]\nsig 0xB14BB0C38D861CF1 2014-08-17 [User ID not found]\nsig 0x23CF2E3D254514F7 2015-02-05 [User ID not found]\nsig 0xC218525819F78451 2014-07-12 [User ID not found]\nsig 0xBACE15D2A57498FF 2013-08-07 [User ID not found]\nsig 0x9768FD3CC48815F2 2014-07-06 [User ID not found]\nsig 0x9E5B04F430F80A2C 2014-12-07 [User ID not found]\nsig 0xC92949B8A63BB098 2017-01-12 [User ID not found]\nsig 0xE9E28DEA00AA5556 2017-07-10 [User ID not found]\nsig 0x787963BC287ED166 2017-01-04 [User ID not found]\nsig 0xC0C076132FFA7695 2018-01-01 [User ID not found]\nsig 3 0x1D84CCF010CC5BC7 2013-08-07 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-01-14 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-09 anonym \nsig 3 0x1D84CCF010CC5BC7 2015-08-25 anonym \nsig 3 0x1D84CCF010CC5BC7 2016-08-14 anonym \nsig 0xAECEF546EC8B0260 2014-07-06 [User ID not found]\nsig 2 P X 0xA993E7156E0E9923 2017-03-28 [User ID not found]\nsub rsa4096/0x839D3BF32EA80502 2012-08-21 [E] [expires: 2018-08-06]\nsig 0x1D84CCF010CC5BC7 2017-08-06 anonym \n\n", ""] Then the key "10CC5BC7" has more than 2 signatures # features/step_definitions/torified_gnupg.rb:30 @product @check_tor_leaks Feature: Various checks for torified software Background: # features/torified_misc.feature:4 03:06:28.159098500: calling as root: echo 'hello?' 03:06:28.309661376: call returned: [0, "hello?\n", ""] 03:06:29.032049186: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:06:29.032148070: calling as root: nmcli device show eth0 03:06:29.327774069: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:06:29.338444716: calling as root: systemctl --quiet is-active tor@default.service 03:06:29.530342652: call returned: [0, "", ""] 03:06:29.530441544: calling as root: systemctl stop tor@default.service 03:06:29.711368939: call returned: [0, "", ""] 03:06:29.711467153: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:06:29.867903133: call returned: [0, "", ""] 03:06:29.868030928: calling as root: date -s '@1523730093' 03:06:30.037821205: call returned: [0, "Sat Apr 14 18:21:33 UTC 2018\n", ""] 03:06:30.037968517: calling as root: systemctl start tor@default.service 03:06:30.800820265: call returned: [0, "", ""] 03:06:30.801067402: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:30.961898520: call returned: [3, "", ""] 03:06:31.962231625: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:32.132200087: call returned: [3, "", ""] 03:06:33.132514469: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:33.318820552: call returned: [3, "", ""] 03:06:34.319115560: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:34.481735336: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 Scenario: wget(1) should work for HTTP and go through Tor. # features/torified_misc.feature:7 03:06:34.484173189: calling as amnesia: wget -O - 'http://example.com/' 03:06:35.050103294: call returned: [0, "\n\n\n Example Domain\n\n \n \n \n \n\n\n\n
\n

Example Domain

\n

This domain is established to be used for illustrative examples in documents. You may use this\n domain in examples without prior coordination or asking for permission.

\n

More information...

\n
\n\n\n", "--2018-04-14 18:21:37-- http://example.com/\nResolving example.com (example.com)... 93.184.216.34\nConnecting to example.com (example.com)|93.184.216.34|:80... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 1270 (1.2K) [text/html]\nSaving to: ‘STDOUT’\n\n 0K . 100% 28.4K=0.04s\n\n2018-04-14 18:21:37 (28.4 KB/s) - written to stdout [1270/1270]\n\n"] When I wget "http://example.com/" to stdout # features/step_definitions/torified_misc.rb:14 Then the wget command is successful # features/step_definitions/torified_misc.rb:35 And the wget standard output contains "Example Domain" # features/step_definitions/torified_misc.rb:44 Scenario: wget(1) should work for HTTPS and go through Tor. # features/torified_misc.feature:12 03:06:36.945412573: calling as root: echo 'hello?' 03:06:37.105832184: call returned: [0, "hello?\n", ""] 03:06:37.830960871: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:06:37.831079477: calling as root: nmcli device show eth0 03:06:38.111923430: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:06:38.122683799: calling as root: systemctl --quiet is-active tor@default.service 03:06:38.275835894: call returned: [0, "", ""] 03:06:38.275929061: calling as root: systemctl stop tor@default.service 03:06:38.471486114: call returned: [0, "", ""] 03:06:38.471587689: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:06:38.670613898: call returned: [0, "", ""] 03:06:38.670794865: calling as root: date -s '@1523730102' 03:06:38.838176451: call returned: [0, "Sat Apr 14 18:21:42 UTC 2018\n", ""] 03:06:38.838277650: calling as root: systemctl start tor@default.service 03:06:39.621564756: call returned: [0, "", ""] 03:06:39.621750896: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:39.803075722: call returned: [3, "", ""] 03:06:40.803307624: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:40.990653723: call returned: [3, "", ""] 03:06:41.991016683: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:42.162751510: call returned: [3, "", ""] 03:06:43.164528278: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:43.324287599: call returned: [0, "", ""] 03:06:43.325646586: calling as amnesia: wget -O - 'https://example.com/' 03:06:44.172335431: call returned: [0, "\n\n\n Example Domain\n\n \n \n \n \n\n\n\n
\n

Example Domain

\n

This domain is established to be used for illustrative examples in documents. You may use this\n domain in examples without prior coordination or asking for permission.

\n

More information...

\n
\n\n\n", "--2018-04-14 18:21:46-- https://example.com/\nResolving example.com (example.com)... 93.184.216.34\nConnecting to example.com (example.com)|93.184.216.34|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 1270 (1.2K) [text/html]\nSaving to: ‘STDOUT’\n\n 0K . 100% 30.2K=0.04s\n\n2018-04-14 18:21:47 (30.2 KB/s) - written to stdout [1270/1270]\n\n"] When I wget "https://example.com/" to stdout # features/step_definitions/torified_misc.rb:14 Then the wget command is successful # features/step_definitions/torified_misc.rb:35 And the wget standard output contains "Example Domain" # features/step_definitions/torified_misc.rb:44 Scenario: wget(1) with tricky options should work for HTTP and go through Tor. # features/torified_misc.feature:17 03:06:46.040506371: calling as root: echo 'hello?' 03:06:46.183464916: call returned: [0, "hello?\n", ""] 03:06:46.907215284: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:06:46.907340522: calling as root: nmcli device show eth0 03:06:47.189541576: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:06:47.200197285: calling as root: systemctl --quiet is-active tor@default.service 03:06:47.351918301: call returned: [0, "", ""] 03:06:47.352022805: calling as root: systemctl stop tor@default.service 03:06:47.553641958: call returned: [0, "", ""] 03:06:47.553797691: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:06:47.726664051: call returned: [0, "", ""] 03:06:47.726805077: calling as root: date -s '@1523730111' 03:06:47.879232749: call returned: [0, "Sat Apr 14 18:21:51 UTC 2018\n", ""] 03:06:47.879336343: calling as root: systemctl start tor@default.service 03:06:48.706911857: call returned: [0, "", ""] 03:06:48.707115201: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:48.859158310: call returned: [3, "", ""] 03:06:49.859490922: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:50.009891439: call returned: [3, "", ""] 03:06:51.010194142: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:51.170755252: call returned: [3, "", ""] 03:06:52.170990355: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:52.347663022: call returned: [0, "", ""] 03:06:52.735783094: calling as amnesia: wget --spider --header="Host: dl.amnesia.boum.org" -O - 'http://198.145.21.9/tails/stable/' 03:06:53.815550477: call returned: [0, "", "Spider mode enabled. Check if remote file exists.\n--2018-04-14 18:21:56-- http://198.145.21.9/tails/stable/\nConnecting to 198.145.21.9:80... connected.\nHTTP request sent, awaiting response... 301 Moved Permanently\nLocation: https://mirrors.edge.kernel.org/tails/stable/ [following]\nSpider mode enabled. Check if remote file exists.\n--2018-04-14 18:21:56-- https://mirrors.edge.kernel.org/tails/stable/\nResolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.101.1\nConnecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.101.1|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: unspecified [text/html]\nRemote file exists and could contain further links,\nbut recursion is disabled -- not retrieving.\n\n"] When I wget "some Tails mirror" to stdout with the '--spider --header="Host: dl.amnesia.boum.org"' options # features/step_definitions/torified_misc.rb:14 Resolved dl.amnesia.boum.org to 198.145.21.9 Then the wget command is successful # features/step_definitions/torified_misc.rb:35 Scenario: whois(1) should work and go through Tor. # features/torified_misc.feature:21 03:06:55.648576599: calling as root: echo 'hello?' 03:06:55.774111290: call returned: [0, "hello?\n", ""] 03:06:56.500728812: calling as root: nmcli device show eth0 03:06:56.513680181: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:06:56.734453931: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:06:56.746912929: calling as root: systemctl --quiet is-active tor@default.service 03:06:56.921524063: call returned: [0, "", ""] 03:06:56.921691705: calling as root: systemctl stop tor@default.service 03:06:57.101284404: call returned: [0, "", ""] 03:06:57.101381441: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:06:57.257718564: call returned: [0, "", ""] 03:06:57.257851108: calling as root: date -s '@1523730121' 03:06:57.430460689: call returned: [0, "Sat Apr 14 18:22:01 UTC 2018\n", ""] 03:06:57.430573030: calling as root: systemctl start tor@default.service 03:06:58.280785534: call returned: [0, "", ""] 03:06:58.281012492: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:58.492318933: call returned: [3, "", ""] 03:06:59.492617177: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:06:59.709092048: call returned: [3, "", ""] 03:07:00.709471114: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:07:00.887508089: call returned: [3, "", ""] 03:07:01.887835054: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:07:02.060391254: call returned: [0, "", ""] 03:07:02.061751631: calling as amnesia: whois 'torproject.org' 03:07:02.893253693: call returned: [0, "Domain Name: TORPROJECT.ORG\nRegistry Domain ID: D130971538-LROR\nRegistrar WHOIS Server: whois.joker.com\nRegistrar URL: http://www.joker.com\nUpdated Date: 2017-06-29T07:34:35Z\nCreation Date: 2006-10-17T22:02:50Z\nRegistry Expiry Date: 2018-10-17T22:02:50Z\nRegistrar Registration Expiration Date:\nRegistrar: CSL Computer Service Langenbach GmbH d/b/a joker.com a German GmbH\nRegistrar IANA ID: 113\nRegistrar Abuse Contact Email: abuse@joker.com\nRegistrar Abuse Contact Phone: +49.21186767447\nReseller:\nDomain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\nRegistry Registrant ID: C23324768-LROR\nRegistrant Name: - -\nRegistrant Organization: The Tor Project, Inc\nRegistrant Street: 217 1st Ave S #4903\nRegistrant City: Seattle\nRegistrant State/Province: WA\nRegistrant Postal Code: 98194\nRegistrant Country: US\nRegistrant Phone: +1.2064203471\nRegistrant Phone Ext:\nRegistrant Fax:\nRegistrant Fax Ext:\nRegistrant Email: hostmaster@torproject.org\nRegistry Admin ID: C99348838-LROR\nAdmin Name: The Tor Project\nAdmin Organization: The Tor Project\nAdmin Street: 217 1st Ave S #4903\nAdmin City: Seattle\nAdmin State/Province: WA\nAdmin Postal Code: 98194\nAdmin Country: US\nAdmin Phone: +1.2064203471\nAdmin Phone Ext:\nAdmin Fax:\nAdmin Fax Ext:\nAdmin Email: hostmaster@torproject.org\nRegistry Tech ID: C99348838-LROR\nTech Name: The Tor Project\nTech Organization: The Tor Project\nTech Street: 217 1st Ave S #4903\nTech City: Seattle\nTech State/Province: WA\nTech Postal Code: 98194\nTech Country: US\nTech Phone: +1.2064203471\nTech Phone Ext:\nTech Fax:\nTech Fax Ext:\nTech Email: hostmaster@torproject.org\nName Server: NS1.TORPROJECT.ORG\nName Server: NS3.TORPROJECT.ORG\nName Server: NS2.TORPROJECT.ORG\nName Server: NS4.TORPROJECT.ORG\nName Server: NS5.TORPROJECT.ORG\nDNSSEC: signedDelegation\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/\n>>> Last update of WHOIS database: 2018-04-14T18:21:06Z <<<\n\nFor more information on Whois status codes, please visit https://icann.org/epp\n\nAccess to Public Interest Registry WHOIS information is provided to assist persons in determining the contents of a domain name registration record in the Public Interest Registry registry database. The data in this record is provided by Public Interest Registry for informational purposes only, and Public Interest Registry does not guarantee its accuracy. This service is intended only for query-based access. You agree that you will use this data only for lawful purposes and that, under no circumstances will you use this data to: (a) allow, enable, or otherwise support the transmission by e-mail, telephone, or facsimile of mass unsolicited, commercial advertising or solicitations to entities other than the data recipient's own existing customers; or (b) enable high volume, automated, electronic processes that send queries or data to the systems of Registry Operator, a Registrar, or Afilias except as reasonably necessary to register domain names or modify existing registrations. All rights reserved. Public Interest Registry reserves the right to modify these terms at any time. By submitting this query, you agree to abide by this policy.\n", ""] When I query the whois directory service for "torproject.org" # features/step_definitions/torified_misc.rb:3 Then the whois command is successful # features/step_definitions/torified_misc.rb:35 Then the whois standard output contains "The Tor Project" # features/step_definitions/torified_misc.rb:44 @product Feature: Using Totem As a Tails user I want to watch local and remote videos in Totem And AppArmor should prevent Totem from doing dangerous things And all Internet traffic should flow only through Tor Background: # features/totem.feature:8 Given I create sample videos # features/step_definitions/totem.rb:1 Scenario: Watching a MP4 video stored on the non-persistent filesystem # features/totem.feature:11 03:07:05.559702425: calling as root: echo 'hello?' 03:07:05.801924612: call returned: [0, "hello?\n", ""] 03:07:06.524797050: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:07:06.524943537: calling as root: nmcli device show eth0 03:07:06.818061828: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 03:07:06.828425795: calling as root: date -s '@1523730130' 03:07:06.953758732: call returned: [0, "Sat Apr 14 18:22:10 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 03:07:07.002722999: libguestfs: trace: set_autosync true 03:07:07.002827013: libguestfs: trace: set_autosync = 0 03:07:07.006090708: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/pvxftTxgYQ" "format:qcow2" 03:07:07.006167731: libguestfs: trace: add_drive = 0 03:07:07.006204495: libguestfs: trace: launch 03:07:07.006236359: libguestfs: trace: get_tmpdir 03:07:07.006486760: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 03:07:07.006578431: libguestfs: trace: get_backend_setting "force_tcg" 03:07:07.006652006: libguestfs: trace: get_backend_setting = NULL (error) 03:07:07.007771432: libguestfs: trace: get_cachedir 03:07:07.007992874: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:07:07.095279703: libguestfs: trace: get_cachedir 03:07:07.095383922: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:07:07.096800482: libguestfs: trace: get_sockdir 03:07:07.096860976: libguestfs: trace: get_sockdir = "/tmp" 03:07:07.097169198: libguestfs: trace: get_backend_setting "gdb" 03:07:07.097217871: libguestfs: trace: get_backend_setting = NULL (error) 03:07:11.624460174: libguestfs: trace: launch = 0 03:07:11.625831202: libguestfs: trace: list_devices 03:07:11.628298475: libguestfs: trace: list_devices = ["/dev/sda"] 03:07:11.629959352: libguestfs: trace: part_disk "/dev/sda" "gpt" 03:07:11.713314220: libguestfs: trace: part_disk = 0 03:07:11.714190415: libguestfs: trace: part_set_name "/dev/sda" 1 "pvxftTxgYQ" 03:07:11.753742230: libguestfs: trace: part_set_name = 0 03:07:11.754506488: libguestfs: trace: list_partitions 03:07:11.755459201: libguestfs: trace: list_partitions = ["/dev/sda1"] 03:07:11.755717072: libguestfs: trace: mkfs "ext4" "/dev/sda1" 03:07:11.781235918: libguestfs: trace: mkfs = 0 03:07:11.781356285: libguestfs: trace: close 03:07:11.782037840: libguestfs: trace: internal_autosync 03:07:11.795919170: libguestfs: trace: internal_autosync = 0 03:07:11.875393422: libguestfs: trace: set_autosync true 03:07:11.875506072: libguestfs: trace: set_autosync = 0 03:07:11.878664667: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/pvxftTxgYQ" "format:qcow2" 03:07:11.879031003: libguestfs: trace: add_drive = 0 03:07:11.879081923: libguestfs: trace: launch 03:07:11.879116231: libguestfs: trace: get_tmpdir 03:07:11.879149105: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 03:07:11.879219652: libguestfs: trace: get_backend_setting "force_tcg" 03:07:11.879387940: libguestfs: trace: get_backend_setting = NULL (error) 03:07:11.879492552: libguestfs: trace: get_cachedir 03:07:11.879528140: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:07:11.915812612: libguestfs: trace: get_cachedir 03:07:11.915906971: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:07:11.916267183: libguestfs: trace: get_sockdir 03:07:11.916308631: libguestfs: trace: get_sockdir = "/tmp" 03:07:11.916396006: libguestfs: trace: get_backend_setting "gdb" 03:07:11.916438533: libguestfs: trace: get_backend_setting = NULL (error) 03:07:15.109112448: libguestfs: trace: launch = 0 03:07:15.109939684: libguestfs: trace: list_devices 03:07:15.110866385: libguestfs: trace: list_devices = ["/dev/sda"] 03:07:15.110959486: libguestfs: trace: list_partitions 03:07:15.111357814: libguestfs: trace: list_partitions = ["/dev/sda1"] 03:07:15.112104093: libguestfs: trace: mount "/dev/sda1" "/" 03:07:15.117540779: libguestfs: trace: mount = 0 03:07:15.117673431: libguestfs: trace: upload "/tmp/TailsToaster/video_dir/video.mp4" "/video.mp4" 03:07:15.118690691: libguestfs: trace: upload = 0 03:07:15.118775634: libguestfs: trace: close 03:07:15.119649597: libguestfs: trace: internal_autosync 03:07:15.133337999: libguestfs: trace: internal_autosync = 0 03:07:15.271175605: calling as root: test -b /dev/sda 03:07:15.397567666: call returned: [1, "", ""] 03:07:16.409279575: calling as root: test -b /dev/sda 03:07:16.561222606: call returned: [1, "", ""] 03:07:17.578936744: calling as root: test -b /dev/sda 03:07:17.715362757: call returned: [0, "", ""] 03:07:17.715519012: calling as root: mktemp -d 03:07:17.904450574: call returned: [0, "/tmp/tmp.NffU5LsIlM\n", ""] 03:07:17.917192244: calling as root: mount /dev/sda1 /tmp/tmp.NffU5LsIlM 03:07:18.372120870: call returned: [0, "", ""] 03:07:18.372238053: calling as root: chmod -R a+rX '/tmp/tmp.NffU5LsIlM' 03:07:18.557498903: call returned: [0, "", ""] And I plug and mount a USB drive containing sample videos # features/step_definitions/totem.rb:12 03:07:18.559236788: calling as amnesia: cp "/tmp/tmp.NffU5LsIlM/video.mp4" "/home/amnesia/video.mp4" 03:07:18.644521515: call returned: [0, "", ""] And I copy the sample videos to "/home/amnesia" as user "amnesia" # features/step_definitions/totem.rb:18 03:07:18.645803264: calling as root: test -e '/home/amnesia/video.mp4' 03:07:18.773225709: call returned: [0, "", ""] And the file "/home/amnesia/video.mp4" exists # features/step_definitions/common_steps.rb:614 03:07:18.774432571: calling as root: sysctl -w kernel.printk_ratelimit=0 03:07:18.985842830: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:07:18.985969940: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:07:19.180812816: call returned: [0, "2018-04-14 18:22:22\n", ""] Given I start monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:07:19.182380247: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:07:19.347318571: call returned: [1, "", ""] 03:07:19.383124568: calling as amnesia: xdotool key Super 03:07:19.574131496: call returned: [0, "", ""] 03:07:20.458458543: [log] TYPE "commandline" 03:07:20.519990752: [log] ( Ctrl ) TYPE "#ENTER." 03:07:23.861413154: [log] TYPE "totem /home/amnesia/video.mp4#ENTER." When I open "/home/amnesia/video.mp4" with Totem # features/step_definitions/totem.rb:27 Then I see "SampleLocalMp4VideoFrame.png" after at most 40 seconds # features/step_definitions/common_steps.rb:456 03:07:32.974428859: calling as root: journalctl --full --no-pager --since='2018-04-14 18:22:22' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/home/amnesia/video.mp4"' 03:07:33.260740429: call returned: [1, "", ""] And AppArmor has not denied "/usr/bin/totem" from opening "/home/amnesia/video.mp4" # features/step_definitions/common_steps.rb:865 03:07:33.262386458: calling as root: killall totem 03:07:33.595132083: call returned: [0, "", ""] 03:07:33.595296690: calling as root: pidof -x -o '%PPID' totem 03:07:33.813797209: call returned: [1, "", ""] Given I close Totem # features/step_definitions/totem.rb:31 03:07:33.815631086: calling as amnesia: cp "/tmp/tmp.NffU5LsIlM/video.mp4" "/home/amnesia/.gnupg/video.mp4" 03:07:33.944055912: call returned: [0, "", ""] And I copy the sample videos to "/home/amnesia/.gnupg" as user "amnesia" # features/step_definitions/totem.rb:18 03:07:33.945299640: calling as root: test -e '/home/amnesia/.gnupg/video.mp4' 03:07:34.081471326: call returned: [0, "", ""] And the file "/home/amnesia/.gnupg/video.mp4" exists # features/step_definitions/common_steps.rb:614 03:07:34.082681149: calling as root: sysctl -w kernel.printk_ratelimit=0 03:07:34.236151101: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:07:34.236293136: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:07:34.405427269: call returned: [0, "2018-04-14 18:22:37\n", ""] And I restart monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:07:34.406991769: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:07:34.612097728: call returned: [0, "8515\n", ""] 03:07:35.367980611: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] 03:07:36.886295012: [log] TYPE "totem /home/amnesia/.gnupg/video.mp4#ENTER." When I try to open "/home/amnesia/.gnupg/video.mp4" with Totem # features/step_definitions/totem.rb:27 Then I see "TotemUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 03:07:37.983838272: calling as root: journalctl --full --no-pager --since='2018-04-14 18:22:37' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/home/amnesia/.gnupg/video.mp4"' 03:07:38.222038659: call returned: [0, "Apr 14 18:22:40 amnesia kernel: audit: type=1400 audit(1523730160.376:36): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=9076 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:40 amnesia kernel: audit: type=1400 audit(1523730160.392:37): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=9076 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:40 amnesia kernel: audit: type=1400 audit(1523730160.392:38): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=9076 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:40 amnesia kernel: audit: type=1400 audit(1523730160.392:39): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=9076 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/totem" from opening "/home/amnesia/.gnupg/video.mp4" # features/step_definitions/common_steps.rb:865 03:07:38.222886201: calling as root: killall totem 03:07:38.370857531: call returned: [0, "", ""] 03:07:38.371061964: calling as root: pidof -x -o '%PPID' totem 03:07:38.632171532: call returned: [1, "", ""] Given I close Totem # features/step_definitions/totem.rb:31 03:07:38.633495787: calling as root: test -e '/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4' 03:07:38.807158097: call returned: [0, "", ""] And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" exists # features/step_definitions/common_steps.rb:614 03:07:38.807973566: calling as root: sysctl -w kernel.printk_ratelimit=0 03:07:39.000544542: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:07:39.000683209: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:07:39.138826002: call returned: [0, "2018-04-14 18:22:42\n", ""] And I restart monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:07:39.140303381: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:07:39.351242452: call returned: [0, "8515\n", ""] When I try to open "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" with Totem # features/step_definitions/totem.rb:27 03:07:43.998154980: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] [log] TYPE "totem /lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4#ENTER." Then I see "TotemUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 03:07:43.999604806: calling as root: journalctl --full --no-pager --since='2018-04-14 18:22:42' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4"' 03:07:44.271259765: call returned: [0, "Apr 14 18:22:46 amnesia kernel: audit: type=1400 audit(1523730166.156:41): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9344 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:46 amnesia kernel: audit: type=1400 audit(1523730166.164:42): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9344 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:46 amnesia kernel: audit: type=1400 audit(1523730166.168:43): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9344 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:46 amnesia kernel: audit: type=1400 audit(1523730166.168:44): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9344 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/totem" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" # features/step_definitions/common_steps.rb:865 03:07:44.272065804: calling as root: killall totem 03:07:44.427513045: call returned: [0, "", ""] 03:07:44.427741292: calling as root: pidof -x -o '%PPID' totem 03:07:44.615428695: call returned: [1, "", ""] Given I close Totem # features/step_definitions/totem.rb:31 03:07:44.616715036: calling as root: test -e '/live/overlay/home/amnesia/.gnupg/video.mp4' 03:07:44.774071045: call returned: [0, "", ""] And the file "/live/overlay/home/amnesia/.gnupg/video.mp4" exists # features/step_definitions/common_steps.rb:614 03:07:44.774946772: calling as root: sysctl -w kernel.printk_ratelimit=0 03:07:44.911521114: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:07:44.911696810: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:07:45.064817092: call returned: [0, "2018-04-14 18:22:48\n", ""] And I restart monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:07:45.066427889: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:07:45.248266165: call returned: [0, "8515\n", ""] When I try to open "/live/overlay/home/amnesia/.gnupg/video.mp4" with Totem # features/step_definitions/totem.rb:27 03:07:49.158452260: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] [log] TYPE "totem /live/overlay/home/amnesia/.gnupg/video.mp4#ENTER." Then I see "TotemUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 03:07:49.159330666: calling as root: journalctl --full --no-pager --since='2018-04-14 18:22:48' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4"' 03:07:49.404010575: call returned: [0, "Apr 14 18:22:51 amnesia kernel: audit: type=1400 audit(1523730171.528:46): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9626 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:51 amnesia kernel: audit: type=1400 audit(1523730171.544:47): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9626 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:51 amnesia kernel: audit: type=1400 audit(1523730171.544:48): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9626 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:51 amnesia kernel: audit: type=1400 audit(1523730171.544:49): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4\" pid=9626 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/totem" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" # features/step_definitions/common_steps.rb:865 03:07:49.404859423: calling as root: killall totem 03:07:49.605591320: call returned: [0, "", ""] 03:07:49.605745625: calling as root: pidof -x -o '%PPID' totem 03:07:49.852658497: call returned: [1, "", ""] Given I close Totem # features/step_definitions/totem.rb:31 03:07:49.853968684: calling as amnesia: cp "/home/amnesia/video.mp4" "/home/amnesia/.purple/otr.private_key" 03:07:49.930456918: call returned: [0, "", ""] And I copy "/home/amnesia/video.mp4" to "/home/amnesia/.purple/otr.private_key" as user "amnesia" # features/step_definitions/common_steps.rb:636 03:07:49.931274494: calling as root: sysctl -w kernel.printk_ratelimit=0 03:07:50.096974992: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:07:50.097095607: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:07:50.280166626: call returned: [0, "2018-04-14 18:22:53\n", ""] And I restart monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:07:50.281626687: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:07:50.427544709: call returned: [0, "8515\n", ""] 03:07:53.016439634: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] [log] TYPE "totem /home/amnesia/.purple/otr.private_key#ENTER." When I try to open "/home/amnesia/.purple/otr.private_key" with Totem # features/step_definitions/totem.rb:27 Then I see "TotemUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 03:07:54.109738447: calling as root: journalctl --full --no-pager --since='2018-04-14 18:22:53' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/home/amnesia/.purple/otr.private_key"' 03:07:54.365635823: call returned: [0, "Apr 14 18:22:56 amnesia kernel: audit: type=1400 audit(1523730176.556:51): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.purple/otr.private_key\" pid=9868 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:56 amnesia kernel: audit: type=1400 audit(1523730176.568:52): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.purple/otr.private_key\" pid=9868 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:56 amnesia kernel: audit: type=1400 audit(1523730176.568:53): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.purple/otr.private_key\" pid=9868 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:56 amnesia kernel: audit: type=1400 audit(1523730176.568:54): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.purple/otr.private_key\" pid=9868 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:22:56 amnesia kernel: audit: type=1400 audit(1523730176.596:56): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.purple/otr.private_key\" pid=9868 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/totem" from opening "/home/amnesia/.purple/otr.private_key" # features/step_definitions/common_steps.rb:865 @check_tor_leaks @fragile Scenario: Watching a WebM video over HTTPS # features/totem.feature:49 03:07:56.851421972: calling as root: echo 'hello?' 03:07:56.999739041: call returned: [0, "hello?\n", ""] 03:07:57.731052457: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:07:57.731301141: calling as root: nmcli device show eth0 03:07:58.004116577: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:07:58.014697279: calling as root: systemctl --quiet is-active tor@default.service 03:07:58.178001295: call returned: [0, "", ""] 03:07:58.178100478: calling as root: systemctl stop tor@default.service 03:07:58.397592857: call returned: [0, "", ""] 03:07:58.397719114: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:07:58.552081258: call returned: [0, "", ""] 03:07:58.552270188: calling as root: date -s '@1523730182' 03:07:58.722082512: call returned: [0, "Sat Apr 14 18:23:02 UTC 2018\n", ""] 03:07:58.722207575: calling as root: systemctl start tor@default.service 03:07:59.503973994: call returned: [0, "", ""] 03:07:59.504149706: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:07:59.676157878: call returned: [3, "", ""] 03:08:00.676475567: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:08:00.847846079: call returned: [3, "", ""] 03:08:01.848180546: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:08:02.026384518: call returned: [3, "", ""] 03:08:03.026689135: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:08:03.195930661: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:08:03.198149303: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:08:03.371392033: call returned: [1, "", ""] 03:08:03.409236206: calling as amnesia: xdotool key Super 03:08:03.569310589: call returned: [0, "", ""] 03:08:04.779490607: [log] TYPE "commandline" 03:08:04.840947577: [log] ( Ctrl ) TYPE "#ENTER." Then I can watch a WebM video over HTTPs # features/step_definitions/totem.rb:35 03:08:19.023434464: [log] TYPE "totem https://tails.boum.org/lib/test_suite/test.webm#ENTER." Scenario: Watching MP4 videos stored on the persistent volume should work as expected given our AppArmor confinement # features/totem.feature:53 03:08:22.676143039: calling as root: echo 'hello?' 03:08:22.908266645: call returned: [0, "hello?\n", ""] 03:08:23.631550427: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:08:23.631674859: calling as root: nmcli device show eth0 03:08:23.914397225: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:9A:A2:A7\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 03:08:23.925346503: calling as root: date -s '@1523730208' 03:08:24.117766278: call returned: [0, "Sat Apr 14 18:23:28 UTC 2018\n", ""] Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:186 03:08:24.160858195: libguestfs: trace: set_autosync true 03:08:24.160939651: libguestfs: trace: set_autosync = 0 03:08:24.163855618: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/llVohSLfKG" "format:qcow2" 03:08:24.163945927: libguestfs: trace: add_drive = 0 03:08:24.163987487: libguestfs: trace: launch 03:08:24.164018787: libguestfs: trace: get_tmpdir 03:08:24.164252569: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 03:08:24.164338530: libguestfs: trace: get_backend_setting "force_tcg" 03:08:24.164380895: libguestfs: trace: get_backend_setting = NULL (error) 03:08:24.164419476: libguestfs: trace: get_cachedir 03:08:24.164458393: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:08:24.209849771: libguestfs: trace: get_cachedir 03:08:24.209949898: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:08:24.210071498: libguestfs: trace: get_sockdir 03:08:24.210114710: libguestfs: trace: get_sockdir = "/tmp" 03:08:24.210437938: libguestfs: trace: get_backend_setting "gdb" 03:08:24.210483755: libguestfs: trace: get_backend_setting = NULL (error) 03:08:27.502279027: libguestfs: trace: launch = 0 03:08:27.502466631: libguestfs: trace: list_devices 03:08:27.503555940: libguestfs: trace: list_devices = ["/dev/sda"] 03:08:27.504289180: libguestfs: trace: part_disk "/dev/sda" "gpt" 03:08:27.578800391: libguestfs: trace: part_disk = 0 03:08:27.578932595: libguestfs: trace: part_set_name "/dev/sda" 1 "llVohSLfKG" 03:08:27.626391644: libguestfs: trace: part_set_name = 0 03:08:27.626521859: libguestfs: trace: list_partitions 03:08:27.627532430: libguestfs: trace: list_partitions = ["/dev/sda1"] 03:08:27.627609778: libguestfs: trace: mkfs "ext4" "/dev/sda1" 03:08:27.648701559: libguestfs: trace: mkfs = 0 03:08:27.648843795: libguestfs: trace: close 03:08:27.648914419: libguestfs: trace: internal_autosync 03:08:27.655499219: libguestfs: trace: internal_autosync = 0 03:08:27.732231486: libguestfs: trace: set_autosync true 03:08:27.732356515: libguestfs: trace: set_autosync = 0 03:08:27.737001703: libguestfs: trace: add_drive "/tmp/TailsToaster/TailsToasterStorage/llVohSLfKG" "format:qcow2" 03:08:27.737103205: libguestfs: trace: add_drive = 0 03:08:27.737157755: libguestfs: trace: launch 03:08:27.737203266: libguestfs: trace: get_tmpdir 03:08:27.737250806: libguestfs: trace: get_tmpdir = "/tmp/TailsToaster" 03:08:27.739029060: libguestfs: trace: get_backend_setting "force_tcg" 03:08:27.739110873: libguestfs: trace: get_backend_setting = NULL (error) 03:08:27.739160838: libguestfs: trace: get_cachedir 03:08:27.739197605: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:08:27.776676812: libguestfs: trace: get_cachedir 03:08:27.777045824: libguestfs: trace: get_cachedir = "/tmp/TailsToaster" 03:08:27.777161168: libguestfs: trace: get_sockdir 03:08:27.777200362: libguestfs: trace: get_sockdir = "/tmp" 03:08:27.777288612: libguestfs: trace: get_backend_setting "gdb" 03:08:27.777330079: libguestfs: trace: get_backend_setting = NULL (error) 03:08:31.077264253: libguestfs: trace: launch = 0 03:08:31.077446012: libguestfs: trace: list_devices 03:08:31.078463806: libguestfs: trace: list_devices = ["/dev/sda"] 03:08:31.078557956: libguestfs: trace: list_partitions 03:08:31.079004565: libguestfs: trace: list_partitions = ["/dev/sda1"] 03:08:31.079729814: libguestfs: trace: mount "/dev/sda1" "/" 03:08:31.085994834: libguestfs: trace: mount = 0 03:08:31.086133129: libguestfs: trace: upload "/tmp/TailsToaster/video_dir/video.mp4" "/video.mp4" 03:08:31.087282264: libguestfs: trace: upload = 0 03:08:31.087369874: libguestfs: trace: close 03:08:31.088059797: libguestfs: trace: internal_autosync 03:08:31.105040246: libguestfs: trace: internal_autosync = 0 03:08:31.237609685: calling as root: test -b /dev/sdb 03:08:31.409446472: call returned: [1, "", ""] 03:08:32.421326317: calling as root: test -b /dev/sdb 03:08:32.648474558: call returned: [0, "", ""] 03:08:32.648702331: calling as root: mktemp -d 03:08:32.910972347: call returned: [0, "/tmp/tmp.mE77uZFJDw\n", ""] 03:08:32.925321433: calling as root: mount /dev/sdb1 /tmp/tmp.mE77uZFJDw 03:08:33.164547521: call returned: [0, "", ""] 03:08:33.164721348: calling as root: chmod -R a+rX '/tmp/tmp.mE77uZFJDw' 03:08:33.479733351: call returned: [0, "", ""] And I plug and mount a USB drive containing sample videos # features/step_definitions/totem.rb:12 03:08:33.481385804: calling as amnesia: cp "/tmp/tmp.mE77uZFJDw/video.mp4" "/home/amnesia/Persistent/video.mp4" 03:08:33.661925202: call returned: [0, "", ""] And I copy the sample videos to "/home/amnesia/Persistent" as user "amnesia" # features/step_definitions/totem.rb:18 03:08:33.663486197: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:08:33.990081899: call returned: [1, "", ""] 03:08:34.036260683: calling as amnesia: xdotool key Super 03:08:34.361055174: call returned: [0, "", ""] 03:08:35.586794875: [log] TYPE "commandline" 03:08:37.762949111: [log] ( Ctrl ) TYPE "#ENTER." When I open "/home/amnesia/Persistent/video.mp4" with Totem # features/step_definitions/totem.rb:27 03:08:49.290660675: [log] TYPE "totem /home/amnesia/Persistent/video.mp4#ENTER." Then I see "SampleLocalMp4VideoFrame.png" after at most 40 seconds # features/step_definitions/common_steps.rb:456 03:08:49.291497794: calling as root: killall totem 03:08:49.649519213: call returned: [0, "", ""] 03:08:49.649694706: calling as root: pidof -x -o '%PPID' totem 03:08:49.897366829: call returned: [1, "", ""] Given I close Totem # features/step_definitions/totem.rb:31 03:08:49.898346055: calling as root: sysctl -w kernel.printk_ratelimit=0 03:08:50.216385229: call returned: [0, "kernel.printk_ratelimit = 0\n", ""] 03:08:50.216513925: calling as root: date +"%Y-%m-%d %H:%M:%S" 03:08:50.419607565: call returned: [0, "2018-04-14 18:23:54\n", ""] And I start monitoring the AppArmor log of "/usr/bin/totem" # features/step_definitions/common_steps.rb:853 03:08:50.420939198: calling as amnesia: cp "/tmp/tmp.mE77uZFJDw/video.mp4" "/home/amnesia/.gnupg/video.mp4" 03:08:50.527599684: call returned: [0, "", ""] And I copy the sample videos to "/home/amnesia/.gnupg" as user "amnesia" # features/step_definitions/totem.rb:18 03:08:50.528401601: calling as root: pidof -x -o '%PPID' gnome-terminal-server 03:08:50.765050139: call returned: [0, "13623\n", ""] 03:08:51.526262775: [log] CLICK on L(226,171)@S(0)[0,0 1024x768] 03:08:53.048645594: [log] TYPE "totem /home/amnesia/.gnupg/video.mp4#ENTER." When I try to open "/home/amnesia/.gnupg/video.mp4" with Totem # features/step_definitions/totem.rb:27 Then I see "TotemUnableToOpen.png" after at most 10 seconds # features/step_definitions/common_steps.rb:456 03:08:54.474543820: calling as root: journalctl --full --no-pager --since='2018-04-14 18:23:54' SYSLOG_IDENTIFIER=kernel | grep -w 'apparmor="DENIED" operation="open" profile="/usr/bin/totem" name="/home/amnesia/.gnupg/video.mp4"' 03:08:54.784556578: call returned: [0, "Apr 14 18:23:57 amnesia kernel: audit: type=1400 audit(1523730237.408:36): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=14141 comm=\"pool\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:23:57 amnesia kernel: audit: type=1400 audit(1523730237.468:37): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=14141 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:23:57 amnesia kernel: audit: type=1400 audit(1523730237.468:38): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=14141 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\nApr 14 18:23:57 amnesia kernel: audit: type=1400 audit(1523730237.468:39): apparmor=\"DENIED\" operation=\"open\" profile=\"/usr/bin/totem\" name=\"/home/amnesia/.gnupg/video.mp4\" pid=14141 comm=\"totem\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=1000\n", ""] And AppArmor has denied "/usr/bin/totem" from opening "/home/amnesia/.gnupg/video.mp4" # features/step_definitions/common_steps.rb:865 @product Feature: Browsing the web using the Unsafe Browser As a Tails user when I browse the web using the Unsafe Browser I should have direct access to the web #11458, #14771 @fragile Scenario: The Unsafe Browser can access the LAN # features/unsafe_browser.feature:9 03:08:56.776455213: calling as root: echo 'hello?' 03:08:56.943363850: call returned: [0, "hello?\n", ""] 03:08:57.666206479: calling as root: nmcli device show eth0 03:08:57.696253572: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:08:58.095329931: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:08:58.110066529: calling as root: systemctl --quiet is-active tor@default.service 03:08:58.291056795: call returned: [0, "", ""] 03:08:58.291190816: calling as root: systemctl stop tor@default.service 03:08:58.505435420: call returned: [0, "", ""] 03:08:58.505606654: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:08:58.696185499: call returned: [0, "", ""] 03:08:58.696302192: calling as root: date -s '@1523730242' 03:08:58.857292392: call returned: [0, "Sat Apr 14 18:24:02 UTC 2018\n", ""] 03:08:58.857433738: calling as root: systemctl start tor@default.service 03:08:59.652655800: call returned: [0, "", ""] 03:08:59.652913667: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:08:59.797115443: call returned: [3, "", ""] 03:09:00.797427438: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:00.931289320: call returned: [3, "", ""] 03:09:01.931622905: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:02.096193762: call returned: [3, "", ""] 03:09:03.096610116: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:03.277277268: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:09:03.296799336: calling as amnesia: curl http://10.2.1.1:8000 03:09:03.442930151: call returned: [0, "Welcome to the LAN web server!", " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 30 100 30 0 0 5772 0 --:--:-- --:--:-- --:--:-- 6000\n"] And a web server is running on the LAN # features/step_definitions/common_steps.rb:790 03:09:03.479823808: calling as amnesia: xdotool key Super 03:09:03.678198061: call returned: [0, "", ""] 03:09:05.062816989: [log] TYPE "Unsafe Browser" 03:09:07.975344008: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1194 = dogtail.tree.root.application('gnome-shell') 03:09:07.985455742: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "#RIGHT.#ENTER." 03:09:08.081327946: execution complete 03:09:08.081464991: executing Python as amnesia: node1195 = node1194.child('No Notifications', roleName='label', showingOnly=False) 03:09:09.085042659: execution complete 03:09:09.085178483: executing Python as amnesia: node1196 = node1195.parent 03:09:09.107258735: execution complete 03:09:09.107353285: executing Python as amnesia: node1197 = node1196.parent 03:09:09.129507614: execution complete 03:09:09.129700605: executing Python as amnesia: node1198 = node1197.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:09:09.176978366: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 03:09:18.618244691: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:19.094305180: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:09:19.847855016: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 03:09:20.327067550: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:20.443783916: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:09:21.210421842: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:09:26.210529336: calling as amnesia: echo -n 'http://10.2.1.1:8000' | xsel --input --clipboard 03:09:26.374945120: call returned: [0, "", ""] 03:09:26.479841048: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." And I open a page on the LAN web server in the Unsafe Browser # features/step_definitions/common_steps.rb:839 Then I see "UnsafeBrowserHelloLANWebServer.png" after at most 20 seconds # features/step_definitions/common_steps.rb:456 #11458 @fragile Scenario: Starting the Unsafe Browser works as it should. # features/unsafe_browser.feature:18 03:09:28.760312017: calling as root: echo 'hello?' 03:09:28.905269422: call returned: [0, "hello?\n", ""] 03:09:29.628322604: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:09:29.628444949: calling as root: nmcli device show eth0 03:09:29.879547054: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:09:29.890131585: calling as root: systemctl --quiet is-active tor@default.service 03:09:30.067457574: call returned: [0, "", ""] 03:09:30.067617652: calling as root: systemctl stop tor@default.service 03:09:30.254087345: call returned: [0, "", ""] 03:09:30.254215779: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:09:30.422637142: call returned: [0, "", ""] 03:09:30.422823241: calling as root: date -s '@1523730274' 03:09:30.586281745: call returned: [0, "Sat Apr 14 18:24:34 UTC 2018\n", ""] 03:09:30.586397233: calling as root: systemctl start tor@default.service 03:09:31.314449328: call returned: [0, "", ""] 03:09:31.314608339: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:31.472464376: call returned: [3, "", ""] 03:09:32.472726770: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:32.639689666: call returned: [3, "", ""] 03:09:33.640019136: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:33.801097551: call returned: [3, "", ""] 03:09:34.801450820: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:09:34.951523124: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:09:34.991446219: calling as amnesia: xdotool key Super 03:09:35.132610667: call returned: [0, "", ""] 03:09:36.506931832: [log] TYPE "Unsafe Browser" 03:09:39.409516787: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1199 = dogtail.tree.root.application('gnome-shell') 03:09:39.409656014: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "#RIGHT.#ENTER." 03:09:39.525769446: execution complete 03:09:39.525947914: executing Python as amnesia: node1200 = node1199.child('No Notifications', roleName='label', showingOnly=False) 03:09:40.479790678: execution complete 03:09:40.479931670: executing Python as amnesia: node1201 = node1200.parent 03:09:40.504876061: execution complete 03:09:40.504994026: executing Python as amnesia: node1202 = node1201.parent 03:09:40.528940036: execution complete 03:09:40.529083036: executing Python as amnesia: node1203 = node1202.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:09:40.588066402: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 03:09:50.033945972: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:50.496784339: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:09:50.496908734: calling as root: pgrep --full --exact '/usr/local/lib/tor-browser/firefox .* -profile /home/clearnet/.unsafe-browser/profile.default' 03:09:50.725141031: call returned: [0, "8722\n", ""] 03:09:50.725272815: calling as root: pgrep --uid clearnet --full --exact '/usr/local/lib/tor-browser/firefox .* -profile /home/clearnet/.unsafe-browser/profile.default' 03:09:50.923464748: call returned: [0, "8722\n", ""] Then the Unsafe Browser runs as the expected user # features/step_definitions/browser.rb:165 And the Unsafe Browser has a red theme # features/step_definitions/unsafe_browser.rb:100 And the Unsafe Browser shows a warning as its start page # features/step_definitions/unsafe_browser.rb:104 03:09:51.064236955: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:51.212687876: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:09:51.973746565: [log] CLICK on L(243,80)@S(0)[0,0 1024x768] 03:09:52.478848255: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:52.632643446: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:09:53.391402023: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:09:58.391775483: calling as amnesia: echo -n 'about:plugins' | xsel --input --clipboard 03:09:58.577259955: call returned: [0, "", ""] 03:09:58.640763875: [log] ( Ctrl ) TYPE "v" 03:09:58.683268507: [log] TYPE "#ENTER." And the Unsafe Browser has no plugins installed # features/step_definitions/browser.rb:117 03:09:59.184692951: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:09:59.335013910: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:10:00.667129512: [log] CLICK on L(453,80)@S(0)[0,0 1024x768] 03:10:00.667506675: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:10:00.794157992: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:10:01.548844727: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:10:06.549073915: calling as amnesia: echo -n 'about:addons' | xsel --input --clipboard 03:10:06.635072474: call returned: [0, "", ""] 03:10:07.191216346: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." And the Unsafe Browser has no add-ons installed # features/step_definitions/unsafe_browser.rb:47 03:10:07.301744359: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:10:07.437275218: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:10:07.521685947: [log] ( Ctrl+Shift ) TYPE "o" 03:10:09.026210295: [log] CLICK on L(365,126)@S(0)[0,0 1024x768] 03:10:10.978636921: [log] CLICK on L(345,155)@S(0)[0,0 1024x768] 03:10:12.002749705: [log] TYPE "/home/clearnet/bookmarks#ENTER." 03:10:12.003022522: calling as root: test -e '/var/lib/unsafe-browser/chroot//home/clearnet/bookmarks.json' 03:10:12.132002578: call returned: [1, "", ""] 03:10:13.132356134: calling as root: test -e '/var/lib/unsafe-browser/chroot//home/clearnet/bookmarks.json' 03:10:13.262546560: call returned: [0, "", ""] 03:10:13.262749270: opening file /var/lib/unsafe-browser/chroot//home/clearnet/bookmarks.json in 'read' mode 03:10:13.557324315: read complete 03:10:13.620344965: [log] ( Alt ) TYPE "#F4." And the Unsafe Browser has only Firefox's default bookmarks configured # features/step_definitions/unsafe_browser.rb:52 03:10:14.454659654: [log] CLICK on L(1002,113)@S(0)[0,0 1024x768] 03:10:15.617124062: [log] CLICK on L(733,423)@S(0)[0,0 1024x768] 03:10:17.552767755: [log] CLICK on L(27,474)@S(0)[0,0 1024x768] 03:10:18.276241786: [log] CLICK on L(524,253)@S(0)[0,0 1024x768] 03:10:19.448828548: [log] CLICK on L(906,347)@S(0)[0,0 1024x768] 03:10:20.380519419: [log] ( Alt ) TYPE "#F4." 03:10:20.441731911: [log] ( Ctrl ) TYPE "w" And the Unsafe Browser has no proxy configured # features/step_definitions/unsafe_browser.rb:167 03:10:20.443162864: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:10:20.627314992: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:10:20.627500585: calling as root: pgrep --uid clearnet --full --exact '/usr/local/lib/tor-browser/firefox .* -profile /home/clearnet/.unsafe-browser/profile.default' 03:10:20.825628006: call returned: [0, "8722\n", ""] 03:10:20.825990615: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && ls -1 /var/lib/unsafe-browser/chroot${TBB_INSTALL}/*.so 03:10:21.070329008: call returned: [0, "/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libfreeblpriv3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/liblgpllibs.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozavcodec.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozavutil.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsandbox.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsqlite3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnspr4.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnss3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssckbi.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssdbm3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssutil3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplc4.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplds4.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsmime3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsoftokn3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libssl3.so\n/var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libxul.so\n", ""] 03:10:21.070475584: calling as root: pmap --show-path 8722 03:10:24.512238046: call returned: [0, "8722: /usr/local/lib/tor-browser/firefox -DISPLAY=:1 -profile /home/clearnet/.unsafe-browser/profile.default\n0000223a89edb000 64K ----- [ anon ]\n0000223a89eeb000 64K r-x-- [ anon ]\n0000223a89efb000 64K ----- [ anon ]\n0000223a89f0b000 64K ----- [ anon ]\n0000223a89f1b000 320K r-x-- [ anon ]\n0000223a89f6b000 64K ----- [ anon ]\n0000223a89f7b000 128K r-x-- [ anon ]\n0000223a89f9b000 64K r-x-- [ anon ]\n0000223a89fab000 64K r-x-- [ anon ]\n0000223a89fbb000 64K ----- [ anon ]\n0000223a89fcb000 64K r-x-- [ anon ]\n0000223a89fdb000 64K ----- [ anon ]\n0000223a89feb000 128K r-x-- [ anon ]\n0000223a8a00b000 64K ----- [ anon ]\n0000223a8a01b000 64K r-x-- [ anon ]\n0000223a8a02b000 64K ----- [ anon ]\n0000223a8a03b000 64K r-x-- [ anon ]\n0000223a8a04b000 64K ----- [ anon ]\n0000223a8a05b000 128K r-x-- [ anon ]\n0000223a8a07b000 64K ----- [ anon ]\n0000223a8a08b000 256K r-x-- [ anon ]\n0000223a8a0cb000 64K ----- [ anon ]\n0000223a8a0db000 20K r-x-- [ anon ]\n0000223a8a0e0000 44K r-x-- [ anon ]\n0000223a8a0eb000 128K r-x-- [ anon ]\n0000223a8a10b000 64K ----- [ anon ]\n0000223a8a11b000 320K r-x-- [ anon ]\n0000223a8a16b000 64K ----- [ anon ]\n0000223a8a17b000 8K r-x-- [ anon ]\n0000223a8a17d000 56K r-x-- [ anon ]\n0000223a8a18b000 64K ----- [ anon ]\n0000223a8a19b000 64K ----- [ anon ]\n0000223a8a1ab000 64K ----- [ anon ]\n0000223a8a1bb000 64K ----- [ anon ]\n0000223a8a1cb000 64K ----- [ anon ]\n0000223a8a1db000 128K ----- [ anon ]\n0000223a8a1fb000 64K ----- [ anon ]\n0000223a8a20b000 64K ----- [ anon ]\n0000223a8a21b000 64K ----- [ anon ]\n0000223a8a22b000 128K ----- [ anon ]\n0000223a8a24b000 64K ----- [ anon ]\n0000223a8a25b000 128K ----- [ anon ]\n0000223a8a27b000 64K ----- [ anon ]\n0000223a8a28b000 128K ----- [ anon ]\n0000223a8a2ab000 64K ----- [ anon ]\n0000223a8a2bb000 128K ----- [ anon ]\n0000223a8a2db000 64K r-x-- [ anon ]\n0000223a8a2eb000 64K r-x-- [ anon ]\n0000223a8a2fb000 64K ----- [ anon ]\n0000223a8a30b000 64K ----- [ anon ]\n0000223a8a31b000 192K ----- [ anon ]\n0000223a8a34b000 64K ----- [ anon ]\n0000223a8a35b000 192K ----- [ anon ]\n0000223a8a38b000 64K ----- [ anon ]\n0000223a8a39b000 192K ----- [ anon ]\n0000223a8a3cb000 64K ----- [ anon ]\n0000223a8a3db000 128K ----- [ anon ]\n0000223a8a3fb000 64K ----- [ anon ]\n0000223a8a40b000 128K ----- [ anon ]\n0000223a8a42b000 64K ----- [ anon ]\n0000223a8a43b000 64K ----- [ anon ]\n0000223a8a44b000 64K ----- [ anon ]\n0000223a8a45b000 64K ----- [ anon ]\n0000223a8a46b000 64K ----- [ anon ]\n0000223a8a47b000 256K ----- [ anon ]\n0000223a8a4bb000 64K ----- [ anon ]\n0000223a8a4cb000 64K ----- [ anon ]\n0000223a8a4db000 64K ----- [ anon ]\n0000223a8a4eb000 64K ----- [ anon ]\n0000223a8a4fb000 64K ----- [ anon ]\n0000223a8a50b000 384K ----- [ anon ]\n0000223a8a56b000 64K ----- [ anon ]\n0000223a8a57b000 128K ----- [ anon ]\n0000223a8a59b000 64K ----- [ anon ]\n0000223a8a5ab000 64K ----- [ anon ]\n0000223a8a5bb000 64K ----- [ anon ]\n0000223a8a5cb000 192K ----- [ anon ]\n0000223a8a5fb000 64K ----- [ anon ]\n0000223a8a60b000 192K ----- [ anon ]\n0000223a8a63b000 64K ----- [ anon ]\n0000223a8a64b000 256K ----- [ anon ]\n0000223a8a68b000 1040704K ----- [ anon ]\n00005f05efed5000 140K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/firefox\n00005f05efef9000 4K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/firefox\n00005f05efefa000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/firefox\n0000757b63d00000 3072K rw--- [ anon ]\n0000757b64098000 4K ----- [ anon ]\n0000757b64099000 8192K rw--- [ anon ]\n0000757b64899000 4K ----- [ anon ]\n0000757b6489a000 8192K rw--- [ anon ]\n0000757b6509a000 25072K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicudata.so.57.1\n0000757b66916000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicudata.so.57.1\n0000757b66b15000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicudata.so.57.1\n0000757b66b16000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicudata.so.57.1\n0000757b66b17000 1616K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicuuc.so.57.1\n0000757b66cab000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicuuc.so.57.1\n0000757b66eaa000 72K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicuuc.so.57.1\n0000757b66ebc000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicuuc.so.57.1\n0000757b66ebd000 8K rw--- [ anon ]\n0000757b66ebf000 2476K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicui18n.so.57.1\n0000757b6712a000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicui18n.so.57.1\n0000757b67329000 52K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicui18n.so.57.1\n0000757b67336000 8K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libicui18n.so.57.1\n0000757b67338000 4K rw--- [ anon ]\n0000757b67339000 1728K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4\n0000757b674e9000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4\n0000757b676e9000 32K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4\n0000757b676f1000 8K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4\n0000757b676f3000 4K rw--- [ anon ]\n0000757b676f4000 220K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3.0.1\n0000757b6772b000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3.0.1\n0000757b6792b000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3.0.1\n0000757b6792e000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3.0.1\n0000757b6792f000 212K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16\n0000757b67964000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16\n0000757b67b63000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16\n0000757b67b64000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.16\n0000757b67b65000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so\n0000757b67b67000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so\n0000757b67d66000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so\n0000757b67d67000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so\n0000757b67d68000 8K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libutil-2.24.so\n0000757b67d6a000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libutil-2.24.so\n0000757b67f69000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libutil-2.24.so\n0000757b67f6a000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libutil-2.24.so\n0000757b67f6b000 216K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n0000757b67fa1000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n0000757b681a1000 24K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n0000757b681a7000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so\n0000757b681a8000 100K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so\n0000757b681c1000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so\n0000757b683c1000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so\n0000757b683c4000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so\n0000757b683c5000 36K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1\n0000757b683ce000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1\n0000757b685cd000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1\n0000757b685ce000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1\n0000757b685cf000 84K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libtdb.so.1.3.11\n0000757b685e4000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libtdb.so.1.3.11\n0000757b687e3000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libtdb.so.1.3.11\n0000757b687e4000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libtdb.so.1.3.11\n0000757b687e5000 32K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3.3.7\n0000757b687ed000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3.3.7\n0000757b689ec000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3.3.7\n0000757b689ed000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3.3.7\n0000757b689ee000 68K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcanberra.so.0.2.5\n0000757b689ff000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcanberra.so.0.2.5\n0000757b68bfe000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcanberra.so.0.2.5\n0000757b68bff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcanberra.so.0.2.5\n0000757b68c00000 22528K rw--- [ anon ]\n0000757b6a2fd000 4K ----- [ anon ]\n0000757b6a2fe000 8192K rw--- [ anon ]\n0000757b6aafe000 4K ----- [ anon ]\n0000757b6aaff000 8192K rw--- [ anon ]\n0000757b6b2ff000 4K ----- [ anon ]\n0000757b6b300000 12288K rw--- [ anon ]\n0000757b6bfa7000 1200K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/EmojiOneMozilla.ttf\n0000757b6c0d3000 4376K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansJP-Regular.otf\n0000757b6c519000 4456K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansKR-Regular.otf\n0000757b6c973000 8176K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansSC-Regular.otf\n0000757b6d16f000 5520K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansTC-Regular.otf\n0000757b6d6d3000 1200K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/EmojiOneMozilla.ttf\n0000757b6d7ff000 4K ----- [ anon ]\n0000757b6d800000 20480K rw--- [ anon ]\n0000757b6ecfd000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n0000757b6ecff000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n0000757b6eeff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXss.so.1.0.0\n0000757b6ef00000 4096K rw--- [ anon ]\n0000757b6f3ff000 4K ----- [ anon ]\n0000757b6f400000 9216K rw--- [ anon ]\n0000757b6fdfc000 4K ----- [ anon ]\n0000757b6fdfd000 8192K rw--- [ anon ]\n0000757b705fd000 4K ----- [ anon ]\n0000757b705fe000 8192K rw--- [ anon ]\n0000757b70e00000 44032K rw--- [ anon ]\n0000757b739ff000 4K ----- [ anon ]\n0000757b73a00000 9216K rw--- [ anon ]\n0000757b743fc000 4K ----- [ anon ]\n0000757b743fd000 8192K rw--- [ anon ]\n0000757b74c00000 15360K rw--- [ anon ]\n0000757b75b70000 572K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n0000757b75bff000 4K ----- [ anon ]\n0000757b75c00000 10240K rw--- [ anon ]\n0000757b76600000 468K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/STIXMath-Regular.otf\n0000757b76675000 92K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansMalayalam-Regular.ttf\n0000757b7668c000 208K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansDevanagari-Regular.ttf\n0000757b766c0000 248K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoNaskhArabic-Regular.ttf\n0000757b766fe000 4K ----- [ anon ]\n0000757b766ff000 8192K rw--- [ anon ]\n0000757b76eff000 4K ----- [ anon ]\n0000757b76f00000 12288K rw--- [ anon ]\n0000757b77b0f000 44K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansLao-Regular.ttf\n0000757b77b1a000 48K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansCanadianAboriginal-Regular.ttf\n0000757b77b26000 168K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansTelugu-Regular.ttf\n0000757b77b50000 700K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansTibetan-Regular.ttf\n0000757b77bff000 4K ----- [ anon ]\n0000757b77c00000 11264K rw--- [ anon ]\n0000757b78703000 52K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansGurmukhi-Regular.ttf\n0000757b78710000 120K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansYi-Regular.ttf\n0000757b7872e000 172K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansBengali-Regular.ttf\n0000757b78759000 644K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Tinos-Regular.ttf\n0000757b787fa000 20K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n0000757b787ff000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n0000757b789fe000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n0000757b789ff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so\n0000757b78a00000 3072K rw--- [ anon ]\n0000757b78d04000 60K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansTamil-Regular.ttf\n0000757b78d13000 468K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/STIXMath-Regular.otf\n0000757b78d88000 4K ----- [ anon ]\n0000757b78d89000 8192K rw--- [ anon ]\n0000757b79589000 4K ----- [ anon ]\n0000757b7958a000 8192K rw--- [ anon ]\n0000757b79d8a000 4K ----- [ anon ]\n0000757b79d8b000 8192K rw--- [ anon ]\n0000757b7a58b000 4K ----- [ anon ]\n0000757b7a58c000 8192K rw--- [ anon ]\n0000757b7ad8c000 4K ----- [ anon ]\n0000757b7ad8d000 8192K rw--- [ anon ]\n0000757b7b58d000 1484K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_COLLATE\n0000757b7b700000 2048K rw--- [ anon ]\n0000757b7b904000 164K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansOriya-Regular.ttf\n0000757b7b92d000 260K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansSinhala-Regular.ttf\n0000757b7b96e000 576K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Italic.ttf\n0000757b7b9fe000 4K ----- [ anon ]\n0000757b7b9ff000 8192K rw--- [ anon ]\n0000757b7c1ff000 4K ----- [ anon ]\n0000757b7c200000 18432K rw--- [ anon ]\n0000757b7d407000 188K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansGujarati-Regular.ttf\n0000757b7d436000 224K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansEthiopic-Regular.ttf\n0000757b7d46e000 576K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Italic.ttf\n0000757b7d4fe000 4K ----- [ anon ]\n0000757b7d4ff000 2048K rw--- [ anon ]\n0000757b7d6ff000 4K ----- [ anon ]\n0000757b7d700000 16384K rw--- [ anon ]\n0000757b7e708000 412K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoEmoji-Regular.ttf\n0000757b7e76f000 572K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n0000757b7e7fe000 4K ----- [ anon ]\n0000757b7e7ff000 8192K rw--- [ anon ]\n0000757b7efff000 4K ----- [ anon ]\n0000757b7f000000 11264K rw--- [ anon ]\n0000757b7fb03000 564K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n0000757b7fb90000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n0000757b7fd8f000 112K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n0000757b7fdab000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11\n0000757b7fdac000 168K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n0000757b7fdd6000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n0000757b7ffd6000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n0000757b7ffd7000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8\n0000757b7ffd8000 28K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n0000757b7ffdf000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n0000757b801df000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n0000757b801e0000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libogg.so.0.8.2\n0000757b801e1000 468K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n0000757b80256000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n0000757b80456000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n0000757b80457000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0\n0000757b80458000 80K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libnsl-2.24.so\n0000757b8046c000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libnsl-2.24.so\n0000757b8066c000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libnsl-2.24.so\n0000757b8066d000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libnsl-2.24.so\n0000757b8066e000 8K rw--- [ anon ]\n0000757b80670000 20K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n0000757b80675000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n0000757b80874000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n0000757b80875000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1\n0000757b80876000 460K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n0000757b808e9000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n0000757b80ae8000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n0000757b80aeb000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.27\n0000757b80aec000 8K rw--- [ anon ]\n0000757b80aee000 32K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libwrap.so.0.7.6\n0000757b80af6000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libwrap.so.0.7.6\n0000757b80cf6000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libwrap.so.0.7.6\n0000757b80cf7000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libwrap.so.0.7.6\n0000757b80cf8000 20K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n0000757b80cfd000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n0000757b80efc000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n0000757b80efd000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0\n0000757b80efe000 4K ----- [ anon ]\n0000757b80eff000 8192K rw--- [ anon ]\n0000757b816ff000 4K ----- [ anon ]\n0000757b81700000 17408K rw--- [ anon ]\n0000757b82800000 152K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansMyanmar-Regular.ttf\n0000757b82826000 16K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libcap.so.2.25\n0000757b8282a000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libcap.so.2.25\n0000757b82a2a000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libcap.so.2.25\n0000757b82a2b000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libcap.so.2.25\n0000757b82a2c000 512K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n0000757b82aac000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n0000757b82cac000 8K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n0000757b82cae000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so\n0000757b82caf000 312K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n0000757b82cfd000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n0000757b82efd000 8K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n0000757b82eff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpulse.so.0.20.1\n0000757b82f00000 5120K rw--- [ anon ]\n0000757b83404000 572K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Bold.ttf\n0000757b83493000 392K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n0000757b834f5000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n0000757b836f4000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n0000757b836f7000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libibus-1.0.so.5.0.514\n0000757b836f8000 24K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n0000757b836fe000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n0000757b838fe000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n0000757b838ff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so\n0000757b83900000 3072K rw--- [ anon ]\n0000757b83c00000 2048K rw--- [ anon ]\n0000757b83e00000 36K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansThai-Regular.ttf\n0000757b83e09000 112K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansMongolian-Regular.ttf\n0000757b83e25000 304K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Cousine-Regular.ttf\n0000757b83e71000 568K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n0000757b83eff000 4K ----- [ anon ]\n0000757b83f00000 13312K rw--- [ anon ]\n0000757b84c01000 28K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansArmenian-Regular.ttf\n0000757b84c08000 136K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansKannada-Regular.ttf\n0000757b84c2a000 4K ----- [ anon ]\n0000757b84c2b000 256K rw--- [ anon ]\n0000757b84c6b000 568K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n0000757b84cf9000 4K ----- [ anon ]\n0000757b84cfa000 8192K rw--- [ anon ]\n0000757b854fa000 4K ----- [ anon ]\n0000757b854fb000 8192K rw--- [ anon ]\n0000757b85cfb000 4K ----- [ anon ]\n0000757b85cfc000 8192K rw--- [ anon ]\n0000757b864fc000 4K ----- [ anon ]\n0000757b864fd000 8192K rw--- [ anon ]\n0000757b86cfd000 4K ----- [ anon ]\n0000757b86cfe000 8192K rw--- [ anon ]\n0000757b874fe000 4K ----- [ anon ]\n0000757b874ff000 8192K rw--- [ anon ]\n0000757b87cff000 4K ----- [ anon ]\n0000757b87d00000 9216K rw--- [ anon ]\n0000757b88600000 24K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansThaana-Regular.ttf\n0000757b88606000 28K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansHebrew-Regular.ttf\n0000757b8860d000 48K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansKhmer-Regular.ttf\n0000757b88619000 32K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansGeorgian-Regular.ttf\n0000757b88621000 124K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSerifKhmer-Regular.ttf\n0000757b88640000 132K r--s- /var/lib/unsafe-browser/chroot/usr/share/mime/mime.cache\n0000757b88661000 496K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssckbi.so\n0000757b886dd000 84K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssckbi.so\n0000757b886f2000 48K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssckbi.so\n0000757b886fe000 4K ----- [ anon ]\n0000757b886ff000 8192K rw--- [ anon ]\n0000757b88eff000 4K ----- [ anon ]\n0000757b88f00000 9216K rw--- [ anon ]\n0000757b89803000 36K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansCherokee-Regular.ttf\n0000757b8980c000 44K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSerifLao-Regular.ttf\n0000757b89817000 108K r--s- /var/lib/unsafe-browser/chroot/home/clearnet/.cache/fontconfig/42f746296937150ee8e3c23c67344d6d-le64.cache-4\n0000757b89832000 496K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libfreeblpriv3.so\n0000757b898ae000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libfreeblpriv3.so\n0000757b898af000 8K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libfreeblpriv3.so\n0000757b898b1000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libfreeblpriv3.so\n0000757b898b2000 16K rw--- [ anon ]\n0000757b898b6000 10660K r--s- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/icudt58l.dat\n0000757b8a31f000 11980K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/browser/omni.ja\n0000757b8aed2000 5520K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/omni.ja\n0000757b8b436000 180K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n0000757b8b463000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n0000757b8b662000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n0000757b8b663000 8K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0\n0000757b8b665000 180K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n0000757b8b692000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n0000757b8b892000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n0000757b8b895000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1\n0000757b8b896000 4K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n0000757b8b897000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n0000757b8ba96000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n0000757b8ba97000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so\n0000757b8ba98000 28K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n0000757b8ba9f000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n0000757b8bc9e000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n0000757b8bc9f000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgailutil.so.18.0.1\n0000757b8bca0000 316K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n0000757b8bcef000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n0000757b8beee000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n0000757b8beef000 8K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so\n0000757b8bef1000 40K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n0000757b8befb000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n0000757b8c0fa000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n0000757b8c0fb000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so\n0000757b8c0fc000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n0000757b8c0fe000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n0000757b8c2fe000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n0000757b8c2ff000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libadwaita.so\n0000757b8c300000 1024K rw--- [ anon ]\n0000757b8c400000 32K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSerifThai-Regular.ttf\n0000757b8c408000 196K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_CTYPE\n0000757b8c439000 568K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/Arimo-Regular.ttf\n0000757b8c4c7000 1216K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/aa_DJ.utf8/LC_COLLATE\n0000757b8c5f7000 4K ----- [ anon ]\n0000757b8c5f8000 8192K rw--- [ anon ]\n0000757b8cdf8000 12K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n0000757b8cdfb000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n0000757b8cffa000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n0000757b8cffb000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so\n0000757b8cffc000 76K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n0000757b8d00f000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n0000757b8d20e000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n0000757b8d20f000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgpg-error.so.0.21.0\n0000757b8d210000 16K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libuuid.so.1.3.0\n0000757b8d214000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libuuid.so.1.3.0\n0000757b8d413000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libuuid.so.1.3.0\n0000757b8d414000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libuuid.so.1.3.0\n0000757b8d415000 76K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libbsd.so.0.8.3\n0000757b8d428000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libbsd.so.0.8.3\n0000757b8d628000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libbsd.so.0.8.3\n0000757b8d629000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libbsd.so.0.8.3\n0000757b8d62a000 4K rw--- [ anon ]\n0000757b8d62b000 28K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n0000757b8d632000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n0000757b8d831000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n0000757b8d832000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3\n0000757b8d833000 172K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n0000757b8d85e000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n0000757b8da5d000 8K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n0000757b8da5f000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1\n0000757b8da60000 260K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libblkid.so.1.1.0\n0000757b8daa1000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libblkid.so.1.1.0\n0000757b8dca0000 16K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libblkid.so.1.1.0\n0000757b8dca4000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libblkid.so.1.1.0\n0000757b8dca5000 4K rw--- [ anon ]\n0000757b8dca6000 1052K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n0000757b8ddad000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n0000757b8dfad000 8K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n0000757b8dfaf000 28K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcrypt.so.20.1.6\n0000757b8dfb6000 68K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n0000757b8dfc7000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n0000757b8e1c6000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n0000757b8e1c7000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1\n0000757b8e1c8000 148K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/liblzma.so.5.2.2\n0000757b8e1ed000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/liblzma.so.5.2.2\n0000757b8e3ec000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/liblzma.so.5.2.2\n0000757b8e3ed000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/liblzma.so.5.2.2\n0000757b8e3ee000 92K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n0000757b8e405000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n0000757b8e605000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n0000757b8e606000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libICE.so.6.3.0\n0000757b8e607000 16K rw--- [ anon ]\n0000757b8e60b000 28K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n0000757b8e612000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n0000757b8e811000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n0000757b8e812000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libSM.so.6.0.1\n0000757b8e813000 20K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n0000757b8e818000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n0000757b8ea17000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n0000757b8ea18000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0\n0000757b8ea19000 12K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n0000757b8ea1c000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n0000757b8ec1b000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n0000757b8ec1c000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0\n0000757b8ec1d000 48K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n0000757b8ec29000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n0000757b8ee29000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n0000757b8ee2a000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0\n0000757b8ee2b000 632K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n0000757b8eec9000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n0000757b8f0c9000 32K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n0000757b8f0d1000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0\n0000757b8f0d2000 32K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n0000757b8f0da000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n0000757b8f2da000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n0000757b8f2db000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libthai.so.0.3.0\n0000757b8f2dc000 40K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n0000757b8f2e6000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n0000757b8f4e5000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n0000757b8f4e6000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2\n0000757b8f4e7000 40K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n0000757b8f4f1000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n0000757b8f6f0000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n0000757b8f6f1000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0\n0000757b8f6f2000 60K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n0000757b8f701000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n0000757b8f900000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n0000757b8f901000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXi.so.6.1.0\n0000757b8f902000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n0000757b8f904000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n0000757b8fb03000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n0000757b8fb04000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0\n0000757b8fb05000 588K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n0000757b8fb98000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n0000757b8fd97000 8K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n0000757b8fd99000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10400.2\n0000757b8fd9a000 296K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libmount.so.1.1.0\n0000757b8fde4000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libmount.so.1.1.0\n0000757b8ffe4000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libmount.so.1.1.0\n0000757b8ffe5000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libmount.so.1.1.0\n0000757b8ffe6000 8K rw--- [ anon ]\n0000757b8ffe8000 80K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libresolv-2.24.so\n0000757b8fffc000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libresolv-2.24.so\n0000757b901fb000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libresolv-2.24.so\n0000757b901fc000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libresolv-2.24.so\n0000757b901fd000 8K rw--- [ anon ]\n0000757b901ff000 148K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libselinux.so.1\n0000757b90224000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libselinux.so.1\n0000757b90423000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libselinux.so.1\n0000757b90424000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libselinux.so.1\n0000757b90425000 8K rw--- [ anon ]\n0000757b90427000 20K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n0000757b9042c000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n0000757b9062b000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n0000757b9062c000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0\n0000757b9062d000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n0000757b9062f000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n0000757b9082e000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n0000757b9082f000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0\n0000757b90830000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n0000757b90832000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n0000757b90a31000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n0000757b90a32000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0\n0000757b90a33000 12K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n0000757b90a36000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n0000757b90c35000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n0000757b90c36000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5000.3\n0000757b90c37000 456K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpcre.so.3.13.3\n0000757b90ca9000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpcre.so.3.13.3\n0000757b90ea8000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpcre.so.3.13.3\n0000757b90ea9000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpcre.so.3.13.3\n0000757b90eaa000 28K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n0000757b90eb1000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n0000757b910b1000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n0000757b910b2000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libffi.so.6.0.4\n0000757b910b3000 528K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n0000757b91137000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n0000757b91336000 12K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n0000757b91339000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libsystemd.so.0.21.0\n0000757b9133a000 4K rw--- [ anon ]\n0000757b9133b000 156K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libexpat.so.1.6.2\n0000757b91362000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libexpat.so.1.6.2\n0000757b91562000 8K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libexpat.so.1.6.2\n0000757b91564000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libexpat.so.1.6.2\n0000757b91565000 196K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n0000757b91596000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n0000757b91796000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n0000757b91797000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpng16.so.16.28.0\n0000757b91798000 100K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libz.so.1.2.8\n0000757b917b1000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libz.so.1.2.8\n0000757b919b0000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libz.so.1.2.8\n0000757b919b1000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libz.so.1.2.8\n0000757b919b2000 4K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n0000757b919b3000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n0000757b91bb2000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n0000757b91bb3000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.5000.3\n0000757b91bb4000 392K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n0000757b91c16000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n0000757b91e16000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n0000757b91e17000 20K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXt.so.6.0.0\n0000757b91e1c000 4K rw--- [ anon ]\n0000757b91e1d000 68K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n0000757b91e2e000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n0000757b9202d000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n0000757b9202e000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0\n0000757b9202f000 1256K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n0000757b92169000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n0000757b92369000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n0000757b9236a000 20K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0\n0000757b9236f000 156K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n0000757b92396000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n0000757b92595000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n0000757b92596000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0\n0000757b92597000 8K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n0000757b92599000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n0000757b92799000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n0000757b9279a000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0\n0000757b9279b000 4K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n0000757b9279c000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n0000757b9299b000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n0000757b9299c000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0\n0000757b9299d000 1080K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n0000757b92aab000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n0000757b92cab000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n0000757b92cae000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libcairo.so.2.11400.8\n0000757b92caf000 8K rw--- [ anon ]\n0000757b92cb1000 292K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n0000757b92cfa000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n0000757b92ef9000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n0000757b92efc000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4000.5\n0000757b92efd000 136K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n0000757b92f1f000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n0000757b9311f000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n0000757b93120000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3600.5\n0000757b93121000 48K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n0000757b9312d000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n0000757b9332c000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n0000757b9332d000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4000.5\n0000757b9332e000 704K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n0000757b933de000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n0000757b935dd000 16K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n0000757b935e1000 8K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0.2400.31\n0000757b935e3000 80K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n0000757b935f7000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n0000757b937f7000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n0000757b937f8000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4000.5\n0000757b937f9000 1588K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n0000757b93986000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n0000757b93b85000 20K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n0000757b93b8a000 12K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5000.3\n0000757b93b8d000 4K rw--- [ anon ]\n0000757b93b8e000 140K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n0000757b93bb1000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n0000757b93db0000 12K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n0000757b93db3000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.22209.1\n0000757b93db4000 4332K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n0000757b941ef000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n0000757b943ee000 28K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n0000757b943f5000 16K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.31\n0000757b943f9000 12K rw--- [ anon ]\n0000757b943fc000 1092K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n0000757b9450d000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n0000757b9470d000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n0000757b9470e000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.3\n0000757b9470f000 4K rw--- [ anon ]\n0000757b94710000 324K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n0000757b94761000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n0000757b94961000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n0000757b94962000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.3\n0000757b94963000 308K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n0000757b949b0000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n0000757b94bb0000 8K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n0000757b94bb2000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdbus-1.so.3.14.15\n0000757b94bb3000 152K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n0000757b94bd9000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n0000757b94dd8000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n0000757b94dd9000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2.3.3\n0000757b94dda000 36K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n0000757b94de3000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n0000757b94fe2000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n0000757b94fe3000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0\n0000757b94fe4000 240K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n0000757b95020000 2044K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n0000757b9521f000 8K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n0000757b95221000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0\n0000757b95222000 672K r-x-- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n0000757b952ca000 2048K ----- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n0000757b954ca000 24K r---- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n0000757b954d0000 4K rw--- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.3\n0000757b954d1000 69708K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libxul.so\n0000757b998e4000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libxul.so\n0000757b998e5000 4136K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libxul.so\n0000757b99cef000 312K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libxul.so\n0000757b99d3d000 356K rw--- [ anon ]\n0000757b99d96000 112K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/liblgpllibs.so\n0000757b99db2000 8K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/liblgpllibs.so\n0000757b99db4000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/liblgpllibs.so\n0000757b99db5000 644K rw--- [ anon ]\n0000757b99e56000 656K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsqlite3.so\n0000757b99efa000 12K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsqlite3.so\n0000757b99efd000 8K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsqlite3.so\n0000757b99eff000 4K rw--- [ anon ]\n0000757b99f00000 2048K rw--- [ anon ]\n0000757b9a100000 28K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSerifArmenian-Regular.ttf\n0000757b9a107000 32K rw-s- /var/lib/unsafe-browser/chroot/home/clearnet/.unsafe-browser/profile.default/webappsstore.sqlite-shm\n0000757b9a10f000 32K rw-s- /var/lib/unsafe-browser/chroot/home/clearnet/.unsafe-browser/profile.default/places.sqlite-shm\n0000757b9a117000 212K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsoftokn3.so\n0000757b9a14c000 8K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsoftokn3.so\n0000757b9a14e000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsoftokn3.so\n0000757b9a14f000 324K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/aa_DJ.utf8/LC_CTYPE\n0000757b9a1a0000 240K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libssl3.so\n0000757b9a1dc000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libssl3.so\n0000757b9a1dd000 16K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libssl3.so\n0000757b9a1e1000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libssl3.so\n0000757b9a1e2000 1620K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libc-2.24.so\n0000757b9a377000 2048K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libc-2.24.so\n0000757b9a577000 16K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libc-2.24.so\n0000757b9a57b000 8K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libc-2.24.so\n0000757b9a57d000 16K rw--- [ anon ]\n0000757b9a581000 88K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcc_s.so.1\n0000757b9a597000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcc_s.so.1\n0000757b9a796000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcc_s.so.1\n0000757b9a797000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libgcc_s.so.1\n0000757b9a798000 1036K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libm-2.24.so\n0000757b9a89b000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libm-2.24.so\n0000757b9aa9a000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libm-2.24.so\n0000757b9aa9b000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libm-2.24.so\n0000757b9aa9c000 1536K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libstdc++.so.6\n0000757b9ac1c000 2044K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libstdc++.so.6\n0000757b9ae1b000 48K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libstdc++.so.6\n0000757b9ae27000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libstdc++.so.6\n0000757b9ae28000 12K rw--- [ anon ]\n0000757b9ae2b000 28K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/librt-2.24.so\n0000757b9ae32000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/librt-2.24.so\n0000757b9b031000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/librt-2.24.so\n0000757b9b032000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/librt-2.24.so\n0000757b9b033000 12K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdl-2.24.so\n0000757b9b036000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdl-2.24.so\n0000757b9b235000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdl-2.24.so\n0000757b9b236000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libdl-2.24.so\n0000757b9b237000 96K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpthread-2.24.so\n0000757b9b24f000 2044K ----- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpthread-2.24.so\n0000757b9b44e000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpthread-2.24.so\n0000757b9b44f000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/libpthread-2.24.so\n0000757b9b450000 16K rw--- [ anon ]\n0000757b9b454000 140K r-x-- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/ld-2.24.so\n0000757b9b478000 8K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/fonts/NotoSansBuginese-Regular.ttf\n0000757b9b47a000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_PAPER\n0000757b9b47b000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_NAME\n0000757b9b47c000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_ADDRESS\n0000757b9b47d000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_TELEPHONE\n0000757b9b47e000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_MEASUREMENT\n0000757b9b47f000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_IDENTIFICATION\n0000757b9b480000 20K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/aa_DJ/LC_COLLATE\n0000757b9b485000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES\n0000757b9b486000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_TIME\n0000757b9b487000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_NUMERIC\n0000757b9b488000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/C.UTF-8/LC_MONETARY\n0000757b9b489000 4K ----- [ anon ]\n0000757b9b48a000 128K rw--- [ anon ]\n0000757b9b4aa000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/aa_ET/LC_NUMERIC\n0000757b9b4ab000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/en_US.utf8/LC_TIME\n0000757b9b4ac000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/chr_US/LC_MONETARY\n0000757b9b4ad000 124K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsmime3.so\n0000757b9b4cc000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsmime3.so\n0000757b9b4cd000 12K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsmime3.so\n0000757b9b4d0000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libsmime3.so\n0000757b9b4d1000 944K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnss3.so\n0000757b9b5bd000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnss3.so\n0000757b9b5be000 28K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnss3.so\n0000757b9b5c5000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnss3.so\n0000757b9b5c6000 8K rw--- [ anon ]\n0000757b9b5c8000 140K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssutil3.so\n0000757b9b5eb000 28K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssutil3.so\n0000757b9b5f2000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnssutil3.so\n0000757b9b5f3000 204K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnspr4.so\n0000757b9b626000 8K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnspr4.so\n0000757b9b628000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libnspr4.so\n0000757b9b629000 12K rw--- [ anon ]\n0000757b9b62c000 156K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsandbox.so\n0000757b9b653000 4K ----- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsandbox.so\n0000757b9b654000 4K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsandbox.so\n0000757b9b655000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libmozsandbox.so\n0000757b9b656000 20K rw--- [ anon ]\n0000757b9b65b000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES\n0000757b9b65c000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/chr_US/LC_PAPER\n0000757b9b65d000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/chr_US/LC_NAME\n0000757b9b65e000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/en_US.utf8/LC_ADDRESS\n0000757b9b65f000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/chr_US/LC_TELEPHONE\n0000757b9b660000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/chr_US/LC_MEASUREMENT\n0000757b9b661000 4K r---- /var/lib/unsafe-browser/chroot/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION\n0000757b9b662000 28K r--s- /var/lib/unsafe-browser/chroot/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache\n0000757b9b669000 12K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplds4.so\n0000757b9b66c000 4K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplds4.so\n0000757b9b66d000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplds4.so\n0000757b9b66e000 16K r-x-- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplc4.so\n0000757b9b672000 4K r---- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplc4.so\n0000757b9b673000 4K rw--- /var/lib/unsafe-browser/chroot/usr/local/lib/tor-browser/libplc4.so\n0000757b9b674000 12K rw--- [ anon ]\n0000757b9b677000 4K r---- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/ld-2.24.so\n0000757b9b678000 4K rw--- /var/lib/unsafe-browser/chroot/lib/x86_64-linux-gnu/ld-2.24.so\n0000757b9b679000 4K rw--- [ anon ]\n00007ffecb3ac000 192K rw--- [ stack ]\n00007ffecb3ed000 12K r---- [ anon ]\n00007ffecb3f0000 8K r-x-- [ anon ]\n total 1951724K\n", ""] 03:10:24.512601956: calling as root: find /usr/lib /lib -name "libfreeblpriv3.so" 03:10:25.695263930: call returned: [0, "/usr/lib/thunderbird/libfreeblpriv3.so\n/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libfreeblpriv3.so\n", ""] 03:10:25.695817767: calling as root: find /usr/lib /lib -name "liblgpllibs.so" 03:10:26.473077172: call returned: [0, "/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/liblgpllibs.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/liblgpllibs.so\n", ""] 03:10:26.473523550: calling as root: find /usr/lib /lib -name "libmozavcodec.so" 03:10:27.247265451: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavcodec.so\n", ""] 03:10:27.247643727: calling as root: find /usr/lib /lib -name "libmozavutil.so" 03:10:28.084278258: call returned: [0, "/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozavutil.so\n", ""] 03:10:28.084650575: calling as root: find /usr/lib /lib -name "libmozsandbox.so" 03:10:28.887587802: call returned: [0, "/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsandbox.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsandbox.so\n", ""] 03:10:28.888019226: calling as root: find /usr/lib /lib -name "libmozsqlite3.so" 03:10:29.680214827: call returned: [0, "/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libmozsqlite3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libmozsqlite3.so\n", ""] 03:10:29.680684250: calling as root: find /usr/lib /lib -name "libnspr4.so" 03:10:30.485079929: call returned: [0, "/usr/lib/thunderbird/libnspr4.so\n/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnspr4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnspr4.so\n", ""] 03:10:30.485661655: calling as root: find /usr/lib /lib -name "libnss3.so" 03:10:31.251598687: call returned: [0, "/usr/lib/thunderbird/libnss3.so\n/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnss3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnss3.so\n", ""] 03:10:31.252055596: calling as root: find /usr/lib /lib -name "libnssckbi.so" 03:10:32.067678964: call returned: [0, "/usr/lib/thunderbird/libnssckbi.so\n/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssckbi.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssckbi.so\n", ""] 03:10:32.068295122: calling as root: find /usr/lib /lib -name "libnssdbm3.so" 03:10:32.879432634: call returned: [0, "/usr/lib/thunderbird/libnssdbm3.so\n/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libnssdbm3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssdbm3.so\n", ""] 03:10:32.880029822: calling as root: find /usr/lib /lib -name "libnssutil3.so" 03:10:33.724780233: call returned: [0, "/usr/lib/thunderbird/libnssutil3.so\n/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libnssutil3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libnssutil3.so\n", ""] 03:10:33.725494596: calling as root: find /usr/lib /lib -name "libplc4.so" 03:10:34.512964553: call returned: [0, "/usr/lib/thunderbird/libplc4.so\n/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplc4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplc4.so\n", ""] 03:10:34.513500482: calling as root: find /usr/lib /lib -name "libplds4.so" 03:10:35.331412647: call returned: [0, "/usr/lib/thunderbird/libplds4.so\n/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libplds4.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libplds4.so\n", ""] 03:10:35.331965415: calling as root: find /usr/lib /lib -name "libsmime3.so" 03:10:36.282702562: call returned: [0, "/usr/lib/thunderbird/libsmime3.so\n/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libsmime3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsmime3.so\n", ""] 03:10:36.283303002: calling as root: find /usr/lib /lib -name "libsoftokn3.so" 03:10:37.044497370: call returned: [0, "/usr/lib/thunderbird/libsoftokn3.so\n/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libsoftokn3.so\n", ""] 03:10:37.045118347: calling as root: find /usr/lib /lib -name "libssl3.so" 03:10:37.821388753: call returned: [0, "/usr/lib/thunderbird/libssl3.so\n/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/x86_64-linux-gnu/libssl3.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libssl3.so\n", ""] 03:10:37.821906880: calling as root: find /usr/lib /lib -name "libxul.so" 03:10:38.617837341: call returned: [0, "/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/thunderbird/libxul.so\n/lib/live/mount/rootfs/filesystem.squashfs/usr/local/lib/tor-browser/libxul.so\n", ""] And the Unsafe Browser uses all expected TBB shared libraries # features/step_definitions/browser.rb:150 #11457, #11458 @fragile Scenario: Closing the Unsafe Browser shows a stop notification and properly tears down the chroot. # features/unsafe_browser.feature:32 03:10:40.323697740: calling as root: echo 'hello?' 03:10:40.473460004: call returned: [0, "hello?\n", ""] 03:10:41.196600899: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:10:41.196831885: calling as root: nmcli device show eth0 03:10:41.471897961: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:10:41.482306642: calling as root: systemctl --quiet is-active tor@default.service 03:10:41.635194995: call returned: [0, "", ""] 03:10:41.635294001: calling as root: systemctl stop tor@default.service 03:10:41.835993082: call returned: [0, "", ""] 03:10:41.836129670: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:10:41.992670139: call returned: [0, "", ""] 03:10:41.992809554: calling as root: date -s '@1523730346' 03:10:42.172789595: call returned: [0, "Sat Apr 14 18:25:46 UTC 2018\n", ""] 03:10:42.172967670: calling as root: systemctl start tor@default.service 03:10:42.850781227: call returned: [0, "", ""] 03:10:42.851010901: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:10:43.025544516: call returned: [3, "", ""] 03:10:44.025824840: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:10:44.199566584: call returned: [3, "", ""] 03:10:45.199888534: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:10:45.383845312: call returned: [3, "", ""] 03:10:46.384199503: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:10:46.552260045: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:10:46.594490307: calling as amnesia: xdotool key Super 03:10:46.763163147: call returned: [0, "", ""] 03:10:48.138973247: [log] TYPE "Unsafe Browser" 03:10:50.959316983: [log] ( Ctrl ) TYPE "#ENTER." 03:10:51.041893082: [log] TYPE "#RIGHT.#ENTER." 03:10:51.042108327: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1204 = dogtail.tree.root.application('gnome-shell') 03:10:51.139179858: execution complete 03:10:51.139314005: executing Python as amnesia: node1205 = node1204.child('No Notifications', roleName='label', showingOnly=False) 03:10:52.098054685: execution complete 03:10:52.098169735: executing Python as amnesia: node1206 = node1205.parent 03:10:52.123947582: execution complete 03:10:52.124046531: executing Python as amnesia: node1207 = node1206.parent 03:10:52.144265802: execution complete 03:10:52.144418414: executing Python as amnesia: node1208 = node1207.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:10:52.185519836: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 03:11:02.033845764: [log] ( Ctrl ) TYPE "q" And I close the Unsafe Browser # features/step_definitions/browser.rb:13 03:11:02.035341163: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1209 = dogtail.tree.root.application('gnome-shell') 03:11:02.131289525: execution complete 03:11:02.131416243: executing Python as amnesia: node1210 = node1209.child('No Notifications', roleName='label', showingOnly=False) 03:11:02.881746075: execution complete 03:11:02.881885675: executing Python as amnesia: node1211 = node1210.parent 03:11:02.925907049: execution complete 03:11:02.926039441: executing Python as amnesia: node1212 = node1211.parent 03:11:02.961923065: execution complete 03:11:02.962081991: executing Python as amnesia: node1213 = node1212.child('Shutting down the Unsafe Browser...', roleName='label', showingOnly=False) 03:11:03.074612666: execution complete Then I see the "Shutting down the Unsafe Browser..." notification after at most 60 seconds # features/step_definitions/common_steps.rb:336 03:11:03.075728334: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:11:03.509805989: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:11:03.509975860: calling as root: test -d '/var/lib/unsafe-browser/chroot' 03:11:03.669839323: call returned: [0, "", ""] 03:11:04.670054356: calling as root: test -d '/var/lib/unsafe-browser/chroot' 03:11:04.817806719: call returned: [0, "", ""] 03:11:05.818155403: calling as root: test -d '/var/lib/unsafe-browser/chroot' 03:11:05.968058725: call returned: [0, "", ""] 03:11:06.968311289: calling as root: test -d '/var/lib/unsafe-browser/chroot' 03:11:07.144316034: call returned: [1, "", ""] And the Unsafe Browser chroot is torn down # features/step_definitions/browser.rb:157 #11458 @fragile Scenario: Starting a second instance of the Unsafe Browser results in an error message being shown. # features/unsafe_browser.feature:41 03:11:08.881166565: calling as root: echo 'hello?' 03:11:09.049723107: call returned: [0, "hello?\n", ""] 03:11:09.775947117: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:11:09.776133462: calling as root: nmcli device show eth0 03:11:10.062162631: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:11:10.072307129: calling as root: systemctl --quiet is-active tor@default.service 03:11:10.213056949: call returned: [0, "", ""] 03:11:10.213225297: calling as root: systemctl stop tor@default.service 03:11:10.416345523: call returned: [0, "", ""] 03:11:10.416442244: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:11:10.601885852: call returned: [0, "", ""] 03:11:10.602004964: calling as root: date -s '@1523730374' 03:11:10.774442738: call returned: [0, "Sat Apr 14 18:26:14 UTC 2018\n", ""] 03:11:10.774617134: calling as root: systemctl start tor@default.service 03:11:11.570928738: call returned: [0, "", ""] 03:11:11.571121714: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:11.735952684: call returned: [3, "", ""] 03:11:12.736294012: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:12.904774738: call returned: [3, "", ""] 03:11:13.906297650: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:14.087493296: call returned: [3, "", ""] 03:11:15.087699625: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:15.257674120: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:11:15.293369886: calling as amnesia: xdotool key Super 03:11:15.461922403: call returned: [0, "", ""] 03:11:16.841757242: [log] TYPE "Unsafe Browser" 03:11:19.746654438: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1214 = dogtail.tree.root.application('gnome-shell') 03:11:19.757646888: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "#RIGHT.#ENTER." 03:11:19.855167501: execution complete 03:11:19.855340599: executing Python as amnesia: node1215 = node1214.child('No Notifications', roleName='label', showingOnly=False) 03:11:20.814882259: execution complete 03:11:20.815013705: executing Python as amnesia: node1216 = node1215.parent 03:11:20.846208343: execution complete 03:11:20.846332265: executing Python as amnesia: node1217 = node1216.parent 03:11:20.870751631: execution complete 03:11:20.870948093: executing Python as amnesia: node1218 = node1217.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:11:20.924328972: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 And I wait 10 seconds # features/step_definitions/common_steps.rb:843 Slept for 10 seconds 03:11:40.417102441: calling as amnesia: xdotool key Super 03:11:40.787868463: call returned: [0, "", ""] 03:11:41.832621843: [log] TYPE "Unsafe Browser" And I start the Unsafe Browser # features/step_definitions/browser.rb:2 03:11:43.341863083: [log] ( Ctrl ) TYPE "#ENTER." Then I see a warning about another instance already running # features/step_definitions/unsafe_browser.rb:112 #11458, #14771 @fragile Scenario: The Unsafe Browser cannot be configured to use Tor and other local proxies. # features/unsafe_browser.feature:54 03:11:45.126284283: calling as root: echo 'hello?' 03:11:45.259361151: call returned: [0, "hello?\n", ""] 03:11:45.982225471: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:11:45.982450009: calling as root: nmcli device show eth0 03:11:46.261799716: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:11:46.271395605: calling as root: systemctl --quiet is-active tor@default.service 03:11:46.454306386: call returned: [0, "", ""] 03:11:46.454410205: calling as root: systemctl stop tor@default.service 03:11:46.621509697: call returned: [0, "", ""] 03:11:46.621615186: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:11:46.796104122: call returned: [0, "", ""] 03:11:46.796256703: calling as root: date -s '@1523730410' 03:11:46.978234222: call returned: [0, "Sat Apr 14 18:26:50 UTC 2018\n", ""] 03:11:46.978399441: calling as root: systemctl start tor@default.service 03:11:47.789124941: call returned: [0, "", ""] 03:11:47.789301802: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:47.959163126: call returned: [3, "", ""] 03:11:48.959390967: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:49.130407456: call returned: [3, "", ""] 03:11:50.130747477: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:50.274250278: call returned: [3, "", ""] 03:11:51.274550738: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:11:51.444515926: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 03:11:51.481391981: calling as amnesia: xdotool key Super 03:11:51.646802560: call returned: [0, "", ""] 03:11:53.031695009: [log] TYPE "Unsafe Browser" 03:11:55.936697794: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1219 = dogtail.tree.root.application('gnome-shell') 03:11:55.945581518: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "#RIGHT.#ENTER." 03:11:56.035533292: execution complete 03:11:56.035732171: executing Python as amnesia: node1220 = node1219.child('No Notifications', roleName='label', showingOnly=False) 03:11:56.964528401: execution complete 03:11:56.964643298: executing Python as amnesia: node1221 = node1220.parent 03:11:56.984627563: execution complete 03:11:56.984777932: executing Python as amnesia: node1222 = node1221.parent 03:11:57.003738184: execution complete 03:11:57.003884620: executing Python as amnesia: node1223 = node1222.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:11:57.056629083: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 03:12:06.501279587: calling as root: grep -w "^SocksPort" /etc/tor/torrc 03:12:06.949183335: call returned: [0, "SocksPort 127.0.0.1:9050 IsolateDestAddr IsolateDestPort\nSocksPort 127.0.0.1:9062 IsolateDestAddr IsolateDestPort\nSocksPort 127.0.0.1:9150 IsolateSOCKSAuth KeepAliveIsolateSOCKSAuth\n", ""] 03:12:08.204564302: [log] CLICK on L(1002,113)@S(0)[0,0 1024x768] 03:12:09.358837261: [log] CLICK on L(733,423)@S(0)[0,0 1024x768] 03:12:14.189454132: [log] CLICK on L(27,474)@S(0)[0,0 1024x768] 03:12:14.983148547: [log] CLICK on L(524,253)@S(0)[0,0 1024x768] 03:12:16.575244191: [log] CLICK on L(906,347)@S(0)[0,0 1024x768] 03:12:17.297994310: [log] CLICK on L(350,212)@S(0)[0,0 1024x768] 03:12:17.362146779: [log] ( Alt ) TYPE "y" 03:12:18.212806967: [log] CLICK on L(805,682)@S(0)[0,0 1024x768] 03:12:18.739113850: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:18.902101294: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:19.659828866: [log] CLICK on L(453,80)@S(0)[0,0 1024x768] 03:12:20.145233816: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:20.300647474: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:21.055720748: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:12:26.055877178: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 03:12:26.253799549: call returned: [0, "", ""] 03:12:26.357504046: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." 03:12:31.216459272: [log] CLICK on L(1002,113)@S(0)[0,0 1024x768] 03:12:31.942114391: [log] CLICK on L(733,423)@S(0)[0,0 1024x768] 03:12:33.096654122: [log] CLICK on L(27,474)@S(0)[0,0 1024x768] 03:12:34.302069702: [log] CLICK on L(906,347)@S(0)[0,0 1024x768] 03:12:35.464535242: [log] CLICK on L(350,212)@S(0)[0,0 1024x768] 03:12:35.547352159: [log] ( Alt ) TYPE "M" 03:12:36.204799485: [log] ( Alt ) TYPE "C" [log] TYPE "127.0.0.1#TAB.9050" 03:12:36.959569182: [log] CLICK on L(805,682)@S(0)[0,0 1024x768] 03:12:37.491276775: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:37.696005574: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:38.545638674: [log] CLICK on L(663,80)@S(0)[0,0 1024x768] 03:12:39.020830138: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:39.156597854: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:39.915307580: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:12:44.915638001: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 03:12:45.006836675: call returned: [0, "", ""] 03:12:45.073949258: [log] ( Ctrl ) TYPE "v" 03:12:47.579494471: [log] TYPE "#ENTER." 03:12:48.942133111: [log] CLICK on L(1002,113)@S(0)[0,0 1024x768] 03:12:50.095970018: [log] CLICK on L(733,423)@S(0)[0,0 1024x768] 03:12:51.262318398: [log] CLICK on L(27,474)@S(0)[0,0 1024x768] 03:12:52.446529613: [log] CLICK on L(906,347)@S(0)[0,0 1024x768] 03:12:53.610545460: [log] CLICK on L(350,212)@S(0)[0,0 1024x768] 03:12:53.694190091: [log] ( Alt ) TYPE "M" 03:12:54.352099845: [log] ( Alt ) TYPE "C" [log] TYPE "127.0.0.1#TAB.9062" 03:12:55.106268606: [log] CLICK on L(805,682)@S(0)[0,0 1024x768] 03:12:55.645538925: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:55.780886230: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:56.652953195: [log] CLICK on L(873,80)@S(0)[0,0 1024x768] 03:12:57.133554243: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:12:57.292171959: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:12:58.050441822: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:13:03.050669358: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 03:13:03.152701871: call returned: [0, "", ""] 03:13:03.256195789: [log] ( Ctrl ) TYPE "v" [log] TYPE "#ENTER." 03:13:07.425557532: [log] CLICK on L(1002,113)@S(0)[0,0 1024x768] 03:13:08.590116728: [log] CLICK on L(733,423)@S(0)[0,0 1024x768] 03:13:09.314339182: [log] CLICK on L(27,474)@S(0)[0,0 1024x768] 03:13:10.498597863: [log] CLICK on L(906,347)@S(0)[0,0 1024x768] 03:13:11.658563863: [log] CLICK on L(350,212)@S(0)[0,0 1024x768] 03:13:11.741427761: [log] ( Alt ) TYPE "M" 03:13:12.401195401: [log] ( Alt ) TYPE "C" [log] TYPE "127.0.0.1#TAB.9150" 03:13:13.160455333: [log] CLICK on L(805,682)@S(0)[0,0 1024x768] 03:13:13.722848002: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:13:13.920272322: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:13:14.753695640: [log] CLICK on L(991,80)@S(0)[0,0 1024x768] 03:13:15.232562365: calling as root: . /usr/local/lib/tails-shell-library/tor-browser.sh && echo ${TBB_INSTALL}/firefox 03:13:15.375406815: call returned: [0, "/usr/local/lib/tor-browser/firefox\n", ""] 03:13:16.137138176: [log] CLICK on L(147,114)@S(0)[0,0 1024x768] 03:13:21.137557361: calling as amnesia: echo -n 'https://tails.boum.org' | xsel --input --clipboard 03:13:21.237012685: call returned: [0, "", ""] 03:13:21.298910091: [log] ( Ctrl ) TYPE "v" 03:13:23.794851953: [log] TYPE "#ENTER." Then I cannot configure the Unsafe Browser to use any local proxies # features/step_definitions/unsafe_browser.rb:120 #11458 @fragile Scenario: The Unsafe Browser will not make any connections to the Internet which are not user initiated # features/unsafe_browser.feature:61 03:13:25.873658792: calling as root: echo 'hello?' 03:13:26.041785219: call returned: [0, "hello?\n", ""] 03:13:26.764056555: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:13:26.764177996: calling as root: nmcli device show eth0 03:13:27.089135245: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 100 (connected)\nGENERAL.CONNECTION: Wired connection\nGENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1\nWIRED-PROPERTIES.CARRIER: on\nIP4.ADDRESS[1]: 10.2.1.51/24\nIP4.GATEWAY: 10.2.1.1\nIP4.DNS[1]: 10.2.1.1\nIP6.ADDRESS[1]: fe80::5254:ff:feb6:b48f/64\nIP6.GATEWAY: --\n", ""] 03:13:27.100335203: calling as root: systemctl --quiet is-active tor@default.service 03:13:27.259359540: call returned: [0, "", ""] 03:13:27.259458267: calling as root: systemctl stop tor@default.service 03:13:27.434880413: call returned: [0, "", ""] 03:13:27.435029945: calling as root: systemctl --no-block restart tails-tor-has-bootstrapped.target 03:13:27.600257268: call returned: [0, "", ""] 03:13:27.600368507: calling as root: date -s '@1523730511' 03:13:27.778129874: call returned: [0, "Sat Apr 14 18:28:31 UTC 2018\n", ""] 03:13:27.778277994: calling as root: systemctl start tor@default.service 03:13:28.568864678: call returned: [0, "", ""] 03:13:28.569057876: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:13:28.763319056: call returned: [3, "", ""] 03:13:29.763652012: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:13:29.915589220: call returned: [3, "", ""] 03:13:30.915921279: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:13:31.103539887: call returned: [3, "", ""] 03:13:32.103852721: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:13:32.253408889: call returned: [0, "", ""] Given I have started Tails from DVD and logged in and the network is connected # features/step_definitions/snapshots.rb:186 And I capture all network traffic # features/step_definitions/common_steps.rb:96 03:13:32.271105267: calling as root: /usr/local/sbin/tor-has-bootstrapped 03:13:32.469721309: call returned: [0, "", ""] 03:13:32.470113479: calling as root: test -e /run/tordate/done 03:13:32.600043903: call returned: [0, "", ""] 03:13:32.600320384: calling as root: test -e /run/htpdate/success 03:13:32.761091872: call returned: [0, "", ""] 03:13:32.761354765: calling as root: systemctl is-system-running 03:13:32.956581192: call returned: [0, "running\n", ""] And Tor is ready # features/step_definitions/common_steps.rb:347 03:13:32.958008119: opening file /usr/share/tails/chroot-browsers/unsafe-browser/prefs.js in 'append' mode 03:13:33.029163883: append complete 03:13:33.029287749: opening file /usr/share/tails/chroot-browsers/unsafe-browser/prefs.js in 'append' mode 03:13:33.065627290: append complete 03:13:33.065720339: opening file /usr/share/tails/chroot-browsers/unsafe-browser/prefs.js in 'append' mode 03:13:33.095211583: append complete And I configure the Unsafe Browser to check for updates more frequently # features/step_definitions/unsafe_browser.rb:187 03:13:33.096451808: opening file /usr/share/tails/chroot-browsers/common/prefs.js in 'read' mode 03:13:33.169561547: read complete But checking for updates is disabled in the Unsafe Browser's configuration # features/step_definitions/unsafe_browser.rb:194 03:13:33.213663629: calling as amnesia: xdotool key Super 03:13:33.373796770: call returned: [0, "", ""] 03:13:34.759510956: [log] TYPE "Unsafe Browser" 03:13:37.600819684: [log] ( Ctrl ) TYPE "#ENTER." 03:13:37.684378734: [log] TYPE "#RIGHT.#ENTER." 03:13:37.684573630: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1224 = dogtail.tree.root.application('gnome-shell') 03:13:37.799105915: execution complete 03:13:37.799279673: executing Python as amnesia: node1225 = node1224.child('No Notifications', roleName='label', showingOnly=False) 03:13:38.824958147: execution complete 03:13:38.825075976: executing Python as amnesia: node1226 = node1225.parent 03:13:38.847975214: execution complete 03:13:38.848127237: executing Python as amnesia: node1227 = node1226.parent 03:13:38.877749427: execution complete 03:13:38.877966373: executing Python as amnesia: node1228 = node1227.child('Starting the Unsafe Browser...', roleName='label', showingOnly=False) 03:13:38.924742000: execution complete When I successfully start the Unsafe Browser # features/step_definitions/browser.rb:6 Then the Unsafe Browser has started # features/step_definitions/unsafe_browser.rb:108 And I wait 120 seconds # features/step_definitions/common_steps.rb:843 Slept for 120 seconds 03:15:48.740341374: calling as root: id -u clearnet 03:15:49.196478731: call returned: [0, "114\n", ""] 03:15:49.196623556: calling as root: iptables-save -c -t filter | iptables-xml 03:15:50.133400370: call returned: [0, "\n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n \n \n \n \n \n\n \n\n \n \n \n \n \n ESTABLISHED\n \n \n \n \n \n\n \n\n \n \n \n lo\n

icmp

\n
\n \n RELATED\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 13\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9050\n FIN,SYN,RST,ACK SYN\n \n \n 65534\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n FIN,SYN,RST,ACK SYN\n \n \n 9050,9062,9150\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 116\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 117\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9062\n FIN,SYN,RST,ACK SYN\n \n \n 118\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9052\n \n \n 0\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9051\n \n \n 119\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 9040\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 53\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

udp

\n
\n \n 5353\n \n \n 104\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 4101\n FIN,SYN,RST,ACK SYN\n \n \n 113\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 631\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 6136\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n 127.0.0.1/32\n lo\n

tcp

\n
\n \n 17600:17650\n FIN,SYN,RST,ACK SYN\n \n \n 1000\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

tcp

\n
\n \n 114\n \n
\n \n \n \n\n
\n\n \n \n \n lo\n

udp

\n
\n \n 114\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 107\n \n \n FIN,SYN,RST,ACK SYN\n \n \n NEW\n \n
\n \n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 107\n \n \n 53\n \n
\n \n \n \n\n
\n\n \n \n \n 10.0.0.0/8\n \n \n \n \n \n \n \n\n \n\n \n \n \n 172.16.0.0/12\n \n \n \n \n \n \n \n\n \n\n \n \n \n 192.168.0.0/16\n \n \n \n \n \n \n \n\n \n\n \n \n \n "Dropped outbound packet: "\n 7\n \n \n \n\n \n\n \n \n \n icmp-port-unreachable\n \n \n\n \n\n
\n \n \n \n \n

tcp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 53\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

tcp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n

udp

\n
\n \n 137\n \n
\n \n \n icmp-port-unreachable\n \n \n\n
\n\n \n \n \n \n\n \n\n
\n \n
\n\n
\n", ""] And the clearnet user has not sent packets out to the Internet # features/step_definitions/unsafe_browser.rb:199 And all Internet traffic has only flowed through Tor # features/step_definitions/common_steps.rb:464 Scenario: Starting the Unsafe Browser without a network connection results in a complaint about no DNS server being configured # features/unsafe_browser.feature:73 03:15:52.567830812: calling as root: echo 'hello?' 03:15:52.799577511: call returned: [0, "hello?\n", ""] 03:15:53.522374072: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:15:53.522504287: calling as root: nmcli device show eth0 03:15:53.848163863: call returned: [0, "GENERAL.DEVICE: eth0\nGENERAL.TYPE: ethernet\nGENERAL.HWADDR: 50:54:00:B6:B4:8F\nGENERAL.MTU: 1500\nGENERAL.STATE: 20 (unavailable)\nGENERAL.CONNECTION: --\nGENERAL.CON-PATH: --\nWIRED-PROPERTIES.CARRIER: off\n", ""] 03:15:53.864183351: calling as root: date -s '@1523730657' 03:15:54.005416247: call returned: [0, "Sat Apr 14 18:30:57 UTC 2018\n", ""] Given I have started Tails from DVD without network and logged in # features/step_definitions/snapshots.rb:186 03:15:54.043439282: calling as amnesia: xdotool key Super 03:15:54.226512427: call returned: [0, "", ""] 03:15:55.939768070: [log] TYPE "Unsafe Browser" When I start the Unsafe Browser # features/step_definitions/browser.rb:2 03:15:58.508194951: [log] ( Ctrl ) TYPE "#ENTER." [log] TYPE "#RIGHT.#ENTER." And I see and accept the Unsafe Browser start verification # features/step_definitions/unsafe_browser.rb:1 03:15:58.509836872: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1229 = dogtail.tree.root.application('zenity') 03:16:00.687359468: execution complete 03:16:00.687499082: executing Python as amnesia: node1230 = node1229.child(roleName='label') 03:16:00.723241536: execution complete 03:16:00.723341088: executing Python as amnesia: print(node1230.text) 03:16:00.752384160: execution complete Then the Unsafe Browser complains that no DNS server is configured # features/step_definitions/unsafe_browser.rb:179 @product Feature: Virtualization support Scenario: VirtualBox guest modules are available # features/virtualization.feature:4 Given a computer # features/step_definitions/common_steps.rb:46 03:16:03.337071146: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 03:16:05.501851506: [log] TYPE " autotest_never_use_this_option blacklist=psmouse #ENTER." 03:16:44.589955190: calling as root: echo 'hello?' 03:16:44.759310346: call returned: [0, "hello?\n", ""] 03:16:44.759607850: calling as root: service tor status 03:16:44.975687201: call returned: [3, "● tor.service - Anonymizing overlay network for TCP (multi-instance-master)\n Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: enabled)\n Active: inactive (dead)\n", ""] 03:16:44.976049139: opening file /etc/tor/torrc in 'append' mode 03:16:45.126069934: append complete 03:16:45.949224424: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 03:16:45.949490838: calling as root: loginctl 03:16:46.101017359: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n\n1 sessions listed.\n", ""] 03:16:47.101386621: calling as root: loginctl 03:16:47.341836509: call returned: [0, " SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1 \n 5 1000 amnesia seat0 tty2 \n\n2 sessions listed.\n", ""] 03:16:55.219128053: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 03:16:55.620548053: call returned: [0, "", ""] 03:16:55.620678085: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 03:16:55.753355389: call returned: [0, "", ""] 03:16:55.753577712: executing Python as amnesia: import dogtail.config import dogtail.tree import dogtail.predicate dogtail.config.logDebugToFile = False dogtail.config.logDebugToStdOut = False dogtail.config.blinkOnActions = True dogtail.config.searchShowingOnly = True node1231 = dogtail.tree.root.application('gnome-shell') 03:16:56.640163351: execution complete 03:16:57.361513421: [log] CLICK on L(512,10)@S(0)[0,0 1024x768] 03:16:57.361683634: executing Python as amnesia: node1232 = node1231.child('No Notifications', roleName='label') 03:16:58.401152274: execution complete 03:16:58.401308058: executing Python as amnesia: node1233 = node1231.child('No Notifications', roleName='label') 03:16:59.115217494: execution complete 03:16:59.163284617: [log] TYPE "#ESC." When I start Tails from DVD with network unplugged and I login # features/step_definitions/common_steps.rb:116 03:16:59.164618137: calling as root: modinfo vboxguest 03:16:59.388584577: call returned: [0, "filename: /lib/modules/4.15.0-2-amd64/updates/vboxguest.ko\nversion: 5.2.8_Debian r120774\nlicense: GPL\ndescription: Oracle VM VirtualBox Guest Additions for Linux Module\nauthor: Oracle Corporation\nsrcversion: A19A9CA01C9263A2B8ECDDE\nalias: pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*\ndepends: \nretpoline: Y\nname: vboxguest\nvermagic: 4.15.0-2-amd64 SMP mod_unload modversions \n", ""] Then the VirtualBox guest modules are available # features/step_definitions/checks.rb:92 Artifacts directory: /tmp/TailsToaster/run-2018-04-14_15:15:04_+0000-git_02a2bcb-6pURv9 Debug log: /tmp/TailsToaster/run-2018-04-14_15:15:04_+0000-git_02a2bcb-6pURv9/debug.log Failing Scenarios: cucumber features/apt.feature:23 # Scenario: Install packages using Synaptic cucumber features/additional_software_packages.feature:8 # Scenario: Additional software packages are installed even without network cucumber features/localization.feature:17 # Scenario: The Unsafe Browser can be used in all languages supported in Tails cucumber features/torified_browsing.feature:129 # Scenario: The persistent Tor Browser directory is usable 212 scenarios (4 failed, 208 passed) 1574 steps (4 failed, 12 skipped, 1558 passed) 196m57.755s