Commit 136db50c authored by Tails developers's avatar Tails developers
Browse files

WIP: Rename the Tor Browser "download" directory, again. And add automated...

WIP: Rename the Tor Browser "download" directory, again. And add automated tests for the Tor Browser.

The idea is to make sure that the AppArmor confinement doesn't break too much
functionality, and actually confines the browser a bit.

Sorry for the non-atomic commit: getting directory name changing under my feet
while the automated tests are being drafted made it too hard to split this in
a nice way.
parent 6fd7404b
......@@ -59,7 +59,7 @@ pref("noscript.forbidPlugins", true);
pref("noscript.untrusted", "google-analytics.com");
// Other non-Torbutton, Tails-specific prefs
pref("browser.download.dir", "/home/amnesia/Tor Browser files");
pref("browser.download.dir", "/home/amnesia/Tor Browser");
pref("browser.download.folderList", 2);
pref("browser.download.manager.closeWhenDone", true);
pref("extensions.update.enabled", false);
......
[Desktop Entry]
Name=create-tor-browser-directories
GenericName=Create the Tor Browser directories
Comment=Create the Tor Browser amnesiac and persistent directories
Exec=/usr/local/lib/create-tor-browser-directories
Terminal=false
Type=Application
Categories=GNOME;X-GNOME-PersonalSettings;
NoDisplay=true
MimeType=application/x-create-tor-browser-directories;
[Desktop Entry]
Name=create-tor-browser-files-directories
GenericName=Create the Tor Browser files directories
Comment=Create the Tor Browser files amnesiac and persistent directories
Exec=/usr/local/lib/create-tor-browser-files-directories
Terminal=false
Type=Application
Categories=GNOME;X-GNOME-PersonalSettings;
NoDisplay=true
MimeType=application/x-create-tor-browser-files-directories;
......@@ -16,13 +16,13 @@ add_gtk_bookmark_for() {
fi
}
add_gtk_bookmark_for "${HOME}/Tor Browser files"
add_gtk_bookmark_for "${HOME}/Tor Browser"
if persistence_is_enabled_for "${HOME}/Persistent" ; then
add_gtk_bookmark_for "${HOME}/Persistent"
if persistence_is_enabled_read_write ; then
add_gtk_bookmark_for "${HOME}/Persistent/Tor Browser files" \
"Tor Browser files (persistent)"
add_gtk_bookmark_for "${HOME}/Persistent/Tor Browser" \
"Tor Browser (persistent)"
fi
fi
......@@ -2,8 +2,8 @@
set -eu
TOR_BROWSER_AMNESIAC_DIR='/home/amnesia/Tor Browser files'
TOR_BROWSER_PERSISTENT_DIR='/home/amnesia/Persistent/Tor Browser files'
TOR_BROWSER_AMNESIAC_DIR='/home/amnesia/Tor Browser'
TOR_BROWSER_PERSISTENT_DIR='/home/amnesia/Persistent/Tor Browser'
. /usr/local/lib/tails-shell-library/tails-greeter.sh
......
diff --git a/apparmor/torbrowser.Browser.firefox b/apparmor/torbrowser.Browser.firefox
index 0df7ad9..203cc11 100644
index 0df7ad9..e0dbd82 100644
--- a/apparmor/torbrowser.Browser.firefox
+++ b/apparmor/torbrowser.Browser.firefox
@@ -1,13 +1,15 @@
......@@ -73,10 +73,10 @@ index 0df7ad9..203cc11 100644
+ /usr/local/lib/tor-browser/browser/* r,
+ /usr/local/lib/tor-browser/TorBrowser/Data/Browser/profiles.ini r,
+
+ owner "@{HOME}/Tor Browser files/" rw,
+ owner "@{HOME}/Tor Browser files/**" rwk,
+ owner "/live/persistence/TailsData_unlocked/Persistent/Tor Browser files/" rw,
+ owner "/live/persistence/TailsData_unlocked/Persistent/Tor Browser files/**" rwk,
+ owner "@{HOME}/Tor Browser/" rw,
+ owner "@{HOME}/Tor Browser/**" rwk,
+ owner "/live/persistence/TailsData_unlocked/Persistent/Tor Browser/" rw,
+ owner "/live/persistence/TailsData_unlocked/Persistent/Tor Browser/**" rwk,
+ owner @{HOME}/.mozilla/firefox/bookmarks/places.sqlite rwk,
+ owner /live/persistence/TailsData_unlocked/bookmarks/places.sqlite rwk,
+ owner @{HOME}/.tor-browser/profile.default/ r,
......
......@@ -722,9 +722,30 @@ When /^I run "([^"]+)" in GNOME Terminal$/ do |command|
@screen.type(command + Sikuli::Key.ENTER)
end
When /^the file "([^"]+)" exists$/ do |file|
When /^the file "([^"]+)" exists(?:| after at most (\d+) seconds)$/ do |file, timeout|
next if @skip_steps_while_restoring_background
timeout = 0 if timeout.nil?
try_for(
timeout.to_i,
:msg => "The file #{file} does not exist after #{timeout} seconds"
) {
@vm.file_exist?(file)
}
end
When /^the file "([^"]+)" does not exist$/ do |file|
next if @skip_steps_while_restoring_background
assert(! (@vm.file_exist?(file)))
end
When /^the directory "([^"]+)" exists$/ do |directory|
next if @skip_steps_while_restoring_background
assert(@vm.file_exist?(file))
assert(@vm.directory_exist?(directory))
end
When /^the directory "([^"]+)" does not exist$/ do |directory|
next if @skip_steps_while_restoring_background
assert(! (@vm.directory_exist?(directory)))
end
When /^I copy "([^"]+)" to "([^"]+)" as user "([^"]+)"$/ do |source, destination, user|
......@@ -789,3 +810,112 @@ When /^I press the "([^"]+)" key$/ do |key|
raise "unsupported key #{key}"
end
end
Then /^the (amnesiac|persistent) Tor Browser directory (exists|does not exist)$/ do |persistent_or_not, mode|
case persistent_or_not
when "amnesiac"
dir = '/home/amnesia/Tor Browser'
when "persistent"
dir = '/home/amnesia/Persistent/Tor Browser'
end
step "the directory \"#{dir}\" #{mode}"
end
Then /^there is a GNOME bookmark for the (amnesiac|persistent) Tor Browser directory$/ do |persistent_or_not|
case persistent_or_not
when "amnesiac"
bookmark_image = 'TorBrowserAmnesicFilesBookmark.png'
when "persistent"
bookmark_image = 'TorBrowserPersistentFilesBookmark.png'
end
@screen.wait_and_click('GnomePlaces.png', 10)
@screen.wait(bookmark_image, 40)
@screen.type(Sikuli::Key.ESC)
end
def pulseaudio_sink_inputs
pa_info = @vm.execute_successfully('pacmd info', $live_user).stdout
sink_inputs_line = pa_info.match(/^\d+ sink input\(s\) available\.$/)[0]
return sink_inputs_line.match(/^\d+/)[0].to_i
end
When /^(no|\d+) application(?:s?) (?:is|are) playing audio(?:| after (\d+) seconds)$/ do |nb, wait_time|
next if @skip_steps_while_restoring_background
nb = 0 if nb == "no"
sleep wait_time.to_i if ! wait_time.nil?
assert_equal(nb.to_i, pulseaudio_sink_inputs)
end
When /^I double-click on the "Tails documentation" link on the Desktop$/ do
next if @skip_steps_while_restoring_background
@screen.wait_and_double_click("DesktopTailsDocumentationIcon.png", 10)
end
When /^I click the blocked video icon$/ do
next if @skip_steps_while_restoring_background
@screen.wait_and_click("TorBrowserBlockedVideo.png", 30)
end
When /^I accept to temporarily allow playing this video$/ do
next if @skip_steps_while_restoring_background
@screen.wait_and_click("TorBrowserOkButton.png", 10)
end
When /^I click the HTML5 play button$/ do
next if @skip_steps_while_restoring_background
@screen.wait_and_click("TorBrowserHtml5PlayButton.png", 30)
end
When /^I can save the current page as "([^"]+[.]html)" to the (default downloads|persistent Tor Browser) directory$/ do |output_file, output_dir|
next if @skip_steps_while_restoring_background
@screen.type("s", Sikuli::KeyModifier.CTRL)
if output_dir == "persistent Tor Browser"
output_dir = "/home/amnesia/Persistent/Tor Browser"
@screen.wait_and_click("GtkTorBrowserPersistentBookmark.png", 10)
@screen.wait("GtkTorBrowserPersistentBookmarkSelected.png", 10)
# The output filename (without its extension) is already selected,
# let's use the keyboard shortcut to focus its field
@screen.type("n", Sikuli::KeyModifier.ALT)
@screen.wait("TorBrowserSaveOutputFileSelected.png", 10)
else
output_dir = "/home/amnesia/Tor Browser"
end
# Only the part of the filename before the .html extension can be easily replaced
# so we have to remove it before typing it into the arget filename entry widget.
@screen.type(output_file.sub(/[.]html$/, ''))
@screen.type(Sikuli::Key.ENTER)
try_for(10, :msg => "The page was not saved to #{output_dir}/#{output_file}") {
@vm.file_exist?("#{output_dir}/#{output_file}")
}
end
When /^I can print the current page as "([^"]+[.]pdf)" to the (default downloads|persistent Tor Browser) directory$/ do |output_file, output_dir|
next if @skip_steps_while_restoring_background
if output_dir == "persistent Tor Browser"
output_dir = "/home/amnesia/Persistent/Tor Browser"
output_dir_image = "TorBrowserPersistentBookmarkInDestinationFolderList.png"
else
output_dir = "/home/amnesia/Tor Browser"
output_dir_image = "TorBrowserBookmarkInDestinationFolderList.png"
end
@screen.type("p", Sikuli::KeyModifier.CTRL)
@screen.wait("TorBrowserPrintDialog.png", 10)
@screen.wait_and_click("PrintToFile.png", 10)
# Tor Browser is not allowed to read /home/amnesia, and I found no way
# to change the default destination directory for "Print to File",
# so let's click through the warning
@screen.wait("TorBrowserCouldNotReadTheContentsOfWarning.png", 10)
sleep 1 # Sometimes the ENTER key is not reactive immediately..
@screen.type(Sikuli::Key.ENTER)
@screen.wait_and_click("TorBrowserDestinationFolderList.png", 10)
@screen.wait_and_click(output_dir_image, 10)
@screen.wait_and_double_click("TorBrowserPrintOutputFile.png", 10)
@screen.hide_cursor
@screen.wait("TorBrowserPrintOutputFileSelected.png", 10)
# Only the file's basename is selected by double-clicking,
# so we type only the desired file's basename to replace it
@screen.type(output_file.sub(/[.]pdf$/, '') + Sikuli::Key.ENTER)
try_for(30, :msg => "The page was not printed to #{output_dir}/#{output_file}") {
@vm.file_exist?("#{output_dir}/#{output_file}")
}
end
......@@ -7,7 +7,7 @@ Then /^I can print the current document to "([^"]+)"$/ do |output_file|
next if @skip_steps_while_restoring_background
@screen.type("p", Sikuli::KeyModifier.CTRL)
@screen.wait("EvincePrintDialog.png", 10)
@screen.wait_and_click("EvincePrintToFile.png", 10)
@screen.wait_and_click("PrintToFile.png", 10)
@screen.wait_and_double_click("EvincePrintOutputFile.png", 10)
@screen.hide_cursor
@screen.wait("EvincePrintOutputFileSelected.png", 10)
......
......@@ -112,6 +112,10 @@ def sikuli_script_proxy.new(*args)
self.doubleClick(self.wait(pic, time))
end
def s.wait_and_right_click(pic, time)
self.rightClick(self.wait(pic, time))
end
def s.wait_and_hover(pic, time)
self.hover(self.wait(pic, time))
end
......
......@@ -365,6 +365,10 @@ EOF
execute("test -e '#{file}'").success?
end
def directory_exist?(directory)
execute("test -d '#{directory}'").success?
end
def file_content(file, user = 'root')
# We don't quote #{file} on purpose: we sometimes pass environment variables
# or globs that we want to be interpreted by the shell.
......
......@@ -16,6 +16,57 @@ Feature: Browsing the web using the Tor Browser
And all notifications have disappeared
And I save the state so the background can be restored next scenario
Scenario: The Tor Browser directory is usable
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
Then the amnesiac Tor Browser directory exists
And there is a GNOME bookmark for the amnesiac Tor Browser directory
And the persistent Tor Browser directory does not exist
And I can save the current page as "index.html" to the default downloads directory
And I can print the current page as "output.pdf" to the default downloads directory
Scenario: Importing an OpenPGP key from a website
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
And I open the address "https://tails.boum.org/tails-signing.key" in the Tor Browser
Then I see "OpenWithImportKey.png" after at most 20 seconds
When I press the "ENTER" key
Then I see "KeyImportedNotification.png" after at most 10 seconds
Scenario: Playing HTML5 audio
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
And no application is playing audio
And I open the address "http://www.terrillthompson.com/tests/html5-audio.html" in the Tor Browser
And I click the HTML5 play button
And 1 application is playing audio after 10 seconds
And all Internet traffic has only flowed through Tor
Scenario: Watching a WebM video
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
And I open the address "https://webm.html5.org/test.webm" in the Tor Browser
And I click the blocked video icon
And I see "TorBrowserNoScriptTemporarilyAllowDialog.png" after at most 10 seconds
And I accept to temporarily allow playing this video
Then I see "TorBrowserSampleRemoteWebMVideoFrame.png" after at most 180 seconds
And all Internet traffic has only flowed through Tor
Scenario: I can view a file stored in "~/Tor Browser" but not in ~/.gnupg
Given I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/Tor Browser/synaptic.html" as user "amnesia"
And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/.gnupg/synaptic.html" as user "amnesia"
And I start the Tor Browser
And the Tor Browser has started and loaded the startup page
When I open the address "file:///home/amnesia/Tor Browser/synaptic.html" in the Tor Browser
Then I see "TorBrowserSynapticManual.png" after at most 10 seconds
When I open the address "file:///home/amnesia/.gnupg/synaptic.html" in the Tor Browser
Then I see "TorBrowserUnableToOpen.png" after at most 10 seconds
Scenario: The "Tails documentation" link on the Desktop works
When I double-click on the "Tails documentation" link on the Desktop
Then the Tor Browser has started
And I see "TailsOfflineDocHomepage.png" after at most 10 seconds
Scenario: The Tor Browser uses TBB's shared libraries
When I start the Tor Browser
And the Tor Browser has started
......
......@@ -34,6 +34,7 @@ Feature: Installing Tails to a USB drive, upgrading it, and using persistence
And Tails is running from USB drive "current"
And the boot device has safe access rights
And there is no persistence partition on USB drive "current"
And the persistent Tor Browser directory does not exist
And I create a persistent partition with password "asdf"
Then a Tails persistence partition with password "asdf" exists on USB drive "current"
And I shutdown Tails and wait for the computer to power off
......@@ -47,6 +48,23 @@ Feature: Installing Tails to a USB drive, upgrading it, and using persistence
And persistence is disabled
But a Tails persistence partition with password "asdf" exists on USB drive "current"
@keep_volumes
Scenario: The persistent Tor Browser directory is usable
Given a computer
And I start Tails from USB drive "current" and I login with persistence password "asdf"
And Tails is running from USB drive "current"
And Tor is ready
And available upgrades have been checked
And all notifications have disappeared
Then the persistent Tor Browser directory exists
And there is a GNOME bookmark for the persistent Tor Browser directory
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
And I can save the current page as "index.html" to the persistent Tor Browser directory
When I open the address "file:///home/amnesia/Persistent/Tor Browser/index.html" in the Tor Browser
Then I see "TorBrowserSavedStartupPage.png" after at most 10 seconds
And I can print the current page as "output.pdf" to the persistent Tor Browser directory
@keep_volumes
Scenario: Persistent browser bookmarks
Given a computer
......@@ -97,6 +115,7 @@ Feature: Installing Tails to a USB drive, upgrading it, and using persistence
Then Tails is running from USB drive "current"
And the boot device has safe access rights
And all persistence presets are enabled
And there is no GNOME bookmark for the persistent Tor Browser directory
And I write some files not expected to persist
And I remove some files expected to persist
And I shutdown Tails and wait for the computer to power off
......
......@@ -6,10 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-28 14:12+0100\n"
"POT-Creation-Date: 2015-02-06 10:28+0100\n"
"PO-Revision-Date: 2015-01-28 14:19+0100\n"
"Last-Translator: Tails developers <tails@boum.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
......
......@@ -553,7 +553,6 @@ Enable Windows camouflage via the Tails Greeter checkbox and:
* The "Tails documentation" desktop launcher should open the
[[getting started]] page (automate: [[!tails_ticket 8788]]):
- in English
- in one language to which the website is translated
- in one language to which the website is not translated (=> English)
* Browse around in the documentation shipped in the image. Internal
......
......@@ -6,10 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2014-12-02 16:30+0100\n"
"POT-Creation-Date: 2015-02-06 10:28+0100\n"
"PO-Revision-Date: 2015-01-18 11:01-0000\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
......@@ -44,32 +45,6 @@ msgstr "Réseau\n"
#. type: Plain text
#, no-wrap
#| msgid ""
#| "* [Tor](https://www.torproject.org) with:\n"
#| " - [[stream isolation|contribute/design/stream_isolation]]\n"
#| " - regular and obfsproxy bridges support\n"
#| " - the [Vidalia](https://www.torproject.org/projects/vidalia) graphical frontend\n"
#| "* [NetworkManager](http://projects.gnome.org/NetworkManager/) for easy\n"
#| " network configuration\n"
#| "* [Firefox](http://getfirefox.com) preconfigured with:\n"
#| " - TorBrowser patches\n"
#| " - [Torbutton](https://www.torproject.org/torbutton) for anonymity\n"
#| " and protection against evil JavaScript\n"
#| " - all cookies are treated as session cookies by default;\n"
#| " - [HTTPS Everywhere](https://www.eff.org/https-everywhere)\n"
#| " transparently enables SSL-encrypted connections to a great number\n"
#| " of major websites\n"
#| " - [NoScript](http://noscript.net/) to have even more control over JavaScript.\n"
#| " - [AdBlock Plus](https://adblockplus.org/en/firefox) to remove advertisements.\n"
#| "* [Pidgin](http://www.pidgin.im/) preconfigured with\n"
#| " [OTR](http://www.cypherpunks.ca/otr/index.php) for Off-the-Record\n"
#| " Messaging\n"
#| "* [Claws Mail](http://www.claws-mail.org/) e-mail client, with\n"
#| " GnuPG support\n"
#| "* [Liferea](http://liferea.sourceforge.net/) feed aggregator\n"
#| "* [Gobby](http://gobby.0x539.de/trac/) for collaborative text writing\n"
#| "* [Aircrack-ng](http://aircrack-ng.org/) for wireless networks auditing\n"
#| "* [I2P](https://geti2p.net/) an anonymizing network\n"
msgid ""
"* [Tor](https://www.torproject.org) with:\n"
" - [[stream isolation|contribute/design/stream_isolation]]\n"
......
......@@ -6,10 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2014-10-15 18:40+0300\n"
"POT-Creation-Date: 2015-02-06 10:28+0100\n"
"PO-Revision-Date: 2015-01-18 11:05-0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
......@@ -33,7 +34,6 @@ msgstr ""
#. type: Plain text
#, no-wrap
#| msgid "[[As explained on our warning page|warning#fingerprint]], when using Tails it is possible to know that you are using Tor. But Tails tries to **make it as difficult as possible to distinguish Tails users from other Tor users**, especially Tor Browser Bundle (TBB) users. If it is possible to determine whether your are a Tails users or a TBB user, this provides more information about you and in consequence reduces your anonymity."
msgid ""
"[[As explained on our warning page|warning#fingerprint]], when using\n"
"Tails it is possible to know that you are using Tor. But Tails tries to\n"
......@@ -78,7 +78,6 @@ msgstr ""
#. type: Plain text
#, no-wrap
#| msgid "To make it difficult to distinguish Tails users from TBB users, **the Tor browser tries to provide the same information as the TBB** in order to have similar fingerprints."
msgid ""
"To make it difficult to distinguish Tails users,\n"
"**<span class=\"application\">Tor Browser</span> in Tails tries to provide the same information as <span class=\"application\">Tor Browser</span> on other operating systems** in\n"
......@@ -90,7 +89,6 @@ msgstr ""
#. type: Plain text
#, no-wrap
#| msgid "See the [[fingerprint section of known issues page|support/known_issues#fingerprint]] for a list of known differences between the fingerprints of the Tor browser and the TBB."
msgid ""
"See the [[fingerprint section of known issues\n"
"page|support/known_issues#fingerprint]] for a list of known differences\n"
......@@ -102,7 +100,6 @@ msgstr ""
#. type: Plain text
#, no-wrap
#| msgid "Apart from that, **some of the extensions included in Tor browser are different** than the ones included in the TBB. More sophisticated attacks can use those differences to distinguish Tails user from TBB users."
msgid ""
"Apart from that, **some of the <span class=\"application\">Tor Browser</span> extensions included in Tails are\n"
"specific to Tails**. More sophisticated\n"
......@@ -153,15 +150,6 @@ msgstr ""
"first_steps/startup_options/bridge_mode]]."
#. type: Bullet: ' - '
#| msgid ""
#| "A Tails system is **almost exclusively generating Tor activity** on the "
#| "network. Usually TBB users also have network activity outside of Tor, "
#| "either from another web browser or other applications. So the proportion "
#| "of Tor activity could be used to determine whether a user is using Tails "
#| "or the TBB. If you are sharing your Internet connection with other users "
#| "that are not using Tails it is probably harder for your ISP to determine "
#| "whether a single user is generating only Tor traffic and so maybe using "
#| "Tails."
msgid ""
"A Tails system is **almost exclusively generating Tor activity** on the "
"network. Usually users of <span class=\"application\">Tor Browser</span> on "
......@@ -184,13 +172,6 @@ msgstr ""
"utilisateur génère seulement du trafic Tor ou s'il utilise Tails."
#. type: Bullet: ' - '
#| msgid ""
#| "Tails **does not use the entry guards mechanism of Tor**. With the [entry "
#| "guard mechanism](https://www.torproject.org/docs/faq#EntryGuards), a Tor "
#| "user always uses the same few relays as first hops. As Tails does not "
#| "store any Tor information between separate working sessions, it does not "
#| "store the entry guards information either. This behaviour could be used "
#| "to distinguish Tails users from TBB users across several working sessions."
msgid ""
"Tails **does not use the entry guards mechanism of Tor**. With the [entry "
"guard mechanism](https://www.torproject.org/docs/faq#EntryGuards), a Tor "
......@@ -209,12 +190,6 @@ msgstr ""
"travail."
#. type: Bullet: ' - '
#| msgid ""
#| "When starting, Tails synchronizes the system clock to make sure it is "
#| "accurate. While doing this, if the time is set too much in the past or in "
#| "the future, Tor is shut down and started again. This behavior could be "
#| "used to distinguish Tails from TBB users, especially this happens every "
#| "time Tails starts."
msgid ""
"When starting, Tails synchronizes the system clock to make sure it is "
"accurate. While doing this, if the time is set too much in the past or in "
......
......@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Tails-l10n-wiki\n"
"POT-Creation-Date: 2015-01-08 22:05+0100\n"
"POT-Creation-Date: 2015-02-06 10:28+0100\n"
"PO-Revision-Date: 2015-01-17 18:08-0000\n"
"Last-Translator: Tails translators <tails@boum.org>\n"
"Language-Team: Tails translators <tails-l10n@boum.org>\n"
......@@ -37,7 +37,6 @@ msgstr ""
#. type: Title =
#, no-wrap
#| msgid "Mailing-list key\n"
msgid "Private mailing-list key\n"
msgstr "Clé de la liste de discussion privée\n"
......@@ -121,12 +120,6 @@ msgstr "Détails de la clé\n"