[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 02/02: ZONEMASTER: Merge monitor into zonemaster process
From: |
gnunet |
Subject: |
[gnunet] 02/02: ZONEMASTER: Merge monitor into zonemaster process |
Date: |
Tue, 18 Oct 2022 08:30:38 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
commit 37f81821bc98f2342185a4bec3de044000be3596
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Tue Oct 18 15:30:28 2022 +0900
ZONEMASTER: Merge monitor into zonemaster process
---
po/POTFILES.in | 1 +
po/de.po | 109 ++--
po/es.po | 118 ++--
po/fr.po | 109 ++--
po/it.po | 109 ++--
po/sr.po | 117 ++--
po/sv.po | 109 ++--
po/vi.po | 109 ++--
po/zh_CN.po | 109 ++--
src/gnsrecord/gnsrecord_misc.c | 25 +-
src/zonemaster/Makefile.am | 16 +-
src/zonemaster/gnunet-service-zonemaster-monitor.c | 612 ---------------------
src/zonemaster/gnunet-service-zonemaster.c | 283 +++++++++-
src/zonemaster/zonemaster.conf.in | 18 -
14 files changed, 753 insertions(+), 1091 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 80d8c1082..116033d20 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -249,6 +249,7 @@ src/namestore/gnunet-service-namestore.c
src/namestore/gnunet-zoneimport.c
src/namestore/namestore_api.c
src/namestore/namestore_api_monitor.c
+src/namestore/plugin_namestore_flat.c
src/namestore/plugin_namestore_postgres.c
src/namestore/plugin_namestore_sqlite.c
src/namestore/plugin_rest_namestore.c
diff --git a/po/de.po b/po/de.po
index a548cf3b2..d5bc9a3ad 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.10.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2015-03-08 16:16+0100\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -1884,17 +1884,17 @@ msgstr "`%s' an `%s' schlug fehl bei %s:%d mit dem
Fehler: %s\n"
msgid "Mysql database running\n"
msgstr "MySQL-Datenbank läuft\n"
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
#, fuzzy
msgid "Failed to drop table from database.\n"
msgstr "Fehler beim Binden an UDP Port %d.\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr "PostgreSQL-Datenbank läuft\n"
@@ -1908,7 +1908,7 @@ msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3763,32 +3763,28 @@ msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Beschädigte Antwort auf `%s' von Knoten `%s' empfangen.\n"
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Unbekannte Anfrageart %d empfangen bei %s:%d\n"
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Keine Schlüsselwörter angegeben!\n"
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -3979,13 +3975,15 @@ msgid "Properly base32-encoded public key required"
msgstr "# Bytes empfangen über TCP"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
#, fuzzy
msgid "Failed to connect to the namecache!\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
#, fuzzy
msgid "Could not connect to DHT!\n"
msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n"
@@ -4811,25 +4809,25 @@ msgstr "Sqlite-Datenbank läuft\n"
msgid "Failed to setup database at `%s'\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "GNUnet Konfiguration"
@@ -5137,22 +5135,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr ""
-#: src/namestore/gnunet-service-namestore.c:950
-#, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr ""
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Fehler beim Anlegen des Tunnels\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "=\tFehler beim Lesen des Verzeichnisses.\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "Verbindung fehlgeschlagen: %s\n"
@@ -5182,7 +5175,7 @@ msgstr "Es konnte keine Verbindung mit gnunetd
hergestellt werden.\n"
msgid "SQlite database running\n"
msgstr "Sqlite-Datenbank läuft\n"
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -5762,43 +5755,43 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5885,7 +5878,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -6687,17 +6680,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
@@ -6897,18 +6890,18 @@ msgstr "# HELLO-Meldungen empfangen"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -8010,7 +8003,7 @@ msgstr "GNUnet Konfiguration"
msgid "Could not access configuration file `%s'\n"
msgstr "Konfigurationsdatei `%s' konnte nicht geparst werden.\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9153,12 +9146,22 @@ msgstr "Dienst wird über UDP angeboten"
msgid "Setup tunnels via VPN."
msgstr "Tunnel über VPN einrichten."
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr ""
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
#, fuzzy
msgid "Failed to connect to the namestore!\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#, fuzzy
#~ msgid "Flat file database running\n"
#~ msgstr "Sqlite-Datenbank läuft\n"
diff --git a/po/es.po b/po/es.po
index 402370081..0b5d9ac39 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.9.5a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2013-02-23 17:50+0100\n"
"Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -1960,16 +1960,16 @@ msgstr "«%s» para «%s» falló en %s: %d con error: %s\n"
msgid "Mysql database running\n"
msgstr "Base de datos Mysql ejecutándose\n"
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
msgid "Failed to drop table from database.\n"
msgstr "Se produjo un fallo al borrar una tabla de la base de datos.\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr "Base de datos Postgres ejecutándose\n"
@@ -1983,7 +1983,7 @@ msgstr "«%s» falló en %s:%u con el error: %s"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3888,37 +3888,30 @@ msgstr "Se produjo un fallo al procesar la petición
DNS. Omitiendo.\n"
msgid "VPN returned empty result for `%s'\n"
msgstr "El ATS devolvió resultados para %u direcciones\n"
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr "No se puede procesar la petición DNS de %s\n"
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Recibida petición DNS mal formada de %s\n"
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Recibida petición DNS no soportada de %s\n"
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "¡Ninguna palabra clave especificada!\n"
-#: src/gns/gnunet-dns2gns.c:995
+#: src/gns/gnunet-dns2gns.c:1001
msgid "IP of recursive DNS resolver to use (required)"
msgstr "IP del resolvedor recursivo DNS a usar (requerido)"
-#: src/gns/gnunet-dns2gns.c:1001
-#, fuzzy
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
-msgstr ""
-"Puerto UDP en el que escuchar para peticiones DNS entrantes; predeterminado: "
-"53"
-
#: src/gns/gnunet-dns2gns.c:1018
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr "Pasarela GNUnet DNS-a-GNS (un servidor DNS)"
@@ -4109,13 +4102,15 @@ msgid "Properly base32-encoded public key required"
msgstr "Tipo requerido\n"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
#, fuzzy
msgid "Failed to connect to the namecache!\n"
msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n"
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
msgid "Could not connect to DHT!\n"
msgstr "¡No se pudo conectar a la DHT!\n"
@@ -4982,25 +4977,25 @@ msgstr "Base de datos sqlite ejecutándose\n"
msgid "Failed to setup database at `%s'\n"
msgstr "Se produjo un fallo al inciar «%s» en «%s»\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, fuzzy, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr "Argumentos superfluos (ignorados).\n"
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "Herramienta de manipulación de zona de GNUnet"
@@ -5317,22 +5312,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr "nombre de la sección a la que acceder"
-#: src/namestore/gnunet-service-namestore.c:950
-#, fuzzy, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr "Se produjo un fallo al crear el espacio de nombres «%s»\n"
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Error creando el túnel\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "Error interno escaneando directorio.\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "«gnunet-ecc» falló"
@@ -5362,7 +5352,7 @@ msgstr "Se produjo un fallo al inciar «%s» en «%s»\n"
msgid "SQlite database running\n"
msgstr "Base de datos sqlite ejecutándose\n"
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -5950,43 +5940,43 @@ msgid "Daemon to run to perform IP protocol translation
to GNUnet"
msgstr ""
"Demonio a ejecutar para realizar la traducción de protocolo IP a GNUnet"
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -6074,7 +6064,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -6903,17 +6893,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr "El fichero de topología %s no fue encontrado\n"
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr "El fichero de topología %s no tiene datos\n"
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr "El fichero de topología %s no puede ser leido\n"
@@ -7140,9 +7130,9 @@ msgstr "# mensajes «HELLO» recibidos"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
@@ -7150,12 +7140,12 @@ msgstr ""
"El servicio de transporte carece de opciones de configuración de clave. "
"Saliendo.\n"
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
#, fuzzy
msgid "GNUnet TCP communicator"
msgstr "Configurador Gtk de GNUnet"
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
#, fuzzy
msgid "GNUnet UDP communicator"
msgstr "Configurador Gtk de GNUnet"
@@ -8321,7 +8311,7 @@ msgstr "Se produjo un fallo al borrar el fichero de
configuración %s\n"
msgid "Could not access configuration file `%s'\n"
msgstr "No se pudo acceder al fichero de configuración «%s»\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9489,11 +9479,27 @@ msgstr "el servicio es ofrecido vía UDP"
msgid "Setup tunnels via VPN."
msgstr "Configurar túneles vía VPN."
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, fuzzy, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr "Se produjo un fallo al crear el espacio de nombres «%s»\n"
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
msgid "Failed to connect to the namestore!\n"
msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n"
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
+#, fuzzy
+#~ msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+#~ msgstr ""
+#~ "Puerto UDP en el que escuchar para peticiones DNS entrantes; "
+#~ "predeterminado: 53"
+
#, fuzzy
#~ msgid "Flat file database running\n"
#~ msgstr "Base de datos de plantilla ejecutándose\n"
diff --git a/po/fr.po b/po/fr.po
index fc4a8dae6..2c6529119 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.10.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2021-11-21 00:53+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -1824,16 +1824,16 @@ msgstr ""
msgid "Mysql database running\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
msgid "Failed to drop table from database.\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr ""
@@ -1847,7 +1847,7 @@ msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3601,31 +3601,27 @@ msgstr "Échec du démarrage de %s\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -3811,12 +3807,14 @@ msgid "Properly base32-encoded public key required"
msgstr ""
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
msgid "Failed to connect to the namecache!\n"
msgstr ""
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
msgid "Could not connect to DHT!\n"
msgstr ""
@@ -4621,25 +4619,25 @@ msgstr ""
msgid "Failed to setup database at `%s'\n"
msgstr "Échec du démarrage de %s\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
msgid "GNUnet namestore database manipulation tool"
msgstr ""
@@ -4941,22 +4939,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr ""
-#: src/namestore/gnunet-service-namestore.c:950
-#, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr ""
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Erreur de création du tunnel\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "Erreur de création du tunnel\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "pa_stream_new() échoué : %s\n"
@@ -4985,7 +4978,7 @@ msgstr "Échec du démarrage de %s\n"
msgid "SQlite database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5535,43 +5528,43 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5658,7 +5651,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
msgid "OpenID Connect REST API initialized\n"
msgstr ""
@@ -6439,17 +6432,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
@@ -6645,18 +6638,18 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -7713,7 +7706,7 @@ msgstr ""
msgid "Could not access configuration file `%s'\n"
msgstr ""
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -8828,11 +8821,21 @@ msgstr ""
msgid "Setup tunnels via VPN."
msgstr "Configurer des tunnels via VPN."
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr ""
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
msgid "Failed to connect to the namestore!\n"
msgstr ""
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#, fuzzy, c-format
#~ msgid "Invalid DID `%s'\n"
#~ msgstr "URI invalide « %s »\n"
diff --git a/po/it.po b/po/it.po
index 675431afe..b8eb9b9fa 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.10.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2019-10-16 11:00+0200\n"
"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -1832,16 +1832,16 @@ msgstr ""
msgid "Mysql database running\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
msgid "Failed to drop table from database.\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr ""
@@ -1855,7 +1855,7 @@ msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3624,31 +3624,27 @@ msgstr "Generazione statistiche fallita\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -3835,12 +3831,14 @@ msgid "Properly base32-encoded public key required"
msgstr "# messaggi PONG ricevuti"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
msgid "Failed to connect to the namecache!\n"
msgstr ""
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
msgid "Could not connect to DHT!\n"
msgstr ""
@@ -4646,25 +4644,25 @@ msgstr ""
msgid "Failed to setup database at `%s'\n"
msgstr "Impossibile avviare il servizio ' %s'\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
msgid "GNUnet namestore database manipulation tool"
msgstr ""
@@ -4967,22 +4965,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr ""
-#: src/namestore/gnunet-service-namestore.c:950
-#, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr ""
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Errore durante la scrittura di `%s'.\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "Errore interno."
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
msgid "Store failed"
msgstr ""
@@ -5010,7 +5003,7 @@ msgstr "Impossibile avviare il servizio ' %s'\n"
msgid "SQlite database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5561,43 +5554,43 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5684,7 +5677,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
msgid "OpenID Connect REST API initialized\n"
msgstr ""
@@ -6468,17 +6461,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
@@ -6674,18 +6667,18 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -7764,7 +7757,7 @@ msgstr ""
msgid "Could not access configuration file `%s'\n"
msgstr ""
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -8884,11 +8877,21 @@ msgstr ""
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr ""
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
msgid "Failed to connect to the namestore!\n"
msgstr ""
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#~ msgid "# items stored"
#~ msgstr "# elementi memorizzati"
diff --git a/po/sr.po b/po/sr.po
index 8bc3db2a8..5a259bd46 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet-0.10.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2020-10-23 18:39+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -1903,16 +1903,16 @@ msgstr "„%s“ за „%s“ није успело на %s:%d са грешк
msgid "Mysql database running\n"
msgstr "База података Мајскула ради\n"
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
msgid "Failed to drop table from database.\n"
msgstr "Нисам успео да избацим табелу из базе података.\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr "База података Постгреса ради\n"
@@ -1926,7 +1926,7 @@ msgstr "„%s“ није успело на %s:%u са грешком: %s"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3785,35 +3785,29 @@ msgstr "Нисам успео да обрадим ДНС одговор\n"
msgid "VPN returned empty result for `%s'\n"
msgstr "АТС је вратио резултате за %u адресе\n"
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr "Не могу да обрадим ДНС захтев од „%s“\n"
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Примих лош ДНС захтев од „%s“\n"
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Примих неподржан ДНС захтев од „%s“\n"
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
msgid "No DNS server specified!\n"
msgstr "Није наведен ДНС сервер!\n"
-#: src/gns/gnunet-dns2gns.c:995
+#: src/gns/gnunet-dns2gns.c:1001
msgid "IP of recursive DNS resolver to use (required)"
msgstr "ИП дубинског ДНС решавача за коришћење (потребно)"
-#: src/gns/gnunet-dns2gns.c:1001
-#, fuzzy
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
-msgstr ""
-"УДП прикључник на коме ће ослушкивати за долазним ДНС захтевима; основно: 53"
-
#: src/gns/gnunet-dns2gns.c:1018
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr "Посредник ДНС-до-ГНС ГНУнет-а (ДНС сервер)"
@@ -4000,12 +3994,14 @@ msgid "Properly base32-encoded public key required"
msgstr "исправан јавни кључ се захтева"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
msgid "Failed to connect to the namecache!\n"
msgstr "Нисам успео да се повежем са оставом назива!\n"
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
msgid "Could not connect to DHT!\n"
msgstr "Не могу да се повежем на ДХТ!\n"
@@ -4836,25 +4832,25 @@ msgstr ""
msgid "Failed to setup database at `%s'\n"
msgstr "Нисам успео да покренем „%s“ на „%s“\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "Алат манипуслисања ГНУнет зоном"
@@ -5163,22 +5159,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr "назив егоа који контролише зону"
-#: src/namestore/gnunet-service-namestore.c:950
-#, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr "Нисам успео да реплицирам блок у остави назива: %s\n"
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Грешка стварања тунела\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "Унутрашња грешка скенирања директоријума.\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "# Неуспеси „СТАВИ“ смештаја података"
@@ -5208,7 +5199,7 @@ msgstr "Нисам успео да покренем „%s“ на „%s“\n"
msgid "SQlite database running\n"
msgstr "База података Скулајта ради\n"
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr "Меш је покренут\n"
@@ -5784,43 +5775,43 @@ msgstr "Нисам успео да се повежем са „%s“ услуг
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr "Демон за покретање за обављање превода ИП протокола у ГНУнет"
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5907,7 +5898,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
msgid "OpenID Connect REST API initialized\n"
msgstr ""
@@ -6747,17 +6738,17 @@ msgstr ""
"Број ивица које се могу успоставити приликом додавања новог чвора у "
"слободном размештају лествице не може бити већи од %u. Дато је „%s = %llu“"
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr "Нисам нашао датотеку размештаја „%s“\n"
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr "Датотека размештаја „%s“ нема података\n"
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr "Не могу да прочитам датотеку размештаја „%s“\n"
@@ -6970,18 +6961,18 @@ msgstr "# „HELLO“ поруке су примљене"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "Услузи преноса недостају поставке подешавања кључа. Излазим.\n"
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -8118,7 +8109,7 @@ msgstr "Лоше подешавање, излазим ...\n"
msgid "Could not access configuration file `%s'\n"
msgstr "Не могу да приступим датотеци подешавања „%s“\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9266,11 +9257,27 @@ msgstr "услуга се нуди путем УДП-ом"
msgid "Setup tunnels via VPN."
msgstr "Поставља тунеле путем ВПН-а."
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr "Нисам успео да реплицирам блок у остави назива: %s\n"
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
msgid "Failed to connect to the namestore!\n"
msgstr "Нисам успео да се повежем са смештајем назива!\n"
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
+#, fuzzy
+#~ msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+#~ msgstr ""
+#~ "УДП прикључник на коме ће ослушкивати за долазним ДНС захтевима; основно: "
+#~ "53"
+
#, fuzzy
#~ msgid "Flat file database running\n"
#~ msgstr "База података шаблона ради\n"
diff --git a/po/sv.po b/po/sv.po
index 3c18bba4e..b628af97a 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2006-01-21 17:16+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -1915,17 +1915,17 @@ msgstr "\"%s\" till \"%s\" misslyckades vid %s:%d med
fel: %s\n"
msgid "Mysql database running\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
#, fuzzy
msgid "Failed to drop table from database.\n"
msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr ""
@@ -1939,7 +1939,7 @@ msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, fuzzy, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3784,32 +3784,28 @@ msgstr "Misslyckades att skicka HTTP-begäran till värd
\"%s\": %s\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, fuzzy, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Mottog ogiltig \"%s\" begäran (storlek %d)\n"
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Mottog okänd typ av begäran %d vid %s:%d\n"
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Inga nyckelord angivna!\n"
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -4000,13 +3996,15 @@ msgid "Properly base32-encoded public key required"
msgstr "Ogiltigt argument: \"%s\"\n"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
#, fuzzy
msgid "Failed to connect to the namecache!\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
#, fuzzy
msgid "Could not connect to DHT!\n"
msgstr "Kunde inte ansluta till gnunetd.\n"
@@ -4829,25 +4827,25 @@ msgstr ""
msgid "Failed to setup database at `%s'\n"
msgstr "Fel vid %s:%d.\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, fuzzy, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr "Onödiga argument (ignorerade).\n"
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "GNUnet-konfiguration"
@@ -5166,22 +5164,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr "Visa värde av alternativet"
-#: src/namestore/gnunet-service-namestore.c:950
-#, fuzzy, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Klar med skapandet av värdnyckel.\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "=\tFel vid läsning av katalog.\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "gnunet-update misslyckades!"
@@ -5210,7 +5203,7 @@ msgstr "Fel vid %s:%d.\n"
msgid "SQlite database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -5794,43 +5787,43 @@ msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5918,7 +5911,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -6731,17 +6724,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, fuzzy, c-format
msgid "Topology file %s not found\n"
msgstr "\"%s\" misslyckades: tabell hittades inte!\n"
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
@@ -6946,19 +6939,19 @@ msgstr "# krypterade PONG-meddelanden mottagna"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet-konfiguration"
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -8102,7 +8095,7 @@ msgstr "Kunde inte spara konfigurationsfil \"%s\":"
msgid "Could not access configuration file `%s'\n"
msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9242,12 +9235,22 @@ msgstr "# byte mottagna via UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, fuzzy, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
#, fuzzy
msgid "Failed to connect to the namestore!\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#, fuzzy, c-format
#~ msgid "Invalid DID `%s'\n"
#~ msgstr "Ogiltiga argument: "
diff --git a/po/vi.po b/po/vi.po
index 0dae14722..7c335d868 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.8.0a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2008-09-10 22:05+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -1933,19 +1933,19 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n"
msgid "Mysql database running\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
#, fuzzy
msgid "Failed to drop table from database.\n"
msgstr ""
"\n"
"Không nhận được đáp ứng từ gnunetd.\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr ""
@@ -1959,7 +1959,7 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3830,32 +3830,28 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Chưa ghi rõ từ khoá.\n"
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -4046,13 +4042,15 @@ msgid "Properly base32-encoded public key required"
msgstr "Đối số không hợp lệ cho « %s ».\n"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
#, fuzzy
msgid "Failed to connect to the namecache!\n"
msgstr "Không kết nối được đến trình nền gnunetd."
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
#, fuzzy
msgid "Could not connect to DHT!\n"
msgstr "Không thể kết nối tới %s:%u: %s\n"
@@ -4890,25 +4888,25 @@ msgstr "kho dữ liệu sqlite"
msgid "Failed to setup database at `%s'\n"
msgstr "Lỗi chạy %s: %s %d\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "Cấu hình GNUnet"
@@ -5220,22 +5218,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr ""
-#: src/namestore/gnunet-service-namestore.c:950
-#, fuzzy, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "Hoàn thành tạo khoá.\n"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "=\tLỗi đọc thư mục.\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "Kho dữ liệu đầy.\n"
@@ -5265,7 +5258,7 @@ msgstr "Lỗi chạy %s: %s %d\n"
msgid "SQlite database running\n"
msgstr "kho dữ liệu sqlite"
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -5850,43 +5843,43 @@ msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5974,7 +5967,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -6786,17 +6779,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, fuzzy, c-format
msgid "Topology file %s not found\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, fuzzy, c-format
msgid "Topology file %s has no data\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, fuzzy, c-format
msgid "Topology file %s cannot be read\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
@@ -7007,19 +7000,19 @@ msgstr "# các thông báo PONG đã mật mã được nhận"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "Lưu cấu hình ngay bây giờ không?"
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -8157,7 +8150,7 @@ msgstr "Không thể lưu tập tin cấu hình « %s »:"
msgid "Could not access configuration file `%s'\n"
msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9300,12 +9293,22 @@ msgstr "# các byte đã nhận qua UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, fuzzy, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
#, fuzzy
msgid "Failed to connect to the namestore!\n"
msgstr "Không kết nối được đến trình nền gnunetd."
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#, fuzzy
#~ msgid "Flat file database running\n"
#~ msgstr "kho dữ liệu sqlite"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 21f3ee94c..fa164ddf7 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet-0.8.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2022-10-01 22:27+0900\n"
+"POT-Creation-Date: 2022-10-16 18:47+0900\n"
"PO-Revision-Date: 2011-07-09 12:12+0800\n"
"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -1860,17 +1860,17 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
msgid "Mysql database running\n"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:284
-#: src/datastore/plugin_datastore_postgres.c:897
+#: src/datastore/plugin_datastore_postgres.c:273
+#: src/datastore/plugin_datastore_postgres.c:886
msgid "Postgresql exec failure"
msgstr ""
-#: src/datastore/plugin_datastore_postgres.c:858
+#: src/datastore/plugin_datastore_postgres.c:847
#, fuzzy
msgid "Failed to drop table from database.\n"
msgstr "发送消息失败。\n"
-#: src/datastore/plugin_datastore_postgres.c:956
+#: src/datastore/plugin_datastore_postgres.c:945
msgid "Postgres database running\n"
msgstr ""
@@ -1884,7 +1884,7 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
#: src/datastore/plugin_datastore_sqlite.c:310
#: src/namecache/plugin_namecache_sqlite.c:180
-#: src/namestore/plugin_namestore_sqlite.c:869
+#: src/namestore/plugin_namestore_sqlite.c:868
#: src/peerstore/plugin_peerstore_sqlite.c:540
#, c-format
msgid "Unable to initialize SQLite: %s.\n"
@@ -3668,31 +3668,27 @@ msgstr "打开日志文件“%s”失败:%s\n"
msgid "VPN returned empty result for `%s'\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:655
+#: src/gns/gnunet-dns2gns.c:656
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:671
+#: src/gns/gnunet-dns2gns.c:672
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:679
+#: src/gns/gnunet-dns2gns.c:680
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:840
+#: src/gns/gnunet-dns2gns.c:841
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:995
-msgid "IP of recursive DNS resolver to use (required)"
-msgstr ""
-
#: src/gns/gnunet-dns2gns.c:1001
-msgid "UDP port to listen on for inbound DNS requests; default: 2853"
+msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
#: src/gns/gnunet-dns2gns.c:1018
@@ -3881,13 +3877,15 @@ msgid "Properly base32-encoded public key required"
msgstr "“%s”的参数无效。\n"
#: src/gns/gnunet-service-gns.c:537
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
+#: src/zonemaster/gnunet-service-zonemaster.c:982
#, fuzzy
msgid "Failed to connect to the namecache!\n"
msgstr "初始化“%s”服务失败。\n"
#: src/gns/gnunet-service-gns.c:556
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402
-#: src/zonemaster/gnunet-service-zonemaster.c:853
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
+#: src/zonemaster/gnunet-service-zonemaster.c:1021
#, fuzzy
msgid "Could not connect to DHT!\n"
msgstr "无法连接到 %s:%u:%s\n"
@@ -4703,25 +4701,25 @@ msgstr "sqlite 数据仓库"
msgid "Failed to setup database at `%s'\n"
msgstr "运行 %s失败:%s %d\n"
-#: src/namestore/gnunet-namestore-dbtool.c:87
+#: src/namestore/gnunet-namestore-dbtool.c:86
#: src/namestore/gnunet-namestore.c:1348
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:154
+#: src/namestore/gnunet-namestore-dbtool.c:153
msgid "initialize database"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:158
+#: src/namestore/gnunet-namestore-dbtool.c:157
msgid "reset database (DANGEROUS: All existing data is lost!"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:165
+#: src/namestore/gnunet-namestore-dbtool.c:164
msgid "the namestore plugin to work with, e.g. 'sqlite'"
msgstr ""
-#: src/namestore/gnunet-namestore-dbtool.c:179
+#: src/namestore/gnunet-namestore-dbtool.c:178
#, fuzzy
msgid "GNUnet namestore database manipulation tool"
msgstr "GNUnet 配置"
@@ -5033,22 +5031,17 @@ msgstr ""
msgid "name of the ego controlling the zone"
msgstr ""
-#: src/namestore/gnunet-service-namestore.c:950
-#, fuzzy, c-format
-msgid "Failed to replicate block in namecache: %s\n"
-msgstr "发送消息失败。\n"
-
-#: src/namestore/gnunet-service-namestore.c:1667
+#: src/namestore/gnunet-service-namestore.c:1504
#, fuzzy
msgid "Error normalizing name."
msgstr "创建用户出错"
-#: src/namestore/gnunet-service-namestore.c:1690
+#: src/namestore/gnunet-service-namestore.c:1522
#, fuzzy
msgid "Error deserializing records."
msgstr "未知错误。\n"
-#: src/namestore/gnunet-service-namestore.c:1800
+#: src/namestore/gnunet-service-namestore.c:1633
#, fuzzy
msgid "Store failed"
msgstr "“%s”已连接到“%s”。\n"
@@ -5078,7 +5071,7 @@ msgstr "运行 %s失败:%s %d\n"
msgid "SQlite database running\n"
msgstr "sqlite 数据仓库"
-#: src/namestore/plugin_rest_namestore.c:1109
+#: src/namestore/plugin_rest_namestore.c:1369
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5643,43 +5636,43 @@ msgstr "初始化“%s”服务失败。\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-did.c:591
+#: src/reclaim/gnunet-did.c:590
msgid "Create a DID Document and display its DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:596
+#: src/reclaim/gnunet-did.c:595
msgid "Get the DID Document associated with the given DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:601
+#: src/reclaim/gnunet-did.c:600
msgid "Remove the DID"
msgstr ""
-#: src/reclaim/gnunet-did.c:605
+#: src/reclaim/gnunet-did.c:604
msgid "Replace the DID Document."
msgstr ""
-#: src/reclaim/gnunet-did.c:609
+#: src/reclaim/gnunet-did.c:608
msgid "Show the DID for a given ego"
msgstr ""
-#: src/reclaim/gnunet-did.c:613
+#: src/reclaim/gnunet-did.c:612
msgid "Show egos with DIDs"
msgstr ""
-#: src/reclaim/gnunet-did.c:619
+#: src/reclaim/gnunet-did.c:618
msgid "The Decentralized Identity (DID)"
msgstr ""
-#: src/reclaim/gnunet-did.c:625
+#: src/reclaim/gnunet-did.c:624
msgid "The DID Document to store in GNUNET"
msgstr ""
-#: src/reclaim/gnunet-did.c:630
+#: src/reclaim/gnunet-did.c:629
msgid "The name of the EGO"
msgstr ""
-#: src/reclaim/gnunet-did.c:636
+#: src/reclaim/gnunet-did.c:635
msgid "The time until the DID Document is going to expire (e.g. 5d)"
msgstr ""
@@ -5767,7 +5760,7 @@ msgstr ""
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:3094
+#: src/reclaim/plugin_rest_openid_connect.c:3096
msgid "OpenID Connect REST API initialized\n"
msgstr ""
@@ -6571,17 +6564,17 @@ msgid ""
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651
+#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
#, c-format
msgid "Topology file %s not found\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659
+#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667
+#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
@@ -6786,19 +6779,19 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:3342
-#: src/transport/gnunet-communicator-udp.c:3867
-#: src/transport/gnunet-service-tng.c:11039
+#: src/transport/gnunet-communicator-tcp.c:3347
+#: src/transport/gnunet-communicator-udp.c:3871
+#: src/transport/gnunet-service-tng.c:11334
#: src/transport/gnunet-service-transport.c:2622
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "立即保存配置?"
-#: src/transport/gnunet-communicator-tcp.c:3675
+#: src/transport/gnunet-communicator-tcp.c:3680
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:3942
+#: src/transport/gnunet-communicator-udp.c:3946
msgid "GNUnet UDP communicator"
msgstr ""
@@ -7883,7 +7876,7 @@ msgstr "解析配置文件“%s”失败\n"
msgid "Could not access configuration file `%s'\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/transport/transport_api2_communication.c:743
+#: src/transport/transport_api2_communication.c:752
msgid "Dropped backchanel message: handler not provided by communicator\n"
msgstr ""
@@ -9009,12 +9002,22 @@ msgstr ""
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378
-#: src/zonemaster/gnunet-service-zonemaster.c:815
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
+#: src/zonemaster/gnunet-service-zonemaster.c:364
+#, fuzzy, c-format
+msgid "Failed to replicate block in namecache: %s\n"
+msgstr "发送消息失败。\n"
+
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
+#: src/zonemaster/gnunet-service-zonemaster.c:969
#, fuzzy
msgid "Failed to connect to the namestore!\n"
msgstr "初始化“%s”服务失败。\n"
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
+msgid "Namecache is disabled!\n"
+msgstr ""
+
#, fuzzy
#~ msgid "Flat file database running\n"
#~ msgstr "sqlite 数据仓库"
diff --git a/src/gnsrecord/gnsrecord_misc.c b/src/gnsrecord/gnsrecord_misc.c
index 5a24a83d3..990c46bcc 100644
--- a/src/gnsrecord/gnsrecord_misc.c
+++ b/src/gnsrecord/gnsrecord_misc.c
@@ -430,10 +430,24 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label,
rd_count_tmp = 0;
for (unsigned int i = 0; i < rd_count; i++)
{
- /* Ignore the tombstone. For maintenance only. Remember expiration time. */
+ /* Ignore private records for public record set */
+ if ((0 != (filter & GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE)) &&
+ (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE)))
+ continue;
+ /* Skip expired records */
+ if ((0 == (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) &&
+ (rd[i].expiration_time < now.abs_value_us))
+ continue; /* record already expired, skip it */
+ /* Ignore the tombstone unless filter permits explicitly.
+ * Remember expiration time. */
if (GNUNET_GNSRECORD_TYPE_TOMBSTONE == rd[i].record_type)
{
minimum_expiration.abs_value_us = rd[i].expiration_time;
+ if (0 != (filter & GNUNET_GNSRECORD_FILTER_INCLUDE_MAINTENANCE))
+ {
+ rd_public[rd_count_tmp] = rd[i];
+ rd_count_tmp++;
+ }
continue;
}
/* No NICK records unless empty label */
@@ -529,15 +543,6 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label,
have_other = GNUNET_YES;
}
- /* Ignore private records for public record set */
-
- if ((0 != (filter & GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE)) &&
- (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE)))
- continue;
- /* Skip expired records */
- if ((0 == (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) &&
- (rd[i].expiration_time < now.abs_value_us))
- continue; /* record already expired, skip it */
rd_public[rd_count_tmp] = rd[i];
/* Make sure critical record types are marked as such */
if (GNUNET_YES == GNUNET_GNSRECORD_is_critical (rd[i].record_type))
diff --git a/src/zonemaster/Makefile.am b/src/zonemaster/Makefile.am
index 90b70f58a..ef82fc19b 100644
--- a/src/zonemaster/Makefile.am
+++ b/src/zonemaster/Makefile.am
@@ -16,8 +16,7 @@ if USE_COVERAGE
endif
libexec_PROGRAMS = \
- gnunet-service-zonemaster \
- gnunet-service-zonemaster-monitor
+ gnunet-service-zonemaster
gnunet_service_zonemaster_SOURCES = \
gnunet-service-zonemaster.c
@@ -30,16 +29,3 @@ gnunet_service_zonemaster_LDADD = \
$(top_builddir)/src/namestore/libgnunetnamestore.la \
$(top_builddir)/src/namecache/libgnunetnamecache.la \
$(GN_LIBINTL)
-
-
-gnunet_service_zonemaster_monitor_SOURCES = \
- gnunet-service-zonemaster-monitor.c
-gnunet_service_zonemaster_monitor_LDADD = \
- $(top_builddir)/src/dht/libgnunetdht.la \
- $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
- $(top_builddir)/src/identity/libgnunetidentity.la \
- $(top_builddir)/src/statistics/libgnunetstatistics.la \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/namestore/libgnunetnamestore.la \
- $(top_builddir)/src/namecache/libgnunetnamecache.la \
- $(GN_LIBINTL)
diff --git a/src/zonemaster/gnunet-service-zonemaster-monitor.c
b/src/zonemaster/gnunet-service-zonemaster-monitor.c
deleted file mode 100644
index fae97cb96..000000000
--- a/src/zonemaster/gnunet-service-zonemaster-monitor.c
+++ /dev/null
@@ -1,612 +0,0 @@
-/*
- This file is part of GNUnet.
- Copyright (C) 2012, 2013, 2014, 2017, 2018 GNUnet e.V.
-
- GNUnet is free software: you can redistribute it and/or modify it
- under the terms of the GNU Affero General Public License as published
- by the Free Software Foundation, either version 3 of the License,
- or (at your option) any later version.
-
- GNUnet is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- SPDX-License-Identifier: AGPL3.0-or-later
- */
-
-/**
- * @file zonemaster/gnunet-service-zonemaster-monitor.c
- * @brief monitor namestore changes and publish them immediately to GNUnet
name system
- * @author Christian Grothoff
- */
-#include "platform.h"
-#include "gnunet_util_lib.h"
-#include "gnunet_dht_service.h"
-#include "gnunet_namestore_service.h"
-#include "gnunet_namecache_service.h"
-#include "gnunet_statistics_service.h"
-
-#define LOG_STRERROR_FILE(kind, syscall, \
- filename) GNUNET_log_from_strerror_file (kind,
"util", \
- syscall, \
- filename)
-
-
-/**
- * How often should we (re)publish each record before
- * it expires?
- */
-#define PUBLISH_OPS_PER_EXPIRATION 4
-
-/**
- * How many pending DHT operations do we allow at most?
- */
-#define DHT_QUEUE_LIMIT 2000
-
-/**
- * How many events may the namestore give us before it has to wait
- * for us to keep up?
- */
-#define NAMESTORE_QUEUE_LIMIT 5
-
-/**
- * What replication level do we use for DHT PUT operations?
- */
-#define DHT_GNS_REPLICATION_LEVEL 5
-
-/**
- * Handle for DHT PUT activity triggered from the namestore monitor.
- */
-struct DhtPutActivity
-{
- /**
- * Kept in a DLL.
- */
- struct DhtPutActivity *next;
-
- /**
- * Kept in a DLL.
- */
- struct DhtPutActivity *prev;
-
- /**
- * Handle for the DHT PUT operation.
- */
- struct GNUNET_DHT_PutHandle *ph;
-
- /**
- * When was this PUT initiated?
- */
- struct GNUNET_TIME_Absolute start_date;
-};
-
-/**
- * Pending operation on the namecache.
- */
-struct CacheOperation
-{
- /**
- * Kept in a DLL.
- */
- struct CacheOperation *prev;
-
- /**
- * Kept in a DLL.
- */
- struct CacheOperation *next;
-
- /**
- * Handle to namecache queue.
- */
- struct GNUNET_NAMECACHE_QueueEntry *qe;
-
-};
-
-
-/**
- * Handle to the statistics service
- */
-static struct GNUNET_STATISTICS_Handle *statistics;
-
-/**
- * Our handle to the DHT
- */
-static struct GNUNET_DHT_Handle *dht_handle;
-
-/**
- * Our handle to the namestore service
- */
-static struct GNUNET_NAMESTORE_Handle *namestore_handle;
-
-/**
- * Handle to monitor namestore changes to instant propagation.
- */
-static struct GNUNET_NAMESTORE_ZoneMonitor *zmon;
-
-/**
- * Head of monitor activities; kept in a DLL.
- */
-static struct DhtPutActivity *ma_head;
-
-/**
- * Tail of monitor activities; kept in a DLL.
- */
-static struct DhtPutActivity *ma_tail;
-
-/**
- * Our handle to the namecache service
- */
-static struct GNUNET_NAMECACHE_Handle *namecache;
-
-/**
- * Use the namecache? Doing so creates additional cryptographic
- * operations whenever we touch a record.
- */
-static int disable_namecache;
-
-
-/**
- * Number of entries in the DHT queue #ma_head.
- */
-static unsigned int ma_queue_length;
-
-/**
- * Optimize block insertion by caching map of private keys to
- * public keys in memory?
- */
-static int cache_keys;
-
-/**
- * Head of cop DLL.
- */
-static struct CacheOperation *cop_head;
-
-/**
- * Tail of cop DLL.
- */
-static struct CacheOperation *cop_tail;
-
-
-/**
- * Task run during shutdown.
- *
- * @param cls unused
- * @param tc unused
- */
-static void
-shutdown_task (void *cls)
-{
- struct DhtPutActivity *ma;
- struct CacheOperation *cop;
-
-
- (void) cls;
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Shutting down!\n");
- while (NULL != (cop = cop_head))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "Aborting incomplete namecache operation\n");
- GNUNET_NAMECACHE_cancel (cop->qe);
- GNUNET_CONTAINER_DLL_remove (cop_head, cop_tail, cop);
- GNUNET_free (cop);
- }
- while (NULL != (ma = ma_head))
- {
- GNUNET_DHT_put_cancel (ma->ph);
- ma_queue_length--;
- GNUNET_CONTAINER_DLL_remove (ma_head,
- ma_tail,
- ma);
- GNUNET_free (ma);
- }
- if (NULL != statistics)
- {
- GNUNET_STATISTICS_destroy (statistics,
- GNUNET_NO);
- statistics = NULL;
- }
- if (NULL != zmon)
- {
- GNUNET_NAMESTORE_zone_monitor_stop (zmon);
- zmon = NULL;
- }
- if (NULL != namestore_handle)
- {
- GNUNET_NAMESTORE_disconnect (namestore_handle);
- namestore_handle = NULL;
- }
- if (NULL != namecache)
- {
- GNUNET_NAMECACHE_disconnect (namecache);
- namecache = NULL;
- }
- if (NULL != dht_handle)
- {
- GNUNET_DHT_disconnect (dht_handle);
- dht_handle = NULL;
- }
-}
-
-/**
- * Cache operation complete, clean up.
- *
- * @param cls the `struct CacheOperation`
- * @param success success
- * @param emsg error messages
- */
-static void
-finish_cache_operation (void *cls, int32_t success, const char *emsg)
-{
- struct CacheOperation *cop = cls;
-
- if (NULL != emsg)
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- _ ("Failed to replicate block in namecache: %s\n"),
- emsg);
- else
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "CACHE operation completed\n");
- GNUNET_CONTAINER_DLL_remove (cop_head, cop_tail, cop);
- GNUNET_free (cop);
-}
-
-
-/**
- * Refresh the (encrypted) block in the namecache.
- *
- * @param zone_key private key of the zone
- * @param name label for the records
- * @param rd_count number of records
- * @param rd records stored under the given @a name
- */
-static void
-refresh_block (const struct GNUNET_GNSRECORD_Block *block)
-{
- struct CacheOperation *cop;
-
- if (GNUNET_YES == disable_namecache)
- {
- GNUNET_STATISTICS_update (statistics,
- "Namecache updates skipped (NC disabled)",
- 1,
- GNUNET_NO);
- return;
- }
- GNUNET_assert (NULL != block);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Caching block in namecache\n");
- GNUNET_STATISTICS_update (statistics,
- "Namecache updates pushed",
- 1,
- GNUNET_NO);
- cop = GNUNET_new (struct CacheOperation);
- GNUNET_CONTAINER_DLL_insert (cop_head, cop_tail, cop);
- cop->qe = GNUNET_NAMECACHE_block_cache (namecache,
- block,
- &finish_cache_operation,
- cop);
-}
-
-
-
-/**
- * Continuation called from DHT once the PUT operation triggered
- * by a monitor is done.
- *
- * @param cls a `struct DhtPutActivity`
- */
-static void
-dht_put_monitor_continuation (void *cls)
-{
- struct DhtPutActivity *ma = cls;
-
- GNUNET_NAMESTORE_zone_monitor_next (zmon,
- 1);
- ma_queue_length--;
- GNUNET_CONTAINER_DLL_remove (ma_head,
- ma_tail,
- ma);
- GNUNET_free (ma);
-}
-
-
-/**
- * Store GNS records in the DHT.
- *
- * @param key key of the zone
- * @param label label to store under
- * @param rd_public public record data
- * @param rd_public_count number of records in @a rd_public
- * @param ma handle for the PUT operation
- * @return DHT PUT handle, NULL on error
- */
-static struct GNUNET_DHT_PutHandle *
-perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
- const char *label,
- const struct GNUNET_GNSRECORD_Data *rd,
- unsigned int rd_count,
- struct GNUNET_TIME_Absolute expire,
- struct DhtPutActivity *ma)
-{
- struct GNUNET_GNSRECORD_Data rd_public[rd_count];
- struct GNUNET_GNSRECORD_Block *block;
- struct GNUNET_GNSRECORD_Block *block_priv;
- struct GNUNET_HashCode query;
- struct GNUNET_TIME_Absolute expire_priv;
- size_t block_size;
- unsigned int rd_public_count = 0;
- struct GNUNET_DHT_PutHandle *ret;
- char *emsg;
-
- if (GNUNET_OK !=
- GNUNET_GNSRECORD_normalize_record_set (label,
- rd,
- rd_count,
- rd_public,
- &rd_public_count,
- &expire_priv,
-
GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
- &emsg))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "%s\n", emsg);
- GNUNET_free (emsg);
- }
-
- if (cache_keys)
- GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
- expire,
- label,
- rd_public,
-
rd_public_count,
- &block));
- else
- GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
- expire,
- label,
- rd_public,
- rd_public_count,
- &block));
- if (NULL == block)
- {
- GNUNET_break (0);
- return NULL; /* whoops */
- }
- if (rd_count != rd_public_count)
- GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
- expire_priv,
- label,
- rd,
- rd_count,
- &block_priv));
- else
- block_priv = block;
- block_size = GNUNET_GNSRECORD_block_get_size (block);
- GNUNET_GNSRECORD_query_from_private_key (key,
- label,
- &query);
- GNUNET_STATISTICS_update (statistics,
- "DHT put operations initiated",
- 1,
- GNUNET_NO);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Storing %u record(s) for label `%s' in DHT with expiration `%s'
under key %s\n",
- rd_public_count,
- label,
- GNUNET_STRINGS_absolute_time_to_string (expire),
- GNUNET_h2s (&query));
- ret = GNUNET_DHT_put (dht_handle,
- &query,
- DHT_GNS_REPLICATION_LEVEL,
- GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
- GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
- block_size,
- block,
- expire,
- &dht_put_monitor_continuation,
- ma);
- refresh_block (block_priv);
- if (block != block_priv)
- GNUNET_free (block_priv);
- GNUNET_free (block);
- return ret;
-}
-
-/**
- * Process a record that was stored in the namestore
- * (invoked by the monitor).
- *
- * @param cls closure, NULL
- * @param zone private key of the zone; NULL on disconnect
- * @param label label of the records; NULL on disconnect
- * @param rd_count number of entries in @a rd array, 0 if label was deleted
- * @param rd array of records with data to store
- * @param expire expiration of this record set
- */
-static void
-handle_monitor_event (void *cls,
- const struct GNUNET_IDENTITY_PrivateKey *zone,
- const char *label,
- unsigned int rd_count,
- const struct GNUNET_GNSRECORD_Data *rd,
- struct GNUNET_TIME_Absolute expire)
-{
- struct DhtPutActivity *ma;
-
- (void) cls;
- GNUNET_STATISTICS_update (statistics,
- "Namestore monitor events received",
- 1,
- GNUNET_NO);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Received %u records for label `%s' via namestore monitor\n",
- rd_count,
- label);
- if (0 == rd_count)
- {
- GNUNET_NAMESTORE_zone_monitor_next (zmon,
- 1);
- return; /* nothing to do */
- }
- ma = GNUNET_new (struct DhtPutActivity);
- ma->start_date = GNUNET_TIME_absolute_get ();
- ma->ph = perform_dht_put (zone,
- label,
- rd,
- rd_count,
- expire,
- ma);
- if (NULL == ma->ph)
- {
- /* PUT failed, do not remember operation */
- GNUNET_free (ma);
- GNUNET_NAMESTORE_zone_monitor_next (zmon,
- 1);
- return;
- }
- GNUNET_CONTAINER_DLL_insert_tail (ma_head,
- ma_tail,
- ma);
- ma_queue_length++;
- if (ma_queue_length > DHT_QUEUE_LIMIT)
- {
- ma = ma_head;
- GNUNET_CONTAINER_DLL_remove (ma_head,
- ma_tail,
- ma);
- GNUNET_DHT_put_cancel (ma->ph);
- ma_queue_length--;
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "DHT PUT unconfirmed after %s, aborting PUT\n",
- GNUNET_STRINGS_relative_time_to_string (
- GNUNET_TIME_absolute_get_duration (ma->start_date),
- GNUNET_YES));
- GNUNET_free (ma);
- }
-}
-
-
-/**
- * The zone monitor encountered an IPC error trying to to get in
- * sync. Restart from the beginning.
- *
- * @param cls NULL
- */
-static void
-handle_monitor_error (void *cls)
-{
- (void) cls;
- GNUNET_STATISTICS_update (statistics,
- "Namestore monitor errors encountered",
- 1,
- GNUNET_NO);
-}
-
-
-/**
- * Perform zonemaster duties: watch namestore, publish records.
- *
- * @param cls closure
- * @param server the initialized server
- * @param c configuration to use
- */
-static void
-run (void *cls,
- const struct GNUNET_CONFIGURATION_Handle *c,
- struct GNUNET_SERVICE_Handle *service)
-{
- unsigned long long max_parallel_bg_queries = 128;
-
- (void) cls;
- (void) service;
- namestore_handle = GNUNET_NAMESTORE_connect (c);
- if (NULL == namestore_handle)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _ ("Failed to connect to the namestore!\n"));
- GNUNET_SCHEDULER_shutdown ();
- return;
- }
- disable_namecache = GNUNET_CONFIGURATION_get_value_yesno (c,
- "namecache",
- "DISABLE");
- if (GNUNET_NO == disable_namecache)
- {
- namecache = GNUNET_NAMECACHE_connect (c);
- if (NULL == namecache)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _ ("Failed to connect to the namecache!\n"));
- GNUNET_SCHEDULER_shutdown ();
- return;
- }
- }
- else
- {
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- _ ("Namecache is disabled!\n"));
- }
- cache_keys = GNUNET_CONFIGURATION_get_value_yesno (c,
- "namestore",
- "CACHE_KEYS");
- if (GNUNET_OK ==
- GNUNET_CONFIGURATION_get_value_number (c,
- "zonemaster",
- "MAX_PARALLEL_BACKGROUND_QUERIES",
- &max_parallel_bg_queries))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Number of allowed parallel background queries: %llu\n",
- max_parallel_bg_queries);
- }
- if (0 == max_parallel_bg_queries)
- max_parallel_bg_queries = 1;
- dht_handle = GNUNET_DHT_connect (c,
- (unsigned int) max_parallel_bg_queries);
- if (NULL == dht_handle)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _ ("Could not connect to DHT!\n"));
- GNUNET_SCHEDULER_add_now (&shutdown_task,
- NULL);
- return;
- }
-
- /* Schedule periodic put for our records. */
- statistics = GNUNET_STATISTICS_create ("zonemaster-mon",
- c);
- zmon = GNUNET_NAMESTORE_zone_monitor_start2 (c,
- NULL,
- GNUNET_NO,
- &handle_monitor_error,
- NULL,
- &handle_monitor_event,
- NULL,
- NULL /* sync_cb */,
- NULL,
- GNUNET_GNSRECORD_FILTER_NONE);
- GNUNET_NAMESTORE_zone_monitor_next (zmon,
- NAMESTORE_QUEUE_LIMIT - 1);
- GNUNET_break (NULL != zmon);
- GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
- NULL);
-}
-
-
-/**
- * Define "main" method using service macro.
- */
-GNUNET_SERVICE_MAIN
- ("zonemaster-monitor",
- GNUNET_SERVICE_OPTION_NONE,
- &run,
- NULL,
- NULL,
- NULL,
- GNUNET_MQ_handler_end ());
-
-
-/* end of gnunet-service-zonemaster-monitor.c */
diff --git a/src/zonemaster/gnunet-service-zonemaster.c
b/src/zonemaster/gnunet-service-zonemaster.c
index 9f5d9b47a..f5c1d781b 100644
--- a/src/zonemaster/gnunet-service-zonemaster.c
+++ b/src/zonemaster/gnunet-service-zonemaster.c
@@ -66,6 +66,12 @@
*/
#define NAMESTORE_QUEUE_LIMIT 50
+/**
+ * How many events may the namestore give us before it has to wait
+ * for us to keep up?
+ */
+#define NAMESTORE_MONITOR_QUEUE_LIMIT 5
+
/**
* The initial interval in milliseconds btween puts in
* a zone iteration
@@ -154,6 +160,21 @@ static struct GNUNET_DHT_Handle *dht_handle;
*/
static struct GNUNET_NAMESTORE_Handle *namestore_handle;
+/**
+ * Handle to monitor namestore changes to instant propagation.
+ */
+static struct GNUNET_NAMESTORE_ZoneMonitor *zmon;
+
+/**
+ * Head of monitor activities; kept in a DLL.
+ */
+static struct DhtPutActivity *ma_head;
+
+/**
+ * Tail of monitor activities; kept in a DLL.
+ */
+static struct DhtPutActivity *ma_tail;
+
/**
* Our handle to the namecache service
*/
@@ -165,6 +186,11 @@ static struct GNUNET_NAMECACHE_Handle *namecache;
*/
static int disable_namecache;
+/**
+ * Number of entries in the DHT queue #ma_head.
+ */
+static unsigned int ma_queue_length;
+
/**
* Handle to iterate over our authoritative zone in namestore
*/
@@ -314,6 +340,15 @@ shutdown_task (void *cls)
dht_queue_length--;
GNUNET_free (ma);
}
+ while (NULL != (ma = ma_head))
+ {
+ GNUNET_DHT_put_cancel (ma->ph);
+ ma_queue_length--;
+ GNUNET_CONTAINER_DLL_remove (ma_head,
+ ma_tail,
+ ma);
+ GNUNET_free (ma);
+ }
if (NULL != statistics)
{
GNUNET_STATISTICS_destroy (statistics,
@@ -330,6 +365,11 @@ shutdown_task (void *cls)
GNUNET_NAMESTORE_zone_iteration_stop (namestore_iter);
namestore_iter = NULL;
}
+ if (NULL != zmon)
+ {
+ GNUNET_NAMESTORE_zone_monitor_stop (zmon);
+ zmon = NULL;
+ }
if (NULL != namestore_handle)
{
GNUNET_NAMESTORE_disconnect (namestore_handle);
@@ -340,7 +380,7 @@ shutdown_task (void *cls)
GNUNET_NAMECACHE_disconnect (namecache);
namecache = NULL;
}
-if (NULL != dht_handle)
+ if (NULL != dht_handle)
{
GNUNET_DHT_disconnect (dht_handle);
dht_handle = NULL;
@@ -666,7 +706,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
struct GNUNET_GNSRECORD_Block *block;
struct GNUNET_GNSRECORD_Block *block_priv;
struct GNUNET_HashCode query;
- struct GNUNET_TIME_Absolute expire_priv;
+ struct GNUNET_TIME_Absolute expire_pub;
size_t block_size;
unsigned int rd_public_count = 0;
struct GNUNET_DHT_PutHandle *ret;
@@ -678,7 +718,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
rd_count,
rd_public,
&rd_public_count,
- &expire_priv,
+ &expire_pub,
GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
&emsg))
{
@@ -690,7 +730,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
if (cache_keys)
{
GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
- expire,
+ expire_pub,
label,
rd_public,
rd_public_count,
@@ -699,7 +739,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
else
{
GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
- expire,
+ expire_pub,
label,
rd_public,
rd_public_count,
@@ -712,7 +752,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
}
if (rd_count != rd_public_count)
GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
- expire_priv,
+ expire,
label,
rd,
rd_count,
@@ -741,7 +781,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey
*key,
GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
block_size,
block,
- expire,
+ expire_pub,
&dht_put_continuation,
ma);
refresh_block (block_priv);
@@ -942,6 +982,221 @@ publish_zone_dht_start (void *cls)
}
+/**
+ * Continuation called from DHT once the PUT operation triggered
+ * by a monitor is done.
+ *
+ * @param cls a `struct DhtPutActivity`
+ */
+static void
+dht_put_monitor_continuation (void *cls)
+{
+ struct DhtPutActivity *ma = cls;
+
+ GNUNET_NAMESTORE_zone_monitor_next (zmon,
+ 1);
+ ma_queue_length--;
+ GNUNET_CONTAINER_DLL_remove (ma_head,
+ ma_tail,
+ ma);
+ GNUNET_free (ma);
+}
+
+
+/**
+ * Store GNS records in the DHT.
+ *
+ * @param key key of the zone
+ * @param label label to store under
+ * @param rd_public public record data
+ * @param rd_public_count number of records in @a rd_public
+ * @param ma handle for the PUT operation
+ * @return DHT PUT handle, NULL on error
+ */
+static struct GNUNET_DHT_PutHandle *
+perform_dht_put_monitor (const struct GNUNET_IDENTITY_PrivateKey *key,
+ const char *label,
+ const struct GNUNET_GNSRECORD_Data *rd,
+ unsigned int rd_count,
+ struct GNUNET_TIME_Absolute expire,
+ struct DhtPutActivity *ma)
+{
+ struct GNUNET_GNSRECORD_Data rd_public[rd_count];
+ struct GNUNET_GNSRECORD_Block *block;
+ struct GNUNET_GNSRECORD_Block *block_priv;
+ struct GNUNET_HashCode query;
+ struct GNUNET_TIME_Absolute expire_pub;
+ size_t block_size;
+ unsigned int rd_public_count = 0;
+ struct GNUNET_DHT_PutHandle *ret;
+ char *emsg;
+
+ if (GNUNET_OK !=
+ GNUNET_GNSRECORD_normalize_record_set (label,
+ rd,
+ rd_count,
+ rd_public,
+ &rd_public_count,
+ &expire_pub,
+
GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
+ &emsg))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "%s\n", emsg);
+ GNUNET_free (emsg);
+ }
+
+ if (cache_keys)
+ GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
+ expire_pub,
+ label,
+ rd_public,
+
rd_public_count,
+ &block));
+ else
+ GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
+ expire_pub,
+ label,
+ rd_public,
+ rd_public_count,
+ &block));
+ if (NULL == block)
+ {
+ GNUNET_break (0);
+ return NULL; /* whoops */
+ }
+ if (rd_count != rd_public_count)
+ GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
+ expire,
+ label,
+ rd,
+ rd_count,
+ &block_priv));
+ else
+ block_priv = block;
+ block_size = GNUNET_GNSRECORD_block_get_size (block);
+ GNUNET_GNSRECORD_query_from_private_key (key,
+ label,
+ &query);
+ GNUNET_STATISTICS_update (statistics,
+ "DHT put operations initiated",
+ 1,
+ GNUNET_NO);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Storing %u public of %u record(s) for label `%s' in DHT with
expiration `%s' under key %s\n",
+ rd_public_count,
+ rd_count,
+ label,
+ GNUNET_STRINGS_absolute_time_to_string (expire),
+ GNUNET_h2s (&query));
+ ret = GNUNET_DHT_put (dht_handle,
+ &query,
+ DHT_GNS_REPLICATION_LEVEL,
+ GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
+ GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
+ block_size,
+ block,
+ expire_pub,
+ &dht_put_monitor_continuation,
+ ma);
+ refresh_block (block_priv);
+ if (block != block_priv)
+ GNUNET_free (block_priv);
+ GNUNET_free (block);
+ return ret;
+}
+
+/**
+ * Process a record that was stored in the namestore
+ * (invoked by the monitor).
+ *
+ * @param cls closure, NULL
+ * @param zone private key of the zone; NULL on disconnect
+ * @param label label of the records; NULL on disconnect
+ * @param rd_count number of entries in @a rd array, 0 if label was deleted
+ * @param rd array of records with data to store
+ * @param expire expiration of this record set
+ */
+static void
+handle_monitor_event (void *cls,
+ const struct GNUNET_IDENTITY_PrivateKey *zone,
+ const char *label,
+ unsigned int rd_count,
+ const struct GNUNET_GNSRECORD_Data *rd,
+ struct GNUNET_TIME_Absolute expire)
+{
+ struct DhtPutActivity *ma;
+
+ (void) cls;
+ GNUNET_STATISTICS_update (statistics,
+ "Namestore monitor events received",
+ 1,
+ GNUNET_NO);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Received %u records for label `%s' via namestore monitor\n",
+ rd_count,
+ label);
+ if (0 == rd_count)
+ {
+ GNUNET_NAMESTORE_zone_monitor_next (zmon,
+ 1);
+ return; /* nothing to do */
+ }
+ ma = GNUNET_new (struct DhtPutActivity);
+ ma->start_date = GNUNET_TIME_absolute_get ();
+ ma->ph = perform_dht_put_monitor (zone,
+ label,
+ rd,
+ rd_count,
+ expire,
+ ma);
+ if (NULL == ma->ph)
+ {
+ /* PUT failed, do not remember operation */
+ GNUNET_free (ma);
+ GNUNET_NAMESTORE_zone_monitor_next (zmon,
+ 1);
+ return;
+ }
+ GNUNET_CONTAINER_DLL_insert_tail (ma_head,
+ ma_tail,
+ ma);
+ ma_queue_length++;
+ if (ma_queue_length > DHT_QUEUE_LIMIT)
+ {
+ ma = ma_head;
+ GNUNET_CONTAINER_DLL_remove (ma_head,
+ ma_tail,
+ ma);
+ GNUNET_DHT_put_cancel (ma->ph);
+ ma_queue_length--;
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "DHT PUT unconfirmed after %s, aborting PUT\n",
+ GNUNET_STRINGS_relative_time_to_string (
+ GNUNET_TIME_absolute_get_duration (ma->start_date),
+ GNUNET_YES));
+ GNUNET_free (ma);
+ }
+}
+
+
+/**
+ * The zone monitor encountered an IPC error trying to to get in
+ * sync. Restart from the beginning.
+ *
+ * @param cls NULL
+ */
+static void
+handle_monitor_error (void *cls)
+{
+ (void) cls;
+ GNUNET_STATISTICS_update (statistics,
+ "Namestore monitor errors encountered",
+ 1,
+ GNUNET_NO);
+}
+
+
/**
* Perform zonemaster duties: watch namestore, publish records.
*
@@ -1034,6 +1289,20 @@ run (void *cls,
GNUNET_NO);
zone_publish_task = GNUNET_SCHEDULER_add_now (&publish_zone_dht_start,
NULL);
+ zmon = GNUNET_NAMESTORE_zone_monitor_start2 (c,
+ NULL,
+ GNUNET_NO,
+ &handle_monitor_error,
+ NULL,
+ &handle_monitor_event,
+ NULL,
+ NULL /* sync_cb */,
+ NULL,
+ GNUNET_GNSRECORD_FILTER_NONE);
+ GNUNET_NAMESTORE_zone_monitor_next (zmon,
+ NAMESTORE_MONITOR_QUEUE_LIMIT - 1);
+ GNUNET_break (NULL != zmon);
+
GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
NULL);
}
diff --git a/src/zonemaster/zonemaster.conf.in
b/src/zonemaster/zonemaster.conf.in
index 315388417..560239944 100644
--- a/src/zonemaster/zonemaster.conf.in
+++ b/src/zonemaster/zonemaster.conf.in
@@ -24,21 +24,3 @@ ZONE_PUBLISH_TIME_WINDOW = 4 h
# USE_CACHE = YES
# PREFIX = valgrind --leak-check=full --track-origins=yes
-
-
-
-[zonemaster-monitor]
-START_ON_DEMAND = @START_ON_DEMAND@
-RUN_PER_USER = YES
-IMMEDIATE_START = YES
-HOSTNAME = localhost
-BINARY = gnunet-service-zonemaster-monitor
-UNIXPATH = $GNUNET_USER_RUNTIME_DIR/gnunet-service-zonemaster-monitor.sock
-@JAVAPORT@PORT = 2124
-
-# Do we require users that want to access GNS to run this process
-# (usually not a good idea)
-UNIX_MATCH_UID = NO
-
-# Do we require users that want to access GNS to be in the 'gnunet' group?
-UNIX_MATCH_GID = NO
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.