aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/POTFILES.in1
-rw-r--r--po/de.po109
-rw-r--r--po/es.po118
-rw-r--r--po/fr.po109
-rw-r--r--po/it.po109
-rw-r--r--po/sr.po117
-rw-r--r--po/sv.po109
-rw-r--r--po/vi.po109
-rw-r--r--po/zh_CN.po109
-rw-r--r--src/gnsrecord/gnsrecord_misc.c25
-rw-r--r--src/zonemaster/Makefile.am16
-rw-r--r--src/zonemaster/gnunet-service-zonemaster-monitor.c612
-rw-r--r--src/zonemaster/gnunet-service-zonemaster.c283
-rw-r--r--src/zonemaster/zonemaster.conf.in18
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
249src/namestore/gnunet-zoneimport.c 249src/namestore/gnunet-zoneimport.c
250src/namestore/namestore_api.c 250src/namestore/namestore_api.c
251src/namestore/namestore_api_monitor.c 251src/namestore/namestore_api_monitor.c
252src/namestore/plugin_namestore_flat.c
252src/namestore/plugin_namestore_postgres.c 253src/namestore/plugin_namestore_postgres.c
253src/namestore/plugin_namestore_sqlite.c 254src/namestore/plugin_namestore_sqlite.c
254src/namestore/plugin_rest_namestore.c 255src/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 ""
10msgstr "" 10msgstr ""
11"Project-Id-Version: gnunet 0.10.1\n" 11"Project-Id-Version: gnunet 0.10.1\n"
12"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 12"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
13"POT-Creation-Date: 2022-10-01 22:27+0900\n" 13"POT-Creation-Date: 2022-10-16 18:47+0900\n"
14"PO-Revision-Date: 2015-03-08 16:16+0100\n" 14"PO-Revision-Date: 2015-03-08 16:16+0100\n"
15"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" 15"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
16"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" 16"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"
1884msgid "Mysql database running\n" 1884msgid "Mysql database running\n"
1885msgstr "MySQL-Datenbank läuft\n" 1885msgstr "MySQL-Datenbank läuft\n"
1886 1886
1887#: src/datastore/plugin_datastore_postgres.c:284 1887#: src/datastore/plugin_datastore_postgres.c:273
1888#: src/datastore/plugin_datastore_postgres.c:897 1888#: src/datastore/plugin_datastore_postgres.c:886
1889msgid "Postgresql exec failure" 1889msgid "Postgresql exec failure"
1890msgstr "" 1890msgstr ""
1891 1891
1892#: src/datastore/plugin_datastore_postgres.c:858 1892#: src/datastore/plugin_datastore_postgres.c:847
1893#, fuzzy 1893#, fuzzy
1894msgid "Failed to drop table from database.\n" 1894msgid "Failed to drop table from database.\n"
1895msgstr "Fehler beim Binden an UDP Port %d.\n" 1895msgstr "Fehler beim Binden an UDP Port %d.\n"
1896 1896
1897#: src/datastore/plugin_datastore_postgres.c:956 1897#: src/datastore/plugin_datastore_postgres.c:945
1898msgid "Postgres database running\n" 1898msgid "Postgres database running\n"
1899msgstr "PostgreSQL-Datenbank läuft\n" 1899msgstr "PostgreSQL-Datenbank läuft\n"
1900 1900
@@ -1908,7 +1908,7 @@ msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
1908 1908
1909#: src/datastore/plugin_datastore_sqlite.c:310 1909#: src/datastore/plugin_datastore_sqlite.c:310
1910#: src/namecache/plugin_namecache_sqlite.c:180 1910#: src/namecache/plugin_namecache_sqlite.c:180
1911#: src/namestore/plugin_namestore_sqlite.c:869 1911#: src/namestore/plugin_namestore_sqlite.c:868
1912#: src/peerstore/plugin_peerstore_sqlite.c:540 1912#: src/peerstore/plugin_peerstore_sqlite.c:540
1913#, c-format 1913#, c-format
1914msgid "Unable to initialize SQLite: %s.\n" 1914msgid "Unable to initialize SQLite: %s.\n"
@@ -3763,32 +3763,28 @@ msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n"
3763msgid "VPN returned empty result for `%s'\n" 3763msgid "VPN returned empty result for `%s'\n"
3764msgstr "" 3764msgstr ""
3765 3765
3766#: src/gns/gnunet-dns2gns.c:655 3766#: src/gns/gnunet-dns2gns.c:656
3767#, c-format 3767#, c-format
3768msgid "Cannot parse DNS request from %s\n" 3768msgid "Cannot parse DNS request from %s\n"
3769msgstr "" 3769msgstr ""
3770 3770
3771#: src/gns/gnunet-dns2gns.c:671 3771#: src/gns/gnunet-dns2gns.c:672
3772#, fuzzy, c-format 3772#, fuzzy, c-format
3773msgid "Received malformed DNS request from %s\n" 3773msgid "Received malformed DNS request from %s\n"
3774msgstr "Beschädigte Antwort auf `%s' von Knoten `%s' empfangen.\n" 3774msgstr "Beschädigte Antwort auf `%s' von Knoten `%s' empfangen.\n"
3775 3775
3776#: src/gns/gnunet-dns2gns.c:679 3776#: src/gns/gnunet-dns2gns.c:680
3777#, fuzzy, c-format 3777#, fuzzy, c-format
3778msgid "Received unsupported DNS request from %s\n" 3778msgid "Received unsupported DNS request from %s\n"
3779msgstr "Unbekannte Anfrageart %d empfangen bei %s:%d\n" 3779msgstr "Unbekannte Anfrageart %d empfangen bei %s:%d\n"
3780 3780
3781#: src/gns/gnunet-dns2gns.c:840 3781#: src/gns/gnunet-dns2gns.c:841
3782#, fuzzy 3782#, fuzzy
3783msgid "No DNS server specified!\n" 3783msgid "No DNS server specified!\n"
3784msgstr "Keine Schlüsselwörter angegeben!\n" 3784msgstr "Keine Schlüsselwörter angegeben!\n"
3785 3785
3786#: src/gns/gnunet-dns2gns.c:995
3787msgid "IP of recursive DNS resolver to use (required)"
3788msgstr ""
3789
3790#: src/gns/gnunet-dns2gns.c:1001 3786#: src/gns/gnunet-dns2gns.c:1001
3791msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3787msgid "IP of recursive DNS resolver to use (required)"
3792msgstr "" 3788msgstr ""
3793 3789
3794#: src/gns/gnunet-dns2gns.c:1018 3790#: src/gns/gnunet-dns2gns.c:1018
@@ -3979,13 +3975,15 @@ msgid "Properly base32-encoded public key required"
3979msgstr "# Bytes empfangen über TCP" 3975msgstr "# Bytes empfangen über TCP"
3980 3976
3981#: src/gns/gnunet-service-gns.c:537 3977#: src/gns/gnunet-service-gns.c:537
3978#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
3979#: src/zonemaster/gnunet-service-zonemaster.c:982
3982#, fuzzy 3980#, fuzzy
3983msgid "Failed to connect to the namecache!\n" 3981msgid "Failed to connect to the namecache!\n"
3984msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 3982msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
3985 3983
3986#: src/gns/gnunet-service-gns.c:556 3984#: src/gns/gnunet-service-gns.c:556
3987#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 3985#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
3988#: src/zonemaster/gnunet-service-zonemaster.c:853 3986#: src/zonemaster/gnunet-service-zonemaster.c:1021
3989#, fuzzy 3987#, fuzzy
3990msgid "Could not connect to DHT!\n" 3988msgid "Could not connect to DHT!\n"
3991msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" 3989msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n"
@@ -4811,25 +4809,25 @@ msgstr "Sqlite-Datenbank läuft\n"
4811msgid "Failed to setup database at `%s'\n" 4809msgid "Failed to setup database at `%s'\n"
4812msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 4810msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
4813 4811
4814#: src/namestore/gnunet-namestore-dbtool.c:87 4812#: src/namestore/gnunet-namestore-dbtool.c:86
4815#: src/namestore/gnunet-namestore.c:1348 4813#: src/namestore/gnunet-namestore.c:1348
4816#, c-format 4814#, c-format
4817msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4815msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4818msgstr "" 4816msgstr ""
4819 4817
4820#: src/namestore/gnunet-namestore-dbtool.c:154 4818#: src/namestore/gnunet-namestore-dbtool.c:153
4821msgid "initialize database" 4819msgid "initialize database"
4822msgstr "" 4820msgstr ""
4823 4821
4824#: src/namestore/gnunet-namestore-dbtool.c:158 4822#: src/namestore/gnunet-namestore-dbtool.c:157
4825msgid "reset database (DANGEROUS: All existing data is lost!" 4823msgid "reset database (DANGEROUS: All existing data is lost!"
4826msgstr "" 4824msgstr ""
4827 4825
4828#: src/namestore/gnunet-namestore-dbtool.c:165 4826#: src/namestore/gnunet-namestore-dbtool.c:164
4829msgid "the namestore plugin to work with, e.g. 'sqlite'" 4827msgid "the namestore plugin to work with, e.g. 'sqlite'"
4830msgstr "" 4828msgstr ""
4831 4829
4832#: src/namestore/gnunet-namestore-dbtool.c:179 4830#: src/namestore/gnunet-namestore-dbtool.c:178
4833#, fuzzy 4831#, fuzzy
4834msgid "GNUnet namestore database manipulation tool" 4832msgid "GNUnet namestore database manipulation tool"
4835msgstr "GNUnet Konfiguration" 4833msgstr "GNUnet Konfiguration"
@@ -5137,22 +5135,17 @@ msgstr ""
5137msgid "name of the ego controlling the zone" 5135msgid "name of the ego controlling the zone"
5138msgstr "" 5136msgstr ""
5139 5137
5140#: src/namestore/gnunet-service-namestore.c:950 5138#: src/namestore/gnunet-service-namestore.c:1504
5141#, c-format
5142msgid "Failed to replicate block in namecache: %s\n"
5143msgstr ""
5144
5145#: src/namestore/gnunet-service-namestore.c:1667
5146#, fuzzy 5139#, fuzzy
5147msgid "Error normalizing name." 5140msgid "Error normalizing name."
5148msgstr "Fehler beim Anlegen des Tunnels\n" 5141msgstr "Fehler beim Anlegen des Tunnels\n"
5149 5142
5150#: src/namestore/gnunet-service-namestore.c:1690 5143#: src/namestore/gnunet-service-namestore.c:1522
5151#, fuzzy 5144#, fuzzy
5152msgid "Error deserializing records." 5145msgid "Error deserializing records."
5153msgstr "=\tFehler beim Lesen des Verzeichnisses.\n" 5146msgstr "=\tFehler beim Lesen des Verzeichnisses.\n"
5154 5147
5155#: src/namestore/gnunet-service-namestore.c:1800 5148#: src/namestore/gnunet-service-namestore.c:1633
5156#, fuzzy 5149#, fuzzy
5157msgid "Store failed" 5150msgid "Store failed"
5158msgstr "Verbindung fehlgeschlagen: %s\n" 5151msgstr "Verbindung fehlgeschlagen: %s\n"
@@ -5182,7 +5175,7 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
5182msgid "SQlite database running\n" 5175msgid "SQlite database running\n"
5183msgstr "Sqlite-Datenbank läuft\n" 5176msgstr "Sqlite-Datenbank läuft\n"
5184 5177
5185#: src/namestore/plugin_rest_namestore.c:1109 5178#: src/namestore/plugin_rest_namestore.c:1369
5186#, fuzzy 5179#, fuzzy
5187msgid "Namestore REST API initialized\n" 5180msgid "Namestore REST API initialized\n"
5188msgstr " Verbindung fehlgeschlagen\n" 5181msgstr " Verbindung fehlgeschlagen\n"
@@ -5762,43 +5755,43 @@ msgstr ""
5762msgid "Daemon to run to perform IP protocol translation to GNUnet" 5755msgid "Daemon to run to perform IP protocol translation to GNUnet"
5763msgstr "" 5756msgstr ""
5764 5757
5765#: src/reclaim/gnunet-did.c:591 5758#: src/reclaim/gnunet-did.c:590
5766msgid "Create a DID Document and display its DID" 5759msgid "Create a DID Document and display its DID"
5767msgstr "" 5760msgstr ""
5768 5761
5769#: src/reclaim/gnunet-did.c:596 5762#: src/reclaim/gnunet-did.c:595
5770msgid "Get the DID Document associated with the given DID" 5763msgid "Get the DID Document associated with the given DID"
5771msgstr "" 5764msgstr ""
5772 5765
5773#: src/reclaim/gnunet-did.c:601 5766#: src/reclaim/gnunet-did.c:600
5774msgid "Remove the DID" 5767msgid "Remove the DID"
5775msgstr "" 5768msgstr ""
5776 5769
5777#: src/reclaim/gnunet-did.c:605 5770#: src/reclaim/gnunet-did.c:604
5778msgid "Replace the DID Document." 5771msgid "Replace the DID Document."
5779msgstr "" 5772msgstr ""
5780 5773
5781#: src/reclaim/gnunet-did.c:609 5774#: src/reclaim/gnunet-did.c:608
5782msgid "Show the DID for a given ego" 5775msgid "Show the DID for a given ego"
5783msgstr "" 5776msgstr ""
5784 5777
5785#: src/reclaim/gnunet-did.c:613 5778#: src/reclaim/gnunet-did.c:612
5786msgid "Show egos with DIDs" 5779msgid "Show egos with DIDs"
5787msgstr "" 5780msgstr ""
5788 5781
5789#: src/reclaim/gnunet-did.c:619 5782#: src/reclaim/gnunet-did.c:618
5790msgid "The Decentralized Identity (DID)" 5783msgid "The Decentralized Identity (DID)"
5791msgstr "" 5784msgstr ""
5792 5785
5793#: src/reclaim/gnunet-did.c:625 5786#: src/reclaim/gnunet-did.c:624
5794msgid "The DID Document to store in GNUNET" 5787msgid "The DID Document to store in GNUNET"
5795msgstr "" 5788msgstr ""
5796 5789
5797#: src/reclaim/gnunet-did.c:630 5790#: src/reclaim/gnunet-did.c:629
5798msgid "The name of the EGO" 5791msgid "The name of the EGO"
5799msgstr "" 5792msgstr ""
5800 5793
5801#: src/reclaim/gnunet-did.c:636 5794#: src/reclaim/gnunet-did.c:635
5802msgid "The time until the DID Document is going to expire (e.g. 5d)" 5795msgid "The time until the DID Document is going to expire (e.g. 5d)"
5803msgstr "" 5796msgstr ""
5804 5797
@@ -5885,7 +5878,7 @@ msgstr ""
5885msgid "re:claimID command line tool" 5878msgid "re:claimID command line tool"
5886msgstr "" 5879msgstr ""
5887 5880
5888#: src/reclaim/plugin_rest_openid_connect.c:3094 5881#: src/reclaim/plugin_rest_openid_connect.c:3096
5889#, fuzzy 5882#, fuzzy
5890msgid "OpenID Connect REST API initialized\n" 5883msgid "OpenID Connect REST API initialized\n"
5891msgstr " Verbindung fehlgeschlagen\n" 5884msgstr " Verbindung fehlgeschlagen\n"
@@ -6687,17 +6680,17 @@ msgid ""
6687"free topology cannot be more than %u. Given `%s = %llu'" 6680"free topology cannot be more than %u. Given `%s = %llu'"
6688msgstr "" 6681msgstr ""
6689 6682
6690#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6683#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6691#, c-format 6684#, c-format
6692msgid "Topology file %s not found\n" 6685msgid "Topology file %s not found\n"
6693msgstr "" 6686msgstr ""
6694 6687
6695#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6688#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6696#, c-format 6689#, c-format
6697msgid "Topology file %s has no data\n" 6690msgid "Topology file %s has no data\n"
6698msgstr "" 6691msgstr ""
6699 6692
6700#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6693#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6701#, c-format 6694#, c-format
6702msgid "Topology file %s cannot be read\n" 6695msgid "Topology file %s cannot be read\n"
6703msgstr "" 6696msgstr ""
@@ -6897,18 +6890,18 @@ msgstr "# HELLO-Meldungen empfangen"
6897msgid "GNUnet topology control" 6890msgid "GNUnet topology control"
6898msgstr "" 6891msgstr ""
6899 6892
6900#: src/transport/gnunet-communicator-tcp.c:3342 6893#: src/transport/gnunet-communicator-tcp.c:3347
6901#: src/transport/gnunet-communicator-udp.c:3867 6894#: src/transport/gnunet-communicator-udp.c:3871
6902#: src/transport/gnunet-service-tng.c:11039 6895#: src/transport/gnunet-service-tng.c:11334
6903#: src/transport/gnunet-service-transport.c:2622 6896#: src/transport/gnunet-service-transport.c:2622
6904msgid "Transport service is lacking key configuration settings. Exiting.\n" 6897msgid "Transport service is lacking key configuration settings. Exiting.\n"
6905msgstr "" 6898msgstr ""
6906 6899
6907#: src/transport/gnunet-communicator-tcp.c:3675 6900#: src/transport/gnunet-communicator-tcp.c:3680
6908msgid "GNUnet TCP communicator" 6901msgid "GNUnet TCP communicator"
6909msgstr "" 6902msgstr ""
6910 6903
6911#: src/transport/gnunet-communicator-udp.c:3942 6904#: src/transport/gnunet-communicator-udp.c:3946
6912msgid "GNUnet UDP communicator" 6905msgid "GNUnet UDP communicator"
6913msgstr "" 6906msgstr ""
6914 6907
@@ -8010,7 +8003,7 @@ msgstr "GNUnet Konfiguration"
8010msgid "Could not access configuration file `%s'\n" 8003msgid "Could not access configuration file `%s'\n"
8011msgstr "Konfigurationsdatei `%s' konnte nicht geparst werden.\n" 8004msgstr "Konfigurationsdatei `%s' konnte nicht geparst werden.\n"
8012 8005
8013#: src/transport/transport_api2_communication.c:743 8006#: src/transport/transport_api2_communication.c:752
8014msgid "Dropped backchanel message: handler not provided by communicator\n" 8007msgid "Dropped backchanel message: handler not provided by communicator\n"
8015msgstr "" 8008msgstr ""
8016 8009
@@ -9153,12 +9146,22 @@ msgstr "Dienst wird über UDP angeboten"
9153msgid "Setup tunnels via VPN." 9146msgid "Setup tunnels via VPN."
9154msgstr "Tunnel über VPN einrichten." 9147msgstr "Tunnel über VPN einrichten."
9155 9148
9156#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9149#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9157#: src/zonemaster/gnunet-service-zonemaster.c:815 9150#: src/zonemaster/gnunet-service-zonemaster.c:364
9151#, c-format
9152msgid "Failed to replicate block in namecache: %s\n"
9153msgstr ""
9154
9155#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9156#: src/zonemaster/gnunet-service-zonemaster.c:969
9158#, fuzzy 9157#, fuzzy
9159msgid "Failed to connect to the namestore!\n" 9158msgid "Failed to connect to the namestore!\n"
9160msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 9159msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
9161 9160
9161#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9162msgid "Namecache is disabled!\n"
9163msgstr ""
9164
9162#, fuzzy 9165#, fuzzy
9163#~ msgid "Flat file database running\n" 9166#~ msgid "Flat file database running\n"
9164#~ msgstr "Sqlite-Datenbank läuft\n" 9167#~ 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 ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: gnunet 0.9.5a\n" 9"Project-Id-Version: gnunet 0.9.5a\n"
10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
11"POT-Creation-Date: 2022-10-01 22:27+0900\n" 11"POT-Creation-Date: 2022-10-16 18:47+0900\n"
12"PO-Revision-Date: 2013-02-23 17:50+0100\n" 12"PO-Revision-Date: 2013-02-23 17:50+0100\n"
13"Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n" 13"Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n"
14"Language-Team: Spanish <es@li.org>\n" 14"Language-Team: Spanish <es@li.org>\n"
@@ -1960,16 +1960,16 @@ msgstr "«%s» para «%s» falló en %s: %d con error: %s\n"
1960msgid "Mysql database running\n" 1960msgid "Mysql database running\n"
1961msgstr "Base de datos Mysql ejecutándose\n" 1961msgstr "Base de datos Mysql ejecutándose\n"
1962 1962
1963#: src/datastore/plugin_datastore_postgres.c:284 1963#: src/datastore/plugin_datastore_postgres.c:273
1964#: src/datastore/plugin_datastore_postgres.c:897 1964#: src/datastore/plugin_datastore_postgres.c:886
1965msgid "Postgresql exec failure" 1965msgid "Postgresql exec failure"
1966msgstr "" 1966msgstr ""
1967 1967
1968#: src/datastore/plugin_datastore_postgres.c:858 1968#: src/datastore/plugin_datastore_postgres.c:847
1969msgid "Failed to drop table from database.\n" 1969msgid "Failed to drop table from database.\n"
1970msgstr "Se produjo un fallo al borrar una tabla de la base de datos.\n" 1970msgstr "Se produjo un fallo al borrar una tabla de la base de datos.\n"
1971 1971
1972#: src/datastore/plugin_datastore_postgres.c:956 1972#: src/datastore/plugin_datastore_postgres.c:945
1973msgid "Postgres database running\n" 1973msgid "Postgres database running\n"
1974msgstr "Base de datos Postgres ejecutándose\n" 1974msgstr "Base de datos Postgres ejecutándose\n"
1975 1975
@@ -1983,7 +1983,7 @@ msgstr "«%s» falló en %s:%u con el error: %s"
1983 1983
1984#: src/datastore/plugin_datastore_sqlite.c:310 1984#: src/datastore/plugin_datastore_sqlite.c:310
1985#: src/namecache/plugin_namecache_sqlite.c:180 1985#: src/namecache/plugin_namecache_sqlite.c:180
1986#: src/namestore/plugin_namestore_sqlite.c:869 1986#: src/namestore/plugin_namestore_sqlite.c:868
1987#: src/peerstore/plugin_peerstore_sqlite.c:540 1987#: src/peerstore/plugin_peerstore_sqlite.c:540
1988#, c-format 1988#, c-format
1989msgid "Unable to initialize SQLite: %s.\n" 1989msgid "Unable to initialize SQLite: %s.\n"
@@ -3888,37 +3888,30 @@ msgstr "Se produjo un fallo al procesar la petición DNS. Omitiendo.\n"
3888msgid "VPN returned empty result for `%s'\n" 3888msgid "VPN returned empty result for `%s'\n"
3889msgstr "El ATS devolvió resultados para %u direcciones\n" 3889msgstr "El ATS devolvió resultados para %u direcciones\n"
3890 3890
3891#: src/gns/gnunet-dns2gns.c:655 3891#: src/gns/gnunet-dns2gns.c:656
3892#, c-format 3892#, c-format
3893msgid "Cannot parse DNS request from %s\n" 3893msgid "Cannot parse DNS request from %s\n"
3894msgstr "No se puede procesar la petición DNS de %s\n" 3894msgstr "No se puede procesar la petición DNS de %s\n"
3895 3895
3896#: src/gns/gnunet-dns2gns.c:671 3896#: src/gns/gnunet-dns2gns.c:672
3897#, c-format 3897#, c-format
3898msgid "Received malformed DNS request from %s\n" 3898msgid "Received malformed DNS request from %s\n"
3899msgstr "Recibida petición DNS mal formada de %s\n" 3899msgstr "Recibida petición DNS mal formada de %s\n"
3900 3900
3901#: src/gns/gnunet-dns2gns.c:679 3901#: src/gns/gnunet-dns2gns.c:680
3902#, c-format 3902#, c-format
3903msgid "Received unsupported DNS request from %s\n" 3903msgid "Received unsupported DNS request from %s\n"
3904msgstr "Recibida petición DNS no soportada de %s\n" 3904msgstr "Recibida petición DNS no soportada de %s\n"
3905 3905
3906#: src/gns/gnunet-dns2gns.c:840 3906#: src/gns/gnunet-dns2gns.c:841
3907#, fuzzy 3907#, fuzzy
3908msgid "No DNS server specified!\n" 3908msgid "No DNS server specified!\n"
3909msgstr "¡Ninguna palabra clave especificada!\n" 3909msgstr "¡Ninguna palabra clave especificada!\n"
3910 3910
3911#: src/gns/gnunet-dns2gns.c:995 3911#: src/gns/gnunet-dns2gns.c:1001
3912msgid "IP of recursive DNS resolver to use (required)" 3912msgid "IP of recursive DNS resolver to use (required)"
3913msgstr "IP del resolvedor recursivo DNS a usar (requerido)" 3913msgstr "IP del resolvedor recursivo DNS a usar (requerido)"
3914 3914
3915#: src/gns/gnunet-dns2gns.c:1001
3916#, fuzzy
3917msgid "UDP port to listen on for inbound DNS requests; default: 2853"
3918msgstr ""
3919"Puerto UDP en el que escuchar para peticiones DNS entrantes; predeterminado: "
3920"53"
3921
3922#: src/gns/gnunet-dns2gns.c:1018 3915#: src/gns/gnunet-dns2gns.c:1018
3923msgid "GNUnet DNS-to-GNS proxy (a DNS server)" 3916msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
3924msgstr "Pasarela GNUnet DNS-a-GNS (un servidor DNS)" 3917msgstr "Pasarela GNUnet DNS-a-GNS (un servidor DNS)"
@@ -4109,13 +4102,15 @@ msgid "Properly base32-encoded public key required"
4109msgstr "Tipo requerido\n" 4102msgstr "Tipo requerido\n"
4110 4103
4111#: src/gns/gnunet-service-gns.c:537 4104#: src/gns/gnunet-service-gns.c:537
4105#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
4106#: src/zonemaster/gnunet-service-zonemaster.c:982
4112#, fuzzy 4107#, fuzzy
4113msgid "Failed to connect to the namecache!\n" 4108msgid "Failed to connect to the namecache!\n"
4114msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n" 4109msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n"
4115 4110
4116#: src/gns/gnunet-service-gns.c:556 4111#: src/gns/gnunet-service-gns.c:556
4117#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 4112#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
4118#: src/zonemaster/gnunet-service-zonemaster.c:853 4113#: src/zonemaster/gnunet-service-zonemaster.c:1021
4119msgid "Could not connect to DHT!\n" 4114msgid "Could not connect to DHT!\n"
4120msgstr "¡No se pudo conectar a la DHT!\n" 4115msgstr "¡No se pudo conectar a la DHT!\n"
4121 4116
@@ -4982,25 +4977,25 @@ msgstr "Base de datos sqlite ejecutándose\n"
4982msgid "Failed to setup database at `%s'\n" 4977msgid "Failed to setup database at `%s'\n"
4983msgstr "Se produjo un fallo al inciar «%s» en «%s»\n" 4978msgstr "Se produjo un fallo al inciar «%s» en «%s»\n"
4984 4979
4985#: src/namestore/gnunet-namestore-dbtool.c:87 4980#: src/namestore/gnunet-namestore-dbtool.c:86
4986#: src/namestore/gnunet-namestore.c:1348 4981#: src/namestore/gnunet-namestore.c:1348
4987#, fuzzy, c-format 4982#, fuzzy, c-format
4988msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4983msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4989msgstr "Argumentos superfluos (ignorados).\n" 4984msgstr "Argumentos superfluos (ignorados).\n"
4990 4985
4991#: src/namestore/gnunet-namestore-dbtool.c:154 4986#: src/namestore/gnunet-namestore-dbtool.c:153
4992msgid "initialize database" 4987msgid "initialize database"
4993msgstr "" 4988msgstr ""
4994 4989
4995#: src/namestore/gnunet-namestore-dbtool.c:158 4990#: src/namestore/gnunet-namestore-dbtool.c:157
4996msgid "reset database (DANGEROUS: All existing data is lost!" 4991msgid "reset database (DANGEROUS: All existing data is lost!"
4997msgstr "" 4992msgstr ""
4998 4993
4999#: src/namestore/gnunet-namestore-dbtool.c:165 4994#: src/namestore/gnunet-namestore-dbtool.c:164
5000msgid "the namestore plugin to work with, e.g. 'sqlite'" 4995msgid "the namestore plugin to work with, e.g. 'sqlite'"
5001msgstr "" 4996msgstr ""
5002 4997
5003#: src/namestore/gnunet-namestore-dbtool.c:179 4998#: src/namestore/gnunet-namestore-dbtool.c:178
5004#, fuzzy 4999#, fuzzy
5005msgid "GNUnet namestore database manipulation tool" 5000msgid "GNUnet namestore database manipulation tool"
5006msgstr "Herramienta de manipulación de zona de GNUnet" 5001msgstr "Herramienta de manipulación de zona de GNUnet"
@@ -5317,22 +5312,17 @@ msgstr ""
5317msgid "name of the ego controlling the zone" 5312msgid "name of the ego controlling the zone"
5318msgstr "nombre de la sección a la que acceder" 5313msgstr "nombre de la sección a la que acceder"
5319 5314
5320#: src/namestore/gnunet-service-namestore.c:950 5315#: src/namestore/gnunet-service-namestore.c:1504
5321#, fuzzy, c-format
5322msgid "Failed to replicate block in namecache: %s\n"
5323msgstr "Se produjo un fallo al crear el espacio de nombres «%s»\n"
5324
5325#: src/namestore/gnunet-service-namestore.c:1667
5326#, fuzzy 5316#, fuzzy
5327msgid "Error normalizing name." 5317msgid "Error normalizing name."
5328msgstr "Error creando el túnel\n" 5318msgstr "Error creando el túnel\n"
5329 5319
5330#: src/namestore/gnunet-service-namestore.c:1690 5320#: src/namestore/gnunet-service-namestore.c:1522
5331#, fuzzy 5321#, fuzzy
5332msgid "Error deserializing records." 5322msgid "Error deserializing records."
5333msgstr "Error interno escaneando directorio.\n" 5323msgstr "Error interno escaneando directorio.\n"
5334 5324
5335#: src/namestore/gnunet-service-namestore.c:1800 5325#: src/namestore/gnunet-service-namestore.c:1633
5336#, fuzzy 5326#, fuzzy
5337msgid "Store failed" 5327msgid "Store failed"
5338msgstr "«gnunet-ecc» falló" 5328msgstr "«gnunet-ecc» falló"
@@ -5362,7 +5352,7 @@ msgstr "Se produjo un fallo al inciar «%s» en «%s»\n"
5362msgid "SQlite database running\n" 5352msgid "SQlite database running\n"
5363msgstr "Base de datos sqlite ejecutándose\n" 5353msgstr "Base de datos sqlite ejecutándose\n"
5364 5354
5365#: src/namestore/plugin_rest_namestore.c:1109 5355#: src/namestore/plugin_rest_namestore.c:1369
5366#, fuzzy 5356#, fuzzy
5367msgid "Namestore REST API initialized\n" 5357msgid "Namestore REST API initialized\n"
5368msgstr "Conexión fallida\n" 5358msgstr "Conexión fallida\n"
@@ -5950,43 +5940,43 @@ msgid "Daemon to run to perform IP protocol translation to GNUnet"
5950msgstr "" 5940msgstr ""
5951"Demonio a ejecutar para realizar la traducción de protocolo IP a GNUnet" 5941"Demonio a ejecutar para realizar la traducción de protocolo IP a GNUnet"
5952 5942
5953#: src/reclaim/gnunet-did.c:591 5943#: src/reclaim/gnunet-did.c:590
5954msgid "Create a DID Document and display its DID" 5944msgid "Create a DID Document and display its DID"
5955msgstr "" 5945msgstr ""
5956 5946
5957#: src/reclaim/gnunet-did.c:596 5947#: src/reclaim/gnunet-did.c:595
5958msgid "Get the DID Document associated with the given DID" 5948msgid "Get the DID Document associated with the given DID"
5959msgstr "" 5949msgstr ""
5960 5950
5961#: src/reclaim/gnunet-did.c:601 5951#: src/reclaim/gnunet-did.c:600
5962msgid "Remove the DID" 5952msgid "Remove the DID"
5963msgstr "" 5953msgstr ""
5964 5954
5965#: src/reclaim/gnunet-did.c:605 5955#: src/reclaim/gnunet-did.c:604
5966msgid "Replace the DID Document." 5956msgid "Replace the DID Document."
5967msgstr "" 5957msgstr ""
5968 5958
5969#: src/reclaim/gnunet-did.c:609 5959#: src/reclaim/gnunet-did.c:608
5970msgid "Show the DID for a given ego" 5960msgid "Show the DID for a given ego"
5971msgstr "" 5961msgstr ""
5972 5962
5973#: src/reclaim/gnunet-did.c:613 5963#: src/reclaim/gnunet-did.c:612
5974msgid "Show egos with DIDs" 5964msgid "Show egos with DIDs"
5975msgstr "" 5965msgstr ""
5976 5966
5977#: src/reclaim/gnunet-did.c:619 5967#: src/reclaim/gnunet-did.c:618
5978msgid "The Decentralized Identity (DID)" 5968msgid "The Decentralized Identity (DID)"
5979msgstr "" 5969msgstr ""
5980 5970
5981#: src/reclaim/gnunet-did.c:625 5971#: src/reclaim/gnunet-did.c:624
5982msgid "The DID Document to store in GNUNET" 5972msgid "The DID Document to store in GNUNET"
5983msgstr "" 5973msgstr ""
5984 5974
5985#: src/reclaim/gnunet-did.c:630 5975#: src/reclaim/gnunet-did.c:629
5986msgid "The name of the EGO" 5976msgid "The name of the EGO"
5987msgstr "" 5977msgstr ""
5988 5978
5989#: src/reclaim/gnunet-did.c:636 5979#: src/reclaim/gnunet-did.c:635
5990msgid "The time until the DID Document is going to expire (e.g. 5d)" 5980msgid "The time until the DID Document is going to expire (e.g. 5d)"
5991msgstr "" 5981msgstr ""
5992 5982
@@ -6074,7 +6064,7 @@ msgstr ""
6074msgid "re:claimID command line tool" 6064msgid "re:claimID command line tool"
6075msgstr "" 6065msgstr ""
6076 6066
6077#: src/reclaim/plugin_rest_openid_connect.c:3094 6067#: src/reclaim/plugin_rest_openid_connect.c:3096
6078#, fuzzy 6068#, fuzzy
6079msgid "OpenID Connect REST API initialized\n" 6069msgid "OpenID Connect REST API initialized\n"
6080msgstr "Conexión fallida\n" 6070msgstr "Conexión fallida\n"
@@ -6903,17 +6893,17 @@ msgid ""
6903"free topology cannot be more than %u. Given `%s = %llu'" 6893"free topology cannot be more than %u. Given `%s = %llu'"
6904msgstr "" 6894msgstr ""
6905 6895
6906#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6896#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6907#, c-format 6897#, c-format
6908msgid "Topology file %s not found\n" 6898msgid "Topology file %s not found\n"
6909msgstr "El fichero de topología %s no fue encontrado\n" 6899msgstr "El fichero de topología %s no fue encontrado\n"
6910 6900
6911#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6901#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6912#, c-format 6902#, c-format
6913msgid "Topology file %s has no data\n" 6903msgid "Topology file %s has no data\n"
6914msgstr "El fichero de topología %s no tiene datos\n" 6904msgstr "El fichero de topología %s no tiene datos\n"
6915 6905
6916#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6906#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6917#, c-format 6907#, c-format
6918msgid "Topology file %s cannot be read\n" 6908msgid "Topology file %s cannot be read\n"
6919msgstr "El fichero de topología %s no puede ser leido\n" 6909msgstr "El fichero de topología %s no puede ser leido\n"
@@ -7140,9 +7130,9 @@ msgstr "# mensajes «HELLO» recibidos"
7140msgid "GNUnet topology control" 7130msgid "GNUnet topology control"
7141msgstr "" 7131msgstr ""
7142 7132
7143#: src/transport/gnunet-communicator-tcp.c:3342 7133#: src/transport/gnunet-communicator-tcp.c:3347
7144#: src/transport/gnunet-communicator-udp.c:3867 7134#: src/transport/gnunet-communicator-udp.c:3871
7145#: src/transport/gnunet-service-tng.c:11039 7135#: src/transport/gnunet-service-tng.c:11334
7146#: src/transport/gnunet-service-transport.c:2622 7136#: src/transport/gnunet-service-transport.c:2622
7147#, fuzzy 7137#, fuzzy
7148msgid "Transport service is lacking key configuration settings. Exiting.\n" 7138msgid "Transport service is lacking key configuration settings. Exiting.\n"
@@ -7150,12 +7140,12 @@ msgstr ""
7150"El servicio de transporte carece de opciones de configuración de clave. " 7140"El servicio de transporte carece de opciones de configuración de clave. "
7151"Saliendo.\n" 7141"Saliendo.\n"
7152 7142
7153#: src/transport/gnunet-communicator-tcp.c:3675 7143#: src/transport/gnunet-communicator-tcp.c:3680
7154#, fuzzy 7144#, fuzzy
7155msgid "GNUnet TCP communicator" 7145msgid "GNUnet TCP communicator"
7156msgstr "Configurador Gtk de GNUnet" 7146msgstr "Configurador Gtk de GNUnet"
7157 7147
7158#: src/transport/gnunet-communicator-udp.c:3942 7148#: src/transport/gnunet-communicator-udp.c:3946
7159#, fuzzy 7149#, fuzzy
7160msgid "GNUnet UDP communicator" 7150msgid "GNUnet UDP communicator"
7161msgstr "Configurador Gtk de GNUnet" 7151msgstr "Configurador Gtk de GNUnet"
@@ -8321,7 +8311,7 @@ msgstr "Se produjo un fallo al borrar el fichero de configuración %s\n"
8321msgid "Could not access configuration file `%s'\n" 8311msgid "Could not access configuration file `%s'\n"
8322msgstr "No se pudo acceder al fichero de configuración «%s»\n" 8312msgstr "No se pudo acceder al fichero de configuración «%s»\n"
8323 8313
8324#: src/transport/transport_api2_communication.c:743 8314#: src/transport/transport_api2_communication.c:752
8325msgid "Dropped backchanel message: handler not provided by communicator\n" 8315msgid "Dropped backchanel message: handler not provided by communicator\n"
8326msgstr "" 8316msgstr ""
8327 8317
@@ -9489,11 +9479,27 @@ msgstr "el servicio es ofrecido vía UDP"
9489msgid "Setup tunnels via VPN." 9479msgid "Setup tunnels via VPN."
9490msgstr "Configurar túneles vía VPN." 9480msgstr "Configurar túneles vía VPN."
9491 9481
9492#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9482#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9493#: src/zonemaster/gnunet-service-zonemaster.c:815 9483#: src/zonemaster/gnunet-service-zonemaster.c:364
9484#, fuzzy, c-format
9485msgid "Failed to replicate block in namecache: %s\n"
9486msgstr "Se produjo un fallo al crear el espacio de nombres «%s»\n"
9487
9488#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9489#: src/zonemaster/gnunet-service-zonemaster.c:969
9494msgid "Failed to connect to the namestore!\n" 9490msgid "Failed to connect to the namestore!\n"
9495msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n" 9491msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n"
9496 9492
9493#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9494msgid "Namecache is disabled!\n"
9495msgstr ""
9496
9497#, fuzzy
9498#~ msgid "UDP port to listen on for inbound DNS requests; default: 2853"
9499#~ msgstr ""
9500#~ "Puerto UDP en el que escuchar para peticiones DNS entrantes; "
9501#~ "predeterminado: 53"
9502
9497#, fuzzy 9503#, fuzzy
9498#~ msgid "Flat file database running\n" 9504#~ msgid "Flat file database running\n"
9499#~ msgstr "Base de datos de plantilla ejecutándose\n" 9505#~ 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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: gnunet 0.10.1\n" 8"Project-Id-Version: gnunet 0.10.1\n"
9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
10"POT-Creation-Date: 2022-10-01 22:27+0900\n" 10"POT-Creation-Date: 2022-10-16 18:47+0900\n"
11"PO-Revision-Date: 2021-11-21 00:53+0100\n" 11"PO-Revision-Date: 2021-11-21 00:53+0100\n"
12"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" 12"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
13"Language-Team: French <traduc@traduc.org>\n" 13"Language-Team: French <traduc@traduc.org>\n"
@@ -1824,16 +1824,16 @@ msgstr ""
1824msgid "Mysql database running\n" 1824msgid "Mysql database running\n"
1825msgstr "" 1825msgstr ""
1826 1826
1827#: src/datastore/plugin_datastore_postgres.c:284 1827#: src/datastore/plugin_datastore_postgres.c:273
1828#: src/datastore/plugin_datastore_postgres.c:897 1828#: src/datastore/plugin_datastore_postgres.c:886
1829msgid "Postgresql exec failure" 1829msgid "Postgresql exec failure"
1830msgstr "" 1830msgstr ""
1831 1831
1832#: src/datastore/plugin_datastore_postgres.c:858 1832#: src/datastore/plugin_datastore_postgres.c:847
1833msgid "Failed to drop table from database.\n" 1833msgid "Failed to drop table from database.\n"
1834msgstr "" 1834msgstr ""
1835 1835
1836#: src/datastore/plugin_datastore_postgres.c:956 1836#: src/datastore/plugin_datastore_postgres.c:945
1837msgid "Postgres database running\n" 1837msgid "Postgres database running\n"
1838msgstr "" 1838msgstr ""
1839 1839
@@ -1847,7 +1847,7 @@ msgstr ""
1847 1847
1848#: src/datastore/plugin_datastore_sqlite.c:310 1848#: src/datastore/plugin_datastore_sqlite.c:310
1849#: src/namecache/plugin_namecache_sqlite.c:180 1849#: src/namecache/plugin_namecache_sqlite.c:180
1850#: src/namestore/plugin_namestore_sqlite.c:869 1850#: src/namestore/plugin_namestore_sqlite.c:868
1851#: src/peerstore/plugin_peerstore_sqlite.c:540 1851#: src/peerstore/plugin_peerstore_sqlite.c:540
1852#, c-format 1852#, c-format
1853msgid "Unable to initialize SQLite: %s.\n" 1853msgid "Unable to initialize SQLite: %s.\n"
@@ -3601,31 +3601,27 @@ msgstr "Échec du démarrage de %s\n"
3601msgid "VPN returned empty result for `%s'\n" 3601msgid "VPN returned empty result for `%s'\n"
3602msgstr "" 3602msgstr ""
3603 3603
3604#: src/gns/gnunet-dns2gns.c:655 3604#: src/gns/gnunet-dns2gns.c:656
3605#, c-format 3605#, c-format
3606msgid "Cannot parse DNS request from %s\n" 3606msgid "Cannot parse DNS request from %s\n"
3607msgstr "" 3607msgstr ""
3608 3608
3609#: src/gns/gnunet-dns2gns.c:671 3609#: src/gns/gnunet-dns2gns.c:672
3610#, c-format 3610#, c-format
3611msgid "Received malformed DNS request from %s\n" 3611msgid "Received malformed DNS request from %s\n"
3612msgstr "" 3612msgstr ""
3613 3613
3614#: src/gns/gnunet-dns2gns.c:679 3614#: src/gns/gnunet-dns2gns.c:680
3615#, c-format 3615#, c-format
3616msgid "Received unsupported DNS request from %s\n" 3616msgid "Received unsupported DNS request from %s\n"
3617msgstr "" 3617msgstr ""
3618 3618
3619#: src/gns/gnunet-dns2gns.c:840 3619#: src/gns/gnunet-dns2gns.c:841
3620msgid "No DNS server specified!\n" 3620msgid "No DNS server specified!\n"
3621msgstr "" 3621msgstr ""
3622 3622
3623#: src/gns/gnunet-dns2gns.c:995
3624msgid "IP of recursive DNS resolver to use (required)"
3625msgstr ""
3626
3627#: src/gns/gnunet-dns2gns.c:1001 3623#: src/gns/gnunet-dns2gns.c:1001
3628msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3624msgid "IP of recursive DNS resolver to use (required)"
3629msgstr "" 3625msgstr ""
3630 3626
3631#: src/gns/gnunet-dns2gns.c:1018 3627#: src/gns/gnunet-dns2gns.c:1018
@@ -3811,12 +3807,14 @@ msgid "Properly base32-encoded public key required"
3811msgstr "" 3807msgstr ""
3812 3808
3813#: src/gns/gnunet-service-gns.c:537 3809#: src/gns/gnunet-service-gns.c:537
3810#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
3811#: src/zonemaster/gnunet-service-zonemaster.c:982
3814msgid "Failed to connect to the namecache!\n" 3812msgid "Failed to connect to the namecache!\n"
3815msgstr "" 3813msgstr ""
3816 3814
3817#: src/gns/gnunet-service-gns.c:556 3815#: src/gns/gnunet-service-gns.c:556
3818#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 3816#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
3819#: src/zonemaster/gnunet-service-zonemaster.c:853 3817#: src/zonemaster/gnunet-service-zonemaster.c:1021
3820msgid "Could not connect to DHT!\n" 3818msgid "Could not connect to DHT!\n"
3821msgstr "" 3819msgstr ""
3822 3820
@@ -4621,25 +4619,25 @@ msgstr ""
4621msgid "Failed to setup database at `%s'\n" 4619msgid "Failed to setup database at `%s'\n"
4622msgstr "Échec du démarrage de %s\n" 4620msgstr "Échec du démarrage de %s\n"
4623 4621
4624#: src/namestore/gnunet-namestore-dbtool.c:87 4622#: src/namestore/gnunet-namestore-dbtool.c:86
4625#: src/namestore/gnunet-namestore.c:1348 4623#: src/namestore/gnunet-namestore.c:1348
4626#, c-format 4624#, c-format
4627msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4625msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4628msgstr "" 4626msgstr ""
4629 4627
4630#: src/namestore/gnunet-namestore-dbtool.c:154 4628#: src/namestore/gnunet-namestore-dbtool.c:153
4631msgid "initialize database" 4629msgid "initialize database"
4632msgstr "" 4630msgstr ""
4633 4631
4634#: src/namestore/gnunet-namestore-dbtool.c:158 4632#: src/namestore/gnunet-namestore-dbtool.c:157
4635msgid "reset database (DANGEROUS: All existing data is lost!" 4633msgid "reset database (DANGEROUS: All existing data is lost!"
4636msgstr "" 4634msgstr ""
4637 4635
4638#: src/namestore/gnunet-namestore-dbtool.c:165 4636#: src/namestore/gnunet-namestore-dbtool.c:164
4639msgid "the namestore plugin to work with, e.g. 'sqlite'" 4637msgid "the namestore plugin to work with, e.g. 'sqlite'"
4640msgstr "" 4638msgstr ""
4641 4639
4642#: src/namestore/gnunet-namestore-dbtool.c:179 4640#: src/namestore/gnunet-namestore-dbtool.c:178
4643msgid "GNUnet namestore database manipulation tool" 4641msgid "GNUnet namestore database manipulation tool"
4644msgstr "" 4642msgstr ""
4645 4643
@@ -4941,22 +4939,17 @@ msgstr ""
4941msgid "name of the ego controlling the zone" 4939msgid "name of the ego controlling the zone"
4942msgstr "" 4940msgstr ""
4943 4941
4944#: src/namestore/gnunet-service-namestore.c:950 4942#: src/namestore/gnunet-service-namestore.c:1504
4945#, c-format
4946msgid "Failed to replicate block in namecache: %s\n"
4947msgstr ""
4948
4949#: src/namestore/gnunet-service-namestore.c:1667
4950#, fuzzy 4943#, fuzzy
4951msgid "Error normalizing name." 4944msgid "Error normalizing name."
4952msgstr "Erreur de création du tunnel\n" 4945msgstr "Erreur de création du tunnel\n"
4953 4946
4954#: src/namestore/gnunet-service-namestore.c:1690 4947#: src/namestore/gnunet-service-namestore.c:1522
4955#, fuzzy 4948#, fuzzy
4956msgid "Error deserializing records." 4949msgid "Error deserializing records."
4957msgstr "Erreur de création du tunnel\n" 4950msgstr "Erreur de création du tunnel\n"
4958 4951
4959#: src/namestore/gnunet-service-namestore.c:1800 4952#: src/namestore/gnunet-service-namestore.c:1633
4960#, fuzzy 4953#, fuzzy
4961msgid "Store failed" 4954msgid "Store failed"
4962msgstr "pa_stream_new() échoué : %s\n" 4955msgstr "pa_stream_new() échoué : %s\n"
@@ -4985,7 +4978,7 @@ msgstr "Échec du démarrage de %s\n"
4985msgid "SQlite database running\n" 4978msgid "SQlite database running\n"
4986msgstr "" 4979msgstr ""
4987 4980
4988#: src/namestore/plugin_rest_namestore.c:1109 4981#: src/namestore/plugin_rest_namestore.c:1369
4989msgid "Namestore REST API initialized\n" 4982msgid "Namestore REST API initialized\n"
4990msgstr "" 4983msgstr ""
4991 4984
@@ -5535,43 +5528,43 @@ msgstr ""
5535msgid "Daemon to run to perform IP protocol translation to GNUnet" 5528msgid "Daemon to run to perform IP protocol translation to GNUnet"
5536msgstr "" 5529msgstr ""
5537 5530
5538#: src/reclaim/gnunet-did.c:591 5531#: src/reclaim/gnunet-did.c:590
5539msgid "Create a DID Document and display its DID" 5532msgid "Create a DID Document and display its DID"
5540msgstr "" 5533msgstr ""
5541 5534
5542#: src/reclaim/gnunet-did.c:596 5535#: src/reclaim/gnunet-did.c:595
5543msgid "Get the DID Document associated with the given DID" 5536msgid "Get the DID Document associated with the given DID"
5544msgstr "" 5537msgstr ""
5545 5538
5546#: src/reclaim/gnunet-did.c:601 5539#: src/reclaim/gnunet-did.c:600
5547msgid "Remove the DID" 5540msgid "Remove the DID"
5548msgstr "" 5541msgstr ""
5549 5542
5550#: src/reclaim/gnunet-did.c:605 5543#: src/reclaim/gnunet-did.c:604
5551msgid "Replace the DID Document." 5544msgid "Replace the DID Document."
5552msgstr "" 5545msgstr ""
5553 5546
5554#: src/reclaim/gnunet-did.c:609 5547#: src/reclaim/gnunet-did.c:608
5555msgid "Show the DID for a given ego" 5548msgid "Show the DID for a given ego"
5556msgstr "" 5549msgstr ""
5557 5550
5558#: src/reclaim/gnunet-did.c:613 5551#: src/reclaim/gnunet-did.c:612
5559msgid "Show egos with DIDs" 5552msgid "Show egos with DIDs"
5560msgstr "" 5553msgstr ""
5561 5554
5562#: src/reclaim/gnunet-did.c:619 5555#: src/reclaim/gnunet-did.c:618
5563msgid "The Decentralized Identity (DID)" 5556msgid "The Decentralized Identity (DID)"
5564msgstr "" 5557msgstr ""
5565 5558
5566#: src/reclaim/gnunet-did.c:625 5559#: src/reclaim/gnunet-did.c:624
5567msgid "The DID Document to store in GNUNET" 5560msgid "The DID Document to store in GNUNET"
5568msgstr "" 5561msgstr ""
5569 5562
5570#: src/reclaim/gnunet-did.c:630 5563#: src/reclaim/gnunet-did.c:629
5571msgid "The name of the EGO" 5564msgid "The name of the EGO"
5572msgstr "" 5565msgstr ""
5573 5566
5574#: src/reclaim/gnunet-did.c:636 5567#: src/reclaim/gnunet-did.c:635
5575msgid "The time until the DID Document is going to expire (e.g. 5d)" 5568msgid "The time until the DID Document is going to expire (e.g. 5d)"
5576msgstr "" 5569msgstr ""
5577 5570
@@ -5658,7 +5651,7 @@ msgstr ""
5658msgid "re:claimID command line tool" 5651msgid "re:claimID command line tool"
5659msgstr "" 5652msgstr ""
5660 5653
5661#: src/reclaim/plugin_rest_openid_connect.c:3094 5654#: src/reclaim/plugin_rest_openid_connect.c:3096
5662msgid "OpenID Connect REST API initialized\n" 5655msgid "OpenID Connect REST API initialized\n"
5663msgstr "" 5656msgstr ""
5664 5657
@@ -6439,17 +6432,17 @@ msgid ""
6439"free topology cannot be more than %u. Given `%s = %llu'" 6432"free topology cannot be more than %u. Given `%s = %llu'"
6440msgstr "" 6433msgstr ""
6441 6434
6442#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6435#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6443#, c-format 6436#, c-format
6444msgid "Topology file %s not found\n" 6437msgid "Topology file %s not found\n"
6445msgstr "" 6438msgstr ""
6446 6439
6447#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6440#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6448#, c-format 6441#, c-format
6449msgid "Topology file %s has no data\n" 6442msgid "Topology file %s has no data\n"
6450msgstr "" 6443msgstr ""
6451 6444
6452#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6445#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6453#, c-format 6446#, c-format
6454msgid "Topology file %s cannot be read\n" 6447msgid "Topology file %s cannot be read\n"
6455msgstr "" 6448msgstr ""
@@ -6645,18 +6638,18 @@ msgstr ""
6645msgid "GNUnet topology control" 6638msgid "GNUnet topology control"
6646msgstr "" 6639msgstr ""
6647 6640
6648#: src/transport/gnunet-communicator-tcp.c:3342 6641#: src/transport/gnunet-communicator-tcp.c:3347
6649#: src/transport/gnunet-communicator-udp.c:3867 6642#: src/transport/gnunet-communicator-udp.c:3871
6650#: src/transport/gnunet-service-tng.c:11039 6643#: src/transport/gnunet-service-tng.c:11334
6651#: src/transport/gnunet-service-transport.c:2622 6644#: src/transport/gnunet-service-transport.c:2622
6652msgid "Transport service is lacking key configuration settings. Exiting.\n" 6645msgid "Transport service is lacking key configuration settings. Exiting.\n"
6653msgstr "" 6646msgstr ""
6654 6647
6655#: src/transport/gnunet-communicator-tcp.c:3675 6648#: src/transport/gnunet-communicator-tcp.c:3680
6656msgid "GNUnet TCP communicator" 6649msgid "GNUnet TCP communicator"
6657msgstr "" 6650msgstr ""
6658 6651
6659#: src/transport/gnunet-communicator-udp.c:3942 6652#: src/transport/gnunet-communicator-udp.c:3946
6660msgid "GNUnet UDP communicator" 6653msgid "GNUnet UDP communicator"
6661msgstr "" 6654msgstr ""
6662 6655
@@ -7713,7 +7706,7 @@ msgstr ""
7713msgid "Could not access configuration file `%s'\n" 7706msgid "Could not access configuration file `%s'\n"
7714msgstr "" 7707msgstr ""
7715 7708
7716#: src/transport/transport_api2_communication.c:743 7709#: src/transport/transport_api2_communication.c:752
7717msgid "Dropped backchanel message: handler not provided by communicator\n" 7710msgid "Dropped backchanel message: handler not provided by communicator\n"
7718msgstr "" 7711msgstr ""
7719 7712
@@ -8828,11 +8821,21 @@ msgstr ""
8828msgid "Setup tunnels via VPN." 8821msgid "Setup tunnels via VPN."
8829msgstr "Configurer des tunnels via VPN." 8822msgstr "Configurer des tunnels via VPN."
8830 8823
8831#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 8824#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
8832#: src/zonemaster/gnunet-service-zonemaster.c:815 8825#: src/zonemaster/gnunet-service-zonemaster.c:364
8826#, c-format
8827msgid "Failed to replicate block in namecache: %s\n"
8828msgstr ""
8829
8830#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
8831#: src/zonemaster/gnunet-service-zonemaster.c:969
8833msgid "Failed to connect to the namestore!\n" 8832msgid "Failed to connect to the namestore!\n"
8834msgstr "" 8833msgstr ""
8835 8834
8835#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
8836msgid "Namecache is disabled!\n"
8837msgstr ""
8838
8836#, fuzzy, c-format 8839#, fuzzy, c-format
8837#~ msgid "Invalid DID `%s'\n" 8840#~ msgid "Invalid DID `%s'\n"
8838#~ msgstr "URI invalide « %s »\n" 8841#~ 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 ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: gnunet 0.10.1\n" 9"Project-Id-Version: gnunet 0.10.1\n"
10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
11"POT-Creation-Date: 2022-10-01 22:27+0900\n" 11"POT-Creation-Date: 2022-10-16 18:47+0900\n"
12"PO-Revision-Date: 2019-10-16 11:00+0200\n" 12"PO-Revision-Date: 2019-10-16 11:00+0200\n"
13"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n" 13"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n"
14"Language-Team: Italian <tp@lists.linux.it>\n" 14"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -1832,16 +1832,16 @@ msgstr ""
1832msgid "Mysql database running\n" 1832msgid "Mysql database running\n"
1833msgstr "" 1833msgstr ""
1834 1834
1835#: src/datastore/plugin_datastore_postgres.c:284 1835#: src/datastore/plugin_datastore_postgres.c:273
1836#: src/datastore/plugin_datastore_postgres.c:897 1836#: src/datastore/plugin_datastore_postgres.c:886
1837msgid "Postgresql exec failure" 1837msgid "Postgresql exec failure"
1838msgstr "" 1838msgstr ""
1839 1839
1840#: src/datastore/plugin_datastore_postgres.c:858 1840#: src/datastore/plugin_datastore_postgres.c:847
1841msgid "Failed to drop table from database.\n" 1841msgid "Failed to drop table from database.\n"
1842msgstr "" 1842msgstr ""
1843 1843
1844#: src/datastore/plugin_datastore_postgres.c:956 1844#: src/datastore/plugin_datastore_postgres.c:945
1845msgid "Postgres database running\n" 1845msgid "Postgres database running\n"
1846msgstr "" 1846msgstr ""
1847 1847
@@ -1855,7 +1855,7 @@ msgstr ""
1855 1855
1856#: src/datastore/plugin_datastore_sqlite.c:310 1856#: src/datastore/plugin_datastore_sqlite.c:310
1857#: src/namecache/plugin_namecache_sqlite.c:180 1857#: src/namecache/plugin_namecache_sqlite.c:180
1858#: src/namestore/plugin_namestore_sqlite.c:869 1858#: src/namestore/plugin_namestore_sqlite.c:868
1859#: src/peerstore/plugin_peerstore_sqlite.c:540 1859#: src/peerstore/plugin_peerstore_sqlite.c:540
1860#, c-format 1860#, c-format
1861msgid "Unable to initialize SQLite: %s.\n" 1861msgid "Unable to initialize SQLite: %s.\n"
@@ -3624,31 +3624,27 @@ msgstr "Generazione statistiche fallita\n"
3624msgid "VPN returned empty result for `%s'\n" 3624msgid "VPN returned empty result for `%s'\n"
3625msgstr "" 3625msgstr ""
3626 3626
3627#: src/gns/gnunet-dns2gns.c:655 3627#: src/gns/gnunet-dns2gns.c:656
3628#, c-format 3628#, c-format
3629msgid "Cannot parse DNS request from %s\n" 3629msgid "Cannot parse DNS request from %s\n"
3630msgstr "" 3630msgstr ""
3631 3631
3632#: src/gns/gnunet-dns2gns.c:671 3632#: src/gns/gnunet-dns2gns.c:672
3633#, c-format 3633#, c-format
3634msgid "Received malformed DNS request from %s\n" 3634msgid "Received malformed DNS request from %s\n"
3635msgstr "" 3635msgstr ""
3636 3636
3637#: src/gns/gnunet-dns2gns.c:679 3637#: src/gns/gnunet-dns2gns.c:680
3638#, c-format 3638#, c-format
3639msgid "Received unsupported DNS request from %s\n" 3639msgid "Received unsupported DNS request from %s\n"
3640msgstr "" 3640msgstr ""
3641 3641
3642#: src/gns/gnunet-dns2gns.c:840 3642#: src/gns/gnunet-dns2gns.c:841
3643msgid "No DNS server specified!\n" 3643msgid "No DNS server specified!\n"
3644msgstr "" 3644msgstr ""
3645 3645
3646#: src/gns/gnunet-dns2gns.c:995
3647msgid "IP of recursive DNS resolver to use (required)"
3648msgstr ""
3649
3650#: src/gns/gnunet-dns2gns.c:1001 3646#: src/gns/gnunet-dns2gns.c:1001
3651msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3647msgid "IP of recursive DNS resolver to use (required)"
3652msgstr "" 3648msgstr ""
3653 3649
3654#: src/gns/gnunet-dns2gns.c:1018 3650#: src/gns/gnunet-dns2gns.c:1018
@@ -3835,12 +3831,14 @@ msgid "Properly base32-encoded public key required"
3835msgstr "# messaggi PONG ricevuti" 3831msgstr "# messaggi PONG ricevuti"
3836 3832
3837#: src/gns/gnunet-service-gns.c:537 3833#: src/gns/gnunet-service-gns.c:537
3834#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
3835#: src/zonemaster/gnunet-service-zonemaster.c:982
3838msgid "Failed to connect to the namecache!\n" 3836msgid "Failed to connect to the namecache!\n"
3839msgstr "" 3837msgstr ""
3840 3838
3841#: src/gns/gnunet-service-gns.c:556 3839#: src/gns/gnunet-service-gns.c:556
3842#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 3840#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
3843#: src/zonemaster/gnunet-service-zonemaster.c:853 3841#: src/zonemaster/gnunet-service-zonemaster.c:1021
3844msgid "Could not connect to DHT!\n" 3842msgid "Could not connect to DHT!\n"
3845msgstr "" 3843msgstr ""
3846 3844
@@ -4646,25 +4644,25 @@ msgstr ""
4646msgid "Failed to setup database at `%s'\n" 4644msgid "Failed to setup database at `%s'\n"
4647msgstr "Impossibile avviare il servizio ' %s'\n" 4645msgstr "Impossibile avviare il servizio ' %s'\n"
4648 4646
4649#: src/namestore/gnunet-namestore-dbtool.c:87 4647#: src/namestore/gnunet-namestore-dbtool.c:86
4650#: src/namestore/gnunet-namestore.c:1348 4648#: src/namestore/gnunet-namestore.c:1348
4651#, c-format 4649#, c-format
4652msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4650msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4653msgstr "" 4651msgstr ""
4654 4652
4655#: src/namestore/gnunet-namestore-dbtool.c:154 4653#: src/namestore/gnunet-namestore-dbtool.c:153
4656msgid "initialize database" 4654msgid "initialize database"
4657msgstr "" 4655msgstr ""
4658 4656
4659#: src/namestore/gnunet-namestore-dbtool.c:158 4657#: src/namestore/gnunet-namestore-dbtool.c:157
4660msgid "reset database (DANGEROUS: All existing data is lost!" 4658msgid "reset database (DANGEROUS: All existing data is lost!"
4661msgstr "" 4659msgstr ""
4662 4660
4663#: src/namestore/gnunet-namestore-dbtool.c:165 4661#: src/namestore/gnunet-namestore-dbtool.c:164
4664msgid "the namestore plugin to work with, e.g. 'sqlite'" 4662msgid "the namestore plugin to work with, e.g. 'sqlite'"
4665msgstr "" 4663msgstr ""
4666 4664
4667#: src/namestore/gnunet-namestore-dbtool.c:179 4665#: src/namestore/gnunet-namestore-dbtool.c:178
4668msgid "GNUnet namestore database manipulation tool" 4666msgid "GNUnet namestore database manipulation tool"
4669msgstr "" 4667msgstr ""
4670 4668
@@ -4967,22 +4965,17 @@ msgstr ""
4967msgid "name of the ego controlling the zone" 4965msgid "name of the ego controlling the zone"
4968msgstr "" 4966msgstr ""
4969 4967
4970#: src/namestore/gnunet-service-namestore.c:950 4968#: src/namestore/gnunet-service-namestore.c:1504
4971#, c-format
4972msgid "Failed to replicate block in namecache: %s\n"
4973msgstr ""
4974
4975#: src/namestore/gnunet-service-namestore.c:1667
4976#, fuzzy 4969#, fuzzy
4977msgid "Error normalizing name." 4970msgid "Error normalizing name."
4978msgstr "Errore durante la scrittura di `%s'.\n" 4971msgstr "Errore durante la scrittura di `%s'.\n"
4979 4972
4980#: src/namestore/gnunet-service-namestore.c:1690 4973#: src/namestore/gnunet-service-namestore.c:1522
4981#, fuzzy 4974#, fuzzy
4982msgid "Error deserializing records." 4975msgid "Error deserializing records."
4983msgstr "Errore interno." 4976msgstr "Errore interno."
4984 4977
4985#: src/namestore/gnunet-service-namestore.c:1800 4978#: src/namestore/gnunet-service-namestore.c:1633
4986msgid "Store failed" 4979msgid "Store failed"
4987msgstr "" 4980msgstr ""
4988 4981
@@ -5010,7 +5003,7 @@ msgstr "Impossibile avviare il servizio ' %s'\n"
5010msgid "SQlite database running\n" 5003msgid "SQlite database running\n"
5011msgstr "" 5004msgstr ""
5012 5005
5013#: src/namestore/plugin_rest_namestore.c:1109 5006#: src/namestore/plugin_rest_namestore.c:1369
5014msgid "Namestore REST API initialized\n" 5007msgid "Namestore REST API initialized\n"
5015msgstr "" 5008msgstr ""
5016 5009
@@ -5561,43 +5554,43 @@ msgstr ""
5561msgid "Daemon to run to perform IP protocol translation to GNUnet" 5554msgid "Daemon to run to perform IP protocol translation to GNUnet"
5562msgstr "" 5555msgstr ""
5563 5556
5564#: src/reclaim/gnunet-did.c:591 5557#: src/reclaim/gnunet-did.c:590
5565msgid "Create a DID Document and display its DID" 5558msgid "Create a DID Document and display its DID"
5566msgstr "" 5559msgstr ""
5567 5560
5568#: src/reclaim/gnunet-did.c:596 5561#: src/reclaim/gnunet-did.c:595
5569msgid "Get the DID Document associated with the given DID" 5562msgid "Get the DID Document associated with the given DID"
5570msgstr "" 5563msgstr ""
5571 5564
5572#: src/reclaim/gnunet-did.c:601 5565#: src/reclaim/gnunet-did.c:600
5573msgid "Remove the DID" 5566msgid "Remove the DID"
5574msgstr "" 5567msgstr ""
5575 5568
5576#: src/reclaim/gnunet-did.c:605 5569#: src/reclaim/gnunet-did.c:604
5577msgid "Replace the DID Document." 5570msgid "Replace the DID Document."
5578msgstr "" 5571msgstr ""
5579 5572
5580#: src/reclaim/gnunet-did.c:609 5573#: src/reclaim/gnunet-did.c:608
5581msgid "Show the DID for a given ego" 5574msgid "Show the DID for a given ego"
5582msgstr "" 5575msgstr ""
5583 5576
5584#: src/reclaim/gnunet-did.c:613 5577#: src/reclaim/gnunet-did.c:612
5585msgid "Show egos with DIDs" 5578msgid "Show egos with DIDs"
5586msgstr "" 5579msgstr ""
5587 5580
5588#: src/reclaim/gnunet-did.c:619 5581#: src/reclaim/gnunet-did.c:618
5589msgid "The Decentralized Identity (DID)" 5582msgid "The Decentralized Identity (DID)"
5590msgstr "" 5583msgstr ""
5591 5584
5592#: src/reclaim/gnunet-did.c:625 5585#: src/reclaim/gnunet-did.c:624
5593msgid "The DID Document to store in GNUNET" 5586msgid "The DID Document to store in GNUNET"
5594msgstr "" 5587msgstr ""
5595 5588
5596#: src/reclaim/gnunet-did.c:630 5589#: src/reclaim/gnunet-did.c:629
5597msgid "The name of the EGO" 5590msgid "The name of the EGO"
5598msgstr "" 5591msgstr ""
5599 5592
5600#: src/reclaim/gnunet-did.c:636 5593#: src/reclaim/gnunet-did.c:635
5601msgid "The time until the DID Document is going to expire (e.g. 5d)" 5594msgid "The time until the DID Document is going to expire (e.g. 5d)"
5602msgstr "" 5595msgstr ""
5603 5596
@@ -5684,7 +5677,7 @@ msgstr ""
5684msgid "re:claimID command line tool" 5677msgid "re:claimID command line tool"
5685msgstr "" 5678msgstr ""
5686 5679
5687#: src/reclaim/plugin_rest_openid_connect.c:3094 5680#: src/reclaim/plugin_rest_openid_connect.c:3096
5688msgid "OpenID Connect REST API initialized\n" 5681msgid "OpenID Connect REST API initialized\n"
5689msgstr "" 5682msgstr ""
5690 5683
@@ -6468,17 +6461,17 @@ msgid ""
6468"free topology cannot be more than %u. Given `%s = %llu'" 6461"free topology cannot be more than %u. Given `%s = %llu'"
6469msgstr "" 6462msgstr ""
6470 6463
6471#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6464#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6472#, c-format 6465#, c-format
6473msgid "Topology file %s not found\n" 6466msgid "Topology file %s not found\n"
6474msgstr "" 6467msgstr ""
6475 6468
6476#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6469#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6477#, c-format 6470#, c-format
6478msgid "Topology file %s has no data\n" 6471msgid "Topology file %s has no data\n"
6479msgstr "" 6472msgstr ""
6480 6473
6481#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6474#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6482#, c-format 6475#, c-format
6483msgid "Topology file %s cannot be read\n" 6476msgid "Topology file %s cannot be read\n"
6484msgstr "" 6477msgstr ""
@@ -6674,18 +6667,18 @@ msgstr ""
6674msgid "GNUnet topology control" 6667msgid "GNUnet topology control"
6675msgstr "" 6668msgstr ""
6676 6669
6677#: src/transport/gnunet-communicator-tcp.c:3342 6670#: src/transport/gnunet-communicator-tcp.c:3347
6678#: src/transport/gnunet-communicator-udp.c:3867 6671#: src/transport/gnunet-communicator-udp.c:3871
6679#: src/transport/gnunet-service-tng.c:11039 6672#: src/transport/gnunet-service-tng.c:11334
6680#: src/transport/gnunet-service-transport.c:2622 6673#: src/transport/gnunet-service-transport.c:2622
6681msgid "Transport service is lacking key configuration settings. Exiting.\n" 6674msgid "Transport service is lacking key configuration settings. Exiting.\n"
6682msgstr "" 6675msgstr ""
6683 6676
6684#: src/transport/gnunet-communicator-tcp.c:3675 6677#: src/transport/gnunet-communicator-tcp.c:3680
6685msgid "GNUnet TCP communicator" 6678msgid "GNUnet TCP communicator"
6686msgstr "" 6679msgstr ""
6687 6680
6688#: src/transport/gnunet-communicator-udp.c:3942 6681#: src/transport/gnunet-communicator-udp.c:3946
6689msgid "GNUnet UDP communicator" 6682msgid "GNUnet UDP communicator"
6690msgstr "" 6683msgstr ""
6691 6684
@@ -7764,7 +7757,7 @@ msgstr ""
7764msgid "Could not access configuration file `%s'\n" 7757msgid "Could not access configuration file `%s'\n"
7765msgstr "" 7758msgstr ""
7766 7759
7767#: src/transport/transport_api2_communication.c:743 7760#: src/transport/transport_api2_communication.c:752
7768msgid "Dropped backchanel message: handler not provided by communicator\n" 7761msgid "Dropped backchanel message: handler not provided by communicator\n"
7769msgstr "" 7762msgstr ""
7770 7763
@@ -8884,11 +8877,21 @@ msgstr ""
8884msgid "Setup tunnels via VPN." 8877msgid "Setup tunnels via VPN."
8885msgstr "" 8878msgstr ""
8886 8879
8887#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 8880#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
8888#: src/zonemaster/gnunet-service-zonemaster.c:815 8881#: src/zonemaster/gnunet-service-zonemaster.c:364
8882#, c-format
8883msgid "Failed to replicate block in namecache: %s\n"
8884msgstr ""
8885
8886#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
8887#: src/zonemaster/gnunet-service-zonemaster.c:969
8889msgid "Failed to connect to the namestore!\n" 8888msgid "Failed to connect to the namestore!\n"
8890msgstr "" 8889msgstr ""
8891 8890
8891#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
8892msgid "Namecache is disabled!\n"
8893msgstr ""
8894
8892#~ msgid "# items stored" 8895#~ msgid "# items stored"
8893#~ msgstr "# elementi memorizzati" 8896#~ msgstr "# elementi memorizzati"
8894 8897
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 ""
6msgstr "" 6msgstr ""
7"Project-Id-Version: gnunet-0.10.1\n" 7"Project-Id-Version: gnunet-0.10.1\n"
8"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 8"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
9"POT-Creation-Date: 2022-10-01 22:27+0900\n" 9"POT-Creation-Date: 2022-10-16 18:47+0900\n"
10"PO-Revision-Date: 2020-10-23 18:39+0200\n" 10"PO-Revision-Date: 2020-10-23 18:39+0200\n"
11"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" 11"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
12"Language-Team: Serbian <(nothing)>\n" 12"Language-Team: Serbian <(nothing)>\n"
@@ -1903,16 +1903,16 @@ msgstr "„%s“ за „%s“ није успело на %s:%d са грешк
1903msgid "Mysql database running\n" 1903msgid "Mysql database running\n"
1904msgstr "База података Мајскула ради\n" 1904msgstr "База података Мајскула ради\n"
1905 1905
1906#: src/datastore/plugin_datastore_postgres.c:284 1906#: src/datastore/plugin_datastore_postgres.c:273
1907#: src/datastore/plugin_datastore_postgres.c:897 1907#: src/datastore/plugin_datastore_postgres.c:886
1908msgid "Postgresql exec failure" 1908msgid "Postgresql exec failure"
1909msgstr "" 1909msgstr ""
1910 1910
1911#: src/datastore/plugin_datastore_postgres.c:858 1911#: src/datastore/plugin_datastore_postgres.c:847
1912msgid "Failed to drop table from database.\n" 1912msgid "Failed to drop table from database.\n"
1913msgstr "Нисам успео да избацим табелу из базе података.\n" 1913msgstr "Нисам успео да избацим табелу из базе података.\n"
1914 1914
1915#: src/datastore/plugin_datastore_postgres.c:956 1915#: src/datastore/plugin_datastore_postgres.c:945
1916msgid "Postgres database running\n" 1916msgid "Postgres database running\n"
1917msgstr "База података Постгреса ради\n" 1917msgstr "База података Постгреса ради\n"
1918 1918
@@ -1926,7 +1926,7 @@ msgstr "„%s“ није успело на %s:%u са грешком: %s"
1926 1926
1927#: src/datastore/plugin_datastore_sqlite.c:310 1927#: src/datastore/plugin_datastore_sqlite.c:310
1928#: src/namecache/plugin_namecache_sqlite.c:180 1928#: src/namecache/plugin_namecache_sqlite.c:180
1929#: src/namestore/plugin_namestore_sqlite.c:869 1929#: src/namestore/plugin_namestore_sqlite.c:868
1930#: src/peerstore/plugin_peerstore_sqlite.c:540 1930#: src/peerstore/plugin_peerstore_sqlite.c:540
1931#, c-format 1931#, c-format
1932msgid "Unable to initialize SQLite: %s.\n" 1932msgid "Unable to initialize SQLite: %s.\n"
@@ -3785,35 +3785,29 @@ msgstr "Нисам успео да обрадим ДНС одговор\n"
3785msgid "VPN returned empty result for `%s'\n" 3785msgid "VPN returned empty result for `%s'\n"
3786msgstr "АТС је вратио резултате за %u адресе\n" 3786msgstr "АТС је вратио резултате за %u адресе\n"
3787 3787
3788#: src/gns/gnunet-dns2gns.c:655 3788#: src/gns/gnunet-dns2gns.c:656
3789#, c-format 3789#, c-format
3790msgid "Cannot parse DNS request from %s\n" 3790msgid "Cannot parse DNS request from %s\n"
3791msgstr "Не могу да обрадим ДНС захтев од „%s“\n" 3791msgstr "Не могу да обрадим ДНС захтев од „%s“\n"
3792 3792
3793#: src/gns/gnunet-dns2gns.c:671 3793#: src/gns/gnunet-dns2gns.c:672
3794#, c-format 3794#, c-format
3795msgid "Received malformed DNS request from %s\n" 3795msgid "Received malformed DNS request from %s\n"
3796msgstr "Примих лош ДНС захтев од „%s“\n" 3796msgstr "Примих лош ДНС захтев од „%s“\n"
3797 3797
3798#: src/gns/gnunet-dns2gns.c:679 3798#: src/gns/gnunet-dns2gns.c:680
3799#, c-format 3799#, c-format
3800msgid "Received unsupported DNS request from %s\n" 3800msgid "Received unsupported DNS request from %s\n"
3801msgstr "Примих неподржан ДНС захтев од „%s“\n" 3801msgstr "Примих неподржан ДНС захтев од „%s“\n"
3802 3802
3803#: src/gns/gnunet-dns2gns.c:840 3803#: src/gns/gnunet-dns2gns.c:841
3804msgid "No DNS server specified!\n" 3804msgid "No DNS server specified!\n"
3805msgstr "Није наведен ДНС сервер!\n" 3805msgstr "Није наведен ДНС сервер!\n"
3806 3806
3807#: src/gns/gnunet-dns2gns.c:995 3807#: src/gns/gnunet-dns2gns.c:1001
3808msgid "IP of recursive DNS resolver to use (required)" 3808msgid "IP of recursive DNS resolver to use (required)"
3809msgstr "ИП дубинског ДНС решавача за коришћење (потребно)" 3809msgstr "ИП дубинског ДНС решавача за коришћење (потребно)"
3810 3810
3811#: src/gns/gnunet-dns2gns.c:1001
3812#, fuzzy
3813msgid "UDP port to listen on for inbound DNS requests; default: 2853"
3814msgstr ""
3815"УДП прикључник на коме ће ослушкивати за долазним ДНС захтевима; основно: 53"
3816
3817#: src/gns/gnunet-dns2gns.c:1018 3811#: src/gns/gnunet-dns2gns.c:1018
3818msgid "GNUnet DNS-to-GNS proxy (a DNS server)" 3812msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
3819msgstr "Посредник ДНС-до-ГНС ГНУнет-а (ДНС сервер)" 3813msgstr "Посредник ДНС-до-ГНС ГНУнет-а (ДНС сервер)"
@@ -4000,12 +3994,14 @@ msgid "Properly base32-encoded public key required"
4000msgstr "исправан јавни кључ се захтева" 3994msgstr "исправан јавни кључ се захтева"
4001 3995
4002#: src/gns/gnunet-service-gns.c:537 3996#: src/gns/gnunet-service-gns.c:537
3997#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
3998#: src/zonemaster/gnunet-service-zonemaster.c:982
4003msgid "Failed to connect to the namecache!\n" 3999msgid "Failed to connect to the namecache!\n"
4004msgstr "Нисам успео да се повежем са оставом назива!\n" 4000msgstr "Нисам успео да се повежем са оставом назива!\n"
4005 4001
4006#: src/gns/gnunet-service-gns.c:556 4002#: src/gns/gnunet-service-gns.c:556
4007#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 4003#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
4008#: src/zonemaster/gnunet-service-zonemaster.c:853 4004#: src/zonemaster/gnunet-service-zonemaster.c:1021
4009msgid "Could not connect to DHT!\n" 4005msgid "Could not connect to DHT!\n"
4010msgstr "Не могу да се повежем на ДХТ!\n" 4006msgstr "Не могу да се повежем на ДХТ!\n"
4011 4007
@@ -4836,25 +4832,25 @@ msgstr ""
4836msgid "Failed to setup database at `%s'\n" 4832msgid "Failed to setup database at `%s'\n"
4837msgstr "Нисам успео да покренем „%s“ на „%s“\n" 4833msgstr "Нисам успео да покренем „%s“ на „%s“\n"
4838 4834
4839#: src/namestore/gnunet-namestore-dbtool.c:87 4835#: src/namestore/gnunet-namestore-dbtool.c:86
4840#: src/namestore/gnunet-namestore.c:1348 4836#: src/namestore/gnunet-namestore.c:1348
4841#, c-format 4837#, c-format
4842msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4838msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4843msgstr "" 4839msgstr ""
4844 4840
4845#: src/namestore/gnunet-namestore-dbtool.c:154 4841#: src/namestore/gnunet-namestore-dbtool.c:153
4846msgid "initialize database" 4842msgid "initialize database"
4847msgstr "" 4843msgstr ""
4848 4844
4849#: src/namestore/gnunet-namestore-dbtool.c:158 4845#: src/namestore/gnunet-namestore-dbtool.c:157
4850msgid "reset database (DANGEROUS: All existing data is lost!" 4846msgid "reset database (DANGEROUS: All existing data is lost!"
4851msgstr "" 4847msgstr ""
4852 4848
4853#: src/namestore/gnunet-namestore-dbtool.c:165 4849#: src/namestore/gnunet-namestore-dbtool.c:164
4854msgid "the namestore plugin to work with, e.g. 'sqlite'" 4850msgid "the namestore plugin to work with, e.g. 'sqlite'"
4855msgstr "" 4851msgstr ""
4856 4852
4857#: src/namestore/gnunet-namestore-dbtool.c:179 4853#: src/namestore/gnunet-namestore-dbtool.c:178
4858#, fuzzy 4854#, fuzzy
4859msgid "GNUnet namestore database manipulation tool" 4855msgid "GNUnet namestore database manipulation tool"
4860msgstr "Алат манипуслисања ГНУнет зоном" 4856msgstr "Алат манипуслисања ГНУнет зоном"
@@ -5163,22 +5159,17 @@ msgstr ""
5163msgid "name of the ego controlling the zone" 5159msgid "name of the ego controlling the zone"
5164msgstr "назив егоа који контролише зону" 5160msgstr "назив егоа који контролише зону"
5165 5161
5166#: src/namestore/gnunet-service-namestore.c:950 5162#: src/namestore/gnunet-service-namestore.c:1504
5167#, c-format
5168msgid "Failed to replicate block in namecache: %s\n"
5169msgstr "Нисам успео да реплицирам блок у остави назива: %s\n"
5170
5171#: src/namestore/gnunet-service-namestore.c:1667
5172#, fuzzy 5163#, fuzzy
5173msgid "Error normalizing name." 5164msgid "Error normalizing name."
5174msgstr "Грешка стварања тунела\n" 5165msgstr "Грешка стварања тунела\n"
5175 5166
5176#: src/namestore/gnunet-service-namestore.c:1690 5167#: src/namestore/gnunet-service-namestore.c:1522
5177#, fuzzy 5168#, fuzzy
5178msgid "Error deserializing records." 5169msgid "Error deserializing records."
5179msgstr "Унутрашња грешка скенирања директоријума.\n" 5170msgstr "Унутрашња грешка скенирања директоријума.\n"
5180 5171
5181#: src/namestore/gnunet-service-namestore.c:1800 5172#: src/namestore/gnunet-service-namestore.c:1633
5182#, fuzzy 5173#, fuzzy
5183msgid "Store failed" 5174msgid "Store failed"
5184msgstr "# Неуспеси „СТАВИ“ смештаја података" 5175msgstr "# Неуспеси „СТАВИ“ смештаја података"
@@ -5208,7 +5199,7 @@ msgstr "Нисам успео да покренем „%s“ на „%s“\n"
5208msgid "SQlite database running\n" 5199msgid "SQlite database running\n"
5209msgstr "База података Скулајта ради\n" 5200msgstr "База података Скулајта ради\n"
5210 5201
5211#: src/namestore/plugin_rest_namestore.c:1109 5202#: src/namestore/plugin_rest_namestore.c:1369
5212#, fuzzy 5203#, fuzzy
5213msgid "Namestore REST API initialized\n" 5204msgid "Namestore REST API initialized\n"
5214msgstr "Меш је покренут\n" 5205msgstr "Меш је покренут\n"
@@ -5784,43 +5775,43 @@ msgstr "Нисам успео да се повежем са „%s“ услуг
5784msgid "Daemon to run to perform IP protocol translation to GNUnet" 5775msgid "Daemon to run to perform IP protocol translation to GNUnet"
5785msgstr "Демон за покретање за обављање превода ИП протокола у ГНУнет" 5776msgstr "Демон за покретање за обављање превода ИП протокола у ГНУнет"
5786 5777
5787#: src/reclaim/gnunet-did.c:591 5778#: src/reclaim/gnunet-did.c:590
5788msgid "Create a DID Document and display its DID" 5779msgid "Create a DID Document and display its DID"
5789msgstr "" 5780msgstr ""
5790 5781
5791#: src/reclaim/gnunet-did.c:596 5782#: src/reclaim/gnunet-did.c:595
5792msgid "Get the DID Document associated with the given DID" 5783msgid "Get the DID Document associated with the given DID"
5793msgstr "" 5784msgstr ""
5794 5785
5795#: src/reclaim/gnunet-did.c:601 5786#: src/reclaim/gnunet-did.c:600
5796msgid "Remove the DID" 5787msgid "Remove the DID"
5797msgstr "" 5788msgstr ""
5798 5789
5799#: src/reclaim/gnunet-did.c:605 5790#: src/reclaim/gnunet-did.c:604
5800msgid "Replace the DID Document." 5791msgid "Replace the DID Document."
5801msgstr "" 5792msgstr ""
5802 5793
5803#: src/reclaim/gnunet-did.c:609 5794#: src/reclaim/gnunet-did.c:608
5804msgid "Show the DID for a given ego" 5795msgid "Show the DID for a given ego"
5805msgstr "" 5796msgstr ""
5806 5797
5807#: src/reclaim/gnunet-did.c:613 5798#: src/reclaim/gnunet-did.c:612
5808msgid "Show egos with DIDs" 5799msgid "Show egos with DIDs"
5809msgstr "" 5800msgstr ""
5810 5801
5811#: src/reclaim/gnunet-did.c:619 5802#: src/reclaim/gnunet-did.c:618
5812msgid "The Decentralized Identity (DID)" 5803msgid "The Decentralized Identity (DID)"
5813msgstr "" 5804msgstr ""
5814 5805
5815#: src/reclaim/gnunet-did.c:625 5806#: src/reclaim/gnunet-did.c:624
5816msgid "The DID Document to store in GNUNET" 5807msgid "The DID Document to store in GNUNET"
5817msgstr "" 5808msgstr ""
5818 5809
5819#: src/reclaim/gnunet-did.c:630 5810#: src/reclaim/gnunet-did.c:629
5820msgid "The name of the EGO" 5811msgid "The name of the EGO"
5821msgstr "" 5812msgstr ""
5822 5813
5823#: src/reclaim/gnunet-did.c:636 5814#: src/reclaim/gnunet-did.c:635
5824msgid "The time until the DID Document is going to expire (e.g. 5d)" 5815msgid "The time until the DID Document is going to expire (e.g. 5d)"
5825msgstr "" 5816msgstr ""
5826 5817
@@ -5907,7 +5898,7 @@ msgstr ""
5907msgid "re:claimID command line tool" 5898msgid "re:claimID command line tool"
5908msgstr "" 5899msgstr ""
5909 5900
5910#: src/reclaim/plugin_rest_openid_connect.c:3094 5901#: src/reclaim/plugin_rest_openid_connect.c:3096
5911msgid "OpenID Connect REST API initialized\n" 5902msgid "OpenID Connect REST API initialized\n"
5912msgstr "" 5903msgstr ""
5913 5904
@@ -6747,17 +6738,17 @@ msgstr ""
6747"Број ивица које се могу успоставити приликом додавања новог чвора у " 6738"Број ивица које се могу успоставити приликом додавања новог чвора у "
6748"слободном размештају лествице не може бити већи од %u. Дато је „%s = %llu“" 6739"слободном размештају лествице не може бити већи од %u. Дато је „%s = %llu“"
6749 6740
6750#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6741#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6751#, c-format 6742#, c-format
6752msgid "Topology file %s not found\n" 6743msgid "Topology file %s not found\n"
6753msgstr "Нисам нашао датотеку размештаја „%s“\n" 6744msgstr "Нисам нашао датотеку размештаја „%s“\n"
6754 6745
6755#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6746#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6756#, c-format 6747#, c-format
6757msgid "Topology file %s has no data\n" 6748msgid "Topology file %s has no data\n"
6758msgstr "Датотека размештаја „%s“ нема података\n" 6749msgstr "Датотека размештаја „%s“ нема података\n"
6759 6750
6760#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6751#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6761#, c-format 6752#, c-format
6762msgid "Topology file %s cannot be read\n" 6753msgid "Topology file %s cannot be read\n"
6763msgstr "Не могу да прочитам датотеку размештаја „%s“\n" 6754msgstr "Не могу да прочитам датотеку размештаја „%s“\n"
@@ -6970,18 +6961,18 @@ msgstr "# „HELLO“ поруке су примљене"
6970msgid "GNUnet topology control" 6961msgid "GNUnet topology control"
6971msgstr "" 6962msgstr ""
6972 6963
6973#: src/transport/gnunet-communicator-tcp.c:3342 6964#: src/transport/gnunet-communicator-tcp.c:3347
6974#: src/transport/gnunet-communicator-udp.c:3867 6965#: src/transport/gnunet-communicator-udp.c:3871
6975#: src/transport/gnunet-service-tng.c:11039 6966#: src/transport/gnunet-service-tng.c:11334
6976#: src/transport/gnunet-service-transport.c:2622 6967#: src/transport/gnunet-service-transport.c:2622
6977msgid "Transport service is lacking key configuration settings. Exiting.\n" 6968msgid "Transport service is lacking key configuration settings. Exiting.\n"
6978msgstr "Услузи преноса недостају поставке подешавања кључа. Излазим.\n" 6969msgstr "Услузи преноса недостају поставке подешавања кључа. Излазим.\n"
6979 6970
6980#: src/transport/gnunet-communicator-tcp.c:3675 6971#: src/transport/gnunet-communicator-tcp.c:3680
6981msgid "GNUnet TCP communicator" 6972msgid "GNUnet TCP communicator"
6982msgstr "" 6973msgstr ""
6983 6974
6984#: src/transport/gnunet-communicator-udp.c:3942 6975#: src/transport/gnunet-communicator-udp.c:3946
6985msgid "GNUnet UDP communicator" 6976msgid "GNUnet UDP communicator"
6986msgstr "" 6977msgstr ""
6987 6978
@@ -8118,7 +8109,7 @@ msgstr "Лоше подешавање, излазим ...\n"
8118msgid "Could not access configuration file `%s'\n" 8109msgid "Could not access configuration file `%s'\n"
8119msgstr "Не могу да приступим датотеци подешавања „%s“\n" 8110msgstr "Не могу да приступим датотеци подешавања „%s“\n"
8120 8111
8121#: src/transport/transport_api2_communication.c:743 8112#: src/transport/transport_api2_communication.c:752
8122msgid "Dropped backchanel message: handler not provided by communicator\n" 8113msgid "Dropped backchanel message: handler not provided by communicator\n"
8123msgstr "" 8114msgstr ""
8124 8115
@@ -9266,11 +9257,27 @@ msgstr "услуга се нуди путем УДП-ом"
9266msgid "Setup tunnels via VPN." 9257msgid "Setup tunnels via VPN."
9267msgstr "Поставља тунеле путем ВПН-а." 9258msgstr "Поставља тунеле путем ВПН-а."
9268 9259
9269#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9260#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9270#: src/zonemaster/gnunet-service-zonemaster.c:815 9261#: src/zonemaster/gnunet-service-zonemaster.c:364
9262#, c-format
9263msgid "Failed to replicate block in namecache: %s\n"
9264msgstr "Нисам успео да реплицирам блок у остави назива: %s\n"
9265
9266#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9267#: src/zonemaster/gnunet-service-zonemaster.c:969
9271msgid "Failed to connect to the namestore!\n" 9268msgid "Failed to connect to the namestore!\n"
9272msgstr "Нисам успео да се повежем са смештајем назива!\n" 9269msgstr "Нисам успео да се повежем са смештајем назива!\n"
9273 9270
9271#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9272msgid "Namecache is disabled!\n"
9273msgstr ""
9274
9275#, fuzzy
9276#~ msgid "UDP port to listen on for inbound DNS requests; default: 2853"
9277#~ msgstr ""
9278#~ "УДП прикључник на коме ће ослушкивати за долазним ДНС захтевима; основно: "
9279#~ "53"
9280
9274#, fuzzy 9281#, fuzzy
9275#~ msgid "Flat file database running\n" 9282#~ msgid "Flat file database running\n"
9276#~ msgstr "База података шаблона ради\n" 9283#~ 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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: GNUnet 0.7.0b\n" 8"Project-Id-Version: GNUnet 0.7.0b\n"
9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
10"POT-Creation-Date: 2022-10-01 22:27+0900\n" 10"POT-Creation-Date: 2022-10-16 18:47+0900\n"
11"PO-Revision-Date: 2006-01-21 17:16+0100\n" 11"PO-Revision-Date: 2006-01-21 17:16+0100\n"
12"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" 12"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" 13"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"
1915msgid "Mysql database running\n" 1915msgid "Mysql database running\n"
1916msgstr "" 1916msgstr ""
1917 1917
1918#: src/datastore/plugin_datastore_postgres.c:284 1918#: src/datastore/plugin_datastore_postgres.c:273
1919#: src/datastore/plugin_datastore_postgres.c:897 1919#: src/datastore/plugin_datastore_postgres.c:886
1920msgid "Postgresql exec failure" 1920msgid "Postgresql exec failure"
1921msgstr "" 1921msgstr ""
1922 1922
1923#: src/datastore/plugin_datastore_postgres.c:858 1923#: src/datastore/plugin_datastore_postgres.c:847
1924#, fuzzy 1924#, fuzzy
1925msgid "Failed to drop table from database.\n" 1925msgid "Failed to drop table from database.\n"
1926msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n" 1926msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
1927 1927
1928#: src/datastore/plugin_datastore_postgres.c:956 1928#: src/datastore/plugin_datastore_postgres.c:945
1929msgid "Postgres database running\n" 1929msgid "Postgres database running\n"
1930msgstr "" 1930msgstr ""
1931 1931
@@ -1939,7 +1939,7 @@ msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
1939 1939
1940#: src/datastore/plugin_datastore_sqlite.c:310 1940#: src/datastore/plugin_datastore_sqlite.c:310
1941#: src/namecache/plugin_namecache_sqlite.c:180 1941#: src/namecache/plugin_namecache_sqlite.c:180
1942#: src/namestore/plugin_namestore_sqlite.c:869 1942#: src/namestore/plugin_namestore_sqlite.c:868
1943#: src/peerstore/plugin_peerstore_sqlite.c:540 1943#: src/peerstore/plugin_peerstore_sqlite.c:540
1944#, fuzzy, c-format 1944#, fuzzy, c-format
1945msgid "Unable to initialize SQLite: %s.\n" 1945msgid "Unable to initialize SQLite: %s.\n"
@@ -3784,32 +3784,28 @@ msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
3784msgid "VPN returned empty result for `%s'\n" 3784msgid "VPN returned empty result for `%s'\n"
3785msgstr "" 3785msgstr ""
3786 3786
3787#: src/gns/gnunet-dns2gns.c:655 3787#: src/gns/gnunet-dns2gns.c:656
3788#, fuzzy, c-format 3788#, fuzzy, c-format
3789msgid "Cannot parse DNS request from %s\n" 3789msgid "Cannot parse DNS request from %s\n"
3790msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" 3790msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
3791 3791
3792#: src/gns/gnunet-dns2gns.c:671 3792#: src/gns/gnunet-dns2gns.c:672
3793#, fuzzy, c-format 3793#, fuzzy, c-format
3794msgid "Received malformed DNS request from %s\n" 3794msgid "Received malformed DNS request from %s\n"
3795msgstr "Mottog ogiltig \"%s\" begäran (storlek %d)\n" 3795msgstr "Mottog ogiltig \"%s\" begäran (storlek %d)\n"
3796 3796
3797#: src/gns/gnunet-dns2gns.c:679 3797#: src/gns/gnunet-dns2gns.c:680
3798#, fuzzy, c-format 3798#, fuzzy, c-format
3799msgid "Received unsupported DNS request from %s\n" 3799msgid "Received unsupported DNS request from %s\n"
3800msgstr "Mottog okänd typ av begäran %d vid %s:%d\n" 3800msgstr "Mottog okänd typ av begäran %d vid %s:%d\n"
3801 3801
3802#: src/gns/gnunet-dns2gns.c:840 3802#: src/gns/gnunet-dns2gns.c:841
3803#, fuzzy 3803#, fuzzy
3804msgid "No DNS server specified!\n" 3804msgid "No DNS server specified!\n"
3805msgstr "Inga nyckelord angivna!\n" 3805msgstr "Inga nyckelord angivna!\n"
3806 3806
3807#: src/gns/gnunet-dns2gns.c:995
3808msgid "IP of recursive DNS resolver to use (required)"
3809msgstr ""
3810
3811#: src/gns/gnunet-dns2gns.c:1001 3807#: src/gns/gnunet-dns2gns.c:1001
3812msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3808msgid "IP of recursive DNS resolver to use (required)"
3813msgstr "" 3809msgstr ""
3814 3810
3815#: src/gns/gnunet-dns2gns.c:1018 3811#: src/gns/gnunet-dns2gns.c:1018
@@ -4000,13 +3996,15 @@ msgid "Properly base32-encoded public key required"
4000msgstr "Ogiltigt argument: \"%s\"\n" 3996msgstr "Ogiltigt argument: \"%s\"\n"
4001 3997
4002#: src/gns/gnunet-service-gns.c:537 3998#: src/gns/gnunet-service-gns.c:537
3999#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
4000#: src/zonemaster/gnunet-service-zonemaster.c:982
4003#, fuzzy 4001#, fuzzy
4004msgid "Failed to connect to the namecache!\n" 4002msgid "Failed to connect to the namecache!\n"
4005msgstr "Misslyckades att ansluta till gnunetd.\n" 4003msgstr "Misslyckades att ansluta till gnunetd.\n"
4006 4004
4007#: src/gns/gnunet-service-gns.c:556 4005#: src/gns/gnunet-service-gns.c:556
4008#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 4006#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
4009#: src/zonemaster/gnunet-service-zonemaster.c:853 4007#: src/zonemaster/gnunet-service-zonemaster.c:1021
4010#, fuzzy 4008#, fuzzy
4011msgid "Could not connect to DHT!\n" 4009msgid "Could not connect to DHT!\n"
4012msgstr "Kunde inte ansluta till gnunetd.\n" 4010msgstr "Kunde inte ansluta till gnunetd.\n"
@@ -4829,25 +4827,25 @@ msgstr ""
4829msgid "Failed to setup database at `%s'\n" 4827msgid "Failed to setup database at `%s'\n"
4830msgstr "Fel vid %s:%d.\n" 4828msgstr "Fel vid %s:%d.\n"
4831 4829
4832#: src/namestore/gnunet-namestore-dbtool.c:87 4830#: src/namestore/gnunet-namestore-dbtool.c:86
4833#: src/namestore/gnunet-namestore.c:1348 4831#: src/namestore/gnunet-namestore.c:1348
4834#, fuzzy, c-format 4832#, fuzzy, c-format
4835msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4833msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4836msgstr "Onödiga argument (ignorerade).\n" 4834msgstr "Onödiga argument (ignorerade).\n"
4837 4835
4838#: src/namestore/gnunet-namestore-dbtool.c:154 4836#: src/namestore/gnunet-namestore-dbtool.c:153
4839msgid "initialize database" 4837msgid "initialize database"
4840msgstr "" 4838msgstr ""
4841 4839
4842#: src/namestore/gnunet-namestore-dbtool.c:158 4840#: src/namestore/gnunet-namestore-dbtool.c:157
4843msgid "reset database (DANGEROUS: All existing data is lost!" 4841msgid "reset database (DANGEROUS: All existing data is lost!"
4844msgstr "" 4842msgstr ""
4845 4843
4846#: src/namestore/gnunet-namestore-dbtool.c:165 4844#: src/namestore/gnunet-namestore-dbtool.c:164
4847msgid "the namestore plugin to work with, e.g. 'sqlite'" 4845msgid "the namestore plugin to work with, e.g. 'sqlite'"
4848msgstr "" 4846msgstr ""
4849 4847
4850#: src/namestore/gnunet-namestore-dbtool.c:179 4848#: src/namestore/gnunet-namestore-dbtool.c:178
4851#, fuzzy 4849#, fuzzy
4852msgid "GNUnet namestore database manipulation tool" 4850msgid "GNUnet namestore database manipulation tool"
4853msgstr "GNUnet-konfiguration" 4851msgstr "GNUnet-konfiguration"
@@ -5166,22 +5164,17 @@ msgstr ""
5166msgid "name of the ego controlling the zone" 5164msgid "name of the ego controlling the zone"
5167msgstr "Visa värde av alternativet" 5165msgstr "Visa värde av alternativet"
5168 5166
5169#: src/namestore/gnunet-service-namestore.c:950 5167#: src/namestore/gnunet-service-namestore.c:1504
5170#, fuzzy, c-format
5171msgid "Failed to replicate block in namecache: %s\n"
5172msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5173
5174#: src/namestore/gnunet-service-namestore.c:1667
5175#, fuzzy 5168#, fuzzy
5176msgid "Error normalizing name." 5169msgid "Error normalizing name."
5177msgstr "Klar med skapandet av värdnyckel.\n" 5170msgstr "Klar med skapandet av värdnyckel.\n"
5178 5171
5179#: src/namestore/gnunet-service-namestore.c:1690 5172#: src/namestore/gnunet-service-namestore.c:1522
5180#, fuzzy 5173#, fuzzy
5181msgid "Error deserializing records." 5174msgid "Error deserializing records."
5182msgstr "=\tFel vid läsning av katalog.\n" 5175msgstr "=\tFel vid läsning av katalog.\n"
5183 5176
5184#: src/namestore/gnunet-service-namestore.c:1800 5177#: src/namestore/gnunet-service-namestore.c:1633
5185#, fuzzy 5178#, fuzzy
5186msgid "Store failed" 5179msgid "Store failed"
5187msgstr "gnunet-update misslyckades!" 5180msgstr "gnunet-update misslyckades!"
@@ -5210,7 +5203,7 @@ msgstr "Fel vid %s:%d.\n"
5210msgid "SQlite database running\n" 5203msgid "SQlite database running\n"
5211msgstr "" 5204msgstr ""
5212 5205
5213#: src/namestore/plugin_rest_namestore.c:1109 5206#: src/namestore/plugin_rest_namestore.c:1369
5214#, fuzzy 5207#, fuzzy
5215msgid "Namestore REST API initialized\n" 5208msgid "Namestore REST API initialized\n"
5216msgstr " Anslutning misslyckades\n" 5209msgstr " Anslutning misslyckades\n"
@@ -5794,43 +5787,43 @@ msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
5794msgid "Daemon to run to perform IP protocol translation to GNUnet" 5787msgid "Daemon to run to perform IP protocol translation to GNUnet"
5795msgstr "" 5788msgstr ""
5796 5789
5797#: src/reclaim/gnunet-did.c:591 5790#: src/reclaim/gnunet-did.c:590
5798msgid "Create a DID Document and display its DID" 5791msgid "Create a DID Document and display its DID"
5799msgstr "" 5792msgstr ""
5800 5793
5801#: src/reclaim/gnunet-did.c:596 5794#: src/reclaim/gnunet-did.c:595
5802msgid "Get the DID Document associated with the given DID" 5795msgid "Get the DID Document associated with the given DID"
5803msgstr "" 5796msgstr ""
5804 5797
5805#: src/reclaim/gnunet-did.c:601 5798#: src/reclaim/gnunet-did.c:600
5806msgid "Remove the DID" 5799msgid "Remove the DID"
5807msgstr "" 5800msgstr ""
5808 5801
5809#: src/reclaim/gnunet-did.c:605 5802#: src/reclaim/gnunet-did.c:604
5810msgid "Replace the DID Document." 5803msgid "Replace the DID Document."
5811msgstr "" 5804msgstr ""
5812 5805
5813#: src/reclaim/gnunet-did.c:609 5806#: src/reclaim/gnunet-did.c:608
5814msgid "Show the DID for a given ego" 5807msgid "Show the DID for a given ego"
5815msgstr "" 5808msgstr ""
5816 5809
5817#: src/reclaim/gnunet-did.c:613 5810#: src/reclaim/gnunet-did.c:612
5818msgid "Show egos with DIDs" 5811msgid "Show egos with DIDs"
5819msgstr "" 5812msgstr ""
5820 5813
5821#: src/reclaim/gnunet-did.c:619 5814#: src/reclaim/gnunet-did.c:618
5822msgid "The Decentralized Identity (DID)" 5815msgid "The Decentralized Identity (DID)"
5823msgstr "" 5816msgstr ""
5824 5817
5825#: src/reclaim/gnunet-did.c:625 5818#: src/reclaim/gnunet-did.c:624
5826msgid "The DID Document to store in GNUNET" 5819msgid "The DID Document to store in GNUNET"
5827msgstr "" 5820msgstr ""
5828 5821
5829#: src/reclaim/gnunet-did.c:630 5822#: src/reclaim/gnunet-did.c:629
5830msgid "The name of the EGO" 5823msgid "The name of the EGO"
5831msgstr "" 5824msgstr ""
5832 5825
5833#: src/reclaim/gnunet-did.c:636 5826#: src/reclaim/gnunet-did.c:635
5834msgid "The time until the DID Document is going to expire (e.g. 5d)" 5827msgid "The time until the DID Document is going to expire (e.g. 5d)"
5835msgstr "" 5828msgstr ""
5836 5829
@@ -5918,7 +5911,7 @@ msgstr ""
5918msgid "re:claimID command line tool" 5911msgid "re:claimID command line tool"
5919msgstr "" 5912msgstr ""
5920 5913
5921#: src/reclaim/plugin_rest_openid_connect.c:3094 5914#: src/reclaim/plugin_rest_openid_connect.c:3096
5922#, fuzzy 5915#, fuzzy
5923msgid "OpenID Connect REST API initialized\n" 5916msgid "OpenID Connect REST API initialized\n"
5924msgstr " Anslutning misslyckades\n" 5917msgstr " Anslutning misslyckades\n"
@@ -6731,17 +6724,17 @@ msgid ""
6731"free topology cannot be more than %u. Given `%s = %llu'" 6724"free topology cannot be more than %u. Given `%s = %llu'"
6732msgstr "" 6725msgstr ""
6733 6726
6734#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6727#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6735#, fuzzy, c-format 6728#, fuzzy, c-format
6736msgid "Topology file %s not found\n" 6729msgid "Topology file %s not found\n"
6737msgstr "\"%s\" misslyckades: tabell hittades inte!\n" 6730msgstr "\"%s\" misslyckades: tabell hittades inte!\n"
6738 6731
6739#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6732#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6740#, c-format 6733#, c-format
6741msgid "Topology file %s has no data\n" 6734msgid "Topology file %s has no data\n"
6742msgstr "" 6735msgstr ""
6743 6736
6744#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6737#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6745#, c-format 6738#, c-format
6746msgid "Topology file %s cannot be read\n" 6739msgid "Topology file %s cannot be read\n"
6747msgstr "" 6740msgstr ""
@@ -6946,19 +6939,19 @@ msgstr "# krypterade PONG-meddelanden mottagna"
6946msgid "GNUnet topology control" 6939msgid "GNUnet topology control"
6947msgstr "" 6940msgstr ""
6948 6941
6949#: src/transport/gnunet-communicator-tcp.c:3342 6942#: src/transport/gnunet-communicator-tcp.c:3347
6950#: src/transport/gnunet-communicator-udp.c:3867 6943#: src/transport/gnunet-communicator-udp.c:3871
6951#: src/transport/gnunet-service-tng.c:11039 6944#: src/transport/gnunet-service-tng.c:11334
6952#: src/transport/gnunet-service-transport.c:2622 6945#: src/transport/gnunet-service-transport.c:2622
6953#, fuzzy 6946#, fuzzy
6954msgid "Transport service is lacking key configuration settings. Exiting.\n" 6947msgid "Transport service is lacking key configuration settings. Exiting.\n"
6955msgstr "GNUnet-konfiguration" 6948msgstr "GNUnet-konfiguration"
6956 6949
6957#: src/transport/gnunet-communicator-tcp.c:3675 6950#: src/transport/gnunet-communicator-tcp.c:3680
6958msgid "GNUnet TCP communicator" 6951msgid "GNUnet TCP communicator"
6959msgstr "" 6952msgstr ""
6960 6953
6961#: src/transport/gnunet-communicator-udp.c:3942 6954#: src/transport/gnunet-communicator-udp.c:3946
6962msgid "GNUnet UDP communicator" 6955msgid "GNUnet UDP communicator"
6963msgstr "" 6956msgstr ""
6964 6957
@@ -8102,7 +8095,7 @@ msgstr "Kunde inte spara konfigurationsfil \"%s\":"
8102msgid "Could not access configuration file `%s'\n" 8095msgid "Could not access configuration file `%s'\n"
8103msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" 8096msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
8104 8097
8105#: src/transport/transport_api2_communication.c:743 8098#: src/transport/transport_api2_communication.c:752
8106msgid "Dropped backchanel message: handler not provided by communicator\n" 8099msgid "Dropped backchanel message: handler not provided by communicator\n"
8107msgstr "" 8100msgstr ""
8108 8101
@@ -9242,12 +9235,22 @@ msgstr "# byte mottagna via UDP"
9242msgid "Setup tunnels via VPN." 9235msgid "Setup tunnels via VPN."
9243msgstr "" 9236msgstr ""
9244 9237
9245#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9238#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9246#: src/zonemaster/gnunet-service-zonemaster.c:815 9239#: src/zonemaster/gnunet-service-zonemaster.c:364
9240#, fuzzy, c-format
9241msgid "Failed to replicate block in namecache: %s\n"
9242msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
9243
9244#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9245#: src/zonemaster/gnunet-service-zonemaster.c:969
9247#, fuzzy 9246#, fuzzy
9248msgid "Failed to connect to the namestore!\n" 9247msgid "Failed to connect to the namestore!\n"
9249msgstr "Misslyckades att ansluta till gnunetd.\n" 9248msgstr "Misslyckades att ansluta till gnunetd.\n"
9250 9249
9250#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9251msgid "Namecache is disabled!\n"
9252msgstr ""
9253
9251#, fuzzy, c-format 9254#, fuzzy, c-format
9252#~ msgid "Invalid DID `%s'\n" 9255#~ msgid "Invalid DID `%s'\n"
9253#~ msgstr "Ogiltiga argument: " 9256#~ 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 ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: gnunet 0.8.0a\n" 9"Project-Id-Version: gnunet 0.8.0a\n"
10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
11"POT-Creation-Date: 2022-10-01 22:27+0900\n" 11"POT-Creation-Date: 2022-10-16 18:47+0900\n"
12"PO-Revision-Date: 2008-09-10 22:05+0930\n" 12"PO-Revision-Date: 2008-09-10 22:05+0930\n"
13"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" 13"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
14"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" 14"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"
1933msgid "Mysql database running\n" 1933msgid "Mysql database running\n"
1934msgstr "" 1934msgstr ""
1935 1935
1936#: src/datastore/plugin_datastore_postgres.c:284 1936#: src/datastore/plugin_datastore_postgres.c:273
1937#: src/datastore/plugin_datastore_postgres.c:897 1937#: src/datastore/plugin_datastore_postgres.c:886
1938msgid "Postgresql exec failure" 1938msgid "Postgresql exec failure"
1939msgstr "" 1939msgstr ""
1940 1940
1941#: src/datastore/plugin_datastore_postgres.c:858 1941#: src/datastore/plugin_datastore_postgres.c:847
1942#, fuzzy 1942#, fuzzy
1943msgid "Failed to drop table from database.\n" 1943msgid "Failed to drop table from database.\n"
1944msgstr "" 1944msgstr ""
1945"\n" 1945"\n"
1946"Không nhận được đáp ứng từ gnunetd.\n" 1946"Không nhận được đáp ứng từ gnunetd.\n"
1947 1947
1948#: src/datastore/plugin_datastore_postgres.c:956 1948#: src/datastore/plugin_datastore_postgres.c:945
1949msgid "Postgres database running\n" 1949msgid "Postgres database running\n"
1950msgstr "" 1950msgstr ""
1951 1951
@@ -1959,7 +1959,7 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s"
1959 1959
1960#: src/datastore/plugin_datastore_sqlite.c:310 1960#: src/datastore/plugin_datastore_sqlite.c:310
1961#: src/namecache/plugin_namecache_sqlite.c:180 1961#: src/namecache/plugin_namecache_sqlite.c:180
1962#: src/namestore/plugin_namestore_sqlite.c:869 1962#: src/namestore/plugin_namestore_sqlite.c:868
1963#: src/peerstore/plugin_peerstore_sqlite.c:540 1963#: src/peerstore/plugin_peerstore_sqlite.c:540
1964#, c-format 1964#, c-format
1965msgid "Unable to initialize SQLite: %s.\n" 1965msgid "Unable to initialize SQLite: %s.\n"
@@ -3830,32 +3830,28 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
3830msgid "VPN returned empty result for `%s'\n" 3830msgid "VPN returned empty result for `%s'\n"
3831msgstr "" 3831msgstr ""
3832 3832
3833#: src/gns/gnunet-dns2gns.c:655 3833#: src/gns/gnunet-dns2gns.c:656
3834#, c-format 3834#, c-format
3835msgid "Cannot parse DNS request from %s\n" 3835msgid "Cannot parse DNS request from %s\n"
3836msgstr "" 3836msgstr ""
3837 3837
3838#: src/gns/gnunet-dns2gns.c:671 3838#: src/gns/gnunet-dns2gns.c:672
3839#, fuzzy, c-format 3839#, fuzzy, c-format
3840msgid "Received malformed DNS request from %s\n" 3840msgid "Received malformed DNS request from %s\n"
3841msgstr "Nhận yêu cầu định tuyến\n" 3841msgstr "Nhận yêu cầu định tuyến\n"
3842 3842
3843#: src/gns/gnunet-dns2gns.c:679 3843#: src/gns/gnunet-dns2gns.c:680
3844#, fuzzy, c-format 3844#, fuzzy, c-format
3845msgid "Received unsupported DNS request from %s\n" 3845msgid "Received unsupported DNS request from %s\n"
3846msgstr "Nhận yêu cầu định tuyến\n" 3846msgstr "Nhận yêu cầu định tuyến\n"
3847 3847
3848#: src/gns/gnunet-dns2gns.c:840 3848#: src/gns/gnunet-dns2gns.c:841
3849#, fuzzy 3849#, fuzzy
3850msgid "No DNS server specified!\n" 3850msgid "No DNS server specified!\n"
3851msgstr "Chưa ghi rõ từ khoá.\n" 3851msgstr "Chưa ghi rõ từ khoá.\n"
3852 3852
3853#: src/gns/gnunet-dns2gns.c:995
3854msgid "IP of recursive DNS resolver to use (required)"
3855msgstr ""
3856
3857#: src/gns/gnunet-dns2gns.c:1001 3853#: src/gns/gnunet-dns2gns.c:1001
3858msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3854msgid "IP of recursive DNS resolver to use (required)"
3859msgstr "" 3855msgstr ""
3860 3856
3861#: src/gns/gnunet-dns2gns.c:1018 3857#: src/gns/gnunet-dns2gns.c:1018
@@ -4046,13 +4042,15 @@ msgid "Properly base32-encoded public key required"
4046msgstr "Đối số không hợp lệ cho « %s ».\n" 4042msgstr "Đối số không hợp lệ cho « %s ».\n"
4047 4043
4048#: src/gns/gnunet-service-gns.c:537 4044#: src/gns/gnunet-service-gns.c:537
4045#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
4046#: src/zonemaster/gnunet-service-zonemaster.c:982
4049#, fuzzy 4047#, fuzzy
4050msgid "Failed to connect to the namecache!\n" 4048msgid "Failed to connect to the namecache!\n"
4051msgstr "Không kết nối được đến trình nền gnunetd." 4049msgstr "Không kết nối được đến trình nền gnunetd."
4052 4050
4053#: src/gns/gnunet-service-gns.c:556 4051#: src/gns/gnunet-service-gns.c:556
4054#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 4052#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
4055#: src/zonemaster/gnunet-service-zonemaster.c:853 4053#: src/zonemaster/gnunet-service-zonemaster.c:1021
4056#, fuzzy 4054#, fuzzy
4057msgid "Could not connect to DHT!\n" 4055msgid "Could not connect to DHT!\n"
4058msgstr "Không thể kết nối tới %s:%u: %s\n" 4056msgstr "Không thể kết nối tới %s:%u: %s\n"
@@ -4890,25 +4888,25 @@ msgstr "kho dữ liệu sqlite"
4890msgid "Failed to setup database at `%s'\n" 4888msgid "Failed to setup database at `%s'\n"
4891msgstr "Lỗi chạy %s: %s %d\n" 4889msgstr "Lỗi chạy %s: %s %d\n"
4892 4890
4893#: src/namestore/gnunet-namestore-dbtool.c:87 4891#: src/namestore/gnunet-namestore-dbtool.c:86
4894#: src/namestore/gnunet-namestore.c:1348 4892#: src/namestore/gnunet-namestore.c:1348
4895#, c-format 4893#, c-format
4896msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4894msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4897msgstr "" 4895msgstr ""
4898 4896
4899#: src/namestore/gnunet-namestore-dbtool.c:154 4897#: src/namestore/gnunet-namestore-dbtool.c:153
4900msgid "initialize database" 4898msgid "initialize database"
4901msgstr "" 4899msgstr ""
4902 4900
4903#: src/namestore/gnunet-namestore-dbtool.c:158 4901#: src/namestore/gnunet-namestore-dbtool.c:157
4904msgid "reset database (DANGEROUS: All existing data is lost!" 4902msgid "reset database (DANGEROUS: All existing data is lost!"
4905msgstr "" 4903msgstr ""
4906 4904
4907#: src/namestore/gnunet-namestore-dbtool.c:165 4905#: src/namestore/gnunet-namestore-dbtool.c:164
4908msgid "the namestore plugin to work with, e.g. 'sqlite'" 4906msgid "the namestore plugin to work with, e.g. 'sqlite'"
4909msgstr "" 4907msgstr ""
4910 4908
4911#: src/namestore/gnunet-namestore-dbtool.c:179 4909#: src/namestore/gnunet-namestore-dbtool.c:178
4912#, fuzzy 4910#, fuzzy
4913msgid "GNUnet namestore database manipulation tool" 4911msgid "GNUnet namestore database manipulation tool"
4914msgstr "Cấu hình GNUnet" 4912msgstr "Cấu hình GNUnet"
@@ -5220,22 +5218,17 @@ msgstr ""
5220msgid "name of the ego controlling the zone" 5218msgid "name of the ego controlling the zone"
5221msgstr "" 5219msgstr ""
5222 5220
5223#: src/namestore/gnunet-service-namestore.c:950 5221#: src/namestore/gnunet-service-namestore.c:1504
5224#, fuzzy, c-format
5225msgid "Failed to replicate block in namecache: %s\n"
5226msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
5227
5228#: src/namestore/gnunet-service-namestore.c:1667
5229#, fuzzy 5222#, fuzzy
5230msgid "Error normalizing name." 5223msgid "Error normalizing name."
5231msgstr "Hoàn thành tạo khoá.\n" 5224msgstr "Hoàn thành tạo khoá.\n"
5232 5225
5233#: src/namestore/gnunet-service-namestore.c:1690 5226#: src/namestore/gnunet-service-namestore.c:1522
5234#, fuzzy 5227#, fuzzy
5235msgid "Error deserializing records." 5228msgid "Error deserializing records."
5236msgstr "=\tLỗi đọc thư mục.\n" 5229msgstr "=\tLỗi đọc thư mục.\n"
5237 5230
5238#: src/namestore/gnunet-service-namestore.c:1800 5231#: src/namestore/gnunet-service-namestore.c:1633
5239#, fuzzy 5232#, fuzzy
5240msgid "Store failed" 5233msgid "Store failed"
5241msgstr "Kho dữ liệu đầy.\n" 5234msgstr "Kho dữ liệu đầy.\n"
@@ -5265,7 +5258,7 @@ msgstr "Lỗi chạy %s: %s %d\n"
5265msgid "SQlite database running\n" 5258msgid "SQlite database running\n"
5266msgstr "kho dữ liệu sqlite" 5259msgstr "kho dữ liệu sqlite"
5267 5260
5268#: src/namestore/plugin_rest_namestore.c:1109 5261#: src/namestore/plugin_rest_namestore.c:1369
5269#, fuzzy 5262#, fuzzy
5270msgid "Namestore REST API initialized\n" 5263msgid "Namestore REST API initialized\n"
5271msgstr "Lỗi sơ khởi lõi.\n" 5264msgstr "Lỗi sơ khởi lõi.\n"
@@ -5850,43 +5843,43 @@ msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
5850msgid "Daemon to run to perform IP protocol translation to GNUnet" 5843msgid "Daemon to run to perform IP protocol translation to GNUnet"
5851msgstr "" 5844msgstr ""
5852 5845
5853#: src/reclaim/gnunet-did.c:591 5846#: src/reclaim/gnunet-did.c:590
5854msgid "Create a DID Document and display its DID" 5847msgid "Create a DID Document and display its DID"
5855msgstr "" 5848msgstr ""
5856 5849
5857#: src/reclaim/gnunet-did.c:596 5850#: src/reclaim/gnunet-did.c:595
5858msgid "Get the DID Document associated with the given DID" 5851msgid "Get the DID Document associated with the given DID"
5859msgstr "" 5852msgstr ""
5860 5853
5861#: src/reclaim/gnunet-did.c:601 5854#: src/reclaim/gnunet-did.c:600
5862msgid "Remove the DID" 5855msgid "Remove the DID"
5863msgstr "" 5856msgstr ""
5864 5857
5865#: src/reclaim/gnunet-did.c:605 5858#: src/reclaim/gnunet-did.c:604
5866msgid "Replace the DID Document." 5859msgid "Replace the DID Document."
5867msgstr "" 5860msgstr ""
5868 5861
5869#: src/reclaim/gnunet-did.c:609 5862#: src/reclaim/gnunet-did.c:608
5870msgid "Show the DID for a given ego" 5863msgid "Show the DID for a given ego"
5871msgstr "" 5864msgstr ""
5872 5865
5873#: src/reclaim/gnunet-did.c:613 5866#: src/reclaim/gnunet-did.c:612
5874msgid "Show egos with DIDs" 5867msgid "Show egos with DIDs"
5875msgstr "" 5868msgstr ""
5876 5869
5877#: src/reclaim/gnunet-did.c:619 5870#: src/reclaim/gnunet-did.c:618
5878msgid "The Decentralized Identity (DID)" 5871msgid "The Decentralized Identity (DID)"
5879msgstr "" 5872msgstr ""
5880 5873
5881#: src/reclaim/gnunet-did.c:625 5874#: src/reclaim/gnunet-did.c:624
5882msgid "The DID Document to store in GNUNET" 5875msgid "The DID Document to store in GNUNET"
5883msgstr "" 5876msgstr ""
5884 5877
5885#: src/reclaim/gnunet-did.c:630 5878#: src/reclaim/gnunet-did.c:629
5886msgid "The name of the EGO" 5879msgid "The name of the EGO"
5887msgstr "" 5880msgstr ""
5888 5881
5889#: src/reclaim/gnunet-did.c:636 5882#: src/reclaim/gnunet-did.c:635
5890msgid "The time until the DID Document is going to expire (e.g. 5d)" 5883msgid "The time until the DID Document is going to expire (e.g. 5d)"
5891msgstr "" 5884msgstr ""
5892 5885
@@ -5974,7 +5967,7 @@ msgstr ""
5974msgid "re:claimID command line tool" 5967msgid "re:claimID command line tool"
5975msgstr "" 5968msgstr ""
5976 5969
5977#: src/reclaim/plugin_rest_openid_connect.c:3094 5970#: src/reclaim/plugin_rest_openid_connect.c:3096
5978#, fuzzy 5971#, fuzzy
5979msgid "OpenID Connect REST API initialized\n" 5972msgid "OpenID Connect REST API initialized\n"
5980msgstr "Lỗi sơ khởi lõi.\n" 5973msgstr "Lỗi sơ khởi lõi.\n"
@@ -6786,17 +6779,17 @@ msgid ""
6786"free topology cannot be more than %u. Given `%s = %llu'" 6779"free topology cannot be more than %u. Given `%s = %llu'"
6787msgstr "" 6780msgstr ""
6788 6781
6789#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6782#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6790#, fuzzy, c-format 6783#, fuzzy, c-format
6791msgid "Topology file %s not found\n" 6784msgid "Topology file %s not found\n"
6792msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n" 6785msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
6793 6786
6794#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6787#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6795#, fuzzy, c-format 6788#, fuzzy, c-format
6796msgid "Topology file %s has no data\n" 6789msgid "Topology file %s has no data\n"
6797msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n" 6790msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
6798 6791
6799#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6792#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6800#, fuzzy, c-format 6793#, fuzzy, c-format
6801msgid "Topology file %s cannot be read\n" 6794msgid "Topology file %s cannot be read\n"
6802msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n" 6795msgstr "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"
7007msgid "GNUnet topology control" 7000msgid "GNUnet topology control"
7008msgstr "" 7001msgstr ""
7009 7002
7010#: src/transport/gnunet-communicator-tcp.c:3342 7003#: src/transport/gnunet-communicator-tcp.c:3347
7011#: src/transport/gnunet-communicator-udp.c:3867 7004#: src/transport/gnunet-communicator-udp.c:3871
7012#: src/transport/gnunet-service-tng.c:11039 7005#: src/transport/gnunet-service-tng.c:11334
7013#: src/transport/gnunet-service-transport.c:2622 7006#: src/transport/gnunet-service-transport.c:2622
7014#, fuzzy 7007#, fuzzy
7015msgid "Transport service is lacking key configuration settings. Exiting.\n" 7008msgid "Transport service is lacking key configuration settings. Exiting.\n"
7016msgstr "Lưu cấu hình ngay bây giờ không?" 7009msgstr "Lưu cấu hình ngay bây giờ không?"
7017 7010
7018#: src/transport/gnunet-communicator-tcp.c:3675 7011#: src/transport/gnunet-communicator-tcp.c:3680
7019msgid "GNUnet TCP communicator" 7012msgid "GNUnet TCP communicator"
7020msgstr "" 7013msgstr ""
7021 7014
7022#: src/transport/gnunet-communicator-udp.c:3942 7015#: src/transport/gnunet-communicator-udp.c:3946
7023msgid "GNUnet UDP communicator" 7016msgid "GNUnet UDP communicator"
7024msgstr "" 7017msgstr ""
7025 7018
@@ -8157,7 +8150,7 @@ msgstr "Không thể lưu tập tin cấu hình « %s »:"
8157msgid "Could not access configuration file `%s'\n" 8150msgid "Could not access configuration file `%s'\n"
8158msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" 8151msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
8159 8152
8160#: src/transport/transport_api2_communication.c:743 8153#: src/transport/transport_api2_communication.c:752
8161msgid "Dropped backchanel message: handler not provided by communicator\n" 8154msgid "Dropped backchanel message: handler not provided by communicator\n"
8162msgstr "" 8155msgstr ""
8163 8156
@@ -9300,12 +9293,22 @@ msgstr "# các byte đã nhận qua UDP"
9300msgid "Setup tunnels via VPN." 9293msgid "Setup tunnels via VPN."
9301msgstr "" 9294msgstr ""
9302 9295
9303#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9296#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9304#: src/zonemaster/gnunet-service-zonemaster.c:815 9297#: src/zonemaster/gnunet-service-zonemaster.c:364
9298#, fuzzy, c-format
9299msgid "Failed to replicate block in namecache: %s\n"
9300msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
9301
9302#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9303#: src/zonemaster/gnunet-service-zonemaster.c:969
9305#, fuzzy 9304#, fuzzy
9306msgid "Failed to connect to the namestore!\n" 9305msgid "Failed to connect to the namestore!\n"
9307msgstr "Không kết nối được đến trình nền gnunetd." 9306msgstr "Không kết nối được đến trình nền gnunetd."
9308 9307
9308#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9309msgid "Namecache is disabled!\n"
9310msgstr ""
9311
9309#, fuzzy 9312#, fuzzy
9310#~ msgid "Flat file database running\n" 9313#~ msgid "Flat file database running\n"
9311#~ msgstr "kho dữ liệu sqlite" 9314#~ 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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: gnunet-0.8.1\n" 8"Project-Id-Version: gnunet-0.8.1\n"
9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
10"POT-Creation-Date: 2022-10-01 22:27+0900\n" 10"POT-Creation-Date: 2022-10-16 18:47+0900\n"
11"PO-Revision-Date: 2011-07-09 12:12+0800\n" 11"PO-Revision-Date: 2011-07-09 12:12+0800\n"
12"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" 12"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
13"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" 13"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -1860,17 +1860,17 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
1860msgid "Mysql database running\n" 1860msgid "Mysql database running\n"
1861msgstr "" 1861msgstr ""
1862 1862
1863#: src/datastore/plugin_datastore_postgres.c:284 1863#: src/datastore/plugin_datastore_postgres.c:273
1864#: src/datastore/plugin_datastore_postgres.c:897 1864#: src/datastore/plugin_datastore_postgres.c:886
1865msgid "Postgresql exec failure" 1865msgid "Postgresql exec failure"
1866msgstr "" 1866msgstr ""
1867 1867
1868#: src/datastore/plugin_datastore_postgres.c:858 1868#: src/datastore/plugin_datastore_postgres.c:847
1869#, fuzzy 1869#, fuzzy
1870msgid "Failed to drop table from database.\n" 1870msgid "Failed to drop table from database.\n"
1871msgstr "发送消息失败。\n" 1871msgstr "发送消息失败。\n"
1872 1872
1873#: src/datastore/plugin_datastore_postgres.c:956 1873#: src/datastore/plugin_datastore_postgres.c:945
1874msgid "Postgres database running\n" 1874msgid "Postgres database running\n"
1875msgstr "" 1875msgstr ""
1876 1876
@@ -1884,7 +1884,7 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
1884 1884
1885#: src/datastore/plugin_datastore_sqlite.c:310 1885#: src/datastore/plugin_datastore_sqlite.c:310
1886#: src/namecache/plugin_namecache_sqlite.c:180 1886#: src/namecache/plugin_namecache_sqlite.c:180
1887#: src/namestore/plugin_namestore_sqlite.c:869 1887#: src/namestore/plugin_namestore_sqlite.c:868
1888#: src/peerstore/plugin_peerstore_sqlite.c:540 1888#: src/peerstore/plugin_peerstore_sqlite.c:540
1889#, c-format 1889#, c-format
1890msgid "Unable to initialize SQLite: %s.\n" 1890msgid "Unable to initialize SQLite: %s.\n"
@@ -3668,31 +3668,27 @@ msgstr "打开日志文件“%s”失败:%s\n"
3668msgid "VPN returned empty result for `%s'\n" 3668msgid "VPN returned empty result for `%s'\n"
3669msgstr "" 3669msgstr ""
3670 3670
3671#: src/gns/gnunet-dns2gns.c:655 3671#: src/gns/gnunet-dns2gns.c:656
3672#, c-format 3672#, c-format
3673msgid "Cannot parse DNS request from %s\n" 3673msgid "Cannot parse DNS request from %s\n"
3674msgstr "" 3674msgstr ""
3675 3675
3676#: src/gns/gnunet-dns2gns.c:671 3676#: src/gns/gnunet-dns2gns.c:672
3677#, c-format 3677#, c-format
3678msgid "Received malformed DNS request from %s\n" 3678msgid "Received malformed DNS request from %s\n"
3679msgstr "" 3679msgstr ""
3680 3680
3681#: src/gns/gnunet-dns2gns.c:679 3681#: src/gns/gnunet-dns2gns.c:680
3682#, c-format 3682#, c-format
3683msgid "Received unsupported DNS request from %s\n" 3683msgid "Received unsupported DNS request from %s\n"
3684msgstr "" 3684msgstr ""
3685 3685
3686#: src/gns/gnunet-dns2gns.c:840 3686#: src/gns/gnunet-dns2gns.c:841
3687msgid "No DNS server specified!\n" 3687msgid "No DNS server specified!\n"
3688msgstr "" 3688msgstr ""
3689 3689
3690#: src/gns/gnunet-dns2gns.c:995
3691msgid "IP of recursive DNS resolver to use (required)"
3692msgstr ""
3693
3694#: src/gns/gnunet-dns2gns.c:1001 3690#: src/gns/gnunet-dns2gns.c:1001
3695msgid "UDP port to listen on for inbound DNS requests; default: 2853" 3691msgid "IP of recursive DNS resolver to use (required)"
3696msgstr "" 3692msgstr ""
3697 3693
3698#: src/gns/gnunet-dns2gns.c:1018 3694#: src/gns/gnunet-dns2gns.c:1018
@@ -3881,13 +3877,15 @@ msgid "Properly base32-encoded public key required"
3881msgstr "“%s”的参数无效。\n" 3877msgstr "“%s”的参数无效。\n"
3882 3878
3883#: src/gns/gnunet-service-gns.c:537 3879#: src/gns/gnunet-service-gns.c:537
3880#: src/zonemaster/gnunet-service-zonemaster-monitor.c:542
3881#: src/zonemaster/gnunet-service-zonemaster.c:982
3884#, fuzzy 3882#, fuzzy
3885msgid "Failed to connect to the namecache!\n" 3883msgid "Failed to connect to the namecache!\n"
3886msgstr "初始化“%s”服务失败。\n" 3884msgstr "初始化“%s”服务失败。\n"
3887 3885
3888#: src/gns/gnunet-service-gns.c:556 3886#: src/gns/gnunet-service-gns.c:556
3889#: src/zonemaster/gnunet-service-zonemaster-monitor.c:402 3887#: src/zonemaster/gnunet-service-zonemaster-monitor.c:572
3890#: src/zonemaster/gnunet-service-zonemaster.c:853 3888#: src/zonemaster/gnunet-service-zonemaster.c:1021
3891#, fuzzy 3889#, fuzzy
3892msgid "Could not connect to DHT!\n" 3890msgid "Could not connect to DHT!\n"
3893msgstr "无法连接到 %s:%u:%s\n" 3891msgstr "无法连接到 %s:%u:%s\n"
@@ -4703,25 +4701,25 @@ msgstr "sqlite 数据仓库"
4703msgid "Failed to setup database at `%s'\n" 4701msgid "Failed to setup database at `%s'\n"
4704msgstr "运行 %s失败:%s %d\n" 4702msgstr "运行 %s失败:%s %d\n"
4705 4703
4706#: src/namestore/gnunet-namestore-dbtool.c:87 4704#: src/namestore/gnunet-namestore-dbtool.c:86
4707#: src/namestore/gnunet-namestore.c:1348 4705#: src/namestore/gnunet-namestore.c:1348
4708#, c-format 4706#, c-format
4709msgid "Superfluous command line arguments (starting with `%s') ignored\n" 4707msgid "Superfluous command line arguments (starting with `%s') ignored\n"
4710msgstr "" 4708msgstr ""
4711 4709
4712#: src/namestore/gnunet-namestore-dbtool.c:154 4710#: src/namestore/gnunet-namestore-dbtool.c:153
4713msgid "initialize database" 4711msgid "initialize database"
4714msgstr "" 4712msgstr ""
4715 4713
4716#: src/namestore/gnunet-namestore-dbtool.c:158 4714#: src/namestore/gnunet-namestore-dbtool.c:157
4717msgid "reset database (DANGEROUS: All existing data is lost!" 4715msgid "reset database (DANGEROUS: All existing data is lost!"
4718msgstr "" 4716msgstr ""
4719 4717
4720#: src/namestore/gnunet-namestore-dbtool.c:165 4718#: src/namestore/gnunet-namestore-dbtool.c:164
4721msgid "the namestore plugin to work with, e.g. 'sqlite'" 4719msgid "the namestore plugin to work with, e.g. 'sqlite'"
4722msgstr "" 4720msgstr ""
4723 4721
4724#: src/namestore/gnunet-namestore-dbtool.c:179 4722#: src/namestore/gnunet-namestore-dbtool.c:178
4725#, fuzzy 4723#, fuzzy
4726msgid "GNUnet namestore database manipulation tool" 4724msgid "GNUnet namestore database manipulation tool"
4727msgstr "GNUnet 配置" 4725msgstr "GNUnet 配置"
@@ -5033,22 +5031,17 @@ msgstr ""
5033msgid "name of the ego controlling the zone" 5031msgid "name of the ego controlling the zone"
5034msgstr "" 5032msgstr ""
5035 5033
5036#: src/namestore/gnunet-service-namestore.c:950 5034#: src/namestore/gnunet-service-namestore.c:1504
5037#, fuzzy, c-format
5038msgid "Failed to replicate block in namecache: %s\n"
5039msgstr "发送消息失败。\n"
5040
5041#: src/namestore/gnunet-service-namestore.c:1667
5042#, fuzzy 5035#, fuzzy
5043msgid "Error normalizing name." 5036msgid "Error normalizing name."
5044msgstr "创建用户出错" 5037msgstr "创建用户出错"
5045 5038
5046#: src/namestore/gnunet-service-namestore.c:1690 5039#: src/namestore/gnunet-service-namestore.c:1522
5047#, fuzzy 5040#, fuzzy
5048msgid "Error deserializing records." 5041msgid "Error deserializing records."
5049msgstr "未知错误。\n" 5042msgstr "未知错误。\n"
5050 5043
5051#: src/namestore/gnunet-service-namestore.c:1800 5044#: src/namestore/gnunet-service-namestore.c:1633
5052#, fuzzy 5045#, fuzzy
5053msgid "Store failed" 5046msgid "Store failed"
5054msgstr "“%s”已连接到“%s”。\n" 5047msgstr "“%s”已连接到“%s”。\n"
@@ -5078,7 +5071,7 @@ msgstr "运行 %s失败:%s %d\n"
5078msgid "SQlite database running\n" 5071msgid "SQlite database running\n"
5079msgstr "sqlite 数据仓库" 5072msgstr "sqlite 数据仓库"
5080 5073
5081#: src/namestore/plugin_rest_namestore.c:1109 5074#: src/namestore/plugin_rest_namestore.c:1369
5082msgid "Namestore REST API initialized\n" 5075msgid "Namestore REST API initialized\n"
5083msgstr "" 5076msgstr ""
5084 5077
@@ -5643,43 +5636,43 @@ msgstr "初始化“%s”服务失败。\n"
5643msgid "Daemon to run to perform IP protocol translation to GNUnet" 5636msgid "Daemon to run to perform IP protocol translation to GNUnet"
5644msgstr "" 5637msgstr ""
5645 5638
5646#: src/reclaim/gnunet-did.c:591 5639#: src/reclaim/gnunet-did.c:590
5647msgid "Create a DID Document and display its DID" 5640msgid "Create a DID Document and display its DID"
5648msgstr "" 5641msgstr ""
5649 5642
5650#: src/reclaim/gnunet-did.c:596 5643#: src/reclaim/gnunet-did.c:595
5651msgid "Get the DID Document associated with the given DID" 5644msgid "Get the DID Document associated with the given DID"
5652msgstr "" 5645msgstr ""
5653 5646
5654#: src/reclaim/gnunet-did.c:601 5647#: src/reclaim/gnunet-did.c:600
5655msgid "Remove the DID" 5648msgid "Remove the DID"
5656msgstr "" 5649msgstr ""
5657 5650
5658#: src/reclaim/gnunet-did.c:605 5651#: src/reclaim/gnunet-did.c:604
5659msgid "Replace the DID Document." 5652msgid "Replace the DID Document."
5660msgstr "" 5653msgstr ""
5661 5654
5662#: src/reclaim/gnunet-did.c:609 5655#: src/reclaim/gnunet-did.c:608
5663msgid "Show the DID for a given ego" 5656msgid "Show the DID for a given ego"
5664msgstr "" 5657msgstr ""
5665 5658
5666#: src/reclaim/gnunet-did.c:613 5659#: src/reclaim/gnunet-did.c:612
5667msgid "Show egos with DIDs" 5660msgid "Show egos with DIDs"
5668msgstr "" 5661msgstr ""
5669 5662
5670#: src/reclaim/gnunet-did.c:619 5663#: src/reclaim/gnunet-did.c:618
5671msgid "The Decentralized Identity (DID)" 5664msgid "The Decentralized Identity (DID)"
5672msgstr "" 5665msgstr ""
5673 5666
5674#: src/reclaim/gnunet-did.c:625 5667#: src/reclaim/gnunet-did.c:624
5675msgid "The DID Document to store in GNUNET" 5668msgid "The DID Document to store in GNUNET"
5676msgstr "" 5669msgstr ""
5677 5670
5678#: src/reclaim/gnunet-did.c:630 5671#: src/reclaim/gnunet-did.c:629
5679msgid "The name of the EGO" 5672msgid "The name of the EGO"
5680msgstr "" 5673msgstr ""
5681 5674
5682#: src/reclaim/gnunet-did.c:636 5675#: src/reclaim/gnunet-did.c:635
5683msgid "The time until the DID Document is going to expire (e.g. 5d)" 5676msgid "The time until the DID Document is going to expire (e.g. 5d)"
5684msgstr "" 5677msgstr ""
5685 5678
@@ -5767,7 +5760,7 @@ msgstr ""
5767msgid "re:claimID command line tool" 5760msgid "re:claimID command line tool"
5768msgstr "" 5761msgstr ""
5769 5762
5770#: src/reclaim/plugin_rest_openid_connect.c:3094 5763#: src/reclaim/plugin_rest_openid_connect.c:3096
5771msgid "OpenID Connect REST API initialized\n" 5764msgid "OpenID Connect REST API initialized\n"
5772msgstr "" 5765msgstr ""
5773 5766
@@ -6571,17 +6564,17 @@ msgid ""
6571"free topology cannot be more than %u. Given `%s = %llu'" 6564"free topology cannot be more than %u. Given `%s = %llu'"
6572msgstr "" 6565msgstr ""
6573 6566
6574#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2651 6567#: src/testbed/testbed_api_topology.c:1033 src/testing/testing.c:2753
6575#, c-format 6568#, c-format
6576msgid "Topology file %s not found\n" 6569msgid "Topology file %s not found\n"
6577msgstr "" 6570msgstr ""
6578 6571
6579#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2659 6572#: src/testbed/testbed_api_topology.c:1041 src/testing/testing.c:2761
6580#, c-format 6573#, c-format
6581msgid "Topology file %s has no data\n" 6574msgid "Topology file %s has no data\n"
6582msgstr "" 6575msgstr ""
6583 6576
6584#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2667 6577#: src/testbed/testbed_api_topology.c:1049 src/testing/testing.c:2769
6585#, c-format 6578#, c-format
6586msgid "Topology file %s cannot be read\n" 6579msgid "Topology file %s cannot be read\n"
6587msgstr "" 6580msgstr ""
@@ -6786,19 +6779,19 @@ msgstr ""
6786msgid "GNUnet topology control" 6779msgid "GNUnet topology control"
6787msgstr "" 6780msgstr ""
6788 6781
6789#: src/transport/gnunet-communicator-tcp.c:3342 6782#: src/transport/gnunet-communicator-tcp.c:3347
6790#: src/transport/gnunet-communicator-udp.c:3867 6783#: src/transport/gnunet-communicator-udp.c:3871
6791#: src/transport/gnunet-service-tng.c:11039 6784#: src/transport/gnunet-service-tng.c:11334
6792#: src/transport/gnunet-service-transport.c:2622 6785#: src/transport/gnunet-service-transport.c:2622
6793#, fuzzy 6786#, fuzzy
6794msgid "Transport service is lacking key configuration settings. Exiting.\n" 6787msgid "Transport service is lacking key configuration settings. Exiting.\n"
6795msgstr "立即保存配置?" 6788msgstr "立即保存配置?"
6796 6789
6797#: src/transport/gnunet-communicator-tcp.c:3675 6790#: src/transport/gnunet-communicator-tcp.c:3680
6798msgid "GNUnet TCP communicator" 6791msgid "GNUnet TCP communicator"
6799msgstr "" 6792msgstr ""
6800 6793
6801#: src/transport/gnunet-communicator-udp.c:3942 6794#: src/transport/gnunet-communicator-udp.c:3946
6802msgid "GNUnet UDP communicator" 6795msgid "GNUnet UDP communicator"
6803msgstr "" 6796msgstr ""
6804 6797
@@ -7883,7 +7876,7 @@ msgstr "解析配置文件“%s”失败\n"
7883msgid "Could not access configuration file `%s'\n" 7876msgid "Could not access configuration file `%s'\n"
7884msgstr "找不到接口“%s”的一个 IP 地址。\n" 7877msgstr "找不到接口“%s”的一个 IP 地址。\n"
7885 7878
7886#: src/transport/transport_api2_communication.c:743 7879#: src/transport/transport_api2_communication.c:752
7887msgid "Dropped backchanel message: handler not provided by communicator\n" 7880msgid "Dropped backchanel message: handler not provided by communicator\n"
7888msgstr "" 7881msgstr ""
7889 7882
@@ -9009,12 +9002,22 @@ msgstr ""
9009msgid "Setup tunnels via VPN." 9002msgid "Setup tunnels via VPN."
9010msgstr "" 9003msgstr ""
9011 9004
9012#: src/zonemaster/gnunet-service-zonemaster-monitor.c:378 9005#: src/zonemaster/gnunet-service-zonemaster-monitor.c:249
9013#: src/zonemaster/gnunet-service-zonemaster.c:815 9006#: src/zonemaster/gnunet-service-zonemaster.c:364
9007#, fuzzy, c-format
9008msgid "Failed to replicate block in namecache: %s\n"
9009msgstr "发送消息失败。\n"
9010
9011#: src/zonemaster/gnunet-service-zonemaster-monitor.c:529
9012#: src/zonemaster/gnunet-service-zonemaster.c:969
9014#, fuzzy 9013#, fuzzy
9015msgid "Failed to connect to the namestore!\n" 9014msgid "Failed to connect to the namestore!\n"
9016msgstr "初始化“%s”服务失败。\n" 9015msgstr "初始化“%s”服务失败。\n"
9017 9016
9017#: src/zonemaster/gnunet-service-zonemaster-monitor.c:550
9018msgid "Namecache is disabled!\n"
9019msgstr ""
9020
9018#, fuzzy 9021#, fuzzy
9019#~ msgid "Flat file database running\n" 9022#~ msgid "Flat file database running\n"
9020#~ msgstr "sqlite 数据仓库" 9023#~ 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,
430 rd_count_tmp = 0; 430 rd_count_tmp = 0;
431 for (unsigned int i = 0; i < rd_count; i++) 431 for (unsigned int i = 0; i < rd_count; i++)
432 { 432 {
433 /* Ignore the tombstone. For maintenance only. Remember expiration time. */ 433 /* Ignore private records for public record set */
434 if ((0 != (filter & GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE)) &&
435 (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE)))
436 continue;
437 /* Skip expired records */
438 if ((0 == (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) &&
439 (rd[i].expiration_time < now.abs_value_us))
440 continue; /* record already expired, skip it */
441 /* Ignore the tombstone unless filter permits explicitly.
442 * Remember expiration time. */
434 if (GNUNET_GNSRECORD_TYPE_TOMBSTONE == rd[i].record_type) 443 if (GNUNET_GNSRECORD_TYPE_TOMBSTONE == rd[i].record_type)
435 { 444 {
436 minimum_expiration.abs_value_us = rd[i].expiration_time; 445 minimum_expiration.abs_value_us = rd[i].expiration_time;
446 if (0 != (filter & GNUNET_GNSRECORD_FILTER_INCLUDE_MAINTENANCE))
447 {
448 rd_public[rd_count_tmp] = rd[i];
449 rd_count_tmp++;
450 }
437 continue; 451 continue;
438 } 452 }
439 /* No NICK records unless empty label */ 453 /* No NICK records unless empty label */
@@ -529,15 +543,6 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label,
529 have_other = GNUNET_YES; 543 have_other = GNUNET_YES;
530 } 544 }
531 545
532 /* Ignore private records for public record set */
533
534 if ((0 != (filter & GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE)) &&
535 (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE)))
536 continue;
537 /* Skip expired records */
538 if ((0 == (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) &&
539 (rd[i].expiration_time < now.abs_value_us))
540 continue; /* record already expired, skip it */
541 rd_public[rd_count_tmp] = rd[i]; 546 rd_public[rd_count_tmp] = rd[i];
542 /* Make sure critical record types are marked as such */ 547 /* Make sure critical record types are marked as such */
543 if (GNUNET_YES == GNUNET_GNSRECORD_is_critical (rd[i].record_type)) 548 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
16endif 16endif
17 17
18libexec_PROGRAMS = \ 18libexec_PROGRAMS = \
19 gnunet-service-zonemaster \ 19 gnunet-service-zonemaster
20 gnunet-service-zonemaster-monitor
21 20
22gnunet_service_zonemaster_SOURCES = \ 21gnunet_service_zonemaster_SOURCES = \
23 gnunet-service-zonemaster.c 22 gnunet-service-zonemaster.c
@@ -30,16 +29,3 @@ gnunet_service_zonemaster_LDADD = \
30 $(top_builddir)/src/namestore/libgnunetnamestore.la \ 29 $(top_builddir)/src/namestore/libgnunetnamestore.la \
31 $(top_builddir)/src/namecache/libgnunetnamecache.la \ 30 $(top_builddir)/src/namecache/libgnunetnamecache.la \
32 $(GN_LIBINTL) 31 $(GN_LIBINTL)
33
34
35gnunet_service_zonemaster_monitor_SOURCES = \
36 gnunet-service-zonemaster-monitor.c
37gnunet_service_zonemaster_monitor_LDADD = \
38 $(top_builddir)/src/dht/libgnunetdht.la \
39 $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
40 $(top_builddir)/src/identity/libgnunetidentity.la \
41 $(top_builddir)/src/statistics/libgnunetstatistics.la \
42 $(top_builddir)/src/util/libgnunetutil.la \
43 $(top_builddir)/src/namestore/libgnunetnamestore.la \
44 $(top_builddir)/src/namecache/libgnunetnamecache.la \
45 $(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 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2012, 2013, 2014, 2017, 2018 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20
21/**
22 * @file zonemaster/gnunet-service-zonemaster-monitor.c
23 * @brief monitor namestore changes and publish them immediately to GNUnet name system
24 * @author Christian Grothoff
25 */
26#include "platform.h"
27#include "gnunet_util_lib.h"
28#include "gnunet_dht_service.h"
29#include "gnunet_namestore_service.h"
30#include "gnunet_namecache_service.h"
31#include "gnunet_statistics_service.h"
32
33#define LOG_STRERROR_FILE(kind, syscall, \
34 filename) GNUNET_log_from_strerror_file (kind, "util", \
35 syscall, \
36 filename)
37
38
39/**
40 * How often should we (re)publish each record before
41 * it expires?
42 */
43#define PUBLISH_OPS_PER_EXPIRATION 4
44
45/**
46 * How many pending DHT operations do we allow at most?
47 */
48#define DHT_QUEUE_LIMIT 2000
49
50/**
51 * How many events may the namestore give us before it has to wait
52 * for us to keep up?
53 */
54#define NAMESTORE_QUEUE_LIMIT 5
55
56/**
57 * What replication level do we use for DHT PUT operations?
58 */
59#define DHT_GNS_REPLICATION_LEVEL 5
60
61/**
62 * Handle for DHT PUT activity triggered from the namestore monitor.
63 */
64struct DhtPutActivity
65{
66 /**
67 * Kept in a DLL.
68 */
69 struct DhtPutActivity *next;
70
71 /**
72 * Kept in a DLL.
73 */
74 struct DhtPutActivity *prev;
75
76 /**
77 * Handle for the DHT PUT operation.
78 */
79 struct GNUNET_DHT_PutHandle *ph;
80
81 /**
82 * When was this PUT initiated?
83 */
84 struct GNUNET_TIME_Absolute start_date;
85};
86
87/**
88 * Pending operation on the namecache.
89 */
90struct CacheOperation
91{
92 /**
93 * Kept in a DLL.
94 */
95 struct CacheOperation *prev;
96
97 /**
98 * Kept in a DLL.
99 */
100 struct CacheOperation *next;
101
102 /**
103 * Handle to namecache queue.
104 */
105 struct GNUNET_NAMECACHE_QueueEntry *qe;
106
107};
108
109
110/**
111 * Handle to the statistics service
112 */
113static struct GNUNET_STATISTICS_Handle *statistics;
114
115/**
116 * Our handle to the DHT
117 */
118static struct GNUNET_DHT_Handle *dht_handle;
119
120/**
121 * Our handle to the namestore service
122 */
123static struct GNUNET_NAMESTORE_Handle *namestore_handle;
124
125/**
126 * Handle to monitor namestore changes to instant propagation.
127 */
128static struct GNUNET_NAMESTORE_ZoneMonitor *zmon;
129
130/**
131 * Head of monitor activities; kept in a DLL.
132 */
133static struct DhtPutActivity *ma_head;
134
135/**
136 * Tail of monitor activities; kept in a DLL.
137 */
138static struct DhtPutActivity *ma_tail;
139
140/**
141 * Our handle to the namecache service
142 */
143static struct GNUNET_NAMECACHE_Handle *namecache;
144
145/**
146 * Use the namecache? Doing so creates additional cryptographic
147 * operations whenever we touch a record.
148 */
149static int disable_namecache;
150
151
152/**
153 * Number of entries in the DHT queue #ma_head.
154 */
155static unsigned int ma_queue_length;
156
157/**
158 * Optimize block insertion by caching map of private keys to
159 * public keys in memory?
160 */
161static int cache_keys;
162
163/**
164 * Head of cop DLL.
165 */
166static struct CacheOperation *cop_head;
167
168/**
169 * Tail of cop DLL.
170 */
171static struct CacheOperation *cop_tail;
172
173
174/**
175 * Task run during shutdown.
176 *
177 * @param cls unused
178 * @param tc unused
179 */
180static void
181shutdown_task (void *cls)
182{
183 struct DhtPutActivity *ma;
184 struct CacheOperation *cop;
185
186
187 (void) cls;
188 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
189 "Shutting down!\n");
190 while (NULL != (cop = cop_head))
191 {
192 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
193 "Aborting incomplete namecache operation\n");
194 GNUNET_NAMECACHE_cancel (cop->qe);
195 GNUNET_CONTAINER_DLL_remove (cop_head, cop_tail, cop);
196 GNUNET_free (cop);
197 }
198 while (NULL != (ma = ma_head))
199 {
200 GNUNET_DHT_put_cancel (ma->ph);
201 ma_queue_length--;
202 GNUNET_CONTAINER_DLL_remove (ma_head,
203 ma_tail,
204 ma);
205 GNUNET_free (ma);
206 }
207 if (NULL != statistics)
208 {
209 GNUNET_STATISTICS_destroy (statistics,
210 GNUNET_NO);
211 statistics = NULL;
212 }
213 if (NULL != zmon)
214 {
215 GNUNET_NAMESTORE_zone_monitor_stop (zmon);
216 zmon = NULL;
217 }
218 if (NULL != namestore_handle)
219 {
220 GNUNET_NAMESTORE_disconnect (namestore_handle);
221 namestore_handle = NULL;
222 }
223 if (NULL != namecache)
224 {
225 GNUNET_NAMECACHE_disconnect (namecache);
226 namecache = NULL;
227 }
228 if (NULL != dht_handle)
229 {
230 GNUNET_DHT_disconnect (dht_handle);
231 dht_handle = NULL;
232 }
233}
234
235/**
236 * Cache operation complete, clean up.
237 *
238 * @param cls the `struct CacheOperation`
239 * @param success success
240 * @param emsg error messages
241 */
242static void
243finish_cache_operation (void *cls, int32_t success, const char *emsg)
244{
245 struct CacheOperation *cop = cls;
246
247 if (NULL != emsg)
248 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
249 _ ("Failed to replicate block in namecache: %s\n"),
250 emsg);
251 else
252 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "CACHE operation completed\n");
253 GNUNET_CONTAINER_DLL_remove (cop_head, cop_tail, cop);
254 GNUNET_free (cop);
255}
256
257
258/**
259 * Refresh the (encrypted) block in the namecache.
260 *
261 * @param zone_key private key of the zone
262 * @param name label for the records
263 * @param rd_count number of records
264 * @param rd records stored under the given @a name
265 */
266static void
267refresh_block (const struct GNUNET_GNSRECORD_Block *block)
268{
269 struct CacheOperation *cop;
270
271 if (GNUNET_YES == disable_namecache)
272 {
273 GNUNET_STATISTICS_update (statistics,
274 "Namecache updates skipped (NC disabled)",
275 1,
276 GNUNET_NO);
277 return;
278 }
279 GNUNET_assert (NULL != block);
280 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Caching block in namecache\n");
281 GNUNET_STATISTICS_update (statistics,
282 "Namecache updates pushed",
283 1,
284 GNUNET_NO);
285 cop = GNUNET_new (struct CacheOperation);
286 GNUNET_CONTAINER_DLL_insert (cop_head, cop_tail, cop);
287 cop->qe = GNUNET_NAMECACHE_block_cache (namecache,
288 block,
289 &finish_cache_operation,
290 cop);
291}
292
293
294
295/**
296 * Continuation called from DHT once the PUT operation triggered
297 * by a monitor is done.
298 *
299 * @param cls a `struct DhtPutActivity`
300 */
301static void
302dht_put_monitor_continuation (void *cls)
303{
304 struct DhtPutActivity *ma = cls;
305
306 GNUNET_NAMESTORE_zone_monitor_next (zmon,
307 1);
308 ma_queue_length--;
309 GNUNET_CONTAINER_DLL_remove (ma_head,
310 ma_tail,
311 ma);
312 GNUNET_free (ma);
313}
314
315
316/**
317 * Store GNS records in the DHT.
318 *
319 * @param key key of the zone
320 * @param label label to store under
321 * @param rd_public public record data
322 * @param rd_public_count number of records in @a rd_public
323 * @param ma handle for the PUT operation
324 * @return DHT PUT handle, NULL on error
325 */
326static struct GNUNET_DHT_PutHandle *
327perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
328 const char *label,
329 const struct GNUNET_GNSRECORD_Data *rd,
330 unsigned int rd_count,
331 struct GNUNET_TIME_Absolute expire,
332 struct DhtPutActivity *ma)
333{
334 struct GNUNET_GNSRECORD_Data rd_public[rd_count];
335 struct GNUNET_GNSRECORD_Block *block;
336 struct GNUNET_GNSRECORD_Block *block_priv;
337 struct GNUNET_HashCode query;
338 struct GNUNET_TIME_Absolute expire_priv;
339 size_t block_size;
340 unsigned int rd_public_count = 0;
341 struct GNUNET_DHT_PutHandle *ret;
342 char *emsg;
343
344 if (GNUNET_OK !=
345 GNUNET_GNSRECORD_normalize_record_set (label,
346 rd,
347 rd_count,
348 rd_public,
349 &rd_public_count,
350 &expire_priv,
351 GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
352 &emsg))
353 {
354 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
355 "%s\n", emsg);
356 GNUNET_free (emsg);
357 }
358
359 if (cache_keys)
360 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
361 expire,
362 label,
363 rd_public,
364 rd_public_count,
365 &block));
366 else
367 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
368 expire,
369 label,
370 rd_public,
371 rd_public_count,
372 &block));
373 if (NULL == block)
374 {
375 GNUNET_break (0);
376 return NULL; /* whoops */
377 }
378 if (rd_count != rd_public_count)
379 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
380 expire_priv,
381 label,
382 rd,
383 rd_count,
384 &block_priv));
385 else
386 block_priv = block;
387 block_size = GNUNET_GNSRECORD_block_get_size (block);
388 GNUNET_GNSRECORD_query_from_private_key (key,
389 label,
390 &query);
391 GNUNET_STATISTICS_update (statistics,
392 "DHT put operations initiated",
393 1,
394 GNUNET_NO);
395 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
396 "Storing %u record(s) for label `%s' in DHT with expiration `%s' under key %s\n",
397 rd_public_count,
398 label,
399 GNUNET_STRINGS_absolute_time_to_string (expire),
400 GNUNET_h2s (&query));
401 ret = GNUNET_DHT_put (dht_handle,
402 &query,
403 DHT_GNS_REPLICATION_LEVEL,
404 GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
405 GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
406 block_size,
407 block,
408 expire,
409 &dht_put_monitor_continuation,
410 ma);
411 refresh_block (block_priv);
412 if (block != block_priv)
413 GNUNET_free (block_priv);
414 GNUNET_free (block);
415 return ret;
416}
417
418/**
419 * Process a record that was stored in the namestore
420 * (invoked by the monitor).
421 *
422 * @param cls closure, NULL
423 * @param zone private key of the zone; NULL on disconnect
424 * @param label label of the records; NULL on disconnect
425 * @param rd_count number of entries in @a rd array, 0 if label was deleted
426 * @param rd array of records with data to store
427 * @param expire expiration of this record set
428 */
429static void
430handle_monitor_event (void *cls,
431 const struct GNUNET_IDENTITY_PrivateKey *zone,
432 const char *label,
433 unsigned int rd_count,
434 const struct GNUNET_GNSRECORD_Data *rd,
435 struct GNUNET_TIME_Absolute expire)
436{
437 struct DhtPutActivity *ma;
438
439 (void) cls;
440 GNUNET_STATISTICS_update (statistics,
441 "Namestore monitor events received",
442 1,
443 GNUNET_NO);
444 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
445 "Received %u records for label `%s' via namestore monitor\n",
446 rd_count,
447 label);
448 if (0 == rd_count)
449 {
450 GNUNET_NAMESTORE_zone_monitor_next (zmon,
451 1);
452 return; /* nothing to do */
453 }
454 ma = GNUNET_new (struct DhtPutActivity);
455 ma->start_date = GNUNET_TIME_absolute_get ();
456 ma->ph = perform_dht_put (zone,
457 label,
458 rd,
459 rd_count,
460 expire,
461 ma);
462 if (NULL == ma->ph)
463 {
464 /* PUT failed, do not remember operation */
465 GNUNET_free (ma);
466 GNUNET_NAMESTORE_zone_monitor_next (zmon,
467 1);
468 return;
469 }
470 GNUNET_CONTAINER_DLL_insert_tail (ma_head,
471 ma_tail,
472 ma);
473 ma_queue_length++;
474 if (ma_queue_length > DHT_QUEUE_LIMIT)
475 {
476 ma = ma_head;
477 GNUNET_CONTAINER_DLL_remove (ma_head,
478 ma_tail,
479 ma);
480 GNUNET_DHT_put_cancel (ma->ph);
481 ma_queue_length--;
482 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
483 "DHT PUT unconfirmed after %s, aborting PUT\n",
484 GNUNET_STRINGS_relative_time_to_string (
485 GNUNET_TIME_absolute_get_duration (ma->start_date),
486 GNUNET_YES));
487 GNUNET_free (ma);
488 }
489}
490
491
492/**
493 * The zone monitor encountered an IPC error trying to to get in
494 * sync. Restart from the beginning.
495 *
496 * @param cls NULL
497 */
498static void
499handle_monitor_error (void *cls)
500{
501 (void) cls;
502 GNUNET_STATISTICS_update (statistics,
503 "Namestore monitor errors encountered",
504 1,
505 GNUNET_NO);
506}
507
508
509/**
510 * Perform zonemaster duties: watch namestore, publish records.
511 *
512 * @param cls closure
513 * @param server the initialized server
514 * @param c configuration to use
515 */
516static void
517run (void *cls,
518 const struct GNUNET_CONFIGURATION_Handle *c,
519 struct GNUNET_SERVICE_Handle *service)
520{
521 unsigned long long max_parallel_bg_queries = 128;
522
523 (void) cls;
524 (void) service;
525 namestore_handle = GNUNET_NAMESTORE_connect (c);
526 if (NULL == namestore_handle)
527 {
528 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
529 _ ("Failed to connect to the namestore!\n"));
530 GNUNET_SCHEDULER_shutdown ();
531 return;
532 }
533 disable_namecache = GNUNET_CONFIGURATION_get_value_yesno (c,
534 "namecache",
535 "DISABLE");
536 if (GNUNET_NO == disable_namecache)
537 {
538 namecache = GNUNET_NAMECACHE_connect (c);
539 if (NULL == namecache)
540 {
541 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
542 _ ("Failed to connect to the namecache!\n"));
543 GNUNET_SCHEDULER_shutdown ();
544 return;
545 }
546 }
547 else
548 {
549 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
550 _ ("Namecache is disabled!\n"));
551 }
552 cache_keys = GNUNET_CONFIGURATION_get_value_yesno (c,
553 "namestore",
554 "CACHE_KEYS");
555 if (GNUNET_OK ==
556 GNUNET_CONFIGURATION_get_value_number (c,
557 "zonemaster",
558 "MAX_PARALLEL_BACKGROUND_QUERIES",
559 &max_parallel_bg_queries))
560 {
561 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
562 "Number of allowed parallel background queries: %llu\n",
563 max_parallel_bg_queries);
564 }
565 if (0 == max_parallel_bg_queries)
566 max_parallel_bg_queries = 1;
567 dht_handle = GNUNET_DHT_connect (c,
568 (unsigned int) max_parallel_bg_queries);
569 if (NULL == dht_handle)
570 {
571 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
572 _ ("Could not connect to DHT!\n"));
573 GNUNET_SCHEDULER_add_now (&shutdown_task,
574 NULL);
575 return;
576 }
577
578 /* Schedule periodic put for our records. */
579 statistics = GNUNET_STATISTICS_create ("zonemaster-mon",
580 c);
581 zmon = GNUNET_NAMESTORE_zone_monitor_start2 (c,
582 NULL,
583 GNUNET_NO,
584 &handle_monitor_error,
585 NULL,
586 &handle_monitor_event,
587 NULL,
588 NULL /* sync_cb */,
589 NULL,
590 GNUNET_GNSRECORD_FILTER_NONE);
591 GNUNET_NAMESTORE_zone_monitor_next (zmon,
592 NAMESTORE_QUEUE_LIMIT - 1);
593 GNUNET_break (NULL != zmon);
594 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
595 NULL);
596}
597
598
599/**
600 * Define "main" method using service macro.
601 */
602GNUNET_SERVICE_MAIN
603 ("zonemaster-monitor",
604 GNUNET_SERVICE_OPTION_NONE,
605 &run,
606 NULL,
607 NULL,
608 NULL,
609 GNUNET_MQ_handler_end ());
610
611
612/* 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
@@ -67,6 +67,12 @@
67#define NAMESTORE_QUEUE_LIMIT 50 67#define NAMESTORE_QUEUE_LIMIT 50
68 68
69/** 69/**
70 * How many events may the namestore give us before it has to wait
71 * for us to keep up?
72 */
73#define NAMESTORE_MONITOR_QUEUE_LIMIT 5
74
75/**
70 * The initial interval in milliseconds btween puts in 76 * The initial interval in milliseconds btween puts in
71 * a zone iteration 77 * a zone iteration
72 */ 78 */
@@ -155,6 +161,21 @@ static struct GNUNET_DHT_Handle *dht_handle;
155static struct GNUNET_NAMESTORE_Handle *namestore_handle; 161static struct GNUNET_NAMESTORE_Handle *namestore_handle;
156 162
157/** 163/**
164 * Handle to monitor namestore changes to instant propagation.
165 */
166static struct GNUNET_NAMESTORE_ZoneMonitor *zmon;
167
168/**
169 * Head of monitor activities; kept in a DLL.
170 */
171static struct DhtPutActivity *ma_head;
172
173/**
174 * Tail of monitor activities; kept in a DLL.
175 */
176static struct DhtPutActivity *ma_tail;
177
178/**
158 * Our handle to the namecache service 179 * Our handle to the namecache service
159 */ 180 */
160static struct GNUNET_NAMECACHE_Handle *namecache; 181static struct GNUNET_NAMECACHE_Handle *namecache;
@@ -166,6 +187,11 @@ static struct GNUNET_NAMECACHE_Handle *namecache;
166static int disable_namecache; 187static int disable_namecache;
167 188
168/** 189/**
190 * Number of entries in the DHT queue #ma_head.
191 */
192static unsigned int ma_queue_length;
193
194/**
169 * Handle to iterate over our authoritative zone in namestore 195 * Handle to iterate over our authoritative zone in namestore
170 */ 196 */
171static struct GNUNET_NAMESTORE_ZoneIterator *namestore_iter; 197static struct GNUNET_NAMESTORE_ZoneIterator *namestore_iter;
@@ -314,6 +340,15 @@ shutdown_task (void *cls)
314 dht_queue_length--; 340 dht_queue_length--;
315 GNUNET_free (ma); 341 GNUNET_free (ma);
316 } 342 }
343 while (NULL != (ma = ma_head))
344 {
345 GNUNET_DHT_put_cancel (ma->ph);
346 ma_queue_length--;
347 GNUNET_CONTAINER_DLL_remove (ma_head,
348 ma_tail,
349 ma);
350 GNUNET_free (ma);
351 }
317 if (NULL != statistics) 352 if (NULL != statistics)
318 { 353 {
319 GNUNET_STATISTICS_destroy (statistics, 354 GNUNET_STATISTICS_destroy (statistics,
@@ -330,6 +365,11 @@ shutdown_task (void *cls)
330 GNUNET_NAMESTORE_zone_iteration_stop (namestore_iter); 365 GNUNET_NAMESTORE_zone_iteration_stop (namestore_iter);
331 namestore_iter = NULL; 366 namestore_iter = NULL;
332 } 367 }
368 if (NULL != zmon)
369 {
370 GNUNET_NAMESTORE_zone_monitor_stop (zmon);
371 zmon = NULL;
372 }
333 if (NULL != namestore_handle) 373 if (NULL != namestore_handle)
334 { 374 {
335 GNUNET_NAMESTORE_disconnect (namestore_handle); 375 GNUNET_NAMESTORE_disconnect (namestore_handle);
@@ -340,7 +380,7 @@ shutdown_task (void *cls)
340 GNUNET_NAMECACHE_disconnect (namecache); 380 GNUNET_NAMECACHE_disconnect (namecache);
341 namecache = NULL; 381 namecache = NULL;
342 } 382 }
343if (NULL != dht_handle) 383 if (NULL != dht_handle)
344 { 384 {
345 GNUNET_DHT_disconnect (dht_handle); 385 GNUNET_DHT_disconnect (dht_handle);
346 dht_handle = NULL; 386 dht_handle = NULL;
@@ -666,7 +706,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
666 struct GNUNET_GNSRECORD_Block *block; 706 struct GNUNET_GNSRECORD_Block *block;
667 struct GNUNET_GNSRECORD_Block *block_priv; 707 struct GNUNET_GNSRECORD_Block *block_priv;
668 struct GNUNET_HashCode query; 708 struct GNUNET_HashCode query;
669 struct GNUNET_TIME_Absolute expire_priv; 709 struct GNUNET_TIME_Absolute expire_pub;
670 size_t block_size; 710 size_t block_size;
671 unsigned int rd_public_count = 0; 711 unsigned int rd_public_count = 0;
672 struct GNUNET_DHT_PutHandle *ret; 712 struct GNUNET_DHT_PutHandle *ret;
@@ -678,7 +718,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
678 rd_count, 718 rd_count,
679 rd_public, 719 rd_public,
680 &rd_public_count, 720 &rd_public_count,
681 &expire_priv, 721 &expire_pub,
682 GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE, 722 GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
683 &emsg)) 723 &emsg))
684 { 724 {
@@ -690,7 +730,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
690 if (cache_keys) 730 if (cache_keys)
691 { 731 {
692 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key, 732 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
693 expire, 733 expire_pub,
694 label, 734 label,
695 rd_public, 735 rd_public,
696 rd_public_count, 736 rd_public_count,
@@ -699,7 +739,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
699 else 739 else
700 { 740 {
701 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key, 741 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
702 expire, 742 expire_pub,
703 label, 743 label,
704 rd_public, 744 rd_public,
705 rd_public_count, 745 rd_public_count,
@@ -712,7 +752,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
712 } 752 }
713 if (rd_count != rd_public_count) 753 if (rd_count != rd_public_count)
714 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key, 754 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
715 expire_priv, 755 expire,
716 label, 756 label,
717 rd, 757 rd,
718 rd_count, 758 rd_count,
@@ -741,7 +781,7 @@ perform_dht_put (const struct GNUNET_IDENTITY_PrivateKey *key,
741 GNUNET_BLOCK_TYPE_GNS_NAMERECORD, 781 GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
742 block_size, 782 block_size,
743 block, 783 block,
744 expire, 784 expire_pub,
745 &dht_put_continuation, 785 &dht_put_continuation,
746 ma); 786 ma);
747 refresh_block (block_priv); 787 refresh_block (block_priv);
@@ -943,6 +983,221 @@ publish_zone_dht_start (void *cls)
943 983
944 984
945/** 985/**
986 * Continuation called from DHT once the PUT operation triggered
987 * by a monitor is done.
988 *
989 * @param cls a `struct DhtPutActivity`
990 */
991static void
992dht_put_monitor_continuation (void *cls)
993{
994 struct DhtPutActivity *ma = cls;
995
996 GNUNET_NAMESTORE_zone_monitor_next (zmon,
997 1);
998 ma_queue_length--;
999 GNUNET_CONTAINER_DLL_remove (ma_head,
1000 ma_tail,
1001 ma);
1002 GNUNET_free (ma);
1003}
1004
1005
1006/**
1007 * Store GNS records in the DHT.
1008 *
1009 * @param key key of the zone
1010 * @param label label to store under
1011 * @param rd_public public record data
1012 * @param rd_public_count number of records in @a rd_public
1013 * @param ma handle for the PUT operation
1014 * @return DHT PUT handle, NULL on error
1015 */
1016static struct GNUNET_DHT_PutHandle *
1017perform_dht_put_monitor (const struct GNUNET_IDENTITY_PrivateKey *key,
1018 const char *label,
1019 const struct GNUNET_GNSRECORD_Data *rd,
1020 unsigned int rd_count,
1021 struct GNUNET_TIME_Absolute expire,
1022 struct DhtPutActivity *ma)
1023{
1024 struct GNUNET_GNSRECORD_Data rd_public[rd_count];
1025 struct GNUNET_GNSRECORD_Block *block;
1026 struct GNUNET_GNSRECORD_Block *block_priv;
1027 struct GNUNET_HashCode query;
1028 struct GNUNET_TIME_Absolute expire_pub;
1029 size_t block_size;
1030 unsigned int rd_public_count = 0;
1031 struct GNUNET_DHT_PutHandle *ret;
1032 char *emsg;
1033
1034 if (GNUNET_OK !=
1035 GNUNET_GNSRECORD_normalize_record_set (label,
1036 rd,
1037 rd_count,
1038 rd_public,
1039 &rd_public_count,
1040 &expire_pub,
1041 GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE,
1042 &emsg))
1043 {
1044 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1045 "%s\n", emsg);
1046 GNUNET_free (emsg);
1047 }
1048
1049 if (cache_keys)
1050 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create2 (key,
1051 expire_pub,
1052 label,
1053 rd_public,
1054 rd_public_count,
1055 &block));
1056 else
1057 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
1058 expire_pub,
1059 label,
1060 rd_public,
1061 rd_public_count,
1062 &block));
1063 if (NULL == block)
1064 {
1065 GNUNET_break (0);
1066 return NULL; /* whoops */
1067 }
1068 if (rd_count != rd_public_count)
1069 GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (key,
1070 expire,
1071 label,
1072 rd,
1073 rd_count,
1074 &block_priv));
1075 else
1076 block_priv = block;
1077 block_size = GNUNET_GNSRECORD_block_get_size (block);
1078 GNUNET_GNSRECORD_query_from_private_key (key,
1079 label,
1080 &query);
1081 GNUNET_STATISTICS_update (statistics,
1082 "DHT put operations initiated",
1083 1,
1084 GNUNET_NO);
1085 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1086 "Storing %u public of %u record(s) for label `%s' in DHT with expiration `%s' under key %s\n",
1087 rd_public_count,
1088 rd_count,
1089 label,
1090 GNUNET_STRINGS_absolute_time_to_string (expire),
1091 GNUNET_h2s (&query));
1092 ret = GNUNET_DHT_put (dht_handle,
1093 &query,
1094 DHT_GNS_REPLICATION_LEVEL,
1095 GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
1096 GNUNET_BLOCK_TYPE_GNS_NAMERECORD,
1097 block_size,
1098 block,
1099 expire_pub,
1100 &dht_put_monitor_continuation,
1101 ma);
1102 refresh_block (block_priv);
1103 if (block != block_priv)
1104 GNUNET_free (block_priv);
1105 GNUNET_free (block);
1106 return ret;
1107}
1108
1109/**
1110 * Process a record that was stored in the namestore
1111 * (invoked by the monitor).
1112 *
1113 * @param cls closure, NULL
1114 * @param zone private key of the zone; NULL on disconnect
1115 * @param label label of the records; NULL on disconnect
1116 * @param rd_count number of entries in @a rd array, 0 if label was deleted
1117 * @param rd array of records with data to store
1118 * @param expire expiration of this record set
1119 */
1120static void
1121handle_monitor_event (void *cls,
1122 const struct GNUNET_IDENTITY_PrivateKey *zone,
1123 const char *label,
1124 unsigned int rd_count,
1125 const struct GNUNET_GNSRECORD_Data *rd,
1126 struct GNUNET_TIME_Absolute expire)
1127{
1128 struct DhtPutActivity *ma;
1129
1130 (void) cls;
1131 GNUNET_STATISTICS_update (statistics,
1132 "Namestore monitor events received",
1133 1,
1134 GNUNET_NO);
1135 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1136 "Received %u records for label `%s' via namestore monitor\n",
1137 rd_count,
1138 label);
1139 if (0 == rd_count)
1140 {
1141 GNUNET_NAMESTORE_zone_monitor_next (zmon,
1142 1);
1143 return; /* nothing to do */
1144 }
1145 ma = GNUNET_new (struct DhtPutActivity);
1146 ma->start_date = GNUNET_TIME_absolute_get ();
1147 ma->ph = perform_dht_put_monitor (zone,
1148 label,
1149 rd,
1150 rd_count,
1151 expire,
1152 ma);
1153 if (NULL == ma->ph)
1154 {
1155 /* PUT failed, do not remember operation */
1156 GNUNET_free (ma);
1157 GNUNET_NAMESTORE_zone_monitor_next (zmon,
1158 1);
1159 return;
1160 }
1161 GNUNET_CONTAINER_DLL_insert_tail (ma_head,
1162 ma_tail,
1163 ma);
1164 ma_queue_length++;
1165 if (ma_queue_length > DHT_QUEUE_LIMIT)
1166 {
1167 ma = ma_head;
1168 GNUNET_CONTAINER_DLL_remove (ma_head,
1169 ma_tail,
1170 ma);
1171 GNUNET_DHT_put_cancel (ma->ph);
1172 ma_queue_length--;
1173 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
1174 "DHT PUT unconfirmed after %s, aborting PUT\n",
1175 GNUNET_STRINGS_relative_time_to_string (
1176 GNUNET_TIME_absolute_get_duration (ma->start_date),
1177 GNUNET_YES));
1178 GNUNET_free (ma);
1179 }
1180}
1181
1182
1183/**
1184 * The zone monitor encountered an IPC error trying to to get in
1185 * sync. Restart from the beginning.
1186 *
1187 * @param cls NULL
1188 */
1189static void
1190handle_monitor_error (void *cls)
1191{
1192 (void) cls;
1193 GNUNET_STATISTICS_update (statistics,
1194 "Namestore monitor errors encountered",
1195 1,
1196 GNUNET_NO);
1197}
1198
1199
1200/**
946 * Perform zonemaster duties: watch namestore, publish records. 1201 * Perform zonemaster duties: watch namestore, publish records.
947 * 1202 *
948 * @param cls closure 1203 * @param cls closure
@@ -1034,6 +1289,20 @@ run (void *cls,
1034 GNUNET_NO); 1289 GNUNET_NO);
1035 zone_publish_task = GNUNET_SCHEDULER_add_now (&publish_zone_dht_start, 1290 zone_publish_task = GNUNET_SCHEDULER_add_now (&publish_zone_dht_start,
1036 NULL); 1291 NULL);
1292 zmon = GNUNET_NAMESTORE_zone_monitor_start2 (c,
1293 NULL,
1294 GNUNET_NO,
1295 &handle_monitor_error,
1296 NULL,
1297 &handle_monitor_event,
1298 NULL,
1299 NULL /* sync_cb */,
1300 NULL,
1301 GNUNET_GNSRECORD_FILTER_NONE);
1302 GNUNET_NAMESTORE_zone_monitor_next (zmon,
1303 NAMESTORE_MONITOR_QUEUE_LIMIT - 1);
1304 GNUNET_break (NULL != zmon);
1305
1037 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, 1306 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
1038 NULL); 1307 NULL);
1039} 1308}
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
24# USE_CACHE = YES 24# USE_CACHE = YES
25 25
26# PREFIX = valgrind --leak-check=full --track-origins=yes 26# PREFIX = valgrind --leak-check=full --track-origins=yes
27
28
29
30[zonemaster-monitor]
31START_ON_DEMAND = @START_ON_DEMAND@
32RUN_PER_USER = YES
33IMMEDIATE_START = YES
34HOSTNAME = localhost
35BINARY = gnunet-service-zonemaster-monitor
36UNIXPATH = $GNUNET_USER_RUNTIME_DIR/gnunet-service-zonemaster-monitor.sock
37@JAVAPORT@PORT = 2124
38
39# Do we require users that want to access GNS to run this process
40# (usually not a good idea)
41UNIX_MATCH_UID = NO
42
43# Do we require users that want to access GNS to be in the 'gnunet' group?
44UNIX_MATCH_GID = NO