Commit 0025d638 authored by Tails developers's avatar Tails developers
Browse files

Merge remote-tracking branch 'origin/feature/tails-bugs' into stable

parents d294fe5b 667d5ed1
set -e
# Remove pidgin's (libpurple's) MSN support, that is affected by
# security issues far too often.
echo "removing pidgin MSN support"
dpkg -L libpurple0 | grep '/$' | xargs rm
set -e
# Remove pidgin's (libpurple's) mxit support, until CVE-2013-0272 and
# CVE-2013-0271 are fixed in the version of Debian Tails is built upon.
echo "removing pidgin mxit support"
dpkg -L libpurple0 | grep '/$' | xargs rm
set -e
# Remove pidgin's (libpurple's) sametime support, until CVE-2013-0273
# is fixed in the version of Debian Tails is built upon.
echo "removing pidgin sametime support"
dpkg -L libpurple0 | grep '/$' | xargs rm
set -e
# Remove pidgin's (libpurple's) support for protocols we don't support.
echo "removing Pidgin libraries for protocols we do not support"
find /usr/lib/purple-2/ -name 'lib*.so' \
| /bin/grep -Ev "/lib($KEEP)\.so" \
| xargs rm
......@@ -50,7 +50,7 @@ pref("browser.display.max_font_count", 5);
pref("gfx.downloadable_fonts.fallback_delay", -1);
pref("general.appname.override", "Netscape");
pref("general.appversion.override", "5.0 (Windows)");
pref("general.buildID.override", "0");
pref("general.buildID.override", "20130618114625");
pref("general.oscpu.override", "Windows NT 6.1");
pref("general.platform.override", "Win32");
pref("general.productSub.override", "20100101");
......@@ -59,7 +59,7 @@ pref("general.useragent.vendor", "");
pref("general.useragent.vendorSub", "");
pref("dom.enable_performance", false);
pref("plugin.expose_full_path", false);
pref("browser.startup.homepage_override.buildID", "20110325121920");
pref("browser.startup.homepage_override.buildID", "20130618114625");
pref("browser.startup.homepage_override.mstone", "rv:2.0");
pref("browser.zoom.siteSpecific", false);
......@@ -90,6 +90,7 @@ pref("browser.history_expire_days", 0);
pref("browser.history_expire_days.mirror", 0);
pref("browser.microsummary.updateGenerators", false);
pref("browser.safebrowsing.remoteLookups", false);
pref("", false);
pref("browser.sessionstore.enabled", false);
pref("extensions.shownSelectionUI", true);
pref("extensions.update.autoUpdateDefault", false);
......@@ -9,6 +9,7 @@ user_pref("extensions.adblockplus.subscriptions_autoupdate", false);
user_pref("extensions.https_everywhere._observatory.enabled", false);
user_pref("extensions.https_everywhere._observatory.popup_shown", true);
user_pref("extensions.https_everywhere.toolbar_hint_shown", true);
// Block read and write access to the history in non-Tor mode
user_pref("extensions.torbutton.block_nthread", true);
......@@ -116,6 +117,7 @@ user_pref("noscript.forbidMedia", false);
user_pref("noscript.forbidWebGL", true);
user_pref("", true);
user_pref("noscript.gtemp", "");
user_pref("noscript.notify", false);
user_pref("noscript.opacizeObject", 3);
user_pref("noscript.options.tabSelectedIndexes", "5,0,0");
user_pref("noscript.policynames", "");
......@@ -124,9 +126,9 @@ user_pref("noscript.showAllowPage", false);
user_pref("noscript.showBaseDomain", false);
user_pref("noscript.showDistrust", false);
user_pref("noscript.showRecentlyBlocked", false);
user_pref("noscript.showRevokeTemp", false);
user_pref("noscript.showRevokeTemp", true);
user_pref("noscript.showTemp", false);
user_pref("noscript.showTempAllowPage", false);
user_pref("noscript.showTempAllowPage", true);
user_pref("noscript.showTempToPerm", false);
user_pref("noscript.showUntrusted", false);
user_pref("noscript.STS.enabled", false);
......@@ -18,6 +18,7 @@ unsafe_ssl_certs=0
......@@ -23,7 +23,7 @@
<setting name='ssl' type='bool'>1</setting>
<settings ui='gtk-gaim'>
<setting name='auto-login' type='bool'>1</setting>
<setting name='auto-login' type='bool'>0</setting>
......@@ -89,10 +89,10 @@ gnupg_keyring = "/usr/share/keyrings/tails-keyring.gpg"
# This section defines the recepient parameters
# The address of the recipient
to_address = ""
to_address = ""
# The fingerprint of the recipient's GPG key
to_fingerprint = "09F6BC8FEEC9D8EE005DBAA41D2975EDF93E735F"
to_fingerprint = "1F56EDD30741048035DAC1C5EC57B56EF0C43132"
......@@ -33,6 +33,13 @@ Install_TrueCrypt ()
expect "Press Enter to exit..."
send "\n"
# Activate TrueCrypt deprecation wrapper
cp /usr/share/tails/truecrypt-wrapper.disabled /usr/local/bin/truecrypt
# Monkey patch the truecrypt.desktop file to show the greeter
sed -i 's,/usr/bin/truecrypt,/usr/local/bin/truecrypt,' /usr/share/applications/truecrypt.desktop
......@@ -11,14 +11,19 @@ PACKAGES_LIST_FILE="live-additional-software.conf"
def _launch_apt_get(args):
def _launch_apt_get(specific_args):
"""Launch apt-get with given args
Launch apt-get with given arguments list, log its standard and error output
and return its returncode"""
apt_get_env = os.environ.copy()
# The environnment provided in GDM PostLogin hooks doesn't contain /sbin/
# which is required by dpkg. Let's use the default path for root in Tails.
apt_get_env['PATH'] = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
apt_get_env['LANG'] = "C" # we will log the output and want it in English when included in bug reports
# We will log the output and want it in English when included in bug reports
apt_get_env['LANG'] = "C"
args = ["apt-get", "--quiet", "--yes"]
apt_get = subprocess.Popen(
......@@ -36,10 +41,23 @@ def _launch_apt_get(args):
def _notify(title, body):
"""Display a notification to the user of the live system
cmd = "/usr/local/sbin/tails-notify-user"
subprocess.check_call(["/usr/local/sbin/tails-notify-user", title, body])
syslog.syslog(syslog.LOG_WARNING, "Warning: unable to notify the user. The notification was: %s %s" % (title, body))
# XXX: replace with check_output when Tails will be based on Wheezy
# (which includes Python 2.7)
notify_user = subprocess.Popen([cmd, title, body],
stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
notify_user_output =
if notify_user.returncode != 0:
syslog.syslog(syslog.LOG_WARNING, "Warning: unable to notify the user. %s returned with exit code %s"
% (cmd, notify_user.returncode))
syslog.syslog(syslog.LOG_WARNING, "%s output follows: %s."
% (cmd, notify_user_output))
syslog.syslog(syslog.LOG_WARNING, "The notification was: %s %s" % (title, body))
except OSError, e:
syslog.syslog(syslog.LOG_WARNING, "Warning: unable to notify the user. %s" % e)
syslog.syslog(syslog.LOG_WARNING, "The notification was: %s %s" % (title, body))
def get_additional_packages_lists():
"""Returns the paths of additional packageslists
......@@ -59,7 +77,8 @@ def get_additional_packages():
for package_list in get_additional_packages_lists():
with open(package_list) as f:
for line in f:
line = line.strip()
if line: packages.append(line)
return packages
......@@ -70,16 +89,13 @@ def install_additional_packages():
if not get_additional_packages_lists():
syslog.syslog(syslog.LOG_WARNING, "Warning: no additional software configured, exiting.")
return True
packages = get_additional_packages()
if not packages:
syslog.syslog(syslog.LOG_WARNING, "Warning: no packages to install, exiting")
return True
syslog.syslog("Will install the following packages: %s" % " ".join(packages))
apt_get_returncode = _launch_apt_get(["apt-get",
apt_get_returncode = _launch_apt_get(["--no-remove",
"--option", "DPkg::Options::=--force-confold",
"install"] + packages)
if apt_get_returncode:
......@@ -96,10 +112,7 @@ def upgrade_additional_packages():
syslog.syslog(syslog.LOG_WARNING, "Warning: additional packages not activated, exiting")
return True
syslog.syslog("Starting to upgrade additional software...")
apt_get_returncode = _launch_apt_get(["apt-get",
apt_get_returncode = _launch_apt_get(["update"])
if apt_get_returncode:
syslog.syslog(syslog.LOG_WARNING, "Warning: the update failed.")
_notify(_("Your additional software"),
# Deprecation wrapper for TrueCrypt
# This file will be installed in /usr/bin if TrueCrypt is enabled at boot
zenity --warning --title="`gettext \"TrueCrypt will soon be removed from Tails\"`" \
--text="`gettext \"TrueCrypt will soon be removed from Tails due to license and development concerns.\"`"
exec /usr/bin/truecrypt
......@@ -160,7 +160,6 @@ openssh-client
......@@ -285,6 +284,8 @@ gnome-mag
## high-contrast theme
## graphical predictive text input system
### Dictionaries and spell checking
tails (0.21) UNRELEASED; urgency=low
* Upcoming release.
-- Tails developers <> Fri, 09 Aug 2013 15:52:01 +0200
tails (0.20) unstable; urgency=low
* Major new features
- Install Linux kernel 3.10.3-1 from Debian unstable.
- Iceweasel 17.0.8esr + Torbrowser patches.
* Bugfixes
- Prevent Iceweasel from displaying a warning when leaving HTTPS web sites.
- Make Iceweasel use the correct, localized search engine.
- Fix Git access to https:// repositories.
* Minor improvements
- Install Dasher, a predictive text entry tool.
- Add a wrapper around TrueCrypt which displays a warning about it soon
being deprecated in Tails.
- Remove Pidgin libraries for all protocols but IRC and Jabber/XMPP.
Many of the other protocols Pidgin support are broken in Tails and
haven't got any security auditting.
- Disable the pre-defined Pidgin accounts so they do not auto-connect
on Pidgin start.
- Include information about Alsa in WhisperBack reports.
- Explicitly restrict access to ptrace. While this setting was enabled
by default in Debian's Linux 3.9.6-1, it will later disabled in 3.9.7-1.
It's unclear what will happen next, so let's explicitly enable it ourselves.
- Do not display dialog when a message is sent in Claws Mail.
- Sync iceweasel preferences with the Torbrowser's.
* Localization
- Many translation updates all over the place.
- Merge all Tails-related POT files into one, and make use of intltoolize
for better integration with Transifex.
-- Tails developers <> Tue, 30 Jul 2013 14:19:57 +0200
tails (0.19) unstable; urgency=low
* Major new features
def persistent_dirs
......@@ -8,7 +7,6 @@ def persistent_dirs
......@@ -132,11 +130,6 @@ Given /^I enable all persistence presets$/ do
10.times do
@screen.type(" \t")
# Now we'll have the custom persistence field selected
@screen.type('a', Sikuli::KEY_ALT)
@screen.type('a', Sikuli::KEY_ALT)
@screen.wait_and_click('PersistenceWizardSave.png', 10)
@screen.wait('PersistenceWizardDone.png', 20)
@screen.type(Sikuli::KEY_F4, Sikuli::KEY_ALT)
......@@ -9,6 +9,7 @@ tmp/pot/tails-security-check.pot
# Files updated by intltool-update
......@@ -57,7 +57,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-23 18:07+0200\n"
"POT-Creation-Date: 2013-08-07 14:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <>\n"
......@@ -291,20 +291,20 @@ msgstr ""
msgid "About Tails"
msgstr ""
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:105
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:109
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:113
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:118
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:122
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:126
msgid "Your additional software"
msgstr ""
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:106
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:114
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:119
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:127
msgid ""
"The upgrade failed. This might be due to a network problem. Please check "
"your network connexion or try to restart Tails."
msgstr ""
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:110
#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:123
msgid "The upgrade was successful."
msgstr ""
......@@ -458,6 +458,16 @@ msgid ""
msgstr ""
#: config/chroot_local-includes/usr/share/tails/truecrypt-wrapper.disabled:11
msgid "TrueCrypt will soon be removed from Tails"
msgstr ""
#: config/chroot_local-includes/usr/share/tails/truecrypt-wrapper.disabled:12
msgid ""
"TrueCrypt will soon be removed from Tails due to license and development "
msgstr ""
#: ../config/chroot_local-includes/etc/skel/Desktop/
msgid "Report a Bug"
msgstr ""
# This file is distributed under the same license as the PACKAGE package.
# Translators:
# andersd <>, 2013
# litr, 2013
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-07 14:06+0200\n"
"PO-Revision-Date: 2013-08-05 20:10+0000\n"
"Last-Translator: andersd <>\n"
"Language-Team: Danish ("
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: config/chroot_local-includes/etc/whisperback/
#, python-format
msgid ""
"<h1>Help us fix your bug!</h1>\n"
"<p>Read <a href=\"%s\">our bug reporting instructions</a>.</p>\n"
"<p><strong>Do not include more personal information than\n"
"<h2>About giving us an email address</h2>\n"
"<p>If you don't mind disclosing some bits of your identity\n"
"to Tails developers, you can provide an email address to\n"
"let us ask more details about the bug. Additionally entering\n"
"a public PGP key enables us to encrypt such future\n"
"<p>Anyone who can see this reply will probably infer you are\n"
"a Tails user. Time to wonder how much you trust your\n"
"Internet and mailbox providers?</p>\n"
msgstr ""
"<h1>Hjælp os med at rette dine fejl!</h1>\n"
"<p>Se <a href=\"%s\">vores instruktioner vedrørende rapportering af fejl</a>."
"<p><strong>Inkluder ikke flere personlige oplysninger en højest nødvendigt!</"
"<h2>Om oplysning af din e-mail adresse</h2>\n"
"<p>Hvis du ikke har noget imod at oplyse en del af din identitet til Tails-"
"udviklerne, kan du oplyse din e-mail adresse så vi kan spørge ind til din "
"fejl. Hvis du indtaster din offentlige PGP nøgle, kan vi kryptere fremtidig "
"<p>Enhver som kan se dette svar, kan udlede at du bruger Tails. I hvor høj "
"grad kan du stole på din Internet og mail-udbyder?</p>\n"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:136
msgid "OpenPGP encryption applet"
msgstr "OpenPGP krypteringsprogram"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:139
msgid "Exit"
msgstr "Afslut"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:141
msgid "About"
msgstr "Om"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:192
msgid "Encrypt Clipboard with _Passphrase"
msgstr "Krypter udklipsholderen med _Adgangskode"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:195
msgid "Sign/Encrypt Clipboard with Public _Keys"
msgstr "Signer/Krypter udklipsholderen med offentlig nøgle"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:200
msgid "_Decrypt/Verify Clipboard"
msgstr "Dekrypter/Verificer udklipsholder"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:204
msgid "_Manage Keys"
msgstr "_Administrer nøgler"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:244
msgid "The clipboard does not contain valid input data."
msgstr "Udklipsholderen indeholder ikke gyldigt input data."
#: config/chroot_local-includes/usr/local/bin/gpgApplet:294
#: config/chroot_local-includes/usr/local/bin/gpgApplet:296
#: config/chroot_local-includes/usr/local/bin/gpgApplet:298
msgid "Unknown Trust"
msgstr "Ukendt troværdighed"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:300
msgid "Marginal Trust"
msgstr "Marginal troværdighed"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:302
msgid "Full Trust"
msgstr "Fuld troværdighed"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:304
msgid "Ultimate Trust"
msgstr "Ultimativ troværdighed"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:357
msgid "Name"
msgstr "Navn"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:358
msgid "Key ID"
msgstr "Nøgle ID"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:359
msgid "Status"
msgstr "Status"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:391
msgid "Fingerprint:"
msgstr "Fingeraftryk:"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:394
msgid "User ID:"
msgid_plural "User IDs:"
msgstr[0] "Bruger IDere"
msgstr[1] "Bruger IDere"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:424
msgid "None (Don't sign)"
msgstr "Ingen (Signer ikke)"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:487
msgid "Select recipients:"
msgstr "Vælg modtagere:"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:495
msgid "Hide recipients"
msgstr "Skjul modtagere:"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:498
msgid ""
"Hide the user IDs of all recipients of an encrypted message. Otherwise "
"anyone that sees the encrypted message can see who the recipients are."
msgstr ""
"Skjul bruger ID'erne af alle modtagere af en krypteret besked. Ellers kan "
"alle der ser den krypterede besked hvem modtagerne er."
#: config/chroot_local-includes/usr/local/bin/gpgApplet:504
msgid "Sign message as:"
msgstr "Signer beskeden som:"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:508
msgid "Choose keys"
msgstr "Vælg nøgler"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:548
msgid "Do you trust these keys?"
msgstr "Stoler du på disse nøgler?"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:551
msgid "The following selected key is not fully trusted:"
msgid_plural "The following selected keys are not fully trusted:"
msgstr[0] "Stoler ikke fuldt på de følgende nøgler:"
msgstr[1] "Stoler ikke fuldt på de følgende nøgler:"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:569
msgid "Do you trust this key enough to use it anyway?"
msgid_plural "Do you trust these keys enough to use them anyway?"
msgstr[0] ""
"Stoler du tilstrækkeligt på disse nøgler til alligevel at anvende dem?"
msgstr[1] ""
"Stoler du tilstrækkeligt på disse nøgler til alligevel at anvende dem?"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:582
msgid "No keys selected"
msgstr "Ingen nøgler valgte"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:584
msgid ""
"You must select a private key to sign the message, or some public keys to "
"encrypt the message, or both."
msgstr ""
"Du skal vælge en privat nøgle til at signere beskeden, eller nogle "
"offentlige nøgler til at kryptere beskeden, eller begge."
#: config/chroot_local-includes/usr/local/bin/gpgApplet:612
msgid "No keys available"
msgstr "Ingen nøgler tilgængelige"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:614
msgid ""
"You need a private key to sign messages or a public key to encrypt messages."
msgstr ""
"Du skal bruge en privat nøgle til at signere beskeder eller en offentlig "
"nøgle til at kryptere dem."
#: config/chroot_local-includes/usr/local/bin/gpgApplet:742
msgid "GnuPG error"
msgstr "GnuPG fejl"
#: config/chroot_local-includes/usr/local/bin/gpgApplet:763
msgid "Therefore the operation cannot be performed."
msgstr "Derfor kan denne handling ikke udføres."
#: config/chroot_local-includes/usr/local/bin/gpgApplet:813
msgid "GnuPG results"
msgstr "GnuPG resultater"