summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/amnesia2
-rwxr-xr-xconfig/chroot_local-hooks/10-tbb21
-rw-r--r--config/chroot_local-hooks/11-localize_browser2
-rwxr-xr-xconfig/chroot_local-hooks/20-xul-ext_symlinks5
-rw-r--r--config/chroot_local-includes/etc/environment11
-rw-r--r--config/chroot_local-includes/etc/sudoers.d/zzz_tor-launcher1
-rwxr-xr-xconfig/chroot_local-includes/usr/bin/tor-launcher30
-rwxr-xr-xconfig/chroot_local-includes/usr/local/bin/tor-browser17
-rwxr-xr-xconfig/chroot_local-includes/usr/local/bin/tor-launcher27
-rw-r--r--config/chroot_local-includes/usr/local/lib/tails-shell-library/chroot-browser.sh10
-rw-r--r--config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh29
-rwxr-xr-xconfig/chroot_local-includes/usr/local/sbin/tails-tor-launcher29
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/common/prefs.js (renamed from config/chroot_local-includes/usr/share/tails/unsafe-browser/prefs.js)32
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/common/userChrome.css (renamed from config/chroot_local-includes/usr/share/tails/unsafe-browser/userChrome.css)18
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/prefs.js (renamed from config/chroot_local-includes/usr/share/tails/i2p-browser/prefs.js)14
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/theme.js (renamed from config/chroot_local-includes/usr/share/tails/i2p-browser/theme.js)0
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/userChrome.css (renamed from config/chroot_local-includes/usr/share/tails/i2p-browser/userChrome.css)48
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/prefs.js18
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/theme.js (renamed from config/chroot_local-includes/usr/share/tails/unsafe-browser/theme.js)0
-rw-r--r--config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/userChrome.css1
-rw-r--r--config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt2
-rw-r--r--config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt32
-rw-r--r--config/chroot_local-includes/usr/share/tails/torbrowser-AppArmor-profile.patch18
-rw-r--r--config/chroot_local-packageslists/tails-common.list3
-rw-r--r--debian/changelog51
-rw-r--r--features/images/BrowserAddressBar.pngbin1611 -> 1760 bytes
-rw-r--r--features/images/BrowserDownloadDialog.pngbin2470 -> 2442 bytes
-rw-r--r--features/images/BrowserDownloadDialogSaveAsButton.pngbin1440 -> 1467 bytes
-rw-r--r--features/images/BrowserPrintToFile.pngbin0 -> 1394 bytes
-rw-r--r--features/images/EvincePrintToFile.png (renamed from features/images/PrintToFile.png)bin1365 -> 1365 bytes
-rw-r--r--features/images/GtkTorBrowserPersistentBookmark.pngbin2022 -> 2180 bytes
-rw-r--r--features/images/GtkTorBrowserPersistentBookmarkSelected.pngbin1906 -> 2042 bytes
-rw-r--r--features/images/I2PNetworkHidden.pngbin1067 -> 1216 bytes
-rw-r--r--features/images/I2PRouterConsole.pngbin3123 -> 2893 bytes
-rw-r--r--features/images/I2PSharedClientTunnels.pngbin2130 -> 2484 bytes
-rw-r--r--features/images/SupportDocumentation.pngbin2229 -> 2099 bytes
-rw-r--r--features/images/SupportDocumentationGerman.pngbin2925 -> 2629 bytes
-rw-r--r--features/images/TorBrowserBookmarkPrompt.pngbin2273 -> 2402 bytes
-rw-r--r--features/images/TorBrowserEFFBookmark.pngbin2074 -> 1918 bytes
-rw-r--r--features/images/TorBrowserNoPlugins.pngbin3339 -> 3299 bytes
-rw-r--r--features/images/TorBrowserNoScriptTemporarilyAllowDialog.pngbin1637 -> 1619 bytes
-rw-r--r--features/images/TorBrowserOkButton.pngbin598 -> 1198 bytes
-rw-r--r--features/images/TorBrowserPrintDialog.pngbin3230 -> 828 bytes
-rw-r--r--features/images/TorBrowserPrintOutputFile.pngbin1225 -> 1298 bytes
-rw-r--r--features/images/TorBrowserPrintOutputFileSelected.pngbin1185 -> 1277 bytes
-rw-r--r--features/images/TorBrowserSaveOutputFileSelected.pngbin1558 -> 1647 bytes
-rw-r--r--features/images/TorBrowserSavedStartupPage.pngbin1934 -> 1700 bytes
-rw-r--r--features/images/TorBrowserUnableToConnect.pngbin3964 -> 3855 bytes
-rw-r--r--features/images/TorButtonNewIdentity.pngbin1277 -> 1244 bytes
-rw-r--r--features/images/TorLauncherBridgeList.pngbin1502 -> 1568 bytes
-rw-r--r--features/images/TorLauncherBridgePrompt.pngbin6534 -> 5163 bytes
-rw-r--r--features/images/TorLauncherConfigureButton.pngbin1615 -> 1679 bytes
-rw-r--r--features/images/TorLauncherConnectingWindow.pngbin2593 -> 2572 bytes
-rw-r--r--features/images/TorLauncherFinishButton.pngbin1003 -> 1435 bytes
-rw-r--r--features/images/TorLauncherNextButton.pngbin816 -> 1100 bytes
-rw-r--r--features/images/TorLauncherYesRadioOption.pngbin1008 -> 1069 bytes
-rw-r--r--features/images/UnsafeBrowserExportBookmarksButton.pngbin1844 -> 1906 bytes
-rw-r--r--features/images/UnsafeBrowserExportBookmarksMenuEntry.pngbin1006 -> 1074 bytes
-rw-r--r--features/images/UnsafeBrowserNetworkTab.pngbin1594 -> 1563 bytes
-rw-r--r--features/images/UnsafeBrowserNetworkTabAlreadySelected.pngbin1608 -> 1570 bytes
-rw-r--r--features/images/UnsafeBrowserNetworkTabSettingsButton.pngbin1571 -> 1527 bytes
-rw-r--r--features/images/UnsafeBrowserNoAddons.pngbin1976 -> 1974 bytes
-rw-r--r--features/images/UnsafeBrowserNoProxySelected.pngbin1611 -> 1550 bytes
-rw-r--r--features/images/UnsafeBrowserProxyRefused.pngbin3314 -> 3260 bytes
-rw-r--r--features/images/UnsafeBrowserProxySettingsOkButton.pngbin1005 -> 1032 bytes
-rw-r--r--features/images/UnsafeBrowserProxySettingsWindow.pngbin2793 -> 2851 bytes
-rw-r--r--features/images/UnsafeBrowserStartPage.pngbin2978 -> 2461 bytes
-rw-r--r--features/step_definitions/apt.rb2
-rw-r--r--features/step_definitions/browser.rb17
-rw-r--r--features/step_definitions/common_steps.rb4
-rw-r--r--features/step_definitions/evince.rb2
-rw-r--r--features/step_definitions/i2p.rb2
-rw-r--r--features/step_definitions/unsafe_browser.rb4
-rw-r--r--features/tor_bridges.feature1
-rw-r--r--ikiwiki-cgi.setup2
-rw-r--r--ikiwiki.setup2
-rw-r--r--po/ar.po10
-rw-r--r--po/az.po10
-rw-r--r--po/bg.po10
-rw-r--r--po/ca.po10
-rw-r--r--po/cs.po10
-rw-r--r--po/cy.po10
-rw-r--r--po/da.po10
-rw-r--r--po/de.po103
-rw-r--r--po/el.po10
-rw-r--r--po/en_GB.po82
-rw-r--r--po/es.po10
-rw-r--r--po/fa.po10
-rw-r--r--po/fi.po10
-rw-r--r--po/fr.po10
-rw-r--r--po/fr_CA.po10
-rw-r--r--po/he.po10
-rw-r--r--po/hr_HR.po10
-rw-r--r--po/hu.po10
-rw-r--r--po/id.po10
-rw-r--r--po/it.po10
-rw-r--r--po/ja.po10
-rw-r--r--po/km.po10
-rw-r--r--po/ko.po10
-rw-r--r--po/lv.po10
-rw-r--r--po/nb.po10
-rw-r--r--po/nl.po10
-rw-r--r--po/pl.po10
-rw-r--r--po/pt.po10
-rw-r--r--po/pt_BR.po102
-rw-r--r--po/ro.po93
-rw-r--r--po/ru.po10
-rw-r--r--po/sk.po10
-rw-r--r--po/sk_SK.po10
-rw-r--r--po/sl_SI.po10
-rw-r--r--po/sq.po10
-rw-r--r--po/sr.po10
-rw-r--r--po/sv.po10
-rw-r--r--po/tails.pot10
-rw-r--r--po/tr.po10
-rw-r--r--po/uk.po83
-rw-r--r--po/zh.po10
-rw-r--r--po/zh_CN.po10
-rw-r--r--po/zh_TW.po12
m---------submodules/jenkins-tools0
-rw-r--r--vagrant/Vagrantfile8
-rw-r--r--vagrant/definitions/tails-builder/definition.rb4
-rw-r--r--vagrant/definitions/tails-builder/postinstall.sh14
-rw-r--r--vagrant/definitions/tails-builder/preseed.cfg37
-rw-r--r--vagrant/lib/tails_build_settings.rb4
-rwxr-xr-xvagrant/provision/setup-tails-builder53
-rw-r--r--wiki/src/blueprint/ARM_platforms.mdwn134
-rw-r--r--wiki/src/blueprint/CRM_for_frontdesk.mdwn2
-rw-r--r--wiki/src/blueprint/Debian_Stretch.mdwn107
-rw-r--r--wiki/src/blueprint/Endless_upgrades.mdwn154
-rw-r--r--wiki/src/blueprint/HTTP_mirror_pool.mdwn417
-rw-r--r--wiki/src/blueprint/HTTP_mirror_pool/archive.mdwn308
-rw-r--r--wiki/src/blueprint/Linux_containers.mdwn1
-rw-r--r--wiki/src/blueprint/Port_Tails_Installer_to_OS_X.mdwn35
-rw-r--r--wiki/src/blueprint/Port_Tails_Installer_to_Windows.mdwn204
-rw-r--r--wiki/src/blueprint/SponsorS/reports/2016_01.mdwn76
-rw-r--r--wiki/src/blueprint/SponsorS/reports/2016_02.mdwn261
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/20110508_-_Initial_post.mdwn2
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/build_-_ok.mdwn13
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__0.mdwn23
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__10_-_2011-07-29.mdwn37
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__11_-_2011-08-05.mdwn35
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__12_-_2011-08-12.mdwn46
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__13_-_2011-08-18.mdwn32
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__1_-_2011-05-23.mdwn20
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__2_-_2011-06-03.mdwn22
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__3_-_2011-06-13.mdwn24
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__4_-_2011-06-20.mdwn24
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__5_-_2011-06-24.mdwn27
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__6_-_2011-06-28.mdwn23
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__7_-_2011-07-08.mdwn34
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__8_-_2011-07-15.mdwn34
-rw-r--r--wiki/src/blueprint/TailsGreeter/blog/report___8470__9_-_2011-07-20.mdwn34
-rw-r--r--wiki/src/blueprint/Tails_research.mdwn17
-rw-r--r--wiki/src/blueprint/automated_builds_and_tests/testing.mdwn50
-rw-r--r--wiki/src/blueprint/bootstrapping/extension.mdwn2
-rw-r--r--wiki/src/blueprint/bootstrapping/tools.fodg160
-rw-r--r--wiki/src/blueprint/bootstrapping/verification.mdwn2
-rw-r--r--wiki/src/blueprint/follow_parts_of_Redmine.mdwn15
-rw-r--r--wiki/src/blueprint/hardware_for_automated_tests_take2.mdwn156
-rw-r--r--wiki/src/blueprint/l10n_Italian.mdwn54
-rw-r--r--wiki/src/blueprint/monitor_servers.mdwn6
-rw-r--r--wiki/src/blueprint/monthly_meeting.mdwn7
-rw-r--r--wiki/src/blueprint/monthly_report.mdwn117
-rw-r--r--wiki/src/blueprint/monthly_report/report_2016_02.mdwn151
-rw-r--r--wiki/src/blueprint/monthly_report/report_2016_03.mdwn0
-rw-r--r--wiki/src/blueprint/monthly_report/report_2016_04.mdwn0
-rw-r--r--wiki/src/blueprint/monthly_report/report_2016_05.mdwn0
-rw-r--r--wiki/src/blueprint/network_connection.mdwn9
-rw-r--r--wiki/src/blueprint/persistence_iceweasel_client_certificates_preset.mdwn53
-rw-r--r--wiki/src/blueprint/persistent_Tor_state.mdwn149
-rw-r--r--wiki/src/blueprint/personas.mdwn6
-rw-r--r--wiki/src/blueprint/randomness_seeding.mdwn9
-rw-r--r--wiki/src/blueprint/report_2015_09.mdwn96
-rw-r--r--wiki/src/blueprint/report_2015_10.mdwn67
-rw-r--r--wiki/src/blueprint/report_2015_11.mdwn75
-rw-r--r--wiki/src/blueprint/report_2015_12.mdwn75
-rw-r--r--wiki/src/blueprint/reproducible_builds.mdwn158
-rw-r--r--wiki/src/blueprint/roadmap_2016-2017.mdwn4
-rw-r--r--wiki/src/blueprint/web_browser_profile_with_no_CA.mdwn4
-rw-r--r--wiki/src/contribute/APT_repository.mdwn22
-rw-r--r--wiki/src/contribute/build.mdwn73
-rw-r--r--wiki/src/contribute/calendar.mdwn12
-rw-r--r--wiki/src/contribute/chat.mdwn12
-rw-r--r--wiki/src/contribute/design.mdwn2
-rw-r--r--wiki/src/contribute/design/I2P_Browser.mdwn2
-rw-r--r--wiki/src/contribute/design/Tor_enforcement/DNS.mdwn4
-rw-r--r--wiki/src/contribute/design/Unsafe_Browser.mdwn2
-rw-r--r--wiki/src/contribute/design/installation.mdwn33
-rw-r--r--wiki/src/contribute/design/vagrant.mdwn22
-rw-r--r--wiki/src/contribute/how/debian.mdwn22
-rw-r--r--wiki/src/contribute/how/mirror.mdwn26
-rw-r--r--wiki/src/contribute/how/user_interface/testing.mdwn5
-rw-r--r--wiki/src/contribute/l10n_tricks/core_po_files.txt2
-rw-r--r--wiki/src/contribute/meetings.mdwn2
-rw-r--r--wiki/src/contribute/meetings/201602.mdwn62
-rw-r--r--wiki/src/contribute/release_process.mdwn14
-rw-r--r--wiki/src/contribute/release_process/liveusb-creator.mdwn1
-rw-r--r--wiki/src/contribute/release_process/perl5lib.mdwn3
-rw-r--r--wiki/src/contribute/release_process/tails-installer.mdwn49
-rw-r--r--wiki/src/contribute/release_process/tails-installer/topic_branch.mdwn2
-rw-r--r--wiki/src/contribute/release_process/tails-iuk.mdwn15
-rw-r--r--wiki/src/contribute/release_process/tor-browser.mdwn10
-rw-r--r--wiki/src/contribute/reports/SponsorS.mdwn1
-rw-r--r--wiki/src/contribute/reports/SponsorS/2015/2015_12.mdwn12
-rw-r--r--wiki/src/contribute/reports/SponsorS/2015/2016_01.mdwn276
-rw-r--r--wiki/src/contribute/talk.html5
-rw-r--r--wiki/src/doc/about.index.de.po17
-rw-r--r--wiki/src/doc/advanced_topics/additional_software.de.po66
-rw-r--r--wiki/src/doc/advanced_topics/cold_boot_attacks.de.po48
-rw-r--r--wiki/src/doc/anonymous_internet.index.de.po23
-rw-r--r--wiki/src/doc/anonymous_internet/thunderbird.fa.po121
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia.de.po170
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia.fa.po167
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia.fr.po172
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia.mdwn53
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia.pt.po174
-rw-r--r--wiki/src/doc/anonymous_internet/vidalia/right-click_menu.pngbin20492 -> 16297 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy.index.de.po29
-rw-r--r--wiki/src/doc/encryption_and_privacy/checksums.de.po12
-rw-r--r--wiki/src/doc/encryption_and_privacy/checksums.fa.po50
-rw-r--r--wiki/src/doc/encryption_and_privacy/checksums.fr.po12
-rw-r--r--wiki/src/doc/encryption_and_privacy/checksums.mdwn4
-rw-r--r--wiki/src/doc/encryption_and_privacy/checksums.pt.po24
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes.de.po386
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes.fa.po399
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes.fr.po397
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes.mdwn145
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes.pt.po197
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/create_partition.fr.pngbin27208 -> 0 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/create_partition.pngbin25926 -> 0 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/empty_device.fr.pngbin18085 -> 0 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/empty_device.pngbin17239 -> 13205 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/encrypted_partition.fr.pngbin33320 -> 0 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/encrypted_partition.pngbin34762 -> 17015 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/nautilus_encrypted.pngbin0 -> 52269 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/places_encrypted.pngbin55305 -> 47841 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/places_secret.pngbin52178 -> 0 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/encrypted_volumes/storage_devices_after.pngbin22813 -> 15196 bytes
-rw-r--r--wiki/src/doc/encryption_and_privacy/secure_deletion.de.po59
-rw-r--r--wiki/src/doc/encryption_and_privacy/secure_deletion.fa.po107
-rw-r--r--wiki/src/doc/encryption_and_privacy/secure_deletion.fr.po115
-rw-r--r--wiki/src/doc/encryption_and_privacy/secure_deletion.mdwn46
-rw-r--r--wiki/src/doc/encryption_and_privacy/secure_deletion.pt.po59
-rw-r--r--wiki/src/doc/encryption_and_privacy/your_data_wont_be_saved_unless_explicitly_asked.de.po24
-rw-r--r--wiki/src/doc/encryption_and_privacy/your_data_wont_be_saved_unless_explicitly_asked.fa.po24
-rw-r--r--wiki/src/doc/encryption_and_privacy/your_data_wont_be_saved_unless_explicitly_asked.fr.po24
-rw-r--r--wiki/src/doc/encryption_and_privacy/your_data_wont_be_saved_unless_explicitly_asked.mdwn12
-rw-r--r--wiki/src/doc/encryption_and_privacy/your_data_wont_be_saved_unless_explicitly_asked.pt.po18
-rw-r--r--wiki/src/doc/first_steps.index.de.po88
-rw-r--r--wiki/src/doc/first_steps/accessibility.de.po178
-rw-r--r--wiki/src/doc/first_steps/accessibility.fa.po185
-rw-r--r--wiki/src/doc/first_steps/accessibility.fr.po185
-rw-r--r--wiki/src/doc/first_steps/accessibility.mdwn54
-rw-r--r--wiki/src/doc/first_steps/accessibility.pt.po178
-rw-r--r--wiki/src/doc/first_steps/installation/manual/linux.de.po14
-rw-r--r--wiki/src/doc/first_steps/installation/manual/linux.fa.po110
-rw-r--r--wiki/src/doc/first_steps/installation/manual/linux.fr.po14
-rw-r--r--wiki/src/doc/first_steps/installation/manual/linux.mdwn2
-rw-r--r--wiki/src/doc/first_steps/installation/manual/linux.pt.po14
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.de.po47
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.fa.po35
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.fr.po50
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.mdwn11
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.pt.po45
-rw-r--r--wiki/src/doc/first_steps/persistence/check_file_system.de.po132
-rw-r--r--wiki/src/doc/first_steps/persistence/check_file_system.fa.po144
-rw-r--r--wiki/src/doc/first_steps/persistence/check_file_system.fr.po133
-rw-r--r--wiki/src/doc/first_steps/persistence/check_file_system.mdwn56
-rw-r--r--wiki/src/doc/first_steps/persistence/check_file_system.pt.po88
-rw-r--r--wiki/src/doc/first_steps/persistence/configure.de.po8
-rw-r--r--wiki/src/doc/first_steps/persistence/configure.fa.po8
-rw-r--r--wiki/src/doc/first_steps/persistence/configure.fr.po8
-rw-r--r--wiki/src/doc/first_steps/persistence/configure.mdwn4
-rw-r--r--wiki/src/doc/first_steps/persistence/configure.pt.po8
-rw-r--r--wiki/src/doc/first_steps/persistence/copy.de.po139
-rw-r--r--wiki/src/doc/first_steps/persistence/copy.fa.po126
-rw-r--r--wiki/src/doc/first_steps/persistence/copy.fr.po147
-rw-r--r--wiki/src/doc/first_steps/persistence/copy.mdwn52
-rw-r--r--wiki/src/doc/first_steps/persistence/copy.pt.po149
-rw-r--r--wiki/src/doc/first_steps/reset/mac.de.po27
-rw-r--r--wiki/src/doc/first_steps/reset/mac.fa.po27
-rw-r--r--wiki/src/doc/first_steps/reset/mac.fr.po27
-rw-r--r--wiki/src/doc/first_steps/reset/mac.mdwn11
-rw-r--r--wiki/src/doc/first_steps/reset/mac.pt.po20
-rw-r--r--wiki/src/doc/get.index.de.po34
-rw-r--r--wiki/src/doc/sensitive_documents.index.de.po20
-rw-r--r--wiki/src/doc/sensitive_documents/graphics.de.po42
-rw-r--r--wiki/src/doc/sensitive_documents/printing_and_scanning.de.po42
-rw-r--r--wiki/src/doc/sensitive_documents/sound_and_video.de.po39
-rw-r--r--wiki/src/inc/release_notes/1.4.1.de.po61
-rw-r--r--wiki/src/inc/release_notes/1.4.1.fa.po61
-rw-r--r--wiki/src/inc/release_notes/1.4.1.fr.po61
-rw-r--r--wiki/src/inc/release_notes/1.4.1.mdwn21
-rw-r--r--wiki/src/inc/release_notes/1.4.1.pt.po61
-rw-r--r--wiki/src/inc/release_notes/1.4.de.po159
-rw-r--r--wiki/src/inc/release_notes/1.4.fa.po159
-rw-r--r--wiki/src/inc/release_notes/1.4.fr.po159
-rw-r--r--wiki/src/inc/release_notes/1.4.mdwn76
-rw-r--r--wiki/src/inc/release_notes/1.4.pt.po159
-rw-r--r--wiki/src/inc/release_notes/1.5.1.de.po26
-rw-r--r--wiki/src/inc/release_notes/1.5.1.fa.po26
-rw-r--r--wiki/src/inc/release_notes/1.5.1.fr.po26
-rw-r--r--wiki/src/inc/release_notes/1.5.1.mdwn3
-rw-r--r--wiki/src/inc/release_notes/1.5.1.pt.po26
-rw-r--r--wiki/src/inc/release_notes/1.5.de.po74
-rw-r--r--wiki/src/inc/release_notes/1.5.fa.po74
-rw-r--r--wiki/src/inc/release_notes/1.5.fr.po74
-rw-r--r--wiki/src/inc/release_notes/1.5.mdwn23
-rw-r--r--wiki/src/inc/release_notes/1.5.pt.po74
-rw-r--r--wiki/src/inc/release_notes/1.6.de.po70
-rw-r--r--wiki/src/inc/release_notes/1.6.fa.po55
-rw-r--r--wiki/src/inc/release_notes/1.6.fr.po55
-rw-r--r--wiki/src/inc/release_notes/1.6.mdwn19
-rw-r--r--wiki/src/inc/release_notes/1.6.pt.po55
-rw-r--r--wiki/src/inc/release_notes/1.7.de.po146
-rw-r--r--wiki/src/inc/release_notes/1.7.fa.po116
-rw-r--r--wiki/src/inc/release_notes/1.7.fr.po146
-rw-r--r--wiki/src/inc/release_notes/1.7.mdwn49
-rw-r--r--wiki/src/inc/release_notes/1.7.pt.po111
-rw-r--r--wiki/src/inc/release_notes/1.8.1.de.po41
-rw-r--r--wiki/src/inc/release_notes/1.8.1.fa.po37
-rw-r--r--wiki/src/inc/release_notes/1.8.1.fr.po37
-rw-r--r--wiki/src/inc/release_notes/1.8.1.mdwn7
-rw-r--r--wiki/src/inc/release_notes/1.8.1.pt.po37
-rw-r--r--wiki/src/inc/release_notes/1.8.2.de.po30
-rw-r--r--wiki/src/inc/release_notes/1.8.2.fa.po28
-rw-r--r--wiki/src/inc/release_notes/1.8.2.fr.po28
-rw-r--r--wiki/src/inc/release_notes/1.8.2.mdwn3
-rw-r--r--wiki/src/inc/release_notes/1.8.2.pt.po28
-rw-r--r--wiki/src/inc/release_notes/1.8.de.po97
-rw-r--r--wiki/src/inc/release_notes/1.8.fa.po82
-rw-r--r--wiki/src/inc/release_notes/1.8.fr.po102
-rw-r--r--wiki/src/inc/release_notes/1.8.mdwn27
-rw-r--r--wiki/src/inc/release_notes/1.8.pt.po82
-rw-r--r--wiki/src/inc/release_notes/2.0.de.po183
-rw-r--r--wiki/src/inc/release_notes/2.0.fa.po149
-rw-r--r--wiki/src/inc/release_notes/2.0.fr.po149
-rw-r--r--wiki/src/inc/release_notes/2.0.mdwn64
-rw-r--r--wiki/src/inc/release_notes/2.0.pt.po149
-rw-r--r--wiki/src/inc/stable_i386_date.de.po4
-rw-r--r--wiki/src/inc/stable_i386_date.fa.po4
-rw-r--r--wiki/src/inc/stable_i386_date.fr.po4
-rw-r--r--wiki/src/inc/stable_i386_date.html2
-rw-r--r--wiki/src/inc/stable_i386_date.pt.po4
-rw-r--r--wiki/src/inc/stable_i386_gpg_signature_output.html4
-rw-r--r--wiki/src/inc/stable_i386_gpg_verify.html2
-rw-r--r--wiki/src/inc/stable_i386_hash.html2
-rw-r--r--wiki/src/inc/stable_i386_iso_sig_url.html2
-rw-r--r--wiki/src/inc/stable_i386_iso_url.html2
-rw-r--r--wiki/src/inc/stable_i386_release_notes.de.po4
-rw-r--r--wiki/src/inc/stable_i386_release_notes.fa.po6
-rw-r--r--wiki/src/inc/stable_i386_release_notes.fr.po4
-rw-r--r--wiki/src/inc/stable_i386_release_notes.html2
-rw-r--r--wiki/src/inc/stable_i386_release_notes.pt.po4
-rw-r--r--wiki/src/inc/stable_i386_torrent_sig_url.html2
-rw-r--r--wiki/src/inc/stable_i386_torrent_url.html2
-rw-r--r--wiki/src/inc/stable_i386_version.html2
-rw-r--r--wiki/src/inc/trace2
-rw-r--r--wiki/src/install.de.po36
-rw-r--r--wiki/src/install/clone.de.po40
-rw-r--r--wiki/src/install/debian.de.po58
-rw-r--r--wiki/src/install/debian/clone/overview.de.po29
-rw-r--r--wiki/src/install/debian/usb.de.po118
-rw-r--r--wiki/src/install/debian/usb/overview.de.po29
-rw-r--r--wiki/src/install/download.de.po30
-rw-r--r--wiki/src/install/dvd.de.po43
-rw-r--r--wiki/src/install/expert/usb.de.po151
-rw-r--r--wiki/src/install/expert/usb.fa.po4
-rw-r--r--wiki/src/install/expert/usb.fr.po4
-rw-r--r--wiki/src/install/expert/usb.mdwn2
-rw-r--r--wiki/src/install/expert/usb.pt.po4
-rw-r--r--wiki/src/install/expert/usb/overview.de.po31
-rw-r--r--wiki/src/install/inc/overview.de.po108
-rw-r--r--wiki/src/install/inc/overview/vm.de.po18
-rw-r--r--wiki/src/install/inc/router/clone.de.po27
-rw-r--r--wiki/src/install/inc/router/why_two.inline.de.po30
-rw-r--r--wiki/src/install/inc/screenshots/desktop.pngbin39652 -> 30054 bytes
-rw-r--r--wiki/src/install/inc/steps/bittorrent_verification.inline.de.po9
-rw-r--r--wiki/src/install/inc/steps/bittorrent_verification.inline.fa.po9
-rw-r--r--wiki/src/install/inc/steps/bittorrent_verification.inline.fr.po9
-rw-r--r--wiki/src/install/inc/steps/bittorrent_verification.inline.html4
-rw-r--r--wiki/src/install/inc/steps/bittorrent_verification.inline.pt.po9
-rw-r--r--wiki/src/install/inc/steps/install_tails_installer.inline.de.po41
-rw-r--r--wiki/src/install/inc/tails-installation-assistant.inline.de.po16
-rw-r--r--wiki/src/install/linux.de.po43
-rw-r--r--wiki/src/install/mac/usb.de.po18
-rw-r--r--wiki/src/install/mac/usb.fa.po18
-rw-r--r--wiki/src/install/mac/usb.fr.po18
-rw-r--r--wiki/src/install/mac/usb.mdwn9
-rw-r--r--wiki/src/install/mac/usb.pt.po18
-rw-r--r--wiki/src/install/os.de.po38
-rw-r--r--wiki/src/install/v1/Tails/i386/stable/latest.yml6
-rw-r--r--wiki/src/install/vm.de.po38
-rw-r--r--wiki/src/install/win.de.po54
-rw-r--r--wiki/src/lib/list-add.pngbin0 -> 167 bytes
-rw-r--r--wiki/src/lib/media-playback-start.pngbin0 -> 246 bytes
-rw-r--r--wiki/src/lib/menu.pngbin0 -> 289 bytes
-rw-r--r--wiki/src/lib/preferences-desktop-accessibility.pngbin0 -> 446 bytes
-rw-r--r--wiki/src/lib/spip_out.gifbin108 -> 0 bytes
-rw-r--r--wiki/src/lib/unlock.pngbin0 -> 281 bytes
-rw-r--r--wiki/src/local.css7
-rw-r--r--wiki/src/news.de.po14
-rw-r--r--wiki/src/news.fa.po40
-rw-r--r--wiki/src/news.fr.po14
-rw-r--r--wiki/src/news.mdwn4
-rw-r--r--wiki/src/news.pt.po14
-rw-r--r--wiki/src/news/report_2011_01-02.de.po270
-rw-r--r--wiki/src/news/report_2011_01-02.fa.po361
-rw-r--r--wiki/src/news/report_2011_01-02.fr.po270
-rw-r--r--wiki/src/news/report_2011_01-02.pt.po270
-rw-r--r--wiki/src/news/report_2011_03-04.de.po240
-rw-r--r--wiki/src/news/report_2011_03-04.fa.po311
-rw-r--r--wiki/src/news/report_2011_03-04.fr.po240
-rw-r--r--wiki/src/news/report_2011_03-04.pt.po240
-rw-r--r--wiki/src/news/report_2011_05-06.de.po305
-rw-r--r--wiki/src/news/report_2011_05-06.fa.po410
-rw-r--r--wiki/src/news/report_2011_05-06.fr.po305
-rw-r--r--wiki/src/news/report_2011_05-06.pt.po305
-rw-r--r--wiki/src/news/report_2012_01-04.de.po276
-rw-r--r--wiki/src/news/report_2012_01-04.fa.po400
-rw-r--r--wiki/src/news/report_2012_01-04.fr.po276
-rw-r--r--wiki/src/news/report_2012_01-04.pt.po276
-rw-r--r--wiki/src/news/report_2012_07.de.po191
-rw-r--r--wiki/src/news/report_2012_07.fa.po241
-rw-r--r--wiki/src/news/report_2012_07.fr.po191
-rw-r--r--wiki/src/news/report_2012_07.pt.po191
-rw-r--r--wiki/src/news/report_2012_08.de.po438
-rw-r--r--wiki/src/news/report_2012_08.fa.po613
-rw-r--r--wiki/src/news/report_2012_08.fr.po438
-rw-r--r--wiki/src/news/report_2012_08.pt.po438
-rw-r--r--wiki/src/news/report_2012_09.de.po378
-rw-r--r--wiki/src/news/report_2012_09.fa.po478
-rw-r--r--wiki/src/news/report_2012_09.fr.po378
-rw-r--r--wiki/src/news/report_2012_09.pt.po378
-rw-r--r--wiki/src/news/report_2012_10.de.po375
-rw-r--r--wiki/src/news/report_2012_10.fa.po492
-rw-r--r--wiki/src/news/report_2012_10.fr.po375
-rw-r--r--wiki/src/news/report_2012_10.pt.po375
-rw-r--r--wiki/src/news/report_2012_11.de.po387
-rw-r--r--wiki/src/news/report_2012_11.fa.po530
-rw-r--r--wiki/src/news/report_2012_11.fr.po387
-rw-r--r--wiki/src/news/report_2012_11.pt.po387
-rw-r--r--wiki/src/news/report_2012_12.de.po178
-rw-r--r--wiki/src/news/report_2012_12.fa.po221
-rw-r--r--wiki/src/news/report_2012_12.fr.po178
-rw-r--r--wiki/src/news/report_2012_12.pt.po178
-rw-r--r--wiki/src/news/report_2013_01.de.po255
-rw-r--r--wiki/src/news/report_2013_01.fa.po324
-rw-r--r--wiki/src/news/report_2013_01.fr.po255
-rw-r--r--wiki/src/news/report_2013_01.pt.po255
-rw-r--r--wiki/src/news/report_2013_02.de.po297
-rw-r--r--wiki/src/news/report_2013_02.fa.po376
-rw-r--r--wiki/src/news/report_2013_02.fr.po297
-rw-r--r--wiki/src/news/report_2013_02.pt.po297
-rw-r--r--wiki/src/news/report_2013_03.de.po302
-rw-r--r--wiki/src/news/report_2013_03.fa.po398
-rw-r--r--wiki/src/news/report_2013_03.fr.po302
-rw-r--r--wiki/src/news/report_2013_03.pt.po302
-rw-r--r--wiki/src/news/report_2013_04.de.po285
-rw-r--r--wiki/src/news/report_2013_04.fa.po363
-rw-r--r--wiki/src/news/report_2013_04.fr.po285
-rw-r--r--wiki/src/news/report_2013_04.pt.po285
-rw-r--r--wiki/src/news/report_2013_05.de.po237
-rw-r--r--wiki/src/news/report_2013_05.fa.po295
-rw-r--r--wiki/src/news/report_2013_05.fr.po237
-rw-r--r--wiki/src/news/report_2013_05.pt.po237
-rw-r--r--wiki/src/news/report_2013_06.de.po262
-rw-r--r--wiki/src/news/report_2013_06.fa.po327
-rw-r--r--wiki/src/news/report_2013_06.fr.po262
-rw-r--r--wiki/src/news/report_2013_06.pt.po262
-rw-r--r--wiki/src/news/report_2013_07.de.po302
-rw-r--r--wiki/src/news/report_2013_07.fa.po390
-rw-r--r--wiki/src/news/report_2013_07.fr.po302
-rw-r--r--wiki/src/news/report_2013_07.pt.po302
-rw-r--r--wiki/src/news/report_2013_08.de.po295
-rw-r--r--wiki/src/news/report_2013_08.fa.po386
-rw-r--r--wiki/src/news/report_2013_08.fr.po295
-rw-r--r--wiki/src/news/report_2013_08.pt.po295
-rw-r--r--wiki/src/news/report_2013_09.de.po230
-rw-r--r--wiki/src/news/report_2013_09.fa.po339
-rw-r--r--wiki/src/news/report_2013_09.fr.po230
-rw-r--r--wiki/src/news/report_2013_09.pt.po230
-rw-r--r--wiki/src/news/report_2013_10.de.po418
-rw-r--r--wiki/src/news/report_2013_10.fa.po552
-rw-r--r--wiki/src/news/report_2013_10.fr.po418
-rw-r--r--wiki/src/news/report_2013_10.pt.po418
-rw-r--r--wiki/src/news/report_2013_11.de.po328
-rw-r--r--wiki/src/news/report_2013_11.fa.po415
-rw-r--r--wiki/src/news/report_2013_11.fr.po328
-rw-r--r--wiki/src/news/report_2013_11.pt.po328
-rw-r--r--wiki/src/news/report_2013_12.de.po443
-rw-r--r--wiki/src/news/report_2013_12.fa.po575
-rw-r--r--wiki/src/news/report_2013_12.fr.po443
-rw-r--r--wiki/src/news/report_2013_12.pt.po443
-rw-r--r--wiki/src/news/report_2014_01.de.po259
-rw-r--r--wiki/src/news/report_2014_01.fa.po325
-rw-r--r--wiki/src/news/report_2014_01.fr.po259
-rw-r--r--wiki/src/news/report_2014_01.pt.po259
-rw-r--r--wiki/src/news/report_2014_02.de.po429
-rw-r--r--wiki/src/news/report_2014_02.fa.po570
-rw-r--r--wiki/src/news/report_2014_02.fr.po429
-rw-r--r--wiki/src/news/report_2014_02.pt.po429
-rw-r--r--wiki/src/news/report_2014_03.de.po447
-rw-r--r--wiki/src/news/report_2014_03.fa.po583
-rw-r--r--wiki/src/news/report_2014_03.fr.po447
-rw-r--r--wiki/src/news/report_2014_03.pt.po447
-rw-r--r--wiki/src/news/report_2014_04.de.po433
-rw-r--r--wiki/src/news/report_2014_04.fa.po583
-rw-r--r--wiki/src/news/report_2014_04.fr.po433
-rw-r--r--wiki/src/news/report_2014_04.pt.po433
-rw-r--r--wiki/src/news/report_2014_05.de.po475
-rw-r--r--wiki/src/news/report_2014_05.fa.po614
-rw-r--r--wiki/src/news/report_2014_05.fr.po475
-rw-r--r--wiki/src/news/report_2014_05.pt.po475
-rw-r--r--wiki/src/news/report_2014_06-07.de.po591
-rw-r--r--wiki/src/news/report_2014_06-07.fa.po745
-rw-r--r--wiki/src/news/report_2014_06-07.fr.po591
-rw-r--r--wiki/src/news/report_2014_06-07.pt.po591
-rw-r--r--wiki/src/news/report_2015_01-02.de.po391
-rw-r--r--wiki/src/news/report_2015_01-02.fa.po490
-rw-r--r--wiki/src/news/report_2015_01-02.fr.po391
-rw-r--r--wiki/src/news/report_2015_01-02.pt.po391
-rw-r--r--wiki/src/news/report_2015_03.de.po422
-rw-r--r--wiki/src/news/report_2015_03.fa.po550
-rw-r--r--wiki/src/news/report_2015_03.fr.po422
-rw-r--r--wiki/src/news/report_2015_03.pt.po422
-rw-r--r--wiki/src/news/report_2015_04.de.po293
-rw-r--r--wiki/src/news/report_2015_04.fa.po382
-rw-r--r--wiki/src/news/report_2015_04.fr.po293
-rw-r--r--wiki/src/news/report_2015_04.pt.po293
-rw-r--r--wiki/src/news/report_2015_05.de.po436
-rw-r--r--wiki/src/news/report_2015_05.fa.po555
-rw-r--r--wiki/src/news/report_2015_05.fr.po436
-rw-r--r--wiki/src/news/report_2015_05.mdwn77
-rw-r--r--wiki/src/news/report_2015_05.pt.po436
-rw-r--r--wiki/src/news/report_2015_06.de.po327
-rw-r--r--wiki/src/news/report_2015_06.fa.po324
-rw-r--r--wiki/src/news/report_2015_06.fr.po327
-rw-r--r--wiki/src/news/report_2015_06.pt.po327
-rw-r--r--wiki/src/news/report_2015_07.de.po345
-rw-r--r--wiki/src/news/report_2015_07.fa.po338
-rw-r--r--wiki/src/news/report_2015_07.fr.po345
-rw-r--r--wiki/src/news/report_2015_07.pt.po345
-rw-r--r--wiki/src/news/report_2015_08.mdwn (renamed from wiki/src/blueprint/report_2015_08.mdwn)54
-rw-r--r--wiki/src/news/report_2015_12.mdwn112
-rw-r--r--wiki/src/news/report_2016_01.mdwn166
-rw-r--r--wiki/src/news/signing_key_transition.de.po9
-rw-r--r--wiki/src/news/signing_key_transition.fa.po94
-rw-r--r--wiki/src/news/signing_key_transition.fr.po19
-rw-r--r--wiki/src/news/signing_key_transition.mdwn7
-rw-r--r--wiki/src/news/signing_key_transition.pt.po9
-rw-r--r--wiki/src/news/test_0.13-rc1.de.po230
-rw-r--r--wiki/src/news/test_0.13-rc1.fa.po275
-rw-r--r--wiki/src/news/test_0.13-rc1.fr.po230
-rw-r--r--wiki/src/news/test_0.13-rc1.pt.po230
-rw-r--r--wiki/src/news/test_0.14-rc1.de.po521
-rw-r--r--wiki/src/news/test_0.14-rc1.fa.po635
-rw-r--r--wiki/src/news/test_0.14-rc1.fr.po521
-rw-r--r--wiki/src/news/test_0.14-rc1.pt.po521
-rw-r--r--wiki/src/news/test_0.14-rc2.de.po558
-rw-r--r--wiki/src/news/test_0.14-rc2.fa.po683
-rw-r--r--wiki/src/news/test_0.14-rc2.fr.po558
-rw-r--r--wiki/src/news/test_0.14-rc2.pt.po558
-rw-r--r--wiki/src/news/test_0.15-rc1.de.po235
-rw-r--r--wiki/src/news/test_0.15-rc1.fa.po286
-rw-r--r--wiki/src/news/test_0.15-rc1.fr.po235
-rw-r--r--wiki/src/news/test_0.15-rc1.pt.po235
-rw-r--r--wiki/src/news/test_0.16-rc1.de.po213
-rw-r--r--wiki/src/news/test_0.16-rc1.fa.po241
-rw-r--r--wiki/src/news/test_0.16-rc1.fr.po213
-rw-r--r--wiki/src/news/test_0.16-rc1.pt.po213
-rw-r--r--wiki/src/news/test_0.17-rc1.de.po245
-rw-r--r--wiki/src/news/test_0.17-rc1.fa.po279
-rw-r--r--wiki/src/news/test_0.17-rc1.fr.po245
-rw-r--r--wiki/src/news/test_0.17-rc1.pt.po245
-rw-r--r--wiki/src/news/test_0.17.2-rc1.de.po187
-rw-r--r--wiki/src/news/test_0.17.2-rc1.fa.po230
-rw-r--r--wiki/src/news/test_0.17.2-rc1.fr.po241
-rw-r--r--wiki/src/news/test_0.17.2-rc1.pt.po187
-rw-r--r--wiki/src/news/test_0.18-rc1.de.po237
-rw-r--r--wiki/src/news/test_0.18-rc1.fa.po269
-rw-r--r--wiki/src/news/test_0.18-rc1.fr.po253
-rw-r--r--wiki/src/news/test_0.18-rc1.pt.po237
-rw-r--r--wiki/src/news/test_0.19-rc1.de.po175
-rw-r--r--wiki/src/news/test_0.19-rc1.fa.po202
-rw-r--r--wiki/src/news/test_0.19-rc1.fr.po199
-rw-r--r--wiki/src/news/test_0.19-rc1.pt.po175
-rw-r--r--wiki/src/news/test_0.20-rc1.de.po188
-rw-r--r--wiki/src/news/test_0.20-rc1.fa.po229
-rw-r--r--wiki/src/news/test_0.20-rc1.fr.po234
-rw-r--r--wiki/src/news/test_0.20-rc1.pt.po188
-rw-r--r--wiki/src/news/test_0.21-rc1.de.po173
-rw-r--r--wiki/src/news/test_0.21-rc1.fa.po213
-rw-r--r--wiki/src/news/test_0.21-rc1.fr.po200
-rw-r--r--wiki/src/news/test_0.21-rc1.pt.po173
-rw-r--r--wiki/src/news/test_0.22-rc1.de.po198
-rw-r--r--wiki/src/news/test_0.22-rc1.fa.po232
-rw-r--r--wiki/src/news/test_0.22-rc1.fr.po198
-rw-r--r--wiki/src/news/test_0.22-rc1.pt.po198
-rw-r--r--wiki/src/news/test_0.22.1-rc1.de.po240
-rw-r--r--wiki/src/news/test_0.22.1-rc1.fa.po326
-rw-r--r--wiki/src/news/test_0.22.1-rc1.fr.po350
-rw-r--r--wiki/src/news/test_0.22.1-rc1.pt.po240
-rw-r--r--wiki/src/news/test_0.23-rc1.de.po419
-rw-r--r--wiki/src/news/test_0.23-rc1.fa.po522
-rw-r--r--wiki/src/news/test_0.23-rc1.fr.po419
-rw-r--r--wiki/src/news/test_0.23-rc1.pt.po419
-rw-r--r--wiki/src/news/test_2.2-rc1.de.po226
-rw-r--r--wiki/src/news/test_2.2-rc1.fa.po226
-rw-r--r--wiki/src/news/test_2.2-rc1.fr.po226
-rw-r--r--wiki/src/news/test_2.2-rc1.mdwn118
-rw-r--r--wiki/src/news/test_2.2-rc1.pt.po226
-rw-r--r--wiki/src/news/version_0.10.1.de.po132
-rw-r--r--wiki/src/news/version_0.10.1.fa.po134
-rw-r--r--wiki/src/news/version_0.10.1.fr.po132
-rw-r--r--wiki/src/news/version_0.10.1.pt.po132
-rw-r--r--wiki/src/news/version_0.10.2.de.po112
-rw-r--r--wiki/src/news/version_0.10.2.fa.po114
-rw-r--r--wiki/src/news/version_0.10.2.fr.po112
-rw-r--r--wiki/src/news/version_0.10.2.pt.po112
-rw-r--r--wiki/src/news/version_0.10.de.po200
-rw-r--r--wiki/src/news/version_0.10.fa.po209
-rw-r--r--wiki/src/news/version_0.10.fr.po200
-rw-r--r--wiki/src/news/version_0.10.pt.po200
-rw-r--r--wiki/src/news/version_0.11.de.po185
-rw-r--r--wiki/src/news/version_0.11.fa.po189
-rw-r--r--wiki/src/news/version_0.11.fr.po185
-rw-r--r--wiki/src/news/version_0.11.pt.po185
-rw-r--r--wiki/src/news/version_0.12.1.de.po124
-rw-r--r--wiki/src/news/version_0.12.1.fa.po130
-rw-r--r--wiki/src/news/version_0.12.1.fr.po124
-rw-r--r--wiki/src/news/version_0.12.1.pt.po124
-rw-r--r--wiki/src/news/version_0.12.de.po165
-rw-r--r--wiki/src/news/version_0.12.fa.po168
-rw-r--r--wiki/src/news/version_0.12.fr.po165
-rw-r--r--wiki/src/news/version_0.12.pt.po165
-rw-r--r--wiki/src/news/version_0.13.de.po170
-rw-r--r--wiki/src/news/version_0.13.fa.po184
-rw-r--r--wiki/src/news/version_0.13.fr.po170
-rw-r--r--wiki/src/news/version_0.13.pt.po170
-rw-r--r--wiki/src/news/version_0.14.de.po146
-rw-r--r--wiki/src/news/version_0.14.fa.po150
-rw-r--r--wiki/src/news/version_0.14.fr.po186
-rw-r--r--wiki/src/news/version_0.14.pt.po146
-rw-r--r--wiki/src/news/version_0.15.de.po154
-rw-r--r--wiki/src/news/version_0.15.fa.po161
-rw-r--r--wiki/src/news/version_0.15.fr.po193
-rw-r--r--wiki/src/news/version_0.15.pt.po154
-rw-r--r--wiki/src/news/version_0.16.de.po152
-rw-r--r--wiki/src/news/version_0.16.fa.po156
-rw-r--r--wiki/src/news/version_0.16.fr.po199
-rw-r--r--wiki/src/news/version_0.16.pt.po152
-rw-r--r--wiki/src/news/version_0.17.1.de.po131
-rw-r--r--wiki/src/news/version_0.17.1.fa.po135
-rw-r--r--wiki/src/news/version_0.17.1.fr.po157
-rw-r--r--wiki/src/news/version_0.17.1.pt.po131
-rw-r--r--wiki/src/news/version_0.17.2.de.po135
-rw-r--r--wiki/src/news/version_0.17.2.fa.po140
-rw-r--r--wiki/src/news/version_0.17.2.fr.po167
-rw-r--r--wiki/src/news/version_0.17.2.pt.po135
-rw-r--r--wiki/src/news/version_0.17.de.po176
-rw-r--r--wiki/src/news/version_0.17.fa.po183
-rw-r--r--wiki/src/news/version_0.17.fr.po241
-rw-r--r--wiki/src/news/version_0.17.pt.po176
-rw-r--r--wiki/src/news/version_0.18.de.po163
-rw-r--r--wiki/src/news/version_0.18.fa.po169
-rw-r--r--wiki/src/news/version_0.18.fr.po186
-rw-r--r--wiki/src/news/version_0.18.pt.po163
-rw-r--r--wiki/src/news/version_0.19.de.po147
-rw-r--r--wiki/src/news/version_0.19.fa.po152
-rw-r--r--wiki/src/news/version_0.19.fr.po157
-rw-r--r--wiki/src/news/version_0.19.pt.po147
-rw-r--r--wiki/src/news/version_0.2.de.po38
-rw-r--r--wiki/src/news/version_0.2.fa.po40
-rw-r--r--wiki/src/news/version_0.2.fr.po39
-rw-r--r--wiki/src/news/version_0.2.pt.po38
-rw-r--r--wiki/src/news/version_0.20.1.de.po191
-rw-r--r--wiki/src/news/version_0.20.1.fa.po193
-rw-r--r--wiki/src/news/version_0.20.1.fr.po236
-rw-r--r--wiki/src/news/version_0.20.1.pt.po191
-rw-r--r--wiki/src/news/version_0.20.de.po156
-rw-r--r--wiki/src/news/version_0.20.fa.po158
-rw-r--r--wiki/src/news/version_0.20.fr.po193
-rw-r--r--wiki/src/news/version_0.20.pt.po156
-rw-r--r--wiki/src/news/version_0.21.de.po159
-rw-r--r--wiki/src/news/version_0.21.fa.po162
-rw-r--r--wiki/src/news/version_0.21.fr.po199
-rw-r--r--wiki/src/news/version_0.21.pt.po159
-rw-r--r--wiki/src/news/version_0.22.1.de.po195
-rw-r--r--wiki/src/news/version_0.22.1.fa.po162
-rw-r--r--wiki/src/news/version_0.22.1.fr.po212
-rw-r--r--wiki/src/news/version_0.22.1.pt.po157
-rw-r--r--wiki/src/news/version_0.22.de.po187
-rw-r--r--wiki/src/news/version_0.22.fa.po195
-rw-r--r--wiki/src/news/version_0.22.fr.po190
-rw-r--r--wiki/src/news/version_0.22.pt.po187
-rw-r--r--wiki/src/news/version_0.23.de.po190
-rw-r--r--wiki/src/news/version_0.23.fa.po194
-rw-r--r--wiki/src/news/version_0.23.fr.po267
-rw-r--r--wiki/src/news/version_0.23.pt.po190
-rw-r--r--wiki/src/news/version_0.3.de.po42
-rw-r--r--wiki/src/news/version_0.3.fa.po44
-rw-r--r--wiki/src/news/version_0.3.fr.po43
-rw-r--r--wiki/src/news/version_0.3.pt.po42
-rw-r--r--wiki/src/news/version_0.4.1.de.po92
-rw-r--r--wiki/src/news/version_0.4.1.fa.po94
-rw-r--r--wiki/src/news/version_0.4.1.fr.po108
-rw-r--r--wiki/src/news/version_0.4.1.pt.po92
-rw-r--r--wiki/src/news/version_0.4.2.de.po66
-rw-r--r--wiki/src/news/version_0.4.2.fa.po68
-rw-r--r--wiki/src/news/version_0.4.2.fr.po66
-rw-r--r--wiki/src/news/version_0.4.2.pt.po66
-rw-r--r--wiki/src/news/version_0.5.de.po126
-rw-r--r--wiki/src/news/version_0.5.fa.po128
-rw-r--r--wiki/src/news/version_0.5.fr.po126
-rw-r--r--wiki/src/news/version_0.5.pt.po126
-rw-r--r--wiki/src/news/version_0.6.1.de.po78
-rw-r--r--wiki/src/news/version_0.6.1.fa.po80
-rw-r--r--wiki/src/news/version_0.6.1.fr.po78
-rw-r--r--wiki/src/news/version_0.6.1.pt.po78
-rw-r--r--wiki/src/news/version_0.6.2.de.po82
-rw-r--r--wiki/src/news/version_0.6.2.fa.po84
-rw-r--r--wiki/src/news/version_0.6.2.fr.po82
-rw-r--r--wiki/src/news/version_0.6.2.pt.po82
-rw-r--r--wiki/src/news/version_0.6.de.po152
-rw-r--r--wiki/src/news/version_0.6.fa.po156
-rw-r--r--wiki/src/news/version_0.6.fr.po152
-rw-r--r--wiki/src/news/version_0.6.pt.po152
-rw-r--r--wiki/src/news/version_0.7.1.de.po164
-rw-r--r--wiki/src/news/version_0.7.1.fa.po170
-rw-r--r--wiki/src/news/version_0.7.1.fr.po164
-rw-r--r--wiki/src/news/version_0.7.1.pt.po164
-rw-r--r--wiki/src/news/version_0.7.2.de.po109
-rw-r--r--wiki/src/news/version_0.7.2.fa.po113
-rw-r--r--wiki/src/news/version_0.7.2.fr.po109
-rw-r--r--wiki/src/news/version_0.7.2.pt.po109
-rw-r--r--wiki/src/news/version_0.7.de.po168
-rw-r--r--wiki/src/news/version_0.7.fa.po173
-rw-r--r--wiki/src/news/version_0.7.fr.po168
-rw-r--r--wiki/src/news/version_0.7.pt.po168
-rw-r--r--wiki/src/news/version_0.8.1.de.po122
-rw-r--r--wiki/src/news/version_0.8.1.fa.po124
-rw-r--r--wiki/src/news/version_0.8.1.fr.po122
-rw-r--r--wiki/src/news/version_0.8.1.pt.po122
-rw-r--r--wiki/src/news/version_0.8.de.po148
-rw-r--r--wiki/src/news/version_0.8.fa.po150
-rw-r--r--wiki/src/news/version_0.8.fr.po148
-rw-r--r--wiki/src/news/version_0.8.pt.po148
-rw-r--r--wiki/src/news/version_0.9.de.po173
-rw-r--r--wiki/src/news/version_0.9.fa.po176
-rw-r--r--wiki/src/news/version_0.9.fr.po173
-rw-r--r--wiki/src/news/version_0.9.pt.po173
-rw-r--r--wiki/src/news/version_1.4.1.de.po43
-rw-r--r--wiki/src/news/version_1.4.1.fa.po47
-rw-r--r--wiki/src/news/version_1.4.1.fr.po48
-rw-r--r--wiki/src/news/version_1.4.1.mdwn22
-rw-r--r--wiki/src/news/version_1.4.1.pt.po43
-rw-r--r--wiki/src/news/version_1.4.de.po146
-rw-r--r--wiki/src/news/version_1.4.fa.po167
-rw-r--r--wiki/src/news/version_1.4.fr.po146
-rw-r--r--wiki/src/news/version_1.4.mdwn77
-rw-r--r--wiki/src/news/version_1.4.pt.po146
-rw-r--r--wiki/src/news/version_1.5.1.de.po10
-rw-r--r--wiki/src/news/version_1.5.1.fa.po23
-rw-r--r--wiki/src/news/version_1.5.1.fr.po10
-rw-r--r--wiki/src/news/version_1.5.1.mdwn4
-rw-r--r--wiki/src/news/version_1.5.1.pt.po10
-rw-r--r--wiki/src/news/version_1.5.de.po71
-rw-r--r--wiki/src/news/version_1.5.fa.po71
-rw-r--r--wiki/src/news/version_1.5.fr.po76
-rw-r--r--wiki/src/news/version_1.5.mdwn28
-rw-r--r--wiki/src/news/version_1.5.pt.po71
-rw-r--r--wiki/src/news/version_1.6.de.po42
-rw-r--r--wiki/src/news/version_1.6.fa.po56
-rw-r--r--wiki/src/news/version_1.6.fr.po42
-rw-r--r--wiki/src/news/version_1.6.mdwn20
-rw-r--r--wiki/src/news/version_1.6.pt.po37
-rw-r--r--wiki/src/news/version_1.7.de.po133
-rw-r--r--wiki/src/news/version_1.7.fa.po111
-rw-r--r--wiki/src/news/version_1.7.fr.po133
-rw-r--r--wiki/src/news/version_1.7.mdwn50
-rw-r--r--wiki/src/news/version_1.7.pt.po93
-rw-r--r--wiki/src/news/version_1.8.1.de.po28
-rw-r--r--wiki/src/news/version_1.8.1.fa.po43
-rw-r--r--wiki/src/news/version_1.8.1.fr.po78
-rw-r--r--wiki/src/news/version_1.8.1.mdwn8
-rw-r--r--wiki/src/news/version_1.8.1.pt.po20
-rw-r--r--wiki/src/news/version_1.8.2.de.po23
-rw-r--r--wiki/src/news/version_1.8.2.fa.po27
-rw-r--r--wiki/src/news/version_1.8.2.fr.po27
-rw-r--r--wiki/src/news/version_1.8.2.mdwn4
-rw-r--r--wiki/src/news/version_1.8.2.pt.po27
-rw-r--r--wiki/src/news/version_1.8.de.po84
-rw-r--r--wiki/src/news/version_1.8.fa.po79
-rw-r--r--wiki/src/news/version_1.8.fr.po85
-rw-r--r--wiki/src/news/version_1.8.mdwn28
-rw-r--r--wiki/src/news/version_1.8.pt.po60
-rw-r--r--wiki/src/news/version_2.0.1.de.po138
-rw-r--r--wiki/src/news/version_2.0.1.fa.po115
-rw-r--r--wiki/src/news/version_2.0.1.fr.po134
-rw-r--r--wiki/src/news/version_2.0.1.mdwn41
-rw-r--r--wiki/src/news/version_2.0.1.pt.po115
-rw-r--r--wiki/src/news/version_2.0.de.po185
-rw-r--r--wiki/src/news/version_2.0.fa.po130
-rw-r--r--wiki/src/news/version_2.0.fr.po204
-rw-r--r--wiki/src/news/version_2.0.mdwn67
-rw-r--r--wiki/src/news/version_2.0.pt.po130
-rw-r--r--wiki/src/news/version_2.0/activities_overview.png (renamed from wiki/src/inc/release_notes/2.0/activities_overview.png)bin54228 -> 54228 bytes
-rw-r--r--wiki/src/news/version_2.0/applications_menu.png (renamed from wiki/src/inc/release_notes/2.0/applications_menu.png)bin18322 -> 18322 bytes
-rw-r--r--wiki/src/press/media_appearances_2016.de.po25
-rw-r--r--wiki/src/press/media_appearances_2016.fa.po25
-rw-r--r--wiki/src/press/media_appearances_2016.fr.po25
-rw-r--r--wiki/src/press/media_appearances_2016.mdwn9
-rw-r--r--wiki/src/press/media_appearances_2016.pt.po25
-rw-r--r--wiki/src/security/Numerous_security_holes_in_1.7.fr.po48
-rw-r--r--wiki/src/security/Numerous_security_holes_in_1.8.2.de.po6
-rw-r--r--wiki/src/security/Numerous_security_holes_in_1.8.fr.po32
-rw-r--r--wiki/src/security/Numerous_security_holes_in_2.0.de.po76
-rw-r--r--wiki/src/security/Numerous_security_holes_in_2.0.fa.po71
-rw-r--r--wiki/src/security/Numerous_security_holes_in_2.0.fr.po71
-rw-r--r--wiki/src/security/Numerous_security_holes_in_2.0.mdwn18
-rw-r--r--wiki/src/security/Numerous_security_holes_in_2.0.pt.po71
-rw-r--r--wiki/src/shortcuts.mdwn2
-rw-r--r--wiki/src/support/known_issues.de.po80
-rw-r--r--wiki/src/support/known_issues.fa.po109
-rw-r--r--wiki/src/support/known_issues.fr.po113
-rw-r--r--wiki/src/support/known_issues.mdwn43
-rw-r--r--wiki/src/support/known_issues.pt.po84
-rw-r--r--wiki/src/support/learn.de.po63
-rw-r--r--wiki/src/support/learn.fa.po63
-rw-r--r--wiki/src/support/learn.fr.po75
-rw-r--r--wiki/src/support/learn.mdwn36
-rw-r--r--wiki/src/support/learn.pt.po63
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.1.iso.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.1.packages (renamed from wiki/src/torrents/files/tails-i386-2.0.packages)37
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.1.torrentbin0 -> 87000 bytes
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.1.torrent.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.iso.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.torrentbin86994 -> 0 bytes
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0.torrent.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0~beta1.iso.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.0~rc1.iso.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.2~rc1.iso.sig16
-rw-r--r--wiki/src/torrents/files/tails-i386-2.2~rc1.torrentbin0 -> 87006 bytes
-rw-r--r--wiki/src/torrents/files/tails-i386-2.2~rc1.torrent.sig16
-rw-r--r--wiki/src/upgrade/clone.de.po34
-rw-r--r--wiki/src/upgrade/clone/overview.de.po30
-rw-r--r--wiki/src/upgrade/tails.de.po112
-rw-r--r--wiki/src/upgrade/tails/overview.de.po30
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.1/i386/alpha/upgrades.yml15
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.1/i386/alpha/upgrades.yml.pgp26
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.2/i386/alpha/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.2/i386/alpha/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.2/i386/stable/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0.2/i386/stable/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0/i386/alpha/upgrades.yml15
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0/i386/alpha/upgrades.yml.pgp26
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0/i386/stable/upgrades.yml15
-rw-r--r--wiki/src/upgrade/v1/Tails/2.0/i386/stable/upgrades.yml.pgp26
-rw-r--r--wiki/src/upgrade/v1/Tails/2.2~rc1/i386/alpha/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.2~rc1/i386/alpha/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.2~rc1/i386/stable/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.2~rc1/i386/stable/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.3/i386/alpha/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.3/i386/alpha/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.3/i386/stable/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.3/i386/stable/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.4/i386/alpha/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.4/i386/alpha/upgrades.yml.pgp16
-rw-r--r--wiki/src/upgrade/v1/Tails/2.4/i386/stable/upgrades.yml5
-rw-r--r--wiki/src/upgrade/v1/Tails/2.4/i386/stable/upgrades.yml.pgp16
872 files changed, 14553 insertions, 95302 deletions
diff --git a/config/amnesia b/config/amnesia
index 4e7584e..7d8d521 100644
--- a/config/amnesia
+++ b/config/amnesia
@@ -32,7 +32,7 @@ fi
# Compute the current Amnesia's version once for all
AMNESIA_NOW="`date --utc '+%Y%m%dT%H%MZ'`"
AMNESIA_TODAY="`date '+%Y%m%d'`"
-AMNESIA_VERSION="`dpkg-parsechangelog | sed -n 's/^Version: //p'`"
+AMNESIA_VERSION="`dpkg-parsechangelog -SVersion`"
AMNESIA_FULL_VERSION="${AMNESIA_VERSION} - ${AMNESIA_TODAY}"
# Developpers' data used by git-dch, debcommit and friends in the release script
diff --git a/config/chroot_local-hooks/10-tbb b/config/chroot_local-hooks/10-tbb
index 9c4a008..ac47e06 100755
--- a/config/chroot_local-hooks/10-tbb
+++ b/config/chroot_local-hooks/10-tbb
@@ -4,12 +4,13 @@ set -eu
echo "Install the Tor Browser"
-# Import the TBB_INSTALL, TBB_PROFILE and TBB_EXT variables, which
-# contains the paths we will split TBB's actual browser (binaries
-# etc), user data and extension into. While this differs from how the
-# TBB organizes the files, the end result will be the same, and it's
-# practical since when creating a new browser profile we can simply
-# copy the profile directory without duplicating all extensions.
+# Import the TBB_INSTALL, TBB_PROFILE, TBB_EXT and
+# TOR_LAUNCHER_INSTALL variables, which contains the paths we will
+# split TBB's actual browser (binaries etc), user data and extension
+# into. While this differs from how the TBB organizes the files, the
+# end result will be the same, and it's practical since when creating
+# a new browser profile we can simply copy the profile directory
+# without duplicating all extensions.
. /usr/local/lib/tails-shell-library/tor-browser.sh
download_and_verify_files() {
@@ -70,11 +71,11 @@ install_tor_browser() {
# profile but we want to keep it as a standalone application
# when Tails is started in "bridge mode".
torlauncher_xpi_path="${prep}/TorBrowser/Data/Browser/profile.default/extensions/tor-launcher@torproject.org.xpi"
- 7z x -o'/usr/share/tor-launcher-standalone' "${torlauncher_xpi_path}"
+ 7z x -o"${TOR_LAUNCHER_INSTALL}" "${torlauncher_xpi_path}"
torlauncher_version="$(sed -n \
's,^ <em:version>\([0-9\.]\+\)</em:version>,\1,p' \
- '/usr/share/tor-launcher-standalone/install.rdf')"
- cat > '/usr/share/tor-launcher-standalone/application.ini' << EOF
+ "${TOR_LAUNCHER_INSTALL}/install.rdf")"
+ cat > "${TOR_LAUNCHER_INSTALL}/application.ini" << EOF
[App]
Vendor=TorProject
Name=TorLauncher
@@ -89,7 +90,7 @@ MaxVersion=*.*.*
[Shell]
Icon=icon.png
EOF
- chmod -R a+rX '/usr/share/tor-launcher-standalone'
+ chmod -R a+rX "${TOR_LAUNCHER_INSTALL}"
rm "${torlauncher_xpi_path}"
# The Tor Browser will fail, complaining about an incomplete profile,
diff --git a/config/chroot_local-hooks/11-localize_browser b/config/chroot_local-hooks/11-localize_browser
index e4a1c30..9b3cf78 100644
--- a/config/chroot_local-hooks/11-localize_browser
+++ b/config/chroot_local-hooks/11-localize_browser
@@ -86,7 +86,7 @@ while IFS=: read MOZILLA_LOCALE LOCATION LOCALIZED_LANG STARTPAGE_LANG STARTPAGE
# mix them up.
CAPITALIZED_LANG_CODE="$(echo "${LANG_CODE}" | tr 'a-z' 'A-Z')"
LOCALIZED_WIKIPEDIA_ICON_PATH="/tmp/wikipedia-icon-${LANG_CODE}.png"
- WIKIPEDIA_SEARCH_ICON_BASE64_PATH="#{LOCALIZED_WIKIPEDIA_ICON_PATH}.base64"
+ WIKIPEDIA_SEARCH_ICON_BASE64_PATH="${LOCALIZED_WIKIPEDIA_ICON_PATH}.base64"
WIKIPEDIA_ICON_TEMPLATE="${BROWSER_LOCALIZATION_DIR}/Wikipedia-icon.png"
convert "${WIKIPEDIA_ICON_TEMPLATE}" \
-gravity SouthEast -pointsize 130 -font Liberation-Sans-Bold \
diff --git a/config/chroot_local-hooks/20-xul-ext_symlinks b/config/chroot_local-hooks/20-xul-ext_symlinks
index 6428394..68a3de4 100755
--- a/config/chroot_local-hooks/20-xul-ext_symlinks
+++ b/config/chroot_local-hooks/20-xul-ext_symlinks
@@ -4,5 +4,8 @@ set -e
echo "Creating prefs override for Tor Launcher"
+# Import the TOR_LAUNCHER_INSTALL variable.
+. /usr/local/lib/tails-shell-library/tor-browser.sh
+
ln -s /etc/xul-ext/tor-launcher.js \
- /usr/share/tor-launcher-standalone/defaults/preferences/000system.js
+ "${TOR_LAUNCHER_INSTALL}/defaults/preferences/000system.js"
diff --git a/config/chroot_local-includes/etc/environment b/config/chroot_local-includes/etc/environment
index 2667880..8c99aff 100644
--- a/config/chroot_local-includes/etc/environment
+++ b/config/chroot_local-includes/etc/environment
@@ -1,16 +1,5 @@
SOCKS_SERVER=127.0.0.1:9050
SOCKS5_SERVER=127.0.0.1:9050
-# Allow Torbutton access to the control port filter (for new identity).
-# Setting a password is required, otherwise Torbutton attempts to
-# read the authentication cookie file instead, which fails.
-TOR_CONTROL_HOST='127.0.0.1'
-TOR_CONTROL_PORT='9052'
-TOR_CONTROL_PASSWD='passwd'
-# Hide Torbutton's "Tor Network Settings..." context menu entry since
-# it doesn't work in Tails, and we deal with those configurations
-# strictly through Tor Launcher.
-TOR_NO_DISPLAY_NETWORK_SETTINGS='yes'
-
# Port that the monkeysphere validation agent listens on
MSVA_PORT='6136'
diff --git a/config/chroot_local-includes/etc/sudoers.d/zzz_tor-launcher b/config/chroot_local-includes/etc/sudoers.d/zzz_tor-launcher
deleted file mode 100644
index 373602b..0000000
--- a/config/chroot_local-includes/etc/sudoers.d/zzz_tor-launcher
+++ /dev/null
@@ -1 +0,0 @@
-Defaults!/usr/bin/tor-launcher always_set_home,env_keep+="TOR_CONFIGURE_ONLY TOR_CONTROL_PORT TOR_CONTROL_COOKIE_AUTH_FILE TOR_FORCE_NET_CONFIG TOR_HIDE_BROWSER_LOGO"
diff --git a/config/chroot_local-includes/usr/bin/tor-launcher b/config/chroot_local-includes/usr/bin/tor-launcher
deleted file mode 100755
index 0e48ffd..0000000
--- a/config/chroot_local-includes/usr/bin/tor-launcher
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-set -e
-
-# Import exec_firefox() and configure_best_tor_launcher_locale()
-. /usr/local/lib/tails-shell-library/tor-browser.sh
-
-# The Tor Browser hardcodes the default profile dir to ../.. from the
-# folder storing the application.ini file supplied via -app. Sadly,
-# -profile doesn't work together with -app. Therefore we copy the
-# whole Tor Launcher application (just ~350 KB) into the user's home
-# so we can get the profile directory in a sane place.
-if [ ! -e "${HOME}"/.tor-launcher ]; then
- mkdir -p "${HOME}"/.tor-launcher
- cp -r /usr/share/tor-launcher-standalone "${HOME}"/.tor-launcher/tor-launcher-standalone
- mkdir -p "${HOME}"/.tor-launcher/TorBrowser/Data/Browser/
- cat << EOF > "${HOME}"/.tor-launcher/TorBrowser/Data/Browser/profiles.ini
-[General]
-StartWithLastProfile=1
-
-[Profile0]
-Name=default
-IsRelative=1
-Path=profile.default
-EOF
- mkdir -p "${HOME}"/.tor-launcher/TorBrowser/Data/Browser/profile.default/preferences
- configure_best_tor_launcher_locale "${HOME}"/.tor-launcher/TorBrowser/Data/Browser/profile.default
-fi
-
-exec_unconfined_firefox -app "${HOME}"/.tor-launcher/tor-launcher-standalone/application.ini
diff --git a/config/chroot_local-includes/usr/local/bin/tor-browser b/config/chroot_local-includes/usr/local/bin/tor-browser
index 90c5739..4f755db 100755
--- a/config/chroot_local-includes/usr/local/bin/tor-browser
+++ b/config/chroot_local-includes/usr/local/bin/tor-browser
@@ -20,6 +20,18 @@ PROFILE="${HOME}/.tor-browser/profile.default"
# Import exec_firefox() and configure_best_tor_browser_locale()
. /usr/local/lib/tails-shell-library/tor-browser.sh
+# Allow Torbutton access to the control port filter (for new identity).
+# Setting a password is required, otherwise Torbutton attempts to
+# read the authentication cookie file instead, which fails.
+export TOR_CONTROL_HOST='127.0.0.1'
+export TOR_CONTROL_PORT='9052'
+export TOR_CONTROL_PASSWD='passwd'
+# Hide Torbutton's "Tor Network Settings..." context menu entry since
+# it doesn't work in Tails, and we deal with those configurations
+# strictly through Tor Launcher.
+export TOR_NO_DISPLAY_NETWORK_SETTINGS='yes'
+
+
ask_for_confirmation() {
# Skip dialog if user is already running Tor Browser:
if pgrep -u amnesia -f "${TBB_INSTALL}/firefox" ; then
@@ -55,11 +67,6 @@ start_browser() {
# not enough to simply set intl.locale.matchOS to true.
configure_best_tor_browser_locale "${PROFILE}"
- unset SESSION_MANAGER
-
- export FONTCONFIG_PATH="${TBB_INSTALL}/TorBrowser/Data/fontconfig"
- export FONTCONFIG_FILE="fonts.conf"
-
exec_firefox -allow-remote --class "Tor Browser" -profile "${PROFILE}" "${@}"
}
diff --git a/config/chroot_local-includes/usr/local/bin/tor-launcher b/config/chroot_local-includes/usr/local/bin/tor-launcher
new file mode 100755
index 0000000..fb4a8a9
--- /dev/null
+++ b/config/chroot_local-includes/usr/local/bin/tor-launcher
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+# Import the TOR_LAUNCHER_INSTALL variable, and exec_unconfined_firefox()
+# and configure_best_tor_launcher_locale()
+. /usr/local/lib/tails-shell-library/tor-browser.sh
+
+unset TOR_CONTROL_PASSWD
+unset TOR_FORCE_NET_CONFIG
+export TOR_CONFIGURE_ONLY=1
+export TOR_CONTROL_PORT=9051
+export TOR_CONTROL_COOKIE_AUTH_FILE=/var/run/tor/control.authcookie
+export TOR_HIDE_BROWSER_LOGO=1
+if echo "$@" | grep -qw -- --force-net-config; then
+ export TOR_FORCE_NET_CONFIG=1
+fi
+
+PROFILE="${HOME}/.tor-launcher/profile.default"
+if [ ! -d "${PROFILE}" ]; then
+ mkdir -p "${PROFILE}"
+ configure_best_tor_launcher_locale "${PROFILE}"
+fi
+
+exec_unconfined_firefox \
+ -app "${TOR_LAUNCHER_INSTALL}/application.ini" \
+ -profile "${PROFILE}"
diff --git a/config/chroot_local-includes/usr/local/lib/tails-shell-library/chroot-browser.sh b/config/chroot_local-includes/usr/local/lib/tails-shell-library/chroot-browser.sh
index a9eb872..3d3a515 100644
--- a/config/chroot_local-includes/usr/local/lib/tails-shell-library/chroot-browser.sh
+++ b/config/chroot_local-includes/usr/local/lib/tails-shell-library/chroot-browser.sh
@@ -132,8 +132,10 @@ configure_chroot_browser_profile () {
# Set preferences
local browser_prefs="${browser_profile}/preferences/prefs.js"
+ local chroot_browser_config="/usr/share/tails/chroot-browsers"
mkdir -p "$(dirname "${browser_prefs}")"
- cp "/usr/share/tails/${browser_name}/prefs.js" "${browser_prefs}"
+ cat "${chroot_browser_config}/common/prefs.js" \
+ "${chroot_browser_config}/${browser_name}/prefs.js" > "${browser_prefs}"
# Set browser home page to something that explains what's going on
if [ -n "${home_page}" ]; then
@@ -145,12 +147,14 @@ configure_chroot_browser_profile () {
rm "${chroot}/${TBB_PROFILE}/bookmarks.html"
# Set an appropriate theme
- cat "/usr/share/tails/${browser_name}/theme.js" >> "${browser_prefs}"
+ cat "${chroot_browser_config}/${browser_name}/theme.js" >> "${browser_prefs}"
# Customize the GUI.
local browser_chrome="${browser_profile}/chrome/userChrome.css"
mkdir -p "$(dirname "${browser_chrome}")"
- cat "/usr/share/tails/${browser_name}/userChrome.css" >> "${browser_chrome}"
+ cat "${chroot_browser_config}/common/userChrome.css" \
+ "${chroot_browser_config}/${browser_name}/userChrome.css" >> \
+ "${browser_chrome}"
set_chroot_browser_permissions "${chroot}" "${browser_name}" "${browser_user}"
}
diff --git a/config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh b/config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh
index 709dc5c..a00411b 100644
--- a/config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh
+++ b/config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh
@@ -3,18 +3,33 @@
TBB_INSTALL=/usr/local/lib/tor-browser
TBB_PROFILE=/etc/tor-browser/profile
TBB_EXT=/usr/local/share/tor-browser-extensions
-TOR_LAUNCHER_LOCALES_DIR=/usr/share/tor-launcher-standalone/chrome/locale
+TOR_LAUNCHER_INSTALL=/usr/local/lib/tor-launcher-standalone
+TOR_LAUNCHER_LOCALES_DIR="${TOR_LAUNCHER_INSTALL}/chrome/locale"
+
+exec_firefox_helper() {
+ local binary="${1}"; shift
+
+ export LD_LIBRARY_PATH="${TBB_INSTALL}"
+ export FONTCONFIG_PATH="${TBB_INSTALL}/TorBrowser/Data/fontconfig"
+ export FONTCONFIG_FILE="fonts.conf"
+
+ # The Tor Browser often assumes that the current directory is
+ # where the browser lives, e.g. for the fixed set of fonts set by
+ # fontconfig above.
+ cd "${TBB_INSTALL}"
+
+ # From start-tor-browser:
+ unset SESSION_MANAGER
+
+ exec "${TBB_INSTALL}"/"${binary}" "${@}"
+}
exec_firefox() {
- LD_LIBRARY_PATH="${TBB_INSTALL}"
- export LD_LIBRARY_PATH
- exec "${TBB_INSTALL}"/firefox "${@}"
+ exec_firefox_helper firefox "${@}"
}
exec_unconfined_firefox() {
- LD_LIBRARY_PATH="${TBB_INSTALL}"
- export LD_LIBRARY_PATH
- exec "${TBB_INSTALL}"/firefox-unconfined "${@}"
+ exec_firefox_helper firefox-unconfined "${@}"
}
guess_best_tor_browser_locale() {
diff --git a/config/chroot_local-includes/usr/local/sbin/tails-tor-launcher b/config/chroot_local-includes/usr/local/sbin/tails-tor-launcher
index f8ffb7d..91c0104 100755
--- a/config/chroot_local-includes/usr/local/sbin/tails-tor-launcher
+++ b/config/chroot_local-includes/usr/local/sbin/tails-tor-launcher
@@ -5,28 +5,20 @@ set -e
# Import export_gnome_env().
. /usr/local/lib/tails-shell-library/gnome.sh
-unset TOR_CONTROL_PASSWD
-unset TOR_FORCE_NET_CONFIG
-TOR_CONFIGURE_ONLY=1
-TOR_CONTROL_PORT=9051
-TOR_CONTROL_COOKIE_AUTH_FILE=/var/run/tor/control.authcookie
-TOR_HIDE_BROWSER_LOGO=1
-export TOR_CONFIGURE_ONLY
-export TOR_CONTROL_PORT
-export TOR_CONTROL_COOKIE_AUTH_FILE
-export TOR_HIDE_BROWSER_LOGO
-
-if echo "$@" | grep -qw -- --force-net-config; then
- TOR_FORCE_NET_CONFIG=1
- export TOR_FORCE_NET_CONFIG
-fi
-
# Get LIVE_USERNAME
. /etc/live/config.d/username.conf
# Get LANG
. /etc/default/locale
+# The Tor Browser hardcodes the default profile dir to inside
+# ../TorBrowser/Data/Browser/ from the folder storing the
+# application.ini file supplied via -app. We can use -profile to load
+# it from a different place, but then the Caches directory
+# must still exist and be accessible in the above folder.
+mkdir -p /usr/local/lib/TorBrowser/Data/Browser/Caches
+chmod -R a+rX /usr/local/lib/TorBrowser
+
until pgrep -u "${LIVE_USERNAME}" '^ibus-daemon' >/dev/null ; do
sleep 5
done
@@ -34,11 +26,8 @@ done
export LANG
export_gnome_env
sudo -u ${LIVE_USERNAME} xhost +SI:localuser:tor-launcher
-gksudo -u tor-launcher /usr/bin/tor-launcher
+gksudo -u tor-launcher /usr/local/bin/tor-launcher -- "$@"
RET=${?}
sudo -u ${LIVE_USERNAME} xhost -SI:localuser:tor-launcher
-# Save ~10 RAM (due to the tmpfs) by removing this unused file
-rm -f /usr/Data/Browser/*.default/places.sqlite
-
exit ${RET}
diff --git a/config/chroot_local-includes/usr/share/tails/unsafe-browser/prefs.js b/config/chroot_local-includes/usr/share/tails/chroot-browsers/common/prefs.js
index 364812d..606e9d5 100644
--- a/config/chroot_local-includes/usr/share/tails/unsafe-browser/prefs.js
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/common/prefs.js
@@ -1,38 +1,20 @@
-// Disable proxying in the chroot
-pref("network.proxy.type", 0);
-pref("network.proxy.socks_remote_dns", false);
-
// Disable update checking
pref("app.update.enabled", false);
pref("extensions.update.enabled", false);
-/* Prevent File -> Print or CTRL+P from causing the browser to hang
- for several minutes while trying to communicate with CUPS, since
- access to port 631 isn't allowed through. */
-pref("print.postscript.cups.enabled", false);
-// Hide "Get Addons" in Add-ons manager
-pref("extensions.getAddons.showPane", false);
-
-/* Google seems like the least suspicious choice of default search
- engine for the Unsafe Browser's in-the-clear traffic. */
-user_pref("browser.search.defaultenginename", "Google");
-user_pref("browser.search.selectedEngine", "Google");
-
// Disable fetching of the new tab page's Tiles links/ads. Ads are
// generally unwanted, and also the fetching is a "phone home" type of
// feature that generates traffic at least the first time the browser
-// is started.
+// is started. It won't work in e.g. the I2P Browser, too.
pref("browser.newtabpage.directory.source", "");
pref("browser.newtabpage.directory.ping", "");
// ... and disable the explanation shown the first time
pref("browser.newtabpage.introShown", true);
-// Don't use geographically specific search prefs, like
-// browser.search.*.US for US locales. Our generated amnesia branding
-// add-on localizes search-engines in an incompatible but equivalent
-// way.
-pref("browser.search.geoSpecificDefaults", false);
+/* Prevent File -> Print or CTRL+P from causing the browser to hang
+ for several minutes while trying to communicate with CUPS, since
+ access to port 631 isn't allowed through. */
+pref("print.postscript.cups.enabled", false);
-// Without setting this, the Download Management page will not update
-// the progress being made.
-pref("browser.download.panel.shown", true);
+// Hide "Get Addons" in Add-ons manager
+pref("extensions.getAddons.showPane", false);
diff --git a/config/chroot_local-includes/usr/share/tails/unsafe-browser/userChrome.css b/config/chroot_local-includes/usr/share/tails/chroot-browsers/common/userChrome.css
index 2b0c041..02176ab 100644
--- a/config/chroot_local-includes/usr/share/tails/unsafe-browser/userChrome.css
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/common/userChrome.css
@@ -1,10 +1,7 @@
-/* Required, do not remove */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-/* Hide Firefox Sync options. Sync hasn't been audited by the
- Tor Browser developers yet (Tor bug #10368), and it doesn't seem to
- work any way (Tor bug #13279). Weak passwords would be a pretty
- serious issue too. */
+/* Hide Firefox Sync options. It will not work with the I2P Browser
+ and will only promote unsupported use cases for the Unsafe Browser. */
#BrowserPreferences radio[pane="paneSync"],
#sync-button,
#sync-menu-button,
@@ -18,20 +15,23 @@
Tools -> Add-ons link to the Add-ons manager. We do not want to
encourage installing such things as it's not part of the supported
use-cases and may have privacy issues. Also they will not persist a
- restart, which is just confusing. */
+ restart, which is just confusing. In the I2P Browser, many of these
+ features will not work any way. */
#menu_openApps,
#menu_openAddons, /* traditional menu */
#add-ons-button, /* new style Firefox menu */
#wrapper-add-ons-button, /* Customize toolbar */
/* Hide the "Share this page" button in the Tool bar, which encourages
- the use of social (= tracking) networks. Note that this one likely
- will be removed upstream in the final Tor Browser 5.0 release. */
+ the use of social (= tracking) networks. These will not work in the
+ I2P browser any way. */
#social-share-button,
-/* Hide TorBrowser Health Report and its configuration option */
+/* Hide the Health Report and its configuration option. It's just a
+ blank page, for some reason. */
#appmenu_healthReport,
#dataChoicesTab,
#healthReport
+/* Do the actual hiding. */
{display: none !important}
diff --git a/config/chroot_local-includes/usr/share/tails/i2p-browser/prefs.js b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/prefs.js
index 8b080d2..3db72d1 100644
--- a/config/chroot_local-includes/usr/share/tails/i2p-browser/prefs.js
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/prefs.js
@@ -7,21 +7,9 @@ pref("network.proxy.http_port", 4444);
pref("network.proxy.no_proxies_on", "127.0.0.1");
pref("network.proxy.ssl", "127.0.0.1");
pref("network.proxy.ssl_port", 4444);
+
// Disable searching from the URL bar
pref("keyword.enabled", false);
-// Hide "Get Addons" in Add-ons manager
-pref("extensions.getAddons.showPane", false);
-/* Prevent File -> Print or CTRL+P from causing the browser to hang
- for several minutes while trying to communicate with CUPS, since
- access to port 631 isn't allowed through. */
-pref("print.postscript.cups.enabled", false);
-
-// Disable fetching of the new tab page's Tiles links/ads. It will not
-// work in the I2P Browser.
-pref("browser.newtabpage.directory.source", "");
-pref("browser.newtabpage.directory.ping", "");
-// ... and disable the explanation shown the first time
-pref("browser.newtabpage.introShown", true);
// Without setting this, the Download Management page will not update
// the progress being made.
diff --git a/config/chroot_local-includes/usr/share/tails/i2p-browser/theme.js b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/theme.js
index 3d79365..3d79365 100644
--- a/config/chroot_local-includes/usr/share/tails/i2p-browser/theme.js
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/theme.js
diff --git a/config/chroot_local-includes/usr/share/tails/i2p-browser/userChrome.css b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/userChrome.css
index 1fac475..e083af9 100644
--- a/config/chroot_local-includes/usr/share/tails/i2p-browser/userChrome.css
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/i2p-browser/userChrome.css
@@ -1,4 +1,3 @@
-/* Required, do not remove */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* Hide access to the bookmarks to try to prevent "data loss" due to users
@@ -24,17 +23,6 @@
#wrapper-history-button,
#wrapper-bookmarks-button,
-/* Hide the Tools -> Apps link to the Firefox Marketplace, and
- Tools -> Add-ons link to the Add-ons manager. We do not want to
- encourage installing such things as it's not part of the supported
- use-cases and may have privacy issues. Also they will not persist a
- restart, which is just confusing. In the I2P Browser, many of these
- features will not work any way. */
-#menu_openApps,
-#menu_openAddons, /* traditional menu */
-#add-ons-button, /* new style Firefox menu */
-#wrapper-add-ons-button, /* Customize toolbar */
-
/* Hide the sidebar menu (underneath View) since the default sidebars consist
* of history and bookmarks. Also disable the bookmark toolbar.
*/
@@ -66,27 +54,6 @@ menuitem[command="Browser:SendLink"],
[command="cmd_print"],
*/
-/* Hide the sync functionality which won't work with I2P */
-#BrowserPreferences radio[pane="paneSync"],
-#sync-button,
-#sync-menu-button,
-#sync-setup,
-#sync-setup-appmenu,
-#sync-status-button,
-#sync-syncnowitem-appmenu,
-#wrapper-sync-button,
-
-/* Hide the "Share this page" button in the Tool bar, which encourages
- the use of social (= tracking) networks. These will not work in the
- I2P browser any way. Note that this one likely will be removed
- upstream in the final Tor Browser 5.0 release. */
-#social-share-button,
-
-/* Hide the "Keyboard shortcuts" and "Tour" options from
-from the Help menu */
-#menu_keyboardShortcuts,
-#menu_openTour,
-
/* Without I2P search engines defined, the search bar is useless.
* Since there are no I2P search engines added to Tails (yet),
* let's hide it and the Update Pane in Firefox's Preferences.
@@ -94,9 +61,9 @@ from the Help menu */
#search-container,
#updateTab,
-/* Hide options in the Help menu that lead to disallowed resources on the
- * Internet.
- */
+/* Hide options that lead to resources inaccessible over I2P */
+#menu_keyboardShortcuts,
+#menu_openTour,
#appmenu_feedbackPage,
#appmenu_gettingStarted,
#appmenu_openHelp,
@@ -107,12 +74,7 @@ from the Help menu */
/* Hide the TorButton button from the toolbar */
#torbutton-button,
-#wrapper-torbutton-button,
-
-/* Hide TorBrowser Health Report and its configuration option */
-#appmenu_healthReport,
-#dataChoicesTab,
-#healthReport
+#wrapper-torbutton-button
-/* Now the actual hiding */
+/* Do the actual hiding. */
{display: none !important}
diff --git a/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/prefs.js b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/prefs.js
new file mode 100644
index 0000000..8062867
--- /dev/null
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/prefs.js
@@ -0,0 +1,18 @@
+// Disable proxying in the chroot
+pref("network.proxy.type", 0);
+pref("network.proxy.socks_remote_dns", false);
+
+/* Google seems like the least suspicious choice of default search
+ engine for the Unsafe Browser's in-the-clear traffic. */
+user_pref("browser.search.defaultenginename", "Google");
+user_pref("browser.search.selectedEngine", "Google");
+
+// Don't use geographically specific search prefs, like
+// browser.search.*.US for US locales. Our generated amnesia branding
+// add-on localizes search-engines in an incompatible but equivalent
+// way.
+pref("browser.search.geoSpecificDefaults", false);
+
+// Without setting this, the Download Management page will not update
+// the progress being made.
+pref("browser.download.panel.shown", true);
diff --git a/config/chroot_local-includes/usr/share/tails/unsafe-browser/theme.js b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/theme.js
index 717c3b1..717c3b1 100644
--- a/config/chroot_local-includes/usr/share/tails/unsafe-browser/theme.js
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/theme.js
diff --git a/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/userChrome.css b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/userChrome.css
new file mode 100644
index 0000000..e4d1062
--- /dev/null
+++ b/config/chroot_local-includes/usr/share/tails/chroot-browsers/unsafe-browser/userChrome.css
@@ -0,0 +1 @@
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
diff --git a/config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt b/config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt
index d5511de..0d0a1ac 100644
--- a/config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt
+++ b/config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt
@@ -1 +1 @@
-http://torbrowser-archive.tails.boum.org/5.5/
+http://torbrowser-archive.tails.boum.org/5.5.2/
diff --git a/config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt b/config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt
index 0be7356..322b9e8 100644
--- a/config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt
+++ b/config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt
@@ -1,16 +1,16 @@
-f175e3908ab741172dca082a2a1703fbb05148b51dac751507dc7632c50f693a tor-browser-linux32-5.5_ar.tar.xz
-28787dd811152b9afd1d1821a0770bd9eefe7fc25bb415c3d5ad0765665e8d8d tor-browser-linux32-5.5_de.tar.xz
-8ebf47dc26fd6d867d54cf6d04675e5bd3fdba4927beaf6af340c2a07b8f7a75 tor-browser-linux32-5.5_en-US.tar.xz
-e28c844b7fd02515cf51f245ac4be2fbc2ee77dd0053515db436090751fa7b97 tor-browser-linux32-5.5_es-ES.tar.xz
-eb56faf8639c4f7019b6adcdb0140048a95a7d165893c8d61a37780ac74b1488 tor-browser-linux32-5.5_fa.tar.xz
-ac90e739fd3fb1e096e3f728265227df81e9416b8e34345513194ef0f2e69e3f tor-browser-linux32-5.5_fr.tar.xz
-013d6b63ddb16c97cfaef532b11729b017903c80242ef6427ec24c19466f07fa tor-browser-linux32-5.5_it.tar.xz
-3dd24c7e2cf19aede85297913e36744812361cd47f5a26ddc4fca587cd0ee257 tor-browser-linux32-5.5_ja.tar.xz
-29c22c65688c87b38f291ffc73f78bd82309e2e1acb06c4716a95f38abba480b tor-browser-linux32-5.5_ko.tar.xz
-410fa9fb4d7f2404b5538a3a487b12aca87ceb26bfa2b95565a2b41ad9835beb tor-browser-linux32-5.5_nl.tar.xz
-fe9f8912254807af8e2171683fbc6b60d00357300f967a4f3dc55a796ea7c6af tor-browser-linux32-5.5_pl.tar.xz
-11936a718c8ee00a464ef24ed0454a0db50142512a67d54058e4468f854ee702 tor-browser-linux32-5.5_pt-PT.tar.xz
-954a32dc88c79ac22bb4010156c2a64eb0fa2c2e9d30fe16618f1c8b05fe8a6c tor-browser-linux32-5.5_ru.tar.xz
-a50121d3a1d3d0b60b4fb45be25122298aa55ff052b6303e789425f047e16272 tor-browser-linux32-5.5_tr.tar.xz
-25ffc583e8a8dcf4d274c6555961fdd05bc1c57c1e4b054b9e64cb07104ebe44 tor-browser-linux32-5.5_vi.tar.xz
-053cec43ed8447e2ad3a122c3d6bd80699b3569c06c26b20bbbb626effcdf406 tor-browser-linux32-5.5_zh-CN.tar.xz
+9b67450e4a4ea482b058c266edfebed219f09760dd8d02198c20eb697a1cdf82 tor-browser-linux32-5.5.2_ar.tar.xz
+3b32acd9ecb80f0c9c83c7111981e97481b236f6cf698b5a124b54f68fb9ca84 tor-browser-linux32-5.5.2_de.tar.xz
+19e36f9fd66135308202f78ea5f7f5835f2c56960efe47a44de6d8d1f3354cbe tor-browser-linux32-5.5.2_en-US.tar.xz
+1e2c4500697cd512d0e1aacdcacdf4edcd923d37d41d81f93c5f2653d0889b94 tor-browser-linux32-5.5.2_es-ES.tar.xz
+fdd12dfc1d729ed995e35ce282343421eab8085d7b986d9cb1767a26cd21e801 tor-browser-linux32-5.5.2_fa.tar.xz
+dcdec685a1f5a4b4d238787bbcb6e88d3701f83f7f9c0e9e089106a58c75da8b tor-browser-linux32-5.5.2_fr.tar.xz
+e7ad29a4fb4cf2e3553e1e1e60be3856807bce609207264c07c95aedfb97851e tor-browser-linux32-5.5.2_it.tar.xz
+adb02492193eec5a9ec3cff3724eb5e8f5a6115eb4cbb1d1127211685d8d2a62 tor-browser-linux32-5.5.2_ja.tar.xz
+7d79db5daa524deea227d4627457200dbbd7ccb14d3ea9ecf9355569eb22dcba tor-browser-linux32-5.5.2_ko.tar.xz
+3c89edcc1d532bed6ee7fb955cb58165efcaea2be9309183d403f76de475ebc4 tor-browser-linux32-5.5.2_nl.tar.xz
+15cef82dd7f4ed471391221e0313078fbce416b26426a9ced8e350e04f16e875 tor-browser-linux32-5.5.2_pl.tar.xz
+3fd03133d2c12bc23f23bf3b99b067f21ec0b3284874fecd9ff67fc0b985fdc2 tor-browser-linux32-5.5.2_pt-PT.tar.xz
+53f680c5228e2beecd08668322d0d91a39b2f1433ae5d23fa544739355c9d05c tor-browser-linux32-5.5.2_ru.tar.xz
+8be80d4ae769e1ea39c8e860e2588af5c76a75dd7bbe5c4df9d7c90baba659aa tor-browser-linux32-5.5.2_tr.tar.xz
+cb83311d8c94d1d2fa5bac7b5961a94c741de2945e76b7564b97cc407451a6d5 tor-browser-linux32-5.5.2_vi.tar.xz
+11ea21a9abc7b3425eca186d58cf49dcadb03439fa2dddc8699bf8151ec611a9 tor-browser-linux32-5.5.2_zh-CN.tar.xz
diff --git a/config/chroot_local-includes/usr/share/tails/torbrowser-AppArmor-profile.patch b/config/chroot_local-includes/usr/share/tails/torbrowser-AppArmor-profile.patch
index 3abfd8a..fa3bd94 100644
--- a/config/chroot_local-includes/usr/share/tails/torbrowser-AppArmor-profile.patch
+++ b/config/chroot_local-includes/usr/share/tails/torbrowser-AppArmor-profile.patch
@@ -1,5 +1,5 @@
---- /tmp/torbrowser-launcher-0.2.1/apparmor/torbrowser.Browser.firefox 2015-11-19 13:21:34.000000000 +0100
-+++ apparmor/torbrowser.Browser.firefox 2015-11-19 13:19:30.680460539 +0100
+--- /tmp/torbrowser-launcher-0.2.2/apparmor/torbrowser.Browser.firefox 2016-02-08 13:11:05.000000000 +0100
++++ apparmor/torbrowser.Browser.firefox 2016-02-08 13:25:15.170069917 +0100
@@ -1,13 +1,15 @@
# Last modified
#include <tunables/global>
@@ -18,7 +18,7 @@
# Uncomment the following lines if you want to give the Tor Browser read-write
# access to most of your personal files.
-@@ -17,41 +19,52 @@
+@@ -17,45 +19,52 @@
#dbus,
network tcp,
@@ -50,13 +50,17 @@
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/ r,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/* r,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/.** rwk,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/update.test/ rwk,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/.** rwk,
-- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/ r,
-- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/** r,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/ rw,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/** rw,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser.bak/updated/ rwk,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/*.so mr,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/components/*.so mr,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/browser/components/*.so mr,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/firefox rix,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/updates/[0-9]*/updater ix,
+- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/updates/0/MozUpdater/bgupdate/updater ix,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/TorBrowser/Data/Browser/profiles.ini r,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/TorBrowser/Data/Browser/profile.default/ r,
- owner @{HOME}/.local/share/torbrowser/tbb/{i686,x86_64}/tor-browser_*/Browser/TorBrowser/Data/Browser/profile.default/** rwk,
@@ -96,7 +100,7 @@
/etc/mailcap r,
/etc/mime.types r,
-@@ -74,6 +87,30 @@
+@@ -78,6 +87,30 @@
/sys/devices/pci[0-9]*/**/uevent r,
owner /{dev,run}/shm/shmfd-* rw,
@@ -127,7 +131,7 @@
# KDE 4
owner @{HOME}/.kde/share/config/* r,
-@@ -81,5 +118,10 @@
+@@ -85,5 +118,10 @@
/etc/xfce4/defaults.list r,
/usr/share/xfce4/applications/ r,
diff --git a/config/chroot_local-packageslists/tails-common.list b/config/chroot_local-packageslists/tails-common.list
index 42bc131..0dd747d 100644
--- a/config/chroot_local-packageslists/tails-common.list
+++ b/config/chroot_local-packageslists/tails-common.list
@@ -399,3 +399,6 @@ openjdk-7-jre
# Enable Electrum's Qt GUI
python-qt4
+
+# Provide gnome-open (used to open e.g. URLs in KeePassX, Icedove, Electrum...)
+libgnome2-bin
diff --git a/debian/changelog b/debian/changelog
index 58d683c..8f517bc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,54 @@
+tails (2.0.1) unstable; urgency=medium
+
+ * Major new features and changes
+ - Enable the Tor Browser's font fingerprinting protection
+ (Closes: #11000). We do it for all browsers (including
+ the Unsafe Browser and I2P Browser mainly to avoid making our
+ automated test suite overly complex. This implied to set an appropriate
+ working directory when launching the Tor Browser, to accommodate for
+ the assumptions it makes about this.
+
+ * Security fixes
+ - Upgrade Tor Browser to 5.5.2 (Closes: #11105).
+
+ * Bugfixes
+ - Repair 32-bit UEFI support (Closes: #11007); bugfix on 2.0.
+ - Add libgnome2-bin to installed packages list to provide gnome-open,
+ which fixes URL handling at least in KeePassX, Electrum and Icedove
+ (Closes: #11031); bugfix on 2.0. Thanks to segfault for the patch!
+
+ * Minor improvements
+ - Refactor and de-duplicate the chrooted browsers' configuration:
+ prefs.js, userChrome.css (Closes: #9896).
+ - Make the -profile Tor Launcher workaround simpler (Closes: #7943).
+ - Move Torbutton environment configuration to the tor-browser script,
+ instead of polluting the default system environment with it.
+ - Refresh patch against the Tor Browser AppArmor profile
+ (Closes: #11078).
+ - Propagate Tor Launcher options via the wrapper.
+ - Move tor-launcher script to /usr/local/bin.
+ - Move tor-launcher-standalone to /usr/local/lib.
+ - Move Tor Launcher env configuration closer to the place where it is used,
+ for simplicity's sake.
+
+ * Test suite
+ - Mass update browser and Tor Launcher related images due to font change,
+ caused by Tor Browser 5.5's font fingerprinting protection
+ (Closes: #11097). And then, use separate PrintToFile.png for the browsers,
+ and Evince, since it cannot be shared anymore.
+ - Adjust to the refactored chrooted browsers configuration handling.
+ - Test that Tor Launcher uses the correct Tor Browser libraries.
+ - Allow more slack when verifying that the date that was set.
+ - Bump a bit the timeout used when waiting for the remote shell.
+ - Bump timeout for the process to disappear, when closing Evince.
+ - Bump timeout when saving persistence configuration.
+ - Bump timeout for bootstrapping I2P.
+
+ * Build system
+ - Remove no longer relevant places.sqlite cleanup procedure.
+
+ -- Tails developers <tails@boum.org> Fri, 12 Feb 2016 13:00:15 +0000
+
tails (2.0) unstable; urgency=medium
* Major new features and changes
diff --git a/features/images/BrowserAddressBar.png b/features/images/BrowserAddressBar.png
index 8da3af9..1b7571f 100644
--- a/features/images/BrowserAddressBar.png
+++ b/features/images/BrowserAddressBar.png
Binary files differ
diff --git a/features/images/BrowserDownloadDialog.png b/features/images/BrowserDownloadDialog.png
index 8783b6d..469efe5 100644
--- a/features/images/BrowserDownloadDialog.png
+++ b/features/images/BrowserDownloadDialog.png
Binary files differ
diff --git a/features/images/BrowserDownloadDialogSaveAsButton.png b/features/images/BrowserDownloadDialogSaveAsButton.png
index 60933ae..bd3e1c0 100644
--- a/features/images/BrowserDownloadDialogSaveAsButton.png
+++ b/features/images/BrowserDownloadDialogSaveAsButton.png
Binary files differ
diff --git a/features/images/BrowserPrintToFile.png b/features/images/BrowserPrintToFile.png
new file mode 100644
index 0000000..568c315
--- /dev/null
+++ b/features/images/BrowserPrintToFile.png
Binary files differ
diff --git a/features/images/PrintToFile.png b/features/images/EvincePrintToFile.png
index d0b5297..d0b5297 100644
--- a/features/images/PrintToFile.png
+++ b/features/images/EvincePrintToFile.png
Binary files differ
diff --git a/features/images/GtkTorBrowserPersistentBookmark.png b/features/images/GtkTorBrowserPersistentBookmark.png
index a487495..3e3e6b7 100644
--- a/features/images/GtkTorBrowserPersistentBookmark.png
+++ b/features/images/GtkTorBrowserPersistentBookmark.png
Binary files differ
diff --git a/features/images/GtkTorBrowserPersistentBookmarkSelected.png b/features/images/GtkTorBrowserPersistentBookmarkSelected.png
index 6ad7516..ee6384c 100644
--- a/features/images/GtkTorBrowserPersistentBookmarkSelected.png
+++ b/features/images/GtkTorBrowserPersistentBookmarkSelected.png
Binary files differ
diff --git a/features/images/I2PNetworkHidden.png b/features/images/I2PNetworkHidden.png
index 99ebd45..07c8da6 100644
--- a/features/images/I2PNetworkHidden.png
+++ b/features/images/I2PNetworkHidden.png
Binary files differ
diff --git a/features/images/I2PRouterConsole.png b/features/images/I2PRouterConsole.png
index dfb67e9..6f7a8ed 100644
--- a/features/images/I2PRouterConsole.png
+++ b/features/images/I2PRouterConsole.png
Binary files differ
diff --git a/features/images/I2PSharedClientTunnels.png b/features/images/I2PSharedClientTunnels.png
index a5e34ab..22b1754 100644
--- a/features/images/I2PSharedClientTunnels.png
+++ b/features/images/I2PSharedClientTunnels.png
Binary files differ
diff --git a/features/images/SupportDocumentation.png b/features/images/SupportDocumentation.png
index ae648cd..bccfb80 100644
--- a/features/images/SupportDocumentation.png
+++ b/features/images/SupportDocumentation.png
Binary files differ
diff --git a/features/images/SupportDocumentationGerman.png b/features/images/SupportDocumentationGerman.png
index 36ab037..24c7708 100644
--- a/features/images/SupportDocumentationGerman.png
+++ b/features/images/SupportDocumentationGerman.png
Binary files differ
diff --git a/features/images/TorBrowserBookmarkPrompt.png b/features/images/TorBrowserBookmarkPrompt.png
index 24cde85..9cce24f 100644
--- a/features/images/TorBrowserBookmarkPrompt.png
+++ b/features/images/TorBrowserBookmarkPrompt.png
Binary files differ
diff --git a/features/images/TorBrowserEFFBookmark.png b/features/images/TorBrowserEFFBookmark.png
index ff4a68a..e6bf815 100644
--- a/features/images/TorBrowserEFFBookmark.png
+++ b/features/images/TorBrowserEFFBookmark.png
Binary files differ
diff --git a/features/images/TorBrowserNoPlugins.png b/features/images/TorBrowserNoPlugins.png
index 287b234..597101e 100644
--- a/features/images/TorBrowserNoPlugins.png
+++ b/features/images/TorBrowserNoPlugins.png
Binary files differ
diff --git a/features/images/TorBrowserNoScriptTemporarilyAllowDialog.png b/features/images/TorBrowserNoScriptTemporarilyAllowDialog.png
index 8de70ff..b9e8448 100644
--- a/features/images/TorBrowserNoScriptTemporarilyAllowDialog.png
+++ b/features/images/TorBrowserNoScriptTemporarilyAllowDialog.png
Binary files differ
diff --git a/features/images/TorBrowserOkButton.png b/features/images/TorBrowserOkButton.png
index a9ee1d0..1d536f6 100644
--- a/features/images/TorBrowserOkButton.png
+++ b/features/images/TorBrowserOkButton.png
Binary files differ
diff --git a/features/images/TorBrowserPrintDialog.png b/features/images/TorBrowserPrintDialog.png
index f13edce..8e9aa93 100644
--- a/features/images/TorBrowserPrintDialog.png
+++ b/features/images/TorBrowserPrintDialog.png
Binary files differ
diff --git a/features/images/TorBrowserPrintOutputFile.png b/features/images/TorBrowserPrintOutputFile.png
index 4b8a142..d6aa5cf 100644
--- a/features/images/TorBrowserPrintOutputFile.png
+++ b/features/images/TorBrowserPrintOutputFile.png
Binary files differ
diff --git a/features/images/TorBrowserPrintOutputFileSelected.png b/features/images/TorBrowserPrintOutputFileSelected.png
index 158ada3..41e9599 100644
--- a/features/images/TorBrowserPrintOutputFileSelected.png
+++ b/features/images/TorBrowserPrintOutputFileSelected.png
Binary files differ
diff --git a/features/images/TorBrowserSaveOutputFileSelected.png b/features/images/TorBrowserSaveOutputFileSelected.png
index ca26b77..8de38a9 100644
--- a/features/images/TorBrowserSaveOutputFileSelected.png
+++ b/features/images/TorBrowserSaveOutputFileSelected.png
Binary files differ
diff --git a/features/images/TorBrowserSavedStartupPage.png b/features/images/TorBrowserSavedStartupPage.png
index 5d7d519..f32a0f9 100644
--- a/features/images/TorBrowserSavedStartupPage.png
+++ b/features/images/TorBrowserSavedStartupPage.png
Binary files differ
diff --git a/features/images/TorBrowserUnableToConnect.png b/features/images/TorBrowserUnableToConnect.png
index 943357d..bd6d251 100644
--- a/features/images/TorBrowserUnableToConnect.png
+++ b/features/images/TorBrowserUnableToConnect.png
Binary files differ
diff --git a/features/images/TorButtonNewIdentity.png b/features/images/TorButtonNewIdentity.png
index 143d400..ee533ee 100644
--- a/features/images/TorButtonNewIdentity.png
+++ b/features/images/TorButtonNewIdentity.png
Binary files differ
diff --git a/features/images/TorLauncherBridgeList.png b/features/images/TorLauncherBridgeList.png
index bad0810..c4981ea 100644
--- a/features/images/TorLauncherBridgeList.png
+++ b/features/images/TorLauncherBridgeList.png
Binary files differ
diff --git a/features/images/TorLauncherBridgePrompt.png b/features/images/TorLauncherBridgePrompt.png
index c224ed8..9fc5ebb 100644
--- a/features/images/TorLauncherBridgePrompt.png
+++ b/features/images/TorLauncherBridgePrompt.png
Binary files differ
diff --git a/features/images/TorLauncherConfigureButton.png b/features/images/TorLauncherConfigureButton.png
index b96a742..1acdcff 100644
--- a/features/images/TorLauncherConfigureButton.png
+++ b/features/images/TorLauncherConfigureButton.png
Binary files differ
diff --git a/features/images/TorLauncherConnectingWindow.png b/features/images/TorLauncherConnectingWindow.png
index 98d34aa..3a6af8f 100644
--- a/features/images/TorLauncherConnectingWindow.png
+++ b/features/images/TorLauncherConnectingWindow.png
Binary files differ
diff --git a/features/images/TorLauncherFinishButton.png b/features/images/TorLauncherFinishButton.png
index 6d763b5..cee5b53 100644
--- a/features/images/TorLauncherFinishButton.png
+++ b/features/images/TorLauncherFinishButton.png
Binary files differ
diff --git a/features/images/TorLauncherNextButton.png b/features/images/TorLauncherNextButton.png
index d8bc684..a6c4aac 100644
--- a/features/images/TorLauncherNextButton.png
+++ b/features/images/TorLauncherNextButton.png
Binary files differ
diff --git a/features/images/TorLauncherYesRadioOption.png b/features/images/TorLauncherYesRadioOption.png
index 1c2a772..6d3df76 100644
--- a/features/images/TorLauncherYesRadioOption.png
+++ b/features/images/TorLauncherYesRadioOption.png
Binary files differ
diff --git a/features/images/UnsafeBrowserExportBookmarksButton.png b/features/images/UnsafeBrowserExportBookmarksButton.png
index b568dc3..964e339 100644
--- a/features/images/UnsafeBrowserExportBookmarksButton.png
+++ b/features/images/UnsafeBrowserExportBookmarksButton.png
Binary files differ
diff --git a/features/images/UnsafeBrowserExportBookmarksMenuEntry.png b/features/images/UnsafeBrowserExportBookmarksMenuEntry.png
index fdea806..a996e1f 100644
--- a/features/images/UnsafeBrowserExportBookmarksMenuEntry.png
+++ b/features/images/UnsafeBrowserExportBookmarksMenuEntry.png
Binary files differ
diff --git a/features/images/UnsafeBrowserNetworkTab.png b/features/images/UnsafeBrowserNetworkTab.png
index 743982c..2c6c0ef 100644
--- a/features/images/UnsafeBrowserNetworkTab.png
+++ b/features/images/UnsafeBrowserNetworkTab.png
Binary files differ
diff --git a/features/images/UnsafeBrowserNetworkTabAlreadySelected.png b/features/images/UnsafeBrowserNetworkTabAlreadySelected.png
index 92139b7..6ad4531 100644
--- a/features/images/UnsafeBrowserNetworkTabAlreadySelected.png
+++ b/features/images/UnsafeBrowserNetworkTabAlreadySelected.png
Binary files differ
diff --git a/features/images/UnsafeBrowserNetworkTabSettingsButton.png b/features/images/UnsafeBrowserNetworkTabSettingsButton.png
index 414cf7a..ba25ea8 100644
--- a/features/images/UnsafeBrowserNetworkTabSettingsButton.png
+++ b/features/images/UnsafeBrowserNetworkTabSettingsButton.png
Binary files differ
diff --git a/features/images/UnsafeBrowserNoAddons.png b/features/images/UnsafeBrowserNoAddons.png
index 24e1baa..75c426d 100644
--- a/features/images/UnsafeBrowserNoAddons.png
+++ b/features/images/UnsafeBrowserNoAddons.png
Binary files differ
diff --git a/features/images/UnsafeBrowserNoProxySelected.png b/features/images/UnsafeBrowserNoProxySelected.png
index d28dae1..19a6415 100644
--- a/features/images/UnsafeBrowserNoProxySelected.png
+++ b/features/images/UnsafeBrowserNoProxySelected.png
Binary files differ
diff --git a/features/images/UnsafeBrowserProxyRefused.png b/features/images/UnsafeBrowserProxyRefused.png
index c0d84d4..f8233a0 100644
--- a/features/images/UnsafeBrowserProxyRefused.png
+++ b/features/images/UnsafeBrowserProxyRefused.png
Binary files differ
diff --git a/features/images/UnsafeBrowserProxySettingsOkButton.png b/features/images/UnsafeBrowserProxySettingsOkButton.png
index 84b23b4..251ceb8 100644
--- a/features/images/UnsafeBrowserProxySettingsOkButton.png
+++ b/features/images/UnsafeBrowserProxySettingsOkButton.png
Binary files differ
diff --git a/features/images/UnsafeBrowserProxySettingsWindow.png b/features/images/UnsafeBrowserProxySettingsWindow.png
index cda8689..9013ccf 100644
--- a/features/images/UnsafeBrowserProxySettingsWindow.png
+++ b/features/images/UnsafeBrowserProxySettingsWindow.png
Binary files differ
diff --git a/features/images/UnsafeBrowserStartPage.png b/features/images/UnsafeBrowserStartPage.png
index 67a9923..5ec183f 100644
--- a/features/images/UnsafeBrowserStartPage.png
+++ b/features/images/UnsafeBrowserStartPage.png
Binary files differ
diff --git a/features/step_definitions/apt.rb b/features/step_definitions/apt.rb
index e8805f5..c69d259 100644
--- a/features/step_definitions/apt.rb
+++ b/features/step_definitions/apt.rb
@@ -45,7 +45,7 @@ Then /^I should be able to install a package using Synaptic$/ do
@screen.wait_and_click('SynapticApplyButton.png', 10)
@screen.wait('SynapticApplyPrompt.png', 60)
@screen.type(Sikuli::Key.ENTER)
- @screen.wait('SynapticChangesAppliedPrompt.png', 120)
+ @screen.wait('SynapticChangesAppliedPrompt.png', 240)
step "package \"#{package}\" is installed"
end
diff --git a/features/step_definitions/browser.rb b/features/step_definitions/browser.rb
index 6b5aabf..84ef1d3 100644
--- a/features/step_definitions/browser.rb
+++ b/features/step_definitions/browser.rb
@@ -35,6 +35,7 @@ def xul_application_info(application)
'echo ${TBB_INSTALL}/firefox', :libs => 'tor-browser'
).stdout.chomp
address_bar_image = "BrowserAddressBar.png"
+ unused_tbb_libs = ['libnssdbm3.so']
case application
when "Tor Browser"
user = LIVE_USER
@@ -53,10 +54,18 @@ def xul_application_info(application)
new_tab_button_image = "I2PBrowserNewTabButton.png"
when "Tor Launcher"
user = "tor-launcher"
- cmd_regex = "#{binary} -app /home/#{user}/\.tor-launcher/tor-launcher-standalone/application\.ini"
+ # We do not enable AppArmor confinement for the Tor Launcher.
+ binary = "#{binary}-unconfined"
+ tor_launcher_install = $vm.execute_successfully(
+ 'echo ${TOR_LAUNCHER_INSTALL}', :libs => 'tor-browser'
+ ).stdout.chomp
+ cmd_regex = "#{binary}\s+-app #{tor_launcher_install}/application\.ini.*"
chroot = ""
new_tab_button_image = nil
address_bar_image = nil
+ # The standalone Tor Launcher uses fewer libs than the full
+ # browser.
+ unused_tbb_libs.concat(["libfreebl3.so", "libnssckbi.so", "libsoftokn3.so"])
else
raise "Invalid browser or XUL application: #{application}"
end
@@ -66,6 +75,7 @@ def xul_application_info(application)
:chroot => chroot,
:new_tab_button_image => new_tab_button_image,
:address_bar_image => address_bar_image,
+ :unused_tbb_libs => unused_tbb_libs,
}
end
@@ -108,8 +118,7 @@ Then /^the (.*) has no plugins installed$/ do |browser|
step "I see \"TorBrowserNoPlugins.png\" after at most 30 seconds"
end
-def xul_app_shared_lib_check(pid, chroot)
- expected_absent_tbb_libs = ['libnssdbm3.so']
+def xul_app_shared_lib_check(pid, chroot, expected_absent_tbb_libs = [])
absent_tbb_libs = []
unwanted_native_libs = []
tbb_libs = $vm.execute_successfully("ls -1 #{chroot}${TBB_INSTALL}/*.so",
@@ -141,7 +150,7 @@ Then /^the (.*) uses all expected TBB shared libraries$/ do |application|
info = xul_application_info(application)
pid = $vm.execute_successfully("pgrep --uid #{info[:user]} --full --exact '#{info[:cmd_regex]}'").stdout.chomp
assert(/\A\d+\z/.match(pid), "It seems like #{application} is not running")
- xul_app_shared_lib_check(pid, info[:chroot])
+ xul_app_shared_lib_check(pid, info[:chroot], info[:unused_tbb_libs])
end
Then /^the (.*) chroot is torn down$/ do |browser|
diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb
index 5b7a144..2067561 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -809,8 +809,8 @@ When /^I can print the current page as "([^"]+[.]pdf)" to the (default downloads
output_dir = "/home/#{LIVE_USER}/Tor Browser"
end
@screen.type("p", Sikuli::KeyModifier.CTRL)
- @screen.wait("TorBrowserPrintDialog.png", 10)
- @screen.wait_and_click("PrintToFile.png", 10)
+ @screen.wait("TorBrowserPrintDialog.png", 20)
+ @screen.wait_and_click("BrowserPrintToFile.png", 10)
@screen.wait_and_double_click("TorBrowserPrintOutputFile.png", 10)
@screen.hide_cursor
@screen.wait("TorBrowserPrintOutputFileSelected.png", 10)
diff --git a/features/step_definitions/evince.rb b/features/step_definitions/evince.rb
index 990c6ce..a62a2d1 100644
--- a/features/step_definitions/evince.rb
+++ b/features/step_definitions/evince.rb
@@ -5,7 +5,7 @@ end
Then /^I can print the current document to "([^"]+)"$/ do |output_file|
@screen.type("p", Sikuli::KeyModifier.CTRL)
@screen.wait("EvincePrintDialog.png", 10)
- @screen.wait_and_click("PrintToFile.png", 10)
+ @screen.wait_and_click("EvincePrintToFile.png", 10)
@screen.wait_and_click("EvincePrintOutputFileButton.png", 10)
@screen.wait("EvincePrintFileDialog.png", 10)
# Only the file's basename is selected by double-clicking,
diff --git a/features/step_definitions/i2p.rb b/features/step_definitions/i2p.rb
index ee35480..21ddac2 100644
--- a/features/step_definitions/i2p.rb
+++ b/features/step_definitions/i2p.rb
@@ -82,7 +82,7 @@ Then /^I see a notification that I2P failed to start$/ do
end
Then /^I see shared client tunnels in the I2P router console$/ do
- @screen.wait('I2PSharedClientTunnels.png', 7 * 60)
+ @screen.wait('I2PSharedClientTunnels.png', 15 * 60)
end
Then /^I see a notification that I2P is not ready$/ do
diff --git a/features/step_definitions/unsafe_browser.rb b/features/step_definitions/unsafe_browser.rb
index 12f1b81..b8c0498 100644
--- a/features/step_definitions/unsafe_browser.rb
+++ b/features/step_definitions/unsafe_browser.rb
@@ -166,14 +166,14 @@ Then /^the Unsafe Browser complains that no DNS server is configured$/ do
end
Then /^I configure the Unsafe Browser to check for updates more frequently$/ do
- prefs = '/usr/share/tails/unsafe-browser/prefs.js'
+ prefs = '/usr/share/tails/chroot-browsers/unsafe-browser/prefs.js'
$vm.file_append(prefs, 'pref("app.update.idletime", 1);')
$vm.file_append(prefs, 'pref("app.update.promptWaitTime", 1);')
$vm.file_append(prefs, 'pref("app.update.interval", 5);')
end
But /^checking for updates is disabled in the Unsafe Browser's configuration$/ do
- prefs = '/usr/share/tails/unsafe-browser/prefs.js'
+ prefs = '/usr/share/tails/chroot-browsers/common/prefs.js'
assert($vm.file_content(prefs).include?('pref("app.update.enabled", false)'))
end
diff --git a/features/tor_bridges.feature b/features/tor_bridges.feature
index cab4e39..b5277ca 100644
--- a/features/tor_bridges.feature
+++ b/features/tor_bridges.feature
@@ -9,6 +9,7 @@ Feature: Using Tails with Tor pluggable transports
And I capture all network traffic
When the network is plugged
Then the Tor Launcher autostarts
+ And the Tor Launcher uses all expected TBB shared libraries
Scenario: Using bridges
When I configure some Bridge pluggable transports in Tor Launcher
diff --git a/ikiwiki-cgi.setup b/ikiwiki-cgi.setup
index 6c40a6a..fe3fa11 100644
--- a/ikiwiki-cgi.setup
+++ b/ikiwiki-cgi.setup
@@ -226,7 +226,7 @@ po_slave_languages:
- fr|Français
- pt|Português
# PageSpec controlling which pages are translatable
-po_translatable_pages: '!security/audits and !security/audits/* and (about or bugs or chat or contribute or contribute/how/donate or doc or doc/* or download or download.inline or getting_started or inc/release_notes/* or inc/stable_i386_release_notes or index or news or news/* or press or press/* or security or security/* or sidebar or support or support/* or todo or torrents or wishlist or misc or misc/* or install or install/* or upgrade or upgrade/*)'
+po_translatable_pages: '!security/audits and !security/audits/* and !news/report_2* and !news/version_0* and !news/test_0* and !security/Numerous_security_holes_in_0* and (about or bugs or chat or contribute or contribute/how/donate or doc or doc/* or download or download.inline or getting_started or inc/stable_i386_release_notes or index or news or news/* or press or press/* or security or security/* or sidebar or support or support/* or todo or torrents or wishlist or misc or misc/* or install or install/* or upgrade or upgrade/*)'
# internal linking behavior (default/current/negotiated)
po_link_to: current
diff --git a/ikiwiki.setup b/ikiwiki.setup
index c528200..0b8fbb1 100644
--- a/ikiwiki.setup
+++ b/ikiwiki.setup
@@ -203,7 +203,7 @@ po_slave_languages:
- fr|Français
- pt|Português
# PageSpec controlling which pages are translatable
-po_translatable_pages: '!security/audits and !security/audits/* and (about or bugs or chat or contribute or contribute/how/donate or doc or doc/* or download or download.inline or getting_started or inc/release_notes/* or inc/stable_i386_release_notes or index or news or news/* or press or press/* or security or security/* or sidebar or support or support/* or todo or torrents or wishlist or misc or misc/* or install or install/* or upgrade or upgrade/*)'
+po_translatable_pages: '!security/audits and !security/audits/* and !news/report_2* and !news/version_0* and !news/test_0* and !security/Numerous_security_holes_in_0* and (about or bugs or chat or contribute or contribute/how/donate or doc or doc/* or download or download.inline or getting_started or inc/stable_i386_release_notes or index or news or news/* or press or press/* or security or security/* or sidebar or support or support/* or todo or torrents or wishlist or misc or misc/* or install or install/* or upgrade or upgrade/*)'
# internal linking behavior (default/current/negotiated)
po_link_to: current
diff --git a/po/ar.po b/po/ar.po
index 659965c..7e4c706 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2014-12-05 17:21+0000\n"
"Last-Translator: Osama M. Mneina <o.mneina@gmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/torproject/"
@@ -459,19 +459,19 @@ msgstr ""
msgid "Learn more"
msgstr "إطلع أكثر حول Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "تور غير جاهز"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "تور غير جاهز. بدء متصفح تور على أي حال؟"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "أبدأ متصفح تور"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "إلغاء"
diff --git a/po/az.po b/po/az.po
index 84a3376..3485fab 100644
--- a/po/az.po
+++ b/po/az.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2014-12-30 17:30+0000\n"
"Last-Translator: E <ehuseynzade@gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/"
@@ -442,19 +442,19 @@ msgstr ""
msgid "Learn more"
msgstr "Tails haqqında daha ətraflı öyrən"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor hazır deyil"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor hazır deyil. Buna baxmayaraq Tor Brauzeri açılsın?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Tor Brauzerini Başlat"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Ləğv et"
diff --git a/po/bg.po b/po/bg.po
index 5a09d9d..ac2d65e 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 15:37+0000\n"
"Last-Translator: Tsvetan Nikolov <slakware@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/otf/torproject/language/"
@@ -458,19 +458,19 @@ msgstr ""
msgid "Learn more"
msgstr "Научете повече"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor не е готов"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor не е готов.Да стартирам ли Tor Браузър въпреки всичко?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Стартирай Tor Браузър"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Отказ"
diff --git a/po/ca.po b/po/ca.po
index 11e97fe..df1b34a 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-09-12 16:06+0000\n"
"Last-Translator: laia_\n"
"Language-Team: Catalan (http://www.transifex.com/otf/torproject/language/"
@@ -454,19 +454,19 @@ msgstr ""
msgid "Learn more"
msgstr "Aprén més sobre Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor no es troba actiu"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor no es troba actiu. Iniciar el navegador Tor indiferentment?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Inicia el navegador Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Cancel·la"
diff --git a/po/cs.po b/po/cs.po
index 0d8aefd..077cf72 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-08-28 07:47+0000\n"
"Last-Translator: Vlastimil Burián <burian.vlastimil2@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/otf/torproject/language/cs/)\n"
@@ -454,19 +454,19 @@ msgstr ""
msgid "Learn more"
msgstr "Zjistěte více o Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor není připraven"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor není připraven. Přesto spustit Tor Browser?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Nastartovat Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Zrušit"
diff --git a/po/cy.po b/po/cy.po
index 18f5b99..c4dfc1e 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2014-04-30 09:10+0000\n"
"Last-Translator: runasand <runa.sandvik@gmail.com>\n"
"Language-Team: Welsh (http://www.transifex.com/projects/p/torproject/"
@@ -449,19 +449,19 @@ msgstr ""
msgid "Learn more"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Nid yw Tor yn barod"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Nid yw Tor yn barod. Dechrau Tor beth bynnag?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Cychwyn Porwr Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Canslo"
diff --git a/po/da.po b/po/da.po
index 9cd11ff..73a9e9a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-12-08 12:29+0000\n"
"Last-Translator: Tommy Gade\n"
"Language-Team: Danish (http://www.transifex.com/otf/torproject/language/"
@@ -458,19 +458,19 @@ msgstr ""
msgid "Learn more"
msgstr "Lær mere om Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor er ikke klar"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor er ikke klar. Start Tor Browser alligevel?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Start Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Annullér"
diff --git a/po/de.po b/po/de.po
index 8f07c3a..69eb145 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,6 +4,7 @@
#
# Translators:
# Andreas Demmelbauer, 2014
+# Christian Spaan <gyges@gmx.net>, 2016
# Claudia <claudianied@web.de>, 2015
# trantor <clucko3@gmail.com>, 2014
# DoKnGH26" 21 <dokngh2621@gmail.com>, 2015
@@ -11,24 +12,25 @@
# Ettore Atalan <atalanttore@googlemail.com>, 2014-2015
# gerhard <listmember@rinnberger.de>, 2013
# konstibae, 2015
-# Larson März <lmaerz@emailn.de>, 2013
+# Larson März <larson@protonmail.ch>, 2013
# Mario Baier <mario.baier26@gmx.de>, 2013
# Mart3000, 2015
# malexmave <inactive+malexmave@transifex.com>, 2014
+# max weber, 2015
# Sandra R <drahtseilakt@live.com>, 2014
# Sebastian <sebix+transifex@sebix.at>, 2015
# spriver <tor@dominik-pilatzki.de>, 2015
# sycamoreone <sycamoreone@riseup.net>, 2014
-# Tobias Bannert <tobannert@gmail.com>, 2014
-# try once <lh-account-a@use.startmail.com>, 2015
+# Tobias Bannert <tobannert@gmail.com>, 2014,2016
+# try once, 2015
# rike, 2014
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2015-10-28 16:18+0000\n"
-"Last-Translator: spriver <tor@dominik-pilatzki.de>\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-01-28 00:46+0000\n"
+"Last-Translator: Christian Spaan <gyges@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/otf/torproject/language/"
"de/)\n"
"Language: de\n"
@@ -90,7 +92,7 @@ msgid ""
"persistence feature is activated."
msgstr ""
"Wenn Sie Tails neu starten, werden alle Daten von Electrum gelöscht, "
-"inklusive Ihrer Bitcoin Geldbörse. Wir empfehlen endringlich, Electrum mit "
+"inklusive Ihrer Bitcoin-Geldbörse. Wir empfehlen eindringlich, Electrum mit "
"aktiviertem beständigen Speicherbereich zu nutzen."
#: config/chroot_local-includes/usr/local/bin/electrum:18
@@ -274,7 +276,7 @@ msgstr "Andere Nachrichten von GnuPG:"
#: config/chroot_local-includes/usr/local/bin/icedove:18
msgid "The <b>Claws Mail</b> persistence feature is activated."
-msgstr ""
+msgstr "Die Persistenzfunktion von <b>Claws Mail</b> ist aktiviert."
#: config/chroot_local-includes/usr/local/bin/icedove:20
msgid ""
@@ -282,10 +284,13 @@ msgid ""
"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
"data</a> before starting <b>Icedove</b>."
msgstr ""
+"Falls Sie gespeicherte E-Mails in <b>Claws Mail</b> haben, sollten Sie noch "
+"vor dem Start von <b>Icedove</b> <a href='https://tails.boum.org/doc/"
+"anonymous_internet/claws_mail_to_icedove'>Ihre Daten migrieren</a>."
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:71
msgid "Restart"
-msgstr ""
+msgstr "Neustart"
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:74
#: ../config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop.in.h:1
@@ -362,7 +367,7 @@ msgstr "Diese Tails-Version weist Sicherheitslücken auf:"
#: config/chroot_local-includes/usr/local/bin/tails-security-check:156
msgid "Known security issues"
-msgstr ""
+msgstr "Bekannte Sicherheitsprobleme"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:51
#, sh-format
@@ -370,35 +375,33 @@ msgid "Network card ${nic} disabled"
msgstr "Netzwerkkarte ${nic} deaktiviert"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:52
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"Bei folgender Netzwerkkarte schlug die MAC-Manipulation fehl: ${nic_name} "
-"(${nic}). Deshalb ist es jetzt temporär deaktiviert.\n"
-"Sie sollten eventuell MAC-Manipulation deaktivieren und Tails neu starten. "
-"Bitte die <a href='file:///usr/share/doc/first_steps/startup_options/"
-"mac_spoofing.de.html'>Dokumentation</a> ansehen."
+"Bei der Netzwerkkarte ${nic_name} (${nic}) schlug die MAC-Manipulation fehl, "
+"sie wurde daher temporär deaktiviert.\n"
+"Sie sollten eventuell die MAC-Manipulation deaktivieren und Tails neu "
+"starten. "
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:61
msgid "All networking disabled"
msgstr "Alle Netzwerke deaktiviert"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:62
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"MAC-Manipulation schlug bei folgender Netzwerkkarte fehl: ${nic_name} "
-"(${nic}). Die Fehlerbehebung schlug ebenfalls fehl. Deshalb sind jetzt alle "
-"Verbindungen deaktiviert.\n"
-"Sie sollten eventuell MAC-Manipulation deaktivieren und Tails neu starten. "
-"Bitte die <a href='file:///usr/share/doc/first_steps/startup_options/"
-"mac_spoofing.de.html'>Dokumentation</a> ansehen."
+"Bei der Netzwerkkarte ${nic_name} (${nic}) schlugen die MAC-Manipulation und "
+"die Fehlerbehebung fehl. Deshalb wurden jetzt alle Verbindungen "
+"deaktiviert. \n"
+"Sie sollten eventuell die MAC-Manipulation deaktivieren und Tails neu "
+"starten."
#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:18
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:22
@@ -449,39 +452,38 @@ msgstr ""
"überwachen, was Sie in Tails machen."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:72
-#, fuzzy
msgid "Warning: non-free virtual machine detected!"
-msgstr "Warnung: Virtuelle Maschine erkannt!"
+msgstr "Warnung: nicht-freie virtuelle Maschine erkannt!"
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:74
-#, fuzzy
msgid ""
"Both the host operating system and the virtualization software are able to "
"monitor what you are doing in Tails. Only free software can be considered "
"trustworthy, for both the host operating system and the virtualization "
"software."
msgstr ""
-"Sowohl das Wirtsbetriebssystem als auch die Virtualisierungsanwendung können "
-"überwachen, was Sie in Tails machen."
+"Sowohl das Wirts-Betriebssystem als auch die Virtualisierungs-Anwendung "
+"können überwachen, was Sie in Tails machen. Nur Freie Software kann sowohl "
+"für das Wirts-Betriebssystem als auch für die Virtualisierungs-Anwendung als "
+"vertrauenswürdig gelten."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
-#, fuzzy
msgid "Learn more"
-msgstr "Mehr über Tails erfahren"
+msgstr "Mehr erfahren"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor ist nicht bereit"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor ist nicht bereit. Möchten Sie den Tor-Browser trotzdem starten?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Tor-Browser starten"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Abbrechen"
@@ -490,15 +492,14 @@ msgid "Do you really want to launch the Unsafe Browser?"
msgstr "Möchten Sie wirklich den unsicheren Browser starten?"
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:35
-#, fuzzy
msgid ""
"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
msgstr ""
"Die Netzwerkaktivität im unsicheren Browser ist <b>nicht anonym</b>. "
-"Benutzen Sie den unsicheren Browser nur wenn nötig, wie z.B. wenn Sie sich "
-"einloggen oder ihre Internetverbindung aktivieren müssen."
+"Benutzen Sie den unsicheren Browser nur wenn nötig, z.B. wenn Sie sich "
+"einloggen oder registrieren müssen, um Ihre Internetverbindung zu aktivieren."
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:47
msgid "Starting the Unsafe Browser..."
@@ -664,31 +665,3 @@ msgstr "Unsicherer Internet-Browser"
#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
msgid "Tails specific tools"
msgstr "Tails-spezifische Werkzeuge"
-
-#~ msgid "Shutdown Immediately"
-#~ msgstr "Sofort herunterfahren"
-
-#~ msgid "Reboot Immediately"
-#~ msgstr "Sofort neustarten"
-
-#~ msgid "Network connection blocked?"
-#~ msgstr "Netzwerkverbindung blockiert?"
-
-#~ msgid ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-#~ msgstr ""
-#~ "Es scheint so, als wären Sie vom Netzwerk blockiert. Das könnte an der "
-#~ "MAC-Manipulationsfunktion liegen. Für weitere Informationen lesen Sie "
-#~ "bitte die <a href=\\\"file:///usr/share/doc/tails/website/doc/first_steps/"
-#~ "startup_options/mac_spoofing.de.html#blocked\\\">Dokumentation zur MAC-"
-#~ "Manipulation</a>."
-
-#~ msgid ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
-#~ msgstr ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.de.html#security'>Mehr erfahren...</a>"
diff --git a/po/el.po b/po/el.po
index 50a0c16..2e9f0b8 100644
--- a/po/el.po
+++ b/po/el.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-10-08 20:37+0000\n"
"Last-Translator: Ilias Giannaros <iliasgnrs@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n"
@@ -467,19 +467,19 @@ msgstr ""
msgid "Learn more"
msgstr "Μάθετε περισσότερα σχετικά με Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Το Tor δεν είναι έτοιμο"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Το Tor δεν είναι έτοιμο. Εκκίνηση του Tor Browser όπως και να 'χει;"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Εκκίνηση του Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Άκυρον"
diff --git a/po/en_GB.po b/po/en_GB.po
index 1434285..0ceb721 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Andi Chandler <andi@gowling.com>, 2014-2015
+# Andi Chandler <andi@gowling.com>, 2014-2016
# Billy Humphreys <sysop@enderbbs.enderservices.tk>, 2014
# newharha ehrara <dbybgohg@yomail.info>, 2015
# Richard Shaylor <rshaylor@me.com>, 2014
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2015-11-02 00:10+0000\n"
-"Last-Translator: newharha ehrara <dbybgohg@yomail.info>\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-02-01 12:49+0000\n"
+"Last-Translator: Andi Chandler <andi@gowling.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/otf/"
"torproject/language/en_GB/)\n"
"Language: en_GB\n"
@@ -257,7 +257,7 @@ msgstr "Other messages provided by GnuPG:"
#: config/chroot_local-includes/usr/local/bin/icedove:18
msgid "The <b>Claws Mail</b> persistence feature is activated."
-msgstr ""
+msgstr "The <b>Claws Mail</b> persistence feature is activated."
#: config/chroot_local-includes/usr/local/bin/icedove:20
msgid ""
@@ -265,10 +265,13 @@ msgid ""
"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
"data</a> before starting <b>Icedove</b>."
msgstr ""
+"If you have emails saved in <b>Claws Mail</b>, you should <a href='https://"
+"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
+"data</a> before starting <b>Icedove</b>."
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:71
msgid "Restart"
-msgstr ""
+msgstr "Restart"
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:74
#: ../config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop.in.h:1
@@ -345,7 +348,7 @@ msgstr "This version of Tails has known security issues:"
#: config/chroot_local-includes/usr/local/bin/tails-security-check:156
msgid "Known security issues"
-msgstr ""
+msgstr "Known security issues"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:51
#, sh-format
@@ -353,7 +356,7 @@ msgid "Network card ${nic} disabled"
msgstr "Network card ${nic} disabled"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:52
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
@@ -361,16 +364,14 @@ msgid ""
msgstr ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
-"You might prefer to restart Tails and disable MAC spoofing. See the <a "
-"href='file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-"mac_spoofing.en.html'>documentation</a>."
+"You might prefer to restart Tails and disable MAC spoofing."
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:61
msgid "All networking disabled"
msgstr "All networking disabled"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:62
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
@@ -378,9 +379,7 @@ msgid ""
msgstr ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
-"You might prefer to restart Tails and disable MAC spoofing. See the <a "
-"href='file:///usr/share/doc/first_steps/startup_options/mac_spoofing.en."
-"html'>documentation</a>."
+"You might prefer to restart Tails and disable MAC spoofing."
#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:18
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:22
@@ -427,39 +426,38 @@ msgstr ""
"monitor what you are doing in Tails."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:72
-#, fuzzy
msgid "Warning: non-free virtual machine detected!"
-msgstr "Warning: virtual machine detected!"
+msgstr "Warning: non-free virtual machine detected!"
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:74
-#, fuzzy
msgid ""
"Both the host operating system and the virtualization software are able to "
"monitor what you are doing in Tails. Only free software can be considered "
"trustworthy, for both the host operating system and the virtualization "
"software."
msgstr ""
-"Both the host operating system and the virtualization software are able to "
-"monitor what you are doing in Tails."
+"Both the host operating system and the virtualisation software are able to "
+"monitor what you are doing in Tails. Only free software can be considered "
+"trustworthy, for both the host operating system and the virtualisation "
+"software."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
-#, fuzzy
msgid "Learn more"
-msgstr "Learn more about Tails"
+msgstr "Learn more"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor is not ready"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor is not ready. Start Tor Browser anyway?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Start Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Cancel"
@@ -468,14 +466,13 @@ msgid "Do you really want to launch the Unsafe Browser?"
msgstr "Do you really want to launch the Unsafe Browser?"
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:35
-#, fuzzy
msgid ""
"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
msgstr ""
-"Network activity within the Unsafe Browser is <b>not anonymous</b>. Only use "
-"the Unsafe Browser if necessary, for example if you have to login or "
+"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
+"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:47
@@ -641,30 +638,3 @@ msgstr "Unsafe Web Browser"
#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
msgid "Tails specific tools"
msgstr "Tails specific tools"
-
-#~ msgid "Shutdown Immediately"
-#~ msgstr "Shutdown Immediately"
-
-#~ msgid "Reboot Immediately"
-#~ msgstr "Reboot Immediately"
-
-#~ msgid "Network connection blocked?"
-#~ msgstr "Network connection blocked?"
-
-#~ msgid ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-#~ msgstr ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-
-#~ msgid ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
-#~ msgstr ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
diff --git a/po/es.po b/po/es.po
index 7f5d273..d5bfed6 100644
--- a/po/es.po
+++ b/po/es.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 14:12+0000\n"
"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/otf/torproject/language/"
@@ -458,19 +458,19 @@ msgstr ""
msgid "Learn more"
msgstr "Leer más"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor no está listo"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor no está listo. ¿Iniciar el Navegador Tor de todos modos?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Iniciar Navegador Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Cancelar"
diff --git a/po/fa.po b/po/fa.po
index ad2aa1f..7dc4de2 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-11-11 18:08+0000\n"
"Last-Translator: Farshad Gh <farshad73@gmail.com>\n"
"Language-Team: Persian (http://www.transifex.com/otf/torproject/language/"
@@ -469,19 +469,19 @@ msgstr ""
msgid "Learn more"
msgstr "اطلاعات بیشتر در مورد Tails را یاد بگیرید"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "تور آماده نیست"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "تور آماده نیست. مرورگر تور به هر حال اجرا شود؟"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "اجرای مرورگر تور"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "لغو"
diff --git a/po/fi.po b/po/fi.po
index 1431e72..b2b36c4 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-07-25 07:32+0000\n"
"Last-Translator: Thomas <lab777ee@hotmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/torproject/"
@@ -452,19 +452,19 @@ msgstr ""
msgid "Learn more"
msgstr "Opi lisää Tails-ohjelmasta"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor ei ole valmis"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor ei ole valmis. Käynnistetäänkö Tor-selain siitä huolimatta?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Käynnistä Tor-selain"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Peruuta"
diff --git a/po/fr.po b/po/fr.po
index b1d6b98..1023b3b 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-11-18 16:36+0100\n"
"Last-Translator: amnesia <amnesia@boum.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -455,19 +455,19 @@ msgstr ""
msgid "Learn more"
msgstr "En apprendre davantage sur Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor n'est pas prêt"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor n'est pas prêt. Démarrer Tor Browser malgré tout ?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Démarrer Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Annuler"
diff --git a/po/fr_CA.po b/po/fr_CA.po
index 13dda51..5784728 100644
--- a/po/fr_CA.po
+++ b/po/fr_CA.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 18:13+0000\n"
"Last-Translator: Trans-fr\n"
"Language-Team: French (Canada) (http://www.transifex.com/otf/torproject/"
@@ -454,19 +454,19 @@ msgstr ""
msgid "Learn more"
msgstr "En apprendre davantage"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor n'est pas prêt"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor n'est pas prêt. Démarrer le navigateur Tor quand même?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Démarrer le navigateur Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Annuler"
diff --git a/po/he.po b/po/he.po
index 63ace0f..7f8f8e0 100644
--- a/po/he.po
+++ b/po/he.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-10-09 11:44+0000\n"
"Last-Translator: Johnny Diralenzo\n"
"Language-Team: Hebrew (http://www.transifex.com/otf/torproject/language/"
@@ -435,19 +435,19 @@ msgstr ""
msgid "Learn more"
msgstr "למד עוד על Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor עוד לא מוכן"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor עוד לא מוכן. הפעל את דפדפן Tor בכל זאת?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "הפעל את דפדפן Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "ביטול"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index 8342c72..987dee6 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-09-23 11:21+0000\n"
"Last-Translator: skiddiep <lyricaltumor@gmail.com>\n"
"Language-Team: Croatian (Croatia) (http://www.transifex.com/otf/torproject/"
@@ -455,19 +455,19 @@ msgstr ""
msgid "Learn more"
msgstr "Saznajte više o Tails-u"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nije spreman"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nije spreman. Svejedno pokrenuti Tor Preglednik?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Pokreni Tor Preglednik"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Otkaži"
diff --git a/po/hu.po b/po/hu.po
index 1d26c7e..8e37ea3 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-15 18:27+0000\n"
"Last-Translator: Robert Zsolt <physx_ms@outlook.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/otf/torproject/language/"
@@ -457,19 +457,19 @@ msgstr ""
msgid "Learn more"
msgstr "További információ"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "A Tor még nem áll készen a működésre"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "A Tor még nem áll készen a működésre. Mindenképp el szeretné indítani?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "A Tor Browser indítása"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Mégse"
diff --git a/po/id.po b/po/id.po
index a6c9b97..d96d16e 100644
--- a/po/id.po
+++ b/po/id.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-21 09:16+0000\n"
"Last-Translator: zk <zamani.karmana@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/otf/torproject/language/"
@@ -453,19 +453,19 @@ msgstr ""
msgid "Learn more"
msgstr "Pelajari lebih lanjut"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor belum siap"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor belum siap. Tetap jalankan peramban Tor?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Mulai peramban Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Batal"
diff --git a/po/it.po b/po/it.po
index b57d2fd..66e29b8 100644
--- a/po/it.po
+++ b/po/it.po
@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-25 00:17+0000\n"
"Last-Translator: Giuseppe Pignataro <rogepix@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/otf/torproject/language/"
@@ -462,19 +462,19 @@ msgstr ""
msgid "Learn more"
msgstr "Leggi di più"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor non è pronto"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor non è pronto. Avviare comunque il Tor Browser?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Avvia Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Annulla"
diff --git a/po/ja.po b/po/ja.po
index 18df6e9..d5948e6 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-08-29 06:11+0000\n"
"Last-Translator: タカハシ <indexial@outlook.jp>\n"
"Language-Team: Japanese (http://www.transifex.com/otf/torproject/language/"
@@ -448,19 +448,19 @@ msgstr ""
msgid "Learn more"
msgstr "Tails について詳しく知る"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor は準備出来ていません"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor は準備出来ていません。とにかく Tor Browser を起動しますか?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Tor Browser を起動"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "キャンセル"
diff --git a/po/km.po b/po/km.po
index b918bb0..6bbc04a 100644
--- a/po/km.po
+++ b/po/km.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2014-06-10 02:40+0000\n"
"Last-Translator: Sokhem Khoem <sokhem@open.org.kh>\n"
"Language-Team: Khmer (http://www.transifex.com/projects/p/torproject/"
@@ -428,19 +428,19 @@ msgstr ""
msgid "Learn more"
msgstr "ស្វែងយល់​បន្ថែម​អំពី Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor គឺ​មិនទាន់​រួចរាល់​ទេ"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor គឺ​មិនទាន់​រួចរាល់​ទេ។ ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត Tor ឬ?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "បោះបង់"
diff --git a/po/ko.po b/po/ko.po
index 5b795f3..09919f3 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-02-24 15:42+0000\n"
"Last-Translator: Sungjin Kang <potopro@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/torproject/"
@@ -442,19 +442,19 @@ msgstr ""
msgid "Learn more"
msgstr "Tails에 대해서 더 알아보기"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor 준비 안 됨"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor는 준비 안 됐는데, 그래도 Tor 브라우저를 실행할까요?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Tor 브라우저 시작"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "취소"
diff --git a/po/lv.po b/po/lv.po
index 334ad01..9d33257 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-12-17 17:06+0000\n"
"Last-Translator: Ojārs Balcers <ojars.balcers@gmail.com>\n"
"Language-Team: Latvian (http://www.transifex.com/otf/torproject/language/"
@@ -442,19 +442,19 @@ msgstr ""
msgid "Learn more"
msgstr "Uzzināt vairāk"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nav sagatavots."
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nav sagatavots. Vai, neskatoties uz to, startēt Pārlūku Tor?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Startēt Pārlūku Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Atcelt"
diff --git a/po/nb.po b/po/nb.po
index 8357906..db08304 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 22:45+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/otf/torproject/"
@@ -450,19 +450,19 @@ msgstr ""
msgid "Learn more"
msgstr "Lær mer"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor er ikke klar"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor er ikke klar. Starte Tor Browser uansett?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Start Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Avbryt"
diff --git a/po/nl.po b/po/nl.po
index 6d00ef1..ba45f81 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-20 19:40+0000\n"
"Last-Translator: Volluta <volluta@tutanota.com>\n"
"Language-Team: Dutch (http://www.transifex.com/otf/torproject/language/nl/)\n"
@@ -462,19 +462,19 @@ msgstr ""
msgid "Learn more"
msgstr "Meer info"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor is niet klaar"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor is niet klaar. De Tor Browser toch starten?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Start de Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Annuleren"
diff --git a/po/pl.po b/po/pl.po
index 755387f..157cce2 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-16 21:04+0000\n"
"Last-Translator: Jakub Goldberg <zenji.yamada.nihon@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/otf/torproject/language/"
@@ -460,19 +460,19 @@ msgstr ""
msgid "Learn more"
msgstr "Dowiedz się więcej"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nie jest gotowy"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nie jest gotowy. Uruchomić Tor Browser mimo tego?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Start Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Anuluj"
diff --git a/po/pt.po b/po/pt.po
index b834a3c..a46e169 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-11-01 17:50+0000\n"
"Last-Translator: MMSRS <h_manuela_rodsilva@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/otf/torproject/language/"
@@ -457,19 +457,19 @@ msgstr ""
msgid "Learn more"
msgstr "Saber mais sobre Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "O Tor não está pronto"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "O Tor não está pronto. Deseja iniciar o Navegador Tor na mesma?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Iniciar o Navegador Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Cancelar"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f8ada37..f6b5a64 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Communia <ameaneantie@riseup.net>, 2013-2015
+# Communia <ameaneantie@riseup.net>, 2013-2016
# carlo giusepe tadei valente sasaki <carlo.gt.valente@gmail.com>, 2014
# Danton Medrado, 2015
# Eduardo Bonsi, 2013-2014
@@ -11,17 +11,19 @@
# Gilberto Coutinho <gilberto.jsc@gmail.com>, 2015
# Isabel Ferreira, 2014
# john smith, 2015
+# Leonardo Vieira de Souza <leonardo.v.souza@gmail.com>, 2016
# Lucas Possatti, 2014
# Luciana Dark Blue <lucianadarkblue@gmail.com>, 2015
# Matheus Boni Vicari <matheus_boni_vicari@hotmail.com>, 2014
# Matheus Martins, 2013
+# Wagner Marques Oliveira <wagnermarques00@hotmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2015-11-23 10:38+0000\n"
-"Last-Translator: Danton Medrado\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-01-30 12:31+0000\n"
+"Last-Translator: Communia <ameaneantie@riseup.net>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/torproject/"
"language/pt_BR/)\n"
"Language: pt_BR\n"
@@ -263,7 +265,7 @@ msgstr "Outras mensagens fornecidas pelo GnuPG:"
#: config/chroot_local-includes/usr/local/bin/icedove:18
msgid "The <b>Claws Mail</b> persistence feature is activated."
-msgstr ""
+msgstr "O recurso persistente <b>Claws Mail</b> foi ativado."
#: config/chroot_local-includes/usr/local/bin/icedove:20
msgid ""
@@ -271,10 +273,13 @@ msgid ""
"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
"data</a> before starting <b>Icedove</b>."
msgstr ""
+"Se você tem emails salvos no <b>Claws Mail</b>, você deve <a href='https://"
+"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrar seus "
+"dados</a> antes de iniciar o <b>Icedove</b>."
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:71
msgid "Restart"
-msgstr ""
+msgstr "Reiniciar"
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:74
#: ../config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop.in.h:1
@@ -351,7 +356,7 @@ msgstr "Esta versão do Tails tem problemas de segurança conhecidos:"
#: config/chroot_local-includes/usr/local/bin/tails-security-check:156
msgid "Known security issues"
-msgstr ""
+msgstr "Problemas de seguranca conhecidos"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:51
#, sh-format
@@ -359,35 +364,33 @@ msgid "Network card ${nic} disabled"
msgstr "Placa de rede ${nic} desabilitada"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:52
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"A burla de identidade MAC falhou para a placa de rede ${nic_name} (${nic}), "
-"portanto, está temporariamente desabilitada.\n"
-"Talvez seja melhor reiniciar o Tails e desabilitar a burla de identidade "
-"MAC. Veja a <a href='file:///usr/share/doc/tails/website/doc/first_steps/"
-"startup_options/mac_spoofing.en.html'>documentação</a>."
+"A máscara de identidade MAC falhou para a placa de rede ${nic_name} "
+"(${nic}), portanto, está temporariamente desabilitada.\n"
+"Talvez seja melhor reiniciar o Tails e desabilitar a máscara de identidade "
+"MAC."
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:61
msgid "All networking disabled"
msgstr "Todas as redes foram desabilitadas"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:62
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"A burla de identidade MAC falhou para a placa de rede ${nic_name} (${nic}). "
-"A recuperação do erro também falhou. Assim, todas as redes estão "
-"desabilitadas.\n"
-"talvez seja melhor reiniciar o Tails e desabilitar a burla de identidade "
-"MAC. Veja a <a href='file:///usr/share/doc/first_steps/startup_options/"
-"mac_spoofing.en.html'>documentação</a>."
+"A máscara de identidade MAC falhou para a placa de rede ${nic_name} "
+"(${nic}). A recuperação do erro também falhou, portanto, toda a navegação "
+"está desabilitada.\n"
+"Talvez seja melhor reiniciar o Tails e desabilitar a máscara de identidade "
+"MAC."
#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:18
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:22
@@ -434,39 +437,38 @@ msgstr ""
"são capazes de monitorar as suas atividades no Tails."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:72
-#, fuzzy
msgid "Warning: non-free virtual machine detected!"
-msgstr "Aviso: máquina virtual detectada!"
+msgstr "Aviso: máquina virtual non-free detectada!"
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:74
-#, fuzzy
msgid ""
"Both the host operating system and the virtualization software are able to "
"monitor what you are doing in Tails. Only free software can be considered "
"trustworthy, for both the host operating system and the virtualization "
"software."
msgstr ""
-"Tanto o sistema operacional hospedeiro quanto o programa de virtualização "
-"são capazes de monitorar as suas atividades no Tails."
+"Tando sistema operacional hospedeiro quanto o programa de virtualização "
+"podem monitorar a sua atividade no Tails. Somente os programas livres podem "
+"ser considerados confiáveis, em relação ao sistema operacional hospedeiro e "
+"ao programa de virtualização. "
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
-#, fuzzy
msgid "Learn more"
-msgstr "Saiba mais sobre o Tails"
+msgstr "Saiba mais"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "O Tor não está pronto"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "O Tor não está pronto. Iniciar o Navegador Tor assim mesmo?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Iniciar o Navegador Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Cancelar"
@@ -475,16 +477,14 @@ msgid "Do you really want to launch the Unsafe Browser?"
msgstr "Você realmente deseja iniciar o Navegador não-confiável?"
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:35
-#, fuzzy
msgid ""
"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
msgstr ""
-"A atividade de rede que utiliza um Navegador não-confiável <b>não é anônima</"
-"b>. Utilize um Navegador não-confiável somente se for necessário, por "
-"exemplo, se você tiver que se identificar ou se registrar para ativar a sua "
-"conexão a Internet."
+"A atividade de rede no Navegador é <b>não é anônima</b>.\\nUse o Navegador "
+"somente se for necessário, por exemplo\\nse você tiver de fazer login ou "
+"registrar para ativar asua conexão de Internet.."
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:47
msgid "Starting the Unsafe Browser..."
@@ -561,7 +561,7 @@ msgid ""
"for more information."
msgstr ""
"Algo de errado aconteceu quando o I2P estava iniciando. Verifique os "
-"registros em /var/log/i2p para mais informação."
+"registros em /var/log/i2p para mais informações."
#: config/chroot_local-includes/usr/local/sbin/tails-i2p:53
msgid "I2P's router console is ready"
@@ -649,31 +649,3 @@ msgstr "Navegador não-confiável"
#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
msgid "Tails specific tools"
msgstr "Ferramentas específicas do Tails"
-
-#~ msgid "Shutdown Immediately"
-#~ msgstr "Desligar imediatamente"
-
-#~ msgid "Reboot Immediately"
-#~ msgstr "Reiniciar imediatamente"
-
-#~ msgid "Network connection blocked?"
-#~ msgstr "Conexão de rede bloqueada?"
-
-#~ msgid ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-#~ msgstr ""
-#~ "Aparentemente você foi bloqueado da rede. Isto pode estar relacionado à "
-#~ "funcionalidade de burla de identidade MAC. Para mais informações, "
-#~ "consulte a <a href=\\\"file:///usr/share/doc/tails/website/doc/"
-#~ "first_steps/startup_options/mac_spoofing.en.html#blocked\\\"> "
-#~ "documentação sobre burla de identidade MAC</a>."
-
-#~ msgid ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
-#~ msgstr ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Saiba mais...</a>"
diff --git a/po/ro.po b/po/ro.po
index e9c764e..1995a36 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,6 +8,7 @@
# devod <ipawnyou@icloud.com>, 2015
# Di N., 2015
# Draga Bianca - Madalina <dragabianca@yahoo.com>, 2014
+# kyx <mihaidiaconu@gmail.com>, 2016
# Nicola Radu <estonyte@yahoo.com>, 2014
# Paul Ionut Anton, 2014
# Roxana Ardelean <roxana.ene@gmail.com>, 2014
@@ -18,9 +19,9 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2015-10-27 09:13+0000\n"
-"Last-Translator: Di N.\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-01-30 11:34+0000\n"
+"Last-Translator: kyx <mihaidiaconu@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/torproject/language/"
"ro/)\n"
"Language: ro\n"
@@ -277,7 +278,7 @@ msgstr "Alte mesaje oferite de GnuPG"
#: config/chroot_local-includes/usr/local/bin/icedove:18
msgid "The <b>Claws Mail</b> persistence feature is activated."
-msgstr ""
+msgstr "Caracteristica persistență a <b>Claws Mail</b> este activată."
#: config/chroot_local-includes/usr/local/bin/icedove:20
msgid ""
@@ -285,10 +286,13 @@ msgid ""
"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
"data</a> before starting <b>Icedove</b>."
msgstr ""
+"Dacă aveți email-uri salvate în <b>Claws Mail</b>, trebuie să <a "
+"href='https://tails.boum.org/doc/anonymous_internet/"
+"claws_mail_to_icedove'>mutați datele</a> înainte să porniți <b>Icedove</b>."
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:71
msgid "Restart"
-msgstr ""
+msgstr "Restart"
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:74
#: ../config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop.in.h:1
@@ -364,7 +368,7 @@ msgstr "Această versiune de Tail are probleme de securitate cunoscute:"
#: config/chroot_local-includes/usr/local/bin/tails-security-check:156
msgid "Known security issues"
-msgstr ""
+msgstr "Probleme de securitate cunoscute"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:51
#, sh-format
@@ -372,35 +376,32 @@ msgid "Network card ${nic} disabled"
msgstr "Placa de rețea ${nic} dezactivată"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:52
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"MAC spoofing a eșuat pentru cardul de rețea ${nic_name} (${nic}) așadar este "
-"momentan dezactivat. \n"
-"Este recomandat să reinițializezi Tails și să dezactivezi MAC spoofing. Vezi "
-"<a href='file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-"mac_spoofing.en.html'>documentation</a>."
+"Spoofing-ul MAC nu a reușit pentru placa de rețea ${nic_name} (${nic}) "
+"aștfel aceasta este temporar dezactivată.\n"
+"Poate preferați să restartați Tails și să dezactivați spoofing-ul MAC."
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:61
msgid "All networking disabled"
msgstr "Toate rețelele sunt dezactivate"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:62
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"MAC spoofing a eșuat pentru cardul de rețea ${nic_name} (${nic}). "
-"Recuperarea în urma erorii a eșuat de asemenea, așadar activitatea a fost "
-"dezactivată.\n"
-"Este recomandat să reinițializezi Tails și să dezactivezi MAC spoofing. Vezi "
-"<a href='file:///usr/share/doc/first_steps/startup_options/mac_spoofing.en."
-"html'>documentation</a>."
+"Spoofing-ul MAC a eșuat pentru placa de rețea ${nic_name} (${nic}). Și "
+"recuperarea erorii a eșuat de asemenea astfel încât toate rețelele sunt "
+"dezactivate.\n"
+"\n"
+"Ați putea alege să restartați Tails și să dezactivați spoofing-ul MAC."
#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:18
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:22
@@ -446,39 +447,38 @@ msgstr ""
"faceți în Tails."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:72
-#, fuzzy
msgid "Warning: non-free virtual machine detected!"
-msgstr "Atenție: s-a detectat o mașină virtuală!"
+msgstr "Avertisment: o mașina virtuală care nu este gratuită a fost detectată!"
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:74
-#, fuzzy
msgid ""
"Both the host operating system and the virtualization software are able to "
"monitor what you are doing in Tails. Only free software can be considered "
"trustworthy, for both the host operating system and the virtualization "
"software."
msgstr ""
-"Atât sistemul de operare gazdă cât și aplicația virtuală pot monitoriza ce "
-"faceți în Tails."
+"Atât sistemul de operar gazdă cât și software-ul de virtualizare sunt "
+"capabile să monitorizeze ce faceți în Tails. Numai software-ul gratuit poate "
+"fi considerat demn de încredere, atât pentru sistemul de operare gazdă cât "
+"și pentru software-ul de virtualizare."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
-#, fuzzy
msgid "Learn more"
-msgstr "Învățați mai multe despre Tails"
+msgstr "Află mai multe"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nu este pregatit"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nu este pregătit. Se pornește navigatorul Tor oricum?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Porniti Browserul Tor"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Anulare"
@@ -487,14 +487,14 @@ msgid "Do you really want to launch the Unsafe Browser?"
msgstr "Sigur vreti sa lansati browser-ul neprotejat? "
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:35
-#, fuzzy
msgid ""
"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
msgstr ""
-"Activitatea internetului in browser-ul neprotejat este <b>, nu anonimul </"
-"b>. Folositi doar"
+"Activitatea de rețea în Unsafe Browser <b>nu este anonimă</b>.\\n Folosiți "
+"Unsafe Browser numai dacă este necesar, de exemplu\\nif trebuie să vă "
+"autentificați sau ănregistrați pentru activarea conexiunii dvs. la internet."
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:47
msgid "Starting the Unsafe Browser..."
@@ -662,30 +662,3 @@ msgstr "Browser Web neprotejat"
#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
msgid "Tails specific tools"
msgstr "Unelte specifice Tails"
-
-#~ msgid "Shutdown Immediately"
-#~ msgstr "Inchide imediat"
-
-#~ msgid "Reboot Immediately"
-#~ msgstr "Repornește imediat"
-
-#~ msgid "Network connection blocked?"
-#~ msgstr "Conexiune la internet blocata?"
-
-#~ msgid ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-#~ msgstr ""
-#~ "Se pare ca aveti accesul blocat la internet. Poate fi din cauza funcției "
-#~ "de falsificare MAC. Pentru mai multe informații, vedeți <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">documentație falsificare MAC</a>."
-
-#~ msgid ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
-#~ msgstr ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'> Află mai multe...</a>"
diff --git a/po/ru.po b/po/ru.po
index f8fce12..b524967 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 14:07+0000\n"
"Last-Translator: Antony A. Tolmachev <a.tolmachev@richart-consalt.ru>\n"
"Language-Team: Russian (http://www.transifex.com/otf/torproject/language/"
@@ -479,19 +479,19 @@ msgstr ""
msgid "Learn more"
msgstr "Подробнее "
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor не готов"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor не готов. Всё равно запустить Tor Browser?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Запустить Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Отмена"
diff --git a/po/sk.po b/po/sk.po
index 15ffb71..3626b39 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-08-04 20:56+0000\n"
"Last-Translator: Stanislav Tomáš <stanislav.tomas@hotmail.sk>\n"
"Language-Team: Slovak (http://www.transifex.com/otf/torproject/language/"
@@ -455,19 +455,19 @@ msgstr ""
msgid "Learn more"
msgstr "Dozvedieť sa viac o Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nie je pripravený"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nie je pripravený. Spustiť Tor Browser aj tak?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Spustiť Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Zrušiť"
diff --git a/po/sk_SK.po b/po/sk_SK.po
index cadff03..271839f 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2014-07-27 11:30+0000\n"
"Last-Translator: once\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/"
@@ -446,19 +446,19 @@ msgstr ""
msgid "Learn more"
msgstr "Zistiť viac o Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor nie je pripravený"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor nie je pripravený. Spustiť Tor Browser aj napriek tomu?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Spustiť Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Zrušiť"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 8648636..9e41321 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-02-12 14:52+0000\n"
"Last-Translator: runasand <runa.sandvik@gmail.com>\n"
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/"
@@ -449,19 +449,19 @@ msgstr ""
msgid "Learn more"
msgstr "Več o Sledi"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor ni pripravljen"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor ni pripravljen. Zaženem Tor brskalnik vseeno?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Zagon Tor brskalnik"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Opusti"
diff --git a/po/sq.po b/po/sq.po
index 68316e6..a86b3a3 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-09-25 11:52+0000\n"
"Last-Translator: Bujar Tafili\n"
"Language-Team: Albanian (http://www.transifex.com/otf/torproject/language/"
@@ -451,19 +451,19 @@ msgstr ""
msgid "Learn more"
msgstr "Mësoni më shumë rreth Tails"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor s'është gati"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor s'është gati. Do ta nisni Tor Browser gjithsesi?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Niseni Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Anuloni"
diff --git a/po/sr.po b/po/sr.po
index 2fe0080..2b60ade 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2015-03-29 20:33+0000\n"
"Last-Translator: JanaDi <dijana1706@gmail.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/torproject/"
@@ -470,19 +470,19 @@ msgstr ""
msgid "Learn more"
msgstr "Научите више о Tails-у."
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Тор није спреман"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Тор није спреман. Ипак покренути Тор?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Покрени Тор Браузер"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Откажи"
diff --git a/po/sv.po b/po/sv.po
index 7cef65d..58937e9 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-17 17:54+0000\n"
"Last-Translator: Martin <mhilgendrf@aol.com>\n"
"Language-Team: Swedish (http://www.transifex.com/otf/torproject/language/"
@@ -451,19 +451,19 @@ msgstr ""
msgid "Learn more"
msgstr "Mer information"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor är inte redo"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor är inte redo. Starta Tor Browser ändå?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Starta Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Avbryt"
diff --git a/po/tails.pot b/po/tails.pot
index d2c8774..4bd3c72 100644
--- a/po/tails.pot
+++ b/po/tails.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -388,19 +388,19 @@ msgstr ""
msgid "Learn more"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr ""
diff --git a/po/tr.po b/po/tr.po
index a99e92b..7d1fd26 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 09:47+0000\n"
"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/otf/torproject/language/"
@@ -462,19 +462,19 @@ msgstr ""
msgid "Learn more"
msgstr "Daha fazla bilgi"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor hazır değil"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor hazır değil. Gene de Tor Browser başlatılsın mı?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Tor Browser Başlatılsın"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "İptal"
diff --git a/po/uk.po b/po/uk.po
index 9fff987..dcc5462 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@
# LinuxChata, 2014
# Oleksii Golub <sclub2018@yandex.ua>, 2015
# Pinro Lomil <lomil97@gmail.com>, 2013
-# Vira Motorko <ato4ka@i.ua>, 2015
+# Vira Motorko <ato4ka@i.ua>, 2015-2016
# Yasha <yasha88888@hotmail.com>, 2015
# Андрій Бандура <andriykopanytsia@gmail.com>, 2014
# Владислав <vladyslavpoghrebniakov@gmail.com>, 2014
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2015-12-05 09:10+0000\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-02-05 14:05+0000\n"
"Last-Translator: Vira Motorko <ato4ka@i.ua>\n"
"Language-Team: Ukrainian (http://www.transifex.com/otf/torproject/language/"
"uk/)\n"
@@ -274,7 +274,7 @@ msgstr "Інші повідомлення, що надаються GnuPG:"
#: config/chroot_local-includes/usr/local/bin/icedove:18
msgid "The <b>Claws Mail</b> persistence feature is activated."
-msgstr ""
+msgstr "Увімкнено функцію стійкості <b>Claws Mail</b>."
#: config/chroot_local-includes/usr/local/bin/icedove:20
msgid ""
@@ -282,10 +282,14 @@ msgid ""
"tails.boum.org/doc/anonymous_internet/claws_mail_to_icedove'>migrate your "
"data</a> before starting <b>Icedove</b>."
msgstr ""
+"Якщо Ваші електронні листи зберігаються у <b>Claws Mail</b>, Вам варто <a "
+"href='https://tails.boum.org/doc/anonymous_internet/"
+"claws_mail_to_icedove'>мігрувати свої дані</a> перед початком використання "
+"<b>Icedove</b>."
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:71
msgid "Restart"
-msgstr ""
+msgstr "Перезавантажити"
#: config/chroot_local-includes/usr/share/gnome-shell/extensions/shutdown-helper@tails.boum.org/extension.js:74
#: ../config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop.in.h:1
@@ -362,7 +366,7 @@ msgstr "Ця версія Tails має відомі проблеми безпе
#: config/chroot_local-includes/usr/local/bin/tails-security-check:156
msgid "Known security issues"
-msgstr ""
+msgstr "Відомі проблеми безпеки"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:51
#, sh-format
@@ -370,33 +374,30 @@ msgid "Network card ${nic} disabled"
msgstr "Мережева карта ${nic} відключена"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:52
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}) so it is "
"temporarily disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
"Підміна MAC-адреси не вдалася для мережевої карти ${nic_name} (${nic}), тому "
-"вона тимчасово вимкнена. Можливо, ви віддасте перевагу перевантаженню Tails "
-"і вимкненню підміни MAC. Див. <a href='file:///usr/share/doc/tails/website/"
-"doc/first_steps/startup_options/mac_spoofing.en.html'>документацію</a>."
+"вона тимчасово вимкнена. \n"
+"Можливо, ви віддасте перевагу перевантаженню Tails і вимкненню підміни MAC."
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:61
msgid "All networking disabled"
msgstr "Всі налаштування мережі вимкнені"
#: config/chroot_local-includes/usr/local/lib/tails-spoof-mac:62
-#, fuzzy, sh-format
+#, sh-format
msgid ""
"MAC spoofing failed for network card ${nic_name} (${nic}). The error "
"recovery also failed so all networking is disabled.\n"
"You might prefer to restart Tails and disable MAC spoofing."
msgstr ""
-"Підміна MAC не вдалася для мережевої карти${nic_name} (${nic}). Помилку не "
+"Підміна MAC не вдалася для мережевої карти ${nic_name} (${nic}). Помилку не "
"вдалося виправити, тому мережа повністю вимкнена.\n"
"Можливо, ви віддасте перевагу перевантаженню Tails і вимкненню підміни MAC. "
-"Див. <a href= \" file:///usr/share/doc/решка/сайті/doc/first_steps/"
-"startup_options/mac_spoofing.en.html'>документацію</a>."
#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:18
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:22
@@ -444,12 +445,10 @@ msgstr ""
"контролювати те, що Ви робите в Tails."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:72
-#, fuzzy
msgid "Warning: non-free virtual machine detected!"
-msgstr "Увага: знайдено віртуальну машину!"
+msgstr "Увага: знайдено невільну віртуальну машину!"
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:74
-#, fuzzy
msgid ""
"Both the host operating system and the virtualization software are able to "
"monitor what you are doing in Tails. Only free software can be considered "
@@ -457,26 +456,27 @@ msgid ""
"software."
msgstr ""
"Операційна система та програмне забезпечення віртуалізації у змозі "
-"контролювати те, що Ви робите в Tails."
+"контролювати те, що Ви робите в Tails. Лише вільне програмне забезпечення "
+"розглядається як варте довіри, як для операційної системи, так і для "
+"програмне забезпечення віртуалізації."
#: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
-#, fuzzy
msgid "Learn more"
-msgstr "Дізнайтеся більше про Tails"
+msgstr "Детальніше"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor не готовий"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor не готовий. Запустити Tor у будь-якому разі?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "Запустити Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "Відмова"
@@ -485,15 +485,15 @@ msgid "Do you really want to launch the Unsafe Browser?"
msgstr "Ви дійсно хочете запустити небезпечний браузер?"
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:35
-#, fuzzy
msgid ""
"Network activity within the Unsafe Browser is <b>not anonymous</b>.\\nOnly "
"use the Unsafe Browser if necessary, for example\\nif you have to login or "
"register to activate your Internet connection."
msgstr ""
-"Мережева активність Небезпечного Браузера <b>не анонімна</b>. Використовуйте "
-"Небезпечний браузер тільки у разі необхідності, наприклад, якщо Вам потрібно "
-"увійти і зареєструватися для активації Вашого мережного з'єднання."
+"Мережева активність Небезпечного Браузера <b>не анонімна</b>. "
+"\\nВикористовуйте Небезпечний браузер тільки у разі необхідності, наприклад, "
+"якщо Вам потрібно увійти і зареєструватися для активації Вашого мережного "
+"з'єднання."
#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:47
msgid "Starting the Unsafe Browser..."
@@ -660,30 +660,3 @@ msgstr "Ненадійний веб-браузер"
#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
msgid "Tails specific tools"
msgstr "Спеціальні інструменти Tails"
-
-#~ msgid "Shutdown Immediately"
-#~ msgstr "Негайно вимкнути"
-
-#~ msgid "Reboot Immediately"
-#~ msgstr "Негайно перезавантажити"
-
-#~ msgid "Network connection blocked?"
-#~ msgstr "З'єднання з мережею заблоковано?"
-
-#~ msgid ""
-#~ "It looks like you are blocked from the network. This may be related to "
-#~ "the MAC spoofing feature. For more information, see the <a href=\\"
-#~ "\"file:///usr/share/doc/tails/website/doc/first_steps/startup_options/"
-#~ "mac_spoofing.en.html#blocked\\\">MAC spoofing documentation</a>."
-#~ msgstr ""
-#~ "Здається, ви заблоковані у мережі. Можливо, це пов'язано із підміною MAC-"
-#~ "адрес. Для отримання додаткової інформації див. <a href=\\\"file:///usr/"
-#~ "share/doc/tails/website/doc/first_steps/startup_options/mac_spoofing.en."
-#~ "html#blocked\\\">документацію про підміну MAC-адрес</a>."
-
-#~ msgid ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Learn more...</a>"
-#~ msgstr ""
-#~ "<a href='file:///usr/share/doc/tails/website/doc/advanced_topics/"
-#~ "virtualization.en.html#security'>Дізнатися більше...</a>"
diff --git a/po/zh.po b/po/zh.po
index 09f5827..3fb1881 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -57,7 +57,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -445,19 +445,19 @@ msgstr ""
msgid "Learn more"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr ""
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 698623b..b82ab8b 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
"PO-Revision-Date: 2016-01-12 09:41+0000\n"
"Last-Translator: YF <yfdyh000@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/otf/torproject/"
@@ -429,19 +429,19 @@ msgstr ""
msgid "Learn more"
msgstr "详细了解"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor 未就绪"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor 未就绪。确定启动 Tor Browser?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "启动 Tor Browser"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "取消"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 89fcc1b..f574757 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -17,8 +17,8 @@ msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-25 17:49+0100\n"
-"PO-Revision-Date: 2016-01-18 05:01+0000\n"
+"POT-Creation-Date: 2016-02-12 13:52+0100\n"
+"PO-Revision-Date: 2016-02-08 04:40+0000\n"
"Last-Translator: Agustín Wu <losangwuyts@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/torproject/"
"language/zh_TW/)\n"
@@ -433,19 +433,19 @@ msgstr ""
msgid "Learn more"
msgstr "繼續閱讀"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:29
+#: config/chroot_local-includes/usr/local/bin/tor-browser:41
msgid "Tor is not ready"
msgstr "Tor 未就緒"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:30
+#: config/chroot_local-includes/usr/local/bin/tor-browser:42
msgid "Tor is not ready. Start Tor Browser anyway?"
msgstr "Tor 未就緒。無論如何啟動 Tor 瀏覽器嗎?"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:31
+#: config/chroot_local-includes/usr/local/bin/tor-browser:43
msgid "Start Tor Browser"
msgstr "啟動 Tor 瀏覽器"
-#: config/chroot_local-includes/usr/local/bin/tor-browser:32
+#: config/chroot_local-includes/usr/local/bin/tor-browser:44
msgid "Cancel"
msgstr "取消"
diff --git a/submodules/jenkins-tools b/submodules/jenkins-tools
-Subproject 8a153139f93387a3584309a287a2a2b3c14d8f9
+Subproject 8472ad28b2a7b513b110d267441b2531eb75d70
diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile
index 7009c90..2a9370f 100644
--- a/vagrant/Vagrantfile
+++ b/vagrant/Vagrantfile
@@ -32,8 +32,8 @@ cpus = ENV['TAILS_BUILD_CPUS']
if vagrant_old
Vagrant::Config.run do |config|
- config.vm.box = 'tails-builder-20141201'
- config.vm.box_url = 'http://dl.amnesia.boum.org/tails/project/vagrant/tails-builder-20141201.box'
+ config.vm.box = 'tails-builder-20150609'
+ config.vm.box_url = 'http://dl.amnesia.boum.org/tails/project/vagrant/tails-builder-20150609.box'
config.vm.provision :shell, :inline => "http_proxy='#{ENV['http_proxy']}' /vagrant/provision/setup-tails-builder"
@@ -44,8 +44,8 @@ if vagrant_old
end
else
Vagrant.configure("2") do |config|
- config.vm.box = 'tails-builder-20141201'
- config.vm.box_url = 'http://dl.amnesia.boum.org/tails/project/vagrant/tails-builder-20141201.box'
+ config.vm.box = 'tails-builder-20150609'
+ config.vm.box_url = 'http://dl.amnesia.boum.org/tails/project/vagrant/tails-builder-20150609.box'
config.vm.provision "shell",
inline: "sudo http_proxy='#{ENV['http_proxy']}' /vagrant/provision/setup-tails-builder"
diff --git a/vagrant/definitions/tails-builder/definition.rb b/vagrant/definitions/tails-builder/definition.rb
index d93eeb0..118a591 100644
--- a/vagrant/definitions/tails-builder/definition.rb
+++ b/vagrant/definitions/tails-builder/definition.rb
@@ -4,8 +4,8 @@ Veewee::Definition.declare({
:disk_size => '15000', :disk_format => 'VDI', :hostiocache => 'off',
:os_type_id => 'Debian_64',
:iso_file => "debian-7.5.0-amd64-netinst.iso",
- :iso_src => "http://cdimage.debian.org/debian-cd/7.5.0/amd64/iso-cd/debian-7.5.0-amd64-netinst.iso",
- :iso_md5 => "8fdb6715228ea90faba58cb84644d296",
+ :iso_src => "http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso",
+ :iso_md5 => "1a311f9afb68d6365211b13b4342c40b",
:iso_download_timeout => "1000",
:boot_wait => "10", :boot_cmd_sequence => [
'<Esc>',
diff --git a/vagrant/definitions/tails-builder/postinstall.sh b/vagrant/definitions/tails-builder/postinstall.sh
index d8b68fc..538118a 100644
--- a/vagrant/definitions/tails-builder/postinstall.sh
+++ b/vagrant/definitions/tails-builder/postinstall.sh
@@ -23,12 +23,6 @@ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
# Removing leftover DHCP leases
rm /var/lib/dhcp/*.leases
-# Deactivate name persistence for network interfaces
-dpkg-divert --divert /lib/udev/write_net_rules \
- --rename /lib/udev/write_net_rules.udev
-cp /bin/true /lib/udev/write_net_rules
-rm -f /etc/udev/rules.d/70-persistent-net.rules
-
# Adding a 2 sec delay to the interface up, to make the dhclient happy
echo "pre-up sleep 5" >> /etc/network/interfaces
@@ -41,6 +35,14 @@ sed -e '/http::Proxy/d' -i /etc/apt/apt.conf
# Remove installation logs
rm -rf /var/log/installer
+# Clean up veewee's vbox additions iso. We don't use it, actually.
+rm -f /home/vagrant/VBoxGuestAdditions_*.iso
+
+# Clean up some APT stuff that will be recreated after the first
+# apt-get update during provision.
+rm -rf /var/lib/apt/lists
+rm -f /var/cache/apt/*pkgcache.bin
+
# Zero out the free space to save space in the final image:
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
diff --git a/vagrant/definitions/tails-builder/preseed.cfg b/vagrant/definitions/tails-builder/preseed.cfg
index 7d1c152..ead9dc5 100644
--- a/vagrant/definitions/tails-builder/preseed.cfg
+++ b/vagrant/definitions/tails-builder/preseed.cfg
@@ -6,6 +6,9 @@ d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i netcfg/get_domain string vagrantup.com
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+
# Use http.us.debian.org to select closest mirror
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
@@ -13,11 +16,11 @@ d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
# Set clock to UTC
+d-i clock-setup/utc boolean true
d-i time/zone string UTC
d-i clock-setup/ntp boolean true
# Use LVM and all available disk space
-d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
@@ -26,28 +29,42 @@ d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman/choose_partition select finish
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
-d-i partman/default_filesystem string ext4
-d-i partman/confirm_write_new_label boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# Create a sudoer 'vagrant' account
d-i passwd/root-login boolean false
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
d-i passwd/user-fullname string Vagrant User
d-i passwd/username string vagrant
d-i passwd/user-password password vagrant
d-i passwd/user-password-again password vagrant
-d-i user-setup/encrypt-home boolean false
-d-i user-setup/allow-password-weak boolean true
+d-i passwd/user-default-groups string audio cdrom video admin
# Do not select any tasks
tasksel tasksel/first multiselect
+# We need contrib for virtualbox-guest-utils
+d-i apt-setup/contrib boolean true
+
# Individual additional packages to install
d-i pkgsel/include string \
- openssh-server \
- curl \
- virtualbox-guest-utils
+ acpid \
+ bzip2 \
+ curl \
+ ntp \
+ openssh-server \
+ rsync \
+ sudo \
+ virtualbox-guest-utils
# No need for an extra upgrade: it is a full net install
d-i pkgsel/upgrade select none
@@ -58,6 +75,10 @@ popularity-contest popularity-contest/participate boolean false
# Install bootloader
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
+d-i grub-installer/bootdev string default
# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note
+d-i preseed/early_command string sed -i \
+ '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+ /usr/lib/pre-pkgsel.d/20install-hwpackages
diff --git a/vagrant/lib/tails_build_settings.rb b/vagrant/lib/tails_build_settings.rb
index e47adc5..70ef384 100644
--- a/vagrant/lib/tails_build_settings.rb
+++ b/vagrant/lib/tails_build_settings.rb
@@ -3,7 +3,7 @@
# vi: set ft=ruby :
# Hostname of the virtual machine (must be in /etc/hosts)
-VIRTUAL_MACHINE_HOSTNAME = 'tails-builder-20140709.vagrantup.com'
+VIRTUAL_MACHINE_HOSTNAME = 'tails-builder-20150609.vagrantup.com'
# Approximate amount of extra space needed for builds
BUILD_SPACE_REQUIREMENT = 7*1024 + 128
@@ -15,4 +15,4 @@ VM_MEMORY_FOR_DISK_BUILDS = 512
VM_MEMORY_FOR_RAM_BUILDS = VM_MEMORY_FOR_DISK_BUILDS + BUILD_SPACE_REQUIREMENT
# Checksum for BOX
-BOX_CHECKSUM = 'efb339f06192d5db16585abc946e50cc73cb13aad5afd39357c6a8e33aebb814'
+BOX_CHECKSUM = '704dbb844464c1998c0873220e0c221b910a28a7402ced2395c781c936af9a2f'
diff --git a/vagrant/provision/setup-tails-builder b/vagrant/provision/setup-tails-builder
index 406650b..3352729 100755
--- a/vagrant/provision/setup-tails-builder
+++ b/vagrant/provision/setup-tails-builder
@@ -2,6 +2,8 @@
set -e
+export DEBIAN_FRONTEND=noninteractive
+
# Do not use virtual machine proxy before apt-cacher-ng is installed
if [ "$http_proxy" = "http://$(hostname -f):3142" ] &&
! [ -f /etc/apt-cacher-ng/acng.conf ]; then
@@ -9,18 +11,10 @@ if [ "$http_proxy" = "http://$(hostname -f):3142" ] &&
http_proxy=''
fi
-# Uninstall custom Ikiwiki in case the build directory is still there
-if [ -d /home/vagrant/ikiwiki ]; then
- rm -f /usr/local/bin/ikiwiki*
- rm -rf /usr/local/lib/perl/5.10.1/auto/IkiWiki
- rm -rf /usr/local/share/perl/5.10.1/
- rm -rf /home/vagrant/ikiwiki
-fi
-
rm -f /etc/apt/preferences.d/* /etc/apt/sources.list.d/*
-# Add our builder-wheezy repository for live-build, and pin it low
-echo 'deb http://deb.tails.boum.org/ builder-wheezy main' > /etc/apt/sources.list.d/tails.list
+# Add our builder-jessie repository for live-build, and pin it low
+echo 'deb http://deb.tails.boum.org/ builder-jessie main' > /etc/apt/sources.list.d/tails.list
sed -e 's/^[[:blank:]]*//' > /etc/apt/preferences.d/tails <<EOF
Package: *
Pin: origin deb.tails.boum.org
@@ -41,25 +35,12 @@ EOF
http_proxy="" gpg --keyserver hkps.pool.sks-keyservers.net --recv-key C7988EA7A358D82E
gpg --export C7988EA7A358D82E | sudo apt-key add -
-# Add unstable repository for ikiwiki, and pin it low
-echo 'deb http://ftp.us.debian.org/debian unstable main' > /etc/apt/sources.list.d/unstable.list
-sed -e 's/^[[:blank:]]*//' > /etc/apt/preferences.d/unstable <<EOF
- Package: *
- Pin: release a=unstable
- Pin-Priority: 99
-EOF
-sed -e 's/^[[:blank:]]*//' > /etc/apt/preferences.d/ikiwiki <<EOF
- Package: ikiwiki
- Pin: release a=unstable
- Pin-Priority: 500
-EOF
-
-# Add wheezy-backports for apt-cacher-ng. The version in wheezy has problems
-# with redirects to https, which we need when fetching the TBB tarballs
-echo 'deb http://ftp.us.debian.org/debian wheezy-backports main' > /etc/apt/sources.list.d/wheezy-backports.list
+# We need a newer version of debootstrap for saving the list of
+# packages used when building Tails (#6297).
+echo 'deb http://ftp.us.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
apt-get update
-apt-get -o Dpkg::Options::="--force-confold" -y -t wheezy-backports install apt-cacher-ng
+apt-get -o Dpkg::Options::="--force-confold" -y install apt-cacher-ng
# Install custom configuration for apt-cacher-ng and restart
install -o root -g root -m 644 /vagrant/provision/assets/acng.conf /etc/apt-cacher-ng/acng.conf
@@ -70,21 +51,29 @@ if [ "$LOCAL_HTTP_PROXY" ]; then
http_proxy="$LOCAL_HTTP_PROXY"
fi
+# Currently our base box contains a stupid dpkg-divert that breaks
+# upgrading udev.
+if dpkg-divert --list | grep -wq '/lib/udev/write_net_rules.udev'; then
+ dpkg-divert --remove /lib/udev/write_net_rules.udev
+fi
+
# Upgrade if needed
apt-get -y dist-upgrade
# Those are needed to build Tails
apt-get -y install \
+ debootstrap/jessie-backports \
live-build \
syslinux-utils \
- eatmydata/wheezy-backports \
- time whois \
+ eatmydata \
+ time \
+ whois \
dpkg-dev \
git \
aufs-tools \
ikiwiki \
intltool \
- gettext/wheezy-backports
+ gettext
# Be sure to get all the modules we need for our Ikiwiki
apt-get -y --no-install-recommends install \
@@ -118,3 +107,7 @@ for prefix in MIRROR PARENT_MIRROR ; do
done
done
done
+
+# Clean up
+apt-get -y autoremove
+apt-get -y clean
diff --git a/wiki/src/blueprint/ARM_platforms.mdwn b/wiki/src/blueprint/ARM_platforms.mdwn
new file mode 100644
index 0000000..cacde36
--- /dev/null
+++ b/wiki/src/blueprint/ARM_platforms.mdwn
@@ -0,0 +1,134 @@
+This is about [[!tails_ticket 10972]].
+
+[[!toc levels=2]]
+
+Pros & cons
+===========
+
+## Pros
+
+* It is likely that cheap laptops are going to be more and more often
+ based on ARM. So, supporting ARM would have several advantages:
+ - People who can't afford a more expensive computer might more
+ easily afford a ARM-based one ⇒ supporting Tails on ARM would make
+ it more accessible economically speaking.
+ - It could allow more people to dedicate a machine to Tails, which
+ can have a number of advantages, such as: one can choose a machine
+ that they can carry with them all the time (⇒ physical security of
+ the hardware); one avoids the risk of their (adversary -owned)
+ non-Tails operating system corrupting the firmware in a way that
+ can in turn compromise Tails.
+
+* Most mobile touch devices, e.g. tablets, are based on ARM
+ these days ([[!tails_ticket 6064]]).
+
+* Some concerns about (Intel) x86 technologies, like the Intel ME,
+ might be less of a problem for the time being on ARM. This is no
+ magic wand, though: as Joanna Rutkowska writes in her
+ [State considered harmful](http://blog.invisiblethings.org/2015/12/23/state_harmful.html)
+ paper, "there is nothing special in ARM-based architecture that
+ could prevent a vendor from introducing backdoors into the SoCs they
+ produce".
+
+## Cons
+
+* A huge amount of work is needed to make this happen, since it
+ impacts basically all kinds of teams and skills: user support,
+ release process and workload, infrastructure, quality assurance,
+ Installation Assistant + DAVE, etc.
+
+* This has the potential to spread our energy a bit too thinly, e.g.
+ in terms of maintenance workload, or in terms of acquiring
+ maintaining and knowledge and skills.
+
+* There are lots of unknowns: boot loaders, drivers and hardware
+ support. It's an entirely new world for most of us ⇒ in the current
+ state of things, it is hard to estimate the resources we would need
+ to make it happen.
+
+* Tor Browser [[!tor_bug 12631 desc="is not supported on ARM yet"]].
+
+## Other remarks
+
+* It might be a good thing, for the Tails project, to have a big thing
+ to do together, that at least one people from each team would need
+ to be somewhat involved in.
+
+* The Tor project may be interested in supporting ARM platforms better
+ (e.g. for Tor Browser). This could be a good opportunity to (learn
+ how to) work together more tightly, be it on the technical or
+ fundraising / paperwork side.
+
+Hardware
+========
+
+## CPU architecture
+
+Current (mid-2014 to early 2016) ARM Chromebooks have one of:
+
+* Nvidia's [[!wikipedia Tegra]] K1 T124 (32-bit), that has
+ [[!wikipedia ARM Cortex-A15]], that is ARMv7-A architecture; it has
+ VFPv4
+
+* [[!wikipedia ARM Cortex-A17]] (e.g.
+ in [[!wikipedia Rockchip_RK3288]] (32-bit), that is ARMv7-A
+ architecture; it has VFPv4
+
+For Jessie,
+<https://www.debian.org/releases/stable/armhf/ch02s01.html.en> reads:
+
+* Debian/armhf works only on newer 32-bit ARM processors which
+ implement at least the ARMv7 architecture with version 3 of the ARM
+ vector floating point specification (VFPv3). It makes use of the
+ extended features and performance enhancements available on
+ these models.
+
+* Debian/arm64 works on 64-bit ARM processors which implement at least
+ the ARMv8 architecture.
+
+⇒ armhf should support all current ARM Chromebooks.
+
+Also, 64-bit ARM CPUs can apparently run code that was compiled
+for armhf.
+
+⇒ armhf should support all ARM Chromebooks for the foreseeable future.
+
+## Drivers
+
+Let's see how current Debian supports ARM Chromebooks.
+
+XXX
+
+* Acer Chromebook 13 (CB5), Tegra K1
+ - [[!debwiki InstallingDebianOn/Acer/Chromebook_13_CB5-311-T8BT]]
+ suggests it may require a custom kernel
+
+* Asus Chromebook C201, Rockchip RK3288
+ - [[!debwiki InstallingDebianOn/Asus/C201]]
+ suggests it may require a custom kernel
+
+* Asus Chromebook Flip, Rockchip RK3288
+
+* HP Chromebook 14 (some models), Tegra K1
+
+Kali seems to provide one image per supported system
+([list of images](https://www.offensive-security.com/kali-linux-arm-images/),
+[documentation](http://docs.kali.org/category/kali-on-arm)).
+Their
+[build scripts](https://github.com/offensive-security/kali-arm-build-scripts)
+also display lots of machine-specific variations.
+
+Bootloader
+==========
+
+## coreboot
+
+Ships in Chromebooks.
+
+There's apparently a "legacy boot" mode that makes it "easy" to boot
+another OS than ChromeOS. It is provided by the
+[SeaBIOS](http://www.coreboot.org/SeaBIOS) payload of coreboot.
+
+## others?
+
+XXX
diff --git a/wiki/src/blueprint/CRM_for_frontdesk.mdwn b/wiki/src/blueprint/CRM_for_frontdesk.mdwn
index acdb064..57fdc42 100644
--- a/wiki/src/blueprint/CRM_for_frontdesk.mdwn
+++ b/wiki/src/blueprint/CRM_for_frontdesk.mdwn
@@ -10,7 +10,7 @@ MUST
- Make it easy to ensure everything is answered
- Be able to follow an issue from the beginning to the end
- Statistics:
- - Know how many users encountered the same issue
+ - Know how many users encountered the same issue. Spot the "Top bug".
- Be able to have stats on common issues
- Security of the platform:
- Allow secure deletion of information over time. Not keep a database forever (how long? what to keep?)
diff --git a/wiki/src/blueprint/Debian_Stretch.mdwn b/wiki/src/blueprint/Debian_Stretch.mdwn
index 0e2e9af..28985a0 100644
--- a/wiki/src/blueprint/Debian_Stretch.mdwn
+++ b/wiki/src/blueprint/Debian_Stretch.mdwn
@@ -16,12 +16,12 @@ had to workaround lots of problems on our side.
So we started much earlier the porting work to Jessie, which indeed
essentially avoided the aforementioned problem. But we didn't allocate
enough focused resources to this effort, and as a result the total
-duration of the porting to Jessie work is lasting too much, and we're
-spending too much time just keeping our feature/jessie branch
-up-to-date wrt. the changes we were making in our Wheezy
-production branches.
+duration of the porting to Jessie work has lasted too much (July 2014
+to January 2016, included = 19 months), and we've spent too much time
+just keeping our feature/jessie branch up-to-date wrt. the changes we
+were making in our Wheezy production branches.
-For Stretch we'd like to avoid both problems. We want to start early,
+For Stretch we would like to avoid both problems. We want to start early,
in order to fix problems directly in Debian Stretch before it's
released. And, we want the porting work to fit into a shorter time
span, so as soon as we start we'll allocate more resources to it, and
@@ -33,16 +33,17 @@ evaluate the idea of basing Tails on snapshots of Debian testing.
# Schedule
* 2016Q1 — Tails 2.0 is out
-* April or May 2016 — start working on Tails 3.0 (1 week sprint with
+* August 2016 — start working on Tails 3.0 (1 week sprint with
all involved people) :intrigeri:anonym:kytv:
- get feature/stretch to build and boot
- update the automated test suite to test Tails/Stretch ISO images
-* May 2016 to April 2017 — have one dedicated half-time, 1-week sprint
+* August 2016 to April 2017 — have one dedicated half-time, 1-week sprint
every 6 weeks.
- Schedule these sprints in advance, announce them
publicly, and invite other contributors (e.g. doc writers).
- Most of these sprints will probably be attended remotely, but at
- least some could happen face-to-face.
+ least some could happen face-to-face (at least the first sprint;
+ and then, one out of two, i.e. every one every 3 months?).
- At the beginning of each Stretch sprint, we import a new snapshot
of Debian testing into our freezable APT repository, so that:
* during the sprint we update our stuff as required by changes
@@ -51,26 +52,98 @@ evaluate the idea of basing Tails on snapshots of Debian testing.
sprints, nor between them;
* we get a feeling of how "being based on snapshots of Debian
testing" would work.
-* December 5 2016 — Debian Stretch freeze starts
-* April 2017 (???) — Debian Stretch is released
-* April-June 2017 — Tails 3.0 is released
+* February 5 2017 — Debian Stretch freeze starts
+* June 2017 (???) — Debian Stretch is released
+* June-August 2017 — Tails 3.0 is released
# Let's go rolling
+## Stretch cycle
+
Let's use this porting cycle to evaluate how being based on snapshots
of Debian testing would feel like. During the entire cycle:
* Keep the automated test suite up-to-date on feature/stretch :kytv:
-* Keep the documentation up-to-date on feature/stretch :doc_writer:
+ - Whenever the porting work feels painful, e.g. because it requires
+ updating images, consider fixing the problem at its root in our
+ current devel branch, e.g. thanks to dogtail
+ ([[!tails_ticket 10721]]).
+
+* Keep the documentation up-to-date on feature/stretch (:doc_writer:),
+ or if it is too ambitious:
+ - start doing it for real only once Stretch is frozen
+ - before Stretch is frozen, during each Stretch sprint, test the
+ documentation in order to:
+ * find and report bugs while it is still time to fix them in the
+ right place
+ * identify what would have required work if we wanted to keep the
+ documentation up-to-date on feature/stretch, and take notes
+ about it; the goal is here is to gather useful data regarding
+ the need to update the same piece of documentation multiple
+ times over a given Debian release cycle, which will help us make
+ a decision further down the road; it also might help us pinpoint
+ specific parts of our documentation that could be updated to
+ depend less on varying factors, if any
+
* Take notes of issues we see from the perspective of "how would it go
if we were based on testing already?". E.g.:
- - How to deal with ongoing transitions that block migration of
- security updates from sid to testing?
+ - How to keep track of security issues that affect us, and whether
+ their fix has been uploaded and has migrated to testing yet?
+ See e.g. how security support for Debian testing [used to be
+ (briefly) done](http://secure-testing-master.debian.net/), and in
+ particular the
+ [Vulnerable source packages in the testing suite](https://security-tracker.debian.org/tracker/status/release/testing)
+ and the
+ [Candidates for DTSAs](https://security-tracker.debian.org/tracker/status/dtsa-candidates).
+ - How to deal with
+ [[!debwiki OngoingTransitions desc="ongoing transitions"]] that
+ block migration of security updates from sid to testing?
Note that during half of the cycle, we'll be based on a frozen Debian
-testing, so the changes rate coming from Debian won't be crazy.
-Of course there will be changes coming from our own porting efforts.
+testing, so the changes rate coming from Debian, that impact the
+documentation and test suite work, won't be crazy. Of course there
+will be changes coming from our own porting efforts.
+
+Also, note that the work we will be doing after Stretch is frozen is
+work we would have to do to port Tails to Stretch anyway: so the only
+part of this that is somewhat experimental, and might make us do extra
+work, is limited to 4 months (August to November 2016).
+
+## And after?
And then, once Tails 3.0 is out: we're not lagging behind anymore, and
are thus in a position to decide whether we want to base Tails on
-snapshots of Debian testing.
+snapshots of Debian testing. Chances are that we won't want to be
+based on Debian testing during the 6 months that follow a Debian
+stable release, so we will have time to make up our mind, and to
+prepare the infrastructure and tooling we may need if we decide to
+be based on Debian testing.
+
+To sum up how a ~2 years Debian release cycle could look like from our
+perspective, if we were based on snapshots of Debian testing:
+
+1. a new Debian stable is released
+2. 6 months during which Tails is based on Debian stable that was just
+ released
+3. 12 months during which Tails is based on a non-frozen Debian
+ testing
+4. 6 months during which Tails is based on a frozen Debian testing
+
+Let's now analyze and discuss some consequences of this scenario.
+
+We would be based on a moving target half of the time; the remaining
+half of the time we are based on something that doesn't change much.
+
+We would need to track 2 Debian versions at the same time (and
+continuously forward-port development that was based on the oldest
+one) during the first phase only, that is 6 months, compared to the 19
+months during which we did that in the Jessie cycle. We would save
+lots of time there, that could be re-invested in aspects of this
+proposal that will require more time: essentially this idea is about
+doing a different kind of work, and doing it at different places; it
+won't necessarily lower the total amount of effort we have to do, but
+it likely will make such efforts generate less frustration, more
+happiness, and a warm feeling of being part of a broader community.
+
+Another aspect is that we would essentially stop having to produce and
+maintain backports of Debian packages.
diff --git a/wiki/src/blueprint/Endless_upgrades.mdwn b/wiki/src/blueprint/Endless_upgrades.mdwn
new file mode 100644
index 0000000..a82f708
--- /dev/null
+++ b/wiki/src/blueprint/Endless_upgrades.mdwn
@@ -0,0 +1,154 @@
+[[!meta title="Endless upgrades"]]
+
+Currently automatic upgrades have the limitation that only some N
+number of them can be performed in a row before the system partition
+runs out of space and automatic upgrades cannot be done further, but a
+full, manual upgrade is needed. Ideally, automatic upgrades should be
+possible forever, which will improve the UX and eliminate the
+recurring need to manually verify the Tails ISO when doing these
+unavoidable full upgrades.
+
+[[!toc levels=2]]
+
+# Different approaches to endless upgrades
+
+While examining these approaches, let's forget about IUKs for a while,
+and only consider full automatic upgrades ([[!tails_ticket 7499]]):
+
+## Extract upgrade from ISO
+
+Keeping our current partition layout and filesystems, a full upgrade of
+a running system can be done by extracting the required parts from the
+new version's .iso. Here we'd need at least 3 times the size of an
+installation available:
+
+1. one for the old, running installation
+2. one for the new ISO
+3. one for the extracted contents of the new ISO
+
+We would unlink the old squashfs, kernel, initrd etc. then copying in
+their place new version's ones, so the new version will run next time
+we reboot.
+
+### Disk images instead of ISOs
+
+Note that if we switch to using disk images as the primary way to
+install Tails ([[!tails_ticket 8550]], comment 9) we can similarly
+extract the needed parts just like above: replace "(ISO|.iso)" with
+"disk image" and it still works.
+
+## Streaming decompression
+
+An improved version of the above idea would be to serve "upgrade
+packs" using some compression method friendly to streaming
+decompression, so the need to download a the full archive (ISO or disk
+image above) is avoided, which reduces the amount of temporary disk
+space needed from 3 to 2 times the size of an installation when
+performing the upgrade.
+
+## ISOBoot
+
+Grub and syslinux supports booting directly from an ISO so we could
+switch to a strategy where Tails USB/SD installation means that we
+dump the ISO image into the system partition, and configure the
+bootloader to boot from it. If we make the system partition large
+enough to store two ISOs (= 2 times the size of an installation, when
+comparing o the above methods) we can keep the older, running version
+in place while downloading the new one, and then safely switch to the
+new one at next boot. Since the old version is kept, there's a
+fallback in case the new version doesn't boot. Older versions can be
+cleaned up at the next upgrade.
+
+Depending on how Grub/syslinux does the ISOBoot, this may make all
+running Tails instances more consistent, i.e. we now do not have the
+three cases of what type of medium Tails has booted from: DVD; USB
+drive; or SD card -- in all cases we have a ISO9660 filesystem. OTOH,
+the magic employed for the ISOBoot may hide too much about underlying
+real device, which we still probably will need information about.
+
+Some more details (some perhaps wrong) can be read in comment 16 on
+[[!tails_ticket 7496]].
+
+## Apply upgrade in initramfs
+
+By storing the ISO (or disk image) that the upgrade is gonna be
+extracted from on a scratch partition, and then apply the upgrade in
+initramfs on next boot, we only need 2 times the size of an
+installation in total, and can safely download the ISO to the scratch
+partition while keeping the system partition read-only.
+
+Ideally, let's also save the files used to authenticate the upgrade on
+the scratch partition, and make check the authenticity during
+initramfs, before starting the upgrade.
+
+Also, with the scratch partition we will never have to mount it
+read-write outside of initramfs, it can be made read-only in a
+slightly stronger sense on the block dev level. This is not really a
+security feature, but more a foolproof things, but why not?
+
+# Auxilliary ideas
+
+## Read-write system partition while the network is enabled
+
+Currently we keep the system partition read-only as long as the
+network is enabled. E.g. we download IUKs into the tmpfs, and when
+it's finished we disable the network and only then remount the system
+partition read-write to apply the upgrade.
+
+This is problematic for full upgrades, since we cannot assume that
+users' systems has over 1 GiB of free RAM available but need to
+download it to disk, but cannot use the system partition. In the
+"extract upgrade from ISO/Disk image" case we can simply introduce a
+scratch partition where the temporary download is stored without loss
+of disk usage efficiency (we still need 3 times an installation). But
+for the ISOBoot and streaming decompression cases we'd then go from 2
+times to 3 times the size of an installation.
+
+It might be worth having a discussion about whether preventing the
+network to be used while the system partition is mounted read-write
+actually brings us any security. After all, if the system is
+compromised while downloading the upgrade, it will still be
+compromised when the download is finished and the system partition is
+remounted read-write, and it can infect that part then.
+
+Chrome OS keeps the running system partition read-only, has _two_
+system partitions, and the update is applied to the non-running one.
+This has nice additional properties like allowing one to rollback if
+the upgraded system doesn't start properly. More information about
+their design and implementation:
+
+* [disk format](https://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format)
+* [file system and autoupdate system](https://www.chromium.org/chromium-os/chromiumos-design-docs/filesystem-autoupdate)
+
+## What about IUKs?
+
+If we want to support IUKs at the same time as full upgrades, we need
+to allocate even more space to the system partition. Also, we need to
+carefully consider the UX part of this.
+
+For instance, we could always give users the choice to do a full or
+incremental upgrade unless installing the incremental upgrade will
+result in too little disk space remaining for a full upgrade to be
+done *next* time -- in this case we only allow full upgrades, to
+prevent users from locking themselves in a situation where they cannot
+upgrade further. When both options are available, we could give users
+the suggestion that they should do a full upgrade if they currently
+have a lot of time and/or a fast connection.
+
+## Self-contained verification
+
+An interesting option for Tails installation verification
+([[!tails_ticket 7496]]) is to contain all the bits needed to verify
+an installation's integrity. For instance, in the ISOBoot case we'd
+include the .sig for the ISO on as well as the .iso, so an external
+verifier simply can verify the .sig instead of needing an external
+known-good .iso to compare with.
+
+The ISOBoot case is the simplest, probably, as the other methods would
+require signed manifests of files with the expected hashes (or
+similar), which of course is not such a big deal to provide.
+
+The ISOBoot case would still require a manifest of files we extract
+from the ISO (bootloader code and configuration), but indeed that
+manifest could be in the ISO itself, and thus its authenticity and
+integrity would be signed/verified at the same time as the ISO.
diff --git a/wiki/src/blueprint/HTTP_mirror_pool.mdwn b/wiki/src/blueprint/HTTP_mirror_pool.mdwn
index 6a5fafd..a3adc29 100644
--- a/wiki/src/blueprint/HTTP_mirror_pool.mdwn
+++ b/wiki/src/blueprint/HTTP_mirror_pool.mdwn
@@ -8,334 +8,109 @@
We decided to implement a two-way strategy for this feature:
-* Use JavaScript to modify the link on the download page, so that each
- user is pointed to random mirror.
+* Write dispatcher code, in JavaScript, that DAVE uses to dynamically modify the
+ hostname, in the download link it gets from the ISO description file
+ (IDF), so that each user is pointed to random mirror.
+ - [Git repository](https://git-tails.immerda.ch/mirror-pool-dispatcher/)
- Vanilla JS (no frameworks)
- - Store the JS code and its configuration file in two dedicated
- ikiwiki overlays, for finer-grained access control possibilities
- to it (e.g. we may want to let people who don't have commit access
- to Git maintain the mirrors pool).
- - Configuration for the JS is loaded from JSON file. It attaches
- a weight to each mirror. Weight 0 means that the mirror is
- currently disabled, and will never be redirected to. We're using
- JSON and not YAML to avoid the need to use a third-party parser.
+ - The code must work from inside a Firefox extension (DAVE) at
+ least; ideally it is library code that can also be used from a web
+ page (see below for an actual use case).
+ - Configuration for the JS is loaded from a JSON file hosted on our
+ website.
+ See [[the configuration section|HTTP_mirror_pool#configuration]]
+ for details.
* Keep using DNS to point to 3-5 fast and reliable mirrors. This will
be the fallback for people who do not use JS. So we still need a DNS
dynamic update system; we can simply re-purpose the one we already
have (`dl.amnesia.boum.org`).
-* The ISO verification extension also needs to use mirrors. So, we'll
- be providing library code for it to do the same, internally, as
- a web browser would do when visiting the Tails download page, that
- is replacing the hostname, in a ISO download URL, with a suitable
- mirror's hostname (using the JSON mirror pool configuration file).
+<a id="questions"></a>
+
+## Remaining questions
+
+* How do we manage *.dl.amnesia.boum.org DNS?
+
+* What to do for downloads we offer outside of the Installation
+ Assistant, that are not supported by DAVE, such as images for
+ release candidates? What to do for browsers that don't have DAVE,
+ e.g. non-Firefox browsers, the
+ [[wget download option|install/expert/usb]], and
+ documented download methods that rely on
+ [[!tails_gitweb wiki/src/install/inc/steps/download.inline.html]]?
+ - A first iteration could simply use the DNS pool. This might put
+ too much load on the few servers in it though, so it might only
+ work if we're able to add a few really fast servers in it.
+ - In second iteration, we can use our JavaScript dispatcher code to rewrite the
+ download link on the call for testing web page. If we do this, we
+ need to include our JavaScript library in a dedicated ikiwiki
+ overlay, and load + call it on every page that contains an ISO
+ download link (or simply on _every_ page).
+ - It might be that going straight to the second iteration is simpler
+ in the end. Or, we can forget the non-DAVE dispatcher code and
+ instead put energy into adding very fast and reliable mirrors to
+ the DNS pool, as
+ [is being discussed](https://mailman.boum.org/pipermail/tails-dev/2016-February/010282.html).
+
+* What to do for the IUK downloads done by Tails Upgrader?
+ ([[!tails_ticket 11123]])
+
+<a id="configuration"></a>
+
+# Mirror pool configuration
+
+The client dispatcher code fetches the mirror pool configuration file
+from our website.
+
+The configuration file is written in JSON (and not YAML), to avoid the
+need to use a third-party parser.
+
+The configuration file is stored in
+[[!tails_gitweb_repo mirror-pool desc="a dedicated Git repository"]],
+that is added to our website with the ikiwiki underlay mechanism.
+Using a separate Git repository gives us finer-grained access control
+possibilities in the long run, e.g. we may want to let people who
+don't have commit access to Git maintain the mirrors pool. Note that
+we'll need to serve the configuration file from outside our website if
+we ever want to do so: an _underlay_ can affect our website in ways
+that are probably (almost?) as bad as what one can do with Git access
+to the website itself.
+
+The configuration file is essentially a list of mirrors, and for each
+of them we need a few values:
+
+ * url_prefix: whatever needs to be pre-pended to the path to an ISO
+ (e.g. `/stable/tails-i386-2.0/tails-i386-2.0.iso`) that is shared
+ between all mirrors, to form a complete URL to that ISO; for
+ example:
+ - in the old mirror pool design, this would be
+ `http://dl.amnesia.boum.org/tails`
+ - in the new mirror pool design, this could be e.g.
+ `http://42.dl.amnesia.boum.org/tails` (for mirrors who want to
+ use the unique VirtualHost we provide them), or something they
+ deal with themselves, e.g. `https://mirrors.kernel.org/tails`
+
+ * weight: the probability this mirror has to be picked by the
+ dispatcher code, expressed as a non-negative integer; weight
+ 0 means that the mirror is currently disabled, and will never be
+ redirected to
+
+For a more formal, and probably more up-to-date definition of the data
+model, better see
+[its JSON schema](https://git-tails.immerda.ch/mirror-pool/tree/schema.json).
+
+Here is
+[an example configuration file](https://git-tails.immerda.ch/mirror-pool/tree/example-mirrors.json).
+
+Later, we may want to add more data that is not blocking for the
+initial iterations:
+
+ * email: contact information for the operator(s) of this mirror; XXX:
+ check if all mirror operators are OK with this; if enough are OK,
+ then document on [[contribute/how/mirror]] that it's the case, and
+ do it; otherwise, we'll need to manage contact info separately.
# Initial research
-The idea I had was to let the server(s) send a reduced list of hosts. Not
-only it would allow to work-around Tor DNS limitations, but also to have
-some weighted round robin, in order to prioritize some high bandwidth
-mirrors, if we choose to.
-
-If I had to mention the ideal design goals for such changes, I would say
-that the more straightforward would be the better for implementation and
-also for maintainability.
-
-## Using DNS
-
-Using DNS seems to be an easy way to do some round robin in low level. It
-allows some kind of transparency to the upper layers protocols and
-distribute the load and to avoid having a single server that can became a
-SPOF.
-
-The following ways are available to implement it:
-
-* CNAME Hacks
-* NS Hacks
-* Modified DNS servers
-
-### CNAME Hacks
-
-As mention by ToBeFree something that can be done is to have different
-pools of servers like:
-
- a.dl.amnesia.boum.org A $MIRROR1
- a.dl.amnesia.boum.org A $MIRROR2
- a.dl.amnesia.boum.org A $MIRROR3
- a.dl.amnesia.boum.org A $MIRROR4
- a.dl.amnesia.boum.org A $MIRROR5
-
- b.dl.amnesia.boum.org A $MIRROR6
- b.dl.amnesia.boum.org A $MIRROR7
-
- dl.amnedia.boum.org CNAME a.dl.amnesia.boum.org
- dl.amnedia.boum.org CNAME b.dl.amnesia.boum.org
-
-Interestingly the requests would be equally distributed betwen a.dl and
-b.dl, thus if their is more mirrors in one name than one other some
-servers would be somehow prioritized. For example: here "a" mirrors will
-share 50% of requests, giving 10% for every host where "b" mirrors will
-share the other 50% of requests betwen two host giving them 25% of
-requests each.
-
-However this kind of CNAME hack is not supported by current DNS
-Servers. Bind 8 used to support it with a [configuration
-option](http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_07.htm)
-that has not been ported to bind 9. Neither NSD nor PowerDNS seem to
-support it, and their is no actual data about how resolvers would
-handle this case, so I don't think it is the best option.
-
-### NS Hacks
-
-Following the same idea the dl amnesia.boum.org could be delegated to a
-few different DNS servers, and those servers may have different versions
-of the zone. For example:
-
- dl.amnesia.boum.org NS $DNS1
- dl.amnesia.boum.org NS $DNS2
-
-DNS1 would have a zone similar to a.dl.amnesia.boum.org:
-
- dl.amnesia.boum.org A $MIRROR1
- dl.amnesia.boum.org A $MIRROR2
- dl.amnesia.boum.org A $MIRROR3
- dl.amnesia.boum.org A $MIRROR4
- dl.amnesia.boum.org A $MIRROR5
-
-And DNS2 would have a zone similar to b.dl.amnesia.boum.org:
-
- dl.amnesia.boum.org A $MIRROR6
- dl.amnesia.boum.org A $MIRROR7
-
-In theory it should work (and give almost the same load distribution as
-CNAME hacks, almost as the NS servers will not receive 50% of requests
-because of [[!rfc 5452]]). However, I am not sure that playing with DNS
-inconsistency will be a so good idea, for example for maintainability :)
-
-### Using modified DNS servers
-
-Interestingly Tails is not the first project to be looking how to use DNS
-for load distribution. People already wrote some DNS software designed to
-handle those usecases and return the visitor a reduced list of servers
-according to some rules like weights or geolocalisation. They work by
-delegating a subzone (like dl.amnesia.boum.org) to those servers and with
-zone files containing additionals fields. There is two main softwares for
-those usecases:
-
-* <http://gdnsd.org/> which is available on debian and used for
- example for wikipedia.
-
-* <https://github.com/abh/geodns> that requires manual installation
- and is used for example by pool.ntp.org.
-
-Deploying such software would solve the problem in a more elegant way than
-CNAME or NS hacks. It would require a bit of system administration that
-maybe can be done using some puppet templates in a few Virtal Machines.
-
-## Using HTTP(s)
-
-DNS is not the only way to do some load balancing. It is mostly used for
-low level protocols that don't allow redirects (for example: NTP). As
-content download is already done using HTTP(s). HTTP(s) can be leveraged
-to do this kind of load balancing. It is what is done by sourceforge.net
-as pointed by ToBeFree and by many Linux distributions.
-
-For example using a PHP script (or more complete options such as
-mirrorbrain, thanks Sagi!) that would redirect requests to
-`dl.amnesia.boum.org/$file to $mirror.dl.amnesia.boum.org/$file`
-randomly or according to some additional rules (weights,
-geolocalisation, SSL availability ...).
-
-There is a few drawbacks on this approach:
-
-* It would increase a bit the load on boum.org's server.
-* It would increase the dependency on this server, meaning that it is
- unavailable (down, blocked...), downloads will be blocked (but in this
- case the site will be too).
-* It would require to develop the script or to install one such as
- mirrorbrain (which is feature-full, available as [3rd party Debian
- packages](http://download.opensuse.org/repositories/Apache:/MirrorBrain/),
- and requires PostgreSQL).
-
-On the other side it has a few advantage:
-
-* It will only require a few ~20 lines of PHP script when DNS based
- solutions require to install and maintain additional software and servers.
-* It can allow the script to be personnalised to add some additional rules
- if necessary.
-* As boum.org server will see every requests, it would allow to do some
- stats.
-* It can allow to use $mirror.dl.amnesia.boum.org URLs, allowing to deploy
- SSL certificates easier that if all mirrors use dl.amnesia.boum.org.
-* As ToBeFree mentionned (thanks!) it is also possible to use some client
- side scripts to select the mirror. I would not recommend to rely only on
- this option as it would not work for browsers without scripts, but it can
- be done as a complementary approach, it order to reduce the load and
- dependency to dl.amnesia.boum.org's server.
-
-Thus, if I may, I would like to recommend considering the HTTP(s) option,
-even if it means that I have to write the PHP script by myself or to create
-an easy task entry on the ticket tracker and follow it :)
-
-## Proof of concept: JavaScript + multiple DNS pools / named mirrors
-
-This method can either be used with multiple DNS pools (dl1.amnesia.boum.org, dl2.amnesia.boum.org etc.) or with named mirrors (freiwuppertal.dl.amnesia.boum.org, othermirror.dl.amnesia.boum.org, ...). Using named mirrors allows you to use a huge, unlimited list of completely equally used mirrors; using multiple DNS pools leads to effects described under "CNAME hacks".
-
-These POCs should be 1:1 usable on the Tails [[download]] page. All that would be needed is setting up the DNS pools and/or named mirrors, and telling the mirror owners to configure their servers to respond to \*.amnesia.boum.org (the wildcard is important).
-
-### JavaScript POC (multiple DNS pools)
-
- <script src="//code.jquery.com/jquery.min.js"></script>
- <script type="text/javascript">//<![CDATA[
- $(window).load(function(){
- var hosts = Array("dl.amnesia.boum.org","dl2.amnesia.boum.org","dl3.amnesia.boum.org","dl4.amnesia.boum.org","dl5.amnesia.boum.org");
- var host = hosts[Math.floor(Math.random()*hosts.length)];
- $(document).ready(function() {
- var strNewString = $('body').html().replace(/dl\.amnesia\.boum\.org/g,host);
- $('body').html(strNewString);
- });
- });//]]>
- </script>
-
-For this to work and to be flexible, mirrors need to respond to \*.amnesia.boum.org. Just responding to one of the pool names would make this a very unflexible solution, so the wildcard is needed.
-
-At least nginx is unable to use a wildcard like dl\*.amnesia.boum.org, so \*.amnesia.boum.org has to be used. This is more flexible anyway.
-
-#### Example webpage (see the webpage source there too)
-
-<http://freiwuppertal.de/tails-mirror-example-dns.htm>
-
-
-### JavaScript POC (named mirrors)
-
- <script src="//code.jquery.com/jquery.min.js"></script>
- <script type="text/javascript">//<![CDATA[
- $(window).load(function(){
- var hosts = Array("freiwuppertal.dl.amnesia.boum.org","othermirror.dl.amnesia.boum.org","yetanother.dl.amnesia.boum.org","weirdname.dl.amnesia.boum.org","supermirror.dl.amnesia.boum.org");
- var host = hosts[Math.floor(Math.random()*hosts.length)];
- $(document).ready(function() {
- var strNewString = $('body').html().replace(/dl\.amnesia\.boum\.org/g,host);
- $('body').html(strNewString);
- });
- });//]]>
- </script>
-
-For this to work and to be flexible, mirrors need to respond to \*.amnesia.boum.org. Just responding to a fixed name would make this an unflexible solution, so the wildcard is needed.
-
-#### Example webpage (see the webpage source there too)
-
-<http://freiwuppertal.de/tails-mirror-example-named.htm>
-
-#### Giving mirrors higher or lower weight
-
-Using this approach, giving one mirror more weight than others is very easy: Simply add it's name multiple times to the array of mirrors. :D
-
-### Vanilla JavaScript POC and JSON
-
- <a href="http://dl.amnesia.boum.org/tails/stable/tails-i386-1.6/tails-i386-1.6.iso" id="dllink">download link</a>
-
- <script type="text/javascript">
- function fetchJSONdata(path, callback) {
- var xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (xhr.readyState === 4) {
- if (xhr.status === 200 || xhr.status === 0) {
- var data = JSON.parse(xhr.responseText);
- if (callback) callback(data);
- } else {
- console.log( "Error: " + xhr.statusText);
- }
- }
- };
- xhr.open('GET', path, true);
- xhr.send();
- }
-
- function getRandomInt(min, max) {
- return Math.floor(Math.random() * (max - min +1)) + min;
- }
-
- function isJSON(str) {
- try {
- JSON.parse(str);
- } catch (e) {
- return false;
- }
- return true;
- }
-
- function replaceDownloadURL(updatedURL) {
- var URLMarker = "/tails/stable";
- // todo check that url is a correct url
- var linkDOMElem = document.getElementById('dllink');
- var linkHREF = linkDOMElem.href.split( '//' );
- var linkToISO = linkHREF[1].split( URLMarker );
- // fixme http or https
- linkDOMElem.href = '//' + updatedURL + URLMarker + linkToISO[1];
- return true;
- }
-
- fetchJSONdata('./mirrors.json', function(data){
- //console.log(data);
- if( data == "undefined" ) {
- console.log( "Error: mirror data not loaded.");
- } else if( !isJSON( JSON.stringify(data) ) ) {
- console.log( "Error: mirror data is not JSON.");
- } else {
- //console.log(data.mirrors);
- // todo delete all mirrors with weight 0 before choosing one
- if(data.mirrors.length > 0 ) {
- var activeMirrors = new Array();
- for ( i = 0; i < data.mirrors.length; i++ ) {
- if ( data.mirrors[i].weight != 0 ) {
- // add mirror as many times as its weight, max weight is 5
- if ( parseInt(data.mirrors[i].weight ) > 5) {
- var max_weight = 5;
- } else {
- var max_weight = parseInt( data.mirrors[i].weight );
- }
- for ( w = 0; w < max_weight; w++ ) {
- activeMirrors.push( data.mirrors[i] );
- }
- }
- }
- console.log(activeMirrors);
-
- var randomMirror = getRandomInt(0, activeMirrors.length-1);
- //console.log(randomMirror);
- //console.log(data.mirrors[randomMirror]);
- replaceDownloadURL(activeMirrors[randomMirror].url);
- }
- }
- });
- </script>
-
-The mirrors.json file contains:
-<pre>
- {
- "mirrors": [
- { "url": "1.dl.amnesia.boum.org", "weight": "10" },
- { "url": "5.dl.amnesia.boum.org", "weight": "5" },
- { "url": "6.dl.amnesia.boum.org", "weight": "6" },
- { "url": "3.dl.amnesia.boum.org", "weight": "0" }
- ]
- }
-</pre>
-
-
-## PHP: first draft
-
-
- // http://stackoverflow.com/questions/4233407/get-random-item-from-array
-
- $mirrors = Array("alice.amnesia.boum.org","bob.amnesia.boum.org","clark.amnesia.boum.org","deborah.amnesia.boum.org","eric.amnesia.boum.org","freiwuppertal.amnesia.boum.org");
- $mirror = $mirrors[array_rand($mirrors)];
- echo "<p><a href=\"http://{$mirror}/tails/stable/tails-i386-1.4/tails-i386-1.4.iso\">Download Tails!</a></p>\n";
- echo "<p>Selected mirror: {$mirror}</p>";
-
-Try it here:
-http://sandbox.onlinephpfunctions.com/code/54ffcc18e5dbbafc6c7d3c81e0c26f94ce7946fc
-
-Note: I am a horrible coder and basically copied this from the linked StackOverflow page. This page also helped me: http://php.net/manual/de/function.echo.php
-...and that's all. There might be security flaws in this extremely simple concept, so please have a close look at it. :)
+See [[HTTP_mirror_pool/archive]].
diff --git a/wiki/src/blueprint/HTTP_mirror_pool/archive.mdwn b/wiki/src/blueprint/HTTP_mirror_pool/archive.mdwn
new file mode 100644
index 0000000..a6afc79
--- /dev/null
+++ b/wiki/src/blueprint/HTTP_mirror_pool/archive.mdwn
@@ -0,0 +1,308 @@
+[[!toc levels=2]]
+
+The idea I had was to let the server(s) send a reduced list of hosts. Not
+only it would allow to work-around Tor DNS limitations, but also to have
+some weighted round robin, in order to prioritize some high bandwidth
+mirrors, if we choose to.
+
+If I had to mention the ideal design goals for such changes, I would say
+that the more straightforward would be the better for implementation and
+also for maintainability.
+
+## Using DNS
+
+Using DNS seems to be an easy way to do some round robin in low level. It
+allows some kind of transparency to the upper layers protocols and
+distribute the load and to avoid having a single server that can became a
+SPOF.
+
+The following ways are available to implement it:
+
+* CNAME Hacks
+* NS Hacks
+* Modified DNS servers
+
+### CNAME Hacks
+
+As mention by ToBeFree something that can be done is to have different
+pools of servers like:
+
+ a.dl.amnesia.boum.org A $MIRROR1
+ a.dl.amnesia.boum.org A $MIRROR2
+ a.dl.amnesia.boum.org A $MIRROR3
+ a.dl.amnesia.boum.org A $MIRROR4
+ a.dl.amnesia.boum.org A $MIRROR5
+
+ b.dl.amnesia.boum.org A $MIRROR6
+ b.dl.amnesia.boum.org A $MIRROR7
+
+ dl.amnedia.boum.org CNAME a.dl.amnesia.boum.org
+ dl.amnedia.boum.org CNAME b.dl.amnesia.boum.org
+
+Interestingly the requests would be equally distributed betwen a.dl and
+b.dl, thus if their is more mirrors in one name than one other some
+servers would be somehow prioritized. For example: here "a" mirrors will
+share 50% of requests, giving 10% for every host where "b" mirrors will
+share the other 50% of requests betwen two host giving them 25% of
+requests each.
+
+However this kind of CNAME hack is not supported by current DNS
+Servers. Bind 8 used to support it with a [configuration
+option](http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_07.htm)
+that has not been ported to bind 9. Neither NSD nor PowerDNS seem to
+support it, and their is no actual data about how resolvers would
+handle this case, so I don't think it is the best option.
+
+### NS Hacks
+
+Following the same idea the dl amnesia.boum.org could be delegated to a
+few different DNS servers, and those servers may have different versions
+of the zone. For example:
+
+ dl.amnesia.boum.org NS $DNS1
+ dl.amnesia.boum.org NS $DNS2
+
+DNS1 would have a zone similar to a.dl.amnesia.boum.org:
+
+ dl.amnesia.boum.org A $MIRROR1
+ dl.amnesia.boum.org A $MIRROR2
+ dl.amnesia.boum.org A $MIRROR3
+ dl.amnesia.boum.org A $MIRROR4
+ dl.amnesia.boum.org A $MIRROR5
+
+And DNS2 would have a zone similar to b.dl.amnesia.boum.org:
+
+ dl.amnesia.boum.org A $MIRROR6
+ dl.amnesia.boum.org A $MIRROR7
+
+In theory it should work (and give almost the same load distribution as
+CNAME hacks, almost as the NS servers will not receive 50% of requests
+because of [[!rfc 5452]]). However, I am not sure that playing with DNS
+inconsistency will be a so good idea, for example for maintainability :)
+
+### Using modified DNS servers
+
+Interestingly Tails is not the first project to be looking how to use DNS
+for load distribution. People already wrote some DNS software designed to
+handle those usecases and return the visitor a reduced list of servers
+according to some rules like weights or geolocalisation. They work by
+delegating a subzone (like dl.amnesia.boum.org) to those servers and with
+zone files containing additionals fields. There is two main softwares for
+those usecases:
+
+* <http://gdnsd.org/> which is available on debian and used for
+ example for wikipedia.
+
+* <https://github.com/abh/geodns> that requires manual installation
+ and is used for example by pool.ntp.org.
+
+Deploying such software would solve the problem in a more elegant way than
+CNAME or NS hacks. It would require a bit of system administration that
+maybe can be done using some puppet templates in a few Virtal Machines.
+
+## Using HTTP(s)
+
+DNS is not the only way to do some load balancing. It is mostly used for
+low level protocols that don't allow redirects (for example: NTP). As
+content download is already done using HTTP(s). HTTP(s) can be leveraged
+to do this kind of load balancing. It is what is done by sourceforge.net
+as pointed by ToBeFree and by many Linux distributions.
+
+For example using a PHP script (or more complete options such as
+mirrorbrain, thanks Sagi!) that would redirect requests to
+`dl.amnesia.boum.org/$file to $mirror.dl.amnesia.boum.org/$file`
+randomly or according to some additional rules (weights,
+geolocalisation, SSL availability ...).
+
+There is a few drawbacks on this approach:
+
+* It would increase a bit the load on boum.org's server.
+* It would increase the dependency on this server, meaning that it is
+ unavailable (down, blocked...), downloads will be blocked (but in this
+ case the site will be too).
+* It would require to develop the script or to install one such as
+ mirrorbrain (which is feature-full, available as [3rd party Debian
+ packages](http://download.opensuse.org/repositories/Apache:/MirrorBrain/),
+ and requires PostgreSQL).
+
+On the other side it has a few advantage:
+
+* It will only require a few ~20 lines of PHP script when DNS based
+ solutions require to install and maintain additional software and servers.
+* It can allow the script to be personnalised to add some additional rules
+ if necessary.
+* As boum.org server will see every requests, it would allow to do some
+ stats.
+* It can allow to use $mirror.dl.amnesia.boum.org URLs, allowing to deploy
+ SSL certificates easier that if all mirrors use dl.amnesia.boum.org.
+* As ToBeFree mentionned (thanks!) it is also possible to use some client
+ side scripts to select the mirror. I would not recommend to rely only on
+ this option as it would not work for browsers without scripts, but it can
+ be done as a complementary approach, it order to reduce the load and
+ dependency to dl.amnesia.boum.org's server.
+
+Thus, if I may, I would like to recommend considering the HTTP(s) option,
+even if it means that I have to write the PHP script by myself or to create
+an easy task entry on the ticket tracker and follow it :)
+
+## Proof of concept: JavaScript + multiple DNS pools / named mirrors
+
+This method can either be used with multiple DNS pools (dl1.amnesia.boum.org, dl2.amnesia.boum.org etc.) or with named mirrors (freiwuppertal.dl.amnesia.boum.org, othermirror.dl.amnesia.boum.org, ...). Using named mirrors allows you to use a huge, unlimited list of completely equally used mirrors; using multiple DNS pools leads to effects described under "CNAME hacks".
+
+These POCs should be 1:1 usable on the Tails [[download]] page. All that would be needed is setting up the DNS pools and/or named mirrors, and telling the mirror owners to configure their servers to respond to \*.amnesia.boum.org (the wildcard is important).
+
+### JavaScript POC (multiple DNS pools)
+
+ <script src="//code.jquery.com/jquery.min.js"></script>
+ <script type="text/javascript">//<![CDATA[
+ $(window).load(function(){
+ var hosts = Array("dl.amnesia.boum.org","dl2.amnesia.boum.org","dl3.amnesia.boum.org","dl4.amnesia.boum.org","dl5.amnesia.boum.org");
+ var host = hosts[Math.floor(Math.random()*hosts.length)];
+ $(document).ready(function() {
+ var strNewString = $('body').html().replace(/dl\.amnesia\.boum\.org/g,host);
+ $('body').html(strNewString);
+ });
+ });//]]>
+ </script>
+
+For this to work and to be flexible, mirrors need to respond to \*.amnesia.boum.org. Just responding to one of the pool names would make this a very unflexible solution, so the wildcard is needed.
+
+At least nginx is unable to use a wildcard like dl\*.amnesia.boum.org, so \*.amnesia.boum.org has to be used. This is more flexible anyway.
+
+#### Example webpage (see the webpage source there too)
+
+<http://freiwuppertal.de/tails-mirror-example-dns.htm>
+
+
+### JavaScript POC (named mirrors)
+
+ <script src="//code.jquery.com/jquery.min.js"></script>
+ <script type="text/javascript">//<![CDATA[
+ $(window).load(function(){
+ var hosts = Array("freiwuppertal.dl.amnesia.boum.org","othermirror.dl.amnesia.boum.org","yetanother.dl.amnesia.boum.org","weirdname.dl.amnesia.boum.org","supermirror.dl.amnesia.boum.org");
+ var host = hosts[Math.floor(Math.random()*hosts.length)];
+ $(document).ready(function() {
+ var strNewString = $('body').html().replace(/dl\.amnesia\.boum\.org/g,host);
+ $('body').html(strNewString);
+ });
+ });//]]>
+ </script>
+
+For this to work and to be flexible, mirrors need to respond to \*.amnesia.boum.org. Just responding to a fixed name would make this an unflexible solution, so the wildcard is needed.
+
+#### Example webpage (see the webpage source there too)
+
+<http://freiwuppertal.de/tails-mirror-example-named.htm>
+
+#### Giving mirrors higher or lower weight
+
+Using this approach, giving one mirror more weight than others is very easy: Simply add it's name multiple times to the array of mirrors. :D
+
+### Vanilla JavaScript POC and JSON
+
+ <a href="http://dl.amnesia.boum.org/tails/stable/tails-i386-1.6/tails-i386-1.6.iso" id="dllink">download link</a>
+
+ <script type="text/javascript">
+ function fetchJSONdata(path, callback) {
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function() {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200 || xhr.status === 0) {
+ var data = JSON.parse(xhr.responseText);
+ if (callback) callback(data);
+ } else {
+ console.log( "Error: " + xhr.statusText);
+ }
+ }
+ };
+ xhr.open('GET', path, true);
+ xhr.send();
+ }
+
+ function getRandomInt(min, max) {
+ return Math.floor(Math.random() * (max - min +1)) + min;
+ }
+
+ function isJSON(str) {
+ try {
+ JSON.parse(str);
+ } catch (e) {
+ return false;
+ }
+ return true;
+ }
+
+ function replaceDownloadURL(updatedURL) {
+ var URLMarker = "/tails/stable";
+ // todo check that url is a correct url
+ var linkDOMElem = document.getElementById('dllink');
+ var linkHREF = linkDOMElem.href.split( '//' );
+ var linkToISO = linkHREF[1].split( URLMarker );
+ // fixme http or https
+ linkDOMElem.href = '//' + updatedURL + URLMarker + linkToISO[1];
+ return true;
+ }
+
+ fetchJSONdata('./mirrors.json', function(data){
+ //console.log(data);
+ if( data == "undefined" ) {
+ console.log( "Error: mirror data not loaded.");
+ } else if( !isJSON( JSON.stringify(data) ) ) {
+ console.log( "Error: mirror data is not JSON.");
+ } else {
+ //console.log(data.mirrors);
+ // todo delete all mirrors with weight 0 before choosing one
+ if(data.mirrors.length > 0 ) {
+ var activeMirrors = new Array();
+ for ( i = 0; i < data.mirrors.length; i++ ) {
+ if ( data.mirrors[i].weight != 0 ) {
+ // add mirror as many times as its weight, max weight is 5
+ if ( parseInt(data.mirrors[i].weight ) > 5) {
+ var max_weight = 5;
+ } else {
+ var max_weight = parseInt( data.mirrors[i].weight );
+ }
+ for ( w = 0; w < max_weight; w++ ) {
+ activeMirrors.push( data.mirrors[i] );
+ }
+ }
+ }
+ console.log(activeMirrors);
+
+ var randomMirror = getRandomInt(0, activeMirrors.length-1);
+ //console.log(randomMirror);
+ //console.log(data.mirrors[randomMirror]);
+ replaceDownloadURL(activeMirrors[randomMirror].url);
+ }
+ }
+ });
+ </script>
+
+The mirrors.json file contains:
+<pre>
+ {
+ "mirrors": [
+ { "url": "1.dl.amnesia.boum.org", "weight": "10" },
+ { "url": "5.dl.amnesia.boum.org", "weight": "5" },
+ { "url": "6.dl.amnesia.boum.org", "weight": "6" },
+ { "url": "3.dl.amnesia.boum.org", "weight": "0" }
+ ]
+ }
+</pre>
+
+
+## PHP: first draft
+
+
+ // http://stackoverflow.com/questions/4233407/get-random-item-from-array
+
+ $mirrors = Array("alice.amnesia.boum.org","bob.amnesia.boum.org","clark.amnesia.boum.org","deborah.amnesia.boum.org","eric.amnesia.boum.org","freiwuppertal.amnesia.boum.org");
+ $mirror = $mirrors[array_rand($mirrors)];
+ echo "<p><a href=\"http://{$mirror}/tails/stable/tails-i386-1.4/tails-i386-1.4.iso\">Download Tails!</a></p>\n";
+ echo "<p>Selected mirror: {$mirror}</p>";
+
+Try it here:
+http://sandbox.onlinephpfunctions.com/code/54ffcc18e5dbbafc6c7d3c81e0c26f94ce7946fc
+
+Note: I am a horrible coder and basically copied this from the linked StackOverflow page. This page also helped me: http://php.net/manual/de/function.echo.php
+...and that's all. There might be security flaws in this extremely simple concept, so please have a close look at it. :)
diff --git a/wiki/src/blueprint/Linux_containers.mdwn b/wiki/src/blueprint/Linux_containers.mdwn
index e961ad9..73913ce 100644
--- a/wiki/src/blueprint/Linux_containers.mdwn
+++ b/wiki/src/blueprint/Linux_containers.mdwn
@@ -111,6 +111,7 @@ Running GUI applications in containers
* [GNOME sandboxed
applications](https://wiki.gnome.org/Projects/SandboxedApps), aka.
`xdg-app`; their concept of "portals" is very interesting.
+ - [GNOME Developer Experience hackfest: xdg-app + Debian](http://smcv.pseudorandom.co.uk/2016/xdg-app/)
* <http://pleonasm.info/blog/2012/10/privilege-separation-with-xpra/>
* [docker-desktop](https://github.com/rogaha/docker-desktop)
* Stéphane Graber's [LXC 1.0 blog post
diff --git a/wiki/src/blueprint/Port_Tails_Installer_to_OS_X.mdwn b/wiki/src/blueprint/Port_Tails_Installer_to_OS_X.mdwn
new file mode 100644
index 0000000..4ca6162
--- /dev/null
+++ b/wiki/src/blueprint/Port_Tails_Installer_to_OS_X.mdwn
@@ -0,0 +1,35 @@
+# Introduction
+
+This is an on-going feasibility on how to port the Tails Installer to the Mac OS X operating system.
+
+## Considerations
+
+This feasibility study was done on a OS X El Capitan system on an early 2011 Macbook. Stock Python2.7 was used.
+
+## Porting
+
+liveusb-creator from Fedora(upstream) only works out of the box for Windows and Linux but no efforts were brought in to support OS X. This is an action point.
+
+## Packaging
+
+This section dives into packaging it all together.
+
+### GTK bundling
+
+* [GTK Mac Bundler ](https://github.com/twstrike/gtk-mac-bundler)
+* [Micah Lee's attempt at GTK and Onionshare (he switched to QT)](https://github.com/micahflee/onionshare/issues/43)
+
+### Codesigning
+
+We could either:
+
+- Get our software signed and be in the Mac App Store.
+- Ask people to download from our website and install doing Ctrl+Click as [instructed for *Tor Browser*|https://www.torproject.org/projects/torbrowser.html.en].
+
+* [Apple's Security Overview](https://developer.apple.com/library/mac/documentation/Security/Conceptual/Security_Overview/Introduction/Introduction.html#//apple_ref/doc/uid/TP30000976)
+* [Apple's Code Signing introduction](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html)
+* [Example of code signing in Onionshare](https://github.com/micahflee/onionshare/search?utf8=%E2%9C%93&q=codesign&type=Code)
+
+# Conclusion
+
+-
diff --git a/wiki/src/blueprint/Port_Tails_Installer_to_Windows.mdwn b/wiki/src/blueprint/Port_Tails_Installer_to_Windows.mdwn
index 1e8c405..6e3b3d7 100644
--- a/wiki/src/blueprint/Port_Tails_Installer_to_Windows.mdwn
+++ b/wiki/src/blueprint/Port_Tails_Installer_to_Windows.mdwn
@@ -68,31 +68,187 @@ If we list the set of requirements for each important source file then we have:
# Alternatives for Windows:
-If we make a diff of the Windows class section in the "creator.py" source file,
-comparing the current Tails version and the upstream version like this:
-
- git difftool remotes/origin/master:tails_installer/creator.py remotes/b/master:liveusb/creator.py
-
-we can see that the changes are not so big, at least in the raw Windows tools used.
-These tools are basically, the Python win32 interfaces:
+The Windows specific code for the Tails Installer uses mostly
+the Python win32 interfaces:
import win32file, win32api, pywintypes
-and set of third parties tools listed here:
+and a set of third parties tools listed here:
<https://git-tails.immerda.ch/liveusb-creator/tree/tools>
There are other tools that would be possible to explore like:
<https://labs.riseup.net/code/issues/10984>
-As a conclusion, the biggest difference in the current Tails version is the usage
-of the Python interface for GTK3 (PyGI). The tools/libraries for Windows used in
-the current upstream liveusb-creator version seem in principle like the same
-used for Tails right now, except for the GUI parts.
-In the next section a proposed solution for porting applications using this library
-for Windows is described.
+# Analysis regarding operations on storage devices
+
+According to <https://tails.boum.org/contribute/design/installation/>,
+the steps to create a Tails bootable device are:
+
+1. Partition the device as a GPT partition.
+2. Create a FAT32 (VFAT) partition with the Tails files and Tails label.
+3. (Optionally, not supported yet) Create a persistence partition with LUKS.
+
+Next we analyze the code related to above steps. First we list
+the current Linux specific operations carried out in the
+target installation device and then we list the current and
+proposed Windows alternatives.
+
+## For Linux - LinuxTailsInstallerCreator/creator.py:
+
+### detect_supported_drives:
+
+ self._udisksclient.get_object_manager().get_objects()
+ partition = obj.props.partition
+ filesystem = obj.props.filesystem
+ self._udisksclient.get_drive_for_block(block)
+ self._udisksclient.get_partition_table(partition)
+
+Add to that a bunch of `drive.props.*` and `block.props.*`.
+
+### mount_device:
+
+ self._get_object().props.filesystem
+ mount = filesystem.call_mount_sync(
+ arg_options = GLib.Variant('a{sv}', None),
+ cancellable = None)
+
+### unmount_device:
+
+ filesystem = self._get_object(udi).props.filesystem
+ filesystem.call_unmount_sync(
+ arg_options=GLib.Variant('a{sv}', None),
+ cancellable=None)
+
+### partition_device:
+
+ block.call_format_sync(
+ 'gpt',
+ arg_options=GLib.Variant('a{sv}', None),
+ cancellable=None)
+ partition_table.call_create_partition_sync(
+ arg_offset=0,
+ arg_size=self.system_partition_size * 2**20,
+ arg_type=ESP_GUID,
+ arg_name=self.label,
+ arg_options=GLib.Variant('a{sv}', None),
+ cancellable=None)
+ system_partition.call_set_type_sync(ESP_GUID, GLib.Variant('a{sv}', None))
+ system_partition.call_set_name_sync(self.label, GLib.Variant('a{sv}', None))
+ self._set_partition_flags(system_partition, SYSTEM_PARTITION_FLAGS)
+
+### update_system_partition_properties:
+
+ system_partition.call_set_type_sync(ESP_GUID, GLib.Variant('a{sv}', None))
+ system_partition.call_set_name_sync(self.label, GLib.Variant('a{sv}', None))
+ self._set_partition_flags(system_partition, SYSTEM_PARTITION_FLAGS)
+
+### verify_filesystem:
+
+ self.popen('/sbin/dosfslabel %s %s' % (
+ self.drive['device'], self.label))
+ self.popen('/sbin/e2label %s %s' % (self.drive['device'],
+ self.label))
+
+### install_bootloader:
+
+ self.popen('/usr/bin/pkexec /usr/bin/syslinux %s -d syslinux %s' % (
+ ' '.join(self.syslinux_options()),
+ self.drive['device']))
+
+### initialize_zip_geometry:
+
+ self.popen('/usr/lib/syslinux/mkdiskimage -4 %s 0 %d %d' % (
+ self._drive[:-1], heads, cylinders))
+
+### format_device:
+
+ block.call_format_sync(
+ 'vfat',
+ arg_options=GLib.Variant(
+ 'a{sv}',
+ {'label': GLib.Variant('s', self.label),
+ 'update-partition-type': GLib.Variant('s', 'FALSE')}))
+ self._get_object().props.block.call_rescan_sync(GLib.Variant('a{sv}', None))
+
+## For Windows - WindowsTailsInstallerCreator/creator.py:
+
+### detect_supported_drives:
+
+ win32file, win32api, pywintypes
+ win32file.GetDriveType(drive) == win32file.DRIVE_REMOVABLE
+ win32api.GetVolumeInformation(drive)
-# PyGI windows executable
+### mount_device:
+
+XXX: ?
+
+ self.dest = self.drive['mount']
+
+### unmount_device:
+
+ pass
+
+We might use this:
+<https://technet.microsoft.com/en-us/library/cc772586.aspx>
+
+### partition_device:
+
+ Not implemented.
+
+Here what we need is to perform a GPT partition on the target device.
+The only realistic option we could find was to use the gdisk tools
+(<http://www.rodsbooks.com/gdisk/>). This library provides two utilities
+to create GPT partitions. The first is `gdisk.exe` a text mode interactive
+application and the second is `sgdisk.exe`, which works by command line.
+If we want to use `sgdisk.exe` which looks like the best option, we should
+compile it by ourselves, because no binary is provided. The compilation
+requires gnuwin32 popt library (<http://gnuwin32.sourceforge.net/packages/popt.htm>)
+which looks old and might only work up to Windows XP. On the other hand,
+the only thing popt does is parsing command line parameters,
+so in theory it should not be so difficult to run it in other
+Windows versions, but I could not find more information.
+The only alternative would be to use directly the WinAPI but it could
+also require a good amount of work.
+
+### update_system_partition_properties:
+
+ cmd = ( [ '/sbin/sgdisk' ]
+ + [ '--typecode=1:%s' % ESP_GUID ]
+ + [ self.drive['parent'] ])
+ self.popen(cmd, shell=False)
+
+Currently it uses sgdisk but we need to decide on using it or not.
+
+### verify_filesystem:
+
+ win32api, win32file, pywintypes
+ win32file.SetVolumeLabel(self.drive['device'], self.label)
+
+### install_bootloader:
+
+ self.popen('syslinux %s -m -a -d %s %s' % (
+ ' '.join(self.syslinux_options()), 'syslinux', device))
+
+Ref: <https://www.kernel.org/pub/linux/utils/boot/syslinux/>
+
+### initialize_zip_geometry:
+
+ self.popen('/usr/lib/syslinux/mkdiskimage -4 %s 0 %d %d' % (
+ self._drive[:-1], heads, cylinders))
+
+### format_device:
+
+ self.popen('format /Q /X /y /V:Fedora /FS:FAT32 %s' % self.drive['device'])
+
+Looks broken
+
+## Persistent partition:
+
+This is managed by the persistence-setup <https://git-tails.immerda.ch/persistence-setup>
+so it is beyond the scope of the current research.
+
+# PyGI Windows executable
I managed to create a native windows executable for a test Python/GI program under Windows 8.1
@@ -253,3 +409,21 @@ In another fresh windows 8.1VM
* py2exe: <https://gmigdos.wordpress.com/2014/06/29/how-to-bundle-python-gtk3-apps-on-windows-with-py2exe/>
+# Conclusion
+
+We have outlined the main requirements we should face on fully porting the Tails
+Installer to Windows. The major differences in the current Tails version regarding
+the former upstream Fedora version, are the usage of the Python interface for GTK3
+(PyGI) and the udisks2 library for disk operations.
+
+We have found that there are alternative libraries we could use on Windows, in order
+to perform the Linux specific operations. Some of them seem currently maintained and
+updated, for instance, PyGI for Windows and extlinux. Other like sgdisk and its dependencies
+might need some custom maintenance, which could rise the amount of required effort.
+However, even with the extra required work, it seems totally likely that we can successfully
+port Tails installer to Windows.
+
+If our objective is to ease Tails adoption for Windows users, especially people that never have
+used Linux, then this project may be worth the effort. The question
+then becomes: is this the cheapest and/or best way to ease Tails
+adoption for Windows users?
diff --git a/wiki/src/blueprint/SponsorS/reports/2016_01.mdwn b/wiki/src/blueprint/SponsorS/reports/2016_01.mdwn
deleted file mode 100644
index 9e9204b..0000000
--- a/wiki/src/blueprint/SponsorS/reports/2016_01.mdwn
+++ /dev/null
@@ -1,76 +0,0 @@
-[[!meta title="Tails January 2016 report"]]
-
-[[!toc levels=2]]
-
-<div class="caution">
-<strong>Deadline: 2016-02-05</strong>
-</div>
-
-<div class="note">
-Deliverable identifiers and descriptions are not free-form: they must
-be copy'n'pasted as-is from the proposal sent to the sponsor.
-</div>
-
-[Last month's activity on Redmine](https://labs.riseup.net/code/projects/tails/issues?query_id=208)
-can be helpful.
-
-This reports covers the activity of Tails in January 2016.
-
-Everything in this report can be made public.
-
-# A. Replace Claws Mail with Icedove
-
-## A.n. description of subsection
-
-- A.n.m. description of deliverable: ticket numbers
-
- status summary:
-
- * what was done
- * what is the outcome (how it makes Tails better)
- * what was not done, and why
-
-## A.1.1 Secure the Icedove autoconfig wizard
-
- We've been evaluating our own patches for Icedove against those
- reported to Mozilla's bugtracker and are happy to announce that our
- patches would provide an option to accept only secure protocols, as
- a user opt-in. These patches will be submitted to Mozilla's bugtracker
- and hopefully integrated upstream.
- ([[!tails_ticket 7064]])
-
-## A.1.2 Make our improvements maintainable for future versions of Icedove
-
- Unfortunately we also discovered that the autoconfig wizard of Icedove does
- not always use the configured proxy. This means, that some traffic can leak.
- This is not a security problem in Tails since we drop non-Tor
- traffic by default, but for this very reason in breaks the
- functionality of the autoconfig wizard in the context of Tails.
- We started to write a proof-of-concept patch to fix this bug.
-
-## A.1.6. Release Icedove in Tails
-
- Icedove was made the default email client in Tails 1.8 (December 15)
- and Claws Mail was removed from Tails in version 2.0 (January 26).
-
-# B. Improve our quality assurance process
-
-
-# C. Scale our infrastructure
-
-
-# D. Migration to Debian Jessie
-
-## D.4.1. Document the changes implied by the move to Jessie on our website
-
- Most of our documentation has been updated to Jessie. For example we
- rewrote entirely the [[introduction to
- GNOME|doc/first_steps/introduction_to_gnome_and_the_tails_desktop]].
- While reworking these pages we also simplified and improved some of
- the oldest parts of our documentation.
-
- The update of our documentation to GNOME Disks 3.12 was drafted but
- not merged yet. The good news is that this process involves new
- contributors who wrote documentation for Tails for the first time.
-
-# E. Release management
diff --git a/wiki/src/blueprint/SponsorS/reports/2016_02.mdwn b/wiki/src/blueprint/SponsorS/reports/2016_02.mdwn
index 25e1b3d..2d2971e 100644
--- a/wiki/src/blueprint/SponsorS/reports/2016_02.mdwn
+++ b/wiki/src/blueprint/SponsorS/reports/2016_02.mdwn
@@ -18,9 +18,9 @@ This reports covers the activity of Tails in February 2016.
Everything in this report can be made public.
-# A. Replace Claws Mail with Icedove
+# Z. Example section title
-## A.n. description of subsection
+## Z.n. description of subsection
- A.n.m. description of deliverable: ticket numbers
@@ -30,13 +30,270 @@ Everything in this report can be made public.
* what is the outcome (how it makes Tails better)
* what was not done, and why
+# A. Replace Claws Mail with Icedove
+
+XXX: u
+
+The last few traces of Claws Mail has been purged from Tails
+([[!tails_ticket 10904]]).
+
+- A.1.5. Update Icedove documentation
+
+ The design documentation has been updated to reflect the current
+ state of the Icedove integration into
+ Tails. ([[!tails_ticket 10737]])
+
# B. Improve our quality assurance process
+## B.1. Automatically build ISO images for all the branches of our source code that are under active development
+
+In February, **603 ISO images** were automatically built by our Jenkins
+instance.
+
+The code that manages the cleaning of previous builds leftovers on our
+builder VMs is ready and waiting for reviews. ([[!tails_ticket 10772]])
+
+## B.2. Continuously run our entire test suite on all those ISO images once they are built
+
+In February, **597 ISO images** were automatically tested by our Jenkins
+instance.
+
+We decided on a way to collectively check for false positives in our
+test infrastructure. We have planned a shift per month so that we're sure
+one of us is taking care of them. ([[!tails_ticket 10993]])
+
+We still need to check if two minor bugs are around, but they don't seem
+to prevent our automated tests to be run. ([[!tails_ticket 10725]] and
+[[!tails_ticket 10601]])
+
+## B.3. Extend the coverage of our test suite
+
+### B.3.10. Write automated tests for the new features in 2016Q1
+
+* Write tests for connecting to hosts on a LAN via SSH
+ ([[!tails_ticket 9087]])
+
+* Automatically test the Greeter's Disable All Networking option
+ ([[!tails_ticket 10340]])
+
+### B.3.11. Fix newly identified issues to make our test suite more robust and faster
+
+- Reduce peak space requirement for full test suite runs
+
+ Given the snapshot improvements reported about before
+ ([[!tails_ticket 6094]]) our test suite accumulates more and more
+ virtual machine snapshots throughout a full run, and has to keep
+ most of them until the end. These occupy quite a bit of disk space,
+ which in our case translates into RAM since we want everything
+ stored in RAM for performance reasons. By optimizing the order in
+ which our features are run we have managed to reduce the peak space
+ requirement, which allows us to run more tests in parallel on the
+ same hardware. ([[!tails_ticket 10503]])
+
+- Robustness improvements
+
+ Given the rather large amount of robustness issues we experience, we
+ have rethought our strategy and will try more fundamental approaches
+ to attacking them. The vast majority of issues fall into two
+ categories:
+
+ * Transient network issues: the Tor network simply isn't as reliable
+ as our test suite assumes, resulting in tests failing due to
+ unexpectedly long timeouts and similar. So far our approach has
+ been to make our tests retry the failing actions in the specific
+ places where they occur, much like how a user would deal with the
+ situation. However, this does not scale well, since it seems we
+ have to do this everywhere, and the code for this is not always
+ straightforward.
+
+ Instead we will improve the Tor network stability by making our
+ test suite set up its own private Tor network. This
+ should eliminate all network instability introduced by normal Tor
+ usage. ([[!tails_ticket 9521]])
+
+ In the long-term, and certainly outside the scope of this
+ contract, we would like to extend this network simulation so that
+ all network services used in tests are run locally, and the real
+ Internet is not used at all. ([[!tails_ticket 9519]],
+ [[!tails_ticket 9520]])
+
+ * Glitches when interacting with graphical user interfaces:
+ currently we simulate users with a black box approach where
+ we rely on exact images for the elements it interacts
+ with. This has turned out harder than anticipated, since modern
+ desktop environments do not behave as deterministically as one
+ would hope.
+
+ Our new plan is to leverage the interfaces used by assistive
+ technologies (like screen readers) to communicate the
+ structure and layout of graphical user interfaces to sight
+ impaired users. This will allow a more deterministic and reliable
+ approach for our test suite to interact with applications.
+
+ Besides this, the following specific robustness issues were fixed:
+
+ * Test that clicks the roadmap URL in Pidgin is fragile
+ ([[!tails_ticket 10783]])
+
+ * The "I can view and print a PDF file stored in /usr/share"
+ scenario is fragile ([[!tails_ticket 10775]])
+
+- Performance improvements on Jenkins
+
+ XXX: intrigeri (platform optimization: [[!tails_ticket 11175]],
+ [[!tails_ticket 11113]])
+
+## B.4. Freezable APT repository
+
+This project was still on hold in February, while the developer
+responsible for this project was focusing on other matters; we will
+resume work on it in March. However, we mistakenly scheduled for
+milestone V (April 15) two big projects that have the same developers,
+so we decided to spread them more evenly over the remaining five
+months of this contract; in April we will focus on C.1 (Change in
+depth the infrastructure of our pool of mirrors), and here is the
+updated schedule for the freezable APT repository project.
+
+By the end of March, we want to:
+
+* complete the design and discussion phase, that is "B.4.1.
+ Specify when we want to import foreign packages into which APT
+ suites" ([[!tails_ticket 9488]]), and "B.4.4. Design freezable APT
+ repository" ([[!tails_ticket 9487]]);
+
+* make enough progress on "B.4.2. Implement a mechanism to save the
+ list of packages used at ISO build time" so it can be merged in
+ April, ideally in time for Tails 2.3;
+
+* have a working proof-of-concept for most other essential pieces of
+ infrastructure and code.
+
+Then, after a hiatus in April while we will be focused on our pool of
+HTTP mirrors, in May we want to improve the freezable APT repository
+as needed, aiming at merging code into the main development branch,
+and deploying all pieces of infrastructure in production, by the end
+of the month. Our current goal is to build Tails 2.4 (scheduled on
+June 7th) using our freezable APT repository.
+
+And then, we will still have two months, until the end of the
+contract. This slack might be needed if previous steps take more time
+than expected, and if not it will be time for us to identify remaining
+issues, gather feedback from release managers and developers, and to
+improve tools and documentation as we deem necessary.
# C. Scale our infrastructure
+## C.1. Change in depth the infrastructure of our pool of mirrors
+
+* C.1.1. Specify a way of describing the pool of mirrors
+ ([[!tails_ticket 8637]])
+
+ We've designed a file format, encoded it into a JSON schema, created
+ a simple validation script, and published an example configuration
+ file.
+
+ We have discussed with the developers of the Download And
+ Verification Extension (DAVE) for Firefox how it will be able to
+ leverage this configuration file, and the code we are writing for
+ "C.1.2. Write & audit the code that makes the redirection decision
+ from our website", so that DAVE uses our new mirror pool design
+ ([[!tails_ticket 10284]]). This discussion made us confident that
+ what we have been working on so far is compatible with DAVE.
+
+* C.1.3. Design and implement the mirrors pool administration process
+ and tools ([[!tails_ticket 8638]], [[!tails_ticket 11122]])
+
+ Building on top of what was done for C.1.1, a way to convey the
+ mirror pool's configuration to the dispatcher script, based on
+ ikiwiki underlays and Git, was designed and implemented.
+
+Finally, we have organized our team to work on the next steps of this
+project. A dedicated sprint will take place in April, during which we
+want to complete all the needed programming, documentation and setup
+tasks. Actual deployment might require more time, though: depending on
+how fast mirror operators are to adjust to the new setup, we may have
+to postpone the production deployment to May.
+
+## C.2. Be able to detect within hours failures and malfunction on our services
+
+- C.2.1. Research and decide what monitoring solution to use
+ what tools and abstraction layer to use for configuring it,
+ and where to host it: [[!tails_ticket 8645]]
+
+ We settled on a plan while refining the details of the implementation
+ of Icinga2 in our infrastructure.
+
+ We agreed to use its decentralized feature to isolate our monitored
+ systems from our monitoring one: a VM on the monitored host will be
+ set up as a Icinga2 `satellite`, and will collect the datas from the
+ other monitored systems, to send them back to the monitoring system
+ Icinga2 instance. The later will be the only one responsible for the
+ sending of notifications and will also be the one running the network
+ checks.
+
+ Icinga2 will be the agent we'll use on all systems to collect
+ monitoring datas.
+
+ We've also settled on the way to secure the communication between our
+ systems, and decided not to solely rely on icinga2 SSL certificates,
+ but to harden it using a VPN.
+
+ This was also necessary, because we chose to manage our monitoring
+ system with our current puppetmaster, which is hosted on the monitored
+ host. So both Icinga2 and puppet take benefits from this VPN.
+ [[!tails_ticket 10760]]
+
+ Still some of the deep details are quite blurry for the reviewer of
+ this design. We'll leave this discussion open, so that we can go on
+ with the deployement, while we'll be able discuss some other questions
+ that may raise later.
+
+- C.2.2. Set up the monitoring software and the underlying infrastructure
+
+ We've deployed the VPN between our systems [[!tails_ticket 11094]],
+ which lead us to finish the install of the OS on the monitoring
+ machine. It's now managed by our puppetmaster as any other of our
+ systems. [[!tails_ticket 8647]]
+
+ We also installed the VM on our monitored host that will serve as the
+ satellite relay to our monitoring system. [[!tails_ticket 10886]]
+
+ We then started writing in our puppet manifests the recipes we learned
+ from the monitoring prototype tested on a developer machine. We had
+ Icinga2 installed on all of our systems with a basic configuration.
+ Then we configured it on the monitoring system as well as on the VM that
+ will be the satellite so that they are now both interconnected over
+ the VPN. [[!tails_ticket 8648]]
+
+ We still need to connect our Icinga2 agent instances on the rest of
+ our systems to this Icinga2 network. This will be done in the beginning
+ of March, and we'll then be able to implement the various checks we
+ defined in the blueprint, which are part of C.2.4 and C.2.6. Once
+ done, at the end of March we'll configure the notifications (C.2.5) and
+ will release our monitoring setup for the end of M5.
+
+## C.4. Maintain our already existing services
+
+XXX: intrigeri
+
+* We made plans to upgrade to Debian 8 (Jessie) the small number of
+ Debian 7 (Wheezy) systems we still have ([[!tails_ticket 11178]],
+ [[!tails_ticket 11186]]).
# D. Migration to Debian Jessie
+As reported last month, all remaining deliverables were completed
+in January.
+
+Still, as a follow-up we upgraded our ISO build system to Debian
+Jessie, and then updated our Vagrant basebox and Jenkins ISO builders
+accordingly ([[!tails_ticket 9262]]).
# E. Release management
+
+- [[Tails 2.0.1|news/version_2.0.1]] was released on 2016-02-13 as an
+ emergency response to CVE-2016-1523 affecting Tor Browser:
+
+ * Enable the Tor Browser's font fingerprinting protections.
+ * Upgrade Tor Browser to 5.5.2.
+ * Repair 32-bit UEFI support.
diff --git a/wiki/src/blueprint/TailsGreeter/blog/20110508_-_Initial_post.mdwn b/wiki/src/blueprint/TailsGreeter/blog/20110508_-_Initial_post.mdwn
deleted file mode 100644
index 26ed5ef..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/20110508_-_Initial_post.mdwn
+++ /dev/null
@@ -1,2 +0,0 @@
-Welcome to the tails-greeter GSoC'2011 project's blog!
-
diff --git a/wiki/src/blueprint/TailsGreeter/blog/build_-_ok.mdwn b/wiki/src/blueprint/TailsGreeter/blog/build_-_ok.mdwn
deleted file mode 100644
index 3f003c2..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/build_-_ok.mdwn
+++ /dev/null
@@ -1,13 +0,0 @@
-### Update:
-
-Build takes ages, spits several errors like:
-
-"ERROR: ld.so: object '/usr/lib/libeatmydata/libeatmydata.so' from LD_PRELOAD cannot be preloaded: ignored"
-
-but successfully produce .iso
-
-#### Current status:
-back on track.
-
-#### Near-future plans:
-whine until I have access to build-server more powerful than my ancient laptop :-)
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__0.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__0.mdwn
deleted file mode 100644
index 620179c..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__0.mdwn
+++ /dev/null
@@ -1,23 +0,0 @@
-[[!meta date="Mon May 9 02:02:02 2011"]]
-
-This is the 1st in a series of bi-weekly reports which will follow alongside the implementation of tails-greeter project.
-
-#### Current progress:
-
-- created design document as subpage for TailsGreeter on wiki
-- tried building tails iso
-
-#### Problems:
-
-- build fails with various problems on different machines
-- build requires root privileges (upstream problem with live-build, see http://live.debian.net/devel/live-build/todo/ entries for "core")
-
-#### Near-future plans:
-
-- investigate and fix abovementioned problems
-- read on .deb packaging
-- read on vala (development environment setup and code samples)
-
-#### Additional notes:
-
-This entry will serve as a small test for unicode support of ikiwiki as well - see the numbering in heading :)
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__10_-_2011-07-29.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__10_-_2011-07-29.mdwn
deleted file mode 100644
index 8028822..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__10_-_2011-07-29.mdwn
+++ /dev/null
@@ -1,37 +0,0 @@
-[[!meta date="Fri Jul 29 02:02:02 2011"]]
-
-## Current progress:
-
-- verify that locale is correctly applied to gnome-session and fix if it isn't - DONE.
-- fix layout widget loading - DONE.
-- obtain list of kb layouts and variants available (via python-xklavier) - postponed.
-- populate layout widget with kb variants - postponed.
-- apply correct layout after it's been chosen (both to present and following greeter widgets and to actual session) - postponed.
-- verify that layout switching works after login - postponed.
-- Add option to skip all the greeter screens and immediately login with default settings - DONE.
-- Convey necessary env. variables to gnome session.(echo "VARIABLE=value" >> /etc/amnesia/environment or via /etc/gdm3/PostLogin/)
-- capitalize 1st letter of (latin) language names (e. g. English vs english) - DONE.
-- version tag and update - DONE.
-
-
-## Problems:
-
-- ISP failure which caused lack of regular updates and report delay
-- it's impossible to set env. vars via /etc/gdm3/PostLogin/ - it's writable by root only and greeter is running as 'gdm-user' account
-- python-xklavier bindings are incomplete: the most needed function "search_by_pattern" is unavailable.
-
-
-## Near-future plans:
-
-- find a way to overcome python-xklavier limitations
-- Next week plans.
-
-## Additional notes:
-
-- Right now layout widget is dummmy: only "next" button is working.
-- The language choice is applied to session semi-correctly: if there are several country locales correspond to one language (for examle French is Belgium, France etc) than one of them is picked seemingly random. Once there is workaround for xklavier issue than it'll be user choice made based on layout widget.
-
-
-
-
-
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__11_-_2011-08-05.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__11_-_2011-08-05.mdwn
deleted file mode 100644
index 9e72411..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__11_-_2011-08-05.mdwn
+++ /dev/null
@@ -1,35 +0,0 @@
-[[!meta date="Fri Aug 5 02:02:02 2011"]]
-
-## Current progress:
-
-- obtain list of kb layouts and variants available (via python-xklavier) - DONE.
-- populate layout widget with kb variants - DONE.
-- merge feature/better_root_access_control branch - DONE.
-- apply correct layout after it's been chosen (both to present and following greeter widgets and to actual session) - postponed.
-- verify that layout switching works after login - postponed
-- version tag and update - DONE.
-
-## Problems:
-
-- tails-greeter is run under gdm's account but altering gdm PostLogon files (to set env variables) or locale compilation via localedef require root privileges.
-- xklavier set and check layout without errors but it doesn't affect greeter nor following session.
-- better_root_access_control feature requires env. variable to be set which is not possible yet.
-
-## Near-future plans:
-
-- wait for answer from gdm and xklavier devs to figure out workarounds for current problems
-- replace 2 widgets with 1 panel with same functionality
-- test the result with tails
-
-## Additional notes:
-
-- right now there are 2 "screens" which user moves through by pressing "next" button. That's rather ugly and is planned to be replaced with one of the following:
-
-
-1) single "screen" with requests for both at the same time
-
-2) 2 "screens" with language and layout requests on first one and admin password request on second one
-
-- Which do you think is better and why?
-- Please feel free to discuss it on irc this Saturday during regular meeting time or whenever you'll see max-gsoc
-
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__12_-_2011-08-12.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__12_-_2011-08-12.mdwn
deleted file mode 100644
index e2a7066..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__12_-_2011-08-12.mdwn
+++ /dev/null
@@ -1,46 +0,0 @@
-## Current progress:
-
-0. write password for config/chroot_local-includes/usr/local/sbin/set-user-password
-to file - DONE.
-0. alter set-user-password to use password from file - DONE.
-0. merge language and layout widget to single panel - DONE.
-0. write locale name for localedef to file - DONE.
-0. add locale generator which uses data from file - DONE.
-0. fix layout selection for greeter session - DONE.
-0. add double password entry to prevent typos - DONE.
-0. use SelectLayout in GDM - DONE.
-0. add layout selection to panel - DONE.
-0. use separate layouts for greeter and for user session - DONE.
-0. display panel and password widget on the same screen - DONE.
-0. add layout indicator to greeter - DONE.
-0. properly generate list of available layouts - in progress
-0. version tag and update - DONE.
-
-
-## Problems:
-
-Generation of layout list based on language or locale is incomplete - it works only
-for some well-tested cases (e. g. Русский). More testing required for other languages
-and general code refactoring needed as well.
-
-## Near-future plans:
-
-0. Finish layout generation code.
-0. Update documentation.
-0. Other plans from timeline.
-
-## Additional notes:
-
-Please test how it works for YOUR favorite language.
-The GSoC is almost over - next week is the time for final wrap-ups.
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__13_-_2011-08-18.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__13_-_2011-08-18.mdwn
deleted file mode 100644
index 639d09a..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__13_-_2011-08-18.mdwn
+++ /dev/null
@@ -1,32 +0,0 @@
-## Current progress
-
-0. refactor layout generation code - DONE.
-0. disable admin rights for empty password - DONE.
-0. add layout variant selection - DONE.
-0. use selected variant for greeter and session layout - DONE.
-0. add variant to layout indicator - DONE.
-0. make session layout selection enforce greeter layout selection - DONE.
-0. make session layout variant selection enforce greeter layout variant selection - DONE.
-0. make sure panel width fits the screen - DONE.
-0. pre-select locale based on language - DONE.
-0. correct UI phrasing - DONE.
-0. show country name instead of code (e. g. Russia vs. ru_RU) - DONE.
-0. update translation instructions - DONE.
-0. add ability to use any layout regardless of language\locale choice - postponed
-0. fix entry field width - postponed
-0. fix polkit & sudo configuration - testing required
-0. test with TAILS VM - in progress
-0. document latest design changes - in progress
-0. version tag and update - DONE.
-
-## Problems
-
-0. Glade seems pretty counter-intuitive: it's unclear how to make gtk window (parent) auto-resize when it's content (gtk entry inside gtk table) have expanded.
-0. Proposed addition to add selection of any layout will require list which is even bigger than language list (which is currently considered unusable due to its size) - it's unclear how to do it right in UI. Addition is justified by following use-case example: Italian speaking person running TAILS on computer with Norwegian kb layout and would like to have Italian locale but Norwegian layout to match hardware at hands.
-0. Hardcoded username and password prevent using tails-greeter 2nd time. Switch to gdm's autologin functionality is required.
-
-## Next week plans
-
-0. Document all the known issues. Create pages according to bug-reporting guideline.
-0. Try to fix some of them.
-0. Consume questionable substances - celebrate GSoC completion.
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__1_-_2011-05-23.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__1_-_2011-05-23.mdwn
deleted file mode 100644
index d9ceeee..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__1_-_2011-05-23.mdwn
+++ /dev/null
@@ -1,20 +0,0 @@
-[[!meta date="Mon May 23 02:02:02 2011"]]
-
-## Current progress
-
-- git repositories ready (or, frankly, I feel ready to use them :)
-- tried debian packaging and it seems to work ("seems" because it's readily available packages, not my own code yet)
-- found example dbus implementation of greeter interface in python:
-<http://doctormo.org/2011/04/12/how-to-make-a-gnome-login-screen-in-python/>
-- walked through vala code samples for dbus & GUI
-
-## Problems
-
-- university workload increased, will post corresponding changes to schedule soon
-- GDM's interfaces are not so well documented
-
-## Near-future plans
-
-- official coding start
-- pick build system (scons? cmake? autotools?), in a mean time will use plain old makefile
-- iron-out workflow (code, test, commit, build, report sequence)
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__2_-_2011-06-03.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__2_-_2011-06-03.mdwn
deleted file mode 100644
index f722e95..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__2_-_2011-06-03.mdwn
+++ /dev/null
@@ -1,22 +0,0 @@
-[[!meta date="Fri Jun 3 02:02:02 2011"]]
-
-## Current progress
-
-- project language switch vala -> python
-- main reason: working example made in python dy doctormo
-- big repo update: with 'upstream' branch for doctormo's code and 'master' branch for actual development
-
-## Problems
-
-- scm conversion with 'taylor' failed so dumb import of entire bzr tree is performed
-- university workload spike started earlier than anticipated
-
-## Near-future plans
-
-- mange university workload
-- make .deb for doctormo's code
-- integrate .deb building with git
-
-## Note:
-
-Next week will be mostly dedicated to exam, presentation and other university activities - hence tiny plans for it.
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__3_-_2011-06-13.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__3_-_2011-06-13.mdwn
deleted file mode 100644
index e7537cb..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__3_-_2011-06-13.mdwn
+++ /dev/null
@@ -1,24 +0,0 @@
-[[!meta date="Mon Jun 13 02:02:02 2011"]]
-
-## Current progress
-
-- mostly work on university projects so minor fixes and updates only
-- weekly meeting follow-up - multiple wiki updates
-- review existing python code & glade interfaces
-- gdm-community-greeter forked into tails-greeter
-- filed RFP for gtkme [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629199]] - dependency for tails-greeter
-- pbuilder fix: git-buildpackage successfully builds from 'master' granch
-- run community-greeter in VM: partially done - see below
-
-## Problems
-
-- installation into debian-squeeze is fine but got runtime error due to old python-gobject package, no backports found so .deb changed to prevent installation with unsopported version
-- check with debian-sid - installation is fine after dependency correction for gir1.0-gtk-2.0 -> gir1.2-gtk-2.0 but autostart failed for unknown reason
-
-## Near-future plans
-
-- complete VM testing
-- play with d-feet dbus debugger
-- alter python code with dummy 'admin password requestor'
-- check if current localization handling is suitable for tails-greeter
-- make plans for next week
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__4_-_2011-06-20.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__4_-_2011-06-20.mdwn
deleted file mode 100644
index a9c839b..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__4_-_2011-06-20.mdwn
+++ /dev/null
@@ -1,24 +0,0 @@
-[[!meta date="Mon Jun 20 02:02:02 2011"]]
-
-## Current progress
-
-- convert tails-greeter to old-style pygtk to remove pygi dependecy: [in progress]
-- re-test converted version with squeeze: [done, test failed]
-- check if current localization handling is suitable for tails-greeter: [postponed]
-- make plans for next week: [done]
-
-## Problems
-
-- proper procedure for version increase
-- errors with dbus after conversion: access-denied on dbus call
-- dpkg-divert required for proper testing
-- need easy way to run python syntax quick check on entire file
-
-## Near-future plans
-
-- add dpkg-divert functionality to .deb
-- fix errors found after conversion
-- run external (placeholder) program with adequate parameters on language change (locale generation for example)
-- alter python code with dummy 'admin password requestor'
-- add tails-greeter.deb into tails.git (main) repo
-- add note that it's dangerous to install tails-greeter.deb :)
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__5_-_2011-06-24.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__5_-_2011-06-24.mdwn
deleted file mode 100644
index 8e1fc68..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__5_-_2011-06-24.mdwn
+++ /dev/null
@@ -1,27 +0,0 @@
-[[!meta date="Fri Jun 24 02:02:02 2011"]]
-
-## Current progress
-
-
-0. fix errors reported by pylint - DONE (some errors still there).
-0. bump version properly (git push --tags; git-dch --git-author) - DONE.
-0. add pylint conf to ignore dbus-related false positives - DONE (might hide real errors too).
-0. fix language selector so it's shown and work properly - DONE (.po translations are incomplete).
-0. check if current localization handling is suitable for tails-greeter - DONE (seems ok if locales are known at the time of package build).
-0. run external (placeholder) program with adequate parameters on language change (locale generation for example) - POSTPONED.
-0. wiki updates (testing instructions and overall status) - DONE.
-0. lintian tails-greeter.deb (using .changes file too) - DONE (no errors reported).
-0. make login possible - IN_PROGRESS.
-0. add .deb into tails repo - BLOCKED by previous item.
-0. make .iso build (if packages testing-ready) - BLOCKED by previous item.
-
-## Problems
-
-BeginAutoLogin works as expected but interfacing with existing GdmGreeter to send it at the right moment seems trick.
-Documentation complete absent so will have to talk directly with the developer about it.
-
-## Near-future plans
-
-0. relocation to another country
-0. fixes\updates\minor items which were postponed for whatever reason
-
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__6_-_2011-06-28.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__6_-_2011-06-28.mdwn
deleted file mode 100644
index 456839e..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__6_-_2011-06-28.mdwn
+++ /dev/null
@@ -1,23 +0,0 @@
-[[!meta date="Tue Jun 28 02:02:02 2011"]]
-
-## Current progress
-
-0. change widget to fit many more languages: from flag icons to scrollable list - partially done (dummy widget only, no python code yet).
-0. make .iso build - not done.
-0. specify dbus interface to interact with external locale-gen script - not done (see 'Problems' below).
-0. change widget exec order (parallel->sequential) to comply with "localization notes" part of [[todo/TailsGreeter/design]] - not done (see 'Problems' below).
-
-## Problems
-
-0. relocation to another country.
-0. .iso build fails due to problems with underlying fs, fix testing is in progress.
-0. the widget exec order is hardcoded into community-greeter.py so this change requires more time than it was anticipated during previous planning.
-0. interaction with locale-gen script require rewrite of the d-bus code in services.py which cannot be completed during this week as well.
-
-## Near-future plans
-
-0. rewrite d-bus handling in service.py
-0. change widget exec order (rewrite community-greeter.py)
-0. substitute LanguageWindow widget with LangselectWindow
-0. setup squid-deb-proxy to speed-up live-build
-0. remainder of week #6 plans from [[todo/TailsGreeter/timeline]]
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__7_-_2011-07-08.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__7_-_2011-07-08.mdwn
deleted file mode 100644
index 6664e75..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__7_-_2011-07-08.mdwn
+++ /dev/null
@@ -1,34 +0,0 @@
-[[!meta date="Fri Jul 8 02:02:02 2011"]]
-
-## Current progress
-
-0. [Mon.] change widget exec order (parallel->sequential) to comply with "localization notes" part of [[todo/TailsGreeter/design]] - DONE.
-0. [Mon.] setup squid-deb-proxy - DONE.
-0. [Mon.] make .iso build - DONE.
-0. [Tue.] change widget to fit many more languages: from flag icons to scrollable list - DONE.
-0. [Wed.] (re)generate .po with (dummy) translations (to show that language change is actually working) - DONE.
-0. [Wed.] populate the list of supported languages in the widget from gnome-desktop-data package languages or dpkg-reconfigure locales (see gdm_get_all_language_names function for example) - DONE (with external helper script).
-0. [Thu.] 'subprocess': run external (locale-gen) program with adequate parameters on language change and wait for its completion before allowing logon - in progress.
-0. update tails-greeter.deb package - in progress.
-0. propose rough plans / estimates for all the remaining weeks - postponed.
-
-## Problems
-
-0. Current implementation uses gtk's ComboBox for the list of languages. Switching to scrollable list (similar to debian-installer) might require to scale better to bigger number of languages but it will take a bit more efforts to integrate it with gtkme wrapper.
-0. Pygtk functions for window.show() and window.hide() do not work as expected - sometimes window which supposed to be hidden remain visible despite successful gtk property change. Right now the workaround is to call window.destroy() however this might not scale that well if we will have multiple windows with complex interactions in between in future. To summarize: worth investigating but not top priority at the moment.
-0. Right now language list is presented to user based on the locales available in the system (e. g. those chosen via 'dpkg-reconfigure locales' for example). Those might be unsupported by available tails-greeter translations. And vice-versa: there might be tails-greeter translation which doesn't correspond to any system locale. Those situations got to be carefully tested and handled gracefully.
-0. Current implementation uses subprocess' calls to run locale generation from autologin widget - it should be moved to upper layer - to the greeter itself: it will be easier to incorporate other widgets this way.
-0. There are several ways to obtain list of supported locales in gdm/gui/simple-greeter/gdm-languages.c (including locale.alias file, gdm's locale-archive and system-wide locale-archive). Similar logic should be incorporated into tails-greeter. It's worth investigating if it's feasible to engage gdm code using ctypes for example.
-
-## Near-future plans
-
-0. Complete .iso build and tests, push new tails-greeter.deb if the tests are successful.
-0. Investigate things listed in 'problems' section above
-0. Implement plans for next week #7
-
-## Additional notes
-
-0. Right now language choice is applied only after user have pressed 'forward' button - it would look nicer if it's done immediately upon selection.
-0. Language list should contain language's own name (e. g. 'Русский' for 'Russian') instead of current 2-letter code.
-
-Those should be included into plans for some of the upcoming weeks.
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__8_-_2011-07-15.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__8_-_2011-07-15.mdwn
deleted file mode 100644
index d2a194c..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__8_-_2011-07-15.mdwn
+++ /dev/null
@@ -1,34 +0,0 @@
-[[!meta date="Fri Jul 15 02:02:02 2011"]]
-
-## Current progress
-
-
-0. populate language list using list of available locales in /usr/share/i18n/SUPPORTED - DONE.
-0. supply parameter as 'en' (or smth else suitable for locale generation - investigate) to locale-gen - DONE.
-0. Language list should contain language's own name (e. g. 'Русский' for 'Russian')
-instead of current 2-letter code - DONE.
-0. translate language widget too (move lang choice handler from button_clicked to list_choice)
-0. Move locale-gen interaction to greeter from widget - DONE.
-0. cleanup commented\old\dead code - DONE.
-0. obtain list of kb layouts available (via python-xklavier)
-0. use existing code/UI from d-i/anaconda/ubuntu installer/ for language chooser if possible - partially done (PyICU utilized).
-0. apply correct layout after it's been chosen (both to present and following greeter widgets and to actual session)
-
-## Problems
-
-0. Some of the 'native' language names are not displayed correctly due to missing characters in the fonts (standard unicode squares shown instead). It's unclear how to filter them out because there are no actual errors shown in python.
-0. The language list is fairly long: maybe some of the exotic languages could be filtered or black-listed before list population?
-0. It's yet unclear how to pass information to the session initiated by gdm: especially how to set env. variable and apply language & layout settings - probably there are some dbus hooks available.
-0. xklavier and ICU seems like the right way to work with language and layout data but there is no obvious way to reuse code from installers (anaconda, d-i) directly.
-
-## Near-future plans
-
-0. Make widget for layout choice and populate it with data obtained via xklavier.
-0. Create version suitable for .iso build and test.
-0. Next week plans.
-
-## Additional notes
-
-0. Part of the code has been merged back to gdm-community-greeter project via special branch.
-0. The issue with wrongly displayed language names might be related to legacy (non-utf8) encodings. Right now there is no special treatment for those encodings. It's unclear whether some support required in tails-greeter for that at all.
-0. The general 'id' for the locale looks like ru_RU (language-country code) - see 'man localedef'. What's the acceptable id for layout is still unclear.
diff --git a/wiki/src/blueprint/TailsGreeter/blog/report___8470__9_-_2011-07-20.mdwn b/wiki/src/blueprint/TailsGreeter/blog/report___8470__9_-_2011-07-20.mdwn
deleted file mode 100644
index 7064fd4..0000000
--- a/wiki/src/blueprint/TailsGreeter/blog/report___8470__9_-_2011-07-20.mdwn
+++ /dev/null
@@ -1,34 +0,0 @@
-[[!meta date="Wed Jul 20 02:02:02 2011"]]
-
-## Current progress
-
-0. document interface to locale-gen - DONE.
-0. make sure it's possible to choose language multiple times before 'forward' button pressed - DONE.
-0. apply chosen language to gnome session - needs testing
-0. borrow ubiquity widgets for keyboard layout if possible - DONE.
-0. create keyboard layout widget - in progress.
-0. update requestor widget to hide password while typing - DONE.
-0. [Convert packages to dh_python2](http://wiki.debian.org/Python/TransitionToDHPython2) because python-support is deprecated - merge dh_python2 branch - DONE.
-0. pressing 'enter' in password request widget should be equal to button click - DONE.
-0. version tag and update - DONE.
-
-## Problems
-
-0. What's the best way to check that chosen language was actually applied to gnome session in Debian? 1) dpkg-reconfigure locales 2) choose supported locale 3) ??? are there some packages got to be installed? some env vars set? what should change as a result of proper language choice?
-In short - test-case description is missing.
-0. Layout widget borrowed from ubiquity fails with error:
-AttributeError: 'gtk.VBox' object has no attribute 'present'
-if loaded.
-This is in the code path inherited from gdm-community-greeter - the debugging is in progress.
-
-## Near-future plans
-
-0. Fix bugs preventing layout widget from loading and connect it with "real" python code talking to xklavier instead of stubs.
-0. week #9 plans.
-
-## Additional notes
-
-0. From now on till the end of GSoC every week new version will be tagged in git repo - this should aid with testing.
-0. This week is one day shorter due to wedding. Luckily - not my own :)
-0. For the same reason weekly meeting is moved to one day earlier.
-
diff --git a/wiki/src/blueprint/Tails_research.mdwn b/wiki/src/blueprint/Tails_research.mdwn
index 881c9a7..7e50b60 100644
--- a/wiki/src/blueprint/Tails_research.mdwn
+++ b/wiki/src/blueprint/Tails_research.mdwn
@@ -12,16 +12,19 @@ When you worked on a problem and published a paper about it, please let us know
The best way to reach us is through the [tails-dev](https://mailman.boum.org/listinfo/tails-dev/) mailinglist, or at our (possibly) encrypted address tails[AT]boum.org
-## Academic communities
-The questions posed by Tails might me of interest for researchers from various fields. A list of potentially interested communities that we are aware of can be seen below.
-
- * Anonymity researchers - [PETS](http://petsymposium.org/)
- * Usable Privacy and Security - [SOUPS](https://cups.cs.cmu.edu/soups/index.html)
- * Computer science in various fields - [USENIX](https://www.usenix.org/conferences)
-
## Research ideas
* [Randomness seeding](https://tails.boum.org/blueprint/randomness_seeding/)
* [Persistent Tor state](https://tails.boum.org/blueprint/persistent_Tor_state/)
* [Time syncing](https://tails.boum.org/blueprint/robust_time_syncing/)
+## Research on Tor
+
+The Tor Project has a page dedicated to open (https://research.torproject.org/)[research questions] that they face. Any problem that is solved at Tor, we benefit from and we welcome contributions to Tor.
+
+## Academic communities
+The questions posed by Tails might me of interest for researchers from various fields. A list of potentially interested communities that we are aware of can be seen below.
+
+ * Anonymity researchers - [PETS](http://petsymposium.org/)
+ * Usable Privacy and Security - [SOUPS](https://cups.cs.cmu.edu/soups/index.html)
+ * Computer science in various fields - [USENIX](https://www.usenix.org/conferences)
diff --git a/wiki/src/blueprint/automated_builds_and_tests/testing.mdwn b/wiki/src/blueprint/automated_builds_and_tests/testing.mdwn
index 908c533..1cfde43 100644
--- a/wiki/src/blueprint/automated_builds_and_tests/testing.mdwn
+++ b/wiki/src/blueprint/automated_builds_and_tests/testing.mdwn
@@ -24,22 +24,47 @@ This page is about tools that could allow us to improve it.
## dogtail
* [homepage](https://fedorahosted.org/dogtail/)
+* actively maintained upstream as of 2016-02
* GUI test tool and automation framework written in ​Python
* uses Accessibility (a11y) technologies to communicate with
desktop applications
* used by GNOME in combination with *behave*: see the section about
that one
-* in Debian Wheezy
+* in Debian Wheezy, Jessie, and (as of 2016-02-14) Stretch;
+ but the package is orphaned
* how much do we still need Sikuli if we have dogtail?
+* ships a `sniff` GUI that allows one to explore GUI applications
+ widgets and content using a11y technologies: very useful if we use
+ dogtail, or any similar tool
+* most of the work is done by RedHat
+
+## Misc helpers
+
+* The pyatspi and Accessibility Python modules can be helpful
+ regardless of the actual tool we use. E.g. pyatspi can allow us to
+ listen for GUI events. Also see [[!debpkg gir1.2-atspi-2.0]] and
+ [[!debpkg gir1.2-wnck-3.0]].
+* [Accerciser](https://wiki.gnome.org/Apps/Accerciser), an interactive
+ accessibility explorer for the GNOME desktop
+
+## autopilot
+
+* [homepage](https://launchpad.net/autopilot)
+* "A tool for functional testing of GUI application."
+* in Ubuntu, but not in Debian
+* [usage documentation](https://developer.ubuntu.com/api/autopilot/python/1.5.0/)
## LDTP
LDTP is an open source testing tool that uses computer assistive
-technology (accessibility) to automate GUIs. It's used by GNOME,
+technology (accessibility) to automate GUIs. It is (was?) used by GNOME,
Mozilla and others:
* [[!wikipedia Linux_Desktop_Testing_Project]]
* [homepage](http://ldtp.freedesktop.org/wiki/)
+* latest upstream release (as of 2016-02-14) is 3.5, released mid-2013
+* Debian Wheezy, Jessie and (as of 2016-02-14) Stretch have 2.3.1,
+ released 2012-02-26
* [tutorial](http://download.freedesktop.org/ldtp/doc/ldtp-tutorial.pdf)
* The main bindings are Python, but there also are a Ruby client and
Perl bindings in the [Git repo](http://cgit.freedesktop.org/ldtp/ldtp2/tree/ldtp)
@@ -57,6 +82,8 @@ Mozilla and others:
## Using accessibility technologies?
+[[!tails_ticket 10721]]
+
In some cases, it could simplify some testing steps, such as anything
about navigating menus, that we're currently mostly avoiding since
it's hard to do in a robust way with Sikuli.
@@ -64,4 +91,21 @@ it's hard to do in a robust way with Sikuli.
A downside is that we're not exactly testing how most users interact
with the software. Some upsides are that it would ensure that our
stuff does support accessibility technologies, and that we would have
-to maintain less pictures.
+to maintain much less pictures.
+
+## How to do it
+
+We want to build a high-level Ruby library that helps us generate bits
+of Python (that use e.g. dogtail) that we'll then send to the system
+under testing (using the remote shell we have already), and run there.
+
+For example, one feature this library should provide would be to
+select a particular conversation tab in Pidgin, based on the
+conversation tab's name; that is, using _text_ and not a picture; this
+can be especially useful when we learn what name we are looking for
+dynamically, at run time, and thus can't add the corresponding picture
+to Git.
+
+Some stuff won't be doable in a nice, high-level way, so likely we
+will need, for some corner cases, lower-level access to the generation
+of the Python code that will be sent and run.
diff --git a/wiki/src/blueprint/bootstrapping/extension.mdwn b/wiki/src/blueprint/bootstrapping/extension.mdwn
index c600da1..184e765 100644
--- a/wiki/src/blueprint/bootstrapping/extension.mdwn
+++ b/wiki/src/blueprint/bootstrapping/extension.mdwn
@@ -136,7 +136,7 @@ We are considering here an attacker who can:
- (A) Provide a malicious ISO image to the user for example by
operating a rogue Tails mirror.
- - [H] Operate a website that is loaded in a different tab in the same
+ - (H) Operate a website that is loaded in a different tab in the same
browser as the extension. See the section on [[security inside the
browser|extension#inside_the_browser]].
diff --git a/wiki/src/blueprint/bootstrapping/tools.fodg b/wiki/src/blueprint/bootstrapping/tools.fodg
index c0c7bb6..eaf8c42 100644
--- a/wiki/src/blueprint/bootstrapping/tools.fodg
+++ b/wiki/src/blueprint/bootstrapping/tools.fodg
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.graphics">
- <office:meta><meta:initial-creator>Debian user</meta:initial-creator><meta:creation-date>2015-02-02T10:48:46</meta:creation-date><meta:generator>LibreOffice/3.5$Linux_x86 LibreOffice_project/350m1$Build-2</meta:generator><meta:document-statistic meta:object-count="38"/></office:meta>
+<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.graphics">
+ <office:meta><meta:initial-creator>Debian user</meta:initial-creator><meta:creation-date>2015-02-02T10:48:46</meta:creation-date><meta:generator>LibreOffice/4.3.3.2$Linux_x86 LibreOffice_project/430m0$Build-2</meta:generator><dc:date>2016-02-07T19:33:31.339998128</dc:date><dc:creator>Debian user</dc:creator><meta:editing-duration>PT3M41S</meta:editing-duration><meta:editing-cycles>2</meta:editing-cycles><meta:document-statistic meta:object-count="37"/></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
- <config:config-item config:name="VisibleAreaTop" config:type="int">-3704</config:config-item>
- <config:config-item config:name="VisibleAreaLeft" config:type="int">-3175</config:config-item>
- <config:config-item config:name="VisibleAreaWidth" config:type="int">42508</config:config-item>
- <config:config-item config:name="VisibleAreaHeight" config:type="int">21789</config:config-item>
+ <config:config-item config:name="VisibleAreaTop" config:type="int">-3863</config:config-item>
+ <config:config-item config:name="VisibleAreaLeft" config:type="int">-1323</config:config-item>
+ <config:config-item config:name="VisibleAreaWidth" config:type="int">42507</config:config-item>
+ <config:config-item config:name="VisibleAreaHeight" config:type="int">21788</config:config-item>
<config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view1</config:config-item>
@@ -37,10 +37,10 @@
<config:config-item config:name="EditModeStandard" config:type="int">0</config:config-item>
<config:config-item config:name="EditModeNotes" config:type="int">0</config:config-item>
<config:config-item config:name="EditModeHandout" config:type="int">1</config:config-item>
- <config:config-item config:name="VisibleAreaTop" config:type="int">-5474</config:config-item>
- <config:config-item config:name="VisibleAreaLeft" config:type="int">-16331</config:config-item>
- <config:config-item config:name="VisibleAreaWidth" config:type="int">63136</config:config-item>
- <config:config-item config:name="VisibleAreaHeight" config:type="int">41422</config:config-item>
+ <config:config-item config:name="VisibleAreaTop" config:type="int">-3863</config:config-item>
+ <config:config-item config:name="VisibleAreaLeft" config:type="int">-1323</config:config-item>
+ <config:config-item config:name="VisibleAreaWidth" config:type="int">38471</config:config-item>
+ <config:config-item config:name="VisibleAreaHeight" config:type="int">23655</config:config-item>
<config:config-item config:name="GridCoarseWidth" config:type="int">1270</config:config-item>
<config:config-item config:name="GridCoarseHeight" config:type="int">1270</config:config-item>
<config:config-item config:name="GridFineWidth" config:type="int">127</config:config-item>
@@ -62,6 +62,7 @@
<config:config-item config:name="ColorTableURL" config:type="string">$(user)/config/standard.soc</config:config-item>
<config:config-item config:name="DashTableURL" config:type="string">$(user)/config/standard.sod</config:config-item>
<config:config-item config:name="DefaultTabStop" config:type="int">1270</config:config-item>
+ <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="GradientTableURL" config:type="string">$(user)/config/standard.sog</config:config-item>
<config:config-item config:name="HatchTableURL" config:type="string">$(user)/config/standard.soh</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
@@ -96,14 +97,21 @@
</ooo:libraries>
</office:script>
</office:scripts>
+ <office:font-face-decls>
+ <style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
+ <style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
+ <style:font-face style:name="AR PL UKai CN" svg:font-family="&apos;AR PL UKai CN&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="DejaVu Sans" svg:font-family="&apos;DejaVu Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Lohit Devanagari" svg:font-family="&apos;Lohit Devanagari&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
<office:styles>
- <draw:marker draw:name="Arrow" svg:viewBox="0 0 20 30" svg:d="m10 0-10 30h20z"/>
+ <draw:marker draw:name="Arrow" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 30h20z"/>
<style:default-style style:family="graphic">
<style:graphic-properties svg:stroke-color="#808080" draw:fill-color="#cfe7f5" fo:wrap-option="no-wrap"/>
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:punctuation-wrap="simple" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
<style:tab-stops/>
</style:paragraph-properties>
- <style:text-properties style:use-window-font-color="true" fo:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="24pt" fo:language="en" fo:country="US" style:font-family-asian="&apos;DejaVu Sans&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="24pt" style:language-asian="zh" style:country-asian="CN" style:font-family-complex="&apos;DejaVu Sans&apos;" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="24pt" style:language-complex="hi" style:country-complex="IN"/>
+ <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="24pt" fo:language="en" fo:country="US" style:font-name-asian="DejaVu Sans" style:font-size-asian="24pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="DejaVu Sans" style:font-size-complex="24pt" style:language-complex="hi" style:country-complex="IN"/>
</style:default-style>
<style:style style:name="standard" style:family="graphic">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0cm" svg:stroke-color="#808080" draw:marker-start-width="0.2cm" draw:marker-start-center="false" draw:marker-end-width="0.2cm" draw:marker-end-center="false" draw:fill="solid" draw:fill-color="#cfe7f5" draw:textarea-horizontal-align="justify" fo:padding-top="0.125cm" fo:padding-bottom="0.125cm" fo:padding-left="0.25cm" fo:padding-right="0.25cm" draw:shadow="hidden" draw:shadow-offset-x="0.2cm" draw:shadow-offset-y="0.2cm" draw:shadow-color="#808080">
@@ -151,7 +159,7 @@
</text:list-style>
</style:graphic-properties>
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-indent="0cm"/>
- <style:text-properties style:use-window-font-color="true" style:text-outline="false" style:text-line-through-style="none" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="18pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-family-asian="&apos;AR PL UKai CN&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="18pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-family-complex="&apos;Lohit Devanagari&apos;" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="18pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
+ <style:text-properties style:use-window-font-color="true" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="18pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="AR PL UKai CN" style:font-family-asian="&apos;AR PL UKai CN&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="18pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Lohit Devanagari" style:font-family-complex="&apos;Lohit Devanagari&apos;" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="18pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="objectwitharrow" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0.15cm" svg:stroke-color="#000000" draw:marker-start="Arrow" draw:marker-start-width="0.7cm" draw:marker-start-center="true" draw:marker-end-width="0.3cm"/>
@@ -162,6 +170,9 @@
<style:style style:name="objectwithoutfill" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties svg:stroke-color="#000000" draw:fill="none"/>
</style:style>
+ <style:style style:name="Object_20_with_20_no_20_fill_20_and_20_no_20_line" style:display-name="Object with no fill and no line" style:family="graphic" style:parent-style-name="standard">
+ <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+ </style:style>
<style:style style:name="text" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:stroke="none" draw:fill="none"/>
</style:style>
@@ -229,63 +240,60 @@
<style:graphic-properties svg:stroke-width="0.102cm" svg:stroke-color="#008080" draw:marker-start-width="0.353cm" draw:marker-end-width="0.353cm" draw:fill="solid" draw:fill-color="#ffffff" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.176cm" fo:padding-bottom="0.176cm" fo:padding-left="0.301cm" fo:padding-right="0.301cm"/>
</style:style>
<style:style style:name="gr4" style:family="graphic" style:parent-style-name="standard">
- <style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#e6ff00" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
+ <style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#99ff66" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
</style:style>
<style:style style:name="gr5" style:family="graphic" style:parent-style-name="standard">
- <style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#3deb3d" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
+ <style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#ffff66" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
</style:style>
- <style:style style:name="gr6" style:family="graphic" style:parent-style-name="standard">
- <style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#ffd320" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
- </style:style>
- <style:style style:name="gr7" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr6" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.2cm" svg:stroke-color="#800000" draw:marker-start-width="0.5cm" draw:marker-end="Arrow" draw:marker-end-width="0.6cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.225cm" fo:padding-bottom="0.225cm" fo:padding-left="0.35cm" fo:padding-right="0.35cm"/>
</style:style>
- <style:style style:name="gr8" style:family="graphic" style:parent-style-name="standard">
+ <style:style style:name="gr7" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties svg:stroke-width="0.025cm" svg:stroke-color="#000000" draw:marker-start-width="0.237cm" draw:marker-end-width="0.237cm" draw:fill="solid" draw:fill-color="#ffffff" draw:textarea-horizontal-align="justify" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" fo:padding-top="0.137cm" fo:padding-bottom="0.137cm" fo:padding-left="0.262cm" fo:padding-right="0.262cm"/>
</style:style>
- <style:style style:name="gr9" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr8" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.102cm" svg:stroke-color="#008080" draw:marker-start-width="0.353cm" draw:marker-end="Arrow" draw:marker-end-width="0.453cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.176cm" fo:padding-bottom="0.176cm" fo:padding-left="0.301cm" fo:padding-right="0.301cm"/>
</style:style>
- <style:style style:name="gr10" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr9" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.2cm" svg:stroke-color="#008080" draw:marker-start-width="0.5cm" draw:marker-end="Arrow" draw:marker-end-width="0.6cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.225cm" fo:padding-bottom="0.225cm" fo:padding-left="0.35cm" fo:padding-right="0.35cm"/>
</style:style>
- <style:style style:name="gr11" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr10" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.2cm" svg:stroke-color="#800080" draw:marker-start-width="0.5cm" draw:marker-end="Arrow" draw:marker-end-width="0.6cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.225cm" fo:padding-bottom="0.225cm" fo:padding-left="0.35cm" fo:padding-right="0.35cm"/>
</style:style>
- <style:style style:name="gr12" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr11" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.102cm" svg:stroke-color="#800000" draw:marker-start-width="0.353cm" draw:marker-end="Arrow" draw:marker-end-width="0.453cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.176cm" fo:padding-bottom="0.176cm" fo:padding-left="0.301cm" fo:padding-right="0.301cm"/>
</style:style>
- <style:style style:name="gr13" style:family="graphic" style:parent-style-name="standard">
+ <style:style style:name="gr12" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:textarea-vertical-align="middle"/>
</style:style>
- <style:style style:name="gr14" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr13" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.152cm" svg:stroke-color="#008080" draw:marker-start-width="0.428cm" draw:marker-end="Arrow" draw:marker-end-width="0.528cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.201cm" fo:padding-bottom="0.201cm" fo:padding-left="0.326cm" fo:padding-right="0.326cm"/>
</style:style>
- <style:style style:name="gr15" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr14" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties draw:marker-end="Arrow" draw:marker-end-width="0.3cm" draw:fill="none" draw:textarea-vertical-align="middle"/>
</style:style>
- <style:style style:name="gr16" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr15" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" draw:marker-start-width="0.504cm" draw:marker-end="Arrow" draw:marker-end-width="0.604cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
- <style:style style:name="gr17" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr16" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.152cm" svg:stroke-color="#008080" draw:marker-start-width="0.228cm" draw:marker-end="Arrow" draw:marker-end-width="0.533cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.201cm" fo:padding-bottom="0.201cm" fo:padding-left="0.326cm" fo:padding-right="0.326cm"/>
</style:style>
- <style:style style:name="gr18" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr17" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" svg:stroke-color="#008080" draw:marker-end="Arrow" draw:marker-end-width="0.609cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
- <style:style style:name="gr19" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr18" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" svg:stroke-color="#800000" draw:marker-end="Arrow" draw:marker-end-width="0.609cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
- <style:style style:name="gr20" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr19" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" svg:stroke-color="#800000" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
- <style:style style:name="gr21" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr20" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.102cm" svg:stroke-color="#000000" draw:marker-start-width="0.153cm" draw:marker-end="Arrow" draw:marker-end-width="0.458cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.176cm" fo:padding-bottom="0.176cm" fo:padding-left="0.301cm" fo:padding-right="0.301cm"/>
</style:style>
- <style:style style:name="gr22" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr21" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" svg:stroke-color="#800080" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
- <style:style style:name="gr23" style:family="graphic" style:parent-style-name="objectwithoutfill">
+ <style:style style:name="gr22" style:family="graphic" style:parent-style-name="objectwithoutfill">
<style:graphic-properties svg:stroke-width="0.203cm" svg:stroke-color="#800080" draw:marker-end="Arrow" draw:marker-end-width="0.609cm" draw:fill="none" draw:textarea-vertical-align="middle" fo:padding-top="0.226cm" fo:padding-bottom="0.226cm" fo:padding-left="0.351cm" fo:padding-right="0.351cm"/>
</style:style>
<style:style style:name="P1" style:family="paragraph">
@@ -365,132 +373,128 @@
<text:p text:style-name="P1"><text:span text:style-name="T1">Debian</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr2" draw:text-style-name="P2" xml:id="id6" draw:id="id6" draw:layer="layout" svg:width="5.882cm" svg:height="1.505cm" svg:x="1.078cm" svg:y="1.043cm">
- <text:p text:style-name="P1"><text:span text:style-name="T1">Debian Hacker</text:span></text:p>
+ <draw:custom-shape draw:style-name="gr2" draw:text-style-name="P2" xml:id="id5" draw:id="id5" draw:layer="layout" svg:width="5.882cm" svg:height="1.505cm" svg:x="1.078cm" svg:y="1.043cm">
+ <text:p text:style-name="P1"><text:span text:style-name="T1">Debian expert</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr3" draw:text-style-name="P2" xml:id="id8" draw:id="id8" draw:layer="layout" svg:width="5.945cm" svg:height="1.505cm" svg:x="18.842cm" svg:y="1.043cm">
+ <draw:custom-shape draw:style-name="gr3" draw:text-style-name="P2" xml:id="id7" draw:id="id7" draw:layer="layout" svg:width="5.945cm" svg:height="1.505cm" svg:x="18.842cm" svg:y="1.043cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Other OS</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr4" draw:text-style-name="P2" xml:id="id2" draw:id="id2" draw:layer="layout" svg:width="8.721cm" svg:height="1.474cm" svg:x="7.627cm" svg:y="5.155cm">
- <text:p text:style-name="P1"><text:span text:style-name="T1">Extension from Debian</text:span></text:p>
- <draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
- </draw:custom-shape>
- <draw:custom-shape draw:style-name="gr5" draw:text-style-name="P2" xml:id="id7" draw:id="id7" draw:layer="layout" svg:width="10.541cm" svg:height="1.429cm" svg:x="1cm" svg:y="9.259cm">
+ <draw:custom-shape draw:style-name="gr4" draw:text-style-name="P2" xml:id="id6" draw:id="id6" draw:layer="layout" svg:width="10.541cm" svg:height="1.429cm" svg:x="1cm" svg:y="9.259cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">OpenPGP with Debian keyring</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr4" draw:text-style-name="P2" xml:id="id4" draw:id="id4" draw:layer="layout" svg:width="9.937cm" svg:height="1.879cm" svg:x="19.536cm" svg:y="10.879cm">
+ <draw:custom-shape draw:style-name="gr4" draw:text-style-name="P2" xml:id="id3" draw:id="id3" draw:layer="layout" svg:width="9.937cm" svg:height="1.879cm" svg:x="19.536cm" svg:y="10.879cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">OpenPGP documentation</text:span></text:p>
<text:p text:style-name="P1"><text:span text:style-name="T2">(outside of the web assistant)</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr6" draw:text-style-name="P2" xml:id="id3" draw:id="id3" draw:layer="layout" svg:width="9.028cm" svg:height="1.505cm" svg:x="17.269cm" svg:y="5.155cm">
- <text:p text:style-name="P1"><text:span text:style-name="T1">Extension from browser</text:span></text:p>
+ <draw:custom-shape draw:style-name="gr5" draw:text-style-name="P2" xml:id="id2" draw:id="id2" draw:layer="layout" svg:width="9.028cm" svg:height="1.505cm" svg:x="15.58cm" svg:y="5.155cm">
+ <text:p text:style-name="P1"><text:span text:style-name="T1">Browser extension</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:connector draw:style-name="gr7" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="11.954cm" svg:y1="2.548cm" svg:x2="11.988cm" svg:y2="5.155cm" draw:start-shape="id1" draw:start-glue-point="6" draw:end-shape="id2" draw:end-glue-point="4" svg:d="m11954 2548v551l34 1543v513">
+ <draw:connector draw:style-name="gr6" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="11.954cm" svg:y1="2.548cm" svg:x2="20.094cm" svg:y2="5.155cm" draw:start-shape="id1" draw:start-glue-point="6" draw:end-shape="id2" draw:end-glue-point="4" svg:d="M11954 2548v551l8140 1542v514" svg:viewBox="0 0 8141 2608">
<text:p/>
</draw:connector>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id5" draw:id="id5" draw:layer="layout" svg:width="4.398cm" svg:height="1.684cm" svg:x="12.749cm" svg:y="12.363cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id4" draw:id="id4" draw:layer="layout" svg:width="4.398cm" svg:height="1.684cm" svg:x="12.749cm" svg:y="12.363cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Verified ISO</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:connector draw:style-name="gr9" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="21.783cm" svg:y1="6.66cm" svg:x2="24.505cm" svg:y2="10.879cm" draw:start-shape="id3" draw:start-glue-point="6" draw:end-shape="id4" draw:end-glue-point="4" svg:d="m21783 6660v513l2722 3192v514">
+ <draw:connector draw:style-name="gr8" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="20.094cm" svg:y1="6.66cm" svg:x2="24.505cm" svg:y2="10.879cm" draw:start-shape="id2" draw:start-glue-point="6" draw:end-shape="id3" draw:end-glue-point="4" svg:d="M20094 6660v513l4411 3192v514" svg:viewBox="0 0 4412 4220">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr10" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="21.783cm" svg:y1="6.66cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id3" draw:start-glue-point="6" draw:end-shape="id5" draw:end-glue-point="7" svg:d="m21783 6660v513l-4122 6032h-514">
+ <draw:connector draw:style-name="gr9" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="20.094cm" svg:y1="6.66cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id2" draw:start-glue-point="6" draw:end-shape="id4" draw:end-glue-point="7" svg:d="M20094 6660v513l-2433 6032h-514" svg:viewBox="0 0 2948 6546">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr7" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="11.988cm" svg:y1="6.629cm" svg:x2="14.948cm" svg:y2="12.363cm" draw:start-shape="id2" draw:start-glue-point="6" draw:end-shape="id5" draw:end-glue-point="4" svg:d="m11988 6629v514l2960 4707v513">
+ <draw:connector draw:style-name="gr6" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="15.58cm" svg:y1="5.908cm" svg:x2="14.948cm" svg:y2="12.363cm" draw:start-shape="id2" draw:start-glue-point="5" draw:end-shape="id4" draw:end-glue-point="4" svg:d="M15580 5908h-513l-119 5942v513" svg:viewBox="0 0 633 6456">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr11" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="4.019cm" svg:y1="2.548cm" svg:x2="6.271cm" svg:y2="9.259cm" draw:start-shape="id6" draw:start-glue-point="6" draw:end-shape="id7" draw:end-glue-point="4" svg:d="m4019 2548v551l2252 5646v514">
+ <draw:connector draw:style-name="gr10" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="4.019cm" svg:y1="2.548cm" svg:x2="6.271cm" svg:y2="9.259cm" draw:start-shape="id5" draw:start-glue-point="6" draw:end-shape="id6" draw:end-glue-point="4" svg:d="M4019 2548v551l2252 5646v514" svg:viewBox="0 0 2253 6712">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr11" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="6.271cm" svg:y1="10.688cm" svg:x2="12.749cm" svg:y2="13.205cm" draw:start-shape="id7" draw:start-glue-point="6" draw:end-shape="id5" svg:d="m6271 10688v513l5965 2004h513">
+ <draw:connector draw:style-name="gr10" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="6.271cm" svg:y1="10.688cm" svg:x2="12.749cm" svg:y2="13.205cm" draw:start-shape="id6" draw:start-glue-point="6" draw:end-shape="id4" svg:d="M6271 10688v513l5965 2004h513" svg:viewBox="0 0 6479 2518">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr10" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="21.815cm" svg:y1="2.548cm" svg:x2="21.783cm" svg:y2="5.155cm" draw:start-shape="id8" draw:start-glue-point="6" draw:end-shape="id3" draw:end-glue-point="4" svg:d="m21815 2548v551l-32 1542v514">
+ <draw:connector draw:style-name="gr9" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="21.815cm" svg:y1="2.548cm" svg:x2="20.094cm" svg:y2="5.155cm" draw:start-shape="id7" draw:start-glue-point="6" draw:end-shape="id2" draw:end-glue-point="4" svg:d="M21815 2548v551l-1721 1542v514" svg:viewBox="0 0 1722 2608">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr12" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="11.988cm" svg:y1="6.629cm" svg:x2="11.541cm" svg:y2="9.974cm" draw:start-shape="id2" draw:start-glue-point="6" draw:end-shape="id7" draw:end-glue-point="7" svg:d="m11988 6629v514l66 2831h-513">
+ <draw:connector draw:style-name="gr11" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="15.58cm" svg:y1="5.907cm" svg:x2="11.541cm" svg:y2="9.974cm" draw:start-shape="id2" draw:end-shape="id6" draw:end-glue-point="7" svg:d="M15580 5907h-513l-3013 4067h-513" svg:viewBox="0 0 4040 4068">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr9" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="24.505cm" svg:y1="12.758cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id4" draw:start-glue-point="6" draw:end-shape="id5" draw:end-glue-point="7" svg:d="m24505 12758v513l-6844-66h-514">
+ <draw:connector draw:style-name="gr8" draw:text-style-name="P3" draw:layer="layout" draw:type="lines" svg:x1="24.505cm" svg:y1="12.758cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id3" draw:start-glue-point="6" draw:end-shape="id4" draw:end-glue-point="7" svg:d="M24505 12758v513l-6844-66h-514" svg:viewBox="0 0 7359 514">
<text:p/>
</draw:connector>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id14" draw:id="id14" draw:layer="layout" svg:width="5.471cm" svg:height="1.683cm" svg:x="2.763cm" svg:y="27.795cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id13" draw:id="id13" draw:layer="layout" svg:width="5.471cm" svg:height="1.683cm" svg:x="2.763cm" svg:y="27.795cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Tails Installer</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id10" draw:id="id10" draw:layer="layout" svg:width="4.191cm" svg:height="1.683cm" svg:x="20.304cm" svg:y="18.296cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id9" draw:id="id9" draw:layer="layout" svg:width="4.191cm" svg:height="1.683cm" svg:x="20.304cm" svg:y="18.296cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">UUI</text:span></text:p>
<text:p text:style-name="P1"><text:span text:style-name="T2">(for Windows)</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id9" draw:id="id9" draw:layer="layout" svg:width="4.397cm" svg:height="1.684cm" svg:x="25.035cm" svg:y="18.263cm">
- <text:p text:style-name="P1"><text:span text:style-name="T1">Disk Utility</text:span></text:p>
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id8" draw:id="id8" draw:layer="layout" svg:width="4.397cm" svg:height="1.684cm" svg:x="25.035cm" svg:y="18.263cm">
+ <text:p text:style-name="P1"><text:span text:style-name="T1">dd</text:span></text:p>
<text:p text:style-name="P1"><text:span text:style-name="T2">(for Mac)</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id12" draw:id="id12" draw:layer="layout" svg:width="6.026cm" svg:height="1.683cm" svg:x="13.673cm" svg:y="18.283cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id11" draw:id="id11" draw:layer="layout" svg:width="6.026cm" svg:height="1.683cm" svg:x="13.673cm" svg:y="18.283cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">GNOME Disks</text:span></text:p>
<text:p text:style-name="P1"><text:span text:style-name="T2">(for other Linux)</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id13" draw:id="id13" draw:layer="layout" svg:width="5.882cm" svg:height="1.683cm" svg:x="14.132cm" svg:y="23.501cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id12" draw:id="id12" draw:layer="layout" svg:width="5.882cm" svg:height="1.683cm" svg:x="14.132cm" svg:y="23.501cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Temporary Tails</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:connector draw:style-name="gr13" draw:text-style-name="P1" draw:layer="layout" svg:x1="17.147cm" svg:y1="13.205cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id5" draw:start-glue-point="1" draw:end-shape="id5" draw:end-glue-point="1" svg:d="m17147 13205">
+ <draw:connector draw:style-name="gr12" draw:text-style-name="P1" draw:layer="layout" svg:x1="17.147cm" svg:y1="13.205cm" svg:x2="17.147cm" svg:y2="13.205cm" draw:start-shape="id4" draw:start-glue-point="1" draw:end-shape="id4" draw:end-glue-point="1" svg:d="M17147 13205z" svg:viewBox="0 0 1 1">
<text:p/>
</draw:connector>
- <draw:custom-shape draw:style-name="gr8" draw:text-style-name="P2" xml:id="id11" draw:id="id11" draw:layer="layout" svg:width="4.398cm" svg:height="1.683cm" svg:x="8.904cm" svg:y="23.469cm">
+ <draw:custom-shape draw:style-name="gr7" draw:text-style-name="P2" xml:id="id10" draw:id="id10" draw:layer="layout" svg:width="4.398cm" svg:height="1.683cm" svg:x="8.904cm" svg:y="23.469cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Burn DVD</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:glue-points="10800 0 0 10800 10800 21600 21600 10800" draw:type="flowchart-process" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
- <draw:connector draw:style-name="gr14" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="27.234cm" svg:y2="18.263cm" draw:start-shape="id5" draw:start-glue-point="6" draw:end-shape="id9" draw:end-glue-point="4" svg:d="m14948 14047v514l12286 3189v513">
+ <draw:connector draw:style-name="gr13" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="27.233cm" svg:y2="18.263cm" draw:start-shape="id4" draw:start-glue-point="6" draw:end-shape="id8" draw:end-glue-point="4" svg:d="M14948 14047v514l12285 3189v513" svg:viewBox="0 0 12286 4217">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr14" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="22.4cm" svg:y2="18.296cm" draw:start-shape="id5" draw:start-glue-point="6" draw:end-shape="id10" draw:end-glue-point="4" svg:d="m14948 14047v514l7452 3221v514">
+ <draw:connector draw:style-name="gr13" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="22.399cm" svg:y2="18.296cm" draw:start-shape="id4" draw:start-glue-point="6" draw:end-shape="id9" draw:end-glue-point="4" svg:d="M14948 14047v514l7451 3221v514" svg:viewBox="0 0 7452 4250">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr15" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="12.363cm" svg:x2="14.948cm" svg:y2="12.363cm" draw:start-shape="id5" draw:start-glue-point="0" draw:end-shape="id5" svg:d="m14948 12363v-513 0">
+ <draw:connector draw:style-name="gr14" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="12.363cm" svg:x2="14.948cm" svg:y2="12.363cm" draw:start-shape="id4" draw:start-glue-point="0" draw:end-shape="id4" svg:d="M14948 12363v-513z" svg:viewBox="0 0 1 514">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr16" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="11.103cm" svg:y2="23.469cm" draw:start-shape="id5" draw:start-glue-point="6" draw:end-shape="id11" draw:end-glue-point="4" svg:d="m14948 14047v514l-3845 8394v514">
+ <draw:connector draw:style-name="gr15" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="11.103cm" svg:y2="23.469cm" draw:start-shape="id4" draw:start-glue-point="6" draw:end-shape="id10" draw:end-glue-point="4" svg:d="M14948 14047v514l-3845 8394v514" svg:viewBox="0 0 3846 9423">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr14" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="16.686cm" svg:y2="18.283cm" draw:start-shape="id5" draw:start-glue-point="6" draw:end-shape="id12" draw:end-glue-point="4" svg:d="m14948 14047v514l1738 3208v514">
+ <draw:connector draw:style-name="gr13" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="16.686cm" svg:y2="18.283cm" draw:start-shape="id4" draw:start-glue-point="6" draw:end-shape="id11" draw:end-glue-point="4" svg:d="M14948 14047v514l1738 3208v514" svg:viewBox="0 0 1739 4237">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr17" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="27.234cm" svg:y1="19.947cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id9" draw:start-glue-point="6" draw:end-shape="id13" draw:end-glue-point="4" svg:d="m27234 19947v514l-10161 2526v514">
+ <draw:connector draw:style-name="gr16" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="27.233cm" svg:y1="19.947cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id8" draw:start-glue-point="6" draw:end-shape="id12" draw:end-glue-point="4" svg:d="M27233 19947v514l-10160 2526v514" svg:viewBox="0 0 10161 3555">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr17" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="22.4cm" svg:y1="19.979cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id10" draw:start-glue-point="6" draw:end-shape="id13" draw:end-glue-point="4" svg:d="m22400 19979v513l-5327 2495v514">
+ <draw:connector draw:style-name="gr16" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="22.399cm" svg:y1="19.979cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id9" draw:start-glue-point="6" draw:end-shape="id12" draw:end-glue-point="4" svg:d="M22399 19979v513l-5326 2495v514" svg:viewBox="0 0 5327 3523">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr17" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="16.686cm" svg:y1="19.966cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id12" draw:start-glue-point="6" draw:end-shape="id13" draw:end-glue-point="4" svg:d="m16686 19966v513l387 2508v514">
+ <draw:connector draw:style-name="gr16" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="16.686cm" svg:y1="19.966cm" svg:x2="17.073cm" svg:y2="23.501cm" draw:start-shape="id11" draw:start-glue-point="6" draw:end-shape="id12" draw:end-glue-point="4" svg:d="M16686 19966v513l387 2508v514" svg:viewBox="0 0 388 3536">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr18" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="17.073cm" svg:y1="25.184cm" svg:x2="8.234cm" svg:y2="28.636cm" draw:start-shape="id13" draw:start-glue-point="6" draw:end-shape="id14" svg:d="m17073 25184v513l-8326 2939h-513">
+ <draw:connector draw:style-name="gr17" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="17.073cm" svg:y1="25.184cm" svg:x2="8.234cm" svg:y2="28.636cm" draw:start-shape="id12" draw:start-glue-point="6" draw:end-shape="id13" svg:d="M17073 25184v513l-8326 2939h-513" svg:viewBox="0 0 8840 3453">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr19" draw:text-style-name="P1" draw:layer="layout" draw:type="line" svg:x1="5.494cm" svg:y1="17.323cm" svg:x2="5.499cm" svg:y2="27.795cm" draw:end-shape="id14" draw:end-glue-point="4" svg:d="m5494 17323 5 10472">
+ <draw:connector draw:style-name="gr18" draw:text-style-name="P1" draw:layer="layout" draw:type="line" svg:x1="5.494cm" svg:y1="17.323cm" svg:x2="5.499cm" svg:y2="27.795cm" draw:end-shape="id13" draw:end-glue-point="4" svg:d="M5494 17323l5 10472" svg:viewBox="0 0 6 10473">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr20" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="5.446cm" svg:y2="17.323cm" draw:start-shape="id5" draw:start-glue-point="6" svg:d="m14948 14047v514l-9502 2762v0">
+ <draw:connector draw:style-name="gr19" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="5.446cm" svg:y2="17.323cm" draw:start-shape="id4" draw:start-glue-point="6" svg:d="M14948 14047v514l-9502 2762" svg:viewBox="0 0 9503 3277">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr21" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="11.103cm" svg:y1="25.152cm" svg:x2="8.234cm" svg:y2="28.636cm" draw:start-shape="id11" draw:start-glue-point="6" draw:end-shape="id14" draw:end-glue-point="7" svg:d="m11103 25152v513l-2356 2971h-513">
+ <draw:connector draw:style-name="gr20" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="11.103cm" svg:y1="25.152cm" svg:x2="8.234cm" svg:y2="28.636cm" draw:start-shape="id10" draw:start-glue-point="6" draw:end-shape="id13" draw:end-glue-point="7" svg:d="M11103 25152v513l-2356 2971h-513" svg:viewBox="0 0 2870 3485">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr22" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="4.36cm" svg:y2="17.104cm" draw:start-shape="id5" draw:start-glue-point="6" svg:d="m14948 14047v514l-10588 2543v0">
+ <draw:connector draw:style-name="gr21" draw:text-style-name="P1" draw:layer="layout" draw:type="lines" svg:x1="14.948cm" svg:y1="14.047cm" svg:x2="4.36cm" svg:y2="17.104cm" draw:start-shape="id4" draw:start-glue-point="6" svg:d="M14948 14047v514l-10588 2543" svg:viewBox="0 0 10589 3058">
<text:p/>
</draw:connector>
- <draw:connector draw:style-name="gr23" draw:text-style-name="P1" draw:layer="layout" draw:type="line" svg:x1="4.435cm" svg:y1="17.142cm" svg:x2="4.466cm" svg:y2="27.851cm" svg:d="m4435 17142 31 10709">
+ <draw:connector draw:style-name="gr22" draw:text-style-name="P1" draw:layer="layout" draw:type="line" svg:x1="4.435cm" svg:y1="17.142cm" svg:x2="4.466cm" svg:y2="27.851cm" svg:d="M4435 17142l31 10709" svg:viewBox="0 0 32 10710">
<text:p/>
</draw:connector>
</draw:page>
diff --git a/wiki/src/blueprint/bootstrapping/verification.mdwn b/wiki/src/blueprint/bootstrapping/verification.mdwn
index 35f0edb..f8b7eca 100644
--- a/wiki/src/blueprint/bootstrapping/verification.mdwn
+++ b/wiki/src/blueprint/bootstrapping/verification.mdwn
@@ -1,5 +1,7 @@
[[!meta title="ISO verification"]]
+[[!toc]]
+
Vision
======
diff --git a/wiki/src/blueprint/follow_parts_of_Redmine.mdwn b/wiki/src/blueprint/follow_parts_of_Redmine.mdwn
new file mode 100644
index 0000000..e743879
--- /dev/null
+++ b/wiki/src/blueprint/follow_parts_of_Redmine.mdwn
@@ -0,0 +1,15 @@
+[Some of us need](https://mailman.boum.org/pipermail/tails-dev/2016-February/010204.html)
+to follow subsets of the changes made in our Redmine, without
+following _everything_.
+
+# Brainstorming
+
+## Criteria
+
+* Category
+* Type of work
+* Affected tool
+
+## Notification
+
+* email notifications work fine
diff --git a/wiki/src/blueprint/hardware_for_automated_tests_take2.mdwn b/wiki/src/blueprint/hardware_for_automated_tests_take2.mdwn
index cf213aa..1b74e12 100644
--- a/wiki/src/blueprint/hardware_for_automated_tests_take2.mdwn
+++ b/wiki/src/blueprint/hardware_for_automated_tests_take2.mdwn
@@ -22,11 +22,13 @@ As a reminder, one isotester means:
* 25G HDD (10G system+data, 15G tmp)
* 3 CPU threads
+XXX: update this with the results from [[!tails_ticket 11109]].
+
On [[!tails_ticket 9264]] we concluded that we want to be able to run the test
suite 1350 times per month. Each of our current isotesters on lizard v2 can run
it about 120 times a month. We have four such VMs => we can already cope with
480 times a month => we need to find out how to run it 1350 - 480 = 870 more
-times a month.
+times a month (2.81 times more than what we currently can do).
# Upgrading lizard v2
@@ -60,6 +62,10 @@ flexibility to experiment with various numbers of ISO builders and testers, and
worst case RAM would always be useful for running more services we're asked to
set up, and for improving performance thanks to disk caches.
+⇒ this was done ([[!tails_ticket 11010]]): lizard now has 256 GB of
+RAM, which allowed us to work on subtasks of [[!tails_ticket 11009]],
+starting with [[!tails_ticket 11113]].
+
# A second machine
**Note**: IMO (intrigeri) we should experiment on lizard with more RAM
@@ -90,47 +96,50 @@ for something like:
* 128 GiB of RAM (ideally we would just reuse the 128 GiB we have in lizard v2)
* 12-18 CPU threads == 6-9 CPU cores
-Other than that, we currently prefer option C if it's doable, and option
-D otherwise.
-
-<a id="option_C"></a>
+<a id="option_D"></a>
-### Option C: 12 cores, upgradable by adding a CPU
+### Option D: 2*6 cores, upgradable by replacing CPUs
This is for 8 VMs with 3 vcpus each.
-XXX:
-
-* can we plug one CPU only on a 2-sockets SMP mobo?
- => waiting for taggart's answer
-
Specs:
* 1 x Super X10DRi, 2x GB/i350 LAN, 10x SATA3(C612)+R, IPMI, DDR4(1TB) - $390
- * 1 x Intel® E5-2690v3-2.6Ghz/12C, 30M, 135W LGA2011 CPU - $2124
- * 16 x 16GB D4-2133Mhz, ECC/Reg 288-Pin Sdram - $2100
+ * 2 x Intel® E5-2643v3, 6C, 3.4GHz, 135 - $3260
+ * 16 x 8GB D4-2133Mhz, ECC/Reg 288-Pin Sdram - $0
* 2 x Samsung 850 EVO, 500GB 2.5" SATA3 SSD(3D V-NAMD) - $400
- * 1 x Heatsink - $50
+ * 2 x Heatsink - $100
* 1 x Supermicro SC113TQ-600W, 1U RM, WIO, 8x 2.5" SAS/SATA 600W - $350
-Total --- **$5424**
+Total --- **$4500**
-<a id="option_D"></a>
+<a id="option_E"></a>
-### Option D: 2*6 cores, upgradable by replacing CPUs
+### Option E: 8 cores, Haswell, single socket
-This is for 8 VMs with 3 vcpus each.
+Single socket boards that support E5-1600 CPUs and hold 8 DIMMs (up to
+512GB of RAM):
+<http://www.supermicro.com/products/motherboard/Xeon3000/#2011>
+
+XXX: pick a mobo that has 16 DIMM slots, all those have 8 slots; or
+deal with the fact it has 8 slots only.
Specs:
- * 1 x Super X10DRi, 2x GB/i350 LAN, 10x SATA3(C612)+R, IPMI, DDR4(1TB) - $390
- * 2 x Intel® E5-2643v3, 6C, 3.4GHz, 135 - $3260
- * 16 x 16GB D4-2133Mhz, ECC/Reg 288-Pin Sdram - $2100
+ * 1 x X10SRi-F - $273.05
+ * 1 x [E5-1680 v3](http://ark.intel.com/products/82767), 8C, 3.2GHz, 140W - $1829.65
+ * 16 x 8GB D4-2133Mhz, ECC/Reg 288-Pin Sdram - $0
* 2 x Samsung 850 EVO, 500GB 2.5" SATA3 SSD(3D V-NAMD) - $400
* 1 x Heatsink - $50
- * 1 x Supermicro SC113TQ-600W, 1U RM, WIO, 8x 2.5" SAS/SATA 600W - $350
+ * 1 x case FIXME - $350
-Total --- **$6675**
+Total --- around **$2900**
+
+### HPE
+
+* HPE ProLiant DL60 Gen9: 1 or 2 * E5-2600 v3, 256GB max. RAM
+* HPE ProLiant DL120 Gen9: 1 * E5-2600 v3 or E5-1600 v3, up to 256 GB RAM
+* HPE ProLiant DL360 Gen9: 1 or 2 * E5-2600 v3, 1.5TB max RAM
## Deprecated options
@@ -159,3 +168,104 @@ Total --- **$6200**
* 1 x Supermicro SC113TQ-600W, 1U RM, WIO, 8x 2.5" SAS/SATA 600W - $350
Total --- **$6650**
+
+<a id="option_C"></a>
+
+### Option C: 12 cores, upgradable by adding a CPU
+
+We can't plug one CPU only on a 2-sockets SMP mobo without
+losing functionality.
+
+This is for 8 VMs with 3 vcpus each.
+
+Specs:
+
+ * 1 x Super X10DRi, 2x GB/i350 LAN, 10x SATA3(C612)+R, IPMI, DDR4(1TB) - $390
+ * 1 x Intel® E5-2690v3-2.6Ghz/12C, 30M, 135W LGA2011 CPU - $2124
+ * 16 x 16GB D4-2133Mhz, ECC/Reg 288-Pin Sdram - $2100
+ * 2 x Samsung 850 EVO, 500GB 2.5" SATA3 SSD(3D V-NAMD) - $400
+ * 1 x Heatsink - $50
+ * 1 x Supermicro SC113TQ-600W, 1U RM, WIO, 8x 2.5" SAS/SATA 600W - $350
+
+Total --- **$5424**
+
+<a id="benchmarks"></a>
+
+# Benchmarks
+
+This is about [[!tails_ticket 11011]], [[!tails_ticket 11009]] and
+friends. All these tests are run on lizard v2, and all isobuilders we
+have (currently: 2) must be kept busy while tests are running.
+
+The initial set of tests use `ext4` for `/tmp/TailsToaster`, and later
+on we switch to `tmpfs`.
+
+* past baseline: 4 tests in parallel, with 20GB of RAM for each tester
+ - rationale: get an idea of whether giving testers more RAM helped
+ - results: 72 minutes / run, 3.3 runs / hour
+
+* current baseline: 4 tests in parallel, with 23GB of RAM for each tester
+ - rationale: get an idea of whether giving testers more RAM helped;
+ and provide a current baseline to compare other results with
+ - results: 69 minutes / run, 3.5 runs / hour
+ - conclusion: giving more RAM to each isotester seems to help a bit;
+ next benchmarks will all use 23 GB per isotester
+
+* more vcpus per TailsToaster: 4 test suite runs in parallel, with
+ 23GB of RAM for each tester, from the experimental branch
+ - rationale: see if [[!tails_ticket 6729]] helps
+ - results: 65 minutes / run, 3.7 runs / hour
+ - conclusion: this hypothesis is worth looking more closely into,
+ so next benchmarks will be run with both 1 and 2 vpcus per
+ TailsToaster
+
+And then, we can work on [[!tails_ticket 11113]]:
+
+* 6 testers: 6 tests (devel branch, 1 vcpu per TailsToaster)
+ in parallel on 6 testers, with 23GB of RAM for each tester
+ - results: 3/6 runs fail, 2 of them due to [[!tails_ticket 10777]],
+ another one due to a kernel panic in TailsToaster
+
+* 6 testers: 6 tests (experimental branch, 2 vcpus per TailsToaster)
+ in parallel on 6 testers, with 23GB of RAM for each tester
+ - results: 3/6 runs fail
+ * two failures due to a mistake in test/10777-robust-boot-menu,
+ fixed since then in commit 4601cbb
+ * one due to a regression probably brought by
+ test/10777-robust-boot-menu, fixed since then in commit 6a9030a;
+ plus some race condition in the "all notifications have
+ disappeared" step
+
+At this point it seems that I/O load is a problem (it slows down
+things enough to trigger weird test failures), so let's switch to
+mounting a tmpfs on `/tmp/TailsToaster` ([[!tails_ticket 11175]]) for
+all following benchmarks.
+
+* 6 testers: 6 tests (devel branch, 1 vcpu per TailsToaster)
+ in parallel on 6 testers, with 23GB of RAM for each tester
+ - results #1: 59 minutes, 6.1 runs / hour;
+ one failure due to [[!tails_ticket 11176]], and another one that
+ I can't quite explain; note that I was setting up VMs with Puppet
+ during this run
+ - results #2: 58.8 minutes / run, 6.1 runs / hour
+
+* 6 testers: 6 tests (experimental branch, 2 vcpus per TailsToaster)
+ in parallel on 6 testers, with 23GB of RAM for each tester
+ - results #1: 49 minutes, 7.3 runs / hour;
+ one failure due to a mistake in test/10777-robust-boot-menu,
+ fixed since then; note that I was installing Debian on 2 VMs
+ during this run
+ - results #2: 75 minutes (?!); one failure due to kernel panic in
+ TailsToaster
+ - results #3: 50.3 minutes / run, 7.2 runs / hour
+
+* 8 testers: 8 tests (devel branch, 1 vcpu per TailsToaster)
+ in parallel on 8 testers, with 23GB of RAM for each tester
+ - results #1: 58.5 minutes / run, 8.2 runs / hour
+ - results #2: 60.2 minutes / run, 7.8 runs / hour
+
+* 8 testers: 8 tests (experimental branch, 2 vcpus per TailsToaster)
+ in parallel on 8 testers, with 23GB of RAM for each tester
+ - results #1: 51 minutes / run, 9.5 runs / hour; 2 failures due to
+ [[!tails_ticket 10777]]
+ - results #2: XXX
diff --git a/wiki/src/blueprint/l10n_Italian.mdwn b/wiki/src/blueprint/l10n_Italian.mdwn
index 4de79c5..9fafc42 100644
--- a/wiki/src/blueprint/l10n_Italian.mdwn
+++ b/wiki/src/blueprint/l10n_Italian.mdwn
@@ -1,9 +1,44 @@
[[!toc levels=2]]
+#mini guida GIT
+
+https://rogerdudler.github.io/git-guide/index.it.html
+
+#branch
+
+Prima cosa un "git status" per vedere se siamo allineati ai rep remoti e se non lo siamo facciamolo.
+
+Voglio creare la nuova branch locale italia_about
+
+ git branch italian_about
+
+poi controllo che ci sia
+
+ git branch
+
+mi risponde la lista delle branch esistenti.
+
+Allora vado a lavorarci sopra.
+
+ git checkout italian_about
+
+ git branch
+mi fa rivedere le branch e che io sono su italian_about
+
+Ora modifico i vari file, faccio ADD, poi COMMIT e poi al PUSH:
+
+ git push [remote-name] [branch-name]
+
+Dove [remote-name] è comunemente "origin", dicono, ma nel mio caso ho dato:
+
+ git push l10n-italian italia_about
+
+
+
#Proposta prime Branch
-Sono 8!
+Dicevamo.. facciamole a piacimento. E prendiamocele.
-doc_about
+1) italian_about --> revisione ignifugo
./doc/about
./doc/about/features
@@ -16,7 +51,7 @@ doc_about
./doc/about/trust
./doc/about/warning
-doc_first_step_ABIM
+2) doc_first_step_ABIM --> ???
./doc/first_steps
./doc/first_steps/accessibility
@@ -26,7 +61,7 @@ doc_first_step_ABIM
./doc/first_steps/introduction_to_gnome_and_the_tails_desktop
./doc/first_steps/media
-doc_installation
+3) doc_installation --> Zeyev
./doc/first_steps/installation
./doc/first_steps/installation/manual
@@ -35,7 +70,7 @@ doc_installation
./doc/first_steps/installation/manual/mac
./doc/first_steps/installation/manual/windows
-doc_persistence
+4) doc_persistence --> Zeyev
./doc/first_steps/persistence
./doc/first_steps/persistence.caution
@@ -44,7 +79,7 @@ doc_persistence
./doc/first_steps/persistence/use
./doc/first_steps/persistence/warnings
-doc_first_step_start
+5) doc_first_step_start --> ???
./doc/first_steps/start_tails
./doc/first_steps/startup_options
@@ -53,7 +88,7 @@ doc_first_step_start
./doc/first_steps/startup_options/mac_spoofing
./doc/first_steps/startup_options/network_configuration
-doc_first_step_RUS
+6) doc_first_step_RUS --> ???
./doc/first_steps/reset
./doc/first_steps/reset.intro
@@ -62,8 +97,7 @@ doc_first_step_RUS
./doc/first_steps/upgrade
./doc/first_steps/shutdown
-
-doc_get
+7) doc_get --> ???
./doc/get.index
./doc/get/trusting_tails_signing_key
@@ -71,7 +105,7 @@ doc_get
./doc/get/verify_the_iso_image_using_other_operating_systems
./doc/get/verify_the_iso_image_using_the_command_line
-first_level
+8) first_level --> ???
./download
./getting_started
diff --git a/wiki/src/blueprint/monitor_servers.mdwn b/wiki/src/blueprint/monitor_servers.mdwn
index 470f57e..c8f933a 100644
--- a/wiki/src/blueprint/monitor_servers.mdwn
+++ b/wiki/src/blueprint/monitor_servers.mdwn
@@ -36,7 +36,7 @@ Corresponding parent ticket: [[!tails_ticket 5734]]
Here, we call:
-* _machine_: a computer (be it bare metal or physical) and its
+* _machine_: a computer (be it bare metal or virtual) and its
operating system
* _monitored machine_: a machine we monitor
* _monitoring machine_: the machine(s) that monitors the... _monitored
@@ -62,11 +62,11 @@ The monitoring system:
interface that works within Tor Browser with the security slider set
to Medium-High.
* MAY additionally offer a read-only version of this overview, that we
- MAY want to make available to selected contributors, or anonymous
+ may want to make available to selected contributors, or anonymous
users. Needless to say, this must be carefully balanced with the
security implications of such a system (in other words, a set of
exported static HTML pages is totally fine, but a huge dynamic web
- application is probably a no-starter).
+ application is probably a non-starter).
* MUST support configuring, with a per-check/per-service granularity,
a threshold of N failures _in a row_ before an alert is raised.
Still, it SHOULD support triggering alerts depending on the
diff --git a/wiki/src/blueprint/monthly_meeting.mdwn b/wiki/src/blueprint/monthly_meeting.mdwn
index b304e41..c22c0d4 100644
--- a/wiki/src/blueprint/monthly_meeting.mdwn
+++ b/wiki/src/blueprint/monthly_meeting.mdwn
@@ -15,4 +15,9 @@ Availability and plans for the next weeks
Discussions
===========
-- [[!tails_ticket 10781 desc="Investigate how to support the download of ISO images from release candidates"]]
+- [[!tails_ticket 11027 desc="Decide what to do with the old OpenPGP verification instructions"]]
+- [[!tails_ticket 11047 desc="Decide how to handle the upcoming monthly reports"]]
+- [[!tails_ticket 11099 desc="Decide which pinentry we want to ship"]]
+- [[!tails_ticket 11042 desc="Which keyboard layout switching shortcuts to support"]]
+- [[!tails_ticket 7874 desc="Find a more stable solution for Tails default chat support channel"]]:
+ shall we drop some of our requirements for candidate replacements?
diff --git a/wiki/src/blueprint/monthly_report.mdwn b/wiki/src/blueprint/monthly_report.mdwn
new file mode 100644
index 0000000..e72988f
--- /dev/null
+++ b/wiki/src/blueprint/monthly_report.mdwn
@@ -0,0 +1,117 @@
+[[!meta title="Monthly reports"]]
+
+[[!map pages="blueprint/monthly_report/*" show="title"]]
+
+This page could be a good place to gather HOWTO, tips, template, etc.
+for the monthly reports.
+
+Checklist
+=========
+
+- Check [[reports written for sponsors|contribute/reports]]
+- Check the archives of:
+ - <https://mailman.boum.org/pipermail/tails-dev/>
+ - <https://mailman.boum.org/pipermail/tails-ux/>
+ - <https://mailman.boum.org/pipermail/tails-project/>
+- Explore the Git history:
+ - `git log --since="January 1" --until="February 1"`
+- Redmine view of closed issues:
+ - <https://labs.riseup.net/code/projects/tails/issues?utf8=%E2%9C%93&set_filter=1&f[]=closed_on&op[closed_on]=%3E%3C&v[closed_on][]=2016-01-01&v[closed_on][]=2016-01-31&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=author&c[]=assigned_to&c[]=updated_on&c[]=cf_9&group_by=>
+- Redmine view of updated tickets that are still open or resolved:
+ - <https://labs.riseup.net/code/projects/tails/issues?utf8=%E2%9C%93&set_filter=1&f[]=updated_on&op[updated_on]=%3E%3C&v[updated_on][]=2016-01-01&v[updated_on][]=2016-01-31&f[]=status_id&op[status_id]=%3D&v[status_id][]=9&v[status_id][]=7&v[status_id][]=11&v[status_id][]=3&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=author&c[]=assigned_to&c[]=updated_on&c[]=cf_9&group_by=status>
+
+Publishing
+==========
+
+XXX: Move report to news/report_YEAR_MO.mdwn
+XXX: Tweet about the report: "Read about the activity of @Tails_live in MONTH YEAR: https://tails.boum.org/news/report_YEAR_MO"
+XXX: Send link to tor-reports@lists.torproject.org and tails-project@boum.org
+ - To: tails-project@boum.org
+ - Cc: tor-reports@lists.torproject.org
+ - Subject: Tails report for XXXXXXXX, YYYY
+ - Reply-to: tails-project@boum.org
+
+Template
+========
+
+<pre>
+\[\[!meta title="Tails report for MONTH, YEAR"\]\]
+
+\[\[!toc\]\]
+
+Releases
+========
+
+* [[Tails VERSION was released on MONTH DAY, YEAR|news/version_VERSION]] ([major|minor] release).
+
+* The next release (VERSION) is [[planned for MONTH DAY|contribute/calendar]].
+
+The following changes were introduced in Tails VERSION:
+
+XXX: Copy release notes, and compact a bit if needed.
+
+Code
+====
+
+XXX: List important code work that is not covered already by the Release
+ section (for example, the changes being worked on for the next version).
+
+Documentation and website
+=========================
+
+User experience
+===============
+
+Infrastructure
+==============
+
+XXX: Count the number of tests in /features at the beginning of next month
+
+ git checkout `git rev-list -n 1 --before="June 1" origin/devel`
+ git grep --extended-regexp '^\s*Scenario:' -- features/*.feature | wc -l
+
+XXX: Add the diff from the previous month, for example:
+
+ - Our test suite covers SCENARIOS scenarios, DIFF more that in May.
+
+* In February XXX ISO images were automatically built and tested by our continuous integration infrastructure. XXX=ask tails-sysadmins@boum.org
+
+Funding
+=======
+
+XXX: Look at the fundraising Git.
+
+ gitk --all --since='1 December' --until='1 January' origin/master
+
+XXX: Look at the <tails-fundraising@boum.org> and <tails-accounting@boum.org> archives.
+
+ask -> tails-fundraising@boum.org
+
+Outreach
+========
+
+Past events
+-----------
+
+Upcoming events
+---------------
+
+On-going discussions
+====================
+
+Press and testimonials
+======================
+
+Translation
+===========
+
+XXX: Add the output of `contribute/l10n_tricks/language_statistics.sh`
+
+Metrics
+=======
+
+* Tails has been started more than BOOTS/MONTH times this month. This makes BOOTS/DAY boots a day on average.
+* SIGS downloads of the OpenPGP signature of Tails ISO from our website.
+* WHISPERBACK bug reports were received through WhisperBack.
+
+ask -> tails@boum.org
diff --git a/wiki/src/blueprint/monthly_report/report_2016_02.mdwn b/wiki/src/blueprint/monthly_report/report_2016_02.mdwn
new file mode 100644
index 0000000..aa342bb
--- /dev/null
+++ b/wiki/src/blueprint/monthly_report/report_2016_02.mdwn
@@ -0,0 +1,151 @@
+[[!meta title="Tails report for February, 2016"]]
+
+[[!toc]]
+
+Releases
+========
+
+* [[Tails 2.0.1 was released on February 12, 2016|news/version_2.0.1]] (minor release).
+
+* [[A release candidate for 2.2 was released on February 14, 2016|news/test_2.2-rc1]]
+
+* The next release (2.2) is [[planned for March 08|contribute/calendar]].
+
+The following changes were introduced in Tails 2.0.1:
+
+- Upgrade Tor Browser to [5.5.2](https://blog.torproject.org/blog/tor-browser-552-released).
+
+- Fix regression breaking boot on 32-bit UEFI platforms. ([[!tails_ticket 11007 desc="#11007"]])
+
+Code
+====
+
+XXX: List important code work that is not covered already by the Release
+ section (for example, the changes being worked on for the next version).
+
+A friendlier build system
+-------------------------
+
+For years Tails has offered a
+[[build system based on Vagrant|contribute/build/#index2h1]], which at
+times has been maintained and really easy to use, and so a great
+resource for new contributors that want to test their
+modifications. Sadly that was a while ago, mostly because all but one
+Tails developers have been using their own custom build systems. The
+main reason for that is that Vagrant uses Virtualbox by default, while
+all of us (and our infrastructure, e.g. our Jenkins automated builds
+and tests setup) greatly prefer the QEMU/KVM stack (and libvirt), and
+it is not possible to mix two hypervisors at the same time.
+
+But this is about to change! Recently there's been quite an effort to
+[[!tails_ticket 6354 desc="migrate to vagrant-libvirt and the QEMU/KVM hypervisor"]]
+which should allow all of us to converge to the same build
+system. Besides saving development time since only one system has to
+be maintained, it also means that this build system will be
+well-maintained in the future, and so remain easy-to-use for
+contributors.
+
+There are a few roadblocks still, though, but you can help, especially
+if you are a Debian developer! Currently we need vagrant-libvirt (and
+ruby-fog-libvirt) packaged and maintained in Debian, and
+[quite a lot of work](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=753012)
+has already been done on that front. And to have the build system
+working on Debian Jessie we need the following packages backported:
+vagrant, ruby-excon, ruby-fog-core and ruby-fog-xml. If you want to
+help, please get in touch with us on the
+[tails-dev@boum.org public mailing list](https://mailman.boum.org/listinfo/tails-dev/)!
+
+Documentation and website
+=========================
+
+* The blueprint for [[Porting Tails to Debian Stretch|blueprint/Debian_Stretch]] has been updated.
+
+* Multiple commits where made to speed up the build process of the website
+
+
+User experience
+===============
+
+- We are working on replacing Vidalia (which has been unmaintained for years) with: (Closes: [[!tails_ticket 6841]])
+ * the Tor Status GNOME Shell extension, which adds a System Status
+ * [Onion Circuits] (https://tracker.debian.org/pkg/onioncircuits), a simple Tor circuit monitoring tool.
+
+* Hide "Laptop Mode Tools Configuration" menu entry. We don't support configuring l-m-t in Tails, and it doesn't work out of the box. (Closes: [[!tails_ticket 11074]])
+
+* There is now a blueprint for [[Porting Tails Installer to OS X|blueprint/Port_Tails_Installer_to_OS_X/]]
+
+* We're now also publishing torrents for betas and RCs (Closes: [[!tails_ticket 11126]])
+
+Infrastructure
+==============
+
+* The ISO build system has been [upgraded to jessie](https://mailman.boum.org/pipermail/tails-dev/2016-February/010323.html)
+
+* Our test suite covers 208 scenarios
+
+* In February 603 ISO images were automatically built and 597 were automatically tested by our continuous integration infrastructure.
+
+Funding
+=======
+
+XXX: Look at the fundraising Git.
+
+ gitk --all --since='1 December' --until='1 January' origin/master
+
+XXX: Look at the <tails-fundraising@boum.org> and <tails-accounting@boum.org> archives.
+
+Outreach
+========
+
+Events
+-----------
+
+- Some of us where present at the [Tor Winter Dev Meeting 2016](https://trac.torproject.org/projects/tor/wiki/org/meetings/2016WinterDevMeeting)
+- Participation at the [Internet Freedom Festival](https://internetfreedomfestival.org/) with one Workshop on translating Tails to spanish and
+one Workshop on the User experience of configuring Tor in Tails (and Tor Browser and Whonix)
+- There will be a Tails 2.2 release party at [TetaLab](https://www.tetalab.org/), March 8th at 18:00 in Toulouse, France.
+
+On-going discussions
+====================
+
+* A discussion about [[!tails_ticket 11162 desc="Creating personas to visualize our user base"]] has been started
+* The discussion about [[persistent Tor state |blueprint/persistent_Tor_state/]] is still ongoing
+* A blueprint about [[Endless upgrades|blueprint/Endless_upgrades/]] has been added
+* A blueprint about [[ARM platforms|blueprint/ARM_platforms/]] has been added
+* Research on [[porting the tails installer to windows|blueprint/Port_Tails_Installer_to_Windows/]] has been done [[!tails_ticket 8558]]
+
+Press and testimonials
+======================
+
+* 2016-02-25: [Tails official mysterious during interview](http://www.networkworld.com/article/3038059/open-source-tools/tails-official-mysterious-during-interview.html) by Bryan Lunduke in Network World.
+* 2016-02-11: [Tails Installer is now in Debian](https://bits.debian.org/2016/02/tails-installer-in-debian.html) in bits.debian.org.
+
+Translation
+===========
+
+All website PO files
+====================
+
+ - de: 43% (2456) strings translated, 4% strings fuzzy, 39% words translated
+ - fa: 51% (2933) strings translated, 5% strings fuzzy, 58% words translated
+ - fr: 54% (3075) strings translated, 5% strings fuzzy, 57% words translated
+ - pt: 28% (1641) strings translated, 7% strings fuzzy, 28% words translated
+
+Total original words: 57704
+
+[[Core PO files|contribute/l10n_tricks/core_po_files.txt]]
+==========================================================
+
+ - de: 88% (1210) strings translated, 7% strings fuzzy, 87% words translated
+ - fa: 80% (1100) strings translated, 11% strings fuzzy, 74% words translated
+ - fr: 81% (1116) strings translated, 9% strings fuzzy, 77% words translated
+ - pt: 71% (974) strings translated, 16% strings fuzzy, 68% words translated
+
+Total original words: 14624
+
+Metrics
+=======
+
+* Tails has been started more than 547.670 times this month. This makes 18.885 boots a day on average.
+* 21378 downloads of the OpenPGP signature of Tails ISO from our website.
+* 138 bug reports were received through WhisperBack.
diff --git a/wiki/src/blueprint/monthly_report/report_2016_03.mdwn b/wiki/src/blueprint/monthly_report/report_2016_03.mdwn
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wiki/src/blueprint/monthly_report/report_2016_03.mdwn
diff --git a/wiki/src/blueprint/monthly_report/report_2016_04.mdwn b/wiki/src/blueprint/monthly_report/report_2016_04.mdwn
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wiki/src/blueprint/monthly_report/report_2016_04.mdwn
diff --git a/wiki/src/blueprint/monthly_report/report_2016_05.mdwn b/wiki/src/blueprint/monthly_report/report_2016_05.mdwn
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wiki/src/blueprint/monthly_report/report_2016_05.mdwn
diff --git a/wiki/src/blueprint/network_connection.mdwn b/wiki/src/blueprint/network_connection.mdwn
index 90bc8ca..9dda1e6 100644
--- a/wiki/src/blueprint/network_connection.mdwn
+++ b/wiki/src/blueprint/network_connection.mdwn
@@ -4,13 +4,13 @@ This is about [[!tails_ticket 10491]].
- Original post-its by Lunar:
- <a href="https://labs.riseup.net/code/attachments/download/1036/20151002-lunar.jpg"><img src="https://labs.riseup.net/code/attachments/download/1036/20151002-lunar.jpg" width="300px"></a>
+ <a href="https://labs.riseup.net/code/attachments/download/1250/2015.10.02.jpg"><img src="https://labs.riseup.net/code/attachments/download/1250/2015.10.02.jpg" width="300px"></a>
<https://mailman.boum.org/pipermail/tails-dev/2015-October/009593.html>
- Digital rewrite by Spencer:
- <a href="https://labs.riseup.net/code/attachments/download/1099/20151204.png"><img src="https://labs.riseup.net/code/attachments/download/1099/20151204.png" width="300px"></a>
+ <a href="https://labs.riseup.net/code/attachments/download/1251/2015.12.04.png"><img src="https://labs.riseup.net/code/attachments/download/1251/2015.12.04.png" width="300px"></a>
<https://mailman.boum.org/pipermail/tails-ux/2015-December/000812.html>
@@ -71,6 +71,11 @@ Open questions
- Lunar's proposal: as a detached windows
- other possibility: invisible browser by default, can be displayed again somehow
+ - Do we want to tell people about entry guards? For example, feedback
+ the entry guard to be selected before connecting? Random entry
+ guards are bad for security but persistent entry guards can ease
+ tracking.
+
Related work
============
diff --git a/wiki/src/blueprint/persistence_iceweasel_client_certificates_preset.mdwn b/wiki/src/blueprint/persistence_iceweasel_client_certificates_preset.mdwn
index e9bef15..6312036 100644
--- a/wiki/src/blueprint/persistence_iceweasel_client_certificates_preset.mdwn
+++ b/wiki/src/blueprint/persistence_iceweasel_client_certificates_preset.mdwn
@@ -1,50 +1,15 @@
-Persistence of client certificates in the browser would make their use a lot easier
+This is about [[!tails_ticket 5976]].
-Research
-========
+Persistence of client certificates and CAs in the browser would make their use a lot easier.
-Import method
--------------
+What should be saved
+====================
-The same approach than with bookmarks seems to be working. Candidate files are `key3.db` and/or `cert8.db` and/or `secmod.db` (<http://www-archive.mozilla.org/projects/security/pki/nss/db_formats.html>). These filenames seems to be subject to change without a notice.
+The same approach than with bookmarks seems to be working, and we would need to persist the `cert8.db` file, which is the NSS database used to store CA and certificate information in general (this file stores all your security certificate settings and any SSL certificates you have imported into Firefox.)
-Another approach would be to use `pk12util` (from `nss3-tools` package, see <https://developer.mozilla.org/en-US/docs/NSS/Tools>) to import client cert (<https://developer.mozilla.org/en-US/docs/NSS/tools/NSS_Tools_pk12util>). See also `certutil` to import certificates (<http://wiki.wmtransfer.com/projects/webmoney/wiki/Installing_personal_certificate_in_Mozilla_Firefox> : <https://developer.mozilla.org/en-US/docs/NSS_reference/NSS_tools_:_certutil>)
+(It was considered at some point to switch to key4 and cert9, but it never happened for Firefox desktop)
-According to
-<https://support.mozilla.org/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile>:
+How can we save it?
+===================
- - `key3.db` - This file stores your key database for your passwords.
- - `cert8.db` - This file stores all your security certificate settings
- and any SSL certificates you have imported into Firefox.
-
-It's being replaced by a sqlite database.
-
-One is asked passwords when importing client certificates. The [Python
-binding for
-NSS](https://www.mozilla.org/projects/security/pki/python-nss/)
-([Python
-API](http://people.redhat.com/jdennis/python-nss/doc/api/html/), [C
-API](https://developer.mozilla.org/en-US/docs/NSS#NSS_APIs)) should
-allow to do roughly the same as `pk12util` or `certutil`, but ask for
-the password graphically. But perhaps there's a GUI available
-somewhere already?
-
-If the certificate is not in PKCS #12 format, the certutil tool can be
-used to convert it.
-
-User experience
----------------
-
-### NSS database upgrade
-
-certutil has a `--upgrade-merge` feature to *Upgrade an old database
-and merge it into a new database. This is used to migrate legacy NSS
-databases (cert8.db and key3.db) into the newer SQLite databases
-(cert9.db and key4.db).* that might be handy.
-
-However, certain certutil versions (e.g. 3.15) refuse to read or write
-any too old databases, such as the one Firefox 17 generates and uses
-with NSS 3.14.3 backported from Wheezy. We'll presumably always have
-to ship NSS and Firefox in sync' in Tails anyway. So, if we use
-certutil to perform the upgrade, then we and/or users will have to
-ensure it's done during the transition period, assuming there's one.
+A new persistence option needs to be created, to allow the persistence of browser certificates and CAs. It will need to do a `bind-mount` of the persisted files. This needs to be done in the "live-boot" debian project.
diff --git a/wiki/src/blueprint/persistent_Tor_state.mdwn b/wiki/src/blueprint/persistent_Tor_state.mdwn
index b08337d..e0b26de 100644
--- a/wiki/src/blueprint/persistent_Tor_state.mdwn
+++ b/wiki/src/blueprint/persistent_Tor_state.mdwn
@@ -194,11 +194,7 @@ less fingerprintable.
persisted, and possibly proposing to enable this setting for them).
* Persist the Tor `state` file only (not the consensus etc.)
* Name of the persistent Tor state file to be used:
- `hash(per-Tails device secret, N bits of location-based information, SSID)`.
- By adding the SSID, we prevent attackers from being able to spoof only
- the MAC address of the router to reuse a given Tor state; they also