gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[www] branch stable updated (9099fc3 -> eb0a5c7)


From: gnunet
Subject: [www] branch stable updated (9099fc3 -> eb0a5c7)
Date: Wed, 10 Mar 2021 16:37:41 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a change to branch stable
in repository www.

    from 9099fc3  forgot page
     add fe46b0a  Translated using Weblate (Spanish)
     add 52fc2ff  Translated using Weblate (Italian)
     add 9ed0fce  Translated using Weblate (Japanese)
     add 3ea16c9  Translated using Weblate (Hindi)
     add c3bf63a  import some old news posts
     add eb0a5c7  add imported news

No new revisions were added by this update.

Summary of changes:
 locale/es/LC_MESSAGES/messages.po                  |  66 ++++++---
 locale/hi/LC_MESSAGES/messages.po                  |  64 ++++-----
 locale/it/LC_MESSAGES/messages.po                  | 101 ++++++++++---
 locale/ja/LC_MESSAGES/messages.po                  | 156 ++++++++++++++++-----
 news/2011-11-24-archived-vfork.html.j2             |  62 ++++++++
 news/2013-12-28-archived-typos-pkeys.html.j2       |  16 +++
 .../{oldnews-2019.html.j2 => oldnews-2011.html.j2} |   0
 .../{oldnews-2019.html.j2 => oldnews-2013.html.j2} |   0
 www.yml                                            |   6 +
 9 files changed, 364 insertions(+), 107 deletions(-)
 create mode 100644 news/2011-11-24-archived-vfork.html.j2
 create mode 100644 news/2013-12-28-archived-typos-pkeys.html.j2
 copy news/{oldnews-2019.html.j2 => oldnews-2011.html.j2} (100%)
 copy news/{oldnews-2019.html.j2 => oldnews-2013.html.j2} (100%)

diff --git a/locale/es/LC_MESSAGES/messages.po 
b/locale/es/LC_MESSAGES/messages.po
index 97b4aa9..c8f0e9f 100644
--- a/locale/es/LC_MESSAGES/messages.po
+++ b/locale/es/LC_MESSAGES/messages.po
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2021-03-03 21:41+0100\n"
-"PO-Revision-Date: 2021-03-08 04:37+0000\n"
-"Last-Translator: Sarah Aya Daza <fiorellaya.526@gmail.com>\n"
+"PO-Revision-Date: 2021-03-09 18:35+0000\n"
+"Last-Translator: Samira Tamboura <samiratg8@hotmail.com>\n"
 "Language-Team: Spanish <http://weblate.taler.net/projects/gnunet/website/es/>"
 "\n"
 "Language: es\n"
@@ -606,10 +606,8 @@ msgid "GNUnet System Architecture"
 msgstr "Arquitectura del sistema GNUnet"
 
 #: template/architecture.html.j2:20
-#, fuzzy
-#| msgid "Documentation"
 msgid "Foundations"
-msgstr "Documentación"
+msgstr "Fundamentos"
 
 #: template/architecture.html.j2:22
 msgid ""
@@ -803,7 +801,7 @@ msgstr ""
 
 #: template/developers.html.j2:34
 msgid "Discussion"
-msgstr ""
+msgstr "Conversación"
 
 #: template/developers.html.j2:37
 msgid ""
@@ -812,10 +810,14 @@ msgid ""
 "gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
 "a>."
 msgstr ""
+"Disponemos de una lista de correo para conversaciones de desarrolladores. "
+"Puede bien inscribirse o ver el listado en <a href=\"http://lists.gnu.org/";
+"mailman/listinfo/gnunet-developers\">http://lists.gnu.org/mailman/listinfo/";
+"gnunet-developers</a>."
 
 #: template/developers.html.j2:47
 msgid "Regression Testing"
-msgstr ""
+msgstr "Pruebas de regresión"
 
 #: template/developers.html.j2:50
 msgid ""
@@ -823,10 +825,13 @@ msgid ""
 "detect regressions and check for portability at <a href=\"https://old.gnunet.";
 "org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
 msgstr ""
+"Disponemos de <a href=\"https://buildbot.net/\";>Buildbot</a> con pruebas "
+"automáticas para detectar y analizar portabilidades en <a href=\"https://old.";
+"gnunet.org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
 
 #: template/developers.html.j2:59
 msgid "Code Coverage Analysis"
-msgstr ""
+msgstr "Análisis de cobertura de código"
 
 #: template/developers.html.j2:62
 msgid ""
@@ -834,10 +839,14 @@ msgid ""
 "analyze the code coverage of our tests, the results are available at <a href="
 "\"https://old.gnunet.org/coverage/\";>https://old.gnunet.org/coverage/</a>."
 msgstr ""
+"Usamos <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\";>LCOV</a> "
+"para analizar la cobertura del código de nuestras pruebas, los resultados "
+"están disponibles en <a href=\"https://old.gnunet.org/coverage/\";>https://old";
+".gnunet.org/coverage/</a> ."
 
 #: template/developers.html.j2:72
 msgid "Performance Analysis"
-msgstr ""
+msgstr "Análisis de rendimiento"
 
 #: template/developers.html.j2:75
 msgid ""
@@ -845,55 +854,62 @@ msgid ""
 "regression analysis of the exchange backend at <a href=\"https://old.gnunet.";
 "org/gauger/\">https://old.gnunet.org/gauger/</a>."
 msgstr ""
+"Usamos <a href=\"https://old.gnunet.org/gauger\";>Gauger</a> para el análisis "
+"de regresión del rendimiento sobre el soporte de intercambio en <a href="
+"\"https://old.gnunet.org/gauger/\";>https://old.gnunet.org/gauger/</a> ."
 
 #: template/download.html.j2:7 template/gnurl.html.j2:209
 msgid "Downloads"
-msgstr ""
+msgstr "Descargas"
 
 #: template/download.html.j2:11
 msgid ""
 "Here you can download releases of our software and find links to the various "
 "versions."
 msgstr ""
+"Aquí puedes descargarte las ediciones de nuestro software y encontrar los "
+"links a varias versiones."
 
 #: template/download.html.j2:17
 msgid "0.11.x series"
-msgstr ""
+msgstr "series 0.11.x"
 
 #: template/download.html.j2:18
 msgid "tarball"
-msgstr ""
+msgstr "Fichero"
 
 #: template/download.html.j2:20
+#, fuzzy
 msgid ""
 "The tarball of the latest version can be obtained from GNU FTP and its "
 "mirrors."
 msgstr ""
+"La ultima version del fichero, se puede obtener desde GNU FTP o en sus ré"
+"plicas/espejos."
 
 #: template/download.html.j2:30
 msgid "git"
-msgstr ""
+msgstr "git"
 
 #: template/download.html.j2:32
 msgid ""
 "You can fetch the git tag of version 0.11.x from our development server:"
 msgstr ""
+"Puedes hacerte con una git tag versión 0.11.x desde nuestro servidor en "
+"desarrollo:"
 
 #: template/engage.html.j2:6
-#, fuzzy
-#| msgid "Engage"
 msgid "Engage!"
-msgstr "Participa"
+msgstr "¡Participa!"
 
 #: template/ev.html.j2:6
+#, fuzzy
 msgid "Verein zur F&ouml;rderung von GNUnet e.V."
-msgstr ""
+msgstr "Verein zur F&ouml;rderung von GNUnet e.V."
 
 #: template/ev.html.j2:11
-#, fuzzy
-#| msgid "About GNUnet"
 msgid "About GNUnet e.V."
-msgstr "Sobre GNUnet"
+msgstr "Sobre GNUnet e.V."
 
 #: template/ev.html.j2:13
 msgid ""
@@ -902,6 +918,10 @@ msgid ""
 "law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
 "the association on the 7th of March under VR 205287."
 msgstr ""
+"El 27 de diciembre de 2013, un grupo de hackers de GNUnet se reunió en el "
+"30c3 Chaos Communication Congress para crear \"Verein zur F&ouml;rderung von "
+"GNUnet e.V.\", una asociación para apoyar el desarrollo de GNUnet, bajo la "
+"ley alemana."
 
 #: template/ev.html.j2:22
 msgid ""
@@ -909,10 +929,14 @@ msgid ""
 "and education in the area of secure decentralized networking in general, and "
 "GNUnet specifically. This is the official website for the association."
 msgstr ""
+"Esta es la página web de la asociación. La asociación está oficialmente "
+"dedicada a apoyar, a modo general, la investigación, el desarrollo y la "
+"educación, en el área de redes seguras y descentralizadas; y más "
+"específicamente a GNUnet."
 
 #: template/ev.html.j2:31
 msgid "Becoming a Member of GNUnet e.V."
-msgstr ""
+msgstr "Conviértase en miembro de GNUnet e.V."
 
 #: template/ev.html.j2:33
 msgid ""
diff --git a/locale/hi/LC_MESSAGES/messages.po 
b/locale/hi/LC_MESSAGES/messages.po
index 18b30d6..ecc2c71 100644
--- a/locale/hi/LC_MESSAGES/messages.po
+++ b/locale/hi/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2021-03-03 21:41+0100\n"
-"PO-Revision-Date: 2021-03-07 03:10+0000\n"
+"PO-Revision-Date: 2021-03-09 18:35+0000\n"
 "Last-Translator: Jigisha Sharma <jigishas38@gmail.com>\n"
 "Language-Team: Hindi <http://weblate.taler.net/projects/gnunet/website/hi/>\n"
 "Language: hi\n"
@@ -54,131 +54,131 @@ msgstr "ग्रन्थसूची"
 
 #: common/footer.j2.inc:31
 msgid "Source code of this site."
-msgstr "सूत्र नियमसंग्रह"
+msgstr "सूत्र संहिता इस स्थल का."
 
 #: common/footer.j2.inc:32
 msgid "Report issues with this website."
-msgstr ""
+msgstr "दर्ज करे समस्या वेबसाईट के."
 
 #: common/navigation.j2.inc:38
 msgid "About"
-msgstr ""
+msgstr "जानकारी"
 
 #: common/navigation.j2.inc:39 news/index.html.j2:8
 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13
 msgid "News"
-msgstr ""
+msgstr "समाचार"
 
 #: common/navigation.j2.inc:40 template/index.html.j2:289
 msgid "Applications"
-msgstr ""
+msgstr "प्रार्थनापत्र"
 
 #: common/navigation.j2.inc:44
 msgid "Community"
-msgstr ""
+msgstr "समुदाय"
 
 #: common/navigation.j2.inc:47 template/index.html.j2:292
 msgid "Engage"
-msgstr ""
+msgstr "संलग्न"
 
 #: common/navigation.j2.inc:48
 msgid "GSoC Projects"
-msgstr ""
+msgstr "ग स ओ क परियोजनाओं"
 
 #: common/navigation.j2.inc:50
 msgid "Copyright for Contributors"
-msgstr ""
+msgstr "सर्वाधिकार योगदानकर्ताओं के लिए"
 
 #: common/navigation.j2.inc:51
 msgid "IRC Archive"
-msgstr ""
+msgstr "इ र च पुरालेख"
 
 #: common/navigation.j2.inc:58
 msgid "Development"
-msgstr ""
+msgstr "विकास"
 
 #: common/navigation.j2.inc:61
 msgid "System Architecture"
-msgstr ""
+msgstr "प्रणाली स्थापत्य"
 
 #: common/navigation.j2.inc:63 template/roadmap.html.j2:6
 msgid "Roadmap"
-msgstr ""
+msgstr "नक्शा"
 
 #: common/navigation.j2.inc:65 template/gnurl.html.j2:186
 msgid "Source Code"
-msgstr ""
+msgstr "सूत्र संहिता"
 
 #: common/navigation.j2.inc:66
 msgid "Source Code Documentation"
-msgstr ""
+msgstr "सूत्र संहिता प्रलेखन"
 
 #: common/navigation.j2.inc:67
 msgid "Continuous Integration"
-msgstr ""
+msgstr "लगातार एकीकरण"
 
 #: common/navigation.j2.inc:68
 msgid "Development Tutorial"
-msgstr ""
+msgstr "विकास उदाहरण"
 
 #: common/navigation.j2.inc:79
 msgid "Documentation"
-msgstr ""
+msgstr "प्रलेखन"
 
 #: common/navigation.j2.inc:82 template/install.html.j2:6
 msgid "Install"
-msgstr ""
+msgstr "स्थापित"
 
 #: common/navigation.j2.inc:83 template/install-on-openwrt.html.j2:76
 msgid "Use"
-msgstr ""
+msgstr "इस्तमाल"
 
 #: common/navigation.j2.inc:84
 msgid "Videos"
-msgstr ""
+msgstr "वीडियोज़"
 
 #: common/navigation.j2.inc:85 template/glossary.html.j2:6
 msgid "Glossary"
-msgstr ""
+msgstr "शब्दकोष"
 
 #: common/navigation.j2.inc:86
 msgid "Handbook"
-msgstr ""
+msgstr "पुस्तिका"
 
 #: common/navigation.j2.inc:87 template/livingstandards.html.j2:8
 msgid "Living Standards"
-msgstr ""
+msgstr "जीवन स्तर"
 
 #: common/navigation.j2.inc:88
 msgid "REST API"
-msgstr ""
+msgstr "र.ई.एस.टी ए .पी .इ"
 
 #: common/navigation.j2.inc:89
 msgid "FAQ"
-msgstr ""
+msgstr "अकसर पूछे जाने वाले सवाल"
 
 #: news/index.html.j2:11 news/oldnews-2018.html.j2:16
 #: news/oldnews-2019.html.j2:16
 msgid "News posts about changes related to GNUnet such as releases and events"
-msgstr ""
+msgstr "समाचार पत्र बदलाव जी॰एन॰यू॰ नेट को लेकर घटना और प्रकाशित के उदाहरण"
 
 #: news/index.html.j2:16 news/oldnews-2018.html.j2:21
 #: news/oldnews-2019.html.j2:21
 msgid "subscribe to our RSS feed"
-msgstr ""
+msgstr "अभिदाता बने हमारे रस्स वेब फ़ीड पर"
 
 #: news/index.html.j2:36 news/oldnews-2018.html.j2:40
 #: news/oldnews-2019.html.j2:40
 msgid "read more"
-msgstr ""
+msgstr "और पड़े"
 
 #: news/index.html.j2:45
 msgid "News archives:"
-msgstr ""
+msgstr "समाचार पुरालेख:"
 
 #: template/about.html.j2:11
 msgid "What is GNUnet?"
-msgstr ""
+msgstr "क्या हे जी॰ एन॰यू॰ नेट?"
 
 #: template/about.html.j2:13
 msgid ""
diff --git a/locale/it/LC_MESSAGES/messages.po 
b/locale/it/LC_MESSAGES/messages.po
index 445bad5..dc4f31e 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2021-03-03 21:41+0100\n"
-"PO-Revision-Date: 2021-03-08 22:24+0000\n"
+"PO-Revision-Date: 2021-03-09 18:35+0000\n"
 "Last-Translator: Sabino Miani <sbn.miani@gmail.com>\n"
 "Language-Team: Italian <http://weblate.taler.net/projects/gnunet/website/it/>"
 "\n"
@@ -363,6 +363,12 @@ msgid ""
 "\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html";
 "\">glossary</a>."
 msgstr ""
+"Esistono molte più risorse che permettono di conoscere GNUnet oltre che il "
+"<a href=\"https://docs.gnunet.org/handbook/gnunet.html\";>manuale</a>, "
+"abbiamo la<a href=\"https://bib.gnunet.org/\";>bibliografia</a> con fogli che "
+"coprono i vari strati, molti<a href=\"https://gnunet.org/en/video.html\"";
+">video</a>o un breve <a href=\"https://gnunet.org/en/glossary.html\"";
+">glossario</a>."
 
 #: template/about.html.j2:95
 msgid ""
@@ -371,6 +377,10 @@ msgid ""
 "html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
 "in various ways."
 msgstr ""
+"Sei sempre il benvenuto <a href=\"engage.html\">quando si tratta di "
+"affrontare conversazioni</a>, <a href=\"install.html\">installare GNUnet</"
+"a>, <a href=\"use.html\">utilizzarlo</a> e <a href=\"engage.html\""
+">contribuire ed impegnarsi</a> in svariati modi."
 
 #: template/about.html.j2:100
 msgid ""
@@ -378,10 +388,13 @@ msgid ""
 "alpha stage when it comes to software &#8211; its not an easy task to "
 "rewrite the whole Internet!"
 msgstr ""
+"Si prega di osservare che questo progetto (nonostante la sua età) quando si "
+"tratta di software è ancora agli inizi della fase alpha &#8211; non è "
+"infatti un compito semplice quello di riscrivere l'internet!"
 
 #: template/about.html.j2:105
 msgid "Current funding"
-msgstr ""
+msgstr "Finanziamento corrente"
 
 #: template/about.html.j2:110
 msgid ""
@@ -389,6 +402,9 @@ msgid ""
 "to document and implement the GNU Name System protocol in a way suitable for "
 "the IETF standardization process."
 msgstr ""
+"Stiamo ricevendo finanziamenti dalla linea di finanziamento Next Generation "
+"Internet di NLnet per documentare ed implementare il protocollo GNU Name "
+"System in modo che sia adatto per i processi di standardizzazione IETF."
 
 #: template/about.html.j2:123
 msgid ""
@@ -400,27 +416,38 @@ msgid ""
 "providers. The project is called \"Decentralized Identities for Self-"
 "Sovereign End-users\" (DISSENS)."
 msgstr ""
+"Questo progetto ha ricevuto finanziamenti dal programma Horizon 2020 ricerca "
+"ed innovazione dell'Unione Europea in base all'accordo sovvenzionato "
+"NGI_TRUST no 825618. Il progetto mira ad integrare re:claimID con il sistema "
+"di pagamento GNUnet in una fase pilota per dimostrare la fattibilità pratica "
+"ed i benefici di una tecnologia che aumenta la privacy di utenti e fornitori "
+"di servizi commerciali. Il progetto è chiamato \"Identità Decentralizzate "
+"per Utenti finali auto sovrani\" (DISSENS)."
 
 #: template/about.html.j2:141
 msgid ""
 "We are grateful for free hosting offered by the following organizations:"
 msgstr ""
+"Siamo grati di poter essere ospitati in modo gratuito dalle seguenti "
+"organizzazioni:"
 
 #: template/about.html.j2:150
 msgid "Past funding"
-msgstr ""
+msgstr "Finanziamenti passati"
 
 #: template/about.html.j2:152
 msgid "We are grateful for past funding from the following organizations:"
 msgstr ""
+"Siamo grati per i passati finanziamenti offerti dalle seguenti "
+"organizzazioni:"
 
 #: template/applications.html.j2:7
 msgid "Applications provided by GNUnet"
-msgstr ""
+msgstr "Applicazioni fornite da GNUnet"
 
 #: template/applications.html.j2:13 template/gns.html.j2:7
 msgid "The GNU Name System"
-msgstr ""
+msgstr "Il GNU Name System"
 
 #: template/applications.html.j2:15
 msgid ""
@@ -432,10 +459,18 @@ msgid ""
 "cryptographically secured. <!-- Too technical: GNS integrates a robust, "
 "efficient and instant key revocation mechanism. -->"
 msgstr ""
+"Il <a href=\"gns.html\">GNU Name System (GNS)</a> è un rimpiazzo "
+"decentralizzato per il Domain Name System (DNS). Piuttosto che far uso di "
+"una gerarchia, GNS sfrutta un grafico diretto. Le convenzioni per "
+"denominazione sono più simili al DNS, ma quesiti e risposte sono privati "
+"anche verso i colleghi che forniscono le risposte. L'integrità dei registri "
+"e la privacy delle ricerche è criptograficamente sicura.\n"
+"<!-- Troppo tecnico: GNS integra un robusto, efficiente ed istantaneo "
+"meccanismo chiave di revoca. -->"
 
 #: template/applications.html.j2:38
 msgid "Self-sovereign, decentralized identity provider"
-msgstr ""
+msgstr "Fornitore di identità auto-sovrana, decentralizzata"
 
 #: template/applications.html.j2:40
 msgid ""
@@ -444,10 +479,15 @@ msgid ""
 "allows users to securely share personal information with websites using "
 "standardized protocols (OpenID Connect)."
 msgstr ""
+"<a href=\"https://reclaim.gnunet.org/\";>re:claimID</a> è un servizio "
+"Identity Provider (IdP) decentralizzato costruito al di sopra del GNU Name "
+"System. Permette agli utenti di condividere in modo sicuro informazioni "
+"personali con siti web utilizzando protocolli standardizzati (OpenID "
+"Connect)."
 
 #: template/applications.html.j2:57
 msgid "Filesharing (Alpha)"
-msgstr ""
+msgstr "Condivisione di file (Alpha)"
 
 #: template/applications.html.j2:59
 msgid ""
@@ -455,10 +495,14 @@ msgid ""
 "to provide censorship-resistant, anonymous filesharing. The publisher is "
 "empowered to make a gradual choice between performance and anonymity."
 msgstr ""
+"GNUnet <a href=\"use.html#fs\">filesharing</a> è una applicazione che mira a "
+"fornire una condivisione di file che sia resistente alla censura ed anonimo. "
+"L'editore è autorizzato a compiere scelte graduali tra performance ed "
+"anonimato."
 
 #: template/applications.html.j2:73
 msgid "Conversation (Pre-Alpha)"
-msgstr ""
+msgstr "Conversation (Pre-Alpha)"
 
 #: template/applications.html.j2:75
 msgid ""
@@ -466,14 +510,17 @@ msgid ""
 "communication in a fully decentralized way by employing GNUnet for routing "
 "and transport."
 msgstr ""
+"GNUnet conversation è un applicazione che fornisce una comunicazione vocale "
+"sicura in maniera completamente decentralizzata sfruttando GNUnet per il "
+"routing ed il trasporto."
 
 #: template/applications.html.j2:91
 msgid "Applications utilizing GNUnet"
-msgstr ""
+msgstr "Applicazioni che utilizzano GNUnet"
 
 #: template/applications.html.j2:97
 msgid "GNU Taler (Alpha)"
-msgstr ""
+msgstr "GNU Taler (Alpha)"
 
 #: template/applications.html.j2:99
 msgid ""
@@ -481,10 +528,14 @@ msgid ""
 "electronic payment system. Payments are cryptographically secured and are "
 "confirmed within milliseconds with extremely low transaction costs."
 msgstr ""
+"<a href=\"https://taler.net/\";>GNU Taler</a> è un nuovo sistema di pagamento "
+"elettronico che preserva la privacy. I pagamenti sono criptograficamente "
+"sicuri e vengono confermati nell'arco dei millisecondi con costi di "
+"transazioni estremamente bassi."
 
 #: template/applications.html.j2:118
 msgid "secushare"
-msgstr ""
+msgstr "secushare"
 
 #: template/applications.html.j2:120
 msgid ""
@@ -493,10 +544,14 @@ msgid ""
 "the extensible PSYC protocol, notifications are distributed end-to-end "
 "encrypted to authorized recipients only."
 msgstr ""
+"<a href=\"https://secushare.org/\";>secushare</a> sta creando un'applicazione "
+"di social network decentralizzata al di sopra di GNUnet. Sfruttando overlay "
+"multicast ed il protocollo estensibile PSYC, le notifiche criptate da un "
+"capo all'altro vengono distribuite solamente a destinatari autorizzati."
 
 #: template/applications.html.j2:139
 msgid "pretty Easy privacy"
-msgstr ""
+msgstr "pretty Easy privacy"
 
 #: template/applications.html.j2:141
 msgid ""
@@ -505,10 +560,15 @@ msgid ""
 "key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
 "cryptographic protocols to verify keys."
 msgstr ""
+"<a href=\"https://pep.foundation/\";>pretty Easy privacy</a> (p&#8801;p) è "
+"creare una soluzione per posta elettronica utilizzabile in modo "
+"crittografato sfruttando opportunamente uno scambio di chiavi. p&#8801;p "
+"sfrutterà GNUnet per proteggere metadati ed utilizzare nuovi protocolli "
+"crittografati per verificare le chiavi."
 
 #: template/applications.html.j2:160
 msgid "Cadet-GTK"
-msgstr ""
+msgstr "Cadet-GTK"
 
 #: template/applications.html.j2:162
 msgid ""
@@ -517,10 +577,15 @@ msgid ""
 "especially the CADET subsystem. It is developed using GTK and libhandy for a "
 "convergent design."
 msgstr ""
+"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\";>Cadet-GTK</a> è "
+"un'applicazione grafica conveniente ma allo stesso tempo ricca di "
+"funzionalità che fornisce messaggistica utilizzando sopratutto il "
+"sottosistema CADET. È sviluppata facendo uso di GTK e libhandy per un design "
+"convergente."
 
 #: template/applications.html.j2:180
 msgid "groupchat"
-msgstr ""
+msgstr "groupchat"
 
 #: template/applications.html.j2:182
 msgid ""
@@ -529,14 +594,18 @@ msgid ""
 "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to "
 "be compatible."
 msgstr ""
+"<a href=\"https://git.gnunet.org/groupchat.git/\";>groupchat</a> è un "
+"terminale di interfaccia utente che fornisce messaggistica utilizzando in "
+"modo particolare il sottosistema CADET. Si sta sviluppando tramite nim. "
+"Cadet-GTK e groupchat saranno compatibili."
 
 #: template/architecture.html.j2:6
 msgid "GNUnet System Architecture"
-msgstr ""
+msgstr "L'architettura del sistema GNUnet"
 
 #: template/architecture.html.j2:20
 msgid "Foundations"
-msgstr ""
+msgstr "Foundations"
 
 #: template/architecture.html.j2:22
 msgid ""
diff --git a/locale/ja/LC_MESSAGES/messages.po 
b/locale/ja/LC_MESSAGES/messages.po
index d00ebf8..1b39288 100644
--- a/locale/ja/LC_MESSAGES/messages.po
+++ b/locale/ja/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 "POT-Creation-Date: 2021-03-03 21:41+0100\n"
-"PO-Revision-Date: 2021-03-05 22:52+0000\n"
+"PO-Revision-Date: 2021-03-09 18:35+0000\n"
 "Last-Translator: Kanoko Kondo <yves0625@gmail.com>\n"
 "Language-Team: Japanese <http://weblate.taler.net/projects/gnunet/website/ja/";
 ">\n"
@@ -25,7 +25,6 @@ msgid "GNUnet"
 msgstr "GNUnet"
 
 #: common/base.j2:6 common/news.j2:6
-#, fuzzy
 msgid "GNU's framework for secure p2p networking"
 msgstr "安全な P2P ネットワーキングを可能にする GNU のフレームワーク"
 
@@ -342,6 +341,10 @@ msgid ""
 "href=\"https://gnunet.org/en/video.html\";>videos</a> or a brief <a "
 "href=\"https://gnunet.org/en/glossary.html\";>glossary</a>."
 msgstr ""
+"GNUnet の詳細については、<a href=\"https://docs.gnunet.org/handbook/gnunet.html\"";
+">ハンドブック</a>以外にも多くのリソースがあり、一例としては、多角的な視点での論文を集めた<a href=\"https://bib.gnunet.";
+"org/\">参考文献</a>、各種<a href=\"https://gnunet.org/en/video.html\";>動画</a>、簡潔な<a "
+"href=\"https://gnunet.org/en/glossary.html\";>用語集</a>などが挙げられます。"
 
 #: template/about.html.j2:95
 msgid ""
@@ -350,17 +353,20 @@ msgid ""
 "href=\"use.html\">use it</a> and <a href=\"engage.html\">contribute and "
 "get engaged</a> in various ways."
 msgstr ""
+"<a href=\"engage.html\">会話に参加する</a>、<a href=\"install.html\">GNUnet "
+"をインストールする</a>、<a href=\"use.html\">実際に利用する</a>、<a href=\"engage.html\""
+">貢献して参加する</a>など、さまざまな方法で活用いただけます。"
 
 #: template/about.html.j2:100
 msgid ""
 "Please be aware that this project is (despite of it's age) still in an "
 "early alpha stage when it comes to software &#8211; its not an easy task "
 "to rewrite the whole Internet!"
-msgstr ""
+msgstr "このプロジェクトは、ソフトウェア&#8211;に関してまだ初期のアルファ段階にあり、インターネット全体の書き換えはまだ現実的ではありません。"
 
 #: template/about.html.j2:105
 msgid "Current funding"
-msgstr ""
+msgstr "現在の資金調達"
 
 #: template/about.html.j2:110
 msgid ""
@@ -368,6 +374,8 @@ msgid ""
 "line to document and implement the GNU Name System protocol in a way "
 "suitable for the IETF standardization process."
 msgstr ""
+"NLnet の次世代インターネット資金ラインから支援を受け、IETF 標準化プロセスに適合させる形で GNU "
+"ネームシステムプロトコルを文書化し、実装しています。"
 
 #: template/about.html.j2:123
 msgid ""
@@ -379,26 +387,31 @@ msgid ""
 "commercial service providers. The project is called \"Decentralized "
 "Identities for Self-Sovereign End-users\" (DISSENS)."
 msgstr ""
+"このプロジェクトは、欧州連合の「Horizon 2020」研究・イノベーションプログラムから NGI_TRUST 補助金契約 No. 825618 "
+"に基づき資金を受け取っています。本プロジェクトは、re:claimID および、試験段階にある GNU Taler 支払いシステムを統合することで、ユーザ"
+"ーと商用サービスプロバイダーに向け、実用への可能性とプライバシー向上技術の利点を証明することを目指しています。プロジェクトは「Decentralized "
+"Identities for Self-Sovereign End-uers(DISSENS:自己主権を持つエンドユーザーのための脱中央型 "
+"ID)」と呼ばれます。"
 
 #: template/about.html.j2:141
 msgid "We are grateful for free hosting offered by the following 
organizations:"
-msgstr ""
+msgstr "次の組織により無料でホスティングを提供いただいています。"
 
 #: template/about.html.j2:150
 msgid "Past funding"
-msgstr ""
+msgstr "過去の資金提供"
 
 #: template/about.html.j2:152
 msgid "We are grateful for past funding from the following organizations:"
-msgstr ""
+msgstr "これまで資金援助いただいた組織は次の通りです。"
 
 #: template/applications.html.j2:7
 msgid "Applications provided by GNUnet"
-msgstr ""
+msgstr "GNUnet が提供するアプリケーション"
 
 #: template/applications.html.j2:13 template/gns.html.j2:7
 msgid "The GNU Name System"
-msgstr ""
+msgstr "GNU ネームシステム"
 
 #: template/applications.html.j2:15
 msgid ""
@@ -410,10 +423,15 @@ msgid ""
 "look-ups is cryptographically secured. <!-- Too technical: GNS integrates"
 " a robust, efficient and instant key revocation mechanism. -->"
 msgstr ""
+"<a href=\"gns.html\">GNU "
+"ネームシステム(GNS)</a>は、ドメインネームシステム(DNS)が完全に分散されたもので、その代替です。GNU "
+"は階層構造に代わり有向グラフを使用します。命名規則は DNS に類似していますが、クエリと応答は、回答をするピアに関してもプライベートです。レコードの完全"
+"性とルックアップのプライバシーはセキュアに暗号化されます。<!-- Too technical: GNS integrates a robust, "
+"efficient and instant key revocation mechanism. -->"
 
 #: template/applications.html.j2:38
 msgid "Self-sovereign, decentralized identity provider"
-msgstr ""
+msgstr "自己主権型、脱中央型の IdP"
 
 #: template/applications.html.j2:40
 msgid ""
@@ -422,10 +440,14 @@ msgid ""
 "allows users to securely share personal information with websites using "
 "standardized protocols (OpenID Connect)."
 msgstr ""
+"<a href=\"https://reclaim.gnunet.org/\";>re:claimID</a> は分散型のアイデンティティ "
+"プロバイダ(IdP)サービスであり、GNU "
+"ネームシステムの上位に組み込まれています。これによりユーザーは、標準化されたプロトコルを使い、ウェブサイトから個人情報を安全に共有することができます("
+"OpenID Connect)。"
 
 #: template/applications.html.j2:57
 msgid "Filesharing (Alpha)"
-msgstr ""
+msgstr "ファイル共有(アルファ)"
 
 #: template/applications.html.j2:59
 msgid ""
@@ -434,10 +456,12 @@ msgid ""
 "publisher is empowered to make a gradual choice between performance and "
 "anonymity."
 msgstr ""
+"GNUnet の<a href=\"use.html#fs\">ファイル共有</a>は、検閲耐性と匿名性を備えたファイル共有を目指すアプリケーションです。"
+"発行者は、パフォーマンスと匿名性の度合いを自在に選択することができます。"
 
 #: template/applications.html.j2:73
 msgid "Conversation (Pre-Alpha)"
-msgstr ""
+msgstr "カンバセーション(プレアルファ)"
 
 #: template/applications.html.j2:75
 msgid ""
@@ -445,14 +469,16 @@ msgid ""
 "communication in a fully decentralized way by employing GNUnet for "
 "routing and transport."
 msgstr ""
+"GNUnet カンバセーションは、ルーティングとトランスポートに GNUnet "
+"を採用することにより、完全分散型の安全な音声通話を提供するアプリケーションです。"
 
 #: template/applications.html.j2:91
 msgid "Applications utilizing GNUnet"
-msgstr ""
+msgstr "GNUnet を利用するアプリケーション"
 
 #: template/applications.html.j2:97
 msgid "GNU Taler (Alpha)"
-msgstr ""
+msgstr "GNU Taler(アルファ)"
 
 #: template/applications.html.j2:99
 msgid ""
@@ -460,10 +486,12 @@ msgid ""
 "electronic payment system. Payments are cryptographically secured and are"
 " confirmed within milliseconds with extremely low transaction costs."
 msgstr ""
+"<a href=\"https://taler.net/\";>GNU Taler</a> "
+"は、プライバシーを保護する新しい電子決済システムです。決済はセキュアに暗号化され、数ミリ秒で完了、トランザクションも大変低コストです。"
 
 #: template/applications.html.j2:118
 msgid "secushare"
-msgstr ""
+msgstr "secushare"
 
 #: template/applications.html.j2:120
 msgid ""
@@ -472,10 +500,13 @@ msgid ""
 "overlay multicast and the extensible PSYC protocol, notifications are "
 "distributed end-to-end encrypted to authorized recipients only."
 msgstr ""
+"<a href=\"https://secushare.org/\";>secushare</a> は、GNUnet 上に分散型ソーシャルネットワーキング "
+"アプリケーションを作成しています。オーバーレイ マルチキャスト、拡張可能な PSYC "
+"プロトコル、通知機能がエンドツーエンドで暗号化され、承認済みの受信者にのみ配信されます。"
 
 #: template/applications.html.j2:139
 msgid "pretty Easy privacy"
-msgstr ""
+msgstr "pretty Easy privacy"
 
 #: template/applications.html.j2:141
 msgid ""
@@ -484,10 +515,13 @@ msgid ""
 "opportunistic key exchange. p&#8801;p will use GNUnet to protect metadata"
 " and exploit new cryptographic protocols to verify keys."
 msgstr ""
+"<a href=\"https://pep.foundation/\";>pretty Easy privacy</a>(p&#8801;p)は、日和見鍵交"
+"換を使用して、実用性のあるエンドツーエンドで暗号化された電子メールソリューションを作成しています。p&#8801;p は GNUnet "
+"によりメタデータを保護し、新たな暗号化プロトコルで鍵を検証します。"
 
 #: template/applications.html.j2:160
 msgid "Cadet-GTK"
-msgstr ""
+msgstr "Cadet-GTK"
 
 #: template/applications.html.j2:162
 msgid ""
@@ -496,10 +530,13 @@ msgid ""
 "messaging using especially the CADET subsystem. It is developed using GTK"
 " and libhandy for a convergent design."
 msgstr ""
+"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\";>Cadet-GTK</a> は、"
+"高い利便性と豊富な機能を備えたグラフィカル アプリケーションで、特に CADET サブシステムを使用してメッセージ機能を提供します。GTK と "
+"libhandy を利用して開発されいます。"
 
 #: template/applications.html.j2:180
 msgid "groupchat"
-msgstr ""
+msgstr "groupchat"
 
 #: template/applications.html.j2:182
 msgid ""
@@ -508,14 +545,17 @@ msgid ""
 "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned"
 " to be compatible."
 msgstr ""
+"<a href=\"https://git.gnunet.org/groupchat.git/\";>groupchat</a> は、主に CADET "
+"サブシステムを使用してメッセージ機能を提供するターミナル ユーザーインターフェースです。開発言語は Nim で、将来的には Cadet-GTK と "
+"groupchat と互換性を持つ予定です。"
 
 #: template/architecture.html.j2:6
 msgid "GNUnet System Architecture"
-msgstr ""
+msgstr "GNUnet システム アーキテクチャ"
 
 #: template/architecture.html.j2:20
 msgid "Foundations"
-msgstr ""
+msgstr "基盤"
 
 #: template/architecture.html.j2:22
 msgid ""
@@ -525,10 +565,14 @@ msgid ""
 "Using public keys for addresses and self-organized decentralized routing "
 "algorithms, these subsystems replace the traditional TCP/IP stack."
 msgstr ""
+"GNUnet の基盤は、分散ハッシュ テーブル(R5N)、SCTP に類似したエンド ツー "
+"エンドの暗号化メッセージング層(CADET)、公開鍵基盤(GNS)、プラグ可能なトランスポート "
+"システム(TRANSPORT)です。<br>これらのサブシステムは、アドレスや自己組織する分散型ルーティング アルゴリズムに公開鍵を使用し、従来の "
+"TCP/IP スタックに代替するものです。"
 
 #: template/architecture.html.j2:35
 msgid "Security"
-msgstr ""
+msgstr "セキュリティ"
 
 #: template/architecture.html.j2:38
 msgid ""
@@ -538,34 +582,37 @@ msgid ""
 "implementation is a <a href=\"https://www.gnu.org/\";>GNU</a> package, and"
 " will always remain free software."
 msgstr ""
+"GNUnet はマルチプロセス "
+"アーキテクチャを使用して実装されます。各サブシステムは別々のプロセスとして実行され、問題の切り分けや厳格な権限付与がサブシステム毎に可能です。そのため、"
+"実装は<a href=\"https://www.gnu.org/\";> GNU</a> パッケージであり、その後も自由ソフトウェアであり続けます。"
 
 #: template/architecture.html.j2:52
 msgid "System architecture"
-msgstr ""
+msgstr "システム アーキテクチャ"
 
 #: template/architecture.html.j2:58
 msgid "Subsystems"
-msgstr ""
+msgstr "サブシステム"
 
 #: template/architecture.html.j2:67
 msgid "libgnunetutil"
-msgstr ""
+msgstr "libgnunetutil"
 
 #: template/architecture.html.j2:73
 msgid "APIs"
-msgstr ""
+msgstr "API"
 
 #: template/architecture.html.j2:86
 msgid "Legend"
-msgstr ""
+msgstr "凡例"
 
 #: template/contact.html.j2:6
 msgid "Contact information"
-msgstr ""
+msgstr "お問い合わせ"
 
 #: template/contact.html.j2:11
 msgid "The mailing list"
-msgstr ""
+msgstr "メーリングリスト"
 
 #: template/contact.html.j2:13
 msgid ""
@@ -575,10 +622,14 @@ msgid ""
 "developers</a>. You can send messages to the list at <a href=\"mailto"
 ":gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
 msgstr ""
+"GNUnet の公開メーリング リストのアーカイブは<a href=\"https://lists.gnu.org/mailman/listinfo/";
+"gnunet-developers\">https://lists.gnu.org/mailman/listinfo/gnunet-";
+"developers</a>にホストされています。このリストへのメッセージは<a href=\"mailto:gnunet-developers@gnu.";
+"org\">gnunet-developers@gnu.org</a>から送信できます。"
 
 #: template/contact.html.j2:23
 msgid "The IRC channel"
-msgstr ""
+msgstr "IRC チャネル"
 
 #: template/contact.html.j2:25
 msgid ""
@@ -587,10 +638,13 @@ msgid ""
 
"href=\"https://view.matrix.org/room/!IjaAfLiruzjxFFzKAV:matrix.org/\";>archive</a>"
 " available."
 msgstr ""
+"<tt>#gnune</tt>は<a href=\"https://freenode.net\";>irc.freenode."
+"net</a>からアクセスできます。また、<a href=\"https://view.matrix.org/room/";
+"!IjaAfLiruzjxFFzKAV:matrix.org/\">アーカイブ</a>はこちらです。"
 
 #: template/contact.html.j2:38
 msgid "Contacting individuals"
-msgstr ""
+msgstr "個人へのお問い合わせ"
 
 #: template/contact.html.j2:40
 msgid ""
@@ -600,10 +654,14 @@ msgid ""
 "issues may be addressed to the GNU maintainers <tt>schanzen</tt> and "
 "<tt>grothoff</tt>."
 msgstr ""
+"GNUnet 開発者へのご連絡は、通常 <tt>PSEUDONYM@gnunet.org</tt> または <tt>LASTNAME@gnunet."
+"org</tt> から可能です。ほとんどのメンバーは GnuPG "
+"暗号化メールの受信に対応しています。緊急の場合や機密性の高いセキュリティ関連の問題については、GNU 保守を担当する <tt> schanzen</"
+"tt> および <tt> grothoff</tt> までご連絡ください。"
 
 #: template/contact.html.j2:53
 msgid "Reporting bugs"
-msgstr ""
+msgstr "バグの報告"
 
 #: template/contact.html.j2:55
 msgid ""
@@ -613,6 +671,9 @@ msgid ""
 "href=\"https://lists.gnu.org/mailman/listinfo/bug-gnunet\";>bug-gnunet</a>"
 " mailing list. The mailinglist requires no subscription."
 msgstr ""
+"GNUnet 内の各種プロジェクトの公開機能リクエストやバグは、<a href=\"https://bugs.gnunet.org/\";>バグ "
+"トラッカー</a>で管理しています。バグの報告や機能リクエストは、<a href=\"https://lists.gnu.org/mailman/";
+"listinfo/bug-gnunet\">bug-gnunet</a> のメーリングリストからも送信できます。メーリングリストへの登録は必要ありません。"
 
 #: template/copyright.html.j2:11
 msgid ""
@@ -623,6 +684,10 @@ msgid ""
 " agreement on licensing and collaborative development</a> of the GNUnet "
 "and GNU Taler projects is satisfied. </p>"
 msgstr ""
+"<p>GNUnet の参加者で Git を使われている場合、<a href=\"/static/pdf/copyright.pdf\""
+">著作権譲渡書</a>に合意し、GNUnet および GNU Taler プロジェクトの「<a href=\"https://git.gnunet.";
+"org/gnunet-ev.git/tree/gnunet_taler_agreement.tex\">GNUnet e.V. --- "
+"ライセンスと共同開発についての Taler システム SA 合意</a>」に順守することが必要となります。</p>"
 
 #: template/copyright.html.j2:22
 msgid ""
@@ -632,6 +697,8 @@ msgid ""
 "give the company the ability to dual-license (for example, so that we can"
 " distribute via App-stores that are hostile to free software).</p>"
 msgstr ""
+"<p>本合意により、今後も自由ソフトウェア ライセンスのもとでコードの公開が可能となり、開発者は GNUnet と GNU Taler の両方の許諾を得な"
+"くても双方でプログラムのコードを使うことができます。(例えば、自由ソフトウェアに好意的でないアプリストアを通じた配布も可能となります。)</p>"
 
 #: template/copyright.html.j2:30
 msgid ""
@@ -640,30 +707,34 @@ msgid ""
 " this case simply sign the agreement with your pseudonym. Scanned copies "
 "are sufficient, but snail mail is preferred.</p>"
 msgstr ""
+"<p>Git アクセス権のない方のご協力については、著作権譲渡書は不要です。偽名でご協力いただくことも可能ですが、著作権譲渡書も同じ偽名で署名してください"
+"。スキャンしたコピーも受け付けていますが、郵送を推奨しています。</p>"
 
 #: template/developers.html.j2:5
 msgid "GNUnet for developers"
-msgstr ""
+msgstr "開発者向け GNUnet"
 
 #: template/developers.html.j2:13
 msgid "Repositories"
-msgstr ""
+msgstr "レポジトリ"
 
 #: template/developers.html.j2:16
 msgid ""
 "A list of our Git repositories can be found on our our <a "
 "href=\"https://git.gnunet.org/\";>Git Server</a>."
 msgstr ""
+"Git レポジトリのリストは <a href=\"https://git.gnunet.org/\";>Git Server</a> "
+"からご確認いただけます。"
 
 #: template/developers.html.j2:27
 msgid ""
 "Technical papers can be found in our <a "
 "href=\"https://old.gnunet.org/bibliography\";>bibliography</a>."
-msgstr ""
+msgstr "技術論文は<a href=\"https://old.gnunet.org/bibliography\";>参考文献</a>に掲載しています。"
 
 #: template/developers.html.j2:34
 msgid "Discussion"
-msgstr ""
+msgstr "ディスカッション"
 
 #: template/developers.html.j2:37
 msgid ""
@@ -672,10 +743,13 @@ msgid ""
 "/gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-";
 "developers</a>."
 msgstr ""
+"開発者向けディスカッション用にメーリングリストを用意しています。登録やアーカイブの閲覧は、<a href=\"http://lists.gnu.org/";
+"mailman/listinfo/gnunet-developers\">http://lists.gnu.org/mailman/listinfo/";
+"gnunet-developers</a> から可能です。"
 
 #: template/developers.html.j2:47
 msgid "Regression Testing"
-msgstr ""
+msgstr "回帰テスト"
 
 #: template/developers.html.j2:50
 msgid ""
@@ -683,10 +757,13 @@ msgid ""
 "to detect regressions and check for portability at <a "
 
"href=\"https://old.gnunet.org/buildbot/gnunet/\";>https://old.gnunet.org/buildbot/gnunet/</a>."
 msgstr ""
+"リグレッションの検出と移植性の確認のため、<a href=\"https://old.gnunet.org/buildbot/gnunet/\"";
+">https://old.gnunet.org/buildbot/gnunet/</a> で <a href=\"https://buildbot.";
+"net/\">Buildbot</a> 自動テストを実施しています。"
 
 #: template/developers.html.j2:59
 msgid "Code Coverage Analysis"
-msgstr ""
+msgstr "コード カバレッジ分析"
 
 #: template/developers.html.j2:62
 msgid ""
@@ -695,10 +772,13 @@ msgid ""
 "<a "
 
"href=\"https://old.gnunet.org/coverage/\";>https://old.gnunet.org/coverage/</a>."
 msgstr ""
+"<a href=\"http://ltp.sourceforge.net/coverage/lcov.php\";>LCOV</a> によりテストのコード "
+"カバレッジを分析しており、結果は <a href=\"https://old.gnunet.org/coverage/\";>https://old.";
+"gnunet.org/coverage/</a> から参照可能です。"
 
 #: template/developers.html.j2:72
 msgid "Performance Analysis"
-msgstr ""
+msgstr "パフォーマンス分析"
 
 #: template/developers.html.j2:75
 msgid ""
diff --git a/news/2011-11-24-archived-vfork.html.j2 
b/news/2011-11-24-archived-vfork.html.j2
new file mode 100644
index 0000000..61249c3
--- /dev/null
+++ b/news/2011-11-24-archived-vfork.html.j2
@@ -0,0 +1,62 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+  <h1>vfork and the signal race</h1>
+<p>
+  <b>This is an imported news item from the old Drupal GNUnet homepage.</b>
+</p>
+<p>
+Many articles uniformly claim that using vfork should be
+<a 
href="https://web.archive.org/web/20150924082249/http://tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-vfork.html";>avoided</a>
+and that the only difference between vfork and fork is (or used-to-be)
+<a 
href="https://web.archive.org/web/20150924082249/http://www.unixguide.net/unix/programming/1.1.2.shtml";>performance</a>
+and that thus vfork is
+<a 
href="https://web.archive.org/web/20150924082249/http://stackoverflow.com/questions/4856255/the-difference-between-fork-vfork-exec-and-clone";>obsolete</a>.
+Here, I wanted to document a technical case where vfork is actually required 
and where using fork instead of vfork (or operating system implementors 
implementing vfork as an alias for fork) causes a hard-to-find data race.
+</p>
+<p>
+GNUnet uses a hypervisor process (gnunet-service-arm) to control the peer's 
service processes. Services are started (vfork+exec) on-demand. The hypervisor 
is also responsible for stopping the services and sends a SIGTERM signal to the 
services to stop them. SIGTERM must be used to allow the services to shutdown 
gracefully. Naturally, after shutting down a service with a signal, the 
hypervisor waits for SIGCHILD and then cleans up with waitpid. Once all 
services processes have completed,  [...]
+</p>
+<p>
+The reason why we must use vfork is the following. After the hypervisor has 
started the service, it might be asked to stop the service at any time. We've 
actually managed (by scripting it) to reliably trigger a case where the 
hypervisor would start a service (fork) and then receive a request to terminate 
the service and issues the SIGTERM signal to the child before the child process 
had a chance to call exec. As a result, the SIGTERM would go to the (existing) 
handler of the hypervisor's [...]
+</p>
+<p>
+If exec wins, the signal either kills the process hard during the service 
startup phase, which is fine, or the service process might handle it normally 
and terminate --- also fine).
+</p>
+<p>
+If kill wins the race, the signal would be lost and the hypervisor would wait 
'forever' for the child to terminate.
+</p>
+<p>
+The solution with vfork is elegant and simple: by blocking the parent, vexec 
guarantees that the parent's signal handler is no longer active (and replaced 
by default handlers or the child's custom handlers) by the time the parent is 
able to issue a 'kill'.
+</p>
+<p>
+In conclusion, with parents that issue 'kill' on child processes, the use of 
vfork can make an important semantic difference and not only (possibly) offer 
performance advantages. The situation above cannot be easily fixed by other 
means and thus vfork is an important POSIX call that should be supported 
properly by all quality implementations. A possible hack to work around a lack 
of vfork would be to create a pipe in the parent, set it to close-on-exec, fork 
the child, close the write en [...]
+</p>
+<p>
+Currently, gnunet-service-arm can hang indefinitely on systems that do not 
provide a correct implementation of vfork (however, in practice normal users 
should never encounter this).
+</p>
+<p>
+<b>better suggestion from Thomas Bushnell</b>
+<br>
+I just got an alternative suggestion to using either a pipe and vfork from 
Thomas Bushnell, which I like and will use:
+
+"The hypervisor at start creates a global variable hypervisor_pid, initialized 
from getpid().
+
+The signal handler in the hypervisor then does this:
+<br>
+<code class="block">
+if getpid() == hypervisor_pid<br>
+  kill_all_children_and_exit();<br>
+else<br>
+  exit();<br>
+</code>
+
+In this way, if the child is between fork and exec when the parent gets its 
kill, and then it tries to kill the child, and the kill happens before the 
child execs (the problematic case you describe), then the child simply enters 
the hypervisor's signal handler, notices that it's not the hypervisor, and 
exits.
+<br>
+Thomas"
+<br>
+Thanks for the suggestion!
+</p>
+<p>
+Thomas's suggestion is all fine and well, except that it doesn't work on OS X. 
As the attached simple program "killing-child-kills-parent.c" demonstrates, OS 
X manages to sometimes either deliver the signal to the wrong process (?) or 
not update getpid() between fork+exec or is otherwise generally broken. The 
program simply installs a signal handler in the parent with the guard suggested 
by Thomas, then forks + exec's "sleep" and then immediately kills the child. So 
we expect the signal  [...]
+</p>
+{% endblock body_content %}
diff --git a/news/2013-12-28-archived-typos-pkeys.html.j2 
b/news/2013-12-28-archived-typos-pkeys.html.j2
new file mode 100644
index 0000000..a541ef9
--- /dev/null
+++ b/news/2013-12-28-archived-typos-pkeys.html.j2
@@ -0,0 +1,16 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+  <h1>Typo-Protected Public Keys</h1>
+<p>
+  <b>This is an imported news item from the old Drupal GNUnet homepage.</b>
+</p>
+<p>
+When users type in public keys (such as the 53-characters of a GNS zone), they 
might make typos. The usual way to fix typos is to add a checksum, further 
increasing the length of the sequence that has to be typed in.
+<br>
+We can fix this by including the checksum of the public key in the public key 
itself, simply by trying new private keys until the corresponding public key 
happens to have a checksum (over the other bits) in the bits designated for the 
checksum. If a checksum is 16 bits, we would only need to try 216 keys. The 
basic idea of brute-forcing keys to match a particular pattern <a 
href="https://web.archive.org/web/20141008173738/https://bitcointalk.org/index.php?topic=84569.0";>was
 proposed befo [...]
+</p>
+<p>
+<b>Acknowledgements</b><br/>
+The idea popped up in a discussion on the need for short public keys for GNS 
with Dan Bernstein and Tanja Lange at 30c3.
+</p>
+{% endblock body_content %}
diff --git a/news/oldnews-2019.html.j2 b/news/oldnews-2011.html.j2
similarity index 100%
copy from news/oldnews-2019.html.j2
copy to news/oldnews-2011.html.j2
diff --git a/news/oldnews-2019.html.j2 b/news/oldnews-2013.html.j2
similarity index 100%
copy from news/oldnews-2019.html.j2
copy to news/oldnews-2013.html.j2
diff --git a/www.yml b/www.yml
index aefc362..76aaec9 100644
--- a/www.yml
+++ b/www.yml
@@ -198,6 +198,12 @@ newsposts:
     title: GNUnet 0.11.0pre66
     abstract:
     content:
+  - page: 2013-12-28-archived-typos-pkeys.html
+    date: 2013-12-28
+    title: Typo-Protected Public Keys
+  - page: 2011-11-24-archived-vfork.html
+    date: 2011-11-24
+    title: vfork and the signal race
 # <!-- FIXME 2015: source only available on yt. <li>Ludovic Courtès, <a 
href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> -->
 # <!-- FIXME 2014: no source link on web. <li>Julian Kirsch, <a 
href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> -->
 # <!-- FIXME 2014: no source link on web. <li>Peter Schaar, <a 
href="">"Technik, Recht und Überwachung"</a>, Technische Universität 
München</li> -->

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]