Commit 26d4213a authored by intrigeri's avatar intrigeri
Browse files

Merge remote-tracking branch 'origin/master' into devel

parents 413d3bec 4e0cf729
......@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-03 01:06+0100\n"
"PO-Revision-Date: 2015-06-12 12:04-0000\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"
"Language: \n"
......@@ -283,7 +283,7 @@ msgid ""
"Build information:\n"
"%s"
msgstr ""
"Information de compilation:\n"
"Informations de compilation :\n"
"%s"
#: config/chroot_local-includes/usr/local/bin/tails-about:27
......
* Needs GLib 2.40 (in Jessie).
* Intro: <https://wiki.gnome.org/HowDoI/GNotification>
* "applications using GNotification should be able to be started as
a D-Bus service, using GApplication." =>
<https://wiki.gnome.org/HowDoI/DBusApplicationLaunching>
* "gnome-shell uses desktop files to find extra information (app icon,
name) about the sender of the notification. If you don't have
a desktop file whose base name matches the application id, then your
notification will not show up". We'll see.
* intrigeri has a working Perl example with `add_button`. Next step is
to pass parameters to the notification.
* If it's deemed overkill, or just too painful, to port every single
script that needs to send notifications with actions to
"GApplication + D-Bus activation + actions support" properly,
a solution could be to let them all pretend to be the
`org.boum.tails.OpenURL` or similar app in the simplest possible
way, i.e. create a GApplication object merely to be able to send the
notification or use the private D-Bus API to
`org.gtk.Notifications`.
And then, we need only one single real GApplication that can react
to actions with parameters.
A potential problem with this approach is that if a given
GApplication is running already, another process pretending to be
the same can't send notifications (reproducer code follows; the
private D-Bus API allows to workaround this problem, but has other
ones, read on). So, in practice if we go this way the URL opener app
must have a lifetime close to zero, otherwise when clicking on
multiple notifications buttons in a row, some actions won't be
triggered (i.e. URLs won't be opened).
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use 5.10.1;
use Gtk3;
use Glib::Object::Introspection;
Glib::Object::Introspection->setup(
basename => 'Gio',
version => '2.0',
package => 'Gio'
);
my $app_id = 'org.gnome.gedit';
my $app = Gtk3::Application->new($app_id, []);
$app->register() || die "Could not register app";
my $notification = Gio::Notification->new('My notification title');
$notification->set_body("My notification body");
$notification->add_button("OK", 'app.new-document');
# If gedit is already running, this fails with:
# GLib-GIO-CRITICAL **: g_application_send_notification:
# assertion '!g_application_get_is_remote (application)' failed
$app->send_notification("my-notification-id", $notification);
* private D-Bus API (`org.gtk.Notifications`):
<https://wiki.gnome.org/Projects/GLib/GNotification> ... maybe an
option whenever language bindings are not good enough, but so far
I (intrigeri) was not able to add buttons to it:
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use 5.10.1;
use Net::DBus;
Net::DBus
->session
->get_service("org.gtk.Notifications")
->get_object("/org/gtk/Notifications")
->as_interface("org.gtk.Notifications")
->AddNotification('org.gnome.gedit', 'whatever-notification-id', {
title => 'my notification title',
body => 'my notification body',
# Works... when 'buttons' is not passed
'default-action' => 'app.new-window',
# Does not work, for some reason
buttons => [
{ label => "New window", action => "app.new-window"},
{ label => "New document", action => "app.new-document"},
],
});
* GNOME Shell 3.16: non-default action buttons are only displayed when
the notification pops up initially, _not_ in the [Message
List](https://wiki.gnome.org/Design/OS/Notifications/#Message_List).
- Is it the same on Jessie?
- Can we get away with only a default action that opens the URL we
want in the use cases we have in practice?
See [[blueprint/desktop_notifications]].
[[!toc levels=2]]
# The problem
[[!tails_ticket 7989]]
## Done
* `config/chroot_local-includes/usr/local/bin/tails-security-check`
- Perl, `Desktop::Notify`, ported to notification actions
- important enough to be noisy ported to a dialog box
* `config/chroot_local-includes/usr/local/bin/tails-virt-notify-user`
- Perl, `Desktop::Notify`, ported to a *transient* notification with
an action, so clicking it does open the doc, but the notification
disappears after 4 seconds
- broken on Tails/Wheezy already (the link to the doc is not visible)
the current state of feature/jessie is not a regression, it
actually improves things a bit.
* `config/chroot_local-includes/usr/local/sbin/tails-spoof-mac`
- Shell, uses `notify-send` via
[[!tails_gitweb config/chroot_local-includes/usr/local/sbin/tails-notify-user]]
- broken on Tails/Wheezy already (the link to the doc is not
visible, and one of the two possible links was broken anyway)
the link to the doc has been removed for Tails 2.0, and a better
solution can be found later ([[!tails_ticket 10559]]).
- A second iteration could turn this into
a dialog box: we now have an offline mode for those who want it,
and else, if you want to be online, then MAC spoofing failure
prevents you from using Tails in most cases so we can be noisy.
- The notification code (`notify_panic_*`) that's started as
a background process could advantageously be moved to the user
session (it's probably a good idea to avoid starting background
tasks in udev hooks, to avoid confusing udev wrt. when a hook has
actually completed its work). To this end,
`config/chroot_local-includes/usr/local/sbin/tails-unblock-network`
could raise a flag so that a unit run in user session knows that
it should notify the user (see e.g. the ugly `htp_done_file`, or
find a better solution).
* `config/chroot_local-includes/usr/local/sbin/tails-restricted-network-detector`
- Perl, uses `notify-send` via
[[!tails_gitweb config/chroot_local-includes/usr/local/sbin/tails-notify-user]]
- removed while, see [[!tails_ticket 10560]]
# Resources
## GNotification
* Needs GLib 2.40 (in Jessie).
* Intro: <https://wiki.gnome.org/HowDoI/GNotification>
* "applications using GNotification should be able to be started as
a D-Bus service, using GApplication." =>
<https://wiki.gnome.org/HowDoI/DBusApplicationLaunching>; this feels
totally overkill for most cases when we currently use
desktop notifications.
* "gnome-shell uses desktop files to find extra information (app icon,
name) about the sender of the notification. If you don't have
a desktop file whose base name matches the application id, then your
notification will not show up". We'll see.
* intrigeri has a working Perl example with `add_button`. Next step is
to pass parameters to the notification.
* If it's deemed overkill, or just too painful, to port every single
script that needs to send notifications with actions to
"GApplication + D-Bus activation + actions support" properly,
a solution could be to let them all pretend to be the
`org.boum.tails.OpenURL` or similar app in the simplest possible
way, i.e. create a GApplication object merely to be able to send the
notification or use the private D-Bus API to
`org.gtk.Notifications`.
And then, we need only one single real GApplication that can react
to actions with parameters.
A potential problem with this approach is that if a given
GApplication is running already, another process pretending to be
the same can't send notifications (reproducer code follows; the
private D-Bus API allows to workaround this problem, but has other
ones, read on). So, in practice if we go this way the URL opener app
must have a lifetime close to zero, otherwise when clicking on
multiple notifications buttons in a row, some actions won't be
triggered (i.e. URLs won't be opened).
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use 5.10.1;
use Gtk3;
use Glib::Object::Introspection;
Glib::Object::Introspection->setup(
basename => 'Gio',
version => '2.0',
package => 'Gio'
);
my $app_id = 'org.gnome.gedit';
my $app = Gtk3::Application->new($app_id, []);
$app->register() || die "Could not register app";
my $notification = Gio::Notification->new('My notification title');
$notification->set_body("My notification body");
$notification->add_button("OK", 'app.new-document');
# If gedit is already running, this fails with:
# GLib-GIO-CRITICAL **: g_application_send_notification:
# assertion '!g_application_get_is_remote (application)' failed
$app->send_notification("my-notification-id", $notification);
* private D-Bus API (`org.gtk.Notifications`):
<https://wiki.gnome.org/Projects/GLib/GNotification> ... maybe an
option whenever language bindings are not good enough, but so far
I (intrigeri) was not able to add buttons to it:
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use 5.10.1;
use Net::DBus;
Net::DBus
->session
->get_service("org.gtk.Notifications")
->get_object("/org/gtk/Notifications")
->as_interface("org.gtk.Notifications")
->AddNotification('org.gnome.gedit', 'whatever-notification-id', {
title => 'my notification title',
body => 'my notification body',
# Works... when 'buttons' is not passed
'default-action' => 'app.new-window',
# Does not work, for some reason
buttons => [
{ label => "New window", action => "app.new-window"},
{ label => "New document", action => "app.new-document"},
],
});
* GNOME Shell 3.16: non-default action buttons are only displayed when
the notification pops up initially, _not_ in the [Message
List](https://wiki.gnome.org/Design/OS/Notifications/#Message_List).
Jessie's GNOME Shell (3.14) hasn't this problem. We can get away
with only a default action that opens the URL we want, in the use
cases we have in practice.
......@@ -4,6 +4,8 @@
<http://tp.linux.it/glossario.html>
<http://amagama-live.translatehouse.org>
Warning page = pagina degli avvertimenti/avvisi
Persistence = persistente https://it.wikipedia.org/wiki/Persistenza_%28informatica%29
......@@ -249,19 +251,26 @@ bf
___
./doc/about/tor --DONE, Pushed
./doc/about/trust --DONE, Pushed
./doc/about/warning --DONE, Pushed
./doc/first_steps/accessibility
./doc/first_steps/bug_reporting
./doc/first_steps/bug_reporting/tails_does_not_start
./doc/first_steps/reset
./doc/first_steps/upgrade
./doc/first_steps/accessibility --DONE, Pushed
./doc/first_steps/bug_reporting --DONE, Pushed
./doc/first_steps/bug_reporting/tails_does_not_start --DONE, Pushed
./doc/first_steps/reset --DONE, Pushed
./doc/first_steps/upgrade --DONE, Pushed
___
./doc/first_steps/start_tails FAtta, e sul repo
./doc/first_steps/start_tails --DONE, Pushed
./doc/first_steps/startup_options
./doc/first_steps/startup_options --DONE, Pushed
#Viz
......
[[!meta title="Calendar"]]
* 2015-11-20 to 2015-11-22: User testing of the Installation Assistant
* 2015-12-15: Release 1.8 (anonym is the RM)
* 2016-01-26 (?): Release 1.9
* between 2015-11-30 and 2015-12-04: release Tails 2.0~beta1
* 2015-12-11: feature freeze of Tails 2.0
* 2015-12-14:
- All branches targeting Tails 1.8 *must* be merged into the `stable`
branch by noon, CET.
- The upcoming Tor Browser is hopefully out so we can import it.
- Build and upload Tails 1.8 ISO image and IUKs.
- Hopefully start testing Tails 1.8.
* 2015-12-15:
- Finish testing Tails 1.8 by the afternoon, CET.
- Release Tails 1.8 during late CET.
* between 2015-12-15 and 2015-12-26: release Tails 2.0~beta2
* 2016-01-11:
- Build and upload Tails 2.0~rc1.
- Start testing Tails 2.0~rc1 during late CET if building the image
went smoothly.
* 2016-01-12:
- Finish testing Tails 2.0~rc1 by the afternoon, CET.
- Release Tails 2.0~rc1.
* 2016-01-25:
- The upcoming Tor Browser is hopefully out so we can import it.
- Build and upload Tails 2.0 ISO image and IUKs.
- Start testing Tails 2.0 during late CET if building the image
went smoothly.
* 2016-01-26:
- Finish testing Tails 2.0 by the afternoon, CET.
- Release Tails 2.0 during late CET, earliest when Mozilla
publishes their MFSAs.
* 2016-03-08 (?): Release 1.10
......
......@@ -30,7 +30,7 @@ For French, various bits of text can be translated via Git:
# Contributors' repositories
* elouann: [[https://git-tails.immerda.ch/elouann/tails/]]</br>
* elouann: [[https://git-tails.immerda.ch/elouann/tails/]]<br />
OpenPGP: `4C95 4E38 AC95 9C33 BD03 7A09 A29F 43F4 830F 0A36`
* matsa: [[https://git-tails.immerda.ch/matsa/tails/]]
* mercedes508: [[https://git-tails.immerda.ch/mercedes508]]
......
......@@ -752,6 +752,7 @@ Update the size of the ISO image in `inc/*`:
MiB=$(LC_NUMERIC=C ls -l -h $ISOS/tails-i386-$VERSION/tails-i386-$VERSION.iso | \
cut -f 5 -d ' ' | sed -r 's/(.+)([MG])/\1 \2iB/' | tr -d '\n')
echo "($MB/$MiB)" > "$RELEASE_CHECKOUT/wiki/src/inc/stable_i386_iso_size.html"
echo "$MiB" > "$RELEASE_CHECKOUT/wiki/src/inc/stable_i386_iso_size_mib.html"
Generate the expected signature verification output:
......
......@@ -3,23 +3,23 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Tails\n"
"POT-Creation-Date: 2015-10-04 16:24+0300\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"
"Language: \n"
"PO-Revision-Date: 2015-11-21 20:44+0100\n"
"Last-Translator: Tails translators <tails@boum.org>\n"
"Language-Team: Tails translators <tails@boum.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.10\n"
#. type: Plain text
#, no-wrap
msgid "[[!meta title=\"Exchange bitcoins using Electrum\"]]\n"
msgstr ""
msgstr "[[!meta title=\"Bitcoins mit Electrum austauschen\"]]\n"
#. type: Plain text
#, no-wrap
......@@ -27,6 +27,8 @@ msgid ""
"[<span class=\"application\">Electrum</span>](https://electrum.org/) is a [[!wikipedia bitcoin]] client that is\n"
"particularly suited to the context of Tails because:\n"
msgstr ""
"[<span class=\"application\">Electrum</span>](https://electrum.org/) ist ein [[!wikipedia_de Bitcoin]]-Client, der\n"
"besonders geeignet im Kontext von Tails ist, weil:\n"
#. type: Bullet: ' - '
msgid ""
......@@ -34,21 +36,28 @@ msgid ""
"you can use your wallet from different devices and avoid losing bitcoins in "
"a backup mistake or computer failure."
msgstr ""
"Ihr Wallet (Anm. Übers.: digitale Brieftasche) kann vollständig mithilfe "
"eines Passworts, *Seed* genannt, wiederhergestellt werden. Somit können Sie "
"Ihr Wallet von verschiedenen Geräten aus nutzen und verhindern, dass "
"Bitcoins bei einem Backup-Fehler oder Computerproblem verloren gehen."
#. type: Bullet: ' - '
msgid ""
"Electrum does not download the blockchain. So there is no waiting time when "
"starting."
msgstr ""
"Electrum lädt nicht die Blockchain herunter. Somit gibt es beim Start keine "
"Wartezeit."
#. type: Bullet: ' - '
msgid "You can sign transactions from an offline working session."
msgstr ""
"Sie können Transaktionen aus einer Offline-Arbeitssitzung heraus signieren."
#. type: Plain text
#, no-wrap
msgid "<div class=\"caution\">\n"
msgstr ""
msgstr "<div class=\"caution\">\n"
#. type: Plain text
#, no-wrap
......@@ -56,6 +65,8 @@ msgid ""
"<p>Bitcoin is <a href=\"https://bitcoin.org/en/faq#is-bitcoin-anonymous\">not\n"
"anonymous</a>.</p>\n"
msgstr ""
"<p>Bitcoin ist <a href=\"https://bitcoin.org/en/faq#is-bitcoin-anonymous\">nicht\n"
"anonym</a>.</p>\n"
#. type: Plain text
#, no-wrap
......@@ -63,11 +74,13 @@ msgid ""
"<p>To make it harder to relate your different transactions, you should use\n"
"different receiving addresses for each transaction.</p>\n"
msgstr ""
"<p>Um es schwieriger zu machen, Ihre einzelnen Überweisungen in Beziehung zueinander zu bringen,\n"
"sollten Sie für jede Transaktion verschiedene Empfangsadressen verwenden.</p>\n"
#. type: Plain text
#, no-wrap
msgid "</div>\n"
msgstr ""
msgstr "</div>\n"
#. type: Plain text
#, no-wrap
......@@ -79,17 +92,25 @@ msgid ""
" <span class=\"guimenuitem\">Electrum Bitcoin Wallet</span>\n"
"</span>.\n"
msgstr ""
"Um <span class=\"application\">Electrum</span> zu starten wählen Sie\n"
"<span class=\"menuchoice\">\n"
" <span class=\"guimenu\">Anwendungen</span>&nbsp;▸\n"
" <span class=\"guisubmenu\">Internet</span>&nbsp;▸\n"
" <span class=\"guimenuitem\">Electrum Bitcoin Wallet</span>\n"
"</span>.\n"
#. type: Plain text
msgid ""
"To learn how to use *Electrum*, read the [documentation on the *Electrum* "
"wiki](http://docs.electrum.org)."
msgstr ""
"Um zu lernen, wie *Electrum* benutzt wird, lesen Sie die [Dokumentation im "
"*Electrum*-Wiki](http://docs.electrum.org)."
#. type: Plain text
#, no-wrap
msgid "<p>If you loose your <em>seed</em>, then you loose your entire wallet.</p>\n"
msgstr ""
msgstr "<p>Falls Sie Ihren <em>Seed</em> verlieren, hat dies den Verlust Ihres gesamten Wallets zur Folge.</p>\n"
#. type: Plain text
#, no-wrap
......@@ -99,11 +120,15 @@ msgid ""
"store your bitcoin wallet and preferences across separate working\n"
"sessions.</p>\n"
msgstr ""
"<p>Dies ist der Grund, warum wir es Ihnen empfehlen, den [[beständigen Speicherbereich|doc/first_steps/persistence/configure/#bitcoin]]\n"
"für den <span class=\"guilabel\">Bitcoin Client</span> zu aktivieren, um\n"
"Ihr Wallet und Ihre Einstellungen über mehrere Arbeitssitzungen hinweg\n"
"zu speichern. </p>\n"
#. type: Plain text
#, no-wrap
msgid "<p>Do not blindly trust the bitcoin balance that <span class=\"application\">Electrum</span> displays.</p>\n"
msgstr ""
msgstr "<p>Vertrauen Sie nicht blindlings dem Guthaben an Bitcoins, das <span class=\"application\">Electrum</span> anzeigt.</p>\n"
#. type: Plain text
#, no-wrap
......@@ -117,3 +142,11 @@ msgid ""
"<a href=\"https://bitcoin.org/en/developer-guide#potential-spv-weaknesses\">weaknesses\n"
"of SPV</a> in the Bitcoin Developer Guide.</p>\n"
msgstr ""
"<p><span class=\"application\">Electrum</span> baut auf\n"
"<a href=\"https://bitcoin.org/en/developer-guide#simplified-payment-verification-spv\">Simplified\n"
"Payment Verification</a> (SPV) auf, um das Herunterladen der gesamten Blockchain zu vermeiden.\n"
"Jedoch können bei diesem Verfahren die Server, zu denen sich <span\n"
"class=\"application\">Electrum</span> verbindet, den Clients Informationen\n"
"vorenthalten. Lesen Sie im Bitcoin Developer Guide mehr über die\n"
"<a href=\"https://bitcoin.org/en/developer-guide#potential-spv-weaknesses\">Schwachpunkte\n"
"von SPV</a>.</p>\n"
......@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-09-17 13:40+0300\n"
"POT-Creation-Date: 2015-11-19 23:06+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"
......@@ -101,17 +101,17 @@ msgstr ""
#. type: Plain text
#, no-wrap
msgid ""
"- **Encryption**</br>\n"
"- **Encryption**<br />\n"
" No one else can read your instant messages.\n"
"- **Authentication**</br>\n"
"- **Authentication**<br />\n"
" You are assured the correspondent is who you think it is.\n"
"- **Deniability**</br>\n"
"- **Deniability**<br />\n"
" The messages you send do not have digital signatures\n"
" that are checkable by a third party. Anyone can forge messages after\n"
" a conversation to make them look like they came from you.\n"
" However, during a conversation, your correspondent is assured\n"
" the messages he sees are authentic and unmodified.\n"
"- **Perfect forward secrecy**</br>\n"
"- **Perfect forward secrecy**<br />\n"
" If you lose control of your private keys, no previous conversation is compromised.\n"
msgstr ""
......
......@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2015-09-17 13:40+0300\n"
"PO-Revision-Date: 2015-02-23 12:26-0000\n"
"POT-Creation-Date: 2015-11-19 23:06+0100\n"
"PO-Revision-Date: 2015-11-19 23:09+0100\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
......@@ -130,30 +130,30 @@ msgstr ""
#. type: Plain text
#, no-wrap
msgid ""
"- **Encryption**</br>\n"
"- **Encryption**<br />\n"
" No one else can read your instant messages.\n"
"- **Authentication**</br>\n"
"- **Authentication**<br />\n"
" You are assured the correspondent is who you think it is.\n"
"- **Deniability**</br>\n"
"- **Deniability**<br />\n"
" The messages you send do not have digital signatures\n"
" that are checkable by a third party. Anyone can forge messages after\n"
" a conversation to make them look like they came from you.\n"
" However, during a conversation, your correspondent is assured\n"
" the messages he sees are authentic and unmodified.\n"
"- **Perfect forward secrecy**</br>\n"
"- **Perfect forward secrecy**<br />\n"
" If you lose control of your private keys, no previous conversation is compromised.\n"
msgstr ""
"- **Chiffrement**</br>\n"
"- **Chiffrement**<br />\n"
" Personne d'autre ne peut lire vos messages.\n"
"- **Authentification**</br>\n"
"- **Authentification**<br />\n"
" Vous avez la garantie que votre correspondant est la personne que vous croyez.\n"
"- **Déni possible**</br>\n"
"- **Déni possible**<br />\n"
" Les messages que vous envoyez n'ont pas de signature numérique\n"
" vérifiable par une tierce personne. N'importe qui peut falsifier\n"
" des messages après la conversation pour faire comme s'ils venaient de vous.\n"
" Cependant, pendant une conversation, votre correspondant est assuré\n"
" que les messages qu'il reçoit sont authentiques et intacts.\n"
"- **Confidentialité persistante**</br>\n"
"- **Confidentialité persistante**<br />\n"
" Si vous perdez le contrôle de vos clés privées, aucune conversation précédente ne sera compromise.\n"
#. type: Plain text
......
......@@ -45,17 +45,17 @@ As explained on its [official page](http://www.cypherpunks.ca/otr/),
<span class="application">Off-the-Record</span> messaging allows you to
have private conversations over instant messaging by providing:
- **Encryption**</br>
- **Encryption**<br />
No one else can read your instant messages.
- **Authentication**</br>
- **Authentication**<br />
You are assured the correspondent is who you think it is.
- **Deniability**</br>
- **Deniability**<br />
The messages you send do not have digital signatures