aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/POTFILES.in1
-rw-r--r--po/de.po1030
-rw-r--r--po/es.po1048
-rw-r--r--po/sv.po1026
-rw-r--r--po/vi.po1025
-rw-r--r--po/zh_CN.po1028
-rw-r--r--src/include/gnunet_crypto_lib.h30
-rw-r--r--src/include/gnunet_secretsharing_service.h102
-rwxr-xr-xsrc/secretsharing/gnunet-secretsharing-profiler.c265
-rw-r--r--src/secretsharing/gnunet-service-secretsharing.c506
-rw-r--r--src/secretsharing/secretsharing.h6
-rw-r--r--src/secretsharing/secretsharing_api.c181
-rw-r--r--src/secretsharing/secretsharing_common.c3
-rw-r--r--src/secretsharing/test_secretsharing.conf2
-rw-r--r--src/util/Makefile.am1
-rw-r--r--src/util/crypto_ecc.c100
-rw-r--r--src/util/crypto_mpi.c132
17 files changed, 3945 insertions, 2541 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 0863e0cf6f..a4a731c46c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -263,6 +263,7 @@ src/statistics/statistics_api.c
src/template/gnunet-service-template.c
src/template/gnunet-template.c
src/testbed/generate-underlay-topology.c
+src/testbed/gnunet-daemon-latency-logger.c
src/testbed/gnunet-daemon-testbed-blacklist.c
src/testbed/gnunet-daemon-testbed-underlay.c
src/testbed/gnunet-helper-testbed.c
diff --git a/po/de.po b/po/de.po
index 0e474a06a8..00611f1c51 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2014-01-05 13:20+0100\n"
+"POT-Creation-Date: 2014-01-14 18:39+0100\n"
"PO-Revision-Date: 2006-03-17 21:37+0100\n"
"Last-Translator: Nils Durner <durner@gnunet.org>\n"
"Language-Team: German <de@li.org>\n"
@@ -358,49 +358,49 @@ msgstr "ungültige `%s' Nachricht empfangen\n"
msgid "Received last message for %s \n"
msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
-#: src/ats/gnunet-service-ats_addresses.c:1948
-#: src/ats/gnunet-service-ats_addresses.c:1992
+#: src/ats/gnunet-service-ats_addresses.c:1974
+#: src/ats/gnunet-service-ats_addresses.c:2018
#, c-format
msgid ""
"Could not load quota for network `%s': `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1955
+#: src/ats/gnunet-service-ats_addresses.c:1981
#, c-format
msgid "Outbound quota configure for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1963
+#: src/ats/gnunet-service-ats_addresses.c:1989
#, c-format
msgid ""
"No outbound quota configured for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1999
+#: src/ats/gnunet-service-ats_addresses.c:2025
#, c-format
msgid "Inbound quota configured for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2007
+#: src/ats/gnunet-service-ats_addresses.c:2033
#, c-format
msgid ""
"No outbound quota configure for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2184
+#: src/ats/gnunet-service-ats_addresses.c:2211
#, c-format
msgid "Initializing solver `%s '`%s'\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2187
+#: src/ats/gnunet-service-ats_addresses.c:2214
#, fuzzy, c-format
msgid "Failed to initialize solver `%s'!\n"
msgstr "SQLite Datenbank konnte nicht initialisiert werden: %s.\n"
-#: src/ats/gnunet-service-ats_addresses.c:2210
+#: src/ats/gnunet-service-ats_addresses.c:2237
#, fuzzy
msgid "Failed to initialize solver!\n"
msgstr "SQLite Datenbank konnte nicht initialisiert werden: %s.\n"
@@ -478,12 +478,12 @@ msgid "Quota for network `%11s' (in/out): %10s / %10s\n"
msgstr ""
#: src/ats-tool/gnunet-ats.c:352 src/namestore/gnunet-namestore.c:550
-#: src/transport/gnunet-transport.c:829
+#: src/transport/gnunet-transport.c:940
#, fuzzy, c-format
msgid "Service `%s' is not running\n"
msgstr "`%s' ist keine Datei.\n"
-#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:838
+#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:949
#, fuzzy, c-format
msgid "Failed to parse peer identity `%s'\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
@@ -566,6 +566,7 @@ msgid "Print information about ATS state"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
#: src/consensus/gnunet-consensus-profiler.c:420
+#: src/secretsharing/gnunet-secretsharing-profiler.c:300
#, fuzzy
msgid "number of peers in consensus"
msgstr "Anzahl an Durchläufen"
@@ -587,6 +588,7 @@ msgid "consensus timeout"
msgstr "# Sitzungsschlüssel akzeptiert"
#: src/consensus/gnunet-consensus-profiler.c:432
+#: src/secretsharing/gnunet-secretsharing-profiler.c:309
msgid "be more verbose (print received values)"
msgstr ""
@@ -595,255 +597,260 @@ msgstr ""
msgid "Connection to conversation service lost, trying to reconnect\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:252
+#: src/conversation/gnunet-conversation.c:264
#, c-format
msgid "Incoming call from `%s'. Please /accept #%u or /cancel %u the call.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:274
+#: src/conversation/gnunet-conversation.c:286
#, c-format
msgid "Call from `%s' terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:307
+#: src/conversation/gnunet-conversation.c:319
#, c-format
msgid "Call from `%s' suspended by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:312
+#: src/conversation/gnunet-conversation.c:324
#, c-format
msgid "Call from `%s' resumed by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:330
+#: src/conversation/gnunet-conversation.c:342
#, c-format
msgid "Ego `%s' no longer available, phone is now down.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:344
+#: src/conversation/gnunet-conversation.c:356
#, fuzzy
msgid "Failed to setup phone (internal error)\n"
msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n"
-#: src/conversation/gnunet-conversation.c:356
+#: src/conversation/gnunet-conversation.c:368
#, c-format
msgid ""
"Phone active on line %u. Type `/help' for a list of available commands\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:378
+#: src/conversation/gnunet-conversation.c:390
#, c-format
msgid "Resolved address of `%s'. Now ringing other party.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:385
+#: src/conversation/gnunet-conversation.c:397
#, fuzzy, c-format
msgid "Connection established to `%s'\n"
msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n"
-#: src/conversation/gnunet-conversation.c:392
+#: src/conversation/gnunet-conversation.c:404
#, fuzzy, c-format
msgid "Failed to resolve `%s'\n"
msgstr "Datei wurde als `%s' gespeichert.\n"
-#: src/conversation/gnunet-conversation.c:399
+#: src/conversation/gnunet-conversation.c:411
msgid "Call terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:405
+#: src/conversation/gnunet-conversation.c:417
#, c-format
msgid "Connection to `%s' suspended (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:411
+#: src/conversation/gnunet-conversation.c:423
#, c-format
msgid "Connection to `%s' resumed (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:416
+#: src/conversation/gnunet-conversation.c:428
msgid "Error with the call, restarting it\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:483
+#: src/conversation/gnunet-conversation.c:495
#, fuzzy, c-format
msgid "Unknown command `%s'\n"
msgstr "Unbekannte Operation `%s'\n"
-#: src/conversation/gnunet-conversation.c:499
-#: src/conversation/gnunet-conversation.c:513
+#: src/conversation/gnunet-conversation.c:511
+#: src/conversation/gnunet-conversation.c:525
#, fuzzy, c-format
msgid "Ego `%s' not available\n"
msgstr "gconfig ist nicht verfügbar\n"
-#: src/conversation/gnunet-conversation.c:506
-#: src/conversation/gnunet-conversation.c:563
+#: src/conversation/gnunet-conversation.c:518
+#: src/conversation/gnunet-conversation.c:575
msgid "You are calling someone else already, hang up first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:521
-#: src/conversation/gnunet-conversation.c:576
+#: src/conversation/gnunet-conversation.c:533
+#: src/conversation/gnunet-conversation.c:588
#, c-format
msgid "You are answering call from `%s', hang up or suspend that call first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:532
+#: src/conversation/gnunet-conversation.c:544
msgid "Call recipient missing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:587
+#: src/conversation/gnunet-conversation.c:599
msgid "There is no incoming call to accept here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:604
+#: src/conversation/gnunet-conversation.c:616
#, c-format
msgid "There is no incoming call `%s' to accept right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:632
+#: src/conversation/gnunet-conversation.c:644
msgid "We currently do not have an address.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:655
+#: src/conversation/gnunet-conversation.c:667
#, c-format
msgid "We are currently trying to locate the private key for the ego `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:660
+#: src/conversation/gnunet-conversation.c:672
#, c-format
msgid "We are listening for incoming calls for ego `%s' on line %u.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:666
-#: src/conversation/gnunet-conversation.c:690
+#: src/conversation/gnunet-conversation.c:678
+#: src/conversation/gnunet-conversation.c:702
#, c-format
msgid "You are having a conversation with `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:671
+#: src/conversation/gnunet-conversation.c:683
msgid ""
"We had an internal error setting up our phone line. You can still make "
"calls.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:680
+#: src/conversation/gnunet-conversation.c:692
#, fuzzy, c-format
msgid "We are trying to find the network address to call `%s'.\n"
msgstr "GNUnet verwendet nun die IP-Adresse %u.%u.%u.%u.\n"
-#: src/conversation/gnunet-conversation.c:685
+#: src/conversation/gnunet-conversation.c:697
#, c-format
msgid "We are calling `%s', his phone should be ringing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:704
+#: src/conversation/gnunet-conversation.c:716
msgid "Calls waiting:\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:710
+#: src/conversation/gnunet-conversation.c:722
#, fuzzy, c-format
msgid "#%u: `%s'\n"
msgstr "Ich bin Peer `%s'.\n"
-#: src/conversation/gnunet-conversation.c:738
-#: src/conversation/gnunet-conversation.c:753
+#: src/conversation/gnunet-conversation.c:750
+#: src/conversation/gnunet-conversation.c:765
msgid "There is no call that could be suspended right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:786
-#: src/conversation/gnunet-conversation.c:802
+#: src/conversation/gnunet-conversation.c:798
+#: src/conversation/gnunet-conversation.c:814
msgid "There is no call that could be resumed right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:809
+#: src/conversation/gnunet-conversation.c:821
#, c-format
msgid "Already talking with `%s', cannot resume a call right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:818
+#: src/conversation/gnunet-conversation.c:830
msgid "There is no incoming call to resume here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:835
+#: src/conversation/gnunet-conversation.c:847
#, c-format
msgid "There is no incoming call `%s' to resume right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:870
+#: src/conversation/gnunet-conversation.c:882
msgid "There is no call that could be cancelled right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:878
+#: src/conversation/gnunet-conversation.c:890
msgid "There is no incoming call to refuse here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:895
+#: src/conversation/gnunet-conversation.c:907
#, c-format
msgid "There is no incoming call `%s' to refuse right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:922
+#: src/conversation/gnunet-conversation.c:934
msgid "Use `/address' to find out which address this phone should have in GNS"
msgstr ""
-#: src/conversation/gnunet-conversation.c:924
+#: src/conversation/gnunet-conversation.c:936
msgid "Use `/call USER.gnu' to call USER"
msgstr ""
-#: src/conversation/gnunet-conversation.c:926
+#: src/conversation/gnunet-conversation.c:938
msgid "Use `/accept #NUM' to accept incoming call #NUM"
msgstr ""
-#: src/conversation/gnunet-conversation.c:928
+#: src/conversation/gnunet-conversation.c:940
msgid "Use `/suspend' to suspend the active call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:930
+#: src/conversation/gnunet-conversation.c:942
msgid ""
"Use `/resume [#NUM]' to resume a call, #NUM is needed to resume incoming "
"calls, no argument is needed to resume the current outgoing call."
msgstr ""
-#: src/conversation/gnunet-conversation.c:932
+#: src/conversation/gnunet-conversation.c:944
msgid "Use `/cancel' to reject or terminate a call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:934
+#: src/conversation/gnunet-conversation.c:946
msgid "Use `/status' to print status information"
msgstr ""
-#: src/conversation/gnunet-conversation.c:936
+#: src/conversation/gnunet-conversation.c:948
#, fuzzy
msgid "Use `/quit' to terminate gnunet-conversation"
msgstr "Erlaubt es Clients die Konfiguration von gnunetd abzufragen"
-#: src/conversation/gnunet-conversation.c:938
+#: src/conversation/gnunet-conversation.c:950
msgid "Use `/help command' to get help for a specific command"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1093
+#: src/conversation/gnunet-conversation.c:1148
#, fuzzy, c-format
msgid "Name of our ego changed to `%s'\n"
msgstr "Namespace `%s' konnte nicht erstellt werden (existiert bereits?).\n"
-#: src/conversation/gnunet-conversation.c:1106
+#: src/conversation/gnunet-conversation.c:1161
#, fuzzy, c-format
msgid "Our ego `%s' was deleted!\n"
msgstr "Pseudonym `%s' wurde gelöscht.\n"
-#: src/conversation/gnunet-conversation.c:1141
+#: src/conversation/gnunet-conversation.c:1196
#, fuzzy
msgid "You must specify the NAME of an ego to use\n"
msgstr "Sie müssen eine Liste von Dateien zum Einfügen angeben.\n"
-#: src/conversation/gnunet-conversation.c:1167
+#: src/conversation/gnunet-conversation.c:1220
+#, fuzzy
+msgid "Failed to start gnunet-helper-w32-console\n"
+msgstr "Fehler beim Starten der Collection.\n"
+
+#: src/conversation/gnunet-conversation.c:1246
msgid "sets the NAME of the ego to use for the phone (and name resolution)"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1170
+#: src/conversation/gnunet-conversation.c:1249
msgid "sets the LINE to use for the phone"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1185
+#: src/conversation/gnunet-conversation.c:1273
msgid "Enables having a conversation with other GNUnet users."
msgstr ""
@@ -886,13 +893,13 @@ msgid "gnunet-helper-audio-playback - Got signal, exiting\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:211
-#: src/conversation/gnunet-helper-audio-record.c:362
+#: src/conversation/gnunet-helper-audio-record.c:365
#, fuzzy
msgid "Connection established.\n"
msgstr "Collection beendet.\n"
#: src/conversation/gnunet-helper-audio-playback.c:216
-#: src/conversation/gnunet-helper-audio-record.c:367
+#: src/conversation/gnunet-helper-audio-record.c:370
#, fuzzy, c-format
msgid "pa_stream_new() failed: %s\n"
msgstr "`%s' schlug fehl: %s\n"
@@ -903,36 +910,36 @@ msgid "pa_stream_connect_playback() failed: %s\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:243
-#: src/conversation/gnunet-helper-audio-record.c:393
+#: src/conversation/gnunet-helper-audio-record.c:396
#, fuzzy, c-format
msgid "Connection failure: %s\n"
msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n"
#: src/conversation/gnunet-helper-audio-playback.c:264
-#: src/conversation/gnunet-helper-audio-record.c:416
+#: src/conversation/gnunet-helper-audio-record.c:419
msgid "Wrong Spec\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:270
-#: src/conversation/gnunet-helper-audio-record.c:422
+#: src/conversation/gnunet-helper-audio-record.c:425
#, fuzzy
msgid "pa_mainloop_new() failed.\n"
msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
#: src/conversation/gnunet-helper-audio-playback.c:284
-#: src/conversation/gnunet-helper-audio-record.c:437
+#: src/conversation/gnunet-helper-audio-record.c:440
#, fuzzy
msgid "pa_context_new() failed.\n"
msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
#: src/conversation/gnunet-helper-audio-playback.c:291
-#: src/conversation/gnunet-helper-audio-record.c:443
+#: src/conversation/gnunet-helper-audio-record.c:446
#, fuzzy, c-format
msgid "pa_context_connect() failed: %s\n"
msgstr "`%s' schlug fehl: %s\n"
#: src/conversation/gnunet-helper-audio-playback.c:297
-#: src/conversation/gnunet-helper-audio-record.c:449
+#: src/conversation/gnunet-helper-audio-record.c:452
#, fuzzy
msgid "pa_mainloop_run() failed.\n"
msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
@@ -942,46 +949,51 @@ msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
msgid "Read error from STDIN: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:237
+#: src/conversation/gnunet-helper-audio-playback-gst.c:341
+#, c-format
+msgid "Read error from STDIN: %d %s\n"
+msgstr ""
+
+#: src/conversation/gnunet-helper-audio-record.c:240
#, fuzzy, c-format
msgid "pa_stream_peek() failed: %s\n"
msgstr "`%s' schlug fehl: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:275
+#: src/conversation/gnunet-helper-audio-record.c:278
msgid "Got signal, exiting.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:300
+#: src/conversation/gnunet-helper-audio-record.c:303
#, fuzzy
msgid "Stream successfully created.\n"
msgstr "Zugriff verweigert für `%s' bei %s:%d.\n"
-#: src/conversation/gnunet-helper-audio-record.c:305
+#: src/conversation/gnunet-helper-audio-record.c:308
#, fuzzy, c-format
msgid "pa_stream_get_buffer_attr() failed: %s\n"
msgstr "`%s' schlug fehl: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:313
+#: src/conversation/gnunet-helper-audio-record.c:316
#, c-format
msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:317
+#: src/conversation/gnunet-helper-audio-record.c:320
#, c-format
msgid "Using sample spec '%s', channel map '%s'.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:324
+#: src/conversation/gnunet-helper-audio-record.c:327
#, fuzzy, c-format
msgid "Connected to device %s (%u, %ssuspended).\n"
msgstr "`%s' hat sich mit `%s' verbunden.\n"
-#: src/conversation/gnunet-helper-audio-record.c:333
+#: src/conversation/gnunet-helper-audio-record.c:336
#, c-format
msgid "Stream error: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:380
+#: src/conversation/gnunet-helper-audio-record.c:383
#, fuzzy, c-format
msgid "pa_stream_connect_record() failed: %s\n"
msgstr ""
@@ -1028,17 +1040,17 @@ msgid "Peer `%s'\n"
msgstr "Ich bin Peer `%s'.\n"
#: src/core/gnunet-core.c:110 src/core/gnunet-core.c:138
-#: src/transport/gnunet-transport.c:609 src/transport/gnunet-transport.c:634
+#: src/transport/gnunet-transport.c:630 src/transport/gnunet-transport.c:650
#, c-format
msgid "%24s: %-17s %4s (%u connections in total)\n"
msgstr ""
-#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:611
+#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:631
#, fuzzy
msgid "Connected to"
msgstr "`%s' hat sich mit `%s' verbunden.\n"
-#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:636
+#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:651
#, fuzzy
msgid "Disconnected from"
msgstr "`%s' hat sich mit `%s' verbunden.\n"
@@ -1048,7 +1060,7 @@ msgstr "`%s' hat sich mit `%s' verbunden.\n"
msgid "Invalid command line argument `%s'\n"
msgstr "Ungültige Kommandozeilen Parameter:\n"
-#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1028
+#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1127
#, fuzzy
msgid "provide information about all current connections (continuously)"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
@@ -1121,7 +1133,7 @@ msgid "# EPHEMERAL_KEY messages received"
msgstr "# defragmentierter Nachrichten"
#: src/core/gnunet-service-core_kx.c:950
-#: src/transport/gnunet-service-transport_validation.c:974
+#: src/transport/gnunet-service-transport_validation.c:968
#, fuzzy
msgid "# PING messages received"
msgstr "# PING Nachrichten erstellt"
@@ -1154,7 +1166,7 @@ msgid "# keepalive messages sent"
msgstr "# Klartext PING Nachrichten gesendet"
#: src/core/gnunet-service-core_kx.c:1095
-#: src/transport/gnunet-service-transport_validation.c:1285
+#: src/transport/gnunet-service-transport_validation.c:1280
#, fuzzy
msgid "# PONG messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
@@ -1259,11 +1271,11 @@ msgstr "Ungültige Nachricht des Typs %u empfangen. Nachricht wird verworfen.\n"
#: src/fs/gnunet-service-fs_cp.c:604 src/fs/gnunet-service-fs_cp.c:1499
#: src/topology/gnunet-daemon-topology.c:706
#: src/topology/gnunet-daemon-topology.c:807
-#: src/transport/gnunet-service-transport_neighbours.c:929
-#: src/transport/gnunet-service-transport_neighbours.c:1161
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:3015
-#: src/transport/gnunet-service-transport_neighbours.c:3291
+#: src/transport/gnunet-service-transport_neighbours.c:837
+#: src/transport/gnunet-service-transport_neighbours.c:1069
+#: src/transport/gnunet-service-transport_neighbours.c:1078
+#: src/transport/gnunet-service-transport_neighbours.c:2920
+#: src/transport/gnunet-service-transport_neighbours.c:3181
#, fuzzy
msgid "# peers connected"
msgstr "# verbundener Knoten"
@@ -1344,6 +1356,9 @@ msgstr ""
#: src/namecache/plugin_namecache_sqlite.c:52
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:52
+#: src/testbed/generate-underlay-topology.c:47
+#: src/testbed/gnunet-daemon-latency-logger.c:52
+#: src/testbed/gnunet-daemon-testbed-underlay.c:55
#: src/testbed/testbed_api_hosts.c:69 src/util/crypto_ecc.c:51
#: src/include/gnunet_common.h:602 src/include/gnunet_common.h:611
#: src/scalarproduct/scalarproduct.h:61
@@ -1690,6 +1705,9 @@ msgid "Postgres database running\n"
msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:57
+#: src/testbed/generate-underlay-topology.c:50
+#: src/testbed/gnunet-daemon-latency-logger.c:55
+#: src/testbed/gnunet-daemon-testbed-underlay.c:58
#, fuzzy, c-format
msgid "`%s' failed at %s:%u with error: %s"
msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
@@ -3420,7 +3438,7 @@ msgid "Option `%s' is required when using option `%s'.\n"
msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
#: src/fs/gnunet-publish.c:778 src/fs/gnunet-publish.c:785
-#: src/transport/gnunet-transport.c:865 src/transport/gnunet-transport.c:899
+#: src/transport/gnunet-transport.c:977 src/transport/gnunet-transport.c:1007
#, c-format
msgid "Option `%s' makes no sense without option `%s'.\n"
msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
@@ -4091,8 +4109,8 @@ msgstr ""
#: src/hostlist/hostlist-client.c:741 src/hostlist/hostlist-client.c:750
#: src/hostlist/hostlist-client.c:871 src/hostlist/hostlist-client.c:963
#: src/hostlist/hostlist-client.c:968
-#: src/transport/plugin_transport_http_client.c:1070
-#: src/transport/plugin_transport_http_client.c:1085
+#: src/transport/plugin_transport_http_client.c:1062
+#: src/transport/plugin_transport_http_client.c:1077
#, c-format
msgid "%s failed at %s:%d: `%s'\n"
msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n"
@@ -4385,37 +4403,37 @@ msgstr "Fehler beim Anlegen des Benutzers"
msgid "Modified %u addresses \n"
msgstr ""
-#: src/hello/hello.c:943
+#: src/hello/hello.c:944
#, fuzzy
msgid "Failed to parse HELLO message: missing expiration time\n"
msgstr "Fehler beim Speichern der Konfiguration!"
-#: src/hello/hello.c:952
+#: src/hello/hello.c:953
#, fuzzy
msgid "Failed to parse HELLO message: invalid expiration time\n"
msgstr "Fehler beim Speichern der Konfiguration!"
-#: src/hello/hello.c:962
+#: src/hello/hello.c:963
#, fuzzy
msgid "Failed to parse HELLO message: malformed\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/hello/hello.c:972
+#: src/hello/hello.c:973
#, fuzzy
msgid "Failed to parse HELLO message: missing transport plugin\n"
msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n"
-#: src/hello/hello.c:989
+#: src/hello/hello.c:990
#, c-format
msgid "Plugin `%s' not found\n"
msgstr ""
-#: src/hello/hello.c:998
+#: src/hello/hello.c:999
#, c-format
msgid "Plugin `%s' does not support URIs yet\n"
msgstr ""
-#: src/hello/hello.c:1017
+#: src/hello/hello.c:1018
#, fuzzy, c-format
msgid "Failed to parse `%s' as an address for plugin `%s'\n"
msgstr "Fehler beim Binden an UDP Port %d.\n"
@@ -4671,7 +4689,7 @@ msgid "Advertisement message could not be queued by core\n"
msgstr ""
#: src/hostlist/hostlist-server.c:556 src/peerinfo-tool/gnunet-peerinfo.c:651
-#: src/transport/gnunet-service-transport.c:946
+#: src/transport/gnunet-service-transport.c:867
#, fuzzy
msgid "Could not access PEERINFO service. Exiting.\n"
msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n"
@@ -4783,49 +4801,34 @@ msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/mesh/gnunet-mesh.c:342
+#: src/mesh/gnunet-mesh.c:343
#, fuzzy, c-format
msgid "Invalid target `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/mesh/gnunet-mesh.c:503
+#: src/mesh/gnunet-mesh.c:521
#, fuzzy, c-format
msgid "Invalid tunnel owner `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/mesh/gnunet-mesh.c:568
+#: src/mesh/gnunet-mesh.c:586
msgid "You must NOT give a TARGET when using options\n"
msgstr ""
-#: src/mesh/gnunet-mesh.c:645
-#, fuzzy
-msgid "provide information about a particular channel"
-msgstr "Informationen über andere GNUnet Knoten ausgeben."
-
-#: src/mesh/gnunet-mesh.c:648
-#, fuzzy
-msgid "provide information about a particular connection"
-msgstr "Informationen über andere GNUnet Knoten ausgeben."
-
-#: src/mesh/gnunet-mesh.c:651
+#: src/mesh/gnunet-mesh.c:669
msgid "activate echo mode"
msgstr ""
-#: src/mesh/gnunet-mesh.c:654
+#: src/mesh/gnunet-mesh.c:672
#, fuzzy
msgid "provide information about all tunnels"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
-#: src/mesh/gnunet-mesh.c:657
-#, fuzzy
-msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
-msgstr "Informationen über andere GNUnet Knoten ausgeben."
-
-#: src/mesh/gnunet-mesh.c:660
+#: src/mesh/gnunet-mesh.c:678
msgid "port to listen to (default; 0)"
msgstr ""
-#: src/mesh/gnunet-mesh.c:663
+#: src/mesh/gnunet-mesh.c:681
#, fuzzy
msgid "provide information about a particular tunnel"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
@@ -4957,7 +4960,7 @@ msgid "del"
msgstr ""
#: src/namestore/gnunet-namestore.c:715
-#: src/peerinfo-tool/gnunet-peerinfo.c:703
+#: src/peerinfo-tool/gnunet-peerinfo.c:702
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
@@ -5127,55 +5130,55 @@ msgstr ""
msgid "NAT traversal with ICMP Server timed out.\n"
msgstr ""
-#: src/nat/nat_auto.c:200
+#: src/nat/nat_auto.c:203
msgid "NAT traversal with ICMP Server succeeded.\n"
msgstr ""
-#: src/nat/nat_auto.c:201
+#: src/nat/nat_auto.c:204
msgid "NAT traversal with ICMP Server failed.\n"
msgstr ""
-#: src/nat/nat_auto.c:222
+#: src/nat/nat_auto.c:225
#, fuzzy
msgid "Testing connection reversal with ICMP server.\n"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
-#: src/nat/nat_auto.c:269
+#: src/nat/nat_auto.c:274
#, fuzzy, c-format
msgid "Detected external IP `%s'\n"
msgstr "Ungültiger RPC `%s' empfangen.\n"
-#: src/nat/nat_auto.c:339
+#: src/nat/nat_auto.c:344
msgid "This system has a global IPv6 address, setting IPv6 to supported.\n"
msgstr ""
-#: src/nat/nat_auto.c:355
+#: src/nat/nat_auto.c:360
#, fuzzy, c-format
msgid "Detected internal network address `%s'.\n"
msgstr "GNUnet verwendet nun die IP-Adresse %u.%u.%u.%u.\n"
-#: src/nat/nat_auto.c:408
+#: src/nat/nat_auto.c:413
msgid "upnpc found, enabling its use\n"
msgstr ""
-#: src/nat/nat_auto.c:409
+#: src/nat/nat_auto.c:414
#, fuzzy
msgid "upnpc not found\n"
msgstr "Kommando `%s' wurde nicht gefunden!\n"
-#: src/nat/nat_auto.c:442
+#: src/nat/nat_auto.c:447
msgid "gnunet-helper-nat-server found, testing it\n"
msgstr ""
-#: src/nat/nat_auto.c:443
+#: src/nat/nat_auto.c:448
msgid "No working gnunet-helper-nat-server found\n"
msgstr ""
-#: src/nat/nat_auto.c:477
+#: src/nat/nat_auto.c:482
msgid "gnunet-helper-nat-client found, enabling it\n"
msgstr ""
-#: src/nat/nat_auto.c:478
+#: src/nat/nat_auto.c:483
msgid "gnunet-helper-nat-client not found or behind NAT, disabling it\n"
msgstr ""
@@ -5189,40 +5192,66 @@ msgstr ""
msgid "Failed to start %s\n"
msgstr "Fehler beim Starten der Collection.\n"
-#: src/nat/nat.c:1203
+#: src/nat/nat.c:1205
msgid "malformed"
msgstr ""
-#: src/nat/nat.c:1274 src/nat/nat.c:1286
+#: src/nat/nat.c:1276 src/nat/nat.c:1288
#, c-format
msgid ""
"Configuration requires `%s', but binary is not installed properly (SUID bit "
"not set). Option disabled.\n"
msgstr ""
-#: src/nat/nat.c:1424
+#: src/nat/nat.c:1426
msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n"
msgstr ""
-#: src/nat/nat.c:1440
+#: src/nat/nat.c:1442
#, c-format
msgid "Running gnunet-helper-nat-client %s %s %u\n"
msgstr ""
-#: src/nat/nat_mini.c:170
+#: src/nat/nat_mini.c:155
+msgid "no valid address was returned by `external-ip'"
+msgstr ""
+
+#: src/nat/nat_mini.c:175
+msgid "`external-ip' command not found"
+msgstr ""
+
+#: src/nat/nat_mini.c:201
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/nat_mini.c:505
+#: src/nat/nat_mini.c:366
+#, fuzzy
+msgid "Failed to run `upnpc` command"
+msgstr "Fehler beim Starten der Collection.\n"
+
+#: src/nat/nat_mini.c:512
+msgid "`upnpc' command took too long, process killed"
+msgstr ""
+
+#: src/nat/nat_mini.c:540
+msgid "`upnpc' command failed to establish port mapping"
+msgstr ""
+
+#: src/nat/nat_mini.c:604
msgid "`upnpc' command not found\n"
msgstr ""
-#: src/nat/nat_test.c:348
+#: src/nat/nat_mini.c:608
+#, fuzzy
+msgid "`upnpc` command not found"
+msgstr "Kommando `%s' wurde nicht gefunden!\n"
+
+#: src/nat/nat_test.c:351
#, fuzzy
msgid "Failed to connect to `gnunet-nat-server'\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/nat/nat_test.c:420
+#: src/nat/nat_test.c:423
#, c-format
msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n"
msgstr ""
@@ -5258,14 +5287,10 @@ msgid "Measure quality and performance of the NSE service."
msgstr "Auf den Dienst konnte nicht zugegriffen werden"
#: src/nse/gnunet-service-nse.c:1461
-#: src/revocation/gnunet-service-revocation.c:789
+#: src/revocation/gnunet-service-revocation.c:789 src/util/gnunet-scrypt.c:248
msgid "Value is too large.\n"
msgstr ""
-#: src/nse/gnunet-service-nse.c:1488
-msgid "NSE service is lacking key configuration settings. Exiting.\n"
-msgstr ""
-
#: src/peerinfo/gnunet-service-peerinfo.c:215
#, fuzzy, c-format
msgid "Removing expired address of transport `%s'\n"
@@ -5380,54 +5405,49 @@ msgstr ""
msgid "Failure adding HELLO: %s\n"
msgstr "Fehler bei %s:%d.\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:661
-#, fuzzy, c-format
-msgid "Could not find option `%s:%s' in configuration.\n"
-msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
-
-#: src/peerinfo-tool/gnunet-peerinfo.c:667
+#: src/peerinfo-tool/gnunet-peerinfo.c:666 src/util/gnunet-scrypt.c:224
#, fuzzy, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "Das Parsen des Hello von `%s' schlug fehl.\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:725
+#: src/peerinfo-tool/gnunet-peerinfo.c:724
#, c-format
msgid "I am peer `%s'.\n"
msgstr "Ich bin Peer `%s'.\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:769
+#: src/peerinfo-tool/gnunet-peerinfo.c:768
msgid "don't resolve host names"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:772
+#: src/peerinfo-tool/gnunet-peerinfo.c:771
msgid "output only the identity strings"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:775
+#: src/peerinfo-tool/gnunet-peerinfo.c:774
msgid "include friend-only information"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:778
+#: src/peerinfo-tool/gnunet-peerinfo.c:777
msgid "output our own identity only"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:781
+#: src/peerinfo-tool/gnunet-peerinfo.c:780
msgid "list all known peers"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:784
+#: src/peerinfo-tool/gnunet-peerinfo.c:783
msgid "dump hello to file"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:787
+#: src/peerinfo-tool/gnunet-peerinfo.c:786
msgid "also output HELLO uri(s)"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:790
+#: src/peerinfo-tool/gnunet-peerinfo.c:789
msgid "add given HELLO uri to the database"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:801
+#: src/peerinfo-tool/gnunet-peerinfo.c:800
#, fuzzy
msgid "Print information about peers."
msgstr "Informationen über andere GNUnet Knoten ausgeben."
@@ -6075,6 +6095,14 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
msgid "Failed to send a message to the scalarproduct service\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
+#: src/secretsharing/gnunet-secretsharing-profiler.c:303
+msgid "dkg timeout"
+msgstr ""
+
+#: src/secretsharing/gnunet-secretsharing-profiler.c:306
+msgid "threshold"
+msgstr ""
+
#: src/set/gnunet-service-set.c:1416
#, fuzzy
msgid "Could not connect to mesh service\n"
@@ -6209,19 +6237,94 @@ msgid ""
"might have been lost!\n"
msgstr ""
+#: src/testbed/generate-underlay-topology.c:223
+msgid "Need atleast 2 arguments\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:228
+msgid "Database filename missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:235
+msgid "Topology string missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:240
+#, fuzzy, c-format
+msgid "Invalid topology: %s\n"
+msgstr "Ungültiger Parameter: `%s'\n"
+
+#: src/testbed/generate-underlay-topology.c:252
+#, c-format
+msgid "An argument is missing for given topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:258
+#, fuzzy, c-format
+msgid "Invalid argument `%s' given as topology argument\n"
+msgstr "Ungültiger Parameter: `%s'\n"
+
+#: src/testbed/generate-underlay-topology.c:266
+#, c-format
+msgid "Filename argument missing for topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:280
+#, c-format
+msgid "Second argument for topology `%s' is missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:286
+#, fuzzy, c-format
+msgid "Invalid argument `%s'; expecting unsigned int\n"
+msgstr "Ungültiger Parameter für `%s' bei %s:%d.\n"
+
+#: src/testbed/generate-underlay-topology.c:335
+#: src/testbed/gnunet-testbed-profiler.c:293
+msgid "create COUNT number of peers"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:344
+msgid ""
+"Generates SQLite3 database representing a given underlay topology.\n"
+"Usage: gnunet-underlay-topology [OPTIONS] db-filename TOPO [TOPOOPTS]\n"
+"The following options are available for TOPO followed by TOPOOPTS if "
+"applicable:\n"
+"\t LINE\n"
+"\t RING\n"
+"\t RANDOM <num_rnd_links>\n"
+"\t SMALL_WORLD <num_rnd_links>\n"
+"\t SMALL_WORLD_RING <num_rnd_links>\n"
+"\t CLIQUE\n"
+"\t 2D_TORUS\n"
+"\t SCALE_FREE <cap> <m>\n"
+"\t FROM_FILE <filename>\n"
+"TOPOOPTS:\n"
+"\t num_rnd_links: The number of random links\n"
+"\t cap: the maximum number of links a node can have\n"
+"\t m: the number of links a node should have while joining the network\n"
+"\t filename: the path of the file which contains topology information\n"
+"NOTE: the format of the above file is descibed here: https://www.gnunet.org/"
+"content/topology-file-format\n"
+msgstr ""
+
+#: src/testbed/gnunet-daemon-latency-logger.c:325
+msgid "Daemon to log latency values of connections to neighbours"
+msgstr ""
+
#: src/testbed/gnunet-daemon-testbed-blacklist.c:264
msgid ""
"Daemon to restrict incoming transport layer connections during testbed "
"deployments"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:300 src/testing/testing.c:293
-#: src/util/gnunet-ecc.c:217
+#: src/testbed/gnunet-daemon-testbed-underlay.c:235 src/testing/list-keys.c:50
+#: src/testing/testing.c:293 src/util/gnunet-ecc.c:217
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:553
+#: src/testbed/gnunet-daemon-testbed-underlay.c:474
msgid "Daemon to restrict underlay network in testbed deployments"
msgstr ""
@@ -6262,10 +6365,6 @@ msgstr "Collection `%s' begonnen.\n"
msgid "Exiting as the number of peers is %u\n"
msgstr "Maximale Anzahl an Chat Clients erreicht.\n"
-#: src/testbed/gnunet-testbed-profiler.c:293
-msgid "create COUNT number of peers"
-msgstr ""
-
#: src/testbed/gnunet-testbed-profiler.c:296
msgid "tolerate COUNT number of continious timeout failures"
msgstr ""
@@ -6302,101 +6401,101 @@ msgstr ""
msgid "Adding host %u failed with error: %s\n"
msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
-#: src/testbed/testbed_api_testbed.c:820
+#: src/testbed/testbed_api_testbed.c:819
msgid "Linking controllers failed. Exiting"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:989
+#: src/testbed/testbed_api_testbed.c:988
#, c-format
msgid "Host registration failed for a host. Error: %s\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1055
+#: src/testbed/testbed_api_testbed.c:1054
msgid "Controller crash detected. Shutting down.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1144
+#: src/testbed/testbed_api_testbed.c:1143
#, c-format
msgid "Host %s cannot start testbed\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1148
+#: src/testbed/testbed_api_testbed.c:1147
msgid "Testbed cannot be started on localhost\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1186
+#: src/testbed/testbed_api_testbed.c:1185
#, fuzzy
msgid "Cannot start the master controller"
msgstr "GNUnet testbed Controller starten."
-#: src/testbed/testbed_api_testbed.c:1204
+#: src/testbed/testbed_api_testbed.c:1203
msgid "Shutting down testbed due to timeout while setup.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1264
+#: src/testbed/testbed_api_testbed.c:1263
msgid "No hosts loaded from LoadLeveler. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1276
+#: src/testbed/testbed_api_testbed.c:1275
msgid "No hosts loaded. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1300
+#: src/testbed/testbed_api_testbed.c:1299
msgid "Specified topology must be supported by testbed"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1350
+#: src/testbed/testbed_api_testbed.c:1349
#, c-format
msgid ""
"Maximum number of edges a peer can have in a scale free topology cannot be "
"more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1366
+#: src/testbed/testbed_api_testbed.c:1365
#, c-format
msgid ""
"The number of edges that can established when adding a new node to scale "
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:715
+#: src/testbed/testbed_api_topology.c:960
#, fuzzy, c-format
msgid "Topology file %s not found\n"
msgstr "`%s' fehlgeschlagen: Tabelle nicht gefunden!\n"
-#: src/testbed/testbed_api_topology.c:721
+#: src/testbed/testbed_api_topology.c:966
#, fuzzy, c-format
msgid "Topology file %s has no data\n"
msgstr "Sitzungsschlüssel von Knoten `%s' konnte nicht überprüft werden.\n"
-#: src/testbed/testbed_api_topology.c:728
+#: src/testbed/testbed_api_topology.c:973
#, fuzzy, c-format
msgid "Topology file %s cannot be read\n"
msgstr "Sitzungsschlüssel von Knoten `%s' konnte nicht überprüft werden.\n"
-#: src/testbed/testbed_api_topology.c:750
+#: src/testbed/testbed_api_topology.c:995
#, fuzzy, c-format
msgid "Failed to read peer index from toology file: %s"
msgstr "Konfigurationsdatei `%s' konnte nicht geparst werden.\n"
-#: src/testbed/testbed_api_topology.c:759
-#: src/testbed/testbed_api_topology.c:783
+#: src/testbed/testbed_api_topology.c:1004
+#: src/testbed/testbed_api_topology.c:1028
#, c-format
msgid "Value in given topology file: %s out of range\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:765
-#: src/testbed/testbed_api_topology.c:789
+#: src/testbed/testbed_api_topology.c:1010
+#: src/testbed/testbed_api_topology.c:1034
#, fuzzy, c-format
msgid "Failed to read peer index from topology file: %s"
msgstr "Konfigurationsdatei `%s' konnte nicht geparst werden.\n"
-#: src/testbed/testbed_api_topology.c:771
-#: src/testbed/testbed_api_topology.c:795
+#: src/testbed/testbed_api_topology.c:1016
+#: src/testbed/testbed_api_topology.c:1040
msgid "Topology file needs more peers than given ones\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:810
+#: src/testbed/testbed_api_topology.c:1074
#, fuzzy, c-format
msgid "Ignoring to connect peer %u to peer %u\n"
msgstr "Verbindung zu %u.%u.%u.%u:%u fehlgeschlagen: %s\n"
@@ -6442,6 +6541,14 @@ msgstr ""
msgid "Command line tool to access the testing library"
msgstr ""
+#: src/testing/list-keys.c:90
+msgid "list COUNT number of keys"
+msgstr ""
+
+#: src/testing/list-keys.c:93
+msgid "skip COUNT number of keys in the beginning"
+msgstr ""
+
#: src/testing/testing.c:277
#, c-format
msgid "Hostkeys file not found: %s\n"
@@ -6578,40 +6685,40 @@ msgid "Adding blacklisting entry for peer `%s':`%s'\n"
msgstr ""
#: src/transport/gnunet-service-transport_blacklist.c:455
-#: src/transport/gnunet-service-transport_blacklist.c:722
+#: src/transport/gnunet-service-transport_blacklist.c:725
msgid "# disconnects due to blacklist"
msgstr ""
-#: src/transport/gnunet-service-transport.c:206
+#: src/transport/gnunet-service-transport.c:201
#, fuzzy
msgid "# bytes payload discarded due to not connected peer"
msgstr "# Knotenankündigungen empfangen"
-#: src/transport/gnunet-service-transport.c:325
+#: src/transport/gnunet-service-transport.c:304
#, fuzzy
msgid "# bytes total received"
msgstr "# gap Anfragen insgesamt empfangen"
-#: src/transport/gnunet-service-transport.c:399
+#: src/transport/gnunet-service-transport.c:371
#, fuzzy
msgid "# bytes payload received"
msgstr "# Bytes entschlüsselt"
-#: src/transport/gnunet-service-transport.c:574
+#: src/transport/gnunet-service-transport.c:527
#, fuzzy, c-format
msgid "Could not obtain a valid network for `%s' %s (%s)\n"
msgstr ""
"Es konnte keine IP für das Gerät `%s' unter Verwendung von `%s' ermittelt "
"werden.\n"
-#: src/transport/gnunet-service-transport.c:628
+#: src/transport/gnunet-service-transport.c:574
#, c-format
msgid ""
"Address or session unknown: failed to update properties for peer `%s' plugin "
"`%s' address `%s' session %p\n"
msgstr ""
-#: src/transport/gnunet-service-transport.c:916
+#: src/transport/gnunet-service-transport.c:837
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet Konfiguration"
@@ -6626,16 +6733,16 @@ msgstr ""
msgid "# messages dropped due to slow client"
msgstr "# gap Anfragen verworfen: Kollision in RT"
-#: src/transport/gnunet-service-transport_clients.c:533
+#: src/transport/gnunet-service-transport_clients.c:540
#, c-format
msgid "Rejecting control connection from peer `%s', which is not me!\n"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:674
+#: src/transport/gnunet-service-transport_clients.c:681
msgid "# bytes payload dropped (other peer was not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:731
+#: src/transport/gnunet-service-transport_clients.c:738
#, fuzzy
msgid "# REQUEST CONNECT messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
@@ -6644,167 +6751,167 @@ msgstr "# verschlüsselter PONG Nachrichten empfangen"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1108
+#: src/transport/gnunet-service-transport_neighbours.c:1016
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:1244
-#: src/transport/gnunet-service-transport_neighbours.c:1653
+#: src/transport/gnunet-service-transport_neighbours.c:1152
+#: src/transport/gnunet-service-transport_neighbours.c:1562
#, fuzzy
msgid "# bytes in message queue for other peers"
msgstr "# Bytes ausgehender Nachrichten verworfen"
-#: src/transport/gnunet-service-transport_neighbours.c:1249
+#: src/transport/gnunet-service-transport_neighbours.c:1157
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# Bytes des Typs %d übertragen"
-#: src/transport/gnunet-service-transport_neighbours.c:1254
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# Bytes ausgehender Nachrichten verworfen"
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1219
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1368
+#: src/transport/gnunet-service-transport_neighbours.c:1276
#, fuzzy
msgid "# keepalives sent"
msgstr "# p2p Trace-Antworten gesendet"
-#: src/transport/gnunet-service-transport_neighbours.c:1401
+#: src/transport/gnunet-service-transport_neighbours.c:1309
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1409
+#: src/transport/gnunet-service-transport_neighbours.c:1317
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1456
+#: src/transport/gnunet-service-transport_neighbours.c:1364
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1465
+#: src/transport/gnunet-service-transport_neighbours.c:1373
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1473
+#: src/transport/gnunet-service-transport_neighbours.c:1381
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (address changed)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1481
+#: src/transport/gnunet-service-transport_neighbours.c:1389
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (wrong nonce)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1558
+#: src/transport/gnunet-service-transport_neighbours.c:1467
#, fuzzy
msgid "# messages discarded due to lack of neighbour record"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1592
+#: src/transport/gnunet-service-transport_neighbours.c:1501
#, fuzzy
msgid "# bandwidth quota violations by other peers"
msgstr "Verfolgt die Bandbreitennutzung von gnunetd"
-#: src/transport/gnunet-service-transport_neighbours.c:1608
+#: src/transport/gnunet-service-transport_neighbours.c:1517
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1700
+#: src/transport/gnunet-service-transport_neighbours.c:1609
#, fuzzy
msgid "# SESSION_CONNECT messages sent"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:1716
+#: src/transport/gnunet-service-transport_neighbours.c:1625
#, fuzzy, c-format
msgid "Failed to transmit CONNECT message via plugin to %s\n"
msgstr "`%s' Dienst konnte nicht initialisiert werden.\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1759
+#: src/transport/gnunet-service-transport_neighbours.c:1668
#, fuzzy
msgid "# CONNECT_ACK messages sent"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:2236
+#: src/transport/gnunet-service-transport_neighbours.c:2149
#, fuzzy
msgid "# CONNECT messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:2241
+#: src/transport/gnunet-service-transport_neighbours.c:2154
#, c-format
msgid "CONNECT request from peer `%s' ignored due impending shutdown\n"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2979
+#: src/transport/gnunet-service-transport_neighbours.c:2885
#, fuzzy
msgid "# CONNECT_ACK messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:2987
+#: src/transport/gnunet-service-transport_neighbours.c:2893
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:3002
-#: src/transport/gnunet-service-transport_neighbours.c:3039
+#: src/transport/gnunet-service-transport_neighbours.c:2908
+#: src/transport/gnunet-service-transport_neighbours.c:2944
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:3052
+#: src/transport/gnunet-service-transport_neighbours.c:2957
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:3085
+#: src/transport/gnunet-service-transport_neighbours.c:2987
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:3265
+#: src/transport/gnunet-service-transport_neighbours.c:3156
#, fuzzy
msgid "# SESSION_ACK messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:3284
+#: src/transport/gnunet-service-transport_neighbours.c:3175
#, fuzzy
msgid "# unexpected SESSION_ACK messages"
msgstr "# verschlüsselter PONG Nachrichten gesendet"
-#: src/transport/gnunet-service-transport_neighbours.c:3340
+#: src/transport/gnunet-service-transport_neighbours.c:3230
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3355
+#: src/transport/gnunet-service-transport_neighbours.c:3245
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3383
+#: src/transport/gnunet-service-transport_neighbours.c:3273
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3389
+#: src/transport/gnunet-service-transport_neighbours.c:3279
#, fuzzy
msgid "# DISCONNECT messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:3398
+#: src/transport/gnunet-service-transport_neighbours.c:3288
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3434
+#: src/transport/gnunet-service-transport_neighbours.c:3324
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3532
+#: src/transport/gnunet-service-transport_neighbours.c:3423
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# gap Anfragen verworfen: Kollision in RT"
@@ -6833,447 +6940,452 @@ msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n"
msgid "Did not load plugin `%s' due to missing functions\n"
msgstr "Fehler beim Laden des Plugins `%s' bei %s:%d. Plugin wird entladen.\n"
-#: src/transport/gnunet-service-transport_validation.c:456
+#: src/transport/gnunet-service-transport_validation.c:452
msgid "# address records discarded"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:526
+#: src/transport/gnunet-service-transport_validation.c:522
#, c-format
msgid ""
"Not transmitting `%s' with `%s', message too big (%u bytes!). This should "
"not happen.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:584
+#: src/transport/gnunet-service-transport_validation.c:580
#, fuzzy
msgid "# PING without HELLO messages sent"
msgstr "# Klartext PING Nachrichten gesendet"
-#: src/transport/gnunet-service-transport_validation.c:685
+#: src/transport/gnunet-service-transport_validation.c:681
msgid "# address revalidations started"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:969
+#: src/transport/gnunet-service-transport_validation.c:963
#, fuzzy
msgid "# PING message for different peer received"
msgstr "# PING Nachrichten erstellt"
-#: src/transport/gnunet-service-transport_validation.c:1019
+#: src/transport/gnunet-service-transport_validation.c:1014
#, c-format
msgid "Plugin `%s' not available, cannot confirm having this address\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1029
+#: src/transport/gnunet-service-transport_validation.c:1024
msgid "# failed address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1032
+#: src/transport/gnunet-service-transport_validation.c:1027
#, c-format
msgid "Address `%s' is not one of my addresses, not confirming PING\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1040
+#: src/transport/gnunet-service-transport_validation.c:1035
msgid "# successful address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1052
+#: src/transport/gnunet-service-transport_validation.c:1047
#, c-format
msgid ""
"Not confirming PING from peer `%s' with address `%s' since I cannot confirm "
"having this address.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1060
+#: src/transport/gnunet-service-transport_validation.c:1055
#, c-format
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1114
+#: src/transport/gnunet-service-transport_validation.c:1109
#, fuzzy, c-format
msgid "Failed to create PONG signature for peer `%s'\n"
msgstr "Namespace `%s' konnte nicht erstellt werden (existiert bereits?).\n"
-#: src/transport/gnunet-service-transport_validation.c:1163
+#: src/transport/gnunet-service-transport_validation.c:1158
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1172
+#: src/transport/gnunet-service-transport_validation.c:1167
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1312
+#: src/transport/gnunet-service-transport_validation.c:1308
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1327
+#: src/transport/gnunet-service-transport_validation.c:1323
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1448
+#: src/transport/gnunet-service-transport_validation.c:1442
+#, fuzzy, c-format
+msgid "Validation received new %s message for peer `%s' with size %u\n"
+msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
+
+#: src/transport/gnunet-service-transport_validation.c:1449
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Adresse des Knotens `%s' konnte nicht ermittelt werden.\n"
-#: src/transport/gnunet-transport.c:258
+#: src/transport/gnunet-transport.c:285
#, fuzzy, c-format
msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:293
#, fuzzy, c-format
msgid "Received %llu bytes/s (%llu bytes in %s)\n"
msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
-#: src/transport/gnunet-transport.c:296
+#: src/transport/gnunet-transport.c:331
#, fuzzy, c-format
msgid "Failed to connect to `%s'\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/transport/gnunet-transport.c:309
+#: src/transport/gnunet-transport.c:344
#, fuzzy, c-format
msgid "Failed to resolve address for peer `%s'\n"
msgstr "Fehler beim Binden an UDP Port %d.\n"
-#: src/transport/gnunet-transport.c:318
+#: src/transport/gnunet-transport.c:354
#, fuzzy
msgid "Failed to list connections, timeout occured\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden."
-#: src/transport/gnunet-transport.c:423
+#: src/transport/gnunet-transport.c:453
msgid "No transport plugins configured, peer will never communicate\n"
msgstr ""
-#: src/transport/gnunet-transport.c:436
+#: src/transport/gnunet-transport.c:467
#, c-format
msgid "No port configured for plugin `%s', cannot test it\n"
msgstr ""
-#: src/transport/gnunet-transport.c:506
+#: src/transport/gnunet-transport.c:530
#, fuzzy, c-format
msgid "Transmitting %u bytes to %s\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/transport/gnunet-transport.c:529
+#: src/transport/gnunet-transport.c:551
#, fuzzy, c-format
msgid "Successfully connected to `%s'\n"
msgstr "Zugriff verweigert für `%s' bei %s:%d.\n"
-#: src/transport/gnunet-transport.c:552
+#: src/transport/gnunet-transport.c:575
#, c-format
msgid ""
"Successfully connected to `%s', starting to send benchmark data in %u Kb "
"blocks\n"
msgstr ""
-#: src/transport/gnunet-transport.c:587
+#: src/transport/gnunet-transport.c:608
#, fuzzy, c-format
msgid "Disconnected from peer `%s' while benchmarking\n"
msgstr "`%s' hat sich mit `%s' verbunden.\n"
-#: src/transport/gnunet-transport.c:660
+#: src/transport/gnunet-transport.c:670
#, fuzzy, c-format
msgid "Received %u bytes from %s\n"
msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
-#: src/transport/gnunet-transport.c:685
-#, fuzzy, c-format
-msgid "Peer `%s': %s %s\n"
-msgstr "Ich bin Peer `%s'.\n"
-
-#: src/transport/gnunet-transport.c:704
+#: src/transport/gnunet-transport.c:693
#, c-format
-msgid "Peer `%s': %s <unable to resolve address>\n"
+msgid "Peer `%s': %s %s in state `%s' until %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:772
+#: src/transport/gnunet-transport.c:703
#, fuzzy, c-format
-msgid "Peer `%s' disconnected\n"
-msgstr "# verbundener Knoten"
+msgid "Peer `%s': %s %s\n"
+msgstr "Ich bin Peer `%s'.\n"
-#: src/transport/gnunet-transport.c:802
+#: src/transport/gnunet-transport.c:916
#, fuzzy
msgid "Failed to send connect request to transport service\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/transport/gnunet-transport.c:848
+#: src/transport/gnunet-transport.c:959
#, c-format
msgid ""
"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
"%s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:855
+#: src/transport/gnunet-transport.c:967
#, c-format
msgid ""
"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:878 src/transport/gnunet-transport.c:910
-#: src/transport/gnunet-transport.c:932 src/transport/gnunet-transport.c:969
+#: src/transport/gnunet-transport.c:986 src/transport/gnunet-transport.c:1016
+#: src/transport/gnunet-transport.c:1039 src/transport/gnunet-transport.c:1070
#, fuzzy
msgid "Failed to connect to transport service\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/transport/gnunet-transport.c:887 src/transport/gnunet-transport.c:917
+#: src/transport/gnunet-transport.c:995 src/transport/gnunet-transport.c:1025
#, fuzzy
msgid "Failed to send request to transport service\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/transport/gnunet-transport.c:937
+#: src/transport/gnunet-transport.c:1044
msgid "Starting to receive benchmark data\n"
msgstr ""
-#: src/transport/gnunet-transport.c:1019
+#: src/transport/gnunet-transport.c:1116
+#, fuzzy
+msgid "print information for all peers (instead of only connected peers )"
+msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#: src/transport/gnunet-transport.c:1119
msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1022
+#: src/transport/gnunet-transport.c:1121
#, fuzzy
msgid "connect to a peer"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/transport/gnunet-transport.c:1025
+#: src/transport/gnunet-transport.c:1124
#, fuzzy
msgid "provide information about all current connections (once)"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
-#: src/transport/gnunet-transport.c:1031
+#: src/transport/gnunet-transport.c:1130
#, fuzzy
msgid ""
"provide information about all connects and disconnect events (continuously)"
msgstr "Informationen über andere GNUnet Knoten ausgeben."
-#: src/transport/gnunet-transport.c:1034
+#: src/transport/gnunet-transport.c:1132
#, fuzzy
msgid "do not resolve hostnames"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/transport/gnunet-transport.c:1037
+#: src/transport/gnunet-transport.c:1134
msgid "peer identity"
msgstr ""
-#: src/transport/gnunet-transport.c:1041
+#: src/transport/gnunet-transport.c:1136
msgid "send data for benchmarking to the other peer (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1044
+#: src/transport/gnunet-transport.c:1139
msgid "test transport configuration (involves external server)"
msgstr ""
-#: src/transport/gnunet-transport.c:1055
+#: src/transport/gnunet-transport.c:1148
#, fuzzy
msgid "Direct access to transport service."
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/transport/plugin_transport_bluetooth.c:616
+#: src/transport/plugin_transport_bluetooth.c:618
msgid "# Bluetooth ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:635
+#: src/transport/plugin_transport_bluetooth.c:637
#, fuzzy
msgid "# Bluetooth messages defragmented"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/plugin_transport_bluetooth.c:681
-#: src/transport/plugin_transport_bluetooth.c:731
-#: src/transport/plugin_transport_bluetooth.c:1881
+#: src/transport/plugin_transport_bluetooth.c:683
+#: src/transport/plugin_transport_bluetooth.c:733
+#: src/transport/plugin_transport_bluetooth.c:1888
#, fuzzy
msgid "# Bluetooth sessions allocated"
msgstr "# Sitzungsschlüssel akzeptiert"
-#: src/transport/plugin_transport_bluetooth.c:806
+#: src/transport/plugin_transport_bluetooth.c:808
#, fuzzy
msgid "# Bluetooth message fragments sent"
msgstr "# fragmentierter Nachrichten"
-#: src/transport/plugin_transport_bluetooth.c:830
+#: src/transport/plugin_transport_bluetooth.c:832
msgid "# Bluetooth messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:938
-#: src/transport/plugin_transport_bluetooth.c:1023
-#: src/transport/plugin_transport_bluetooth.c:1883
+#: src/transport/plugin_transport_bluetooth.c:940
+#: src/transport/plugin_transport_bluetooth.c:1026
+#: src/transport/plugin_transport_bluetooth.c:1890
#, fuzzy
msgid "# Bluetooth MAC endpoints allocated"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/transport/plugin_transport_bluetooth.c:1250
+#: src/transport/plugin_transport_bluetooth.c:1254
#, fuzzy
msgid "# HELLO messages received via Bluetooth"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_bluetooth.c:1276
+#: src/transport/plugin_transport_bluetooth.c:1277
#, fuzzy
msgid "# fragments received via Bluetooth"
msgstr "# verworfener Nachrichten"
-#: src/transport/plugin_transport_bluetooth.c:1286
+#: src/transport/plugin_transport_bluetooth.c:1287
#, fuzzy
msgid "# ACKs received via Bluetooth"
msgstr "# Bytes empfangen über TCP"
-#: src/transport/plugin_transport_bluetooth.c:1343
+#: src/transport/plugin_transport_bluetooth.c:1347
#, fuzzy
msgid "# Bluetooth DATA messages discarded due to CRC32 error"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/plugin_transport_bluetooth.c:1455
+#: src/transport/plugin_transport_bluetooth.c:1458
#, fuzzy
msgid "# DATA messages received via Bluetooth"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_bluetooth.c:1490
+#: src/transport/plugin_transport_bluetooth.c:1493
#, fuzzy
msgid "# Bluetooth DATA messages processed"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_bluetooth.c:1553
+#: src/transport/plugin_transport_bluetooth.c:1556
#, fuzzy
msgid "# HELLO beacons sent via Bluetooth"
msgstr "# Bytes gesendet über UDP"
-#: src/transport/plugin_transport_bluetooth.c:1666
+#: src/transport/plugin_transport_bluetooth.c:1669
msgid "Bluetooth address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1862
+#: src/transport/plugin_transport_bluetooth.c:1869
#, c-format
msgid "Helper binary `%s' not SUID, cannot run bluetooth transport\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1618
+#: src/transport/plugin_transport_http_client.c:1621
#, c-format
msgid "Could not initialize curl multi handle, failed to start %s plugin!\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1693
-#: src/transport/plugin_transport_http_server.c:3001
+#: src/transport/plugin_transport_http_client.c:1696
+#: src/transport/plugin_transport_http_server.c:3006
#, fuzzy, c-format
msgid "Shutting down plugin `%s'\n"
msgstr "Teste Transport(e) %s\n"
-#: src/transport/plugin_transport_http_client.c:1718
-#: src/transport/plugin_transport_http_server.c:3059
+#: src/transport/plugin_transport_http_client.c:1721
+#: src/transport/plugin_transport_http_server.c:3062
#, fuzzy, c-format
msgid "Shutdown for plugin `%s' complete\n"
msgstr ""
"Upload von `%s' komplett, derzeitige durchschnittliche Geschwindigkeit "
"beträgt %8.3f KB/s.\n"
-#: src/transport/plugin_transport_http_client.c:1746
-#: src/transport/plugin_transport_http_server.c:2901
+#: src/transport/plugin_transport_http_client.c:1749
+#: src/transport/plugin_transport_http_server.c:2906
#, fuzzy, c-format
msgid "Maximum number of connections is %u\n"
msgstr "Maximale Anzahl an Chat Clients erreicht.\n"
-#: src/transport/plugin_transport_http_server.c:1416
+#: src/transport/plugin_transport_http_server.c:1402
#, c-format
msgid ""
"Access from connection %p (%u of %u) for `%s' `%s' url `%s' with upload data "
"size %u\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1680
+#: src/transport/plugin_transport_http_server.c:1663
#, c-format
msgid "Accepting connection (%u of %u) from `%s'\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1688
+#: src/transport/plugin_transport_http_server.c:1671
#, c-format
msgid ""
"Server reached maximum number connections (%u), rejecting new connection\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1974
+#: src/transport/plugin_transport_http_server.c:1957
msgid ""
"Could not create a new TLS certificate, program `gnunet-transport-"
"certificate-creation' could not be started!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1998
+#: src/transport/plugin_transport_http_server.c:1981
#, c-format
msgid "No usable TLS certificate found and creating one at `%s/%s' failed!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2405
+#: src/transport/plugin_transport_http_server.c:2404
#, fuzzy
msgid "Require valid port number for service in configuration!\n"
msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n"
-#: src/transport/plugin_transport_http_server.c:2437 src/util/service.c:696
+#: src/transport/plugin_transport_http_server.c:2436 src/util/service.c:696
#, fuzzy, c-format
msgid "Failed to resolve `%s': %s\n"
msgstr "Datei wurde als `%s' gespeichert.\n"
-#: src/transport/plugin_transport_http_server.c:2454 src/util/service.c:713
+#: src/transport/plugin_transport_http_server.c:2453 src/util/service.c:713
#, fuzzy, c-format
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Fehler beim Binden an UDP Port %d.\n"
-#: src/transport/plugin_transport_http_server.c:2565
+#: src/transport/plugin_transport_http_server.c:2564
#, c-format
msgid "Found %u addresses to report to NAT service\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2637
+#: src/transport/plugin_transport_http_server.c:2636
msgid "Disabling IPv6 since it is not supported on this system!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2724
+#: src/transport/plugin_transport_http_server.c:2729
#, c-format
msgid "IPv4 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2738
+#: src/transport/plugin_transport_http_server.c:2743
#, c-format
msgid "IPv6 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2745
+#: src/transport/plugin_transport_http_server.c:2750
#, fuzzy
msgid "Neither IPv4 nor IPv6 are enabled! Fix in configuration\n"
msgstr "Netzwerkbekanntmachungen wurden per Konfiguration deaktiviert!\n"
-#: src/transport/plugin_transport_http_server.c:2756
+#: src/transport/plugin_transport_http_server.c:2761
#, fuzzy
msgid "Port is required! Fix in configuration\n"
msgstr " gconfig\tGTK Konfiguration\n"
-#: src/transport/plugin_transport_http_server.c:2763
+#: src/transport/plugin_transport_http_server.c:2768
#, fuzzy, c-format
msgid "Using port %u\n"
msgstr "Teste Transport(e) %s\n"
-#: src/transport/plugin_transport_http_server.c:2778
+#: src/transport/plugin_transport_http_server.c:2783
#, fuzzy, c-format
msgid "Specific IPv4 address `%s' in configuration file is invalid!\n"
msgstr ""
"Sie müssen für `%s' in der Sektion `%s' der Konfigurationsdatei eine "
"positive Zahl angeben.\n"
-#: src/transport/plugin_transport_http_server.c:2788
+#: src/transport/plugin_transport_http_server.c:2793
#, fuzzy, c-format
msgid "Binding to IPv4 address %s\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/transport/plugin_transport_http_server.c:2809
+#: src/transport/plugin_transport_http_server.c:2814
#, fuzzy, c-format
msgid "Specific IPv6 address `%s' in configuration file is invalid!\n"
msgstr ""
"Sie müssen für `%s' in der Sektion `%s' der Konfigurationsdatei eine "
"positive Zahl angeben.\n"
-#: src/transport/plugin_transport_http_server.c:2819
+#: src/transport/plugin_transport_http_server.c:2824
#, fuzzy, c-format
msgid "Binding to IPv6 address %s\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/transport/plugin_transport_http_server.c:2871
+#: src/transport/plugin_transport_http_server.c:2876
#, fuzzy, c-format
msgid "Using external hostname `%s'\n"
msgstr "Collection `%s' begonnen.\n"
-#: src/transport/plugin_transport_http_server.c:2887
+#: src/transport/plugin_transport_http_server.c:2892
#, fuzzy, c-format
msgid "Notifying transport only about hostname `%s'\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
@@ -7328,233 +7440,232 @@ msgstr "# Bytes gesendet über TCP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:576
+#: src/transport/plugin_transport_tcp.c:559
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:799
-#: src/transport/plugin_transport_tcp.c:980
-#: src/transport/plugin_transport_tcp.c:2120
-#: src/transport/plugin_transport_tcp.c:2723
+#: src/transport/plugin_transport_tcp.c:766
+#: src/transport/plugin_transport_tcp.c:930
+#: src/transport/plugin_transport_tcp.c:1973
+#: src/transport/plugin_transport_tcp.c:2527
#, fuzzy
msgid "# TCP sessions active"
msgstr "# Sitzungsschlüssel akzeptiert"
-#: src/transport/plugin_transport_tcp.c:836
-#: src/transport/plugin_transport_tcp.c:973
-#: src/transport/plugin_transport_tcp.c:1062
-#: src/transport/plugin_transport_tcp.c:1112
-#: src/transport/plugin_transport_tcp.c:1291
-#: src/transport/plugin_transport_tcp.c:1310
+#: src/transport/plugin_transport_tcp.c:797
+#: src/transport/plugin_transport_tcp.c:923
+#: src/transport/plugin_transport_tcp.c:1009
+#: src/transport/plugin_transport_tcp.c:1056
+#: src/transport/plugin_transport_tcp.c:1219
+#: src/transport/plugin_transport_tcp.c:1237
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# Bytes gesendet über TCP"
-#: src/transport/plugin_transport_tcp.c:840
+#: src/transport/plugin_transport_tcp.c:800
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:1066
+#: src/transport/plugin_transport_tcp.c:1012
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:1115
+#: src/transport/plugin_transport_tcp.c:1059
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# Bytes des Typs %d übertragen"
-#: src/transport/plugin_transport_tcp.c:1264
+#: src/transport/plugin_transport_tcp.c:1193
#, c-format
msgid "Trying to send with invalid session %p\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1521
-#: src/transport/plugin_transport_udp.c:1488
+#: src/transport/plugin_transport_tcp.c:1427
msgid "# requests to create session with invalid address"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1645
+#: src/transport/plugin_transport_tcp.c:1532
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2170
+#: src/transport/plugin_transport_tcp.c:2021
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_tcp.c:2355
+#: src/transport/plugin_transport_tcp.c:2189
msgid "# bytes received via TCP"
msgstr "# Bytes empfangen über TCP"
-#: src/transport/plugin_transport_tcp.c:2433
+#: src/transport/plugin_transport_tcp.c:2253
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2602 src/util/service.c:589
+#: src/transport/plugin_transport_tcp.c:2407 src/util/service.c:589
#: src/util/service.c:595
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2616
+#: src/transport/plugin_transport_tcp.c:2421
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Fehler beim Starten der Collection.\n"
-#: src/transport/plugin_transport_tcp.c:2712
+#: src/transport/plugin_transport_tcp.c:2516
#, fuzzy, c-format
msgid "TCP transport listening on port %llu\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/transport/plugin_transport_tcp.c:2715
+#: src/transport/plugin_transport_tcp.c:2520
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2718
+#: src/transport/plugin_transport_tcp.c:2523
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:173
+#: src/transport/plugin_transport_udp_broadcasting.c:167
#, fuzzy
msgid "# IPv6 multicast HELLO beacons received via udp"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_udp_broadcasting.c:222
+#: src/transport/plugin_transport_udp_broadcasting.c:210
#, fuzzy
msgid "# IPv4 broadcast HELLO beacons received via udp"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_udp_broadcasting.c:606
+#: src/transport/plugin_transport_udp_broadcasting.c:594
msgid ""
"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:629
+#: src/transport/plugin_transport_udp_broadcasting.c:617
#, c-format
msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:1599
+#: src/transport/plugin_transport_udp.c:1406
#, c-format
msgid ""
"Trying to create session for address of unexpected length %u (should be %u "
"or %u)\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2680
+#: src/transport/plugin_transport_udp.c:2474
#, c-format
msgid ""
"UDP could not transmit message to `%s': Network seems down, please check "
"your network configuration\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2694
+#: src/transport/plugin_transport_udp.c:2488
msgid ""
"UDP could not transmit IPv6 message! Please check your network configuration "
"and disable IPv6 if your connection does not have a global IPv6 address\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2993
+#: src/transport/plugin_transport_udp.c:2817
#, fuzzy
msgid "Failed to open UDP sockets\n"
msgstr "Fehler beim Binden an UDP6 Port %d.\n"
-#: src/transport/plugin_transport_udp.c:3091
+#: src/transport/plugin_transport_udp.c:2912
#, c-format
msgid "Given `%s' option is out of range: %llu > %u\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:3134
+#: src/transport/plugin_transport_udp.c:2951
#, fuzzy, c-format
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/transport/plugin_transport_udp.c:3200
+#: src/transport/plugin_transport_udp.c:3021
#, fuzzy
msgid "Failed to create network sockets, plugin failed\n"
msgstr "Namespace `%s' konnte nicht erstellt werden (existiert bereits?).\n"
-#: src/transport/plugin_transport_unix.c:1657
+#: src/transport/plugin_transport_unix.c:1624
#, fuzzy
msgid "Failed to open UNIX listen socket\n"
msgstr "Datei wurde als `%s' gespeichert.\n"
-#: src/transport/plugin_transport_wlan.c:623
+#: src/transport/plugin_transport_wlan.c:625
msgid "# WLAN ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:642
+#: src/transport/plugin_transport_wlan.c:644
#, fuzzy
msgid "# WLAN messages defragmented"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/plugin_transport_wlan.c:691
-#: src/transport/plugin_transport_wlan.c:778
-#: src/transport/plugin_transport_wlan.c:1937
+#: src/transport/plugin_transport_wlan.c:693
+#: src/transport/plugin_transport_wlan.c:780
+#: src/transport/plugin_transport_wlan.c:1952
#, fuzzy
msgid "# WLAN sessions allocated"
msgstr "# Sitzungsschlüssel akzeptiert"
-#: src/transport/plugin_transport_wlan.c:883
+#: src/transport/plugin_transport_wlan.c:886
#, fuzzy
msgid "# WLAN message fragments sent"
msgstr "# fragmentierter Nachrichten"
-#: src/transport/plugin_transport_wlan.c:907
+#: src/transport/plugin_transport_wlan.c:910
msgid "# WLAN messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1015
-#: src/transport/plugin_transport_wlan.c:1101
-#: src/transport/plugin_transport_wlan.c:1939
+#: src/transport/plugin_transport_wlan.c:1018
+#: src/transport/plugin_transport_wlan.c:1105
+#: src/transport/plugin_transport_wlan.c:1954
#, fuzzy
msgid "# WLAN MAC endpoints allocated"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/transport/plugin_transport_wlan.c:1297
+#: src/transport/plugin_transport_wlan.c:1301
#, fuzzy
msgid "# HELLO messages received via WLAN"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_wlan.c:1323
+#: src/transport/plugin_transport_wlan.c:1325
#, fuzzy
msgid "# fragments received via WLAN"
msgstr "# verworfener Nachrichten"
-#: src/transport/plugin_transport_wlan.c:1333
+#: src/transport/plugin_transport_wlan.c:1335
#, fuzzy
msgid "# ACKs received via WLAN"
msgstr "# Bytes empfangen über TCP"
-#: src/transport/plugin_transport_wlan.c:1390
+#: src/transport/plugin_transport_wlan.c:1395
#, fuzzy
msgid "# WLAN DATA messages discarded due to CRC32 error"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/plugin_transport_wlan.c:1511
+#: src/transport/plugin_transport_wlan.c:1517
#, fuzzy
msgid "# DATA messages received via WLAN"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_wlan.c:1546
+#: src/transport/plugin_transport_wlan.c:1552
#, fuzzy
msgid "# WLAN DATA messages processed"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_wlan.c:1609
+#: src/transport/plugin_transport_wlan.c:1620
#, fuzzy
msgid "# HELLO beacons sent via WLAN"
msgstr "# Bytes gesendet über UDP"
-#: src/transport/plugin_transport_wlan.c:1722
+#: src/transport/plugin_transport_wlan.c:1733
msgid "WLAN address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1918
+#: src/transport/plugin_transport_wlan.c:1933
#, c-format
msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
msgstr ""
@@ -8023,6 +8134,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
+#: src/util/gnunet-scrypt.c:279
+msgid "number of bits to require for the proof of work"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:282
+msgid "file with private key, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:285
+msgid "file with proof of work, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:288
+msgid "time to wait between calculations"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:299
+#, fuzzy
+msgid "Manipulate GNUnet proof of work files"
+msgstr ""
+"Einen Wert aus der Konfigurationsdatei auf der Standardausgabe ausgeben"
+
#: src/util/gnunet-service-resolver.c:283
#, fuzzy, c-format
msgid "Could not resolve `%s' (%s): %s\n"
@@ -8297,114 +8430,114 @@ msgstr "Aufruf von `%s' gibt %d zurück.\n"
msgid "b"
msgstr "b"
-#: src/util/strings.c:444
+#: src/util/strings.c:433
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:572
+#: src/util/strings.c:561
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:669
+#: src/util/strings.c:658
msgid "µs"
msgstr ""
-#: src/util/strings.c:673
+#: src/util/strings.c:662
msgid "forever"
msgstr ""
-#: src/util/strings.c:675
+#: src/util/strings.c:664
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:681
+#: src/util/strings.c:670
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:687
+#: src/util/strings.c:676
msgid "s"
msgstr "s"
-#: src/util/strings.c:693
+#: src/util/strings.c:682
msgid "m"
msgstr "m"
-#: src/util/strings.c:699
+#: src/util/strings.c:688
msgid "h"
msgstr "h"
-#: src/util/strings.c:706
+#: src/util/strings.c:695
#, fuzzy
msgid "day"
msgstr " Tage"
-#: src/util/strings.c:708
+#: src/util/strings.c:697
#, fuzzy
msgid "days"
msgstr " Tage"
-#: src/util/strings.c:737
+#: src/util/strings.c:726
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1170
+#: src/util/strings.c:1159
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1178
+#: src/util/strings.c:1167
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1184
+#: src/util/strings.c:1173
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1191
+#: src/util/strings.c:1180
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1200
+#: src/util/strings.c:1189
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/util/strings.c:1406 src/util/strings.c:1422
+#: src/util/strings.c:1395 src/util/strings.c:1411
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1431
+#: src/util/strings.c:1420
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/util/strings.c:1514 src/util/strings.c:1545 src/util/strings.c:1593
-#: src/util/strings.c:1614
+#: src/util/strings.c:1503 src/util/strings.c:1534 src/util/strings.c:1582
+#: src/util/strings.c:1603
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Ungültiges Format für IP: `%s'\n"
-#: src/util/strings.c:1571
+#: src/util/strings.c:1560
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ungültige Netzwerk Notation ('/%d ist nicht gültig in IPv4 CIDR)."
-#: src/util/strings.c:1623
+#: src/util/strings.c:1612
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/util/strings.c:1675
+#: src/util/strings.c:1664
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ungültige Netzwerk Notation (endet nicht mit ';': `%s')\n"
-#: src/util/strings.c:1725
+#: src/util/strings.c:1714
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Falsches Format `%s' für Netzmaske: %s\n"
-#: src/util/strings.c:1756
+#: src/util/strings.c:1745
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Falsches Format `%s' für Netzwerk: %s\n"
@@ -8610,6 +8743,26 @@ msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr "`%s' schlug bei Datei `%s' fehl. Ort: %s:%d. Fehler: %s\n"
#, fuzzy
+#~ msgid "provide information about a particular channel"
+#~ msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#, fuzzy
+#~ msgid "provide information about a particular connection"
+#~ msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#, fuzzy
+#~ msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
+#~ msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#, fuzzy
+#~ msgid "Could not find option `%s:%s' in configuration.\n"
+#~ msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
+
+#, fuzzy
+#~ msgid "Peer `%s' disconnected\n"
+#~ msgstr "# verbundener Knoten"
+
+#, fuzzy
#~ msgid "Transport plugin: `%s' port %llu\n"
#~ msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
@@ -9207,10 +9360,6 @@ msgstr "`%s' schlug bei Datei `%s' fehl. Ort: %s:%d. Fehler: %s\n"
#~ "in der Konfigurationsdatei an.\n"
#, fuzzy
-#~ msgid "Failed to start `gnunet-peerinfo' process.\n"
-#~ msgstr "Fehler beim Starten der Collection.\n"
-
-#, fuzzy
#~ msgid "Failed to start `ssh' process.\n"
#~ msgstr "Fehler beim Starten der Collection.\n"
@@ -12537,9 +12686,6 @@ msgstr "`%s' schlug bei Datei `%s' fehl. Ort: %s:%d. Fehler: %s\n"
#~ "%s\n"
#~ "\n"
-#~ msgid "Invalid argument for `%s' at %s:%d.\n"
-#~ msgstr "Ungültiger Parameter für `%s' bei %s:%d.\n"
-
#~ msgid "g"
#~ msgstr "g"
diff --git a/po/es.po b/po/es.po
index 2189708990..00e663005e 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.9.5a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2014-01-05 13:20+0100\n"
+"POT-Creation-Date: 2014-01-14 18:39+0100\n"
"PO-Revision-Date: 2013-02-23 17:50+0100\n"
"Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -382,8 +382,8 @@ msgstr "Recibido mensaje %s\n"
msgid "Received last message for %s \n"
msgstr "Recibido último mensaje para %s\n"
-#: src/ats/gnunet-service-ats_addresses.c:1948
-#: src/ats/gnunet-service-ats_addresses.c:1992
+#: src/ats/gnunet-service-ats_addresses.c:1974
+#: src/ats/gnunet-service-ats_addresses.c:2018
#, c-format
msgid ""
"Could not load quota for network `%s': `%s', assigning default bandwidth "
@@ -393,12 +393,12 @@ msgstr ""
"de banda predeterminado %llu\n"
# Miguel: "Outbound" lo he traducido como salida en todo el texto.
-#: src/ats/gnunet-service-ats_addresses.c:1955
+#: src/ats/gnunet-service-ats_addresses.c:1981
#, c-format
msgid "Outbound quota configure for network `%s' is %llu\n"
msgstr "La cuota de salida configurada para la red «%s» es %llu\n"
-#: src/ats/gnunet-service-ats_addresses.c:1963
+#: src/ats/gnunet-service-ats_addresses.c:1989
#, c-format
msgid ""
"No outbound quota configured for network `%s', assigning default bandwidth "
@@ -408,12 +408,12 @@ msgstr ""
"de banda predeterminado %llu\n"
# Miguel: "Inbound" lo he traducido como entrada en todo el texto.
-#: src/ats/gnunet-service-ats_addresses.c:1999
+#: src/ats/gnunet-service-ats_addresses.c:2025
#, c-format
msgid "Inbound quota configured for network `%s' is %llu\n"
msgstr "La cuota de entrada configurada para la red «%s» es %llu\n"
-#: src/ats/gnunet-service-ats_addresses.c:2007
+#: src/ats/gnunet-service-ats_addresses.c:2033
#, c-format
msgid ""
"No outbound quota configure for network `%s', assigning default bandwidth "
@@ -422,17 +422,17 @@ msgstr ""
"No hay configurada una cuota de salida para la red «%s», asignando el ancho "
"de banda predeterminado %llu\n"
-#: src/ats/gnunet-service-ats_addresses.c:2184
+#: src/ats/gnunet-service-ats_addresses.c:2211
#, c-format
msgid "Initializing solver `%s '`%s'\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2187
+#: src/ats/gnunet-service-ats_addresses.c:2214
#, fuzzy, c-format
msgid "Failed to initialize solver `%s'!\n"
msgstr "¡No se puede inicializar el resolvedor!\n"
-#: src/ats/gnunet-service-ats_addresses.c:2210
+#: src/ats/gnunet-service-ats_addresses.c:2237
#, fuzzy
msgid "Failed to initialize solver!\n"
msgstr "¡No se puede inicializar el resolvedor!\n"
@@ -525,12 +525,12 @@ msgid "Quota for network `%11s' (in/out): %10s / %10s\n"
msgstr "Cuota para la red «%11s» (entrada/salida): %10s / %10s\n"
#: src/ats-tool/gnunet-ats.c:352 src/namestore/gnunet-namestore.c:550
-#: src/transport/gnunet-transport.c:829
+#: src/transport/gnunet-transport.c:940
#, c-format
msgid "Service `%s' is not running\n"
msgstr "El servicio «%s» no está ejecutandose\n"
-#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:838
+#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:949
#, c-format
msgid "Failed to parse peer identity `%s'\n"
msgstr "Se produjo un fallo al procesar la identidad del par «%s»\n"
@@ -619,6 +619,7 @@ msgid "Print information about ATS state"
msgstr "Imprime información acerca del estado del ATS"
#: src/consensus/gnunet-consensus-profiler.c:420
+#: src/secretsharing/gnunet-secretsharing-profiler.c:300
msgid "number of peers in consensus"
msgstr "número de pares en consenso"
@@ -639,6 +640,7 @@ msgid "consensus timeout"
msgstr "plazo de consenso"
#: src/consensus/gnunet-consensus-profiler.c:432
+#: src/secretsharing/gnunet-secretsharing-profiler.c:309
msgid "be more verbose (print received values)"
msgstr ""
@@ -649,256 +651,261 @@ msgid "Connection to conversation service lost, trying to reconnect\n"
msgstr ""
"El cliente se desconectó del servicio principal, tratando de reconectar.\n"
-#: src/conversation/gnunet-conversation.c:252
+#: src/conversation/gnunet-conversation.c:264
#, c-format
msgid "Incoming call from `%s'. Please /accept #%u or /cancel %u the call.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:274
+#: src/conversation/gnunet-conversation.c:286
#, c-format
msgid "Call from `%s' terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:307
+#: src/conversation/gnunet-conversation.c:319
#, c-format
msgid "Call from `%s' suspended by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:312
+#: src/conversation/gnunet-conversation.c:324
#, c-format
msgid "Call from `%s' resumed by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:330
+#: src/conversation/gnunet-conversation.c:342
#, c-format
msgid "Ego `%s' no longer available, phone is now down.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:344
+#: src/conversation/gnunet-conversation.c:356
#, fuzzy
msgid "Failed to setup phone (internal error)\n"
msgstr "¡Se produjo un fallo al configurar el túnel mesh!\n"
-#: src/conversation/gnunet-conversation.c:356
+#: src/conversation/gnunet-conversation.c:368
#, c-format
msgid ""
"Phone active on line %u. Type `/help' for a list of available commands\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:378
+#: src/conversation/gnunet-conversation.c:390
#, c-format
msgid "Resolved address of `%s'. Now ringing other party.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:385
+#: src/conversation/gnunet-conversation.c:397
#, fuzzy, c-format
msgid "Connection established to `%s'\n"
msgstr "'%s' falló en %s: %d con error: '%s'.\n"
-#: src/conversation/gnunet-conversation.c:392
+#: src/conversation/gnunet-conversation.c:404
#, fuzzy, c-format
msgid "Failed to resolve `%s'\n"
msgstr "Se produjo un fallo al resolver «%s»: %s\n"
-#: src/conversation/gnunet-conversation.c:399
+#: src/conversation/gnunet-conversation.c:411
msgid "Call terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:405
+#: src/conversation/gnunet-conversation.c:417
#, c-format
msgid "Connection to `%s' suspended (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:411
+#: src/conversation/gnunet-conversation.c:423
#, c-format
msgid "Connection to `%s' resumed (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:416
+#: src/conversation/gnunet-conversation.c:428
msgid "Error with the call, restarting it\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:483
+#: src/conversation/gnunet-conversation.c:495
#, c-format
msgid "Unknown command `%s'\n"
msgstr "Comando desconocido «%s»\n"
-#: src/conversation/gnunet-conversation.c:499
-#: src/conversation/gnunet-conversation.c:513
+#: src/conversation/gnunet-conversation.c:511
+#: src/conversation/gnunet-conversation.c:525
#, c-format
msgid "Ego `%s' not available\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:506
-#: src/conversation/gnunet-conversation.c:563
+#: src/conversation/gnunet-conversation.c:518
+#: src/conversation/gnunet-conversation.c:575
msgid "You are calling someone else already, hang up first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:521
-#: src/conversation/gnunet-conversation.c:576
+#: src/conversation/gnunet-conversation.c:533
+#: src/conversation/gnunet-conversation.c:588
#, c-format
msgid "You are answering call from `%s', hang up or suspend that call first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:532
+#: src/conversation/gnunet-conversation.c:544
msgid "Call recipient missing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:587
+#: src/conversation/gnunet-conversation.c:599
msgid "There is no incoming call to accept here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:604
+#: src/conversation/gnunet-conversation.c:616
#, c-format
msgid "There is no incoming call `%s' to accept right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:632
+#: src/conversation/gnunet-conversation.c:644
msgid "We currently do not have an address.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:655
+#: src/conversation/gnunet-conversation.c:667
#, c-format
msgid "We are currently trying to locate the private key for the ego `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:660
+#: src/conversation/gnunet-conversation.c:672
#, c-format
msgid "We are listening for incoming calls for ego `%s' on line %u.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:666
-#: src/conversation/gnunet-conversation.c:690
+#: src/conversation/gnunet-conversation.c:678
+#: src/conversation/gnunet-conversation.c:702
#, c-format
msgid "You are having a conversation with `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:671
+#: src/conversation/gnunet-conversation.c:683
msgid ""
"We had an internal error setting up our phone line. You can still make "
"calls.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:680
+#: src/conversation/gnunet-conversation.c:692
#, fuzzy, c-format
msgid "We are trying to find the network address to call `%s'.\n"
msgstr "Detectada dirección de la red interna «%s».\n"
-#: src/conversation/gnunet-conversation.c:685
+#: src/conversation/gnunet-conversation.c:697
#, c-format
msgid "We are calling `%s', his phone should be ringing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:704
+#: src/conversation/gnunet-conversation.c:716
msgid "Calls waiting:\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:710
+#: src/conversation/gnunet-conversation.c:722
#, fuzzy, c-format
msgid "#%u: `%s'\n"
msgstr "Par «%s»\n"
-#: src/conversation/gnunet-conversation.c:738
-#: src/conversation/gnunet-conversation.c:753
+#: src/conversation/gnunet-conversation.c:750
+#: src/conversation/gnunet-conversation.c:765
msgid "There is no call that could be suspended right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:786
-#: src/conversation/gnunet-conversation.c:802
+#: src/conversation/gnunet-conversation.c:798
+#: src/conversation/gnunet-conversation.c:814
msgid "There is no call that could be resumed right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:809
+#: src/conversation/gnunet-conversation.c:821
#, c-format
msgid "Already talking with `%s', cannot resume a call right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:818
+#: src/conversation/gnunet-conversation.c:830
msgid "There is no incoming call to resume here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:835
+#: src/conversation/gnunet-conversation.c:847
#, c-format
msgid "There is no incoming call `%s' to resume right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:870
+#: src/conversation/gnunet-conversation.c:882
msgid "There is no call that could be cancelled right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:878
+#: src/conversation/gnunet-conversation.c:890
msgid "There is no incoming call to refuse here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:895
+#: src/conversation/gnunet-conversation.c:907
#, c-format
msgid "There is no incoming call `%s' to refuse right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:922
+#: src/conversation/gnunet-conversation.c:934
msgid "Use `/address' to find out which address this phone should have in GNS"
msgstr ""
-#: src/conversation/gnunet-conversation.c:924
+#: src/conversation/gnunet-conversation.c:936
msgid "Use `/call USER.gnu' to call USER"
msgstr ""
-#: src/conversation/gnunet-conversation.c:926
+#: src/conversation/gnunet-conversation.c:938
msgid "Use `/accept #NUM' to accept incoming call #NUM"
msgstr ""
-#: src/conversation/gnunet-conversation.c:928
+#: src/conversation/gnunet-conversation.c:940
msgid "Use `/suspend' to suspend the active call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:930
+#: src/conversation/gnunet-conversation.c:942
msgid ""
"Use `/resume [#NUM]' to resume a call, #NUM is needed to resume incoming "
"calls, no argument is needed to resume the current outgoing call."
msgstr ""
-#: src/conversation/gnunet-conversation.c:932
+#: src/conversation/gnunet-conversation.c:944
msgid "Use `/cancel' to reject or terminate a call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:934
+#: src/conversation/gnunet-conversation.c:946
#, fuzzy
msgid "Use `/status' to print status information"
msgstr "ser prolijo (imprime información de progreso)"
-#: src/conversation/gnunet-conversation.c:936
+#: src/conversation/gnunet-conversation.c:948
#, fuzzy
msgid "Use `/quit' to terminate gnunet-conversation"
msgstr "Use «/quit» para finalizar «gnunet-chat»"
-#: src/conversation/gnunet-conversation.c:938
+#: src/conversation/gnunet-conversation.c:950
msgid "Use `/help command' to get help for a specific command"
msgstr "Use «/help comando» para obtener ayuda sobre un comando específico"
-#: src/conversation/gnunet-conversation.c:1093
+#: src/conversation/gnunet-conversation.c:1148
#, fuzzy, c-format
msgid "Name of our ego changed to `%s'\n"
msgstr "Se produjo un fallo al crear la página para «%s»\n"
-#: src/conversation/gnunet-conversation.c:1106
+#: src/conversation/gnunet-conversation.c:1161
#, fuzzy, c-format
msgid "Our ego `%s' was deleted!\n"
msgstr "El pseudónimo '%s' fue borrado.\n"
-#: src/conversation/gnunet-conversation.c:1141
+#: src/conversation/gnunet-conversation.c:1196
#, fuzzy
msgid "You must specify the NAME of an ego to use\n"
msgstr "Debes especificar un fichero a inspeccionar.\n"
-#: src/conversation/gnunet-conversation.c:1167
+#: src/conversation/gnunet-conversation.c:1220
+#, fuzzy
+msgid "Failed to start gnunet-helper-w32-console\n"
+msgstr "Se produjo un fallo al iniciar el proceso «gnunet-peerinfo».\n"
+
+#: src/conversation/gnunet-conversation.c:1246
msgid "sets the NAME of the ego to use for the phone (and name resolution)"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1170
+#: src/conversation/gnunet-conversation.c:1249
msgid "sets the LINE to use for the phone"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1185
+#: src/conversation/gnunet-conversation.c:1273
msgid "Enables having a conversation with other GNUnet users."
msgstr ""
@@ -940,13 +947,13 @@ msgid "gnunet-helper-audio-playback - Got signal, exiting\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:211
-#: src/conversation/gnunet-helper-audio-record.c:362
+#: src/conversation/gnunet-helper-audio-record.c:365
#, fuzzy
msgid "Connection established.\n"
msgstr "Colección detenida.\n"
#: src/conversation/gnunet-helper-audio-playback.c:216
-#: src/conversation/gnunet-helper-audio-record.c:367
+#: src/conversation/gnunet-helper-audio-record.c:370
#, fuzzy, c-format
msgid "pa_stream_new() failed: %s\n"
msgstr "stadísticas (%s) falló: %s\n"
@@ -957,37 +964,37 @@ msgid "pa_stream_connect_playback() failed: %s\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:243
-#: src/conversation/gnunet-helper-audio-record.c:393
+#: src/conversation/gnunet-helper-audio-record.c:396
#, fuzzy, c-format
msgid "Connection failure: %s\n"
msgstr "'%s' falló en %s: %d con error: '%s'.\n"
#: src/conversation/gnunet-helper-audio-playback.c:264
-#: src/conversation/gnunet-helper-audio-record.c:416
+#: src/conversation/gnunet-helper-audio-record.c:419
#, fuzzy
msgid "Wrong Spec\n"
msgstr "Servicio principal (CORE) erróneo\n"
#: src/conversation/gnunet-helper-audio-playback.c:270
-#: src/conversation/gnunet-helper-audio-record.c:422
+#: src/conversation/gnunet-helper-audio-record.c:425
#, fuzzy
msgid "pa_mainloop_new() failed.\n"
msgstr "La operación ha fallado.\n"
#: src/conversation/gnunet-helper-audio-playback.c:284
-#: src/conversation/gnunet-helper-audio-record.c:437
+#: src/conversation/gnunet-helper-audio-record.c:440
#, fuzzy
msgid "pa_context_new() failed.\n"
msgstr "La operación ha fallado.\n"
#: src/conversation/gnunet-helper-audio-playback.c:291
-#: src/conversation/gnunet-helper-audio-record.c:443
+#: src/conversation/gnunet-helper-audio-record.c:446
#, fuzzy, c-format
msgid "pa_context_connect() failed: %s\n"
msgstr "# reconexiones rápidas fallidas"
#: src/conversation/gnunet-helper-audio-playback.c:297
-#: src/conversation/gnunet-helper-audio-record.c:449
+#: src/conversation/gnunet-helper-audio-record.c:452
#, fuzzy
msgid "pa_mainloop_run() failed.\n"
msgstr "La operación ha fallado.\n"
@@ -997,46 +1004,51 @@ msgstr "La operación ha fallado.\n"
msgid "Read error from STDIN: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:237
+#: src/conversation/gnunet-helper-audio-playback-gst.c:341
+#, c-format
+msgid "Read error from STDIN: %d %s\n"
+msgstr ""
+
+#: src/conversation/gnunet-helper-audio-record.c:240
#, fuzzy, c-format
msgid "pa_stream_peek() failed: %s\n"
msgstr "stadísticas (%s) falló: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:275
+#: src/conversation/gnunet-helper-audio-record.c:278
msgid "Got signal, exiting.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:300
+#: src/conversation/gnunet-helper-audio-record.c:303
#, fuzzy
msgid "Stream successfully created.\n"
msgstr "Conectado satisfactoriamente a «%s»\n"
-#: src/conversation/gnunet-helper-audio-record.c:305
+#: src/conversation/gnunet-helper-audio-record.c:308
#, fuzzy, c-format
msgid "pa_stream_get_buffer_attr() failed: %s\n"
msgstr "stadísticas (%s) falló: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:313
+#: src/conversation/gnunet-helper-audio-record.c:316
#, c-format
msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:317
+#: src/conversation/gnunet-helper-audio-record.c:320
#, c-format
msgid "Using sample spec '%s', channel map '%s'.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:324
+#: src/conversation/gnunet-helper-audio-record.c:327
#, fuzzy, c-format
msgid "Connected to device %s (%u, %ssuspended).\n"
msgstr "Conectado a %s.\n"
-#: src/conversation/gnunet-helper-audio-record.c:333
+#: src/conversation/gnunet-helper-audio-record.c:336
#, c-format
msgid "Stream error: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:380
+#: src/conversation/gnunet-helper-audio-record.c:383
#, fuzzy, c-format
msgid "pa_stream_connect_record() failed: %s\n"
msgstr "No se pudo borrar el registro: %s\n"
@@ -1082,16 +1094,16 @@ msgid "Peer `%s'\n"
msgstr "Par «%s»\n"
#: src/core/gnunet-core.c:110 src/core/gnunet-core.c:138
-#: src/transport/gnunet-transport.c:609 src/transport/gnunet-transport.c:634
+#: src/transport/gnunet-transport.c:630 src/transport/gnunet-transport.c:650
#, c-format
msgid "%24s: %-17s %4s (%u connections in total)\n"
msgstr "%24s: %-17s %4s (%u conexiones en total)\n"
-#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:611
+#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:631
msgid "Connected to"
msgstr "Conectado a"
-#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:636
+#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:651
msgid "Disconnected from"
msgstr "Desconectado de"
@@ -1101,7 +1113,7 @@ msgid "Invalid command line argument `%s'\n"
msgstr "Parámetro no válido «%s» en la línea de comandos\n"
# Miguel: ¿Quizá continuamente fuese mejor?
-#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1028
+#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1127
msgid "provide information about all current connections (continuously)"
msgstr ""
"provee información sobre todas las conexiones actuales (de forma continua)"
@@ -1172,7 +1184,7 @@ msgid "# EPHEMERAL_KEY messages received"
msgstr "# mensajes «SET_KEY» descifrados"
#: src/core/gnunet-service-core_kx.c:950
-#: src/transport/gnunet-service-transport_validation.c:974
+#: src/transport/gnunet-service-transport_validation.c:968
msgid "# PING messages received"
msgstr "# mensajes PING recibidos"
@@ -1203,7 +1215,7 @@ msgid "# keepalive messages sent"
msgstr "# mensajes «keepalive» enviados"
#: src/core/gnunet-service-core_kx.c:1095
-#: src/transport/gnunet-service-transport_validation.c:1285
+#: src/transport/gnunet-service-transport_validation.c:1280
msgid "# PONG messages received"
msgstr "# mensajes PONG recibidos"
@@ -1299,11 +1311,11 @@ msgstr "Mensaje no soportado del tipo %u (%u bytes) recibido del par «%s»\n"
#: src/fs/gnunet-service-fs_cp.c:604 src/fs/gnunet-service-fs_cp.c:1499
#: src/topology/gnunet-daemon-topology.c:706
#: src/topology/gnunet-daemon-topology.c:807
-#: src/transport/gnunet-service-transport_neighbours.c:929
-#: src/transport/gnunet-service-transport_neighbours.c:1161
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:3015
-#: src/transport/gnunet-service-transport_neighbours.c:3291
+#: src/transport/gnunet-service-transport_neighbours.c:837
+#: src/transport/gnunet-service-transport_neighbours.c:1069
+#: src/transport/gnunet-service-transport_neighbours.c:1078
+#: src/transport/gnunet-service-transport_neighbours.c:2920
+#: src/transport/gnunet-service-transport_neighbours.c:3181
msgid "# peers connected"
msgstr "# pares conectados"
@@ -1378,6 +1390,9 @@ msgstr "Caché de datos Postgres ejecutándose\n"
#: src/namecache/plugin_namecache_sqlite.c:52
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:52
+#: src/testbed/generate-underlay-topology.c:47
+#: src/testbed/gnunet-daemon-latency-logger.c:52
+#: src/testbed/gnunet-daemon-testbed-underlay.c:55
#: src/testbed/testbed_api_hosts.c:69 src/util/crypto_ecc.c:51
#: src/include/gnunet_common.h:602 src/include/gnunet_common.h:611
#: src/scalarproduct/scalarproduct.h:61
@@ -1713,6 +1728,9 @@ msgid "Postgres database running\n"
msgstr "Base de datos Postgres ejecutándose\n"
#: src/datastore/plugin_datastore_sqlite.c:57
+#: src/testbed/generate-underlay-topology.c:50
+#: src/testbed/gnunet-daemon-latency-logger.c:55
+#: src/testbed/gnunet-daemon-testbed-underlay.c:58
#, c-format
msgid "`%s' failed at %s:%u with error: %s"
msgstr "«%s» falló en %s:%u con el error: %s"
@@ -3442,7 +3460,7 @@ msgid "Option `%s' is required when using option `%s'.\n"
msgstr "La opción «%s» es obligatoria cuando se usa la opción «%s».\n"
#: src/fs/gnunet-publish.c:778 src/fs/gnunet-publish.c:785
-#: src/transport/gnunet-transport.c:865 src/transport/gnunet-transport.c:899
+#: src/transport/gnunet-transport.c:977 src/transport/gnunet-transport.c:1007
#, c-format
msgid "Option `%s' makes no sense without option `%s'.\n"
msgstr "La opción «%s» no tiene sentido sin la opción «%s».\n"
@@ -4096,8 +4114,8 @@ msgstr ""
#: src/hostlist/hostlist-client.c:741 src/hostlist/hostlist-client.c:750
#: src/hostlist/hostlist-client.c:871 src/hostlist/hostlist-client.c:963
#: src/hostlist/hostlist-client.c:968
-#: src/transport/plugin_transport_http_client.c:1070
-#: src/transport/plugin_transport_http_client.c:1085
+#: src/transport/plugin_transport_http_client.c:1062
+#: src/transport/plugin_transport_http_client.c:1077
#, c-format
msgid "%s failed at %s:%d: `%s'\n"
msgstr "%s falló en %s:%d: «%s».\n"
@@ -4401,39 +4419,39 @@ msgstr "Error escribiendo «HELLO» al fichero «%s»: %s\n"
msgid "Modified %u addresses \n"
msgstr ""
-#: src/hello/hello.c:943
+#: src/hello/hello.c:944
msgid "Failed to parse HELLO message: missing expiration time\n"
msgstr ""
"Se produjo un fallo al procesar un mensaje «HELLO»: falta el tiempo de "
"expiración\n"
-#: src/hello/hello.c:952
+#: src/hello/hello.c:953
msgid "Failed to parse HELLO message: invalid expiration time\n"
msgstr ""
"Se produjo un fallo al procesar un mensaje «HELLO»: tiempo de expiración no "
"válido\n"
-#: src/hello/hello.c:962
+#: src/hello/hello.c:963
msgid "Failed to parse HELLO message: malformed\n"
msgstr "Se produjo un fallo al procesar un mensaje «HELLO»: mal formado\n"
-#: src/hello/hello.c:972
+#: src/hello/hello.c:973
msgid "Failed to parse HELLO message: missing transport plugin\n"
msgstr ""
"Se produjo un fallo al procesar un mensaje «HELLO»: falta el módulo de "
"transporte\n"
-#: src/hello/hello.c:989
+#: src/hello/hello.c:990
#, c-format
msgid "Plugin `%s' not found\n"
msgstr "Módulo «%s» no encontrado\n"
-#: src/hello/hello.c:998
+#: src/hello/hello.c:999
#, c-format
msgid "Plugin `%s' does not support URIs yet\n"
msgstr "El módulo «%s» no soporta URI todavía\n"
-#: src/hello/hello.c:1017
+#: src/hello/hello.c:1018
#, c-format
msgid "Failed to parse `%s' as an address for plugin `%s'\n"
msgstr ""
@@ -4697,7 +4715,7 @@ msgstr ""
"Los mensajes de anuncio no pudieron encolarse por el servicio principal\n"
#: src/hostlist/hostlist-server.c:556 src/peerinfo-tool/gnunet-peerinfo.c:651
-#: src/transport/gnunet-service-transport.c:946
+#: src/transport/gnunet-service-transport.c:867
msgid "Could not access PEERINFO service. Exiting.\n"
msgstr ""
"No se pudo acceder al servicio de información de pares (PEERINFO). "
@@ -4818,50 +4836,34 @@ msgstr "Se produjo un fallo al borrar el fichero de configuración %s\n"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Se produjo un fallo al leer el directorio «%s»\n"
-#: src/mesh/gnunet-mesh.c:342
+#: src/mesh/gnunet-mesh.c:343
#, fuzzy, c-format
msgid "Invalid target `%s'\n"
msgstr "Parámetro no válido «%s»\n"
-#: src/mesh/gnunet-mesh.c:503
+#: src/mesh/gnunet-mesh.c:521
#, fuzzy, c-format
msgid "Invalid tunnel owner `%s'\n"
msgstr "Formato de tiempo no válido «%s»\n"
-#: src/mesh/gnunet-mesh.c:568
+#: src/mesh/gnunet-mesh.c:586
msgid "You must NOT give a TARGET when using options\n"
msgstr ""
-#: src/mesh/gnunet-mesh.c:645
-#, fuzzy
-msgid "provide information about a particular channel"
-msgstr "proveer información acerca de un túnel en particular"
-
-#: src/mesh/gnunet-mesh.c:648
-#, fuzzy
-msgid "provide information about a particular connection"
-msgstr "proveer información acerca de un túnel en particular"
-
-#: src/mesh/gnunet-mesh.c:651
+#: src/mesh/gnunet-mesh.c:669
msgid "activate echo mode"
msgstr ""
-#: src/mesh/gnunet-mesh.c:654
+#: src/mesh/gnunet-mesh.c:672
#, fuzzy
msgid "provide information about all tunnels"
msgstr "proveer información acerca de un túnel en particular"
-#: src/mesh/gnunet-mesh.c:657
-msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
-msgstr ""
-"proveer información acerca de todos los túneles (de forma continua) SIN "
-"IMPLEMENTAR"
-
-#: src/mesh/gnunet-mesh.c:660
+#: src/mesh/gnunet-mesh.c:678
msgid "port to listen to (default; 0)"
msgstr ""
-#: src/mesh/gnunet-mesh.c:663
+#: src/mesh/gnunet-mesh.c:681
msgid "provide information about a particular tunnel"
msgstr "proveer información acerca de un túnel en particular"
@@ -4984,7 +4986,7 @@ msgid "del"
msgstr "borrar"
#: src/namestore/gnunet-namestore.c:715
-#: src/peerinfo-tool/gnunet-peerinfo.c:703
+#: src/peerinfo-tool/gnunet-peerinfo.c:702
#, c-format
msgid "Invalid URI `%s'\n"
msgstr "URI no válida: «%s»\n"
@@ -5161,54 +5163,54 @@ msgstr "Demonio de ayuda en las pruebas de recorrido NAT de GNUnet"
msgid "NAT traversal with ICMP Server timed out.\n"
msgstr "Recorrido NAT con servidor ICMP expirado.\n"
-#: src/nat/nat_auto.c:200
+#: src/nat/nat_auto.c:203
msgid "NAT traversal with ICMP Server succeeded.\n"
msgstr "Recorrido NAT con servidor ICMP satisfactorio.\n"
-#: src/nat/nat_auto.c:201
+#: src/nat/nat_auto.c:204
msgid "NAT traversal with ICMP Server failed.\n"
msgstr "Recorrido NAT con servidor ICMP fallido.\n"
-#: src/nat/nat_auto.c:222
+#: src/nat/nat_auto.c:225
msgid "Testing connection reversal with ICMP server.\n"
msgstr "Probando conexión inversa con el servidor ICMP.\n"
-#: src/nat/nat_auto.c:269
+#: src/nat/nat_auto.c:274
#, c-format
msgid "Detected external IP `%s'\n"
msgstr "Detectada IP externa «%s»\n"
-#: src/nat/nat_auto.c:339
+#: src/nat/nat_auto.c:344
msgid "This system has a global IPv6 address, setting IPv6 to supported.\n"
msgstr ""
"Este sistema tiene una dirección IPv6 global, fijando IPv6 a habilitado.\n"
-#: src/nat/nat_auto.c:355
+#: src/nat/nat_auto.c:360
#, c-format
msgid "Detected internal network address `%s'.\n"
msgstr "Detectada dirección de la red interna «%s».\n"
-#: src/nat/nat_auto.c:408
+#: src/nat/nat_auto.c:413
msgid "upnpc found, enabling its use\n"
msgstr "«upnpc» encontrado, habilitando su uso\n"
-#: src/nat/nat_auto.c:409
+#: src/nat/nat_auto.c:414
msgid "upnpc not found\n"
msgstr "«upnpc» no encontrado\n"
-#: src/nat/nat_auto.c:442
+#: src/nat/nat_auto.c:447
msgid "gnunet-helper-nat-server found, testing it\n"
msgstr "«gnunet-helper-nat-server» encontrado, probándolo\n"
-#: src/nat/nat_auto.c:443
+#: src/nat/nat_auto.c:448
msgid "No working gnunet-helper-nat-server found\n"
msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n"
-#: src/nat/nat_auto.c:477
+#: src/nat/nat_auto.c:482
msgid "gnunet-helper-nat-client found, enabling it\n"
msgstr "«gnunet-helper-nat-client» encontrado, habilitando su uso\n"
-#: src/nat/nat_auto.c:478
+#: src/nat/nat_auto.c:483
msgid "gnunet-helper-nat-client not found or behind NAT, disabling it\n"
msgstr ""
"«gnunet-helper-nat-client» no encontrado o detrás de NAT, deshabilitando su "
@@ -5224,11 +5226,11 @@ msgstr "«gnunet-helper-nat-server» generó la dirección mal formada «%s»\n"
msgid "Failed to start %s\n"
msgstr "Se produjo un fallo al arrancar %s\n"
-#: src/nat/nat.c:1203
+#: src/nat/nat.c:1205
msgid "malformed"
msgstr "mal formado"
-#: src/nat/nat.c:1274 src/nat/nat.c:1286
+#: src/nat/nat.c:1276 src/nat/nat.c:1288
#, c-format
msgid ""
"Configuration requires `%s', but binary is not installed properly (SUID bit "
@@ -5237,30 +5239,58 @@ msgstr ""
"La configuración requiere «%s», pero el binario no está instalado de forma "
"correcta (SUID bit no activado). Opción deshabilitada.\n"
-#: src/nat/nat.c:1424
+#: src/nat/nat.c:1426
msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n"
msgstr ""
"Direcciones internas IP no conocidas, no se puede usar el método del "
"recorrido NAT ICMP\n"
-#: src/nat/nat.c:1440
+#: src/nat/nat.c:1442
#, c-format
msgid "Running gnunet-helper-nat-client %s %s %u\n"
msgstr "Ejecutando gnunet-helper-nat-client %s %s %u\n"
-#: src/nat/nat_mini.c:170
+#: src/nat/nat_mini.c:155
+msgid "no valid address was returned by `external-ip'"
+msgstr ""
+
+#: src/nat/nat_mini.c:175
+#, fuzzy
+msgid "`external-ip' command not found"
+msgstr "comando «external-ip» no encontrado\n"
+
+#: src/nat/nat_mini.c:201
msgid "`external-ip' command not found\n"
msgstr "comando «external-ip» no encontrado\n"
-#: src/nat/nat_mini.c:505
+#: src/nat/nat_mini.c:366
+#, fuzzy
+msgid "Failed to run `upnpc` command"
+msgstr "Se produjo un fallo al ejecutar «%s»\n"
+
+#: src/nat/nat_mini.c:512
+#, fuzzy
+msgid "`upnpc' command took too long, process killed"
+msgstr "comando «upnpc» no encontrado\n"
+
+#: src/nat/nat_mini.c:540
+msgid "`upnpc' command failed to establish port mapping"
+msgstr ""
+
+#: src/nat/nat_mini.c:604
msgid "`upnpc' command not found\n"
msgstr "comando «upnpc» no encontrado\n"
-#: src/nat/nat_test.c:348
+#: src/nat/nat_mini.c:608
+#, fuzzy
+msgid "`upnpc` command not found"
+msgstr "comando «upnpc» no encontrado\n"
+
+#: src/nat/nat_test.c:351
msgid "Failed to connect to `gnunet-nat-server'\n"
msgstr "Se produjo un fallo al conectar con «gnunet-nat-server»\n"
-#: src/nat/nat_test.c:420
+#: src/nat/nat_test.c:423
#, c-format
msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n"
msgstr ""
@@ -5299,15 +5329,10 @@ msgid "Measure quality and performance of the NSE service."
msgstr "Medir la calidad y rendimiento del servicio NSE."
#: src/nse/gnunet-service-nse.c:1461
-#: src/revocation/gnunet-service-revocation.c:789
+#: src/revocation/gnunet-service-revocation.c:789 src/util/gnunet-scrypt.c:248
msgid "Value is too large.\n"
msgstr ""
-#: src/nse/gnunet-service-nse.c:1488
-msgid "NSE service is lacking key configuration settings. Exiting.\n"
-msgstr ""
-"El servicio NSE carece de opciones de configuración de clave. Saliendo.\n"
-
#: src/peerinfo/gnunet-service-peerinfo.c:215
#, c-format
msgid "Removing expired address of transport `%s'\n"
@@ -5425,54 +5450,49 @@ msgstr ""
msgid "Failure adding HELLO: %s\n"
msgstr "Fallo añadiendo «HELLO»: %s\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:661
-#, c-format
-msgid "Could not find option `%s:%s' in configuration.\n"
-msgstr "No se pudo encontrar la opción «%s:%s» en la configuración.\n"
-
-#: src/peerinfo-tool/gnunet-peerinfo.c:667
+#: src/peerinfo-tool/gnunet-peerinfo.c:666 src/util/gnunet-scrypt.c:224
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "La carga de la clave de la máquina desde «%s» ha fallado.\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:725
+#: src/peerinfo-tool/gnunet-peerinfo.c:724
#, c-format
msgid "I am peer `%s'.\n"
msgstr "Yo soy el par «%s».\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:769
+#: src/peerinfo-tool/gnunet-peerinfo.c:768
msgid "don't resolve host names"
msgstr "no resolver nombres de máquina"
-#: src/peerinfo-tool/gnunet-peerinfo.c:772
+#: src/peerinfo-tool/gnunet-peerinfo.c:771
msgid "output only the identity strings"
msgstr "mostrar únicamente las cadenas de identidad"
-#: src/peerinfo-tool/gnunet-peerinfo.c:775
+#: src/peerinfo-tool/gnunet-peerinfo.c:774
msgid "include friend-only information"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:778
+#: src/peerinfo-tool/gnunet-peerinfo.c:777
msgid "output our own identity only"
msgstr "muestra únicamente nuestra propia identidad"
-#: src/peerinfo-tool/gnunet-peerinfo.c:781
+#: src/peerinfo-tool/gnunet-peerinfo.c:780
msgid "list all known peers"
msgstr "mostrar todos los pares conocidos"
-#: src/peerinfo-tool/gnunet-peerinfo.c:784
+#: src/peerinfo-tool/gnunet-peerinfo.c:783
msgid "dump hello to file"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:787
+#: src/peerinfo-tool/gnunet-peerinfo.c:786
msgid "also output HELLO uri(s)"
msgstr "también mostrar las URI de «HELLO»"
-#: src/peerinfo-tool/gnunet-peerinfo.c:790
+#: src/peerinfo-tool/gnunet-peerinfo.c:789
msgid "add given HELLO uri to the database"
msgstr "añade la URI de «HELLO» dada a la base de datos"
-#: src/peerinfo-tool/gnunet-peerinfo.c:801
+#: src/peerinfo-tool/gnunet-peerinfo.c:800
msgid "Print information about peers."
msgstr "Imprimir información sobre los pares."
@@ -6125,6 +6145,14 @@ msgstr "¡Se produjo un fallo al conectar al servicio de estadísticas!\n"
msgid "Failed to send a message to the scalarproduct service\n"
msgstr "Se produjo un fallo al enviar una petición al servicio de transporte\n"
+#: src/secretsharing/gnunet-secretsharing-profiler.c:303
+msgid "dkg timeout"
+msgstr ""
+
+#: src/secretsharing/gnunet-secretsharing-profiler.c:306
+msgid "threshold"
+msgstr ""
+
#: src/set/gnunet-service-set.c:1416
#, fuzzy
msgid "Could not connect to mesh service\n"
@@ -6261,19 +6289,95 @@ msgstr ""
"¡No se ha recibido el reconocimiento del servicio de estadísticas, algunas "
"estadísticas se pueden haber perdido!\n"
+#: src/testbed/generate-underlay-topology.c:223
+msgid "Need atleast 2 arguments\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:228
+msgid "Database filename missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:235
+#, fuzzy
+msgid "Topology string missing\n"
+msgstr "falta una opción"
+
+#: src/testbed/generate-underlay-topology.c:240
+#, fuzzy, c-format
+msgid "Invalid topology: %s\n"
+msgstr "Parámetro no válido «%s»\n"
+
+#: src/testbed/generate-underlay-topology.c:252
+#, c-format
+msgid "An argument is missing for given topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:258
+#, fuzzy, c-format
+msgid "Invalid argument `%s' given as topology argument\n"
+msgstr "Parámetro no válido «%s»\n"
+
+#: src/testbed/generate-underlay-topology.c:266
+#, fuzzy, c-format
+msgid "Filename argument missing for topology `%s'\n"
+msgstr "¡Falló mientras se esperaba la configuración topológica!\n"
+
+#: src/testbed/generate-underlay-topology.c:280
+#, c-format
+msgid "Second argument for topology `%s' is missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:286
+#, fuzzy, c-format
+msgid "Invalid argument `%s'; expecting unsigned int\n"
+msgstr "Argumento no válido para '%s' en %s:%d.\n"
+
+#: src/testbed/generate-underlay-topology.c:335
+#: src/testbed/gnunet-testbed-profiler.c:293
+msgid "create COUNT number of peers"
+msgstr "crea «COUNT» número de pares"
+
+#: src/testbed/generate-underlay-topology.c:344
+msgid ""
+"Generates SQLite3 database representing a given underlay topology.\n"
+"Usage: gnunet-underlay-topology [OPTIONS] db-filename TOPO [TOPOOPTS]\n"
+"The following options are available for TOPO followed by TOPOOPTS if "
+"applicable:\n"
+"\t LINE\n"
+"\t RING\n"
+"\t RANDOM <num_rnd_links>\n"
+"\t SMALL_WORLD <num_rnd_links>\n"
+"\t SMALL_WORLD_RING <num_rnd_links>\n"
+"\t CLIQUE\n"
+"\t 2D_TORUS\n"
+"\t SCALE_FREE <cap> <m>\n"
+"\t FROM_FILE <filename>\n"
+"TOPOOPTS:\n"
+"\t num_rnd_links: The number of random links\n"
+"\t cap: the maximum number of links a node can have\n"
+"\t m: the number of links a node should have while joining the network\n"
+"\t filename: the path of the file which contains topology information\n"
+"NOTE: the format of the above file is descibed here: https://www.gnunet.org/"
+"content/topology-file-format\n"
+msgstr ""
+
+#: src/testbed/gnunet-daemon-latency-logger.c:325
+msgid "Daemon to log latency values of connections to neighbours"
+msgstr ""
+
#: src/testbed/gnunet-daemon-testbed-blacklist.c:264
msgid ""
"Daemon to restrict incoming transport layer connections during testbed "
"deployments"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:300 src/testing/testing.c:293
-#: src/util/gnunet-ecc.c:217
+#: src/testbed/gnunet-daemon-testbed-underlay.c:235 src/testing/list-keys.c:50
+#: src/testing/testing.c:293 src/util/gnunet-ecc.c:217
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr "El fichero de máquinas no tiene el formato correcto: %s\n"
-#: src/testbed/gnunet-daemon-testbed-underlay.c:553
+#: src/testbed/gnunet-daemon-testbed-underlay.c:474
msgid "Daemon to restrict underlay network in testbed deployments"
msgstr ""
@@ -6314,10 +6418,6 @@ msgstr "Iniciando el proceso auxiliar (HELPER) «%s»\n"
msgid "Exiting as the number of peers is %u\n"
msgstr "El número máximo de conexiones es %u\n"
-#: src/testbed/gnunet-testbed-profiler.c:293
-msgid "create COUNT number of peers"
-msgstr "crea «COUNT» número de pares"
-
#: src/testbed/gnunet-testbed-profiler.c:296
msgid "tolerate COUNT number of continious timeout failures"
msgstr "tolerar un número «COUNT» de continuas expiraciones de plazo"
@@ -6354,104 +6454,104 @@ msgstr ""
msgid "Adding host %u failed with error: %s\n"
msgstr "No se pudo añadir la máquina %u por el error: %s\n"
-#: src/testbed/testbed_api_testbed.c:820
+#: src/testbed/testbed_api_testbed.c:819
msgid "Linking controllers failed. Exiting"
msgstr "Los controladores de enlazado fallaron. Saliendo"
-#: src/testbed/testbed_api_testbed.c:989
+#: src/testbed/testbed_api_testbed.c:988
#, c-format
msgid "Host registration failed for a host. Error: %s\n"
msgstr "El registro de máquinas falló para una máquina. Error: %s\n"
-#: src/testbed/testbed_api_testbed.c:1055
+#: src/testbed/testbed_api_testbed.c:1054
msgid "Controller crash detected. Shutting down.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1144
+#: src/testbed/testbed_api_testbed.c:1143
#, c-format
msgid "Host %s cannot start testbed\n"
msgstr "La máquina %s no puede comenzar la batería de pruebas\n"
-#: src/testbed/testbed_api_testbed.c:1148
+#: src/testbed/testbed_api_testbed.c:1147
msgid "Testbed cannot be started on localhost\n"
msgstr "La batería de pruebas no se puede iniciar en localhost\n"
-#: src/testbed/testbed_api_testbed.c:1186
+#: src/testbed/testbed_api_testbed.c:1185
msgid "Cannot start the master controller"
msgstr "No se puede iniciar el controlador maestro"
-#: src/testbed/testbed_api_testbed.c:1204
+#: src/testbed/testbed_api_testbed.c:1203
msgid "Shutting down testbed due to timeout while setup.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1264
+#: src/testbed/testbed_api_testbed.c:1263
#, fuzzy
msgid "No hosts loaded from LoadLeveler. Need at least one host\n"
msgstr "No se han cargado máquinas. Se necesita al menos una máquina.\n"
-#: src/testbed/testbed_api_testbed.c:1276
+#: src/testbed/testbed_api_testbed.c:1275
msgid "No hosts loaded. Need at least one host\n"
msgstr "No se han cargado máquinas. Se necesita al menos una máquina.\n"
-#: src/testbed/testbed_api_testbed.c:1300
+#: src/testbed/testbed_api_testbed.c:1299
msgid "Specified topology must be supported by testbed"
msgstr ""
"La topología especificada debe estar soportada por la batería de pruebas"
-#: src/testbed/testbed_api_testbed.c:1350
+#: src/testbed/testbed_api_testbed.c:1349
#, c-format
msgid ""
"Maximum number of edges a peer can have in a scale free topology cannot be "
"more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1366
+#: src/testbed/testbed_api_testbed.c:1365
#, c-format
msgid ""
"The number of edges that can established when adding a new node to scale "
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:715
+#: src/testbed/testbed_api_topology.c:960
#, c-format
msgid "Topology file %s not found\n"
msgstr "El fichero de topología %s no fue encontrado\n"
-#: src/testbed/testbed_api_topology.c:721
+#: src/testbed/testbed_api_topology.c:966
#, c-format
msgid "Topology file %s has no data\n"
msgstr "El fichero de topología %s no tiene datos\n"
-#: src/testbed/testbed_api_topology.c:728
+#: src/testbed/testbed_api_topology.c:973
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr "El fichero de topología %s no puede ser leido\n"
-#: src/testbed/testbed_api_topology.c:750
+#: src/testbed/testbed_api_topology.c:995
#, c-format
msgid "Failed to read peer index from toology file: %s"
msgstr ""
"Se produjo un fallo al leer el índice de pares del archivo de topología: %s"
-#: src/testbed/testbed_api_topology.c:759
-#: src/testbed/testbed_api_topology.c:783
+#: src/testbed/testbed_api_topology.c:1004
+#: src/testbed/testbed_api_topology.c:1028
#, c-format
msgid "Value in given topology file: %s out of range\n"
msgstr "Valor en el fichero de topología dato: %s está fuera de rango\n"
-#: src/testbed/testbed_api_topology.c:765
-#: src/testbed/testbed_api_topology.c:789
+#: src/testbed/testbed_api_topology.c:1010
+#: src/testbed/testbed_api_topology.c:1034
#, c-format
msgid "Failed to read peer index from topology file: %s"
msgstr ""
"Se produjo un fallo al leer índice de pares del fichero de topología: %s"
-#: src/testbed/testbed_api_topology.c:771
-#: src/testbed/testbed_api_topology.c:795
+#: src/testbed/testbed_api_topology.c:1016
+#: src/testbed/testbed_api_topology.c:1040
msgid "Topology file needs more peers than given ones\n"
msgstr "El fichero de topología necesita más pares que los dados\n"
-#: src/testbed/testbed_api_topology.c:810
+#: src/testbed/testbed_api_topology.c:1074
#, c-format
msgid "Ignoring to connect peer %u to peer %u\n"
msgstr "Ignorando conexión del par %u al par %u\n"
@@ -6499,6 +6599,15 @@ msgid "Command line tool to access the testing library"
msgstr ""
"Herramienta de línea de comandos para acceder a la biblioteca de pruebas"
+#: src/testing/list-keys.c:90
+#, fuzzy
+msgid "list COUNT number of keys"
+msgstr "crea «COUNT» número de pares"
+
+#: src/testing/list-keys.c:93
+msgid "skip COUNT number of keys in the beginning"
+msgstr ""
+
#: src/testing/testing.c:277
#, c-format
msgid "Hostkeys file not found: %s\n"
@@ -6650,36 +6759,36 @@ msgid "Adding blacklisting entry for peer `%s':`%s'\n"
msgstr ""
#: src/transport/gnunet-service-transport_blacklist.c:455
-#: src/transport/gnunet-service-transport_blacklist.c:722
+#: src/transport/gnunet-service-transport_blacklist.c:725
msgid "# disconnects due to blacklist"
msgstr "# desconexiones debido a la lista negra"
-#: src/transport/gnunet-service-transport.c:206
+#: src/transport/gnunet-service-transport.c:201
#, fuzzy
msgid "# bytes payload discarded due to not connected peer"
msgstr "# bytes de «payload» descartados debido a par no conectado"
-#: src/transport/gnunet-service-transport.c:325
+#: src/transport/gnunet-service-transport.c:304
msgid "# bytes total received"
msgstr "# total de bytes recibidos"
-#: src/transport/gnunet-service-transport.c:399
+#: src/transport/gnunet-service-transport.c:371
msgid "# bytes payload received"
msgstr "# bytes de «payload» recibidos"
-#: src/transport/gnunet-service-transport.c:574
+#: src/transport/gnunet-service-transport.c:527
#, fuzzy, c-format
msgid "Could not obtain a valid network for `%s' %s (%s)\n"
msgstr "Imposible obtener IP para la interfaz '%s' usando '%s'.\n"
-#: src/transport/gnunet-service-transport.c:628
+#: src/transport/gnunet-service-transport.c:574
#, c-format
msgid ""
"Address or session unknown: failed to update properties for peer `%s' plugin "
"`%s' address `%s' session %p\n"
msgstr ""
-#: src/transport/gnunet-service-transport.c:916
+#: src/transport/gnunet-service-transport.c:837
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
@@ -6696,16 +6805,16 @@ msgstr ""
msgid "# messages dropped due to slow client"
msgstr "# mensajes omitidos debido a un cliente lento"
-#: src/transport/gnunet-service-transport_clients.c:533
+#: src/transport/gnunet-service-transport_clients.c:540
#, c-format
msgid "Rejecting control connection from peer `%s', which is not me!\n"
msgstr "¡Rechazando conexión de control del par «%s», que no soy yo!\n"
-#: src/transport/gnunet-service-transport_clients.c:674
+#: src/transport/gnunet-service-transport_clients.c:681
msgid "# bytes payload dropped (other peer was not connected)"
msgstr "# bytes de «payload» omitidos (el otro par no estaba conectado)"
-#: src/transport/gnunet-service-transport_clients.c:731
+#: src/transport/gnunet-service-transport_clients.c:738
msgid "# REQUEST CONNECT messages received"
msgstr "# mensajes «REQUEST CONNECT» recibidos"
@@ -6713,153 +6822,153 @@ msgstr "# mensajes «REQUEST CONNECT» recibidos"
msgid "# refreshed my HELLO"
msgstr "# refrescos de mi «HELLO»"
-#: src/transport/gnunet-service-transport_neighbours.c:1108
+#: src/transport/gnunet-service-transport_neighbours.c:1016
msgid "# DISCONNECT messages sent"
msgstr "# Mensajes «DISCONNECT» enviados"
-#: src/transport/gnunet-service-transport_neighbours.c:1244
-#: src/transport/gnunet-service-transport_neighbours.c:1653
+#: src/transport/gnunet-service-transport_neighbours.c:1152
+#: src/transport/gnunet-service-transport_neighbours.c:1562
msgid "# bytes in message queue for other peers"
msgstr "# bytes en la cola de mensajes para otros pares"
-#: src/transport/gnunet-service-transport_neighbours.c:1249
+#: src/transport/gnunet-service-transport_neighbours.c:1157
msgid "# messages transmitted to other peers"
msgstr "# mensajes transmitidos a otros pares"
-#: src/transport/gnunet-service-transport_neighbours.c:1254
+#: src/transport/gnunet-service-transport_neighbours.c:1162
msgid "# transmission failures for messages to other peers"
msgstr "# fallos de transmisión en mensajes a otros pares"
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1219
msgid "# messages timed out while in transport queue"
msgstr "# mensajes expirados mientras estaban en la cola de transporte"
-#: src/transport/gnunet-service-transport_neighbours.c:1368
+#: src/transport/gnunet-service-transport_neighbours.c:1276
msgid "# keepalives sent"
msgstr "# «keepalives» enviados"
-#: src/transport/gnunet-service-transport_neighbours.c:1401
+#: src/transport/gnunet-service-transport_neighbours.c:1309
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "# Mensajes «KEEPALIVE» descartados (par desconocido)"
-#: src/transport/gnunet-service-transport_neighbours.c:1409
+#: src/transport/gnunet-service-transport_neighbours.c:1317
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "# mensajes «KEEPALIVE» descartados (no hay sesión)"
-#: src/transport/gnunet-service-transport_neighbours.c:1456
+#: src/transport/gnunet-service-transport_neighbours.c:1364
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "# mensajes «KEEPALIVE_RESPONSE» descartados (no conectado)"
-#: src/transport/gnunet-service-transport_neighbours.c:1465
+#: src/transport/gnunet-service-transport_neighbours.c:1373
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "# Mensajes «KEEPALIVE_RESPONSE» descartados (no esperado)"
-#: src/transport/gnunet-service-transport_neighbours.c:1473
+#: src/transport/gnunet-service-transport_neighbours.c:1381
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (address changed)"
msgstr "# mensajes «KEEPALIVE_RESPONSE» descartados (no conectado)"
-#: src/transport/gnunet-service-transport_neighbours.c:1481
+#: src/transport/gnunet-service-transport_neighbours.c:1389
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (wrong nonce)"
msgstr "# mensajes «KEEPALIVE_RESPONSE» descartados (no conectado)"
-#: src/transport/gnunet-service-transport_neighbours.c:1558
+#: src/transport/gnunet-service-transport_neighbours.c:1467
msgid "# messages discarded due to lack of neighbour record"
msgstr "# mensajes descartados debido a la falta de registro vecinal"
-#: src/transport/gnunet-service-transport_neighbours.c:1592
+#: src/transport/gnunet-service-transport_neighbours.c:1501
msgid "# bandwidth quota violations by other peers"
msgstr "# violaciones de la cuota de ancho de banda por otros pares"
# throttling?
-#: src/transport/gnunet-service-transport_neighbours.c:1608
+#: src/transport/gnunet-service-transport_neighbours.c:1517
msgid "# ms throttling suggested"
msgstr "# ms de impulso sugeridos"
-#: src/transport/gnunet-service-transport_neighbours.c:1700
+#: src/transport/gnunet-service-transport_neighbours.c:1609
#, fuzzy
msgid "# SESSION_CONNECT messages sent"
msgstr "# Mensajes «DISCONNECT» enviados"
-#: src/transport/gnunet-service-transport_neighbours.c:1716
+#: src/transport/gnunet-service-transport_neighbours.c:1625
#, fuzzy, c-format
msgid "Failed to transmit CONNECT message via plugin to %s\n"
msgstr "Se produjo un fallo al transmitir un mensaje al servicio «%s».\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1759
+#: src/transport/gnunet-service-transport_neighbours.c:1668
#, fuzzy
msgid "# CONNECT_ACK messages sent"
msgstr "# Mensajes «DISCONNECT» enviados"
-#: src/transport/gnunet-service-transport_neighbours.c:2236
+#: src/transport/gnunet-service-transport_neighbours.c:2149
#, fuzzy
msgid "# CONNECT messages received"
msgstr "# mensajes «REQUEST CONNECT» recibidos"
-#: src/transport/gnunet-service-transport_neighbours.c:2241
+#: src/transport/gnunet-service-transport_neighbours.c:2154
#, c-format
msgid "CONNECT request from peer `%s' ignored due impending shutdown\n"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2979
+#: src/transport/gnunet-service-transport_neighbours.c:2885
#, fuzzy
msgid "# CONNECT_ACK messages received"
msgstr "# mensajes «REQUEST CONNECT» recibidos"
-#: src/transport/gnunet-service-transport_neighbours.c:2987
+#: src/transport/gnunet-service-transport_neighbours.c:2893
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "# Mensajes «CONNECT_ACK» inesperados (sin par)"
-#: src/transport/gnunet-service-transport_neighbours.c:3002
-#: src/transport/gnunet-service-transport_neighbours.c:3039
+#: src/transport/gnunet-service-transport_neighbours.c:2908
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "# Mensajes «CONNECT_ACK» inesperados (no estaba preparado)"
-#: src/transport/gnunet-service-transport_neighbours.c:3052
+#: src/transport/gnunet-service-transport_neighbours.c:2957
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "# Mensajes «CONNECT_ACK» inesperados (esperando en el ATS)"
-#: src/transport/gnunet-service-transport_neighbours.c:3085
+#: src/transport/gnunet-service-transport_neighbours.c:2987
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "# Mensajes «CONNECT_ACK» inesperados (desconectando)"
-#: src/transport/gnunet-service-transport_neighbours.c:3265
+#: src/transport/gnunet-service-transport_neighbours.c:3156
#, fuzzy
msgid "# SESSION_ACK messages received"
msgstr "# mensajes SET QUOTA recibidos"
-#: src/transport/gnunet-service-transport_neighbours.c:3284
+#: src/transport/gnunet-service-transport_neighbours.c:3175
#, fuzzy
msgid "# unexpected SESSION_ACK messages"
msgstr "# Mensajes «SESSION ACK» inesperados"
-#: src/transport/gnunet-service-transport_neighbours.c:3340
+#: src/transport/gnunet-service-transport_neighbours.c:3230
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr "# Mensajes «SET QUOTA» ignorados (no existe tal par)"
-#: src/transport/gnunet-service-transport_neighbours.c:3355
+#: src/transport/gnunet-service-transport_neighbours.c:3245
msgid "# disconnects due to quota of 0"
msgstr "# desconexiones debido a una cuota de 0"
-#: src/transport/gnunet-service-transport_neighbours.c:3383
+#: src/transport/gnunet-service-transport_neighbours.c:3273
msgid "# disconnect messages ignored (old format)"
msgstr "# mensajes de desconexión ignorados (formato antiguo)"
-#: src/transport/gnunet-service-transport_neighbours.c:3389
+#: src/transport/gnunet-service-transport_neighbours.c:3279
#, fuzzy
msgid "# DISCONNECT messages received"
msgstr "# mensajes «REQUEST CONNECT» recibidos"
-#: src/transport/gnunet-service-transport_neighbours.c:3398
+#: src/transport/gnunet-service-transport_neighbours.c:3288
msgid "# disconnect messages ignored (timestamp)"
msgstr "# mensajes de desconexión ignorados (marca temporal)"
-#: src/transport/gnunet-service-transport_neighbours.c:3434
+#: src/transport/gnunet-service-transport_neighbours.c:3324
msgid "# other peer asked to disconnect from us"
msgstr "# peticiones de otro par para desconectarse de nosotros"
-#: src/transport/gnunet-service-transport_neighbours.c:3532
+#: src/transport/gnunet-service-transport_neighbours.c:3423
msgid "# disconnected from peer upon explicit request"
msgstr "# desconexiones del par debido a una petición explícita"
@@ -6887,11 +6996,11 @@ msgstr "Se produjo un fallo al cargar el módulo del transporte para «%s»\n"
msgid "Did not load plugin `%s' due to missing functions\n"
msgstr "Falló al cargar el plugin '%s' en %s:%d. Descargando plugin.\n"
-#: src/transport/gnunet-service-transport_validation.c:456
+#: src/transport/gnunet-service-transport_validation.c:452
msgid "# address records discarded"
msgstr "# registros de direcciones descartados"
-#: src/transport/gnunet-service-transport_validation.c:526
+#: src/transport/gnunet-service-transport_validation.c:522
#, c-format
msgid ""
"Not transmitting `%s' with `%s', message too big (%u bytes!). This should "
@@ -6900,39 +7009,39 @@ msgstr ""
"No transmitiendo «%s» con «%s», mensaje demasiado grande (¡%u bytes!). Esto "
"no debería suceder.\n"
-#: src/transport/gnunet-service-transport_validation.c:584
+#: src/transport/gnunet-service-transport_validation.c:580
msgid "# PING without HELLO messages sent"
msgstr "# Mensajes PING sin HELLO mandados"
-#: src/transport/gnunet-service-transport_validation.c:685
+#: src/transport/gnunet-service-transport_validation.c:681
msgid "# address revalidations started"
msgstr "# revalidaciones de direcciones iniciadas"
-#: src/transport/gnunet-service-transport_validation.c:969
+#: src/transport/gnunet-service-transport_validation.c:963
msgid "# PING message for different peer received"
msgstr "# Mensajes PING recibidos para un par diferente"
-#: src/transport/gnunet-service-transport_validation.c:1019
+#: src/transport/gnunet-service-transport_validation.c:1014
#, fuzzy, c-format
msgid "Plugin `%s' not available, cannot confirm having this address\n"
msgstr ""
"No confirmando el PING con dirección «%s» ya que no puedo confirmar tener "
"esa dirección.\n"
-#: src/transport/gnunet-service-transport_validation.c:1029
+#: src/transport/gnunet-service-transport_validation.c:1024
msgid "# failed address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1032
+#: src/transport/gnunet-service-transport_validation.c:1027
#, c-format
msgid "Address `%s' is not one of my addresses, not confirming PING\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1040
+#: src/transport/gnunet-service-transport_validation.c:1035
msgid "# successful address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1052
+#: src/transport/gnunet-service-transport_validation.c:1047
#, fuzzy, c-format
msgid ""
"Not confirming PING from peer `%s' with address `%s' since I cannot confirm "
@@ -6941,85 +7050,90 @@ msgstr ""
"No confirmando el PING con dirección «%s» ya que no puedo confirmar tener "
"esa dirección.\n"
-#: src/transport/gnunet-service-transport_validation.c:1060
+#: src/transport/gnunet-service-transport_validation.c:1055
#, c-format
msgid "Received a PING message with validation bug from `%s'\n"
msgstr "Recibido un mensaje PING con un error de validación de «%s»\n"
-#: src/transport/gnunet-service-transport_validation.c:1114
+#: src/transport/gnunet-service-transport_validation.c:1109
#, fuzzy, c-format
msgid "Failed to create PONG signature for peer `%s'\n"
msgstr "Se produjo un fallo al crear la página para «%s»\n"
-#: src/transport/gnunet-service-transport_validation.c:1163
+#: src/transport/gnunet-service-transport_validation.c:1158
msgid "# PONGs unicast via reliable transport"
msgstr "# unicast de PONG vía transporte confiable"
-#: src/transport/gnunet-service-transport_validation.c:1172
+#: src/transport/gnunet-service-transport_validation.c:1167
msgid "# PONGs multicast to all available addresses"
msgstr "# multicast de PONG a todas las direcciones disponibles"
-#: src/transport/gnunet-service-transport_validation.c:1312
+#: src/transport/gnunet-service-transport_validation.c:1308
msgid "# PONGs dropped, no matching pending validation"
msgstr "# PONG omitidos, no hay una validación pendiente coincidente"
-#: src/transport/gnunet-service-transport_validation.c:1327
+#: src/transport/gnunet-service-transport_validation.c:1323
msgid "# PONGs dropped, signature expired"
msgstr "# Mensajes PONG omitidos, firma expirada"
-#: src/transport/gnunet-service-transport_validation.c:1448
+#: src/transport/gnunet-service-transport_validation.c:1442
+#, fuzzy, c-format
+msgid "Validation received new %s message for peer `%s' with size %u\n"
+msgstr "Recibido último mensaje para %s\n"
+
+#: src/transport/gnunet-service-transport_validation.c:1449
#, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Añadiendo «%s» sin direcciones para el par «%s»\n"
-#: src/transport/gnunet-transport.c:258
+#: src/transport/gnunet-transport.c:285
#, c-format
msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
msgstr "Transmitidos %llu bytes/s (%llu bytes en %s)\n"
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:293
#, c-format
msgid "Received %llu bytes/s (%llu bytes in %s)\n"
msgstr "Recibidos %llu bytes/s (%llu bytes en %s)\n"
-#: src/transport/gnunet-transport.c:296
+#: src/transport/gnunet-transport.c:331
#, c-format
msgid "Failed to connect to `%s'\n"
msgstr "Se produjo un fallo al conectar con «%s»\n"
-#: src/transport/gnunet-transport.c:309
+#: src/transport/gnunet-transport.c:344
#, c-format
msgid "Failed to resolve address for peer `%s'\n"
msgstr "Se produjo un fallo al resolver la dirección para el par «%s»\n"
# Miguel: La traducción no es literal, pero me parece más correcta
# en castellano.
-#: src/transport/gnunet-transport.c:318
+#: src/transport/gnunet-transport.c:354
msgid "Failed to list connections, timeout occured\n"
msgstr "No se pudieron listar las conexiones, expiró el plazo\n"
-#: src/transport/gnunet-transport.c:423
+#: src/transport/gnunet-transport.c:453
msgid "No transport plugins configured, peer will never communicate\n"
msgstr ""
"No hay módulos de transporte configurados, el par nunca se comunicará\n"
-#: src/transport/gnunet-transport.c:436
+#: src/transport/gnunet-transport.c:467
#, c-format
msgid "No port configured for plugin `%s', cannot test it\n"
msgstr ""
"Ningún puerto fue configurado para el módulo «%s», no se puede probar\n"
-#: src/transport/gnunet-transport.c:506
+#: src/transport/gnunet-transport.c:530
#, c-format
msgid "Transmitting %u bytes to %s\n"
msgstr "Transmitiendo %u bytes a %s\n"
-#: src/transport/gnunet-transport.c:529
+#: src/transport/gnunet-transport.c:551
#, c-format
msgid "Successfully connected to `%s'\n"
msgstr "Conectado satisfactoriamente a «%s»\n"
-#: src/transport/gnunet-transport.c:552
+#: src/transport/gnunet-transport.c:575
#, c-format
msgid ""
"Successfully connected to `%s', starting to send benchmark data in %u Kb "
@@ -7028,38 +7142,33 @@ msgstr ""
"Conectado satisfactoriamente a «%s», empezando a mandar datos de prueba en "
"bloques de %u Kb\n"
-#: src/transport/gnunet-transport.c:587
+#: src/transport/gnunet-transport.c:608
#, c-format
msgid "Disconnected from peer `%s' while benchmarking\n"
msgstr "Desconectado del par «%s» mientras probaba\n"
-#: src/transport/gnunet-transport.c:660
+#: src/transport/gnunet-transport.c:670
#, c-format
msgid "Received %u bytes from %s\n"
msgstr "Recibidos %u bytes de %s\n"
-#: src/transport/gnunet-transport.c:685
-#, c-format
-msgid "Peer `%s': %s %s\n"
-msgstr "Par «%s»: %s %s\n"
-
-#: src/transport/gnunet-transport.c:704
+#: src/transport/gnunet-transport.c:693
#, c-format
-msgid "Peer `%s': %s <unable to resolve address>\n"
-msgstr "Par «%s»: %s <no se puede resolver la dirección>\n"
+msgid "Peer `%s': %s %s in state `%s' until %s\n"
+msgstr ""
-#: src/transport/gnunet-transport.c:772
+#: src/transport/gnunet-transport.c:703
#, c-format
-msgid "Peer `%s' disconnected\n"
-msgstr "Par «%s» desconectado\n"
+msgid "Peer `%s': %s %s\n"
+msgstr "Par «%s»: %s %s\n"
-#: src/transport/gnunet-transport.c:802
+#: src/transport/gnunet-transport.c:916
msgid "Failed to send connect request to transport service\n"
msgstr ""
"Se produjo un fallo al enviar una petición de conexión al servicio de "
"transporte\n"
-#: src/transport/gnunet-transport.c:848
+#: src/transport/gnunet-transport.c:959
#, c-format
msgid ""
"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
@@ -7068,7 +7177,7 @@ msgstr ""
"Múltiples operaciones introducidas. Por favor, seleccione únicamente una "
"operación: %s, %s, %s, %s, %s, %s\n"
-#: src/transport/gnunet-transport.c:855
+#: src/transport/gnunet-transport.c:967
#, c-format
msgid ""
"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
@@ -7076,165 +7185,170 @@ msgstr ""
"Ninguna operación introducida. Por favor, seleccione alguna operación: %s, "
"%s, %s, %s, %s, %s\n"
-#: src/transport/gnunet-transport.c:878 src/transport/gnunet-transport.c:910
-#: src/transport/gnunet-transport.c:932 src/transport/gnunet-transport.c:969
+#: src/transport/gnunet-transport.c:986 src/transport/gnunet-transport.c:1016
+#: src/transport/gnunet-transport.c:1039 src/transport/gnunet-transport.c:1070
msgid "Failed to connect to transport service\n"
msgstr "Se produjo un fallo al conectar con el servicio de transporte\n"
-#: src/transport/gnunet-transport.c:887 src/transport/gnunet-transport.c:917
+#: src/transport/gnunet-transport.c:995 src/transport/gnunet-transport.c:1025
msgid "Failed to send request to transport service\n"
msgstr "Se produjo un fallo al enviar una petición al servicio de transporte\n"
-#: src/transport/gnunet-transport.c:937
+#: src/transport/gnunet-transport.c:1044
msgid "Starting to receive benchmark data\n"
msgstr "Empezando a recibir datos de prueba\n"
-#: src/transport/gnunet-transport.c:1019
+#: src/transport/gnunet-transport.c:1116
+#, fuzzy
+msgid "print information for all peers (instead of only connected peers )"
+msgstr "Imprime información sobre los pares conectados."
+
+#: src/transport/gnunet-transport.c:1119
msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
msgstr "medir cómo de rápido recibimos datos de todos los pares (hasta CTRL-C)"
-#: src/transport/gnunet-transport.c:1022
+#: src/transport/gnunet-transport.c:1121
msgid "connect to a peer"
msgstr "conectar a un par"
-#: src/transport/gnunet-transport.c:1025
+#: src/transport/gnunet-transport.c:1124
msgid "provide information about all current connections (once)"
msgstr "provee información sobre todas las conexiones actuales (una vez)"
-#: src/transport/gnunet-transport.c:1031
+#: src/transport/gnunet-transport.c:1130
msgid ""
"provide information about all connects and disconnect events (continuously)"
msgstr ""
"provee información sobre todas los eventos de conexión y desconexión "
"(continuamente)"
-#: src/transport/gnunet-transport.c:1034
+#: src/transport/gnunet-transport.c:1132
msgid "do not resolve hostnames"
msgstr "no resolver nombres de máquinas"
-#: src/transport/gnunet-transport.c:1037
+#: src/transport/gnunet-transport.c:1134
msgid "peer identity"
msgstr "identidad del par"
-#: src/transport/gnunet-transport.c:1041
+#: src/transport/gnunet-transport.c:1136
msgid "send data for benchmarking to the other peer (until CTRL-C)"
msgstr "enviar data para prueba a otro par (hasta CTRL-C)"
-#: src/transport/gnunet-transport.c:1044
+#: src/transport/gnunet-transport.c:1139
msgid "test transport configuration (involves external server)"
msgstr "probar configuración de transporte (requiere un servidor externo)"
-#: src/transport/gnunet-transport.c:1055
+#: src/transport/gnunet-transport.c:1148
msgid "Direct access to transport service."
msgstr "Acceso directo al servicio de transporte."
-#: src/transport/plugin_transport_bluetooth.c:616
+#: src/transport/plugin_transport_bluetooth.c:618
#, fuzzy
msgid "# Bluetooth ACKs sent"
msgstr "# ACK WLAN enviados"
-#: src/transport/plugin_transport_bluetooth.c:635
+#: src/transport/plugin_transport_bluetooth.c:637
#, fuzzy
msgid "# Bluetooth messages defragmented"
msgstr "# mensajes defragmentados"
-#: src/transport/plugin_transport_bluetooth.c:681
-#: src/transport/plugin_transport_bluetooth.c:731
-#: src/transport/plugin_transport_bluetooth.c:1881
+#: src/transport/plugin_transport_bluetooth.c:683
+#: src/transport/plugin_transport_bluetooth.c:733
+#: src/transport/plugin_transport_bluetooth.c:1888
#, fuzzy
msgid "# Bluetooth sessions allocated"
msgstr "# sesiones WLAN alojadas"
-#: src/transport/plugin_transport_bluetooth.c:806
+#: src/transport/plugin_transport_bluetooth.c:808
#, fuzzy
msgid "# Bluetooth message fragments sent"
msgstr "# fragmentos de mensaje WLAN enviados"
-#: src/transport/plugin_transport_bluetooth.c:830
+#: src/transport/plugin_transport_bluetooth.c:832
#, fuzzy
msgid "# Bluetooth messages pending (with fragmentation)"
msgstr "# mensajes WLAN pendientes (con fragmentación)"
-#: src/transport/plugin_transport_bluetooth.c:938
-#: src/transport/plugin_transport_bluetooth.c:1023
-#: src/transport/plugin_transport_bluetooth.c:1883
+#: src/transport/plugin_transport_bluetooth.c:940
+#: src/transport/plugin_transport_bluetooth.c:1026
+#: src/transport/plugin_transport_bluetooth.c:1890
#, fuzzy
msgid "# Bluetooth MAC endpoints allocated"
msgstr "# MAC de destino WLAN alojadas"
-#: src/transport/plugin_transport_bluetooth.c:1250
+#: src/transport/plugin_transport_bluetooth.c:1254
#, fuzzy
msgid "# HELLO messages received via Bluetooth"
msgstr "# mensajes HELLO recibidos vía WLAN"
-#: src/transport/plugin_transport_bluetooth.c:1276
+#: src/transport/plugin_transport_bluetooth.c:1277
#, fuzzy
msgid "# fragments received via Bluetooth"
msgstr "# fragmentos recibidos vía WLAN"
-#: src/transport/plugin_transport_bluetooth.c:1286
+#: src/transport/plugin_transport_bluetooth.c:1287
#, fuzzy
msgid "# ACKs received via Bluetooth"
msgstr "# ACK recibidos vía WLAN"
-#: src/transport/plugin_transport_bluetooth.c:1343
+#: src/transport/plugin_transport_bluetooth.c:1347
#, fuzzy
msgid "# Bluetooth DATA messages discarded due to CRC32 error"
msgstr "# mensajes DATA WLAN descartados debido a un error en el CRC32"
-#: src/transport/plugin_transport_bluetooth.c:1455
+#: src/transport/plugin_transport_bluetooth.c:1458
#, fuzzy
msgid "# DATA messages received via Bluetooth"
msgstr "# mensajes «DATA» recibidos vía WLAN"
-#: src/transport/plugin_transport_bluetooth.c:1490
+#: src/transport/plugin_transport_bluetooth.c:1493
#, fuzzy
msgid "# Bluetooth DATA messages processed"
msgstr "# mensajes «DATA» WLAN procesados"
-#: src/transport/plugin_transport_bluetooth.c:1553
+#: src/transport/plugin_transport_bluetooth.c:1556
#, fuzzy
msgid "# HELLO beacons sent via Bluetooth"
msgstr "# «beacons HELLO» enviados vía WLAN"
-#: src/transport/plugin_transport_bluetooth.c:1666
+#: src/transport/plugin_transport_bluetooth.c:1669
#, fuzzy
msgid "Bluetooth address with invalid size encountered\n"
msgstr "Dirección WLAN con tamaño no válido encontrada\n"
-#: src/transport/plugin_transport_bluetooth.c:1862
+#: src/transport/plugin_transport_bluetooth.c:1869
#, fuzzy, c-format
msgid "Helper binary `%s' not SUID, cannot run bluetooth transport\n"
msgstr ""
"El ejecutable auxiliar «%s» no tiene activado el bit SUID, no se puede "
"ejecutar el transporte WLAN\n"
-#: src/transport/plugin_transport_http_client.c:1618
+#: src/transport/plugin_transport_http_client.c:1621
#, c-format
msgid "Could not initialize curl multi handle, failed to start %s plugin!\n"
msgstr ""
"¡No se pudo inicializar el multi-manejador de curl, no se pudo iniciar el "
"módulo %s!\n"
-#: src/transport/plugin_transport_http_client.c:1693
-#: src/transport/plugin_transport_http_server.c:3001
+#: src/transport/plugin_transport_http_client.c:1696
+#: src/transport/plugin_transport_http_server.c:3006
#, c-format
msgid "Shutting down plugin `%s'\n"
msgstr "Finalizando el módulo «%s»\n"
-#: src/transport/plugin_transport_http_client.c:1718
-#: src/transport/plugin_transport_http_server.c:3059
+#: src/transport/plugin_transport_http_client.c:1721
+#: src/transport/plugin_transport_http_server.c:3062
#, c-format
msgid "Shutdown for plugin `%s' complete\n"
msgstr "Finalización del módulo «%s» completa\n"
-#: src/transport/plugin_transport_http_client.c:1746
-#: src/transport/plugin_transport_http_server.c:2901
+#: src/transport/plugin_transport_http_client.c:1749
+#: src/transport/plugin_transport_http_server.c:2906
#, c-format
msgid "Maximum number of connections is %u\n"
msgstr "El número máximo de conexiones es %u\n"
-#: src/transport/plugin_transport_http_server.c:1416
+#: src/transport/plugin_transport_http_server.c:1402
#, c-format
msgid ""
"Access from connection %p (%u of %u) for `%s' `%s' url `%s' with upload data "
@@ -7243,12 +7357,12 @@ msgstr ""
"Acceso desde la conexión %p (%u de %u) para «%s» «%s» URL «%s» con tamaño de "
"los datos de subida %u\n"
-#: src/transport/plugin_transport_http_server.c:1680
+#: src/transport/plugin_transport_http_server.c:1663
#, c-format
msgid "Accepting connection (%u of %u) from `%s'\n"
msgstr "Aceptando conexión (%u de %u) desde «%s»\n"
-#: src/transport/plugin_transport_http_server.c:1688
+#: src/transport/plugin_transport_http_server.c:1671
#, c-format
msgid ""
"Server reached maximum number connections (%u), rejecting new connection\n"
@@ -7256,7 +7370,7 @@ msgstr ""
"El servidor ha alcanzado el número máximo de conexiones (%u), rechazando "
"nueva conexión\n"
-#: src/transport/plugin_transport_http_server.c:1974
+#: src/transport/plugin_transport_http_server.c:1957
msgid ""
"Could not create a new TLS certificate, program `gnunet-transport-"
"certificate-creation' could not be started!\n"
@@ -7264,89 +7378,89 @@ msgstr ""
"¡No se pudo crear un certificado TLS nuevo, el programa «gnunet-transport-"
"certificate-creation» no pudo ser iniciado!\n"
-#: src/transport/plugin_transport_http_server.c:1998
+#: src/transport/plugin_transport_http_server.c:1981
#, fuzzy, c-format
msgid "No usable TLS certificate found and creating one at `%s/%s' failed!\n"
msgstr ""
"¡No se encontró ningún certificado TLS útil y se produjo un fallo al crear "
"uno!\n"
-#: src/transport/plugin_transport_http_server.c:2405
+#: src/transport/plugin_transport_http_server.c:2404
msgid "Require valid port number for service in configuration!\n"
msgstr "¡Se necesita un puerto válido para el servicio en la configuración!\n"
-#: src/transport/plugin_transport_http_server.c:2437 src/util/service.c:696
+#: src/transport/plugin_transport_http_server.c:2436 src/util/service.c:696
#, c-format
msgid "Failed to resolve `%s': %s\n"
msgstr "Se produjo un fallo al resolver «%s»: %s\n"
-#: src/transport/plugin_transport_http_server.c:2454 src/util/service.c:713
+#: src/transport/plugin_transport_http_server.c:2453 src/util/service.c:713
#, c-format
msgid "Failed to find %saddress for `%s'.\n"
msgstr "No se encontró la dirección %s para «%s».\n"
-#: src/transport/plugin_transport_http_server.c:2565
+#: src/transport/plugin_transport_http_server.c:2564
#, c-format
msgid "Found %u addresses to report to NAT service\n"
msgstr "Encontradas %u direcciones para comunicar al servicio NAT\n"
-#: src/transport/plugin_transport_http_server.c:2637
+#: src/transport/plugin_transport_http_server.c:2636
msgid "Disabling IPv6 since it is not supported on this system!\n"
msgstr "¡Deshabilitando IPv6 ya que no está soportado en este sistema!\n"
-#: src/transport/plugin_transport_http_server.c:2724
+#: src/transport/plugin_transport_http_server.c:2729
#, c-format
msgid "IPv4 support is %s\n"
msgstr "El soporte IPv4 es %s\n"
-#: src/transport/plugin_transport_http_server.c:2738
+#: src/transport/plugin_transport_http_server.c:2743
#, c-format
msgid "IPv6 support is %s\n"
msgstr "El soporte IPv6 es %s\n"
-#: src/transport/plugin_transport_http_server.c:2745
+#: src/transport/plugin_transport_http_server.c:2750
msgid "Neither IPv4 nor IPv6 are enabled! Fix in configuration\n"
msgstr "¡Ni IPv4 ni IPv6 están habilitadas! Corrija la configuración\n"
-#: src/transport/plugin_transport_http_server.c:2756
+#: src/transport/plugin_transport_http_server.c:2761
msgid "Port is required! Fix in configuration\n"
msgstr "¡El puerto es necesario! Corrija la configuración\n"
-#: src/transport/plugin_transport_http_server.c:2763
+#: src/transport/plugin_transport_http_server.c:2768
#, c-format
msgid "Using port %u\n"
msgstr "Usando puerto %u\n"
-#: src/transport/plugin_transport_http_server.c:2778
+#: src/transport/plugin_transport_http_server.c:2783
#, c-format
msgid "Specific IPv4 address `%s' in configuration file is invalid!\n"
msgstr ""
"¡La dirección IPv4 «%s» especificada en el fichero de configuración no es "
"válida!\n"
-#: src/transport/plugin_transport_http_server.c:2788
+#: src/transport/plugin_transport_http_server.c:2793
#, c-format
msgid "Binding to IPv4 address %s\n"
msgstr "Asociando a la dirección IPv4 %s\n"
-#: src/transport/plugin_transport_http_server.c:2809
+#: src/transport/plugin_transport_http_server.c:2814
#, c-format
msgid "Specific IPv6 address `%s' in configuration file is invalid!\n"
msgstr ""
"¡La dirección IPv6 «%s» especificada en el fichero de configuración no es "
"válida!\n"
-#: src/transport/plugin_transport_http_server.c:2819
+#: src/transport/plugin_transport_http_server.c:2824
#, c-format
msgid "Binding to IPv6 address %s\n"
msgstr "Asociando a la dirección IPv6 %s\n"
-#: src/transport/plugin_transport_http_server.c:2871
+#: src/transport/plugin_transport_http_server.c:2876
#, c-format
msgid "Using external hostname `%s'\n"
msgstr "Usando nombre de máquina externo «%s»\n"
-#: src/transport/plugin_transport_http_server.c:2887
+#: src/transport/plugin_transport_http_server.c:2892
#, c-format
msgid "Notifying transport only about hostname `%s'\n"
msgstr "Notificando al transporte sólo el nombre de máquina «%s»\n"
@@ -7396,66 +7510,65 @@ msgstr "# bytes enviados vía SMTP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# bytes omitidos por SMTP (salientes)"
-#: src/transport/plugin_transport_tcp.c:576
+#: src/transport/plugin_transport_tcp.c:559
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr "Longitud de dirección inesperada: %u bytes\n"
-#: src/transport/plugin_transport_tcp.c:799
-#: src/transport/plugin_transport_tcp.c:980
-#: src/transport/plugin_transport_tcp.c:2120
-#: src/transport/plugin_transport_tcp.c:2723
+#: src/transport/plugin_transport_tcp.c:766
+#: src/transport/plugin_transport_tcp.c:930
+#: src/transport/plugin_transport_tcp.c:1973
+#: src/transport/plugin_transport_tcp.c:2527
msgid "# TCP sessions active"
msgstr "# Sesiones TCP activas"
-#: src/transport/plugin_transport_tcp.c:836
-#: src/transport/plugin_transport_tcp.c:973
-#: src/transport/plugin_transport_tcp.c:1062
-#: src/transport/plugin_transport_tcp.c:1112
-#: src/transport/plugin_transport_tcp.c:1291
-#: src/transport/plugin_transport_tcp.c:1310
+#: src/transport/plugin_transport_tcp.c:797
+#: src/transport/plugin_transport_tcp.c:923
+#: src/transport/plugin_transport_tcp.c:1009
+#: src/transport/plugin_transport_tcp.c:1056
+#: src/transport/plugin_transport_tcp.c:1219
+#: src/transport/plugin_transport_tcp.c:1237
msgid "# bytes currently in TCP buffers"
msgstr "# bytes actualmente en los buffer TCP"
-#: src/transport/plugin_transport_tcp.c:840
+#: src/transport/plugin_transport_tcp.c:800
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# bytes descartados por TCP (desconectado)"
-#: src/transport/plugin_transport_tcp.c:1066
+#: src/transport/plugin_transport_tcp.c:1012
msgid "# bytes discarded by TCP (timeout)"
msgstr "# bytes omitidos por TCP (expirados)"
-#: src/transport/plugin_transport_tcp.c:1115
+#: src/transport/plugin_transport_tcp.c:1059
msgid "# bytes transmitted via TCP"
msgstr "# bytes recibidos vía TCP"
-#: src/transport/plugin_transport_tcp.c:1264
+#: src/transport/plugin_transport_tcp.c:1193
#, c-format
msgid "Trying to send with invalid session %p\n"
msgstr "Intentando enviar con una sesión no válida %p\n"
-#: src/transport/plugin_transport_tcp.c:1521
-#: src/transport/plugin_transport_udp.c:1488
+#: src/transport/plugin_transport_tcp.c:1427
msgid "# requests to create session with invalid address"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1645
+#: src/transport/plugin_transport_tcp.c:1532
msgid "# transport-service disconnect requests for TCP"
msgstr "# peticiones de desconexión del servicio de transporte por TCP"
-#: src/transport/plugin_transport_tcp.c:2170
+#: src/transport/plugin_transport_tcp.c:2021
msgid "# TCP WELCOME messages received"
msgstr "# Mensajes «WELCOME» TCP recibidos"
-#: src/transport/plugin_transport_tcp.c:2355
+#: src/transport/plugin_transport_tcp.c:2189
msgid "# bytes received via TCP"
msgstr "# bytes recibidos vía TCP"
-#: src/transport/plugin_transport_tcp.c:2433
+#: src/transport/plugin_transport_tcp.c:2253
msgid "# network-level TCP disconnect events"
msgstr "# eventos de desconexión TCP a nivel de red"
-#: src/transport/plugin_transport_tcp.c:2602 src/util/service.c:589
+#: src/transport/plugin_transport_tcp.c:2407 src/util/service.c:589
#: src/util/service.c:595
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
@@ -7463,52 +7576,52 @@ msgstr ""
"¡Se requiere un número de puerto válido para el servicio «%s» en la "
"configuración!\n"
-#: src/transport/plugin_transport_tcp.c:2616
+#: src/transport/plugin_transport_tcp.c:2421
msgid "Failed to start service.\n"
msgstr "Se produjo un fallo al iniciar el servicio.\n"
-#: src/transport/plugin_transport_tcp.c:2712
+#: src/transport/plugin_transport_tcp.c:2516
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr "Transporte TCP escuchando en el puerto %llu\n"
-#: src/transport/plugin_transport_tcp.c:2715
+#: src/transport/plugin_transport_tcp.c:2520
msgid "TCP transport not listening on any port (client only)\n"
msgstr "Transporte TCP no escuchando en ningún puerto (únicamente cliente)\n"
-#: src/transport/plugin_transport_tcp.c:2718
+#: src/transport/plugin_transport_tcp.c:2523
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr "El transporte TCP anuncia que está en el puerto %llu\n"
-#: src/transport/plugin_transport_udp_broadcasting.c:173
+#: src/transport/plugin_transport_udp_broadcasting.c:167
msgid "# IPv6 multicast HELLO beacons received via udp"
msgstr "# beacons HELLO multicast IPv6 recibidos vía UDP"
-#: src/transport/plugin_transport_udp_broadcasting.c:222
+#: src/transport/plugin_transport_udp_broadcasting.c:210
msgid "# IPv4 broadcast HELLO beacons received via udp"
msgstr "# beacons HELLO broadcast IPv4 recibidos vía UDP"
-#: src/transport/plugin_transport_udp_broadcasting.c:606
+#: src/transport/plugin_transport_udp_broadcasting.c:594
msgid ""
"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:629
+#: src/transport/plugin_transport_udp_broadcasting.c:617
#, c-format
msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
msgstr ""
"Se produjo un fallo al establecer la opción de «broadcast» IPv4 para el "
"«socket» en el puerto %d\n"
-#: src/transport/plugin_transport_udp.c:1599
+#: src/transport/plugin_transport_udp.c:1406
#, c-format
msgid ""
"Trying to create session for address of unexpected length %u (should be %u "
"or %u)\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2680
+#: src/transport/plugin_transport_udp.c:2474
#, c-format
msgid ""
"UDP could not transmit message to `%s': Network seems down, please check "
@@ -7517,7 +7630,7 @@ msgstr ""
"UDP no pudo transmitir el mensaje a «%s»: La red parece caída, por favor, "
"compruebe su configuración de red\n"
-#: src/transport/plugin_transport_udp.c:2694
+#: src/transport/plugin_transport_udp.c:2488
#, fuzzy
msgid ""
"UDP could not transmit IPv6 message! Please check your network configuration "
@@ -7527,91 +7640,91 @@ msgstr ""
"configuración de red y deshabilite IPv6 si su conexión carece de una "
"dirección IPv6 global\n"
-#: src/transport/plugin_transport_udp.c:2993
+#: src/transport/plugin_transport_udp.c:2817
msgid "Failed to open UDP sockets\n"
msgstr "Se produjo un fallo al abrir los «sockets» UDP\n"
-#: src/transport/plugin_transport_udp.c:3091
+#: src/transport/plugin_transport_udp.c:2912
#, c-format
msgid "Given `%s' option is out of range: %llu > %u\n"
msgstr "La opción «%s» dada está fuera de rango: %llu > %u\n"
-#: src/transport/plugin_transport_udp.c:3134
+#: src/transport/plugin_transport_udp.c:2951
#, c-format
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Dirección IPv6 no válida: «%s»\n"
-#: src/transport/plugin_transport_udp.c:3200
+#: src/transport/plugin_transport_udp.c:3021
#, fuzzy
msgid "Failed to create network sockets, plugin failed\n"
msgstr "Se produjo un fallo al crear una nueva firma"
-#: src/transport/plugin_transport_unix.c:1657
+#: src/transport/plugin_transport_unix.c:1624
#, fuzzy
msgid "Failed to open UNIX listen socket\n"
msgstr "Se produjo un fallo al abrir los «sockets» UNIX\n"
-#: src/transport/plugin_transport_wlan.c:623
+#: src/transport/plugin_transport_wlan.c:625
msgid "# WLAN ACKs sent"
msgstr "# ACK WLAN enviados"
-#: src/transport/plugin_transport_wlan.c:642
+#: src/transport/plugin_transport_wlan.c:644
msgid "# WLAN messages defragmented"
msgstr "# mensajes WLAN defragmentados"
-#: src/transport/plugin_transport_wlan.c:691
-#: src/transport/plugin_transport_wlan.c:778
-#: src/transport/plugin_transport_wlan.c:1937
+#: src/transport/plugin_transport_wlan.c:693
+#: src/transport/plugin_transport_wlan.c:780
+#: src/transport/plugin_transport_wlan.c:1952
msgid "# WLAN sessions allocated"
msgstr "# sesiones WLAN alojadas"
-#: src/transport/plugin_transport_wlan.c:883
+#: src/transport/plugin_transport_wlan.c:886
msgid "# WLAN message fragments sent"
msgstr "# fragmentos de mensaje WLAN enviados"
-#: src/transport/plugin_transport_wlan.c:907
+#: src/transport/plugin_transport_wlan.c:910
msgid "# WLAN messages pending (with fragmentation)"
msgstr "# mensajes WLAN pendientes (con fragmentación)"
-#: src/transport/plugin_transport_wlan.c:1015
-#: src/transport/plugin_transport_wlan.c:1101
-#: src/transport/plugin_transport_wlan.c:1939
+#: src/transport/plugin_transport_wlan.c:1018
+#: src/transport/plugin_transport_wlan.c:1105
+#: src/transport/plugin_transport_wlan.c:1954
msgid "# WLAN MAC endpoints allocated"
msgstr "# MAC de destino WLAN alojadas"
-#: src/transport/plugin_transport_wlan.c:1297
+#: src/transport/plugin_transport_wlan.c:1301
msgid "# HELLO messages received via WLAN"
msgstr "# mensajes HELLO recibidos vía WLAN"
-#: src/transport/plugin_transport_wlan.c:1323
+#: src/transport/plugin_transport_wlan.c:1325
msgid "# fragments received via WLAN"
msgstr "# fragmentos recibidos vía WLAN"
-#: src/transport/plugin_transport_wlan.c:1333
+#: src/transport/plugin_transport_wlan.c:1335
msgid "# ACKs received via WLAN"
msgstr "# ACK recibidos vía WLAN"
-#: src/transport/plugin_transport_wlan.c:1390
+#: src/transport/plugin_transport_wlan.c:1395
msgid "# WLAN DATA messages discarded due to CRC32 error"
msgstr "# mensajes DATA WLAN descartados debido a un error en el CRC32"
-#: src/transport/plugin_transport_wlan.c:1511
+#: src/transport/plugin_transport_wlan.c:1517
msgid "# DATA messages received via WLAN"
msgstr "# mensajes «DATA» recibidos vía WLAN"
-#: src/transport/plugin_transport_wlan.c:1546
+#: src/transport/plugin_transport_wlan.c:1552
msgid "# WLAN DATA messages processed"
msgstr "# mensajes «DATA» WLAN procesados"
-#: src/transport/plugin_transport_wlan.c:1609
+#: src/transport/plugin_transport_wlan.c:1620
msgid "# HELLO beacons sent via WLAN"
msgstr "# «beacons HELLO» enviados vía WLAN"
-#: src/transport/plugin_transport_wlan.c:1722
+#: src/transport/plugin_transport_wlan.c:1733
msgid "WLAN address with invalid size encountered\n"
msgstr "Dirección WLAN con tamaño no válido encontrada\n"
-#: src/transport/plugin_transport_wlan.c:1918
+#: src/transport/plugin_transport_wlan.c:1933
#, c-format
msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
msgstr ""
@@ -8094,6 +8207,27 @@ msgstr "realizar una búsqueda inversa"
msgid "Use build-in GNUnet stub resolver"
msgstr "Utilizar el resolvedor interno para pruebas de GNUnet"
+#: src/util/gnunet-scrypt.c:279
+msgid "number of bits to require for the proof of work"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:282
+msgid "file with private key, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:285
+msgid "file with proof of work, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:288
+msgid "time to wait between calculations"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:299
+#, fuzzy
+msgid "Manipulate GNUnet proof of work files"
+msgstr "Manipular los ficheros de clave privada ECC de GNUnet"
+
#: src/util/gnunet-service-resolver.c:283
#, c-format
msgid "Could not resolve `%s' (%s): %s\n"
@@ -8386,118 +8520,118 @@ msgstr "señal (%d, %p) devolvió %d.\n"
msgid "b"
msgstr "b"
-#: src/util/strings.c:444
+#: src/util/strings.c:433
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr "Los conjuntos de caracteres pedidos fueron «%s»->«%s»\n"
-#: src/util/strings.c:572
+#: src/util/strings.c:561
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
"Se produjo un fallo al expandir «$HOME»: variable de entorno «HOME» no "
"establecida"
-#: src/util/strings.c:669
+#: src/util/strings.c:658
msgid "µs"
msgstr ""
-#: src/util/strings.c:673
+#: src/util/strings.c:662
msgid "forever"
msgstr "para siempre"
-#: src/util/strings.c:675
+#: src/util/strings.c:664
msgid "0 ms"
msgstr "0 ms"
-#: src/util/strings.c:681
+#: src/util/strings.c:670
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:687
+#: src/util/strings.c:676
msgid "s"
msgstr "s"
-#: src/util/strings.c:693
+#: src/util/strings.c:682
msgid "m"
msgstr "m"
-#: src/util/strings.c:699
+#: src/util/strings.c:688
msgid "h"
msgstr "h"
-#: src/util/strings.c:706
+#: src/util/strings.c:695
msgid "day"
msgstr "día"
-#: src/util/strings.c:708
+#: src/util/strings.c:697
msgid "days"
msgstr "días"
-#: src/util/strings.c:737
+#: src/util/strings.c:726
msgid "end of time"
msgstr "fin del plazo"
-#: src/util/strings.c:1170
+#: src/util/strings.c:1159
msgid "IPv6 address did not start with `['\n"
msgstr "La dirección IPv6 no empezaba con «[»\n"
-#: src/util/strings.c:1178
+#: src/util/strings.c:1167
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr "La dirección IPv6 contenía «:» para separar el número de puerto\n"
-#: src/util/strings.c:1184
+#: src/util/strings.c:1173
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
"La dirección IPv6 contenía «]» antes de «:» para separar el número de "
"puerto\n"
-#: src/util/strings.c:1191
+#: src/util/strings.c:1180
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
"La dirección IPv6 contenía un número de puerto válido después del último "
"«:»\n"
-#: src/util/strings.c:1200
+#: src/util/strings.c:1189
#, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Dirección IPv6 «%s» no válida: %s\n"
-#: src/util/strings.c:1406 src/util/strings.c:1422
+#: src/util/strings.c:1395 src/util/strings.c:1411
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1431
+#: src/util/strings.c:1420
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Se produjo un fallo al iniciar el servicio «%s»\n"
-#: src/util/strings.c:1514 src/util/strings.c:1545 src/util/strings.c:1593
-#: src/util/strings.c:1614
+#: src/util/strings.c:1503 src/util/strings.c:1534 src/util/strings.c:1582
+#: src/util/strings.c:1603
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Formato no válido para la IP: «%s»\n"
-#: src/util/strings.c:1571
+#: src/util/strings.c:1560
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Notación de red no válida («/%d» no es válido en IPv4 CIDR)."
-#: src/util/strings.c:1623
+#: src/util/strings.c:1612
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Formato de tiempo no válido «%s»\n"
-#: src/util/strings.c:1675
+#: src/util/strings.c:1664
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Notación de red no válida (no termina con «;»: «%s»)\n"
-#: src/util/strings.c:1725
+#: src/util/strings.c:1714
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Formato «%s» erroneo para máscara de red\n"
-#: src/util/strings.c:1756
+#: src/util/strings.c:1745
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Formato «%s» erroneo para red\n"
@@ -8694,6 +8828,32 @@ msgstr "Violación externa del protocolo detectada en %s:%d.\n"
msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr "«%s» falló en el fichero «%s» en %s:%d con el error: %s\n"
+#, fuzzy
+#~ msgid "provide information about a particular channel"
+#~ msgstr "proveer información acerca de un túnel en particular"
+
+#, fuzzy
+#~ msgid "provide information about a particular connection"
+#~ msgstr "proveer información acerca de un túnel en particular"
+
+#~ msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
+#~ msgstr ""
+#~ "proveer información acerca de todos los túneles (de forma continua) SIN "
+#~ "IMPLEMENTAR"
+
+#~ msgid "NSE service is lacking key configuration settings. Exiting.\n"
+#~ msgstr ""
+#~ "El servicio NSE carece de opciones de configuración de clave. Saliendo.\n"
+
+#~ msgid "Could not find option `%s:%s' in configuration.\n"
+#~ msgstr "No se pudo encontrar la opción «%s:%s» en la configuración.\n"
+
+#~ msgid "Peer `%s': %s <unable to resolve address>\n"
+#~ msgstr "Par «%s»: %s <no se puede resolver la dirección>\n"
+
+#~ msgid "Peer `%s' disconnected\n"
+#~ msgstr "Par «%s» desconectado\n"
+
#~ msgid "Transport plugin: `%s' port %llu\n"
#~ msgstr "Módulo de transporte: «%s» puerto %llu\n"
@@ -9385,9 +9545,6 @@ msgstr "«%s» falló en el fichero «%s» en %s:%d con el error: %s\n"
#~ msgstr ""
#~ "El fichero de configuración «%s» para el servicio «%s» no es válido: %s\n"
-#~ msgid "option missing"
-#~ msgstr "falta una opción"
-
#~ msgid "Transmitting shutdown ACK.\n"
#~ msgstr "Transmitiendo el reconocimiento de finalización.\n"
@@ -9712,9 +9869,6 @@ msgstr "«%s» falló en el fichero «%s» en %s:%d con el error: %s\n"
#~ msgstr ""
#~ "No se pudo iniciar el proceso «%s» para crear la clave de máquina.\n"
-#~ msgid "Failed to start `gnunet-peerinfo' process.\n"
-#~ msgstr "Se produjo un fallo al iniciar el proceso «gnunet-peerinfo».\n"
-
#~ msgid "Failed to start `ssh' process.\n"
#~ msgstr "Se produjo un fallo al iniciar el proceso «ssh».\n"
@@ -9724,9 +9878,6 @@ msgstr "«%s» falló en el fichero «%s» en %s:%d con el error: %s\n"
#~ msgid "Malformed output from gnunet-peerinfo!\n"
#~ msgstr "¡Salida mal formada de «gnunet-peerinfo»!\n"
-#~ msgid "`Failed while waiting for topology setup!\n"
-#~ msgstr "¡Falló mientras se esperaba la configuración topológica!\n"
-
#~ msgid "Could not start `%s' process to start GNUnet.\n"
#~ msgstr "No se pudo iniciar el proceso «%s» para iniciar GNUnet.\n"
@@ -12982,9 +13133,6 @@ msgstr "«%s» falló en el fichero «%s» en %s:%d con el error: %s\n"
#~ "%s\n"
#~ "\n"
-#~ msgid "Invalid argument for `%s' at %s:%d.\n"
-#~ msgstr "Argumento no válido para '%s' en %s:%d.\n"
-
#~ msgid "g"
#~ msgstr "g"
diff --git a/po/sv.po b/po/sv.po
index 286a17b9bf..ae91cb6f45 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2014-01-05 13:20+0100\n"
+"POT-Creation-Date: 2014-01-14 18:39+0100\n"
"PO-Revision-Date: 2006-01-21 17:16+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -356,49 +356,49 @@ msgstr "mottog ogiltigt \"%s\" meddelande\n"
msgid "Received last message for %s \n"
msgstr "Mottog ogiltigt \"%s\" meddelande från \"%s\".\n"
-#: src/ats/gnunet-service-ats_addresses.c:1948
-#: src/ats/gnunet-service-ats_addresses.c:1992
+#: src/ats/gnunet-service-ats_addresses.c:1974
+#: src/ats/gnunet-service-ats_addresses.c:2018
#, c-format
msgid ""
"Could not load quota for network `%s': `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1955
+#: src/ats/gnunet-service-ats_addresses.c:1981
#, c-format
msgid "Outbound quota configure for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1963
+#: src/ats/gnunet-service-ats_addresses.c:1989
#, c-format
msgid ""
"No outbound quota configured for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1999
+#: src/ats/gnunet-service-ats_addresses.c:2025
#, c-format
msgid "Inbound quota configured for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2007
+#: src/ats/gnunet-service-ats_addresses.c:2033
#, c-format
msgid ""
"No outbound quota configure for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2184
+#: src/ats/gnunet-service-ats_addresses.c:2211
#, c-format
msgid "Initializing solver `%s '`%s'\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2187
+#: src/ats/gnunet-service-ats_addresses.c:2214
#, fuzzy, c-format
msgid "Failed to initialize solver `%s'!\n"
msgstr "Kunde inte initiera SQLite.\n"
-#: src/ats/gnunet-service-ats_addresses.c:2210
+#: src/ats/gnunet-service-ats_addresses.c:2237
#, fuzzy
msgid "Failed to initialize solver!\n"
msgstr "Kunde inte initiera SQLite.\n"
@@ -476,12 +476,12 @@ msgid "Quota for network `%11s' (in/out): %10s / %10s\n"
msgstr ""
#: src/ats-tool/gnunet-ats.c:352 src/namestore/gnunet-namestore.c:550
-#: src/transport/gnunet-transport.c:829
+#: src/transport/gnunet-transport.c:940
#, fuzzy, c-format
msgid "Service `%s' is not running\n"
msgstr "\"%s\" är inte en fil.\n"
-#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:838
+#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:949
#, fuzzy, c-format
msgid "Failed to parse peer identity `%s'\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
@@ -564,6 +564,7 @@ msgid "Print information about ATS state"
msgstr "Skriv ut information om GNUnets motparter."
#: src/consensus/gnunet-consensus-profiler.c:420
+#: src/secretsharing/gnunet-secretsharing-profiler.c:300
#, fuzzy
msgid "number of peers in consensus"
msgstr "antal iterationer"
@@ -585,6 +586,7 @@ msgid "consensus timeout"
msgstr "# sessionsnycklar accepterade"
#: src/consensus/gnunet-consensus-profiler.c:432
+#: src/secretsharing/gnunet-secretsharing-profiler.c:309
msgid "be more verbose (print received values)"
msgstr ""
@@ -593,255 +595,260 @@ msgstr ""
msgid "Connection to conversation service lost, trying to reconnect\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:252
+#: src/conversation/gnunet-conversation.c:264
#, c-format
msgid "Incoming call from `%s'. Please /accept #%u or /cancel %u the call.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:274
+#: src/conversation/gnunet-conversation.c:286
#, c-format
msgid "Call from `%s' terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:307
+#: src/conversation/gnunet-conversation.c:319
#, c-format
msgid "Call from `%s' suspended by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:312
+#: src/conversation/gnunet-conversation.c:324
#, c-format
msgid "Call from `%s' resumed by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:330
+#: src/conversation/gnunet-conversation.c:342
#, c-format
msgid "Ego `%s' no longer available, phone is now down.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:344
+#: src/conversation/gnunet-conversation.c:356
#, fuzzy
msgid "Failed to setup phone (internal error)\n"
msgstr "Kunde inte skapa värdnyckel!\n"
-#: src/conversation/gnunet-conversation.c:356
+#: src/conversation/gnunet-conversation.c:368
#, c-format
msgid ""
"Phone active on line %u. Type `/help' for a list of available commands\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:378
+#: src/conversation/gnunet-conversation.c:390
#, c-format
msgid "Resolved address of `%s'. Now ringing other party.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:385
+#: src/conversation/gnunet-conversation.c:397
#, fuzzy, c-format
msgid "Connection established to `%s'\n"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-#: src/conversation/gnunet-conversation.c:392
+#: src/conversation/gnunet-conversation.c:404
#, fuzzy, c-format
msgid "Failed to resolve `%s'\n"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-#: src/conversation/gnunet-conversation.c:399
+#: src/conversation/gnunet-conversation.c:411
msgid "Call terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:405
+#: src/conversation/gnunet-conversation.c:417
#, c-format
msgid "Connection to `%s' suspended (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:411
+#: src/conversation/gnunet-conversation.c:423
#, c-format
msgid "Connection to `%s' resumed (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:416
+#: src/conversation/gnunet-conversation.c:428
msgid "Error with the call, restarting it\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:483
+#: src/conversation/gnunet-conversation.c:495
#, fuzzy, c-format
msgid "Unknown command `%s'\n"
msgstr "Okänd operation \"%s\"\n"
-#: src/conversation/gnunet-conversation.c:499
-#: src/conversation/gnunet-conversation.c:513
+#: src/conversation/gnunet-conversation.c:511
+#: src/conversation/gnunet-conversation.c:525
#, c-format
msgid "Ego `%s' not available\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:506
-#: src/conversation/gnunet-conversation.c:563
+#: src/conversation/gnunet-conversation.c:518
+#: src/conversation/gnunet-conversation.c:575
msgid "You are calling someone else already, hang up first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:521
-#: src/conversation/gnunet-conversation.c:576
+#: src/conversation/gnunet-conversation.c:533
+#: src/conversation/gnunet-conversation.c:588
#, c-format
msgid "You are answering call from `%s', hang up or suspend that call first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:532
+#: src/conversation/gnunet-conversation.c:544
msgid "Call recipient missing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:587
+#: src/conversation/gnunet-conversation.c:599
msgid "There is no incoming call to accept here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:604
+#: src/conversation/gnunet-conversation.c:616
#, c-format
msgid "There is no incoming call `%s' to accept right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:632
+#: src/conversation/gnunet-conversation.c:644
msgid "We currently do not have an address.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:655
+#: src/conversation/gnunet-conversation.c:667
#, c-format
msgid "We are currently trying to locate the private key for the ego `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:660
+#: src/conversation/gnunet-conversation.c:672
#, c-format
msgid "We are listening for incoming calls for ego `%s' on line %u.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:666
-#: src/conversation/gnunet-conversation.c:690
+#: src/conversation/gnunet-conversation.c:678
+#: src/conversation/gnunet-conversation.c:702
#, c-format
msgid "You are having a conversation with `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:671
+#: src/conversation/gnunet-conversation.c:683
msgid ""
"We had an internal error setting up our phone line. You can still make "
"calls.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:680
+#: src/conversation/gnunet-conversation.c:692
#, c-format
msgid "We are trying to find the network address to call `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:685
+#: src/conversation/gnunet-conversation.c:697
#, c-format
msgid "We are calling `%s', his phone should be ringing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:704
+#: src/conversation/gnunet-conversation.c:716
msgid "Calls waiting:\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:710
+#: src/conversation/gnunet-conversation.c:722
#, fuzzy, c-format
msgid "#%u: `%s'\n"
msgstr "Jag är ändpunkt \"%s\".\n"
-#: src/conversation/gnunet-conversation.c:738
-#: src/conversation/gnunet-conversation.c:753
+#: src/conversation/gnunet-conversation.c:750
+#: src/conversation/gnunet-conversation.c:765
msgid "There is no call that could be suspended right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:786
-#: src/conversation/gnunet-conversation.c:802
+#: src/conversation/gnunet-conversation.c:798
+#: src/conversation/gnunet-conversation.c:814
msgid "There is no call that could be resumed right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:809
+#: src/conversation/gnunet-conversation.c:821
#, c-format
msgid "Already talking with `%s', cannot resume a call right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:818
+#: src/conversation/gnunet-conversation.c:830
msgid "There is no incoming call to resume here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:835
+#: src/conversation/gnunet-conversation.c:847
#, c-format
msgid "There is no incoming call `%s' to resume right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:870
+#: src/conversation/gnunet-conversation.c:882
msgid "There is no call that could be cancelled right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:878
+#: src/conversation/gnunet-conversation.c:890
msgid "There is no incoming call to refuse here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:895
+#: src/conversation/gnunet-conversation.c:907
#, c-format
msgid "There is no incoming call `%s' to refuse right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:922
+#: src/conversation/gnunet-conversation.c:934
msgid "Use `/address' to find out which address this phone should have in GNS"
msgstr ""
-#: src/conversation/gnunet-conversation.c:924
+#: src/conversation/gnunet-conversation.c:936
msgid "Use `/call USER.gnu' to call USER"
msgstr ""
-#: src/conversation/gnunet-conversation.c:926
+#: src/conversation/gnunet-conversation.c:938
msgid "Use `/accept #NUM' to accept incoming call #NUM"
msgstr ""
-#: src/conversation/gnunet-conversation.c:928
+#: src/conversation/gnunet-conversation.c:940
msgid "Use `/suspend' to suspend the active call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:930
+#: src/conversation/gnunet-conversation.c:942
msgid ""
"Use `/resume [#NUM]' to resume a call, #NUM is needed to resume incoming "
"calls, no argument is needed to resume the current outgoing call."
msgstr ""
-#: src/conversation/gnunet-conversation.c:932
+#: src/conversation/gnunet-conversation.c:944
msgid "Use `/cancel' to reject or terminate a call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:934
+#: src/conversation/gnunet-conversation.c:946
msgid "Use `/status' to print status information"
msgstr ""
-#: src/conversation/gnunet-conversation.c:936
+#: src/conversation/gnunet-conversation.c:948
#, fuzzy
msgid "Use `/quit' to terminate gnunet-conversation"
msgstr "tillåter klienter att fastställa gnunetds konfiguration"
-#: src/conversation/gnunet-conversation.c:938
+#: src/conversation/gnunet-conversation.c:950
msgid "Use `/help command' to get help for a specific command"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1093
+#: src/conversation/gnunet-conversation.c:1148
#, fuzzy, c-format
msgid "Name of our ego changed to `%s'\n"
msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-#: src/conversation/gnunet-conversation.c:1106
+#: src/conversation/gnunet-conversation.c:1161
#, fuzzy, c-format
msgid "Our ego `%s' was deleted!\n"
msgstr "Pseudonym \"%s\" togs bort.\n"
-#: src/conversation/gnunet-conversation.c:1141
+#: src/conversation/gnunet-conversation.c:1196
#, fuzzy
msgid "You must specify the NAME of an ego to use\n"
msgstr "Du måste ange en lista av filer att lägga in.\n"
-#: src/conversation/gnunet-conversation.c:1167
+#: src/conversation/gnunet-conversation.c:1220
+#, fuzzy
+msgid "Failed to start gnunet-helper-w32-console\n"
+msgstr "Misslyckades att starta samling.\n"
+
+#: src/conversation/gnunet-conversation.c:1246
msgid "sets the NAME of the ego to use for the phone (and name resolution)"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1170
+#: src/conversation/gnunet-conversation.c:1249
msgid "sets the LINE to use for the phone"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1185
+#: src/conversation/gnunet-conversation.c:1273
msgid "Enables having a conversation with other GNUnet users."
msgstr ""
@@ -884,13 +891,13 @@ msgid "gnunet-helper-audio-playback - Got signal, exiting\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:211
-#: src/conversation/gnunet-helper-audio-record.c:362
+#: src/conversation/gnunet-helper-audio-record.c:365
#, fuzzy
msgid "Connection established.\n"
msgstr "Samling stoppad.\n"
#: src/conversation/gnunet-helper-audio-playback.c:216
-#: src/conversation/gnunet-helper-audio-record.c:367
+#: src/conversation/gnunet-helper-audio-record.c:370
#, fuzzy, c-format
msgid "pa_stream_new() failed: %s\n"
msgstr "\"%s\" %s misslyckades: %s\n"
@@ -901,36 +908,36 @@ msgid "pa_stream_connect_playback() failed: %s\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:243
-#: src/conversation/gnunet-helper-audio-record.c:393
+#: src/conversation/gnunet-helper-audio-record.c:396
#, fuzzy, c-format
msgid "Connection failure: %s\n"
msgstr " Anslutning misslyckades (fel?)\n"
#: src/conversation/gnunet-helper-audio-playback.c:264
-#: src/conversation/gnunet-helper-audio-record.c:416
+#: src/conversation/gnunet-helper-audio-record.c:419
msgid "Wrong Spec\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:270
-#: src/conversation/gnunet-helper-audio-record.c:422
+#: src/conversation/gnunet-helper-audio-record.c:425
#, fuzzy
msgid "pa_mainloop_new() failed.\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
#: src/conversation/gnunet-helper-audio-playback.c:284
-#: src/conversation/gnunet-helper-audio-record.c:437
+#: src/conversation/gnunet-helper-audio-record.c:440
#, fuzzy
msgid "pa_context_new() failed.\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
#: src/conversation/gnunet-helper-audio-playback.c:291
-#: src/conversation/gnunet-helper-audio-record.c:443
+#: src/conversation/gnunet-helper-audio-record.c:446
#, fuzzy, c-format
msgid "pa_context_connect() failed: %s\n"
msgstr "# av anslutna parter"
#: src/conversation/gnunet-helper-audio-playback.c:297
-#: src/conversation/gnunet-helper-audio-record.c:449
+#: src/conversation/gnunet-helper-audio-record.c:452
#, fuzzy
msgid "pa_mainloop_run() failed.\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
@@ -940,46 +947,51 @@ msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
msgid "Read error from STDIN: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:237
+#: src/conversation/gnunet-helper-audio-playback-gst.c:341
+#, c-format
+msgid "Read error from STDIN: %d %s\n"
+msgstr ""
+
+#: src/conversation/gnunet-helper-audio-record.c:240
#, fuzzy, c-format
msgid "pa_stream_peek() failed: %s\n"
msgstr "\"%s\" %s misslyckades: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:275
+#: src/conversation/gnunet-helper-audio-record.c:278
msgid "Got signal, exiting.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:300
+#: src/conversation/gnunet-helper-audio-record.c:303
#, fuzzy
msgid "Stream successfully created.\n"
msgstr "Åtkomst nekad för \"%s\" vid %s:%d.\n"
-#: src/conversation/gnunet-helper-audio-record.c:305
+#: src/conversation/gnunet-helper-audio-record.c:308
#, fuzzy, c-format
msgid "pa_stream_get_buffer_attr() failed: %s\n"
msgstr "\"%s\" %s misslyckades: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:313
+#: src/conversation/gnunet-helper-audio-record.c:316
#, c-format
msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:317
+#: src/conversation/gnunet-helper-audio-record.c:320
#, c-format
msgid "Using sample spec '%s', channel map '%s'.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:324
+#: src/conversation/gnunet-helper-audio-record.c:327
#, fuzzy, c-format
msgid "Connected to device %s (%u, %ssuspended).\n"
msgstr "\"%s\" ansluten till \"%s\".\n"
-#: src/conversation/gnunet-helper-audio-record.c:333
+#: src/conversation/gnunet-helper-audio-record.c:336
#, c-format
msgid "Stream error: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:380
+#: src/conversation/gnunet-helper-audio-record.c:383
#, fuzzy, c-format
msgid "pa_stream_connect_record() failed: %s\n"
msgstr ""
@@ -1026,17 +1038,17 @@ msgid "Peer `%s'\n"
msgstr "Jag är ändpunkt \"%s\".\n"
#: src/core/gnunet-core.c:110 src/core/gnunet-core.c:138
-#: src/transport/gnunet-transport.c:609 src/transport/gnunet-transport.c:634
+#: src/transport/gnunet-transport.c:630 src/transport/gnunet-transport.c:650
#, c-format
msgid "%24s: %-17s %4s (%u connections in total)\n"
msgstr ""
-#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:611
+#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:631
#, fuzzy
msgid "Connected to"
msgstr "\"%s\" ansluten till \"%s\".\n"
-#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:636
+#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:651
#, fuzzy
msgid "Disconnected from"
msgstr "\"%s\" ansluten till \"%s\".\n"
@@ -1046,7 +1058,7 @@ msgstr "\"%s\" ansluten till \"%s\".\n"
msgid "Invalid command line argument `%s'\n"
msgstr "Ogiltiga kommandoradsargument:\n"
-#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1028
+#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1127
#, fuzzy
msgid "provide information about all current connections (continuously)"
msgstr "Skriv ut information om GNUnets motparter."
@@ -1118,7 +1130,7 @@ msgid "# EPHEMERAL_KEY messages received"
msgstr "# PING-meddelanden skapade"
#: src/core/gnunet-service-core_kx.c:950
-#: src/transport/gnunet-service-transport_validation.c:974
+#: src/transport/gnunet-service-transport_validation.c:968
#, fuzzy
msgid "# PING messages received"
msgstr "# PING-meddelanden skapade"
@@ -1151,7 +1163,7 @@ msgid "# keepalive messages sent"
msgstr "# PING-meddelanden i klartext skickade"
#: src/core/gnunet-service-core_kx.c:1095
-#: src/transport/gnunet-service-transport_validation.c:1285
+#: src/transport/gnunet-service-transport_validation.c:1280
#, fuzzy
msgid "# PONG messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
@@ -1256,11 +1268,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:604 src/fs/gnunet-service-fs_cp.c:1499
#: src/topology/gnunet-daemon-topology.c:706
#: src/topology/gnunet-daemon-topology.c:807
-#: src/transport/gnunet-service-transport_neighbours.c:929
-#: src/transport/gnunet-service-transport_neighbours.c:1161
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:3015
-#: src/transport/gnunet-service-transport_neighbours.c:3291
+#: src/transport/gnunet-service-transport_neighbours.c:837
+#: src/transport/gnunet-service-transport_neighbours.c:1069
+#: src/transport/gnunet-service-transport_neighbours.c:1078
+#: src/transport/gnunet-service-transport_neighbours.c:2920
+#: src/transport/gnunet-service-transport_neighbours.c:3181
#, fuzzy
msgid "# peers connected"
msgstr "# av anslutna parter"
@@ -1339,6 +1351,9 @@ msgstr ""
#: src/namecache/plugin_namecache_sqlite.c:52
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:52
+#: src/testbed/generate-underlay-topology.c:47
+#: src/testbed/gnunet-daemon-latency-logger.c:52
+#: src/testbed/gnunet-daemon-testbed-underlay.c:55
#: src/testbed/testbed_api_hosts.c:69 src/util/crypto_ecc.c:51
#: src/include/gnunet_common.h:602 src/include/gnunet_common.h:611
#: src/scalarproduct/scalarproduct.h:61
@@ -1670,6 +1685,9 @@ msgid "Postgres database running\n"
msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:57
+#: src/testbed/generate-underlay-topology.c:50
+#: src/testbed/gnunet-daemon-latency-logger.c:55
+#: src/testbed/gnunet-daemon-testbed-underlay.c:58
#, fuzzy, c-format
msgid "`%s' failed at %s:%u with error: %s"
msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
@@ -3392,7 +3410,7 @@ msgid "Option `%s' is required when using option `%s'.\n"
msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n"
#: src/fs/gnunet-publish.c:778 src/fs/gnunet-publish.c:785
-#: src/transport/gnunet-transport.c:865 src/transport/gnunet-transport.c:899
+#: src/transport/gnunet-transport.c:977 src/transport/gnunet-transport.c:1007
#, c-format
msgid "Option `%s' makes no sense without option `%s'.\n"
msgstr ""
@@ -4040,8 +4058,8 @@ msgstr ""
#: src/hostlist/hostlist-client.c:741 src/hostlist/hostlist-client.c:750
#: src/hostlist/hostlist-client.c:871 src/hostlist/hostlist-client.c:963
#: src/hostlist/hostlist-client.c:968
-#: src/transport/plugin_transport_http_client.c:1070
-#: src/transport/plugin_transport_http_client.c:1085
+#: src/transport/plugin_transport_http_client.c:1062
+#: src/transport/plugin_transport_http_client.c:1077
#, fuzzy, c-format
msgid "%s failed at %s:%d: `%s'\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
@@ -4333,37 +4351,37 @@ msgstr "Fel vid skapandet av användare"
msgid "Modified %u addresses \n"
msgstr ""
-#: src/hello/hello.c:943
+#: src/hello/hello.c:944
#, fuzzy
msgid "Failed to parse HELLO message: missing expiration time\n"
msgstr "Kunde inte spara konfiguration!"
-#: src/hello/hello.c:952
+#: src/hello/hello.c:953
#, fuzzy
msgid "Failed to parse HELLO message: invalid expiration time\n"
msgstr "Kunde inte spara konfiguration!"
-#: src/hello/hello.c:962
+#: src/hello/hello.c:963
#, fuzzy
msgid "Failed to parse HELLO message: malformed\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/hello/hello.c:972
+#: src/hello/hello.c:973
#, fuzzy
msgid "Failed to parse HELLO message: missing transport plugin\n"
msgstr "Kunde inte slå upp \"%s\": %s\n"
-#: src/hello/hello.c:989
+#: src/hello/hello.c:990
#, c-format
msgid "Plugin `%s' not found\n"
msgstr ""
-#: src/hello/hello.c:998
+#: src/hello/hello.c:999
#, c-format
msgid "Plugin `%s' does not support URIs yet\n"
msgstr ""
-#: src/hello/hello.c:1017
+#: src/hello/hello.c:1018
#, fuzzy, c-format
msgid "Failed to parse `%s' as an address for plugin `%s'\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
@@ -4610,7 +4628,7 @@ msgid "Advertisement message could not be queued by core\n"
msgstr ""
#: src/hostlist/hostlist-server.c:556 src/peerinfo-tool/gnunet-peerinfo.c:651
-#: src/transport/gnunet-service-transport.c:946
+#: src/transport/gnunet-service-transport.c:867
#, fuzzy
msgid "Could not access PEERINFO service. Exiting.\n"
msgstr "Kunde inte komma åt namnrymdsinformation.\n"
@@ -4722,49 +4740,34 @@ msgstr "Kunde inte spara konfigurationsfil \"%s\":"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/mesh/gnunet-mesh.c:342
+#: src/mesh/gnunet-mesh.c:343
#, fuzzy, c-format
msgid "Invalid target `%s'\n"
msgstr "Ogiltigt argument: \"%s\"\n"
-#: src/mesh/gnunet-mesh.c:503
+#: src/mesh/gnunet-mesh.c:521
#, fuzzy, c-format
msgid "Invalid tunnel owner `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/mesh/gnunet-mesh.c:568
+#: src/mesh/gnunet-mesh.c:586
msgid "You must NOT give a TARGET when using options\n"
msgstr ""
-#: src/mesh/gnunet-mesh.c:645
-#, fuzzy
-msgid "provide information about a particular channel"
-msgstr "Skriv ut information om GNUnets motparter."
-
-#: src/mesh/gnunet-mesh.c:648
-#, fuzzy
-msgid "provide information about a particular connection"
-msgstr "Skriv ut information om GNUnets motparter."
-
-#: src/mesh/gnunet-mesh.c:651
+#: src/mesh/gnunet-mesh.c:669
msgid "activate echo mode"
msgstr ""
-#: src/mesh/gnunet-mesh.c:654
+#: src/mesh/gnunet-mesh.c:672
#, fuzzy
msgid "provide information about all tunnels"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/mesh/gnunet-mesh.c:657
-#, fuzzy
-msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
-msgstr "Skriv ut information om GNUnets motparter."
-
-#: src/mesh/gnunet-mesh.c:660
+#: src/mesh/gnunet-mesh.c:678
msgid "port to listen to (default; 0)"
msgstr ""
-#: src/mesh/gnunet-mesh.c:663
+#: src/mesh/gnunet-mesh.c:681
#, fuzzy
msgid "provide information about a particular tunnel"
msgstr "Skriv ut information om GNUnets motparter."
@@ -4896,7 +4899,7 @@ msgid "del"
msgstr ""
#: src/namestore/gnunet-namestore.c:715
-#: src/peerinfo-tool/gnunet-peerinfo.c:703
+#: src/peerinfo-tool/gnunet-peerinfo.c:702
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Ogiltiga argument: "
@@ -5067,55 +5070,55 @@ msgstr ""
msgid "NAT traversal with ICMP Server timed out.\n"
msgstr ""
-#: src/nat/nat_auto.c:200
+#: src/nat/nat_auto.c:203
msgid "NAT traversal with ICMP Server succeeded.\n"
msgstr ""
-#: src/nat/nat_auto.c:201
+#: src/nat/nat_auto.c:204
msgid "NAT traversal with ICMP Server failed.\n"
msgstr ""
-#: src/nat/nat_auto.c:222
+#: src/nat/nat_auto.c:225
#, fuzzy
msgid "Testing connection reversal with ICMP server.\n"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/nat/nat_auto.c:269
+#: src/nat/nat_auto.c:274
#, fuzzy, c-format
msgid "Detected external IP `%s'\n"
msgstr "Mottog ogiltig RPC \"%s\".\n"
-#: src/nat/nat_auto.c:339
+#: src/nat/nat_auto.c:344
msgid "This system has a global IPv6 address, setting IPv6 to supported.\n"
msgstr ""
-#: src/nat/nat_auto.c:355
+#: src/nat/nat_auto.c:360
#, c-format
msgid "Detected internal network address `%s'.\n"
msgstr ""
-#: src/nat/nat_auto.c:408
+#: src/nat/nat_auto.c:413
msgid "upnpc found, enabling its use\n"
msgstr ""
-#: src/nat/nat_auto.c:409
+#: src/nat/nat_auto.c:414
#, fuzzy
msgid "upnpc not found\n"
msgstr "Kommando \"%s\" hittades inte!\n"
-#: src/nat/nat_auto.c:442
+#: src/nat/nat_auto.c:447
msgid "gnunet-helper-nat-server found, testing it\n"
msgstr ""
-#: src/nat/nat_auto.c:443
+#: src/nat/nat_auto.c:448
msgid "No working gnunet-helper-nat-server found\n"
msgstr ""
-#: src/nat/nat_auto.c:477
+#: src/nat/nat_auto.c:482
msgid "gnunet-helper-nat-client found, enabling it\n"
msgstr ""
-#: src/nat/nat_auto.c:478
+#: src/nat/nat_auto.c:483
msgid "gnunet-helper-nat-client not found or behind NAT, disabling it\n"
msgstr ""
@@ -5129,40 +5132,66 @@ msgstr ""
msgid "Failed to start %s\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/nat/nat.c:1203
+#: src/nat/nat.c:1205
msgid "malformed"
msgstr ""
-#: src/nat/nat.c:1274 src/nat/nat.c:1286
+#: src/nat/nat.c:1276 src/nat/nat.c:1288
#, c-format
msgid ""
"Configuration requires `%s', but binary is not installed properly (SUID bit "
"not set). Option disabled.\n"
msgstr ""
-#: src/nat/nat.c:1424
+#: src/nat/nat.c:1426
msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n"
msgstr ""
-#: src/nat/nat.c:1440
+#: src/nat/nat.c:1442
#, c-format
msgid "Running gnunet-helper-nat-client %s %s %u\n"
msgstr ""
-#: src/nat/nat_mini.c:170
+#: src/nat/nat_mini.c:155
+msgid "no valid address was returned by `external-ip'"
+msgstr ""
+
+#: src/nat/nat_mini.c:175
+msgid "`external-ip' command not found"
+msgstr ""
+
+#: src/nat/nat_mini.c:201
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/nat_mini.c:505
+#: src/nat/nat_mini.c:366
+#, fuzzy
+msgid "Failed to run `upnpc` command"
+msgstr "Misslyckades att starta samling.\n"
+
+#: src/nat/nat_mini.c:512
+msgid "`upnpc' command took too long, process killed"
+msgstr ""
+
+#: src/nat/nat_mini.c:540
+msgid "`upnpc' command failed to establish port mapping"
+msgstr ""
+
+#: src/nat/nat_mini.c:604
msgid "`upnpc' command not found\n"
msgstr ""
-#: src/nat/nat_test.c:348
+#: src/nat/nat_mini.c:608
+#, fuzzy
+msgid "`upnpc` command not found"
+msgstr "Kommando \"%s\" hittades inte!\n"
+
+#: src/nat/nat_test.c:351
#, fuzzy
msgid "Failed to connect to `gnunet-nat-server'\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/nat/nat_test.c:420
+#: src/nat/nat_test.c:423
#, c-format
msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n"
msgstr ""
@@ -5198,14 +5227,10 @@ msgid "Measure quality and performance of the NSE service."
msgstr "Kan inte tillgå tjänsten"
#: src/nse/gnunet-service-nse.c:1461
-#: src/revocation/gnunet-service-revocation.c:789
+#: src/revocation/gnunet-service-revocation.c:789 src/util/gnunet-scrypt.c:248
msgid "Value is too large.\n"
msgstr ""
-#: src/nse/gnunet-service-nse.c:1488
-msgid "NSE service is lacking key configuration settings. Exiting.\n"
-msgstr ""
-
#: src/peerinfo/gnunet-service-peerinfo.c:215
#, fuzzy, c-format
msgid "Removing expired address of transport `%s'\n"
@@ -5318,54 +5343,49 @@ msgstr ""
msgid "Failure adding HELLO: %s\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:661
-#, fuzzy, c-format
-msgid "Could not find option `%s:%s' in configuration.\n"
-msgstr "Kunde inte hitta motpart \"%s\" i routingtabell!\n"
-
-#: src/peerinfo-tool/gnunet-peerinfo.c:667
+#: src/peerinfo-tool/gnunet-peerinfo.c:666 src/util/gnunet-scrypt.c:224
#, fuzzy, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "Tolkning av HTTP-svar för URL \"%s\" misslyckades.\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:725
+#: src/peerinfo-tool/gnunet-peerinfo.c:724
#, c-format
msgid "I am peer `%s'.\n"
msgstr "Jag är ändpunkt \"%s\".\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:769
+#: src/peerinfo-tool/gnunet-peerinfo.c:768
msgid "don't resolve host names"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:772
+#: src/peerinfo-tool/gnunet-peerinfo.c:771
msgid "output only the identity strings"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:775
+#: src/peerinfo-tool/gnunet-peerinfo.c:774
msgid "include friend-only information"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:778
+#: src/peerinfo-tool/gnunet-peerinfo.c:777
msgid "output our own identity only"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:781
+#: src/peerinfo-tool/gnunet-peerinfo.c:780
msgid "list all known peers"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:784
+#: src/peerinfo-tool/gnunet-peerinfo.c:783
msgid "dump hello to file"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:787
+#: src/peerinfo-tool/gnunet-peerinfo.c:786
msgid "also output HELLO uri(s)"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:790
+#: src/peerinfo-tool/gnunet-peerinfo.c:789
msgid "add given HELLO uri to the database"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:801
+#: src/peerinfo-tool/gnunet-peerinfo.c:800
#, fuzzy
msgid "Print information about peers."
msgstr "Skriv ut information om GNUnets motparter."
@@ -6012,6 +6032,14 @@ msgstr "Misslyckades att ansluta till gnunetd.\n"
msgid "Failed to send a message to the scalarproduct service\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
+#: src/secretsharing/gnunet-secretsharing-profiler.c:303
+msgid "dkg timeout"
+msgstr ""
+
+#: src/secretsharing/gnunet-secretsharing-profiler.c:306
+msgid "threshold"
+msgstr ""
+
#: src/set/gnunet-service-set.c:1416
#, fuzzy
msgid "Could not connect to mesh service\n"
@@ -6144,19 +6172,94 @@ msgid ""
"might have been lost!\n"
msgstr ""
+#: src/testbed/generate-underlay-topology.c:223
+msgid "Need atleast 2 arguments\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:228
+msgid "Database filename missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:235
+msgid "Topology string missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:240
+#, fuzzy, c-format
+msgid "Invalid topology: %s\n"
+msgstr "Ogiltigt argument: \"%s\"\n"
+
+#: src/testbed/generate-underlay-topology.c:252
+#, c-format
+msgid "An argument is missing for given topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:258
+#, fuzzy, c-format
+msgid "Invalid argument `%s' given as topology argument\n"
+msgstr "Ogiltigt argument: \"%s\"\n"
+
+#: src/testbed/generate-underlay-topology.c:266
+#, c-format
+msgid "Filename argument missing for topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:280
+#, c-format
+msgid "Second argument for topology `%s' is missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:286
+#, fuzzy, c-format
+msgid "Invalid argument `%s'; expecting unsigned int\n"
+msgstr "Ogiltigt argument: \"%s\"\n"
+
+#: src/testbed/generate-underlay-topology.c:335
+#: src/testbed/gnunet-testbed-profiler.c:293
+msgid "create COUNT number of peers"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:344
+msgid ""
+"Generates SQLite3 database representing a given underlay topology.\n"
+"Usage: gnunet-underlay-topology [OPTIONS] db-filename TOPO [TOPOOPTS]\n"
+"The following options are available for TOPO followed by TOPOOPTS if "
+"applicable:\n"
+"\t LINE\n"
+"\t RING\n"
+"\t RANDOM <num_rnd_links>\n"
+"\t SMALL_WORLD <num_rnd_links>\n"
+"\t SMALL_WORLD_RING <num_rnd_links>\n"
+"\t CLIQUE\n"
+"\t 2D_TORUS\n"
+"\t SCALE_FREE <cap> <m>\n"
+"\t FROM_FILE <filename>\n"
+"TOPOOPTS:\n"
+"\t num_rnd_links: The number of random links\n"
+"\t cap: the maximum number of links a node can have\n"
+"\t m: the number of links a node should have while joining the network\n"
+"\t filename: the path of the file which contains topology information\n"
+"NOTE: the format of the above file is descibed here: https://www.gnunet.org/"
+"content/topology-file-format\n"
+msgstr ""
+
+#: src/testbed/gnunet-daemon-latency-logger.c:325
+msgid "Daemon to log latency values of connections to neighbours"
+msgstr ""
+
#: src/testbed/gnunet-daemon-testbed-blacklist.c:264
msgid ""
"Daemon to restrict incoming transport layer connections during testbed "
"deployments"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:300 src/testing/testing.c:293
-#: src/util/gnunet-ecc.c:217
+#: src/testbed/gnunet-daemon-testbed-underlay.c:235 src/testing/list-keys.c:50
+#: src/testing/testing.c:293 src/util/gnunet-ecc.c:217
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:553
+#: src/testbed/gnunet-daemon-testbed-underlay.c:474
msgid "Daemon to restrict underlay network in testbed deployments"
msgstr ""
@@ -6195,10 +6298,6 @@ msgstr "Startade samling \"%s\".\n"
msgid "Exiting as the number of peers is %u\n"
msgstr "Maximalt antal chattklienter uppnått.\n"
-#: src/testbed/gnunet-testbed-profiler.c:293
-msgid "create COUNT number of peers"
-msgstr ""
-
#: src/testbed/gnunet-testbed-profiler.c:296
msgid "tolerate COUNT number of continious timeout failures"
msgstr ""
@@ -6235,100 +6334,100 @@ msgstr ""
msgid "Adding host %u failed with error: %s\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
-#: src/testbed/testbed_api_testbed.c:820
+#: src/testbed/testbed_api_testbed.c:819
msgid "Linking controllers failed. Exiting"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:989
+#: src/testbed/testbed_api_testbed.c:988
#, c-format
msgid "Host registration failed for a host. Error: %s\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1055
+#: src/testbed/testbed_api_testbed.c:1054
msgid "Controller crash detected. Shutting down.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1144
+#: src/testbed/testbed_api_testbed.c:1143
#, c-format
msgid "Host %s cannot start testbed\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1148
+#: src/testbed/testbed_api_testbed.c:1147
msgid "Testbed cannot be started on localhost\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1186
+#: src/testbed/testbed_api_testbed.c:1185
msgid "Cannot start the master controller"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1204
+#: src/testbed/testbed_api_testbed.c:1203
msgid "Shutting down testbed due to timeout while setup.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1264
+#: src/testbed/testbed_api_testbed.c:1263
msgid "No hosts loaded from LoadLeveler. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1276
+#: src/testbed/testbed_api_testbed.c:1275
msgid "No hosts loaded. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1300
+#: src/testbed/testbed_api_testbed.c:1299
msgid "Specified topology must be supported by testbed"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1350
+#: src/testbed/testbed_api_testbed.c:1349
#, c-format
msgid ""
"Maximum number of edges a peer can have in a scale free topology cannot be "
"more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1366
+#: src/testbed/testbed_api_testbed.c:1365
#, c-format
msgid ""
"The number of edges that can established when adding a new node to scale "
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:715
+#: src/testbed/testbed_api_topology.c:960
#, fuzzy, c-format
msgid "Topology file %s not found\n"
msgstr "\"%s\" misslyckades: tabell hittades inte!\n"
-#: src/testbed/testbed_api_topology.c:721
+#: src/testbed/testbed_api_topology.c:966
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:728
+#: src/testbed/testbed_api_topology.c:973
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:750
+#: src/testbed/testbed_api_topology.c:995
#, fuzzy, c-format
msgid "Failed to read peer index from toology file: %s"
msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
-#: src/testbed/testbed_api_topology.c:759
-#: src/testbed/testbed_api_topology.c:783
+#: src/testbed/testbed_api_topology.c:1004
+#: src/testbed/testbed_api_topology.c:1028
#, c-format
msgid "Value in given topology file: %s out of range\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:765
-#: src/testbed/testbed_api_topology.c:789
+#: src/testbed/testbed_api_topology.c:1010
+#: src/testbed/testbed_api_topology.c:1034
#, fuzzy, c-format
msgid "Failed to read peer index from topology file: %s"
msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
-#: src/testbed/testbed_api_topology.c:771
-#: src/testbed/testbed_api_topology.c:795
+#: src/testbed/testbed_api_topology.c:1016
+#: src/testbed/testbed_api_topology.c:1040
msgid "Topology file needs more peers than given ones\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:810
+#: src/testbed/testbed_api_topology.c:1074
#, fuzzy, c-format
msgid "Ignoring to connect peer %u to peer %u\n"
msgstr "Kan inte ansluta till %u.%u.%u.%u:%u: %s\n"
@@ -6372,6 +6471,14 @@ msgstr ""
msgid "Command line tool to access the testing library"
msgstr ""
+#: src/testing/list-keys.c:90
+msgid "list COUNT number of keys"
+msgstr ""
+
+#: src/testing/list-keys.c:93
+msgid "skip COUNT number of keys in the beginning"
+msgstr ""
+
#: src/testing/testing.c:277
#, c-format
msgid "Hostkeys file not found: %s\n"
@@ -6507,38 +6614,38 @@ msgid "Adding blacklisting entry for peer `%s':`%s'\n"
msgstr ""
#: src/transport/gnunet-service-transport_blacklist.c:455
-#: src/transport/gnunet-service-transport_blacklist.c:722
+#: src/transport/gnunet-service-transport_blacklist.c:725
msgid "# disconnects due to blacklist"
msgstr ""
-#: src/transport/gnunet-service-transport.c:206
+#: src/transport/gnunet-service-transport.c:201
#, fuzzy
msgid "# bytes payload discarded due to not connected peer"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport.c:325
+#: src/transport/gnunet-service-transport.c:304
#, fuzzy
msgid "# bytes total received"
msgstr "# byte krypterade"
-#: src/transport/gnunet-service-transport.c:399
+#: src/transport/gnunet-service-transport.c:371
#, fuzzy
msgid "# bytes payload received"
msgstr "# byte dekrypterade"
-#: src/transport/gnunet-service-transport.c:574
+#: src/transport/gnunet-service-transport.c:527
#, fuzzy, c-format
msgid "Could not obtain a valid network for `%s' %s (%s)\n"
msgstr "Kunde inte köra \"%s\": %s\n"
-#: src/transport/gnunet-service-transport.c:628
+#: src/transport/gnunet-service-transport.c:574
#, c-format
msgid ""
"Address or session unknown: failed to update properties for peer `%s' plugin "
"`%s' address `%s' session %p\n"
msgstr ""
-#: src/transport/gnunet-service-transport.c:916
+#: src/transport/gnunet-service-transport.c:837
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet-konfiguration"
@@ -6552,16 +6659,16 @@ msgstr ""
msgid "# messages dropped due to slow client"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:533
+#: src/transport/gnunet-service-transport_clients.c:540
#, c-format
msgid "Rejecting control connection from peer `%s', which is not me!\n"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:674
+#: src/transport/gnunet-service-transport_clients.c:681
msgid "# bytes payload dropped (other peer was not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:731
+#: src/transport/gnunet-service-transport_clients.c:738
#, fuzzy
msgid "# REQUEST CONNECT messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
@@ -6570,165 +6677,165 @@ msgstr "# krypterade PONG-meddelanden mottagna"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1108
+#: src/transport/gnunet-service-transport_neighbours.c:1016
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:1244
-#: src/transport/gnunet-service-transport_neighbours.c:1653
+#: src/transport/gnunet-service-transport_neighbours.c:1152
+#: src/transport/gnunet-service-transport_neighbours.c:1562
msgid "# bytes in message queue for other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1249
+#: src/transport/gnunet-service-transport_neighbours.c:1157
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# byte skickade av typen %d"
-#: src/transport/gnunet-service-transport_neighbours.c:1254
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# byte skickade av typen %d"
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1219
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1368
+#: src/transport/gnunet-service-transport_neighbours.c:1276
#, fuzzy
msgid "# keepalives sent"
msgstr "# sessionsnycklar skickade"
-#: src/transport/gnunet-service-transport_neighbours.c:1401
+#: src/transport/gnunet-service-transport_neighbours.c:1309
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1409
+#: src/transport/gnunet-service-transport_neighbours.c:1317
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1456
+#: src/transport/gnunet-service-transport_neighbours.c:1364
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1465
+#: src/transport/gnunet-service-transport_neighbours.c:1373
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1473
+#: src/transport/gnunet-service-transport_neighbours.c:1381
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (address changed)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1481
+#: src/transport/gnunet-service-transport_neighbours.c:1389
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (wrong nonce)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1558
+#: src/transport/gnunet-service-transport_neighbours.c:1467
#, fuzzy
msgid "# messages discarded due to lack of neighbour record"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1592
+#: src/transport/gnunet-service-transport_neighbours.c:1501
msgid "# bandwidth quota violations by other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1608
+#: src/transport/gnunet-service-transport_neighbours.c:1517
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1700
+#: src/transport/gnunet-service-transport_neighbours.c:1609
#, fuzzy
msgid "# SESSION_CONNECT messages sent"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:1716
+#: src/transport/gnunet-service-transport_neighbours.c:1625
#, fuzzy, c-format
msgid "Failed to transmit CONNECT message via plugin to %s\n"
msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1759
+#: src/transport/gnunet-service-transport_neighbours.c:1668
#, fuzzy
msgid "# CONNECT_ACK messages sent"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:2236
+#: src/transport/gnunet-service-transport_neighbours.c:2149
#, fuzzy
msgid "# CONNECT messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:2241
+#: src/transport/gnunet-service-transport_neighbours.c:2154
#, c-format
msgid "CONNECT request from peer `%s' ignored due impending shutdown\n"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2979
+#: src/transport/gnunet-service-transport_neighbours.c:2885
#, fuzzy
msgid "# CONNECT_ACK messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:2987
+#: src/transport/gnunet-service-transport_neighbours.c:2893
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:3002
-#: src/transport/gnunet-service-transport_neighbours.c:3039
+#: src/transport/gnunet-service-transport_neighbours.c:2908
+#: src/transport/gnunet-service-transport_neighbours.c:2944
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:3052
+#: src/transport/gnunet-service-transport_neighbours.c:2957
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:3085
+#: src/transport/gnunet-service-transport_neighbours.c:2987
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:3265
+#: src/transport/gnunet-service-transport_neighbours.c:3156
#, fuzzy
msgid "# SESSION_ACK messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:3284
+#: src/transport/gnunet-service-transport_neighbours.c:3175
#, fuzzy
msgid "# unexpected SESSION_ACK messages"
msgstr "# krypterade PONG-meddelanden skickade"
-#: src/transport/gnunet-service-transport_neighbours.c:3340
+#: src/transport/gnunet-service-transport_neighbours.c:3230
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3355
+#: src/transport/gnunet-service-transport_neighbours.c:3245
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3383
+#: src/transport/gnunet-service-transport_neighbours.c:3273
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3389
+#: src/transport/gnunet-service-transport_neighbours.c:3279
#, fuzzy
msgid "# DISCONNECT messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:3398
+#: src/transport/gnunet-service-transport_neighbours.c:3288
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3434
+#: src/transport/gnunet-service-transport_neighbours.c:3324
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3532
+#: src/transport/gnunet-service-transport_neighbours.c:3423
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# av anslutna parter"
@@ -6757,445 +6864,450 @@ msgstr "Kunde inte slå upp \"%s\": %s\n"
msgid "Did not load plugin `%s' due to missing functions\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:456
+#: src/transport/gnunet-service-transport_validation.c:452
msgid "# address records discarded"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:526
+#: src/transport/gnunet-service-transport_validation.c:522
#, c-format
msgid ""
"Not transmitting `%s' with `%s', message too big (%u bytes!). This should "
"not happen.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:584
+#: src/transport/gnunet-service-transport_validation.c:580
#, fuzzy
msgid "# PING without HELLO messages sent"
msgstr "# PING-meddelanden i klartext skickade"
-#: src/transport/gnunet-service-transport_validation.c:685
+#: src/transport/gnunet-service-transport_validation.c:681
msgid "# address revalidations started"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:969
+#: src/transport/gnunet-service-transport_validation.c:963
#, fuzzy
msgid "# PING message for different peer received"
msgstr "# PING-meddelanden skapade"
-#: src/transport/gnunet-service-transport_validation.c:1019
+#: src/transport/gnunet-service-transport_validation.c:1014
#, c-format
msgid "Plugin `%s' not available, cannot confirm having this address\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1029
+#: src/transport/gnunet-service-transport_validation.c:1024
msgid "# failed address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1032
+#: src/transport/gnunet-service-transport_validation.c:1027
#, c-format
msgid "Address `%s' is not one of my addresses, not confirming PING\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1040
+#: src/transport/gnunet-service-transport_validation.c:1035
msgid "# successful address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1052
+#: src/transport/gnunet-service-transport_validation.c:1047
#, c-format
msgid ""
"Not confirming PING from peer `%s' with address `%s' since I cannot confirm "
"having this address.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1060
+#: src/transport/gnunet-service-transport_validation.c:1055
#, c-format
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1114
+#: src/transport/gnunet-service-transport_validation.c:1109
#, fuzzy, c-format
msgid "Failed to create PONG signature for peer `%s'\n"
msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-#: src/transport/gnunet-service-transport_validation.c:1163
+#: src/transport/gnunet-service-transport_validation.c:1158
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1172
+#: src/transport/gnunet-service-transport_validation.c:1167
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1312
+#: src/transport/gnunet-service-transport_validation.c:1308
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1327
+#: src/transport/gnunet-service-transport_validation.c:1323
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1448
+#: src/transport/gnunet-service-transport_validation.c:1442
+#, fuzzy, c-format
+msgid "Validation received new %s message for peer `%s' with size %u\n"
+msgstr "Mottog ogiltigt \"%s\" meddelande från \"%s\".\n"
+
+#: src/transport/gnunet-service-transport_validation.c:1449
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
-#: src/transport/gnunet-transport.c:258
+#: src/transport/gnunet-transport.c:285
#, fuzzy, c-format
msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:293
#, c-format
msgid "Received %llu bytes/s (%llu bytes in %s)\n"
msgstr ""
-#: src/transport/gnunet-transport.c:296
+#: src/transport/gnunet-transport.c:331
#, fuzzy, c-format
msgid "Failed to connect to `%s'\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:309
+#: src/transport/gnunet-transport.c:344
#, fuzzy, c-format
msgid "Failed to resolve address for peer `%s'\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
-#: src/transport/gnunet-transport.c:318
+#: src/transport/gnunet-transport.c:354
#, fuzzy
msgid "Failed to list connections, timeout occured\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:423
+#: src/transport/gnunet-transport.c:453
msgid "No transport plugins configured, peer will never communicate\n"
msgstr ""
-#: src/transport/gnunet-transport.c:436
+#: src/transport/gnunet-transport.c:467
#, c-format
msgid "No port configured for plugin `%s', cannot test it\n"
msgstr ""
-#: src/transport/gnunet-transport.c:506
+#: src/transport/gnunet-transport.c:530
#, fuzzy, c-format
msgid "Transmitting %u bytes to %s\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/transport/gnunet-transport.c:529
+#: src/transport/gnunet-transport.c:551
#, fuzzy, c-format
msgid "Successfully connected to `%s'\n"
msgstr "Åtkomst nekad för \"%s\" vid %s:%d.\n"
-#: src/transport/gnunet-transport.c:552
+#: src/transport/gnunet-transport.c:575
#, c-format
msgid ""
"Successfully connected to `%s', starting to send benchmark data in %u Kb "
"blocks\n"
msgstr ""
-#: src/transport/gnunet-transport.c:587
+#: src/transport/gnunet-transport.c:608
#, fuzzy, c-format
msgid "Disconnected from peer `%s' while benchmarking\n"
msgstr "\"%s\" ansluten till \"%s\".\n"
-#: src/transport/gnunet-transport.c:660
+#: src/transport/gnunet-transport.c:670
#, c-format
msgid "Received %u bytes from %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:685
-#, fuzzy, c-format
-msgid "Peer `%s': %s %s\n"
-msgstr "Jag är ändpunkt \"%s\".\n"
-
-#: src/transport/gnunet-transport.c:704
+#: src/transport/gnunet-transport.c:693
#, c-format
-msgid "Peer `%s': %s <unable to resolve address>\n"
+msgid "Peer `%s': %s %s in state `%s' until %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:772
+#: src/transport/gnunet-transport.c:703
#, fuzzy, c-format
-msgid "Peer `%s' disconnected\n"
-msgstr "# av anslutna parter"
+msgid "Peer `%s': %s %s\n"
+msgstr "Jag är ändpunkt \"%s\".\n"
-#: src/transport/gnunet-transport.c:802
+#: src/transport/gnunet-transport.c:916
#, fuzzy
msgid "Failed to send connect request to transport service\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:848
+#: src/transport/gnunet-transport.c:959
#, c-format
msgid ""
"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
"%s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:855
+#: src/transport/gnunet-transport.c:967
#, c-format
msgid ""
"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:878 src/transport/gnunet-transport.c:910
-#: src/transport/gnunet-transport.c:932 src/transport/gnunet-transport.c:969
+#: src/transport/gnunet-transport.c:986 src/transport/gnunet-transport.c:1016
+#: src/transport/gnunet-transport.c:1039 src/transport/gnunet-transport.c:1070
#, fuzzy
msgid "Failed to connect to transport service\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:887 src/transport/gnunet-transport.c:917
+#: src/transport/gnunet-transport.c:995 src/transport/gnunet-transport.c:1025
#, fuzzy
msgid "Failed to send request to transport service\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:937
+#: src/transport/gnunet-transport.c:1044
msgid "Starting to receive benchmark data\n"
msgstr ""
-#: src/transport/gnunet-transport.c:1019
+#: src/transport/gnunet-transport.c:1116
+#, fuzzy
+msgid "print information for all peers (instead of only connected peers )"
+msgstr "Skriv ut information om GNUnets motparter."
+
+#: src/transport/gnunet-transport.c:1119
msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1022
+#: src/transport/gnunet-transport.c:1121
#, fuzzy
msgid "connect to a peer"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/gnunet-transport.c:1025
+#: src/transport/gnunet-transport.c:1124
#, fuzzy
msgid "provide information about all current connections (once)"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/transport/gnunet-transport.c:1031
+#: src/transport/gnunet-transport.c:1130
#, fuzzy
msgid ""
"provide information about all connects and disconnect events (continuously)"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/transport/gnunet-transport.c:1034
+#: src/transport/gnunet-transport.c:1132
#, fuzzy
msgid "do not resolve hostnames"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/transport/gnunet-transport.c:1037
+#: src/transport/gnunet-transport.c:1134
msgid "peer identity"
msgstr ""
-#: src/transport/gnunet-transport.c:1041
+#: src/transport/gnunet-transport.c:1136
msgid "send data for benchmarking to the other peer (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1044
+#: src/transport/gnunet-transport.c:1139
msgid "test transport configuration (involves external server)"
msgstr ""
-#: src/transport/gnunet-transport.c:1055
+#: src/transport/gnunet-transport.c:1148
#, fuzzy
msgid "Direct access to transport service."
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/transport/plugin_transport_bluetooth.c:616
+#: src/transport/plugin_transport_bluetooth.c:618
msgid "# Bluetooth ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:635
+#: src/transport/plugin_transport_bluetooth.c:637
#, fuzzy
msgid "# Bluetooth messages defragmented"
msgstr "# PING-meddelanden skapade"
-#: src/transport/plugin_transport_bluetooth.c:681
-#: src/transport/plugin_transport_bluetooth.c:731
-#: src/transport/plugin_transport_bluetooth.c:1881
+#: src/transport/plugin_transport_bluetooth.c:683
+#: src/transport/plugin_transport_bluetooth.c:733
+#: src/transport/plugin_transport_bluetooth.c:1888
#, fuzzy
msgid "# Bluetooth sessions allocated"
msgstr "# sessionsnycklar accepterade"
-#: src/transport/plugin_transport_bluetooth.c:806
+#: src/transport/plugin_transport_bluetooth.c:808
#, fuzzy
msgid "# Bluetooth message fragments sent"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_bluetooth.c:830
+#: src/transport/plugin_transport_bluetooth.c:832
msgid "# Bluetooth messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:938
-#: src/transport/plugin_transport_bluetooth.c:1023
-#: src/transport/plugin_transport_bluetooth.c:1883
+#: src/transport/plugin_transport_bluetooth.c:940
+#: src/transport/plugin_transport_bluetooth.c:1026
+#: src/transport/plugin_transport_bluetooth.c:1890
#, fuzzy
msgid "# Bluetooth MAC endpoints allocated"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_bluetooth.c:1250
+#: src/transport/plugin_transport_bluetooth.c:1254
#, fuzzy
msgid "# HELLO messages received via Bluetooth"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_bluetooth.c:1276
+#: src/transport/plugin_transport_bluetooth.c:1277
#, fuzzy
msgid "# fragments received via Bluetooth"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_bluetooth.c:1286
+#: src/transport/plugin_transport_bluetooth.c:1287
#, fuzzy
msgid "# ACKs received via Bluetooth"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_bluetooth.c:1343
+#: src/transport/plugin_transport_bluetooth.c:1347
#, fuzzy
msgid "# Bluetooth DATA messages discarded due to CRC32 error"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/plugin_transport_bluetooth.c:1455
+#: src/transport/plugin_transport_bluetooth.c:1458
#, fuzzy
msgid "# DATA messages received via Bluetooth"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_bluetooth.c:1490
+#: src/transport/plugin_transport_bluetooth.c:1493
#, fuzzy
msgid "# Bluetooth DATA messages processed"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_bluetooth.c:1553
+#: src/transport/plugin_transport_bluetooth.c:1556
#, fuzzy
msgid "# HELLO beacons sent via Bluetooth"
msgstr "# byte skickade via UDP"
-#: src/transport/plugin_transport_bluetooth.c:1666
+#: src/transport/plugin_transport_bluetooth.c:1669
msgid "Bluetooth address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1862
+#: src/transport/plugin_transport_bluetooth.c:1869
#, c-format
msgid "Helper binary `%s' not SUID, cannot run bluetooth transport\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1618
+#: src/transport/plugin_transport_http_client.c:1621
#, c-format
msgid "Could not initialize curl multi handle, failed to start %s plugin!\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1693
-#: src/transport/plugin_transport_http_server.c:3001
+#: src/transport/plugin_transport_http_client.c:1696
+#: src/transport/plugin_transport_http_server.c:3006
#, fuzzy, c-format
msgid "Shutting down plugin `%s'\n"
msgstr "Testar transport(er) %s\n"
-#: src/transport/plugin_transport_http_client.c:1718
-#: src/transport/plugin_transport_http_server.c:3059
+#: src/transport/plugin_transport_http_client.c:1721
+#: src/transport/plugin_transport_http_server.c:3062
#, fuzzy, c-format
msgid "Shutdown for plugin `%s' complete\n"
msgstr ""
"Uppladdning av \"%s\" klar, aktuell genomsnittshastighet är %8.3f kbps.\n"
-#: src/transport/plugin_transport_http_client.c:1746
-#: src/transport/plugin_transport_http_server.c:2901
+#: src/transport/plugin_transport_http_client.c:1749
+#: src/transport/plugin_transport_http_server.c:2906
#, fuzzy, c-format
msgid "Maximum number of connections is %u\n"
msgstr "Maximalt antal chattklienter uppnått.\n"
-#: src/transport/plugin_transport_http_server.c:1416
+#: src/transport/plugin_transport_http_server.c:1402
#, c-format
msgid ""
"Access from connection %p (%u of %u) for `%s' `%s' url `%s' with upload data "
"size %u\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1680
+#: src/transport/plugin_transport_http_server.c:1663
#, c-format
msgid "Accepting connection (%u of %u) from `%s'\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1688
+#: src/transport/plugin_transport_http_server.c:1671
#, c-format
msgid ""
"Server reached maximum number connections (%u), rejecting new connection\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1974
+#: src/transport/plugin_transport_http_server.c:1957
msgid ""
"Could not create a new TLS certificate, program `gnunet-transport-"
"certificate-creation' could not be started!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1998
+#: src/transport/plugin_transport_http_server.c:1981
#, c-format
msgid "No usable TLS certificate found and creating one at `%s/%s' failed!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2405
+#: src/transport/plugin_transport_http_server.c:2404
#, fuzzy
msgid "Require valid port number for service in configuration!\n"
msgstr "Inga applikationer definierade i konfiguration!\n"
-#: src/transport/plugin_transport_http_server.c:2437 src/util/service.c:696
+#: src/transport/plugin_transport_http_server.c:2436 src/util/service.c:696
#, fuzzy, c-format
msgid "Failed to resolve `%s': %s\n"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-#: src/transport/plugin_transport_http_server.c:2454 src/util/service.c:713
+#: src/transport/plugin_transport_http_server.c:2453 src/util/service.c:713
#, fuzzy, c-format
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
-#: src/transport/plugin_transport_http_server.c:2565
+#: src/transport/plugin_transport_http_server.c:2564
#, c-format
msgid "Found %u addresses to report to NAT service\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2637
+#: src/transport/plugin_transport_http_server.c:2636
msgid "Disabling IPv6 since it is not supported on this system!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2724
+#: src/transport/plugin_transport_http_server.c:2729
#, c-format
msgid "IPv4 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2738
+#: src/transport/plugin_transport_http_server.c:2743
#, c-format
msgid "IPv6 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2745
+#: src/transport/plugin_transport_http_server.c:2750
msgid "Neither IPv4 nor IPv6 are enabled! Fix in configuration\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2756
+#: src/transport/plugin_transport_http_server.c:2761
#, fuzzy
msgid "Port is required! Fix in configuration\n"
msgstr " gconfig\tGTK-konfiguration\n"
-#: src/transport/plugin_transport_http_server.c:2763
+#: src/transport/plugin_transport_http_server.c:2768
#, fuzzy, c-format
msgid "Using port %u\n"
msgstr "Testar transport(er) %s\n"
-#: src/transport/plugin_transport_http_server.c:2778
+#: src/transport/plugin_transport_http_server.c:2783
#, fuzzy, c-format
msgid "Specific IPv4 address `%s' in configuration file is invalid!\n"
msgstr ""
"Du måste ange ett positivt nummer för \"%s\" i konfigurationen i sektion \"%s"
"\".\n"
-#: src/transport/plugin_transport_http_server.c:2788
+#: src/transport/plugin_transport_http_server.c:2793
#, fuzzy, c-format
msgid "Binding to IPv4 address %s\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/transport/plugin_transport_http_server.c:2809
+#: src/transport/plugin_transport_http_server.c:2814
#, fuzzy, c-format
msgid "Specific IPv6 address `%s' in configuration file is invalid!\n"
msgstr ""
"Du måste ange ett positivt nummer för \"%s\" i konfigurationen i sektion \"%s"
"\".\n"
-#: src/transport/plugin_transport_http_server.c:2819
+#: src/transport/plugin_transport_http_server.c:2824
#, fuzzy, c-format
msgid "Binding to IPv6 address %s\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/transport/plugin_transport_http_server.c:2871
+#: src/transport/plugin_transport_http_server.c:2876
#, fuzzy, c-format
msgid "Using external hostname `%s'\n"
msgstr "Startade samling \"%s\".\n"
-#: src/transport/plugin_transport_http_server.c:2887
+#: src/transport/plugin_transport_http_server.c:2892
#, fuzzy, c-format
msgid "Notifying transport only about hostname `%s'\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
@@ -7248,233 +7360,232 @@ msgstr "# byte skickades via TCP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:576
+#: src/transport/plugin_transport_tcp.c:559
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:799
-#: src/transport/plugin_transport_tcp.c:980
-#: src/transport/plugin_transport_tcp.c:2120
-#: src/transport/plugin_transport_tcp.c:2723
+#: src/transport/plugin_transport_tcp.c:766
+#: src/transport/plugin_transport_tcp.c:930
+#: src/transport/plugin_transport_tcp.c:1973
+#: src/transport/plugin_transport_tcp.c:2527
#, fuzzy
msgid "# TCP sessions active"
msgstr "# sessionsnycklar accepterade"
-#: src/transport/plugin_transport_tcp.c:836
-#: src/transport/plugin_transport_tcp.c:973
-#: src/transport/plugin_transport_tcp.c:1062
-#: src/transport/plugin_transport_tcp.c:1112
-#: src/transport/plugin_transport_tcp.c:1291
-#: src/transport/plugin_transport_tcp.c:1310
+#: src/transport/plugin_transport_tcp.c:797
+#: src/transport/plugin_transport_tcp.c:923
+#: src/transport/plugin_transport_tcp.c:1009
+#: src/transport/plugin_transport_tcp.c:1056
+#: src/transport/plugin_transport_tcp.c:1219
+#: src/transport/plugin_transport_tcp.c:1237
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# byte skickades via TCP"
-#: src/transport/plugin_transport_tcp.c:840
+#: src/transport/plugin_transport_tcp.c:800
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:1066
+#: src/transport/plugin_transport_tcp.c:1012
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:1115
+#: src/transport/plugin_transport_tcp.c:1059
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# byte skickade av typen %d"
-#: src/transport/plugin_transport_tcp.c:1264
+#: src/transport/plugin_transport_tcp.c:1193
#, c-format
msgid "Trying to send with invalid session %p\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1521
-#: src/transport/plugin_transport_udp.c:1488
+#: src/transport/plugin_transport_tcp.c:1427
msgid "# requests to create session with invalid address"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1645
+#: src/transport/plugin_transport_tcp.c:1532
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2170
+#: src/transport/plugin_transport_tcp.c:2021
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_tcp.c:2355
+#: src/transport/plugin_transport_tcp.c:2189
msgid "# bytes received via TCP"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_tcp.c:2433
+#: src/transport/plugin_transport_tcp.c:2253
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2602 src/util/service.c:589
+#: src/transport/plugin_transport_tcp.c:2407 src/util/service.c:589
#: src/util/service.c:595
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2616
+#: src/transport/plugin_transport_tcp.c:2421
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/transport/plugin_transport_tcp.c:2712
+#: src/transport/plugin_transport_tcp.c:2516
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2715
+#: src/transport/plugin_transport_tcp.c:2520
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2718
+#: src/transport/plugin_transport_tcp.c:2523
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:173
+#: src/transport/plugin_transport_udp_broadcasting.c:167
#, fuzzy
msgid "# IPv6 multicast HELLO beacons received via udp"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_udp_broadcasting.c:222
+#: src/transport/plugin_transport_udp_broadcasting.c:210
#, fuzzy
msgid "# IPv4 broadcast HELLO beacons received via udp"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_udp_broadcasting.c:606
+#: src/transport/plugin_transport_udp_broadcasting.c:594
msgid ""
"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:629
+#: src/transport/plugin_transport_udp_broadcasting.c:617
#, c-format
msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:1599
+#: src/transport/plugin_transport_udp.c:1406
#, c-format
msgid ""
"Trying to create session for address of unexpected length %u (should be %u "
"or %u)\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2680
+#: src/transport/plugin_transport_udp.c:2474
#, c-format
msgid ""
"UDP could not transmit message to `%s': Network seems down, please check "
"your network configuration\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2694
+#: src/transport/plugin_transport_udp.c:2488
msgid ""
"UDP could not transmit IPv6 message! Please check your network configuration "
"and disable IPv6 if your connection does not have a global IPv6 address\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2993
+#: src/transport/plugin_transport_udp.c:2817
#, fuzzy
msgid "Failed to open UDP sockets\n"
msgstr "Misslyckades att binda till UDP6-port %d.\n"
-#: src/transport/plugin_transport_udp.c:3091
+#: src/transport/plugin_transport_udp.c:2912
#, c-format
msgid "Given `%s' option is out of range: %llu > %u\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:3134
+#: src/transport/plugin_transport_udp.c:2951
#, fuzzy, c-format
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/transport/plugin_transport_udp.c:3200
+#: src/transport/plugin_transport_udp.c:3021
#, fuzzy
msgid "Failed to create network sockets, plugin failed\n"
msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-#: src/transport/plugin_transport_unix.c:1657
+#: src/transport/plugin_transport_unix.c:1624
#, fuzzy
msgid "Failed to open UNIX listen socket\n"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-#: src/transport/plugin_transport_wlan.c:623
+#: src/transport/plugin_transport_wlan.c:625
msgid "# WLAN ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:642
+#: src/transport/plugin_transport_wlan.c:644
#, fuzzy
msgid "# WLAN messages defragmented"
msgstr "# PING-meddelanden skapade"
-#: src/transport/plugin_transport_wlan.c:691
-#: src/transport/plugin_transport_wlan.c:778
-#: src/transport/plugin_transport_wlan.c:1937
+#: src/transport/plugin_transport_wlan.c:693
+#: src/transport/plugin_transport_wlan.c:780
+#: src/transport/plugin_transport_wlan.c:1952
#, fuzzy
msgid "# WLAN sessions allocated"
msgstr "# sessionsnycklar accepterade"
-#: src/transport/plugin_transport_wlan.c:883
+#: src/transport/plugin_transport_wlan.c:886
#, fuzzy
msgid "# WLAN message fragments sent"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_wlan.c:907
+#: src/transport/plugin_transport_wlan.c:910
msgid "# WLAN messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1015
-#: src/transport/plugin_transport_wlan.c:1101
-#: src/transport/plugin_transport_wlan.c:1939
+#: src/transport/plugin_transport_wlan.c:1018
+#: src/transport/plugin_transport_wlan.c:1105
+#: src/transport/plugin_transport_wlan.c:1954
#, fuzzy
msgid "# WLAN MAC endpoints allocated"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_wlan.c:1297
+#: src/transport/plugin_transport_wlan.c:1301
#, fuzzy
msgid "# HELLO messages received via WLAN"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_wlan.c:1323
+#: src/transport/plugin_transport_wlan.c:1325
#, fuzzy
msgid "# fragments received via WLAN"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_wlan.c:1333
+#: src/transport/plugin_transport_wlan.c:1335
#, fuzzy
msgid "# ACKs received via WLAN"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_wlan.c:1390
+#: src/transport/plugin_transport_wlan.c:1395
#, fuzzy
msgid "# WLAN DATA messages discarded due to CRC32 error"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/plugin_transport_wlan.c:1511
+#: src/transport/plugin_transport_wlan.c:1517
#, fuzzy
msgid "# DATA messages received via WLAN"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_wlan.c:1546
+#: src/transport/plugin_transport_wlan.c:1552
#, fuzzy
msgid "# WLAN DATA messages processed"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_wlan.c:1609
+#: src/transport/plugin_transport_wlan.c:1620
#, fuzzy
msgid "# HELLO beacons sent via WLAN"
msgstr "# byte skickade via UDP"
-#: src/transport/plugin_transport_wlan.c:1722
+#: src/transport/plugin_transport_wlan.c:1733
msgid "WLAN address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1918
+#: src/transport/plugin_transport_wlan.c:1933
#, c-format
msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
msgstr ""
@@ -7937,6 +8048,27 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
+#: src/util/gnunet-scrypt.c:279
+msgid "number of bits to require for the proof of work"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:282
+msgid "file with private key, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:285
+msgid "file with proof of work, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:288
+msgid "time to wait between calculations"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:299
+#, fuzzy
+msgid "Manipulate GNUnet proof of work files"
+msgstr "skriv ut ett värde från konfigurationsfilen till standard ut"
+
#: src/util/gnunet-service-resolver.c:283
#, fuzzy, c-format
msgid "Could not resolve `%s' (%s): %s\n"
@@ -8212,114 +8344,114 @@ msgstr "Anrop till \"%s\" returnerade %d.\n"
msgid "b"
msgstr "b"
-#: src/util/strings.c:444
+#: src/util/strings.c:433
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:572
+#: src/util/strings.c:561
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:669
+#: src/util/strings.c:658
msgid "µs"
msgstr ""
-#: src/util/strings.c:673
+#: src/util/strings.c:662
msgid "forever"
msgstr ""
-#: src/util/strings.c:675
+#: src/util/strings.c:664
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:681
+#: src/util/strings.c:670
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:687
+#: src/util/strings.c:676
msgid "s"
msgstr "s"
-#: src/util/strings.c:693
+#: src/util/strings.c:682
msgid "m"
msgstr "m"
-#: src/util/strings.c:699
+#: src/util/strings.c:688
msgid "h"
msgstr "h"
-#: src/util/strings.c:706
+#: src/util/strings.c:695
#, fuzzy
msgid "day"
msgstr " dagar"
-#: src/util/strings.c:708
+#: src/util/strings.c:697
#, fuzzy
msgid "days"
msgstr " dagar"
-#: src/util/strings.c:737
+#: src/util/strings.c:726
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1170
+#: src/util/strings.c:1159
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1178
+#: src/util/strings.c:1167
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1184
+#: src/util/strings.c:1173
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1191
+#: src/util/strings.c:1180
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1200
+#: src/util/strings.c:1189
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/util/strings.c:1406 src/util/strings.c:1422
+#: src/util/strings.c:1395 src/util/strings.c:1411
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1431
+#: src/util/strings.c:1420
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/util/strings.c:1514 src/util/strings.c:1545 src/util/strings.c:1593
-#: src/util/strings.c:1614
+#: src/util/strings.c:1503 src/util/strings.c:1534 src/util/strings.c:1582
+#: src/util/strings.c:1603
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/util/strings.c:1571
+#: src/util/strings.c:1560
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ogiltig nätverksnotation (\"/%d\" är inte giltig i IPv4 CIDR)."
-#: src/util/strings.c:1623
+#: src/util/strings.c:1612
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/util/strings.c:1675
+#: src/util/strings.c:1664
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ogiltig nätverksnotation (slutar inte med \";\": \"%s\")\n"
-#: src/util/strings.c:1725
+#: src/util/strings.c:1714
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Fel format \"%s\" för nätmask: %s\n"
-#: src/util/strings.c:1756
+#: src/util/strings.c:1745
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Fel format \"%s\" för nätverk: %s\n"
@@ -8524,6 +8656,26 @@ msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr "\"%s\" misslyckades för fil \"%s\" vid %s:%d med fel: %s\n"
#, fuzzy
+#~ msgid "provide information about a particular channel"
+#~ msgstr "Skriv ut information om GNUnets motparter."
+
+#, fuzzy
+#~ msgid "provide information about a particular connection"
+#~ msgstr "Skriv ut information om GNUnets motparter."
+
+#, fuzzy
+#~ msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
+#~ msgstr "Skriv ut information om GNUnets motparter."
+
+#, fuzzy
+#~ msgid "Could not find option `%s:%s' in configuration.\n"
+#~ msgstr "Kunde inte hitta motpart \"%s\" i routingtabell!\n"
+
+#, fuzzy
+#~ msgid "Peer `%s' disconnected\n"
+#~ msgstr "# av anslutna parter"
+
+#, fuzzy
#~ msgid "Transport plugin: `%s' port %llu\n"
#~ msgstr "Testar transport(er) %s\n"
@@ -9032,10 +9184,6 @@ msgstr "\"%s\" misslyckades för fil \"%s\" vid %s:%d med fel: %s\n"
#~ msgstr "Kunde inte skapa värdnyckel!\n"
#, fuzzy
-#~ msgid "Failed to start `gnunet-peerinfo' process.\n"
-#~ msgstr "Misslyckades att starta samling.\n"
-
-#, fuzzy
#~ msgid "Failed to start `ssh' process.\n"
#~ msgstr "Misslyckades att starta samling.\n"
diff --git a/po/vi.po b/po/vi.po
index 5176d83aa1..56680bb99f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.8.0a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2014-01-05 13:20+0100\n"
+"POT-Creation-Date: 2014-01-14 18:39+0100\n"
"PO-Revision-Date: 2008-09-10 22:05+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -362,49 +362,49 @@ msgstr "Nhận yêu cầu định tuyến\n"
msgid "Received last message for %s \n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/ats/gnunet-service-ats_addresses.c:1948
-#: src/ats/gnunet-service-ats_addresses.c:1992
+#: src/ats/gnunet-service-ats_addresses.c:1974
+#: src/ats/gnunet-service-ats_addresses.c:2018
#, c-format
msgid ""
"Could not load quota for network `%s': `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1955
+#: src/ats/gnunet-service-ats_addresses.c:1981
#, c-format
msgid "Outbound quota configure for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1963
+#: src/ats/gnunet-service-ats_addresses.c:1989
#, c-format
msgid ""
"No outbound quota configured for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1999
+#: src/ats/gnunet-service-ats_addresses.c:2025
#, c-format
msgid "Inbound quota configured for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2007
+#: src/ats/gnunet-service-ats_addresses.c:2033
#, c-format
msgid ""
"No outbound quota configure for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2184
+#: src/ats/gnunet-service-ats_addresses.c:2211
#, c-format
msgid "Initializing solver `%s '`%s'\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2187
+#: src/ats/gnunet-service-ats_addresses.c:2214
#, fuzzy, c-format
msgid "Failed to initialize solver `%s'!\n"
msgstr "Không thể sơ khởi SQLite: %s.\n"
-#: src/ats/gnunet-service-ats_addresses.c:2210
+#: src/ats/gnunet-service-ats_addresses.c:2237
#, fuzzy
msgid "Failed to initialize solver!\n"
msgstr "Không thể sơ khởi SQLite: %s.\n"
@@ -482,12 +482,12 @@ msgid "Quota for network `%11s' (in/out): %10s / %10s\n"
msgstr ""
#: src/ats-tool/gnunet-ats.c:352 src/namestore/gnunet-namestore.c:550
-#: src/transport/gnunet-transport.c:829
+#: src/transport/gnunet-transport.c:940
#, fuzzy, c-format
msgid "Service `%s' is not running\n"
msgstr "« %s » không phải là một tập tin.\n"
-#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:838
+#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:949
#, fuzzy, c-format
msgid "Failed to parse peer identity `%s'\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
@@ -570,6 +570,7 @@ msgid "Print information about ATS state"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
#: src/consensus/gnunet-consensus-profiler.c:420
+#: src/secretsharing/gnunet-secretsharing-profiler.c:300
#, fuzzy
msgid "number of peers in consensus"
msgstr "số lần lặp lại"
@@ -591,6 +592,7 @@ msgid "consensus timeout"
msgstr "# các khoá phiên chạy được chấp nhận"
#: src/consensus/gnunet-consensus-profiler.c:432
+#: src/secretsharing/gnunet-secretsharing-profiler.c:309
msgid "be more verbose (print received values)"
msgstr ""
@@ -599,255 +601,260 @@ msgstr ""
msgid "Connection to conversation service lost, trying to reconnect\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:252
+#: src/conversation/gnunet-conversation.c:264
#, c-format
msgid "Incoming call from `%s'. Please /accept #%u or /cancel %u the call.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:274
+#: src/conversation/gnunet-conversation.c:286
#, c-format
msgid "Call from `%s' terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:307
+#: src/conversation/gnunet-conversation.c:319
#, c-format
msgid "Call from `%s' suspended by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:312
+#: src/conversation/gnunet-conversation.c:324
#, c-format
msgid "Call from `%s' resumed by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:330
+#: src/conversation/gnunet-conversation.c:342
#, c-format
msgid "Ego `%s' no longer available, phone is now down.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:344
+#: src/conversation/gnunet-conversation.c:356
#, fuzzy
msgid "Failed to setup phone (internal error)\n"
msgstr "Lỗi lấy thông kê về truyền tải.\n"
-#: src/conversation/gnunet-conversation.c:356
+#: src/conversation/gnunet-conversation.c:368
#, c-format
msgid ""
"Phone active on line %u. Type `/help' for a list of available commands\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:378
+#: src/conversation/gnunet-conversation.c:390
#, c-format
msgid "Resolved address of `%s'. Now ringing other party.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:385
+#: src/conversation/gnunet-conversation.c:397
#, fuzzy, c-format
msgid "Connection established to `%s'\n"
msgstr "%s bị lỗi tại %s:%d: « %s »\n"
-#: src/conversation/gnunet-conversation.c:392
+#: src/conversation/gnunet-conversation.c:404
#, fuzzy, c-format
msgid "Failed to resolve `%s'\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-#: src/conversation/gnunet-conversation.c:399
+#: src/conversation/gnunet-conversation.c:411
msgid "Call terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:405
+#: src/conversation/gnunet-conversation.c:417
#, c-format
msgid "Connection to `%s' suspended (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:411
+#: src/conversation/gnunet-conversation.c:423
#, c-format
msgid "Connection to `%s' resumed (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:416
+#: src/conversation/gnunet-conversation.c:428
msgid "Error with the call, restarting it\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:483
+#: src/conversation/gnunet-conversation.c:495
#, fuzzy, c-format
msgid "Unknown command `%s'\n"
msgstr "Không rõ câu lệnh « %s ».\n"
-#: src/conversation/gnunet-conversation.c:499
-#: src/conversation/gnunet-conversation.c:513
+#: src/conversation/gnunet-conversation.c:511
+#: src/conversation/gnunet-conversation.c:525
#, c-format
msgid "Ego `%s' not available\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:506
-#: src/conversation/gnunet-conversation.c:563
+#: src/conversation/gnunet-conversation.c:518
+#: src/conversation/gnunet-conversation.c:575
msgid "You are calling someone else already, hang up first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:521
-#: src/conversation/gnunet-conversation.c:576
+#: src/conversation/gnunet-conversation.c:533
+#: src/conversation/gnunet-conversation.c:588
#, c-format
msgid "You are answering call from `%s', hang up or suspend that call first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:532
+#: src/conversation/gnunet-conversation.c:544
msgid "Call recipient missing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:587
+#: src/conversation/gnunet-conversation.c:599
msgid "There is no incoming call to accept here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:604
+#: src/conversation/gnunet-conversation.c:616
#, c-format
msgid "There is no incoming call `%s' to accept right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:632
+#: src/conversation/gnunet-conversation.c:644
msgid "We currently do not have an address.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:655
+#: src/conversation/gnunet-conversation.c:667
#, c-format
msgid "We are currently trying to locate the private key for the ego `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:660
+#: src/conversation/gnunet-conversation.c:672
#, c-format
msgid "We are listening for incoming calls for ego `%s' on line %u.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:666
-#: src/conversation/gnunet-conversation.c:690
+#: src/conversation/gnunet-conversation.c:678
+#: src/conversation/gnunet-conversation.c:702
#, c-format
msgid "You are having a conversation with `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:671
+#: src/conversation/gnunet-conversation.c:683
msgid ""
"We had an internal error setting up our phone line. You can still make "
"calls.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:680
+#: src/conversation/gnunet-conversation.c:692
#, fuzzy, c-format
msgid "We are trying to find the network address to call `%s'.\n"
msgstr "GNUnet bây giờ sử dụng địa chỉ IP %s.\n"
-#: src/conversation/gnunet-conversation.c:685
+#: src/conversation/gnunet-conversation.c:697
#, c-format
msgid "We are calling `%s', his phone should be ringing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:704
+#: src/conversation/gnunet-conversation.c:716
msgid "Calls waiting:\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:710
+#: src/conversation/gnunet-conversation.c:722
#, fuzzy, c-format
msgid "#%u: `%s'\n"
msgstr "Tôi là đồng đẳng « %s ».\n"
-#: src/conversation/gnunet-conversation.c:738
-#: src/conversation/gnunet-conversation.c:753
+#: src/conversation/gnunet-conversation.c:750
+#: src/conversation/gnunet-conversation.c:765
msgid "There is no call that could be suspended right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:786
-#: src/conversation/gnunet-conversation.c:802
+#: src/conversation/gnunet-conversation.c:798
+#: src/conversation/gnunet-conversation.c:814
msgid "There is no call that could be resumed right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:809
+#: src/conversation/gnunet-conversation.c:821
#, c-format
msgid "Already talking with `%s', cannot resume a call right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:818
+#: src/conversation/gnunet-conversation.c:830
msgid "There is no incoming call to resume here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:835
+#: src/conversation/gnunet-conversation.c:847
#, c-format
msgid "There is no incoming call `%s' to resume right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:870
+#: src/conversation/gnunet-conversation.c:882
msgid "There is no call that could be cancelled right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:878
+#: src/conversation/gnunet-conversation.c:890
msgid "There is no incoming call to refuse here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:895
+#: src/conversation/gnunet-conversation.c:907
#, c-format
msgid "There is no incoming call `%s' to refuse right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:922
+#: src/conversation/gnunet-conversation.c:934
msgid "Use `/address' to find out which address this phone should have in GNS"
msgstr ""
-#: src/conversation/gnunet-conversation.c:924
+#: src/conversation/gnunet-conversation.c:936
msgid "Use `/call USER.gnu' to call USER"
msgstr ""
-#: src/conversation/gnunet-conversation.c:926
+#: src/conversation/gnunet-conversation.c:938
msgid "Use `/accept #NUM' to accept incoming call #NUM"
msgstr ""
-#: src/conversation/gnunet-conversation.c:928
+#: src/conversation/gnunet-conversation.c:940
msgid "Use `/suspend' to suspend the active call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:930
+#: src/conversation/gnunet-conversation.c:942
msgid ""
"Use `/resume [#NUM]' to resume a call, #NUM is needed to resume incoming "
"calls, no argument is needed to resume the current outgoing call."
msgstr ""
-#: src/conversation/gnunet-conversation.c:932
+#: src/conversation/gnunet-conversation.c:944
msgid "Use `/cancel' to reject or terminate a call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:934
+#: src/conversation/gnunet-conversation.c:946
msgid "Use `/status' to print status information"
msgstr ""
-#: src/conversation/gnunet-conversation.c:936
+#: src/conversation/gnunet-conversation.c:948
#, fuzzy
msgid "Use `/quit' to terminate gnunet-conversation"
msgstr "Gõ chuỗi « /quit » để thoát khỏi trình gnunet-chat"
-#: src/conversation/gnunet-conversation.c:938
+#: src/conversation/gnunet-conversation.c:950
msgid "Use `/help command' to get help for a specific command"
msgstr "Gõ chuỗi « /help LỆNH » để xem trợ giúp về lệnh đó"
-#: src/conversation/gnunet-conversation.c:1093
+#: src/conversation/gnunet-conversation.c:1148
#, fuzzy, c-format
msgid "Name of our ego changed to `%s'\n"
msgstr "Không thể tạo miền tên.\n"
-#: src/conversation/gnunet-conversation.c:1106
+#: src/conversation/gnunet-conversation.c:1161
#, fuzzy, c-format
msgid "Our ego `%s' was deleted!\n"
msgstr "Biệt hiệu « %s » bị xoá.\n"
-#: src/conversation/gnunet-conversation.c:1141
+#: src/conversation/gnunet-conversation.c:1196
#, fuzzy
msgid "You must specify the NAME of an ego to use\n"
msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n"
-#: src/conversation/gnunet-conversation.c:1167
+#: src/conversation/gnunet-conversation.c:1220
+#, fuzzy
+msgid "Failed to start gnunet-helper-w32-console\n"
+msgstr "Lỗi bắt đầu thu thập.\n"
+
+#: src/conversation/gnunet-conversation.c:1246
msgid "sets the NAME of the ego to use for the phone (and name resolution)"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1170
+#: src/conversation/gnunet-conversation.c:1249
msgid "sets the LINE to use for the phone"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1185
+#: src/conversation/gnunet-conversation.c:1273
msgid "Enables having a conversation with other GNUnet users."
msgstr ""
@@ -889,13 +896,13 @@ msgid "gnunet-helper-audio-playback - Got signal, exiting\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:211
-#: src/conversation/gnunet-helper-audio-record.c:362
+#: src/conversation/gnunet-helper-audio-record.c:365
#, fuzzy
msgid "Connection established.\n"
msgstr "Thu thập bị dừng.\n"
#: src/conversation/gnunet-helper-audio-playback.c:216
-#: src/conversation/gnunet-helper-audio-record.c:367
+#: src/conversation/gnunet-helper-audio-record.c:370
#, fuzzy, c-format
msgid "pa_stream_new() failed: %s\n"
msgstr "SMTP: « %s » bị lỗi: %s\n"
@@ -906,36 +913,36 @@ msgid "pa_stream_connect_playback() failed: %s\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:243
-#: src/conversation/gnunet-helper-audio-record.c:393
+#: src/conversation/gnunet-helper-audio-record.c:396
#, fuzzy, c-format
msgid "Connection failure: %s\n"
msgstr "%s bị lỗi tại %s:%d: « %s »\n"
#: src/conversation/gnunet-helper-audio-playback.c:264
-#: src/conversation/gnunet-helper-audio-record.c:416
+#: src/conversation/gnunet-helper-audio-record.c:419
msgid "Wrong Spec\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:270
-#: src/conversation/gnunet-helper-audio-record.c:422
+#: src/conversation/gnunet-helper-audio-record.c:425
#, fuzzy
msgid "pa_mainloop_new() failed.\n"
msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
#: src/conversation/gnunet-helper-audio-playback.c:284
-#: src/conversation/gnunet-helper-audio-record.c:437
+#: src/conversation/gnunet-helper-audio-record.c:440
#, fuzzy
msgid "pa_context_new() failed.\n"
msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
#: src/conversation/gnunet-helper-audio-playback.c:291
-#: src/conversation/gnunet-helper-audio-record.c:443
+#: src/conversation/gnunet-helper-audio-record.c:446
#, fuzzy, c-format
msgid "pa_context_connect() failed: %s\n"
msgstr "# của các đồng đẳng đã kết nối"
#: src/conversation/gnunet-helper-audio-playback.c:297
-#: src/conversation/gnunet-helper-audio-record.c:449
+#: src/conversation/gnunet-helper-audio-record.c:452
#, fuzzy
msgid "pa_mainloop_run() failed.\n"
msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
@@ -945,46 +952,51 @@ msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
msgid "Read error from STDIN: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:237
+#: src/conversation/gnunet-helper-audio-playback-gst.c:341
+#, c-format
+msgid "Read error from STDIN: %d %s\n"
+msgstr ""
+
+#: src/conversation/gnunet-helper-audio-record.c:240
#, fuzzy, c-format
msgid "pa_stream_peek() failed: %s\n"
msgstr "SMTP: « %s » bị lỗi: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:275
+#: src/conversation/gnunet-helper-audio-record.c:278
msgid "Got signal, exiting.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:300
+#: src/conversation/gnunet-helper-audio-record.c:303
#, fuzzy
msgid "Stream successfully created.\n"
msgstr "Không đủ quyền cho « %s ».\n"
-#: src/conversation/gnunet-helper-audio-record.c:305
+#: src/conversation/gnunet-helper-audio-record.c:308
#, fuzzy, c-format
msgid "pa_stream_get_buffer_attr() failed: %s\n"
msgstr "SMTP: « %s » bị lỗi: %s\n"
-#: src/conversation/gnunet-helper-audio-record.c:313
+#: src/conversation/gnunet-helper-audio-record.c:316
#, c-format
msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:317
+#: src/conversation/gnunet-helper-audio-record.c:320
#, c-format
msgid "Using sample spec '%s', channel map '%s'.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:324
+#: src/conversation/gnunet-helper-audio-record.c:327
#, fuzzy, c-format
msgid "Connected to device %s (%u, %ssuspended).\n"
msgstr "« %s » được kết nối tới « %s ».\n"
-#: src/conversation/gnunet-helper-audio-record.c:333
+#: src/conversation/gnunet-helper-audio-record.c:336
#, c-format
msgid "Stream error: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:380
+#: src/conversation/gnunet-helper-audio-record.c:383
#, fuzzy, c-format
msgid "pa_stream_connect_record() failed: %s\n"
msgstr "Gặp lỗi khi tải lên tập tin: %s\n"
@@ -1029,17 +1041,17 @@ msgid "Peer `%s'\n"
msgstr "Tôi là đồng đẳng « %s ».\n"
#: src/core/gnunet-core.c:110 src/core/gnunet-core.c:138
-#: src/transport/gnunet-transport.c:609 src/transport/gnunet-transport.c:634
+#: src/transport/gnunet-transport.c:630 src/transport/gnunet-transport.c:650
#, c-format
msgid "%24s: %-17s %4s (%u connections in total)\n"
msgstr ""
-#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:611
+#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:631
#, fuzzy
msgid "Connected to"
msgstr "« %s » được kết nối tới « %s ».\n"
-#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:636
+#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:651
#, fuzzy
msgid "Disconnected from"
msgstr "« %.*s » được kết nối tới « %.*s ».\n"
@@ -1049,7 +1061,7 @@ msgstr "« %.*s » được kết nối tới « %.*s ».\n"
msgid "Invalid command line argument `%s'\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1028
+#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1127
#, fuzzy
msgid "provide information about all current connections (continuously)"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
@@ -1122,7 +1134,7 @@ msgid "# EPHEMERAL_KEY messages received"
msgstr "# các thông báo được chắp liền"
#: src/core/gnunet-service-core_kx.c:950
-#: src/transport/gnunet-service-transport_validation.c:974
+#: src/transport/gnunet-service-transport_validation.c:968
#, fuzzy
msgid "# PING messages received"
msgstr "# các thông báo PING được tạo"
@@ -1155,7 +1167,7 @@ msgid "# keepalive messages sent"
msgstr "# các thông báo PING nhập thô được gửi"
#: src/core/gnunet-service-core_kx.c:1095
-#: src/transport/gnunet-service-transport_validation.c:1285
+#: src/transport/gnunet-service-transport_validation.c:1280
#, fuzzy
msgid "# PONG messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
@@ -1260,11 +1272,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:604 src/fs/gnunet-service-fs_cp.c:1499
#: src/topology/gnunet-daemon-topology.c:706
#: src/topology/gnunet-daemon-topology.c:807
-#: src/transport/gnunet-service-transport_neighbours.c:929
-#: src/transport/gnunet-service-transport_neighbours.c:1161
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:3015
-#: src/transport/gnunet-service-transport_neighbours.c:3291
+#: src/transport/gnunet-service-transport_neighbours.c:837
+#: src/transport/gnunet-service-transport_neighbours.c:1069
+#: src/transport/gnunet-service-transport_neighbours.c:1078
+#: src/transport/gnunet-service-transport_neighbours.c:2920
+#: src/transport/gnunet-service-transport_neighbours.c:3181
#, fuzzy
msgid "# peers connected"
msgstr "# của các đồng đẳng đã kết nối"
@@ -1345,6 +1357,9 @@ msgstr ""
#: src/namecache/plugin_namecache_sqlite.c:52
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:52
+#: src/testbed/generate-underlay-topology.c:47
+#: src/testbed/gnunet-daemon-latency-logger.c:52
+#: src/testbed/gnunet-daemon-testbed-underlay.c:55
#: src/testbed/testbed_api_hosts.c:69 src/util/crypto_ecc.c:51
#: src/include/gnunet_common.h:602 src/include/gnunet_common.h:611
#: src/scalarproduct/scalarproduct.h:61
@@ -1690,6 +1705,9 @@ msgid "Postgres database running\n"
msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:57
+#: src/testbed/generate-underlay-topology.c:50
+#: src/testbed/gnunet-daemon-latency-logger.c:55
+#: src/testbed/gnunet-daemon-testbed-underlay.c:58
#, fuzzy, c-format
msgid "`%s' failed at %s:%u with error: %s"
msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s"
@@ -3415,7 +3433,7 @@ msgid "Option `%s' is required when using option `%s'.\n"
msgstr "Tùy chọn « %s » cần thiết khi dùng tùy chọn « %s ».\n"
#: src/fs/gnunet-publish.c:778 src/fs/gnunet-publish.c:785
-#: src/transport/gnunet-transport.c:865 src/transport/gnunet-transport.c:899
+#: src/transport/gnunet-transport.c:977 src/transport/gnunet-transport.c:1007
#, c-format
msgid "Option `%s' makes no sense without option `%s'.\n"
msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy chọn « %s ».\n"
@@ -4091,8 +4109,8 @@ msgstr ""
#: src/hostlist/hostlist-client.c:741 src/hostlist/hostlist-client.c:750
#: src/hostlist/hostlist-client.c:871 src/hostlist/hostlist-client.c:963
#: src/hostlist/hostlist-client.c:968
-#: src/transport/plugin_transport_http_client.c:1070
-#: src/transport/plugin_transport_http_client.c:1085
+#: src/transport/plugin_transport_http_client.c:1062
+#: src/transport/plugin_transport_http_client.c:1077
#, c-format
msgid "%s failed at %s:%d: `%s'\n"
msgstr "%s bị lỗi tại %s:%d: « %s »\n"
@@ -4385,37 +4403,37 @@ msgstr "Gặp lỗi khi tạo người dùng"
msgid "Modified %u addresses \n"
msgstr ""
-#: src/hello/hello.c:943
+#: src/hello/hello.c:944
#, fuzzy
msgid "Failed to parse HELLO message: missing expiration time\n"
msgstr "Lỗi lưu cấu hình."
-#: src/hello/hello.c:952
+#: src/hello/hello.c:953
#, fuzzy
msgid "Failed to parse HELLO message: invalid expiration time\n"
msgstr "Lỗi lưu cấu hình."
-#: src/hello/hello.c:962
+#: src/hello/hello.c:963
#, fuzzy
msgid "Failed to parse HELLO message: malformed\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/hello/hello.c:972
+#: src/hello/hello.c:973
#, fuzzy
msgid "Failed to parse HELLO message: missing transport plugin\n"
msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
-#: src/hello/hello.c:989
+#: src/hello/hello.c:990
#, c-format
msgid "Plugin `%s' not found\n"
msgstr ""
-#: src/hello/hello.c:998
+#: src/hello/hello.c:999
#, c-format
msgid "Plugin `%s' does not support URIs yet\n"
msgstr ""
-#: src/hello/hello.c:1017
+#: src/hello/hello.c:1018
#, fuzzy, c-format
msgid "Failed to parse `%s' as an address for plugin `%s'\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
@@ -4674,7 +4692,7 @@ msgid "Advertisement message could not be queued by core\n"
msgstr ""
#: src/hostlist/hostlist-server.c:556 src/peerinfo-tool/gnunet-peerinfo.c:651
-#: src/transport/gnunet-service-transport.c:946
+#: src/transport/gnunet-service-transport.c:867
#, fuzzy
msgid "Could not access PEERINFO service. Exiting.\n"
msgstr "Không thể truy cập đến thông tin về không gian tên.\n"
@@ -4786,49 +4804,34 @@ msgstr "Không thể lưu tập tin cấu hình « %s »:"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/mesh/gnunet-mesh.c:342
+#: src/mesh/gnunet-mesh.c:343
#, fuzzy, c-format
msgid "Invalid target `%s'\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/mesh/gnunet-mesh.c:503
+#: src/mesh/gnunet-mesh.c:521
#, fuzzy, c-format
msgid "Invalid tunnel owner `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/mesh/gnunet-mesh.c:568
+#: src/mesh/gnunet-mesh.c:586
msgid "You must NOT give a TARGET when using options\n"
msgstr ""
-#: src/mesh/gnunet-mesh.c:645
-#, fuzzy
-msgid "provide information about a particular channel"
-msgstr "In ra thông tin về các đồng đẳng GNUnet."
-
-#: src/mesh/gnunet-mesh.c:648
-#, fuzzy
-msgid "provide information about a particular connection"
-msgstr "In ra thông tin về các đồng đẳng GNUnet."
-
-#: src/mesh/gnunet-mesh.c:651
+#: src/mesh/gnunet-mesh.c:669
msgid "activate echo mode"
msgstr ""
-#: src/mesh/gnunet-mesh.c:654
+#: src/mesh/gnunet-mesh.c:672
#, fuzzy
msgid "provide information about all tunnels"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
-#: src/mesh/gnunet-mesh.c:657
-#, fuzzy
-msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
-msgstr "In ra thông tin về các đồng đẳng GNUnet."
-
-#: src/mesh/gnunet-mesh.c:660
+#: src/mesh/gnunet-mesh.c:678
msgid "port to listen to (default; 0)"
msgstr ""
-#: src/mesh/gnunet-mesh.c:663
+#: src/mesh/gnunet-mesh.c:681
#, fuzzy
msgid "provide information about a particular tunnel"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
@@ -4954,7 +4957,7 @@ msgid "del"
msgstr ""
#: src/namestore/gnunet-namestore.c:715
-#: src/peerinfo-tool/gnunet-peerinfo.c:703
+#: src/peerinfo-tool/gnunet-peerinfo.c:702
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Dữ liệu nhập không hợp lệ.\n"
@@ -5124,54 +5127,54 @@ msgstr ""
msgid "NAT traversal with ICMP Server timed out.\n"
msgstr ""
-#: src/nat/nat_auto.c:200
+#: src/nat/nat_auto.c:203
msgid "NAT traversal with ICMP Server succeeded.\n"
msgstr ""
-#: src/nat/nat_auto.c:201
+#: src/nat/nat_auto.c:204
msgid "NAT traversal with ICMP Server failed.\n"
msgstr ""
-#: src/nat/nat_auto.c:222
+#: src/nat/nat_auto.c:225
#, fuzzy
msgid "Testing connection reversal with ICMP server.\n"
msgstr "Cổng để liên lạc với giao diện người dùng GNUnet"
-#: src/nat/nat_auto.c:269
+#: src/nat/nat_auto.c:274
#, c-format
msgid "Detected external IP `%s'\n"
msgstr ""
-#: src/nat/nat_auto.c:339
+#: src/nat/nat_auto.c:344
msgid "This system has a global IPv6 address, setting IPv6 to supported.\n"
msgstr ""
-#: src/nat/nat_auto.c:355
+#: src/nat/nat_auto.c:360
#, fuzzy, c-format
msgid "Detected internal network address `%s'.\n"
msgstr "GNUnet bây giờ sử dụng địa chỉ IP %s.\n"
-#: src/nat/nat_auto.c:408
+#: src/nat/nat_auto.c:413
msgid "upnpc found, enabling its use\n"
msgstr ""
-#: src/nat/nat_auto.c:409
+#: src/nat/nat_auto.c:414
msgid "upnpc not found\n"
msgstr ""
-#: src/nat/nat_auto.c:442
+#: src/nat/nat_auto.c:447
msgid "gnunet-helper-nat-server found, testing it\n"
msgstr ""
-#: src/nat/nat_auto.c:443
+#: src/nat/nat_auto.c:448
msgid "No working gnunet-helper-nat-server found\n"
msgstr ""
-#: src/nat/nat_auto.c:477
+#: src/nat/nat_auto.c:482
msgid "gnunet-helper-nat-client found, enabling it\n"
msgstr ""
-#: src/nat/nat_auto.c:478
+#: src/nat/nat_auto.c:483
msgid "gnunet-helper-nat-client not found or behind NAT, disabling it\n"
msgstr ""
@@ -5185,40 +5188,65 @@ msgstr ""
msgid "Failed to start %s\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/nat/nat.c:1203
+#: src/nat/nat.c:1205
msgid "malformed"
msgstr ""
-#: src/nat/nat.c:1274 src/nat/nat.c:1286
+#: src/nat/nat.c:1276 src/nat/nat.c:1288
#, c-format
msgid ""
"Configuration requires `%s', but binary is not installed properly (SUID bit "
"not set). Option disabled.\n"
msgstr ""
-#: src/nat/nat.c:1424
+#: src/nat/nat.c:1426
msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n"
msgstr ""
-#: src/nat/nat.c:1440
+#: src/nat/nat.c:1442
#, c-format
msgid "Running gnunet-helper-nat-client %s %s %u\n"
msgstr ""
-#: src/nat/nat_mini.c:170
+#: src/nat/nat_mini.c:155
+msgid "no valid address was returned by `external-ip'"
+msgstr ""
+
+#: src/nat/nat_mini.c:175
+msgid "`external-ip' command not found"
+msgstr ""
+
+#: src/nat/nat_mini.c:201
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/nat_mini.c:505
+#: src/nat/nat_mini.c:366
+#, fuzzy
+msgid "Failed to run `upnpc` command"
+msgstr "Lỗi bắt đầu thu thập.\n"
+
+#: src/nat/nat_mini.c:512
+msgid "`upnpc' command took too long, process killed"
+msgstr ""
+
+#: src/nat/nat_mini.c:540
+msgid "`upnpc' command failed to establish port mapping"
+msgstr ""
+
+#: src/nat/nat_mini.c:604
msgid "`upnpc' command not found\n"
msgstr ""
-#: src/nat/nat_test.c:348
+#: src/nat/nat_mini.c:608
+msgid "`upnpc` command not found"
+msgstr ""
+
+#: src/nat/nat_test.c:351
#, fuzzy
msgid "Failed to connect to `gnunet-nat-server'\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/nat/nat_test.c:420
+#: src/nat/nat_test.c:423
#, c-format
msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n"
msgstr ""
@@ -5254,15 +5282,11 @@ msgid "Measure quality and performance of the NSE service."
msgstr "Không thể truy cập đến dịch vụ"
#: src/nse/gnunet-service-nse.c:1461
-#: src/revocation/gnunet-service-revocation.c:789
+#: src/revocation/gnunet-service-revocation.c:789 src/util/gnunet-scrypt.c:248
#, fuzzy
msgid "Value is too large.\n"
msgstr "Giá trị không nằm trong phạm vi được phép."
-#: src/nse/gnunet-service-nse.c:1488
-msgid "NSE service is lacking key configuration settings. Exiting.\n"
-msgstr ""
-
#: src/peerinfo/gnunet-service-peerinfo.c:215
#, fuzzy, c-format
msgid "Removing expired address of transport `%s'\n"
@@ -5381,55 +5405,50 @@ msgstr ""
msgid "Failure adding HELLO: %s\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:661
-#, fuzzy, c-format
-msgid "Could not find option `%s:%s' in configuration.\n"
-msgstr "Không tìm thấy phương pháp « %s%s » trong thư viện « %s ».\n"
-
-#: src/peerinfo-tool/gnunet-peerinfo.c:667
+#: src/peerinfo-tool/gnunet-peerinfo.c:666 src/util/gnunet-scrypt.c:224
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:725
+#: src/peerinfo-tool/gnunet-peerinfo.c:724
#, c-format
msgid "I am peer `%s'.\n"
msgstr "Tôi là đồng đẳng « %s ».\n"
-#: src/peerinfo-tool/gnunet-peerinfo.c:769
+#: src/peerinfo-tool/gnunet-peerinfo.c:768
msgid "don't resolve host names"
msgstr "không quyết định các tên máy"
-#: src/peerinfo-tool/gnunet-peerinfo.c:772
+#: src/peerinfo-tool/gnunet-peerinfo.c:771
msgid "output only the identity strings"
msgstr "chỉ xuất những chuỗi nhận diện"
-#: src/peerinfo-tool/gnunet-peerinfo.c:775
+#: src/peerinfo-tool/gnunet-peerinfo.c:774
msgid "include friend-only information"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:778
+#: src/peerinfo-tool/gnunet-peerinfo.c:777
msgid "output our own identity only"
msgstr "chỉ xuất nhận diện mình"
-#: src/peerinfo-tool/gnunet-peerinfo.c:781
+#: src/peerinfo-tool/gnunet-peerinfo.c:780
#, fuzzy
msgid "list all known peers"
msgstr "liệt kê mọi bộ tiếp hợp mạng"
-#: src/peerinfo-tool/gnunet-peerinfo.c:784
+#: src/peerinfo-tool/gnunet-peerinfo.c:783
msgid "dump hello to file"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:787
+#: src/peerinfo-tool/gnunet-peerinfo.c:786
msgid "also output HELLO uri(s)"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:790
+#: src/peerinfo-tool/gnunet-peerinfo.c:789
msgid "add given HELLO uri to the database"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:801
+#: src/peerinfo-tool/gnunet-peerinfo.c:800
#, fuzzy
msgid "Print information about peers."
msgstr "In ra thông tin về các đồng đẳng GNUnet."
@@ -6075,6 +6094,14 @@ msgstr "Lỗi kết nối đến gnunetd.\n"
msgid "Failed to send a message to the scalarproduct service\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
+#: src/secretsharing/gnunet-secretsharing-profiler.c:303
+msgid "dkg timeout"
+msgstr ""
+
+#: src/secretsharing/gnunet-secretsharing-profiler.c:306
+msgid "threshold"
+msgstr ""
+
#: src/set/gnunet-service-set.c:1416
#, fuzzy
msgid "Could not connect to mesh service\n"
@@ -6207,19 +6234,94 @@ msgid ""
"might have been lost!\n"
msgstr ""
+#: src/testbed/generate-underlay-topology.c:223
+msgid "Need atleast 2 arguments\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:228
+msgid "Database filename missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:235
+msgid "Topology string missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:240
+#, fuzzy, c-format
+msgid "Invalid topology: %s\n"
+msgstr "Đối số không hợp lệ cho « %s ».\n"
+
+#: src/testbed/generate-underlay-topology.c:252
+#, c-format
+msgid "An argument is missing for given topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:258
+#, fuzzy, c-format
+msgid "Invalid argument `%s' given as topology argument\n"
+msgstr "Đối số không hợp lệ cho « %s ».\n"
+
+#: src/testbed/generate-underlay-topology.c:266
+#, c-format
+msgid "Filename argument missing for topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:280
+#, c-format
+msgid "Second argument for topology `%s' is missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:286
+#, fuzzy, c-format
+msgid "Invalid argument `%s'; expecting unsigned int\n"
+msgstr "Đối số không hợp lệ cho « %s ».\n"
+
+#: src/testbed/generate-underlay-topology.c:335
+#: src/testbed/gnunet-testbed-profiler.c:293
+msgid "create COUNT number of peers"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:344
+msgid ""
+"Generates SQLite3 database representing a given underlay topology.\n"
+"Usage: gnunet-underlay-topology [OPTIONS] db-filename TOPO [TOPOOPTS]\n"
+"The following options are available for TOPO followed by TOPOOPTS if "
+"applicable:\n"
+"\t LINE\n"
+"\t RING\n"
+"\t RANDOM <num_rnd_links>\n"
+"\t SMALL_WORLD <num_rnd_links>\n"
+"\t SMALL_WORLD_RING <num_rnd_links>\n"
+"\t CLIQUE\n"
+"\t 2D_TORUS\n"
+"\t SCALE_FREE <cap> <m>\n"
+"\t FROM_FILE <filename>\n"
+"TOPOOPTS:\n"
+"\t num_rnd_links: The number of random links\n"
+"\t cap: the maximum number of links a node can have\n"
+"\t m: the number of links a node should have while joining the network\n"
+"\t filename: the path of the file which contains topology information\n"
+"NOTE: the format of the above file is descibed here: https://www.gnunet.org/"
+"content/topology-file-format\n"
+msgstr ""
+
+#: src/testbed/gnunet-daemon-latency-logger.c:325
+msgid "Daemon to log latency values of connections to neighbours"
+msgstr ""
+
#: src/testbed/gnunet-daemon-testbed-blacklist.c:264
msgid ""
"Daemon to restrict incoming transport layer connections during testbed "
"deployments"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:300 src/testing/testing.c:293
-#: src/util/gnunet-ecc.c:217
+#: src/testbed/gnunet-daemon-testbed-underlay.c:235 src/testing/list-keys.c:50
+#: src/testing/testing.c:293 src/util/gnunet-ecc.c:217
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:553
+#: src/testbed/gnunet-daemon-testbed-underlay.c:474
msgid "Daemon to restrict underlay network in testbed deployments"
msgstr ""
@@ -6258,10 +6360,6 @@ msgstr "Đang bắt đầu tài về « %s »\n"
msgid "Exiting as the number of peers is %u\n"
msgstr "tăng sổ tối đa các kết nối TCP/IP"
-#: src/testbed/gnunet-testbed-profiler.c:293
-msgid "create COUNT number of peers"
-msgstr ""
-
#: src/testbed/gnunet-testbed-profiler.c:296
msgid "tolerate COUNT number of continious timeout failures"
msgstr ""
@@ -6298,100 +6396,100 @@ msgstr ""
msgid "Adding host %u failed with error: %s\n"
msgstr "« %s » thất bại với mã lỗi %d: %s\n"
-#: src/testbed/testbed_api_testbed.c:820
+#: src/testbed/testbed_api_testbed.c:819
msgid "Linking controllers failed. Exiting"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:989
+#: src/testbed/testbed_api_testbed.c:988
#, c-format
msgid "Host registration failed for a host. Error: %s\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1055
+#: src/testbed/testbed_api_testbed.c:1054
msgid "Controller crash detected. Shutting down.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1144
+#: src/testbed/testbed_api_testbed.c:1143
#, c-format
msgid "Host %s cannot start testbed\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1148
+#: src/testbed/testbed_api_testbed.c:1147
msgid "Testbed cannot be started on localhost\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1186
+#: src/testbed/testbed_api_testbed.c:1185
msgid "Cannot start the master controller"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1204
+#: src/testbed/testbed_api_testbed.c:1203
msgid "Shutting down testbed due to timeout while setup.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1264
+#: src/testbed/testbed_api_testbed.c:1263
msgid "No hosts loaded from LoadLeveler. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1276
+#: src/testbed/testbed_api_testbed.c:1275
msgid "No hosts loaded. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1300
+#: src/testbed/testbed_api_testbed.c:1299
msgid "Specified topology must be supported by testbed"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1350
+#: src/testbed/testbed_api_testbed.c:1349
#, c-format
msgid ""
"Maximum number of edges a peer can have in a scale free topology cannot be "
"more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1366
+#: src/testbed/testbed_api_testbed.c:1365
#, c-format
msgid ""
"The number of edges that can established when adding a new node to scale "
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:715
+#: src/testbed/testbed_api_topology.c:960
#, fuzzy, c-format
msgid "Topology file %s not found\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
-#: src/testbed/testbed_api_topology.c:721
+#: src/testbed/testbed_api_topology.c:966
#, fuzzy, c-format
msgid "Topology file %s has no data\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
-#: src/testbed/testbed_api_topology.c:728
+#: src/testbed/testbed_api_topology.c:973
#, fuzzy, c-format
msgid "Topology file %s cannot be read\n"
msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được thẩm tra.\n"
-#: src/testbed/testbed_api_topology.c:750
+#: src/testbed/testbed_api_topology.c:995
#, fuzzy, c-format
msgid "Failed to read peer index from toology file: %s"
msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
-#: src/testbed/testbed_api_topology.c:759
-#: src/testbed/testbed_api_topology.c:783
+#: src/testbed/testbed_api_topology.c:1004
+#: src/testbed/testbed_api_topology.c:1028
#, c-format
msgid "Value in given topology file: %s out of range\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:765
-#: src/testbed/testbed_api_topology.c:789
+#: src/testbed/testbed_api_topology.c:1010
+#: src/testbed/testbed_api_topology.c:1034
#, fuzzy, c-format
msgid "Failed to read peer index from topology file: %s"
msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
-#: src/testbed/testbed_api_topology.c:771
-#: src/testbed/testbed_api_topology.c:795
+#: src/testbed/testbed_api_topology.c:1016
+#: src/testbed/testbed_api_topology.c:1040
msgid "Topology file needs more peers than given ones\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:810
+#: src/testbed/testbed_api_topology.c:1074
#, fuzzy, c-format
msgid "Ignoring to connect peer %u to peer %u\n"
msgstr "đang kết nối đồng đẳng %s:%d tới đồng đẳng %s:%d\n"
@@ -6435,6 +6533,14 @@ msgstr ""
msgid "Command line tool to access the testing library"
msgstr ""
+#: src/testing/list-keys.c:90
+msgid "list COUNT number of keys"
+msgstr ""
+
+#: src/testing/list-keys.c:93
+msgid "skip COUNT number of keys in the beginning"
+msgstr ""
+
#: src/testing/testing.c:277
#, c-format
msgid "Hostkeys file not found: %s\n"
@@ -6576,38 +6682,38 @@ msgid "Adding blacklisting entry for peer `%s':`%s'\n"
msgstr ""
#: src/transport/gnunet-service-transport_blacklist.c:455
-#: src/transport/gnunet-service-transport_blacklist.c:722
+#: src/transport/gnunet-service-transport_blacklist.c:725
msgid "# disconnects due to blacklist"
msgstr ""
-#: src/transport/gnunet-service-transport.c:206
+#: src/transport/gnunet-service-transport.c:201
#, fuzzy
msgid "# bytes payload discarded due to not connected peer"
msgstr "# Các quảng cáo đồng đẳng bị hủy do trọng tải"
-#: src/transport/gnunet-service-transport.c:325
+#: src/transport/gnunet-service-transport.c:304
#, fuzzy
msgid "# bytes total received"
msgstr "# tổng số nội dung lỗ hổng được nhận"
-#: src/transport/gnunet-service-transport.c:399
+#: src/transport/gnunet-service-transport.c:371
#, fuzzy
msgid "# bytes payload received"
msgstr "# các byte đã giải mã"
-#: src/transport/gnunet-service-transport.c:574
+#: src/transport/gnunet-service-transport.c:527
#, fuzzy, c-format
msgid "Could not obtain a valid network for `%s' %s (%s)\n"
msgstr "Không thể lấy địa chỉ IP cho giao diện « %s », dùng « %s ».\n"
-#: src/transport/gnunet-service-transport.c:628
+#: src/transport/gnunet-service-transport.c:574
#, c-format
msgid ""
"Address or session unknown: failed to update properties for peer `%s' plugin "
"`%s' address `%s' session %p\n"
msgstr ""
-#: src/transport/gnunet-service-transport.c:916
+#: src/transport/gnunet-service-transport.c:837
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "Lưu cấu hình ngay bây giờ không?"
@@ -6622,16 +6728,16 @@ msgstr ""
msgid "# messages dropped due to slow client"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/transport/gnunet-service-transport_clients.c:533
+#: src/transport/gnunet-service-transport_clients.c:540
#, c-format
msgid "Rejecting control connection from peer `%s', which is not me!\n"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:674
+#: src/transport/gnunet-service-transport_clients.c:681
msgid "# bytes payload dropped (other peer was not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:731
+#: src/transport/gnunet-service-transport_clients.c:738
#, fuzzy
msgid "# REQUEST CONNECT messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
@@ -6640,167 +6746,167 @@ msgstr "# các thông báo PONG đã mật mã được nhận"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1108
+#: src/transport/gnunet-service-transport_neighbours.c:1016
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:1244
-#: src/transport/gnunet-service-transport_neighbours.c:1653
+#: src/transport/gnunet-service-transport_neighbours.c:1152
+#: src/transport/gnunet-service-transport_neighbours.c:1562
#, fuzzy
msgid "# bytes in message queue for other peers"
msgstr "# các byte thông báo gửi đi bị loại bỏ"
-#: src/transport/gnunet-service-transport_neighbours.c:1249
+#: src/transport/gnunet-service-transport_neighbours.c:1157
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# các byte kiểu %d được gửi "
-#: src/transport/gnunet-service-transport_neighbours.c:1254
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# các byte thông báo gửi đi bị loại bỏ"
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1219
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1368
+#: src/transport/gnunet-service-transport_neighbours.c:1276
#, fuzzy
msgid "# keepalives sent"
msgstr "# các khoá phiên chạy được gửi"
-#: src/transport/gnunet-service-transport_neighbours.c:1401
+#: src/transport/gnunet-service-transport_neighbours.c:1309
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1409
+#: src/transport/gnunet-service-transport_neighbours.c:1317
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1456
+#: src/transport/gnunet-service-transport_neighbours.c:1364
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1465
+#: src/transport/gnunet-service-transport_neighbours.c:1373
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1473
+#: src/transport/gnunet-service-transport_neighbours.c:1381
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (address changed)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1481
+#: src/transport/gnunet-service-transport_neighbours.c:1389
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (wrong nonce)"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1558
+#: src/transport/gnunet-service-transport_neighbours.c:1467
#, fuzzy
msgid "# messages discarded due to lack of neighbour record"
msgstr "# các thông báo được chắp liền"
-#: src/transport/gnunet-service-transport_neighbours.c:1592
+#: src/transport/gnunet-service-transport_neighbours.c:1501
#, fuzzy
msgid "# bandwidth quota violations by other peers"
msgstr "theo dõi gnunetd sử dụng dải thông"
-#: src/transport/gnunet-service-transport_neighbours.c:1608
+#: src/transport/gnunet-service-transport_neighbours.c:1517
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1700
+#: src/transport/gnunet-service-transport_neighbours.c:1609
#, fuzzy
msgid "# SESSION_CONNECT messages sent"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:1716
+#: src/transport/gnunet-service-transport_neighbours.c:1625
#, fuzzy, c-format
msgid "Failed to transmit CONNECT message via plugin to %s\n"
msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1759
+#: src/transport/gnunet-service-transport_neighbours.c:1668
#, fuzzy
msgid "# CONNECT_ACK messages sent"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:2236
+#: src/transport/gnunet-service-transport_neighbours.c:2149
#, fuzzy
msgid "# CONNECT messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:2241
+#: src/transport/gnunet-service-transport_neighbours.c:2154
#, c-format
msgid "CONNECT request from peer `%s' ignored due impending shutdown\n"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2979
+#: src/transport/gnunet-service-transport_neighbours.c:2885
#, fuzzy
msgid "# CONNECT_ACK messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:2987
+#: src/transport/gnunet-service-transport_neighbours.c:2893
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:3002
-#: src/transport/gnunet-service-transport_neighbours.c:3039
+#: src/transport/gnunet-service-transport_neighbours.c:2908
+#: src/transport/gnunet-service-transport_neighbours.c:2944
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:3052
+#: src/transport/gnunet-service-transport_neighbours.c:2957
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:3085
+#: src/transport/gnunet-service-transport_neighbours.c:2987
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:3265
+#: src/transport/gnunet-service-transport_neighbours.c:3156
#, fuzzy
msgid "# SESSION_ACK messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:3284
+#: src/transport/gnunet-service-transport_neighbours.c:3175
#, fuzzy
msgid "# unexpected SESSION_ACK messages"
msgstr "# các thông báo PONG đã mật mã được gửi"
-#: src/transport/gnunet-service-transport_neighbours.c:3340
+#: src/transport/gnunet-service-transport_neighbours.c:3230
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3355
+#: src/transport/gnunet-service-transport_neighbours.c:3245
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3383
+#: src/transport/gnunet-service-transport_neighbours.c:3273
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3389
+#: src/transport/gnunet-service-transport_neighbours.c:3279
#, fuzzy
msgid "# DISCONNECT messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/gnunet-service-transport_neighbours.c:3398
+#: src/transport/gnunet-service-transport_neighbours.c:3288
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3434
+#: src/transport/gnunet-service-transport_neighbours.c:3324
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3532
+#: src/transport/gnunet-service-transport_neighbours.c:3423
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
@@ -6829,442 +6935,447 @@ msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
msgid "Did not load plugin `%s' due to missing functions\n"
msgstr "Lỗi nạp phần bổ sung « %s » tại %s:%d. Đang hủy nạp phần bổ sung.\n"
-#: src/transport/gnunet-service-transport_validation.c:456
+#: src/transport/gnunet-service-transport_validation.c:452
msgid "# address records discarded"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:526
+#: src/transport/gnunet-service-transport_validation.c:522
#, c-format
msgid ""
"Not transmitting `%s' with `%s', message too big (%u bytes!). This should "
"not happen.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:584
+#: src/transport/gnunet-service-transport_validation.c:580
#, fuzzy
msgid "# PING without HELLO messages sent"
msgstr "# các thông báo PONG nhập thô được gửi"
-#: src/transport/gnunet-service-transport_validation.c:685
+#: src/transport/gnunet-service-transport_validation.c:681
msgid "# address revalidations started"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:969
+#: src/transport/gnunet-service-transport_validation.c:963
#, fuzzy
msgid "# PING message for different peer received"
msgstr "# các thông báo PING được tạo"
-#: src/transport/gnunet-service-transport_validation.c:1019
+#: src/transport/gnunet-service-transport_validation.c:1014
#, c-format
msgid "Plugin `%s' not available, cannot confirm having this address\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1029
+#: src/transport/gnunet-service-transport_validation.c:1024
msgid "# failed address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1032
+#: src/transport/gnunet-service-transport_validation.c:1027
#, c-format
msgid "Address `%s' is not one of my addresses, not confirming PING\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1040
+#: src/transport/gnunet-service-transport_validation.c:1035
msgid "# successful address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1052
+#: src/transport/gnunet-service-transport_validation.c:1047
#, c-format
msgid ""
"Not confirming PING from peer `%s' with address `%s' since I cannot confirm "
"having this address.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1060
+#: src/transport/gnunet-service-transport_validation.c:1055
#, c-format
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1114
+#: src/transport/gnunet-service-transport_validation.c:1109
#, fuzzy, c-format
msgid "Failed to create PONG signature for peer `%s'\n"
msgstr "Không thể tạo miền tên.\n"
-#: src/transport/gnunet-service-transport_validation.c:1163
+#: src/transport/gnunet-service-transport_validation.c:1158
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1172
+#: src/transport/gnunet-service-transport_validation.c:1167
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1312
+#: src/transport/gnunet-service-transport_validation.c:1308
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1327
+#: src/transport/gnunet-service-transport_validation.c:1323
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1448
+#: src/transport/gnunet-service-transport_validation.c:1442
+#, fuzzy, c-format
+msgid "Validation received new %s message for peer `%s' with size %u\n"
+msgstr "Nhận yêu cầu định tuyến\n"
+
+#: src/transport/gnunet-service-transport_validation.c:1449
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Không thể lấy địa chỉ của đồng đẳng « %s ».\n"
-#: src/transport/gnunet-transport.c:258
+#: src/transport/gnunet-transport.c:285
#, fuzzy, c-format
msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:293
#, fuzzy, c-format
msgid "Received %llu bytes/s (%llu bytes in %s)\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/transport/gnunet-transport.c:296
+#: src/transport/gnunet-transport.c:331
#, fuzzy, c-format
msgid "Failed to connect to `%s'\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/gnunet-transport.c:309
+#: src/transport/gnunet-transport.c:344
#, fuzzy, c-format
msgid "Failed to resolve address for peer `%s'\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
-#: src/transport/gnunet-transport.c:318
+#: src/transport/gnunet-transport.c:354
#, fuzzy
msgid "Failed to list connections, timeout occured\n"
msgstr "Không kết nối được đến trình nền gnunetd."
-#: src/transport/gnunet-transport.c:423
+#: src/transport/gnunet-transport.c:453
msgid "No transport plugins configured, peer will never communicate\n"
msgstr ""
-#: src/transport/gnunet-transport.c:436
+#: src/transport/gnunet-transport.c:467
#, c-format
msgid "No port configured for plugin `%s', cannot test it\n"
msgstr ""
-#: src/transport/gnunet-transport.c:506
+#: src/transport/gnunet-transport.c:530
#, fuzzy, c-format
msgid "Transmitting %u bytes to %s\n"
msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
-#: src/transport/gnunet-transport.c:529
+#: src/transport/gnunet-transport.c:551
#, fuzzy, c-format
msgid "Successfully connected to `%s'\n"
msgstr "Không đủ quyền cho « %s ».\n"
-#: src/transport/gnunet-transport.c:552
+#: src/transport/gnunet-transport.c:575
#, c-format
msgid ""
"Successfully connected to `%s', starting to send benchmark data in %u Kb "
"blocks\n"
msgstr ""
-#: src/transport/gnunet-transport.c:587
+#: src/transport/gnunet-transport.c:608
#, fuzzy, c-format
msgid "Disconnected from peer `%s' while benchmarking\n"
msgstr "« %.*s » được kết nối tới « %.*s ».\n"
-#: src/transport/gnunet-transport.c:660
+#: src/transport/gnunet-transport.c:670
#, fuzzy, c-format
msgid "Received %u bytes from %s\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/transport/gnunet-transport.c:685
-#, fuzzy, c-format
-msgid "Peer `%s': %s %s\n"
-msgstr "Tôi là đồng đẳng « %s ».\n"
-
-#: src/transport/gnunet-transport.c:704
+#: src/transport/gnunet-transport.c:693
#, c-format
-msgid "Peer `%s': %s <unable to resolve address>\n"
+msgid "Peer `%s': %s %s in state `%s' until %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:772
+#: src/transport/gnunet-transport.c:703
#, fuzzy, c-format
-msgid "Peer `%s' disconnected\n"
-msgstr "# của các đồng đẳng đã kết nối"
+msgid "Peer `%s': %s %s\n"
+msgstr "Tôi là đồng đẳng « %s ».\n"
-#: src/transport/gnunet-transport.c:802
+#: src/transport/gnunet-transport.c:916
#, fuzzy
msgid "Failed to send connect request to transport service\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/gnunet-transport.c:848
+#: src/transport/gnunet-transport.c:959
#, c-format
msgid ""
"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
"%s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:855
+#: src/transport/gnunet-transport.c:967
#, c-format
msgid ""
"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:878 src/transport/gnunet-transport.c:910
-#: src/transport/gnunet-transport.c:932 src/transport/gnunet-transport.c:969
+#: src/transport/gnunet-transport.c:986 src/transport/gnunet-transport.c:1016
+#: src/transport/gnunet-transport.c:1039 src/transport/gnunet-transport.c:1070
#, fuzzy
msgid "Failed to connect to transport service\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/gnunet-transport.c:887 src/transport/gnunet-transport.c:917
+#: src/transport/gnunet-transport.c:995 src/transport/gnunet-transport.c:1025
#, fuzzy
msgid "Failed to send request to transport service\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/gnunet-transport.c:937
+#: src/transport/gnunet-transport.c:1044
msgid "Starting to receive benchmark data\n"
msgstr ""
-#: src/transport/gnunet-transport.c:1019
+#: src/transport/gnunet-transport.c:1116
+#, fuzzy
+msgid "print information for all peers (instead of only connected peers )"
+msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#: src/transport/gnunet-transport.c:1119
msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1022
+#: src/transport/gnunet-transport.c:1121
#, fuzzy
msgid "connect to a peer"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/gnunet-transport.c:1025
+#: src/transport/gnunet-transport.c:1124
#, fuzzy
msgid "provide information about all current connections (once)"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
-#: src/transport/gnunet-transport.c:1031
+#: src/transport/gnunet-transport.c:1130
#, fuzzy
msgid ""
"provide information about all connects and disconnect events (continuously)"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
-#: src/transport/gnunet-transport.c:1034
+#: src/transport/gnunet-transport.c:1132
#, fuzzy
msgid "do not resolve hostnames"
msgstr "không quyết định các tên máy"
-#: src/transport/gnunet-transport.c:1037
+#: src/transport/gnunet-transport.c:1134
msgid "peer identity"
msgstr ""
-#: src/transport/gnunet-transport.c:1041
+#: src/transport/gnunet-transport.c:1136
msgid "send data for benchmarking to the other peer (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1044
+#: src/transport/gnunet-transport.c:1139
msgid "test transport configuration (involves external server)"
msgstr ""
-#: src/transport/gnunet-transport.c:1055
+#: src/transport/gnunet-transport.c:1148
#, fuzzy
msgid "Direct access to transport service."
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/transport/plugin_transport_bluetooth.c:616
+#: src/transport/plugin_transport_bluetooth.c:618
msgid "# Bluetooth ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:635
+#: src/transport/plugin_transport_bluetooth.c:637
#, fuzzy
msgid "# Bluetooth messages defragmented"
msgstr "# các thông báo được chắp liền"
-#: src/transport/plugin_transport_bluetooth.c:681
-#: src/transport/plugin_transport_bluetooth.c:731
-#: src/transport/plugin_transport_bluetooth.c:1881
+#: src/transport/plugin_transport_bluetooth.c:683
+#: src/transport/plugin_transport_bluetooth.c:733
+#: src/transport/plugin_transport_bluetooth.c:1888
#, fuzzy
msgid "# Bluetooth sessions allocated"
msgstr "# các khoá phiên chạy được chấp nhận"
-#: src/transport/plugin_transport_bluetooth.c:806
+#: src/transport/plugin_transport_bluetooth.c:808
#, fuzzy
msgid "# Bluetooth message fragments sent"
msgstr "# các thông báo bị tế phân"
-#: src/transport/plugin_transport_bluetooth.c:830
+#: src/transport/plugin_transport_bluetooth.c:832
msgid "# Bluetooth messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:938
-#: src/transport/plugin_transport_bluetooth.c:1023
-#: src/transport/plugin_transport_bluetooth.c:1883
+#: src/transport/plugin_transport_bluetooth.c:940
+#: src/transport/plugin_transport_bluetooth.c:1026
+#: src/transport/plugin_transport_bluetooth.c:1890
#, fuzzy
msgid "# Bluetooth MAC endpoints allocated"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/transport/plugin_transport_bluetooth.c:1250
+#: src/transport/plugin_transport_bluetooth.c:1254
#, fuzzy
msgid "# HELLO messages received via Bluetooth"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_bluetooth.c:1276
+#: src/transport/plugin_transport_bluetooth.c:1277
#, fuzzy
msgid "# fragments received via Bluetooth"
msgstr "# các mảnh bị loại bỏ"
-#: src/transport/plugin_transport_bluetooth.c:1286
+#: src/transport/plugin_transport_bluetooth.c:1287
#, fuzzy
msgid "# ACKs received via Bluetooth"
msgstr "# các byte đã nhận qua TCP"
-#: src/transport/plugin_transport_bluetooth.c:1343
+#: src/transport/plugin_transport_bluetooth.c:1347
#, fuzzy
msgid "# Bluetooth DATA messages discarded due to CRC32 error"
msgstr "# các thông báo được chắp liền"
-#: src/transport/plugin_transport_bluetooth.c:1455
+#: src/transport/plugin_transport_bluetooth.c:1458
#, fuzzy
msgid "# DATA messages received via Bluetooth"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_bluetooth.c:1490
+#: src/transport/plugin_transport_bluetooth.c:1493
#, fuzzy
msgid "# Bluetooth DATA messages processed"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_bluetooth.c:1553
+#: src/transport/plugin_transport_bluetooth.c:1556
#, fuzzy
msgid "# HELLO beacons sent via Bluetooth"
msgstr "# các byte đã gửi qua UDP"
-#: src/transport/plugin_transport_bluetooth.c:1666
+#: src/transport/plugin_transport_bluetooth.c:1669
msgid "Bluetooth address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1862
+#: src/transport/plugin_transport_bluetooth.c:1869
#, c-format
msgid "Helper binary `%s' not SUID, cannot run bluetooth transport\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1618
+#: src/transport/plugin_transport_http_client.c:1621
#, c-format
msgid "Could not initialize curl multi handle, failed to start %s plugin!\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1693
-#: src/transport/plugin_transport_http_server.c:3001
+#: src/transport/plugin_transport_http_client.c:1696
+#: src/transport/plugin_transport_http_server.c:3006
#, fuzzy, c-format
msgid "Shutting down plugin `%s'\n"
msgstr "Đang nạp các truyền tải « %s »\n"
-#: src/transport/plugin_transport_http_client.c:1718
-#: src/transport/plugin_transport_http_server.c:3059
+#: src/transport/plugin_transport_http_client.c:1721
+#: src/transport/plugin_transport_http_server.c:3062
#, fuzzy, c-format
msgid "Shutdown for plugin `%s' complete\n"
msgstr "Tải lên « %s » hoàn thành, địa chỉ URI là « %s ».\n"
-#: src/transport/plugin_transport_http_client.c:1746
-#: src/transport/plugin_transport_http_server.c:2901
+#: src/transport/plugin_transport_http_client.c:1749
+#: src/transport/plugin_transport_http_server.c:2906
#, fuzzy, c-format
msgid "Maximum number of connections is %u\n"
msgstr "tăng sổ tối đa các kết nối TCP/IP"
-#: src/transport/plugin_transport_http_server.c:1416
+#: src/transport/plugin_transport_http_server.c:1402
#, c-format
msgid ""
"Access from connection %p (%u of %u) for `%s' `%s' url `%s' with upload data "
"size %u\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1680
+#: src/transport/plugin_transport_http_server.c:1663
#, c-format
msgid "Accepting connection (%u of %u) from `%s'\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1688
+#: src/transport/plugin_transport_http_server.c:1671
#, c-format
msgid ""
"Server reached maximum number connections (%u), rejecting new connection\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1974
+#: src/transport/plugin_transport_http_server.c:1957
msgid ""
"Could not create a new TLS certificate, program `gnunet-transport-"
"certificate-creation' could not be started!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1998
+#: src/transport/plugin_transport_http_server.c:1981
#, c-format
msgid "No usable TLS certificate found and creating one at `%s/%s' failed!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2405
+#: src/transport/plugin_transport_http_server.c:2404
#, fuzzy
msgid "Require valid port number for service in configuration!\n"
msgstr "Lỗi lưu cấu hình."
-#: src/transport/plugin_transport_http_server.c:2437 src/util/service.c:696
+#: src/transport/plugin_transport_http_server.c:2436 src/util/service.c:696
#, fuzzy, c-format
msgid "Failed to resolve `%s': %s\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-#: src/transport/plugin_transport_http_server.c:2454 src/util/service.c:713
+#: src/transport/plugin_transport_http_server.c:2453 src/util/service.c:713
#, fuzzy, c-format
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
-#: src/transport/plugin_transport_http_server.c:2565
+#: src/transport/plugin_transport_http_server.c:2564
#, c-format
msgid "Found %u addresses to report to NAT service\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2637
+#: src/transport/plugin_transport_http_server.c:2636
msgid "Disabling IPv6 since it is not supported on this system!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2724
+#: src/transport/plugin_transport_http_server.c:2729
#, c-format
msgid "IPv4 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2738
+#: src/transport/plugin_transport_http_server.c:2743
#, c-format
msgid "IPv6 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2745
+#: src/transport/plugin_transport_http_server.c:2750
msgid "Neither IPv4 nor IPv6 are enabled! Fix in configuration\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2756
+#: src/transport/plugin_transport_http_server.c:2761
#, fuzzy
msgid "Port is required! Fix in configuration\n"
msgstr ""
"\n"
"Kết thúc cấu hình.\n"
-#: src/transport/plugin_transport_http_server.c:2763
+#: src/transport/plugin_transport_http_server.c:2768
#, fuzzy, c-format
msgid "Using port %u\n"
msgstr "Đang thử nghiệm (các) truyền tải %s\n"
-#: src/transport/plugin_transport_http_server.c:2778
+#: src/transport/plugin_transport_http_server.c:2783
#, fuzzy, c-format
msgid "Specific IPv4 address `%s' in configuration file is invalid!\n"
msgstr "Đang thử dùng tập tin « %s » cho cấu hình MySQL.\n"
-#: src/transport/plugin_transport_http_server.c:2788
+#: src/transport/plugin_transport_http_server.c:2793
#, fuzzy, c-format
msgid "Binding to IPv4 address %s\n"
msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n"
-#: src/transport/plugin_transport_http_server.c:2809
+#: src/transport/plugin_transport_http_server.c:2814
#, fuzzy, c-format
msgid "Specific IPv6 address `%s' in configuration file is invalid!\n"
msgstr "Đang thử dùng tập tin « %s » cho cấu hình MySQL.\n"
-#: src/transport/plugin_transport_http_server.c:2819
+#: src/transport/plugin_transport_http_server.c:2824
#, fuzzy, c-format
msgid "Binding to IPv6 address %s\n"
msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n"
-#: src/transport/plugin_transport_http_server.c:2871
+#: src/transport/plugin_transport_http_server.c:2876
#, fuzzy, c-format
msgid "Using external hostname `%s'\n"
msgstr "Đang bắt đầu tài về « %s »\n"
-#: src/transport/plugin_transport_http_server.c:2887
+#: src/transport/plugin_transport_http_server.c:2892
#, fuzzy, c-format
msgid "Notifying transport only about hostname `%s'\n"
msgstr "không quyết định các tên máy"
@@ -7311,233 +7422,232 @@ msgstr "# các byte đã gửi qua SMTP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# các byte loại đi bởi SMTP (đi ra)"
-#: src/transport/plugin_transport_tcp.c:576
+#: src/transport/plugin_transport_tcp.c:559
#, fuzzy, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr "Gặp sự kiện bất thường: %d\n"
-#: src/transport/plugin_transport_tcp.c:799
-#: src/transport/plugin_transport_tcp.c:980
-#: src/transport/plugin_transport_tcp.c:2120
-#: src/transport/plugin_transport_tcp.c:2723
+#: src/transport/plugin_transport_tcp.c:766
+#: src/transport/plugin_transport_tcp.c:930
+#: src/transport/plugin_transport_tcp.c:1973
+#: src/transport/plugin_transport_tcp.c:2527
#, fuzzy
msgid "# TCP sessions active"
msgstr "# các khoá phiên chạy được chấp nhận"
-#: src/transport/plugin_transport_tcp.c:836
-#: src/transport/plugin_transport_tcp.c:973
-#: src/transport/plugin_transport_tcp.c:1062
-#: src/transport/plugin_transport_tcp.c:1112
-#: src/transport/plugin_transport_tcp.c:1291
-#: src/transport/plugin_transport_tcp.c:1310
+#: src/transport/plugin_transport_tcp.c:797
+#: src/transport/plugin_transport_tcp.c:923
+#: src/transport/plugin_transport_tcp.c:1009
+#: src/transport/plugin_transport_tcp.c:1056
+#: src/transport/plugin_transport_tcp.c:1219
+#: src/transport/plugin_transport_tcp.c:1237
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# các byte đã gừi qua TCP"
-#: src/transport/plugin_transport_tcp.c:840
+#: src/transport/plugin_transport_tcp.c:800
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# các byte loại đi bởi TCP (đi ra)"
-#: src/transport/plugin_transport_tcp.c:1066
+#: src/transport/plugin_transport_tcp.c:1012
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# các byte loại đi bởi TCP (đi ra)"
-#: src/transport/plugin_transport_tcp.c:1115
+#: src/transport/plugin_transport_tcp.c:1059
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# các byte được gửi"
-#: src/transport/plugin_transport_tcp.c:1264
+#: src/transport/plugin_transport_tcp.c:1193
#, c-format
msgid "Trying to send with invalid session %p\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1521
-#: src/transport/plugin_transport_udp.c:1488
+#: src/transport/plugin_transport_tcp.c:1427
msgid "# requests to create session with invalid address"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1645
+#: src/transport/plugin_transport_tcp.c:1532
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2170
+#: src/transport/plugin_transport_tcp.c:2021
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_tcp.c:2355
+#: src/transport/plugin_transport_tcp.c:2189
msgid "# bytes received via TCP"
msgstr "# các byte đã nhận qua TCP"
-#: src/transport/plugin_transport_tcp.c:2433
+#: src/transport/plugin_transport_tcp.c:2253
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2602 src/util/service.c:589
+#: src/transport/plugin_transport_tcp.c:2407 src/util/service.c:589
#: src/util/service.c:595
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2616
+#: src/transport/plugin_transport_tcp.c:2421
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/transport/plugin_transport_tcp.c:2712
+#: src/transport/plugin_transport_tcp.c:2516
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2715
+#: src/transport/plugin_transport_tcp.c:2520
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2718
+#: src/transport/plugin_transport_tcp.c:2523
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:173
+#: src/transport/plugin_transport_udp_broadcasting.c:167
#, fuzzy
msgid "# IPv6 multicast HELLO beacons received via udp"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_udp_broadcasting.c:222
+#: src/transport/plugin_transport_udp_broadcasting.c:210
#, fuzzy
msgid "# IPv4 broadcast HELLO beacons received via udp"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_udp_broadcasting.c:606
+#: src/transport/plugin_transport_udp_broadcasting.c:594
msgid ""
"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:629
+#: src/transport/plugin_transport_udp_broadcasting.c:617
#, c-format
msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:1599
+#: src/transport/plugin_transport_udp.c:1406
#, c-format
msgid ""
"Trying to create session for address of unexpected length %u (should be %u "
"or %u)\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2680
+#: src/transport/plugin_transport_udp.c:2474
#, c-format
msgid ""
"UDP could not transmit message to `%s': Network seems down, please check "
"your network configuration\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2694
+#: src/transport/plugin_transport_udp.c:2488
msgid ""
"UDP could not transmit IPv6 message! Please check your network configuration "
"and disable IPv6 if your connection does not have a global IPv6 address\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2993
+#: src/transport/plugin_transport_udp.c:2817
#, fuzzy
msgid "Failed to open UDP sockets\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-#: src/transport/plugin_transport_udp.c:3091
+#: src/transport/plugin_transport_udp.c:2912
#, c-format
msgid "Given `%s' option is out of range: %llu > %u\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:3134
+#: src/transport/plugin_transport_udp.c:2951
#, fuzzy, c-format
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n"
-#: src/transport/plugin_transport_udp.c:3200
+#: src/transport/plugin_transport_udp.c:3021
#, fuzzy
msgid "Failed to create network sockets, plugin failed\n"
msgstr "Không thể tạo miền tên.\n"
-#: src/transport/plugin_transport_unix.c:1657
+#: src/transport/plugin_transport_unix.c:1624
#, fuzzy
msgid "Failed to open UNIX listen socket\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-#: src/transport/plugin_transport_wlan.c:623
+#: src/transport/plugin_transport_wlan.c:625
msgid "# WLAN ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:642
+#: src/transport/plugin_transport_wlan.c:644
#, fuzzy
msgid "# WLAN messages defragmented"
msgstr "# các thông báo được chắp liền"
-#: src/transport/plugin_transport_wlan.c:691
-#: src/transport/plugin_transport_wlan.c:778
-#: src/transport/plugin_transport_wlan.c:1937
+#: src/transport/plugin_transport_wlan.c:693
+#: src/transport/plugin_transport_wlan.c:780
+#: src/transport/plugin_transport_wlan.c:1952
#, fuzzy
msgid "# WLAN sessions allocated"
msgstr "# các khoá phiên chạy được chấp nhận"
-#: src/transport/plugin_transport_wlan.c:883
+#: src/transport/plugin_transport_wlan.c:886
#, fuzzy
msgid "# WLAN message fragments sent"
msgstr "# các thông báo bị tế phân"
-#: src/transport/plugin_transport_wlan.c:907
+#: src/transport/plugin_transport_wlan.c:910
msgid "# WLAN messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1015
-#: src/transport/plugin_transport_wlan.c:1101
-#: src/transport/plugin_transport_wlan.c:1939
+#: src/transport/plugin_transport_wlan.c:1018
+#: src/transport/plugin_transport_wlan.c:1105
+#: src/transport/plugin_transport_wlan.c:1954
#, fuzzy
msgid "# WLAN MAC endpoints allocated"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/transport/plugin_transport_wlan.c:1297
+#: src/transport/plugin_transport_wlan.c:1301
#, fuzzy
msgid "# HELLO messages received via WLAN"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_wlan.c:1323
+#: src/transport/plugin_transport_wlan.c:1325
#, fuzzy
msgid "# fragments received via WLAN"
msgstr "# các mảnh bị loại bỏ"
-#: src/transport/plugin_transport_wlan.c:1333
+#: src/transport/plugin_transport_wlan.c:1335
#, fuzzy
msgid "# ACKs received via WLAN"
msgstr "# các byte đã nhận qua TCP"
-#: src/transport/plugin_transport_wlan.c:1390
+#: src/transport/plugin_transport_wlan.c:1395
#, fuzzy
msgid "# WLAN DATA messages discarded due to CRC32 error"
msgstr "# các thông báo được chắp liền"
-#: src/transport/plugin_transport_wlan.c:1511
+#: src/transport/plugin_transport_wlan.c:1517
#, fuzzy
msgid "# DATA messages received via WLAN"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_wlan.c:1546
+#: src/transport/plugin_transport_wlan.c:1552
#, fuzzy
msgid "# WLAN DATA messages processed"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/transport/plugin_transport_wlan.c:1609
+#: src/transport/plugin_transport_wlan.c:1620
#, fuzzy
msgid "# HELLO beacons sent via WLAN"
msgstr "# các byte đã gửi qua UDP"
-#: src/transport/plugin_transport_wlan.c:1722
+#: src/transport/plugin_transport_wlan.c:1733
msgid "WLAN address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1918
+#: src/transport/plugin_transport_wlan.c:1933
#, c-format
msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
msgstr ""
@@ -8003,6 +8113,27 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
+#: src/util/gnunet-scrypt.c:279
+msgid "number of bits to require for the proof of work"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:282
+msgid "file with private key, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:285
+msgid "file with proof of work, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:288
+msgid "time to wait between calculations"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:299
+#, fuzzy
+msgid "Manipulate GNUnet proof of work files"
+msgstr "cập nhật một giá trị trong tập tin cấu hình"
+
#: src/util/gnunet-service-resolver.c:283
#, c-format
msgid "Could not resolve `%s' (%s): %s\n"
@@ -8274,115 +8405,115 @@ msgstr ""
msgid "b"
msgstr "b"
-#: src/util/strings.c:444
+#: src/util/strings.c:433
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:572
+#: src/util/strings.c:561
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
"Lỗi mở rộng biến môi trường « $HOME »: chưa đặt biến môi trường « HOME »"
-#: src/util/strings.c:669
+#: src/util/strings.c:658
msgid "µs"
msgstr ""
-#: src/util/strings.c:673
+#: src/util/strings.c:662
msgid "forever"
msgstr ""
-#: src/util/strings.c:675
+#: src/util/strings.c:664
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:681
+#: src/util/strings.c:670
msgid "ms"
msgstr "mg"
-#: src/util/strings.c:687
+#: src/util/strings.c:676
msgid "s"
msgstr "g"
-#: src/util/strings.c:693
+#: src/util/strings.c:682
msgid "m"
msgstr "p"
-#: src/util/strings.c:699
+#: src/util/strings.c:688
msgid "h"
msgstr "g"
-#: src/util/strings.c:706
+#: src/util/strings.c:695
#, fuzzy
msgid "day"
msgstr " ngày"
-#: src/util/strings.c:708
+#: src/util/strings.c:697
#, fuzzy
msgid "days"
msgstr " ngày"
-#: src/util/strings.c:737
+#: src/util/strings.c:726
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1170
+#: src/util/strings.c:1159
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1178
+#: src/util/strings.c:1167
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1184
+#: src/util/strings.c:1173
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1191
+#: src/util/strings.c:1180
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1200
+#: src/util/strings.c:1189
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n"
-#: src/util/strings.c:1406 src/util/strings.c:1422
+#: src/util/strings.c:1395 src/util/strings.c:1411
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1431
+#: src/util/strings.c:1420
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/util/strings.c:1514 src/util/strings.c:1545 src/util/strings.c:1593
-#: src/util/strings.c:1614
+#: src/util/strings.c:1503 src/util/strings.c:1534 src/util/strings.c:1582
+#: src/util/strings.c:1603
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/util/strings.c:1571
+#: src/util/strings.c:1560
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ký hiệu mạng sai (« /%d » không hợp lệ trong CIDR IPv4)."
-#: src/util/strings.c:1623
+#: src/util/strings.c:1612
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/util/strings.c:1675
+#: src/util/strings.c:1664
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ký hiệu mạng sai (không kết thúc với « ; »: « %s »)\n"
-#: src/util/strings.c:1725
+#: src/util/strings.c:1714
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Mặt nạ mạng có định dạng sai « %s »: %s\n"
-#: src/util/strings.c:1756
+#: src/util/strings.c:1745
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Mạng có định dạng sai « %s »: %s\n"
@@ -8587,6 +8718,26 @@ msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr "« %s » thất bại ở tập tin « %s » tại %s:%d với lỗi: %s\n"
#, fuzzy
+#~ msgid "provide information about a particular channel"
+#~ msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#, fuzzy
+#~ msgid "provide information about a particular connection"
+#~ msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#, fuzzy
+#~ msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
+#~ msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#, fuzzy
+#~ msgid "Could not find option `%s:%s' in configuration.\n"
+#~ msgstr "Không tìm thấy phương pháp « %s%s » trong thư viện « %s ».\n"
+
+#, fuzzy
+#~ msgid "Peer `%s' disconnected\n"
+#~ msgstr "# của các đồng đẳng đã kết nối"
+
+#, fuzzy
#~ msgid "Transport plugin: `%s' port %llu\n"
#~ msgstr "Đang nạp các truyền tải « %s »\n"
@@ -9231,10 +9382,6 @@ msgstr "« %s » thất bại ở tập tin « %s » tại %s:%d với lỗi: %s
#~ msgstr "Lỗi bắt đầu thu thập.\n"
#, fuzzy
-#~ msgid "Failed to start `gnunet-peerinfo' process.\n"
-#~ msgstr "Lỗi bắt đầu thu thập.\n"
-
-#, fuzzy
#~ msgid "Failed to start `ssh' process.\n"
#~ msgstr "Lỗi bắt đầu thu thập.\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 966abf80b5..05391aa6c4 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet-0.8.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2014-01-05 13:20+0100\n"
+"POT-Creation-Date: 2014-01-14 18:39+0100\n"
"PO-Revision-Date: 2011-07-09 12:12+0800\n"
"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -355,49 +355,49 @@ msgstr ""
msgid "Received last message for %s \n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1948
-#: src/ats/gnunet-service-ats_addresses.c:1992
+#: src/ats/gnunet-service-ats_addresses.c:1974
+#: src/ats/gnunet-service-ats_addresses.c:2018
#, c-format
msgid ""
"Could not load quota for network `%s': `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1955
+#: src/ats/gnunet-service-ats_addresses.c:1981
#, c-format
msgid "Outbound quota configure for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1963
+#: src/ats/gnunet-service-ats_addresses.c:1989
#, c-format
msgid ""
"No outbound quota configured for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:1999
+#: src/ats/gnunet-service-ats_addresses.c:2025
#, c-format
msgid "Inbound quota configured for network `%s' is %llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2007
+#: src/ats/gnunet-service-ats_addresses.c:2033
#, c-format
msgid ""
"No outbound quota configure for network `%s', assigning default bandwidth "
"%llu\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2184
+#: src/ats/gnunet-service-ats_addresses.c:2211
#, c-format
msgid "Initializing solver `%s '`%s'\n"
msgstr ""
-#: src/ats/gnunet-service-ats_addresses.c:2187
+#: src/ats/gnunet-service-ats_addresses.c:2214
#, fuzzy, c-format
msgid "Failed to initialize solver `%s'!\n"
msgstr "无法初始化 SQLite:%s。\n"
-#: src/ats/gnunet-service-ats_addresses.c:2210
+#: src/ats/gnunet-service-ats_addresses.c:2237
#, fuzzy
msgid "Failed to initialize solver!\n"
msgstr "无法初始化 SQLite:%s。\n"
@@ -475,12 +475,12 @@ msgid "Quota for network `%11s' (in/out): %10s / %10s\n"
msgstr ""
#: src/ats-tool/gnunet-ats.c:352 src/namestore/gnunet-namestore.c:550
-#: src/transport/gnunet-transport.c:829
+#: src/transport/gnunet-transport.c:940
#, fuzzy, c-format
msgid "Service `%s' is not running\n"
msgstr "服务已删除。\n"
-#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:838
+#: src/ats-tool/gnunet-ats.c:364 src/transport/gnunet-transport.c:949
#, fuzzy, c-format
msgid "Failed to parse peer identity `%s'\n"
msgstr "解析配置文件“%s”失败\n"
@@ -563,6 +563,7 @@ msgid "Print information about ATS state"
msgstr "无法获取有关用户“%s”的信息:%s\n"
#: src/consensus/gnunet-consensus-profiler.c:420
+#: src/secretsharing/gnunet-secretsharing-profiler.c:300
#, fuzzy
msgid "number of peers in consensus"
msgstr "迭代次数"
@@ -583,6 +584,7 @@ msgid "consensus timeout"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:432
+#: src/secretsharing/gnunet-secretsharing-profiler.c:309
msgid "be more verbose (print received values)"
msgstr ""
@@ -591,254 +593,259 @@ msgstr ""
msgid "Connection to conversation service lost, trying to reconnect\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:252
+#: src/conversation/gnunet-conversation.c:264
#, c-format
msgid "Incoming call from `%s'. Please /accept #%u or /cancel %u the call.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:274
+#: src/conversation/gnunet-conversation.c:286
#, c-format
msgid "Call from `%s' terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:307
+#: src/conversation/gnunet-conversation.c:319
#, c-format
msgid "Call from `%s' suspended by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:312
+#: src/conversation/gnunet-conversation.c:324
#, c-format
msgid "Call from `%s' resumed by other user\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:330
+#: src/conversation/gnunet-conversation.c:342
#, c-format
msgid "Ego `%s' no longer available, phone is now down.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:344
+#: src/conversation/gnunet-conversation.c:356
#, fuzzy
msgid "Failed to setup phone (internal error)\n"
msgstr "发送消息失败。\n"
-#: src/conversation/gnunet-conversation.c:356
+#: src/conversation/gnunet-conversation.c:368
#, c-format
msgid ""
"Phone active on line %u. Type `/help' for a list of available commands\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:378
+#: src/conversation/gnunet-conversation.c:390
#, c-format
msgid "Resolved address of `%s'. Now ringing other party.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:385
+#: src/conversation/gnunet-conversation.c:397
#, fuzzy, c-format
msgid "Connection established to `%s'\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/conversation/gnunet-conversation.c:392
+#: src/conversation/gnunet-conversation.c:404
#, fuzzy, c-format
msgid "Failed to resolve `%s'\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/conversation/gnunet-conversation.c:399
+#: src/conversation/gnunet-conversation.c:411
msgid "Call terminated\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:405
+#: src/conversation/gnunet-conversation.c:417
#, c-format
msgid "Connection to `%s' suspended (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:411
+#: src/conversation/gnunet-conversation.c:423
#, c-format
msgid "Connection to `%s' resumed (by other user)\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:416
+#: src/conversation/gnunet-conversation.c:428
msgid "Error with the call, restarting it\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:483
+#: src/conversation/gnunet-conversation.c:495
#, fuzzy, c-format
msgid "Unknown command `%s'\n"
msgstr "未知的命令“%s”。\n"
-#: src/conversation/gnunet-conversation.c:499
-#: src/conversation/gnunet-conversation.c:513
+#: src/conversation/gnunet-conversation.c:511
+#: src/conversation/gnunet-conversation.c:525
#, c-format
msgid "Ego `%s' not available\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:506
-#: src/conversation/gnunet-conversation.c:563
+#: src/conversation/gnunet-conversation.c:518
+#: src/conversation/gnunet-conversation.c:575
msgid "You are calling someone else already, hang up first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:521
-#: src/conversation/gnunet-conversation.c:576
+#: src/conversation/gnunet-conversation.c:533
+#: src/conversation/gnunet-conversation.c:588
#, c-format
msgid "You are answering call from `%s', hang up or suspend that call first!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:532
+#: src/conversation/gnunet-conversation.c:544
msgid "Call recipient missing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:587
+#: src/conversation/gnunet-conversation.c:599
msgid "There is no incoming call to accept here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:604
+#: src/conversation/gnunet-conversation.c:616
#, c-format
msgid "There is no incoming call `%s' to accept right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:632
+#: src/conversation/gnunet-conversation.c:644
msgid "We currently do not have an address.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:655
+#: src/conversation/gnunet-conversation.c:667
#, c-format
msgid "We are currently trying to locate the private key for the ego `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:660
+#: src/conversation/gnunet-conversation.c:672
#, c-format
msgid "We are listening for incoming calls for ego `%s' on line %u.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:666
-#: src/conversation/gnunet-conversation.c:690
+#: src/conversation/gnunet-conversation.c:678
+#: src/conversation/gnunet-conversation.c:702
#, c-format
msgid "You are having a conversation with `%s'.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:671
+#: src/conversation/gnunet-conversation.c:683
msgid ""
"We had an internal error setting up our phone line. You can still make "
"calls.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:680
+#: src/conversation/gnunet-conversation.c:692
#, fuzzy, c-format
msgid "We are trying to find the network address to call `%s'.\n"
msgstr "GNUnet 现在使用 IP 地址 %s。\n"
-#: src/conversation/gnunet-conversation.c:685
+#: src/conversation/gnunet-conversation.c:697
#, c-format
msgid "We are calling `%s', his phone should be ringing.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:704
+#: src/conversation/gnunet-conversation.c:716
msgid "Calls waiting:\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:710
+#: src/conversation/gnunet-conversation.c:722
#, fuzzy, c-format
msgid "#%u: `%s'\n"
msgstr "运行 %s失败:%s %d\n"
-#: src/conversation/gnunet-conversation.c:738
-#: src/conversation/gnunet-conversation.c:753
+#: src/conversation/gnunet-conversation.c:750
+#: src/conversation/gnunet-conversation.c:765
msgid "There is no call that could be suspended right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:786
-#: src/conversation/gnunet-conversation.c:802
+#: src/conversation/gnunet-conversation.c:798
+#: src/conversation/gnunet-conversation.c:814
msgid "There is no call that could be resumed right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:809
+#: src/conversation/gnunet-conversation.c:821
#, c-format
msgid "Already talking with `%s', cannot resume a call right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:818
+#: src/conversation/gnunet-conversation.c:830
msgid "There is no incoming call to resume here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:835
+#: src/conversation/gnunet-conversation.c:847
#, c-format
msgid "There is no incoming call `%s' to resume right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:870
+#: src/conversation/gnunet-conversation.c:882
msgid "There is no call that could be cancelled right now.\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:878
+#: src/conversation/gnunet-conversation.c:890
msgid "There is no incoming call to refuse here!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:895
+#: src/conversation/gnunet-conversation.c:907
#, c-format
msgid "There is no incoming call `%s' to refuse right now!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:922
+#: src/conversation/gnunet-conversation.c:934
msgid "Use `/address' to find out which address this phone should have in GNS"
msgstr ""
-#: src/conversation/gnunet-conversation.c:924
+#: src/conversation/gnunet-conversation.c:936
msgid "Use `/call USER.gnu' to call USER"
msgstr ""
-#: src/conversation/gnunet-conversation.c:926
+#: src/conversation/gnunet-conversation.c:938
msgid "Use `/accept #NUM' to accept incoming call #NUM"
msgstr ""
-#: src/conversation/gnunet-conversation.c:928
+#: src/conversation/gnunet-conversation.c:940
msgid "Use `/suspend' to suspend the active call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:930
+#: src/conversation/gnunet-conversation.c:942
msgid ""
"Use `/resume [#NUM]' to resume a call, #NUM is needed to resume incoming "
"calls, no argument is needed to resume the current outgoing call."
msgstr ""
-#: src/conversation/gnunet-conversation.c:932
+#: src/conversation/gnunet-conversation.c:944
msgid "Use `/cancel' to reject or terminate a call"
msgstr ""
-#: src/conversation/gnunet-conversation.c:934
+#: src/conversation/gnunet-conversation.c:946
msgid "Use `/status' to print status information"
msgstr ""
-#: src/conversation/gnunet-conversation.c:936
+#: src/conversation/gnunet-conversation.c:948
msgid "Use `/quit' to terminate gnunet-conversation"
msgstr ""
-#: src/conversation/gnunet-conversation.c:938
+#: src/conversation/gnunet-conversation.c:950
msgid "Use `/help command' to get help for a specific command"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1093
+#: src/conversation/gnunet-conversation.c:1148
#, fuzzy, c-format
msgid "Name of our ego changed to `%s'\n"
msgstr "发送消息失败。\n"
-#: src/conversation/gnunet-conversation.c:1106
+#: src/conversation/gnunet-conversation.c:1161
#, c-format
msgid "Our ego `%s' was deleted!\n"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1141
+#: src/conversation/gnunet-conversation.c:1196
#, fuzzy
msgid "You must specify the NAME of an ego to use\n"
msgstr "您必须指定一个昵称\n"
-#: src/conversation/gnunet-conversation.c:1167
+#: src/conversation/gnunet-conversation.c:1220
+#, fuzzy
+msgid "Failed to start gnunet-helper-w32-console\n"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/conversation/gnunet-conversation.c:1246
msgid "sets the NAME of the ego to use for the phone (and name resolution)"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1170
+#: src/conversation/gnunet-conversation.c:1249
msgid "sets the LINE to use for the phone"
msgstr ""
-#: src/conversation/gnunet-conversation.c:1185
+#: src/conversation/gnunet-conversation.c:1273
msgid "Enables having a conversation with other GNUnet users."
msgstr ""
@@ -880,12 +887,12 @@ msgid "gnunet-helper-audio-playback - Got signal, exiting\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:211
-#: src/conversation/gnunet-helper-audio-record.c:362
+#: src/conversation/gnunet-helper-audio-record.c:365
msgid "Connection established.\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:216
-#: src/conversation/gnunet-helper-audio-record.c:367
+#: src/conversation/gnunet-helper-audio-record.c:370
#, fuzzy, c-format
msgid "pa_stream_new() failed: %s\n"
msgstr "“%s”说:%s\n"
@@ -896,34 +903,34 @@ msgid "pa_stream_connect_playback() failed: %s\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:243
-#: src/conversation/gnunet-helper-audio-record.c:393
+#: src/conversation/gnunet-helper-audio-record.c:396
#, fuzzy, c-format
msgid "Connection failure: %s\n"
msgstr "“%s”已连接到“%s”。\n"
#: src/conversation/gnunet-helper-audio-playback.c:264
-#: src/conversation/gnunet-helper-audio-record.c:416
+#: src/conversation/gnunet-helper-audio-record.c:419
msgid "Wrong Spec\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:270
-#: src/conversation/gnunet-helper-audio-record.c:422
+#: src/conversation/gnunet-helper-audio-record.c:425
msgid "pa_mainloop_new() failed.\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:284
-#: src/conversation/gnunet-helper-audio-record.c:437
+#: src/conversation/gnunet-helper-audio-record.c:440
msgid "pa_context_new() failed.\n"
msgstr ""
#: src/conversation/gnunet-helper-audio-playback.c:291
-#: src/conversation/gnunet-helper-audio-record.c:443
+#: src/conversation/gnunet-helper-audio-record.c:446
#, fuzzy, c-format
msgid "pa_context_connect() failed: %s\n"
msgstr "“%s”说:%s\n"
#: src/conversation/gnunet-helper-audio-playback.c:297
-#: src/conversation/gnunet-helper-audio-record.c:449
+#: src/conversation/gnunet-helper-audio-record.c:452
msgid "pa_mainloop_run() failed.\n"
msgstr ""
@@ -932,46 +939,51 @@ msgstr ""
msgid "Read error from STDIN: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:237
+#: src/conversation/gnunet-helper-audio-playback-gst.c:341
+#, c-format
+msgid "Read error from STDIN: %d %s\n"
+msgstr ""
+
+#: src/conversation/gnunet-helper-audio-record.c:240
#, fuzzy, c-format
msgid "pa_stream_peek() failed: %s\n"
msgstr "“%s”说:%s\n"
-#: src/conversation/gnunet-helper-audio-record.c:275
+#: src/conversation/gnunet-helper-audio-record.c:278
msgid "Got signal, exiting.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:300
+#: src/conversation/gnunet-helper-audio-record.c:303
#, fuzzy
msgid "Stream successfully created.\n"
msgstr "“%s”已连接到“%s”。\n"
-#: src/conversation/gnunet-helper-audio-record.c:305
+#: src/conversation/gnunet-helper-audio-record.c:308
#, fuzzy, c-format
msgid "pa_stream_get_buffer_attr() failed: %s\n"
msgstr "“%s”说:%s\n"
-#: src/conversation/gnunet-helper-audio-record.c:313
+#: src/conversation/gnunet-helper-audio-record.c:316
#, c-format
msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:317
+#: src/conversation/gnunet-helper-audio-record.c:320
#, c-format
msgid "Using sample spec '%s', channel map '%s'.\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:324
+#: src/conversation/gnunet-helper-audio-record.c:327
#, fuzzy, c-format
msgid "Connected to device %s (%u, %ssuspended).\n"
msgstr "“%s”已连接到“%s”。\n"
-#: src/conversation/gnunet-helper-audio-record.c:333
+#: src/conversation/gnunet-helper-audio-record.c:336
#, c-format
msgid "Stream error: %s\n"
msgstr ""
-#: src/conversation/gnunet-helper-audio-record.c:380
+#: src/conversation/gnunet-helper-audio-record.c:383
#, fuzzy, c-format
msgid "pa_stream_connect_record() failed: %s\n"
msgstr "“%s”说:%s\n"
@@ -1015,17 +1027,17 @@ msgid "Peer `%s'\n"
msgstr ""
#: src/core/gnunet-core.c:110 src/core/gnunet-core.c:138
-#: src/transport/gnunet-transport.c:609 src/transport/gnunet-transport.c:634
+#: src/transport/gnunet-transport.c:630 src/transport/gnunet-transport.c:650
#, c-format
msgid "%24s: %-17s %4s (%u connections in total)\n"
msgstr ""
-#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:611
+#: src/core/gnunet-core.c:112 src/transport/gnunet-transport.c:631
#, fuzzy
msgid "Connected to"
msgstr "“%s”已连接到“%s”。\n"
-#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:636
+#: src/core/gnunet-core.c:140 src/transport/gnunet-transport.c:651
#, fuzzy
msgid "Disconnected from"
msgstr "“%s”已连接到“%s”。\n"
@@ -1035,7 +1047,7 @@ msgstr "“%s”已连接到“%s”。\n"
msgid "Invalid command line argument `%s'\n"
msgstr "“%s”的参数无效。\n"
-#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1028
+#: src/core/gnunet-core.c:201 src/transport/gnunet-transport.c:1127
msgid "provide information about all current connections (continuously)"
msgstr ""
@@ -1102,7 +1114,7 @@ msgid "# EPHEMERAL_KEY messages received"
msgstr ""
#: src/core/gnunet-service-core_kx.c:950
-#: src/transport/gnunet-service-transport_validation.c:974
+#: src/transport/gnunet-service-transport_validation.c:968
msgid "# PING messages received"
msgstr ""
@@ -1130,7 +1142,7 @@ msgid "# keepalive messages sent"
msgstr ""
#: src/core/gnunet-service-core_kx.c:1095
-#: src/transport/gnunet-service-transport_validation.c:1285
+#: src/transport/gnunet-service-transport_validation.c:1280
msgid "# PONG messages received"
msgstr ""
@@ -1220,11 +1232,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:604 src/fs/gnunet-service-fs_cp.c:1499
#: src/topology/gnunet-daemon-topology.c:706
#: src/topology/gnunet-daemon-topology.c:807
-#: src/transport/gnunet-service-transport_neighbours.c:929
-#: src/transport/gnunet-service-transport_neighbours.c:1161
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:3015
-#: src/transport/gnunet-service-transport_neighbours.c:3291
+#: src/transport/gnunet-service-transport_neighbours.c:837
+#: src/transport/gnunet-service-transport_neighbours.c:1069
+#: src/transport/gnunet-service-transport_neighbours.c:1078
+#: src/transport/gnunet-service-transport_neighbours.c:2920
+#: src/transport/gnunet-service-transport_neighbours.c:3181
msgid "# peers connected"
msgstr ""
@@ -1299,6 +1311,9 @@ msgstr ""
#: src/namecache/plugin_namecache_sqlite.c:52
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:52
+#: src/testbed/generate-underlay-topology.c:47
+#: src/testbed/gnunet-daemon-latency-logger.c:52
+#: src/testbed/gnunet-daemon-testbed-underlay.c:55
#: src/testbed/testbed_api_hosts.c:69 src/util/crypto_ecc.c:51
#: src/include/gnunet_common.h:602 src/include/gnunet_common.h:611
#: src/scalarproduct/scalarproduct.h:61
@@ -1616,6 +1631,9 @@ msgid "Postgres database running\n"
msgstr ""
#: src/datastore/plugin_datastore_sqlite.c:57
+#: src/testbed/generate-underlay-topology.c:50
+#: src/testbed/gnunet-daemon-latency-logger.c:55
+#: src/testbed/gnunet-daemon-testbed-underlay.c:58
#, fuzzy, c-format
msgid "`%s' failed at %s:%u with error: %s"
msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
@@ -3272,7 +3290,7 @@ msgid "Option `%s' is required when using option `%s'.\n"
msgstr ""
#: src/fs/gnunet-publish.c:778 src/fs/gnunet-publish.c:785
-#: src/transport/gnunet-transport.c:865 src/transport/gnunet-transport.c:899
+#: src/transport/gnunet-transport.c:977 src/transport/gnunet-transport.c:1007
#, c-format
msgid "Option `%s' makes no sense without option `%s'.\n"
msgstr ""
@@ -3888,8 +3906,8 @@ msgstr ""
#: src/hostlist/hostlist-client.c:741 src/hostlist/hostlist-client.c:750
#: src/hostlist/hostlist-client.c:871 src/hostlist/hostlist-client.c:963
#: src/hostlist/hostlist-client.c:968
-#: src/transport/plugin_transport_http_client.c:1070
-#: src/transport/plugin_transport_http_client.c:1085
+#: src/transport/plugin_transport_http_client.c:1062
+#: src/transport/plugin_transport_http_client.c:1077
#, c-format
msgid "%s failed at %s:%d: `%s'\n"
msgstr ""
@@ -4181,36 +4199,36 @@ msgstr "创建用户出错"
msgid "Modified %u addresses \n"
msgstr ""
-#: src/hello/hello.c:943
+#: src/hello/hello.c:944
#, fuzzy
msgid "Failed to parse HELLO message: missing expiration time\n"
msgstr "保存配置失败。"
-#: src/hello/hello.c:952
+#: src/hello/hello.c:953
#, fuzzy
msgid "Failed to parse HELLO message: invalid expiration time\n"
msgstr "保存配置失败。"
-#: src/hello/hello.c:962
+#: src/hello/hello.c:963
#, fuzzy
msgid "Failed to parse HELLO message: malformed\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/hello/hello.c:972
+#: src/hello/hello.c:973
msgid "Failed to parse HELLO message: missing transport plugin\n"
msgstr ""
-#: src/hello/hello.c:989
+#: src/hello/hello.c:990
#, c-format
msgid "Plugin `%s' not found\n"
msgstr ""
-#: src/hello/hello.c:998
+#: src/hello/hello.c:999
#, c-format
msgid "Plugin `%s' does not support URIs yet\n"
msgstr ""
-#: src/hello/hello.c:1017
+#: src/hello/hello.c:1018
#, fuzzy, c-format
msgid "Failed to parse `%s' as an address for plugin `%s'\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
@@ -4453,7 +4471,7 @@ msgid "Advertisement message could not be queued by core\n"
msgstr ""
#: src/hostlist/hostlist-server.c:556 src/peerinfo-tool/gnunet-peerinfo.c:651
-#: src/transport/gnunet-service-transport.c:946
+#: src/transport/gnunet-service-transport.c:867
msgid "Could not access PEERINFO service. Exiting.\n"
msgstr ""
@@ -4564,48 +4582,34 @@ msgstr "解析配置文件“%s”失败\n"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/mesh/gnunet-mesh.c:342
+#: src/mesh/gnunet-mesh.c:343
#, fuzzy, c-format
msgid "Invalid target `%s'\n"
msgstr "“%s”的参数无效。\n"
-#: src/mesh/gnunet-mesh.c:503
+#: src/mesh/gnunet-mesh.c:521
#, fuzzy, c-format
msgid "Invalid tunnel owner `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/mesh/gnunet-mesh.c:568
+#: src/mesh/gnunet-mesh.c:586
msgid "You must NOT give a TARGET when using options\n"
msgstr ""
-#: src/mesh/gnunet-mesh.c:645
-#, fuzzy
-msgid "provide information about a particular channel"
-msgstr "无法获取有关用户“%s”的信息:%s\n"
-
-#: src/mesh/gnunet-mesh.c:648
-#, fuzzy
-msgid "provide information about a particular connection"
-msgstr "无法获取有关用户“%s”的信息:%s\n"
-
-#: src/mesh/gnunet-mesh.c:651
+#: src/mesh/gnunet-mesh.c:669
msgid "activate echo mode"
msgstr ""
-#: src/mesh/gnunet-mesh.c:654
+#: src/mesh/gnunet-mesh.c:672
#, fuzzy
msgid "provide information about all tunnels"
msgstr "无法获取有关用户“%s”的信息:%s\n"
-#: src/mesh/gnunet-mesh.c:657
-msgid "provide information about all tunnels (continuously) NOT IMPLEMENTED"
-msgstr ""
-
-#: src/mesh/gnunet-mesh.c:660
+#: src/mesh/gnunet-mesh.c:678
msgid "port to listen to (default; 0)"
msgstr ""
-#: src/mesh/gnunet-mesh.c:663
+#: src/mesh/gnunet-mesh.c:681
#, fuzzy
msgid "provide information about a particular tunnel"
msgstr "无法获取有关用户“%s”的信息:%s\n"
@@ -4730,7 +4734,7 @@ msgid "del"
msgstr ""
#: src/namestore/gnunet-namestore.c:715
-#: src/peerinfo-tool/gnunet-peerinfo.c:703
+#: src/peerinfo-tool/gnunet-peerinfo.c:702
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "无效条目。\n"
@@ -4900,53 +4904,53 @@ msgstr ""
msgid "NAT traversal with ICMP Server timed out.\n"
msgstr ""
-#: src/nat/nat_auto.c:200
+#: src/nat/nat_auto.c:203
msgid "NAT traversal with ICMP Server succeeded.\n"
msgstr ""
-#: src/nat/nat_auto.c:201
+#: src/nat/nat_auto.c:204
msgid "NAT traversal with ICMP Server failed.\n"
msgstr ""
-#: src/nat/nat_auto.c:222
+#: src/nat/nat_auto.c:225
msgid "Testing connection reversal with ICMP server.\n"
msgstr ""
-#: src/nat/nat_auto.c:269
+#: src/nat/nat_auto.c:274
#, c-format
msgid "Detected external IP `%s'\n"
msgstr ""
-#: src/nat/nat_auto.c:339
+#: src/nat/nat_auto.c:344
msgid "This system has a global IPv6 address, setting IPv6 to supported.\n"
msgstr ""
-#: src/nat/nat_auto.c:355
+#: src/nat/nat_auto.c:360
#, fuzzy, c-format
msgid "Detected internal network address `%s'.\n"
msgstr "GNUnet 现在使用 IP 地址 %s。\n"
-#: src/nat/nat_auto.c:408
+#: src/nat/nat_auto.c:413
msgid "upnpc found, enabling its use\n"
msgstr ""
-#: src/nat/nat_auto.c:409
+#: src/nat/nat_auto.c:414
msgid "upnpc not found\n"
msgstr ""
-#: src/nat/nat_auto.c:442
+#: src/nat/nat_auto.c:447
msgid "gnunet-helper-nat-server found, testing it\n"
msgstr ""
-#: src/nat/nat_auto.c:443
+#: src/nat/nat_auto.c:448
msgid "No working gnunet-helper-nat-server found\n"
msgstr ""
-#: src/nat/nat_auto.c:477
+#: src/nat/nat_auto.c:482
msgid "gnunet-helper-nat-client found, enabling it\n"
msgstr ""
-#: src/nat/nat_auto.c:478
+#: src/nat/nat_auto.c:483
msgid "gnunet-helper-nat-client not found or behind NAT, disabling it\n"
msgstr ""
@@ -4960,39 +4964,64 @@ msgstr ""
msgid "Failed to start %s\n"
msgstr "运行 %s失败:%s %d\n"
-#: src/nat/nat.c:1203
+#: src/nat/nat.c:1205
msgid "malformed"
msgstr ""
-#: src/nat/nat.c:1274 src/nat/nat.c:1286
+#: src/nat/nat.c:1276 src/nat/nat.c:1288
#, c-format
msgid ""
"Configuration requires `%s', but binary is not installed properly (SUID bit "
"not set). Option disabled.\n"
msgstr ""
-#: src/nat/nat.c:1424
+#: src/nat/nat.c:1426
msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n"
msgstr ""
-#: src/nat/nat.c:1440
+#: src/nat/nat.c:1442
#, c-format
msgid "Running gnunet-helper-nat-client %s %s %u\n"
msgstr ""
-#: src/nat/nat_mini.c:170
+#: src/nat/nat_mini.c:155
+msgid "no valid address was returned by `external-ip'"
+msgstr ""
+
+#: src/nat/nat_mini.c:175
+msgid "`external-ip' command not found"
+msgstr ""
+
+#: src/nat/nat_mini.c:201
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/nat_mini.c:505
+#: src/nat/nat_mini.c:366
+#, fuzzy
+msgid "Failed to run `upnpc` command"
+msgstr "运行 %s失败:%s %d\n"
+
+#: src/nat/nat_mini.c:512
+msgid "`upnpc' command took too long, process killed"
+msgstr ""
+
+#: src/nat/nat_mini.c:540
+msgid "`upnpc' command failed to establish port mapping"
+msgstr ""
+
+#: src/nat/nat_mini.c:604
msgid "`upnpc' command not found\n"
msgstr ""
-#: src/nat/nat_test.c:348
+#: src/nat/nat_mini.c:608
+msgid "`upnpc` command not found"
+msgstr ""
+
+#: src/nat/nat_test.c:351
msgid "Failed to connect to `gnunet-nat-server'\n"
msgstr ""
-#: src/nat/nat_test.c:420
+#: src/nat/nat_test.c:423
#, c-format
msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n"
msgstr ""
@@ -5027,15 +5056,11 @@ msgid "Measure quality and performance of the NSE service."
msgstr "无法访问该服务"
#: src/nse/gnunet-service-nse.c:1461
-#: src/revocation/gnunet-service-revocation.c:789
+#: src/revocation/gnunet-service-revocation.c:789 src/util/gnunet-scrypt.c:248
#, fuzzy
msgid "Value is too large.\n"
msgstr "值不在合法范围内。"
-#: src/nse/gnunet-service-nse.c:1488
-msgid "NSE service is lacking key configuration settings. Exiting.\n"
-msgstr ""
-
#: src/peerinfo/gnunet-service-peerinfo.c:215
#, c-format
msgid "Removing expired address of transport `%s'\n"
@@ -5147,55 +5172,50 @@ msgstr ""
msgid "Failure adding HELLO: %s\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:661
-#, fuzzy, c-format
-msgid "Could not find option `%s:%s' in configuration.\n"
-msgstr "找不到主机“%s”的 IP:%s\n"
-
-#: src/peerinfo-tool/gnunet-peerinfo.c:667
+#: src/peerinfo-tool/gnunet-peerinfo.c:666 src/util/gnunet-scrypt.c:224
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:725
+#: src/peerinfo-tool/gnunet-peerinfo.c:724
#, c-format
msgid "I am peer `%s'.\n"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:769
+#: src/peerinfo-tool/gnunet-peerinfo.c:768
msgid "don't resolve host names"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:772
+#: src/peerinfo-tool/gnunet-peerinfo.c:771
msgid "output only the identity strings"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:775
+#: src/peerinfo-tool/gnunet-peerinfo.c:774
msgid "include friend-only information"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:778
+#: src/peerinfo-tool/gnunet-peerinfo.c:777
msgid "output our own identity only"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:781
+#: src/peerinfo-tool/gnunet-peerinfo.c:780
#, fuzzy
msgid "list all known peers"
msgstr "列出所有网络适配器"
-#: src/peerinfo-tool/gnunet-peerinfo.c:784
+#: src/peerinfo-tool/gnunet-peerinfo.c:783
msgid "dump hello to file"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:787
+#: src/peerinfo-tool/gnunet-peerinfo.c:786
msgid "also output HELLO uri(s)"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:790
+#: src/peerinfo-tool/gnunet-peerinfo.c:789
msgid "add given HELLO uri to the database"
msgstr ""
-#: src/peerinfo-tool/gnunet-peerinfo.c:801
+#: src/peerinfo-tool/gnunet-peerinfo.c:800
#, fuzzy
msgid "Print information about peers."
msgstr "无法获取有关用户“%s”的信息:%s\n"
@@ -5825,6 +5845,14 @@ msgstr "初始化“%s”服务失败。\n"
msgid "Failed to send a message to the scalarproduct service\n"
msgstr "初始化“%s”服务失败。\n"
+#: src/secretsharing/gnunet-secretsharing-profiler.c:303
+msgid "dkg timeout"
+msgstr ""
+
+#: src/secretsharing/gnunet-secretsharing-profiler.c:306
+msgid "threshold"
+msgstr ""
+
#: src/set/gnunet-service-set.c:1416
#, fuzzy
msgid "Could not connect to mesh service\n"
@@ -5957,19 +5985,94 @@ msgid ""
"might have been lost!\n"
msgstr ""
+#: src/testbed/generate-underlay-topology.c:223
+msgid "Need atleast 2 arguments\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:228
+msgid "Database filename missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:235
+msgid "Topology string missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:240
+#, fuzzy, c-format
+msgid "Invalid topology: %s\n"
+msgstr "“%s”的参数无效。\n"
+
+#: src/testbed/generate-underlay-topology.c:252
+#, c-format
+msgid "An argument is missing for given topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:258
+#, fuzzy, c-format
+msgid "Invalid argument `%s' given as topology argument\n"
+msgstr "“%s”的参数无效。\n"
+
+#: src/testbed/generate-underlay-topology.c:266
+#, c-format
+msgid "Filename argument missing for topology `%s'\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:280
+#, c-format
+msgid "Second argument for topology `%s' is missing\n"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:286
+#, fuzzy, c-format
+msgid "Invalid argument `%s'; expecting unsigned int\n"
+msgstr "“%s”的参数无效。\n"
+
+#: src/testbed/generate-underlay-topology.c:335
+#: src/testbed/gnunet-testbed-profiler.c:293
+msgid "create COUNT number of peers"
+msgstr ""
+
+#: src/testbed/generate-underlay-topology.c:344
+msgid ""
+"Generates SQLite3 database representing a given underlay topology.\n"
+"Usage: gnunet-underlay-topology [OPTIONS] db-filename TOPO [TOPOOPTS]\n"
+"The following options are available for TOPO followed by TOPOOPTS if "
+"applicable:\n"
+"\t LINE\n"
+"\t RING\n"
+"\t RANDOM <num_rnd_links>\n"
+"\t SMALL_WORLD <num_rnd_links>\n"
+"\t SMALL_WORLD_RING <num_rnd_links>\n"
+"\t CLIQUE\n"
+"\t 2D_TORUS\n"
+"\t SCALE_FREE <cap> <m>\n"
+"\t FROM_FILE <filename>\n"
+"TOPOOPTS:\n"
+"\t num_rnd_links: The number of random links\n"
+"\t cap: the maximum number of links a node can have\n"
+"\t m: the number of links a node should have while joining the network\n"
+"\t filename: the path of the file which contains topology information\n"
+"NOTE: the format of the above file is descibed here: https://www.gnunet.org/"
+"content/topology-file-format\n"
+msgstr ""
+
+#: src/testbed/gnunet-daemon-latency-logger.c:325
+msgid "Daemon to log latency values of connections to neighbours"
+msgstr ""
+
#: src/testbed/gnunet-daemon-testbed-blacklist.c:264
msgid ""
"Daemon to restrict incoming transport layer connections during testbed "
"deployments"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:300 src/testing/testing.c:293
-#: src/util/gnunet-ecc.c:217
+#: src/testbed/gnunet-daemon-testbed-underlay.c:235 src/testing/list-keys.c:50
+#: src/testing/testing.c:293 src/util/gnunet-ecc.c:217
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
-#: src/testbed/gnunet-daemon-testbed-underlay.c:553
+#: src/testbed/gnunet-daemon-testbed-underlay.c:474
msgid "Daemon to restrict underlay network in testbed deployments"
msgstr ""
@@ -6007,10 +6110,6 @@ msgstr "卸载 GNUnet 服务"
msgid "Exiting as the number of peers is %u\n"
msgstr "增加 TCP/IP 的最大连接数"
-#: src/testbed/gnunet-testbed-profiler.c:293
-msgid "create COUNT number of peers"
-msgstr ""
-
#: src/testbed/gnunet-testbed-profiler.c:296
msgid "tolerate COUNT number of continious timeout failures"
msgstr ""
@@ -6047,100 +6146,100 @@ msgstr ""
msgid "Adding host %u failed with error: %s\n"
msgstr "“%s”以错误码 %d 失败:%s\n"
-#: src/testbed/testbed_api_testbed.c:820
+#: src/testbed/testbed_api_testbed.c:819
msgid "Linking controllers failed. Exiting"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:989
+#: src/testbed/testbed_api_testbed.c:988
#, c-format
msgid "Host registration failed for a host. Error: %s\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1055
+#: src/testbed/testbed_api_testbed.c:1054
msgid "Controller crash detected. Shutting down.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1144
+#: src/testbed/testbed_api_testbed.c:1143
#, c-format
msgid "Host %s cannot start testbed\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1148
+#: src/testbed/testbed_api_testbed.c:1147
msgid "Testbed cannot be started on localhost\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1186
+#: src/testbed/testbed_api_testbed.c:1185
msgid "Cannot start the master controller"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1204
+#: src/testbed/testbed_api_testbed.c:1203
msgid "Shutting down testbed due to timeout while setup.\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1264
+#: src/testbed/testbed_api_testbed.c:1263
msgid "No hosts loaded from LoadLeveler. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1276
+#: src/testbed/testbed_api_testbed.c:1275
msgid "No hosts loaded. Need at least one host\n"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1300
+#: src/testbed/testbed_api_testbed.c:1299
msgid "Specified topology must be supported by testbed"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1350
+#: src/testbed/testbed_api_testbed.c:1349
#, c-format
msgid ""
"Maximum number of edges a peer can have in a scale free topology cannot be "
"more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_testbed.c:1366
+#: src/testbed/testbed_api_testbed.c:1365
#, c-format
msgid ""
"The number of edges that can established when adding a new node to scale "
"free topology cannot be more than %u. Given `%s = %llu'"
msgstr ""
-#: src/testbed/testbed_api_topology.c:715
+#: src/testbed/testbed_api_topology.c:960
#, c-format
msgid "Topology file %s not found\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:721
+#: src/testbed/testbed_api_topology.c:966
#, c-format
msgid "Topology file %s has no data\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:728
+#: src/testbed/testbed_api_topology.c:973
#, c-format
msgid "Topology file %s cannot be read\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:750
+#: src/testbed/testbed_api_topology.c:995
#, fuzzy, c-format
msgid "Failed to read peer index from toology file: %s"
msgstr "解析配置文件“%s”失败\n"
-#: src/testbed/testbed_api_topology.c:759
-#: src/testbed/testbed_api_topology.c:783
+#: src/testbed/testbed_api_topology.c:1004
+#: src/testbed/testbed_api_topology.c:1028
#, c-format
msgid "Value in given topology file: %s out of range\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:765
-#: src/testbed/testbed_api_topology.c:789
+#: src/testbed/testbed_api_topology.c:1010
+#: src/testbed/testbed_api_topology.c:1034
#, fuzzy, c-format
msgid "Failed to read peer index from topology file: %s"
msgstr "解析配置文件“%s”失败\n"
-#: src/testbed/testbed_api_topology.c:771
-#: src/testbed/testbed_api_topology.c:795
+#: src/testbed/testbed_api_topology.c:1016
+#: src/testbed/testbed_api_topology.c:1040
msgid "Topology file needs more peers than given ones\n"
msgstr ""
-#: src/testbed/testbed_api_topology.c:810
+#: src/testbed/testbed_api_topology.c:1074
#, fuzzy, c-format
msgid "Ignoring to connect peer %u to peer %u\n"
msgstr "无法连接到 %s:%u:%s\n"
@@ -6184,6 +6283,14 @@ msgstr ""
msgid "Command line tool to access the testing library"
msgstr ""
+#: src/testing/list-keys.c:90
+msgid "list COUNT number of keys"
+msgstr ""
+
+#: src/testing/list-keys.c:93
+msgid "skip COUNT number of keys in the beginning"
+msgstr ""
+
#: src/testing/testing.c:277
#, c-format
msgid "Hostkeys file not found: %s\n"
@@ -6319,35 +6426,35 @@ msgid "Adding blacklisting entry for peer `%s':`%s'\n"
msgstr ""
#: src/transport/gnunet-service-transport_blacklist.c:455
-#: src/transport/gnunet-service-transport_blacklist.c:722
+#: src/transport/gnunet-service-transport_blacklist.c:725
msgid "# disconnects due to blacklist"
msgstr ""
-#: src/transport/gnunet-service-transport.c:206
+#: src/transport/gnunet-service-transport.c:201
msgid "# bytes payload discarded due to not connected peer"
msgstr ""
-#: src/transport/gnunet-service-transport.c:325
+#: src/transport/gnunet-service-transport.c:304
msgid "# bytes total received"
msgstr ""
-#: src/transport/gnunet-service-transport.c:399
+#: src/transport/gnunet-service-transport.c:371
msgid "# bytes payload received"
msgstr ""
-#: src/transport/gnunet-service-transport.c:574
+#: src/transport/gnunet-service-transport.c:527
#, fuzzy, c-format
msgid "Could not obtain a valid network for `%s' %s (%s)\n"
msgstr "无法利用“%2$s”获取接口“%1$s”的 IP。\n"
-#: src/transport/gnunet-service-transport.c:628
+#: src/transport/gnunet-service-transport.c:574
#, c-format
msgid ""
"Address or session unknown: failed to update properties for peer `%s' plugin "
"`%s' address `%s' session %p\n"
msgstr ""
-#: src/transport/gnunet-service-transport.c:916
+#: src/transport/gnunet-service-transport.c:837
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "立即保存配置?"
@@ -6361,16 +6468,16 @@ msgstr ""
msgid "# messages dropped due to slow client"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:533
+#: src/transport/gnunet-service-transport_clients.c:540
#, c-format
msgid "Rejecting control connection from peer `%s', which is not me!\n"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:674
+#: src/transport/gnunet-service-transport_clients.c:681
msgid "# bytes payload dropped (other peer was not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_clients.c:731
+#: src/transport/gnunet-service-transport_clients.c:738
msgid "# REQUEST CONNECT messages received"
msgstr ""
@@ -6378,143 +6485,143 @@ msgstr ""
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1108
+#: src/transport/gnunet-service-transport_neighbours.c:1016
msgid "# DISCONNECT messages sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1244
-#: src/transport/gnunet-service-transport_neighbours.c:1653
+#: src/transport/gnunet-service-transport_neighbours.c:1152
+#: src/transport/gnunet-service-transport_neighbours.c:1562
msgid "# bytes in message queue for other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1249
+#: src/transport/gnunet-service-transport_neighbours.c:1157
msgid "# messages transmitted to other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1254
+#: src/transport/gnunet-service-transport_neighbours.c:1162
msgid "# transmission failures for messages to other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1219
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1368
+#: src/transport/gnunet-service-transport_neighbours.c:1276
msgid "# keepalives sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1401
+#: src/transport/gnunet-service-transport_neighbours.c:1309
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1409
+#: src/transport/gnunet-service-transport_neighbours.c:1317
msgid "# KEEPALIVE messages discarded (no session)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1456
+#: src/transport/gnunet-service-transport_neighbours.c:1364
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1465
+#: src/transport/gnunet-service-transport_neighbours.c:1373
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1473
+#: src/transport/gnunet-service-transport_neighbours.c:1381
msgid "# KEEPALIVE_RESPONSE messages discarded (address changed)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1481
+#: src/transport/gnunet-service-transport_neighbours.c:1389
msgid "# KEEPALIVE_RESPONSE messages discarded (wrong nonce)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1558
+#: src/transport/gnunet-service-transport_neighbours.c:1467
msgid "# messages discarded due to lack of neighbour record"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1592
+#: src/transport/gnunet-service-transport_neighbours.c:1501
msgid "# bandwidth quota violations by other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1608
+#: src/transport/gnunet-service-transport_neighbours.c:1517
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1700
+#: src/transport/gnunet-service-transport_neighbours.c:1609
msgid "# SESSION_CONNECT messages sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1716
+#: src/transport/gnunet-service-transport_neighbours.c:1625
#, fuzzy, c-format
msgid "Failed to transmit CONNECT message via plugin to %s\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1759
+#: src/transport/gnunet-service-transport_neighbours.c:1668
msgid "# CONNECT_ACK messages sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2236
+#: src/transport/gnunet-service-transport_neighbours.c:2149
msgid "# CONNECT messages received"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2241
+#: src/transport/gnunet-service-transport_neighbours.c:2154
#, c-format
msgid "CONNECT request from peer `%s' ignored due impending shutdown\n"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2979
+#: src/transport/gnunet-service-transport_neighbours.c:2885
msgid "# CONNECT_ACK messages received"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2987
+#: src/transport/gnunet-service-transport_neighbours.c:2893
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3002
-#: src/transport/gnunet-service-transport_neighbours.c:3039
+#: src/transport/gnunet-service-transport_neighbours.c:2908
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3052
+#: src/transport/gnunet-service-transport_neighbours.c:2957
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3085
+#: src/transport/gnunet-service-transport_neighbours.c:2987
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3265
+#: src/transport/gnunet-service-transport_neighbours.c:3156
msgid "# SESSION_ACK messages received"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3284
+#: src/transport/gnunet-service-transport_neighbours.c:3175
msgid "# unexpected SESSION_ACK messages"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3340
+#: src/transport/gnunet-service-transport_neighbours.c:3230
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3355
+#: src/transport/gnunet-service-transport_neighbours.c:3245
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3383
+#: src/transport/gnunet-service-transport_neighbours.c:3273
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3389
+#: src/transport/gnunet-service-transport_neighbours.c:3279
msgid "# DISCONNECT messages received"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3398
+#: src/transport/gnunet-service-transport_neighbours.c:3288
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3434
+#: src/transport/gnunet-service-transport_neighbours.c:3324
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3532
+#: src/transport/gnunet-service-transport_neighbours.c:3423
msgid "# disconnected from peer upon explicit request"
msgstr ""
@@ -6542,428 +6649,431 @@ msgstr "解析配置文件“%s”失败\n"
msgid "Did not load plugin `%s' due to missing functions\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:456
+#: src/transport/gnunet-service-transport_validation.c:452
msgid "# address records discarded"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:526
+#: src/transport/gnunet-service-transport_validation.c:522
#, c-format
msgid ""
"Not transmitting `%s' with `%s', message too big (%u bytes!). This should "
"not happen.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:584
+#: src/transport/gnunet-service-transport_validation.c:580
msgid "# PING without HELLO messages sent"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:685
+#: src/transport/gnunet-service-transport_validation.c:681
msgid "# address revalidations started"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:969
+#: src/transport/gnunet-service-transport_validation.c:963
msgid "# PING message for different peer received"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1019
+#: src/transport/gnunet-service-transport_validation.c:1014
#, c-format
msgid "Plugin `%s' not available, cannot confirm having this address\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1029
+#: src/transport/gnunet-service-transport_validation.c:1024
msgid "# failed address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1032
+#: src/transport/gnunet-service-transport_validation.c:1027
#, c-format
msgid "Address `%s' is not one of my addresses, not confirming PING\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1040
+#: src/transport/gnunet-service-transport_validation.c:1035
msgid "# successful address checks during validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1052
+#: src/transport/gnunet-service-transport_validation.c:1047
#, c-format
msgid ""
"Not confirming PING from peer `%s' with address `%s' since I cannot confirm "
"having this address.\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1060
+#: src/transport/gnunet-service-transport_validation.c:1055
#, c-format
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1114
+#: src/transport/gnunet-service-transport_validation.c:1109
#, fuzzy, c-format
msgid "Failed to create PONG signature for peer `%s'\n"
msgstr "发送消息失败。\n"
-#: src/transport/gnunet-service-transport_validation.c:1163
+#: src/transport/gnunet-service-transport_validation.c:1158
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1172
+#: src/transport/gnunet-service-transport_validation.c:1167
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1312
+#: src/transport/gnunet-service-transport_validation.c:1308
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1327
+#: src/transport/gnunet-service-transport_validation.c:1323
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1448
+#: src/transport/gnunet-service-transport_validation.c:1442
+#, c-format
+msgid "Validation received new %s message for peer `%s' with size %u\n"
+msgstr ""
+
+#: src/transport/gnunet-service-transport_validation.c:1449
#, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr ""
-#: src/transport/gnunet-transport.c:258
+#: src/transport/gnunet-transport.c:285
#, c-format
msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
msgstr ""
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:293
#, c-format
msgid "Received %llu bytes/s (%llu bytes in %s)\n"
msgstr ""
-#: src/transport/gnunet-transport.c:296
+#: src/transport/gnunet-transport.c:331
#, fuzzy, c-format
msgid "Failed to connect to `%s'\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:309
+#: src/transport/gnunet-transport.c:344
#, fuzzy, c-format
msgid "Failed to resolve address for peer `%s'\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/transport/gnunet-transport.c:318
+#: src/transport/gnunet-transport.c:354
#, fuzzy
msgid "Failed to list connections, timeout occured\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:423
+#: src/transport/gnunet-transport.c:453
msgid "No transport plugins configured, peer will never communicate\n"
msgstr ""
-#: src/transport/gnunet-transport.c:436
+#: src/transport/gnunet-transport.c:467
#, c-format
msgid "No port configured for plugin `%s', cannot test it\n"
msgstr ""
-#: src/transport/gnunet-transport.c:506
+#: src/transport/gnunet-transport.c:530
#, c-format
msgid "Transmitting %u bytes to %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:529
+#: src/transport/gnunet-transport.c:551
#, fuzzy, c-format
msgid "Successfully connected to `%s'\n"
msgstr "“%s”已连接到“%s”。\n"
-#: src/transport/gnunet-transport.c:552
+#: src/transport/gnunet-transport.c:575
#, c-format
msgid ""
"Successfully connected to `%s', starting to send benchmark data in %u Kb "
"blocks\n"
msgstr ""
-#: src/transport/gnunet-transport.c:587
+#: src/transport/gnunet-transport.c:608
#, fuzzy, c-format
msgid "Disconnected from peer `%s' while benchmarking\n"
msgstr "“%s”已连接到“%s”。\n"
-#: src/transport/gnunet-transport.c:660
+#: src/transport/gnunet-transport.c:670
#, c-format
msgid "Received %u bytes from %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:685
-#, fuzzy, c-format
-msgid "Peer `%s': %s %s\n"
-msgstr "运行 %s失败:%s %d\n"
-
-#: src/transport/gnunet-transport.c:704
+#: src/transport/gnunet-transport.c:693
#, c-format
-msgid "Peer `%s': %s <unable to resolve address>\n"
+msgid "Peer `%s': %s %s in state `%s' until %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:772
+#: src/transport/gnunet-transport.c:703
#, fuzzy, c-format
-msgid "Peer `%s' disconnected\n"
-msgstr ""
-"\n"
-"按任意键继续\n"
+msgid "Peer `%s': %s %s\n"
+msgstr "运行 %s失败:%s %d\n"
-#: src/transport/gnunet-transport.c:802
+#: src/transport/gnunet-transport.c:916
#, fuzzy
msgid "Failed to send connect request to transport service\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:848
+#: src/transport/gnunet-transport.c:959
#, c-format
msgid ""
"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
"%s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:855
+#: src/transport/gnunet-transport.c:967
#, c-format
msgid ""
"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
msgstr ""
-#: src/transport/gnunet-transport.c:878 src/transport/gnunet-transport.c:910
-#: src/transport/gnunet-transport.c:932 src/transport/gnunet-transport.c:969
+#: src/transport/gnunet-transport.c:986 src/transport/gnunet-transport.c:1016
+#: src/transport/gnunet-transport.c:1039 src/transport/gnunet-transport.c:1070
#, fuzzy
msgid "Failed to connect to transport service\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:887 src/transport/gnunet-transport.c:917
+#: src/transport/gnunet-transport.c:995 src/transport/gnunet-transport.c:1025
#, fuzzy
msgid "Failed to send request to transport service\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:937
+#: src/transport/gnunet-transport.c:1044
msgid "Starting to receive benchmark data\n"
msgstr ""
-#: src/transport/gnunet-transport.c:1019
+#: src/transport/gnunet-transport.c:1116
+#, fuzzy
+msgid "print information for all peers (instead of only connected peers )"
+msgstr "无法获取有关用户“%s”的信息:%s\n"
+
+#: src/transport/gnunet-transport.c:1119
msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1022
+#: src/transport/gnunet-transport.c:1121
#, fuzzy
msgid "connect to a peer"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/gnunet-transport.c:1025
+#: src/transport/gnunet-transport.c:1124
msgid "provide information about all current connections (once)"
msgstr ""
-#: src/transport/gnunet-transport.c:1031
+#: src/transport/gnunet-transport.c:1130
msgid ""
"provide information about all connects and disconnect events (continuously)"
msgstr ""
-#: src/transport/gnunet-transport.c:1034
+#: src/transport/gnunet-transport.c:1132
msgid "do not resolve hostnames"
msgstr ""
-#: src/transport/gnunet-transport.c:1037
+#: src/transport/gnunet-transport.c:1134
msgid "peer identity"
msgstr ""
-#: src/transport/gnunet-transport.c:1041
+#: src/transport/gnunet-transport.c:1136
msgid "send data for benchmarking to the other peer (until CTRL-C)"
msgstr ""
-#: src/transport/gnunet-transport.c:1044
+#: src/transport/gnunet-transport.c:1139
msgid "test transport configuration (involves external server)"
msgstr ""
-#: src/transport/gnunet-transport.c:1055
+#: src/transport/gnunet-transport.c:1148
#, fuzzy
msgid "Direct access to transport service."
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/plugin_transport_bluetooth.c:616
+#: src/transport/plugin_transport_bluetooth.c:618
msgid "# Bluetooth ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:635
+#: src/transport/plugin_transport_bluetooth.c:637
msgid "# Bluetooth messages defragmented"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:681
-#: src/transport/plugin_transport_bluetooth.c:731
-#: src/transport/plugin_transport_bluetooth.c:1881
+#: src/transport/plugin_transport_bluetooth.c:683
+#: src/transport/plugin_transport_bluetooth.c:733
+#: src/transport/plugin_transport_bluetooth.c:1888
msgid "# Bluetooth sessions allocated"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:806
+#: src/transport/plugin_transport_bluetooth.c:808
msgid "# Bluetooth message fragments sent"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:830
+#: src/transport/plugin_transport_bluetooth.c:832
msgid "# Bluetooth messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:938
-#: src/transport/plugin_transport_bluetooth.c:1023
-#: src/transport/plugin_transport_bluetooth.c:1883
+#: src/transport/plugin_transport_bluetooth.c:940
+#: src/transport/plugin_transport_bluetooth.c:1026
+#: src/transport/plugin_transport_bluetooth.c:1890
msgid "# Bluetooth MAC endpoints allocated"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1250
+#: src/transport/plugin_transport_bluetooth.c:1254
msgid "# HELLO messages received via Bluetooth"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1276
+#: src/transport/plugin_transport_bluetooth.c:1277
msgid "# fragments received via Bluetooth"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1286
+#: src/transport/plugin_transport_bluetooth.c:1287
msgid "# ACKs received via Bluetooth"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1343
+#: src/transport/plugin_transport_bluetooth.c:1347
msgid "# Bluetooth DATA messages discarded due to CRC32 error"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1455
+#: src/transport/plugin_transport_bluetooth.c:1458
msgid "# DATA messages received via Bluetooth"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1490
+#: src/transport/plugin_transport_bluetooth.c:1493
msgid "# Bluetooth DATA messages processed"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1553
+#: src/transport/plugin_transport_bluetooth.c:1556
msgid "# HELLO beacons sent via Bluetooth"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1666
+#: src/transport/plugin_transport_bluetooth.c:1669
msgid "Bluetooth address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_bluetooth.c:1862
+#: src/transport/plugin_transport_bluetooth.c:1869
#, c-format
msgid "Helper binary `%s' not SUID, cannot run bluetooth transport\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1618
+#: src/transport/plugin_transport_http_client.c:1621
#, c-format
msgid "Could not initialize curl multi handle, failed to start %s plugin!\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1693
-#: src/transport/plugin_transport_http_server.c:3001
+#: src/transport/plugin_transport_http_client.c:1696
+#: src/transport/plugin_transport_http_server.c:3006
#, fuzzy, c-format
msgid "Shutting down plugin `%s'\n"
msgstr "未知的命令“%s”。\n"
-#: src/transport/plugin_transport_http_client.c:1718
-#: src/transport/plugin_transport_http_server.c:3059
+#: src/transport/plugin_transport_http_client.c:1721
+#: src/transport/plugin_transport_http_server.c:3062
#, c-format
msgid "Shutdown for plugin `%s' complete\n"
msgstr ""
-#: src/transport/plugin_transport_http_client.c:1746
-#: src/transport/plugin_transport_http_server.c:2901
+#: src/transport/plugin_transport_http_client.c:1749
+#: src/transport/plugin_transport_http_server.c:2906
#, fuzzy, c-format
msgid "Maximum number of connections is %u\n"
msgstr "增加 TCP/IP 的最大连接数"
-#: src/transport/plugin_transport_http_server.c:1416
+#: src/transport/plugin_transport_http_server.c:1402
#, c-format
msgid ""
"Access from connection %p (%u of %u) for `%s' `%s' url `%s' with upload data "
"size %u\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1680
+#: src/transport/plugin_transport_http_server.c:1663
#, c-format
msgid "Accepting connection (%u of %u) from `%s'\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1688
+#: src/transport/plugin_transport_http_server.c:1671
#, c-format
msgid ""
"Server reached maximum number connections (%u), rejecting new connection\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1974
+#: src/transport/plugin_transport_http_server.c:1957
msgid ""
"Could not create a new TLS certificate, program `gnunet-transport-"
"certificate-creation' could not be started!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:1998
+#: src/transport/plugin_transport_http_server.c:1981
#, c-format
msgid "No usable TLS certificate found and creating one at `%s/%s' failed!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2405
+#: src/transport/plugin_transport_http_server.c:2404
#, fuzzy
msgid "Require valid port number for service in configuration!\n"
msgstr "保存配置失败。"
-#: src/transport/plugin_transport_http_server.c:2437 src/util/service.c:696
+#: src/transport/plugin_transport_http_server.c:2436 src/util/service.c:696
#, fuzzy, c-format
msgid "Failed to resolve `%s': %s\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/transport/plugin_transport_http_server.c:2454 src/util/service.c:713
+#: src/transport/plugin_transport_http_server.c:2453 src/util/service.c:713
#, fuzzy, c-format
msgid "Failed to find %saddress for `%s'.\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/transport/plugin_transport_http_server.c:2565
+#: src/transport/plugin_transport_http_server.c:2564
#, c-format
msgid "Found %u addresses to report to NAT service\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2637
+#: src/transport/plugin_transport_http_server.c:2636
msgid "Disabling IPv6 since it is not supported on this system!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2724
+#: src/transport/plugin_transport_http_server.c:2729
#, c-format
msgid "IPv4 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2738
+#: src/transport/plugin_transport_http_server.c:2743
#, c-format
msgid "IPv6 support is %s\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2745
+#: src/transport/plugin_transport_http_server.c:2750
msgid "Neither IPv4 nor IPv6 are enabled! Fix in configuration\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2756
+#: src/transport/plugin_transport_http_server.c:2761
#, fuzzy
msgid "Port is required! Fix in configuration\n"
msgstr ""
"\n"
"结束配置。\n"
-#: src/transport/plugin_transport_http_server.c:2763
+#: src/transport/plugin_transport_http_server.c:2768
#, c-format
msgid "Using port %u\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2778
+#: src/transport/plugin_transport_http_server.c:2783
#, c-format
msgid "Specific IPv4 address `%s' in configuration file is invalid!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2788
+#: src/transport/plugin_transport_http_server.c:2793
#, fuzzy, c-format
msgid "Binding to IPv4 address %s\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/transport/plugin_transport_http_server.c:2809
+#: src/transport/plugin_transport_http_server.c:2814
#, c-format
msgid "Specific IPv6 address `%s' in configuration file is invalid!\n"
msgstr ""
-#: src/transport/plugin_transport_http_server.c:2819
+#: src/transport/plugin_transport_http_server.c:2824
#, fuzzy, c-format
msgid "Binding to IPv6 address %s\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/transport/plugin_transport_http_server.c:2871
+#: src/transport/plugin_transport_http_server.c:2876
#, fuzzy, c-format
msgid "Using external hostname `%s'\n"
msgstr "卸载 GNUnet 服务"
-#: src/transport/plugin_transport_http_server.c:2887
+#: src/transport/plugin_transport_http_server.c:2892
#, c-format
msgid "Notifying transport only about hostname `%s'\n"
msgstr ""
@@ -7010,214 +7120,213 @@ msgstr ""
msgid "# bytes dropped by SMTP (outgoing)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:576
+#: src/transport/plugin_transport_tcp.c:559
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:799
-#: src/transport/plugin_transport_tcp.c:980
-#: src/transport/plugin_transport_tcp.c:2120
-#: src/transport/plugin_transport_tcp.c:2723
+#: src/transport/plugin_transport_tcp.c:766
+#: src/transport/plugin_transport_tcp.c:930
+#: src/transport/plugin_transport_tcp.c:1973
+#: src/transport/plugin_transport_tcp.c:2527
msgid "# TCP sessions active"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:836
-#: src/transport/plugin_transport_tcp.c:973
-#: src/transport/plugin_transport_tcp.c:1062
-#: src/transport/plugin_transport_tcp.c:1112
-#: src/transport/plugin_transport_tcp.c:1291
-#: src/transport/plugin_transport_tcp.c:1310
+#: src/transport/plugin_transport_tcp.c:797
+#: src/transport/plugin_transport_tcp.c:923
+#: src/transport/plugin_transport_tcp.c:1009
+#: src/transport/plugin_transport_tcp.c:1056
+#: src/transport/plugin_transport_tcp.c:1219
+#: src/transport/plugin_transport_tcp.c:1237
msgid "# bytes currently in TCP buffers"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:840
+#: src/transport/plugin_transport_tcp.c:800
msgid "# bytes discarded by TCP (disconnect)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1066
+#: src/transport/plugin_transport_tcp.c:1012
msgid "# bytes discarded by TCP (timeout)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1115
+#: src/transport/plugin_transport_tcp.c:1059
msgid "# bytes transmitted via TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1264
+#: src/transport/plugin_transport_tcp.c:1193
#, c-format
msgid "Trying to send with invalid session %p\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1521
-#: src/transport/plugin_transport_udp.c:1488
+#: src/transport/plugin_transport_tcp.c:1427
msgid "# requests to create session with invalid address"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1645
+#: src/transport/plugin_transport_tcp.c:1532
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2170
+#: src/transport/plugin_transport_tcp.c:2021
msgid "# TCP WELCOME messages received"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2355
+#: src/transport/plugin_transport_tcp.c:2189
msgid "# bytes received via TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2433
+#: src/transport/plugin_transport_tcp.c:2253
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2602 src/util/service.c:589
+#: src/transport/plugin_transport_tcp.c:2407 src/util/service.c:589
#: src/util/service.c:595
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2616
+#: src/transport/plugin_transport_tcp.c:2421
#, fuzzy
msgid "Failed to start service.\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/plugin_transport_tcp.c:2712
+#: src/transport/plugin_transport_tcp.c:2516
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2715
+#: src/transport/plugin_transport_tcp.c:2520
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2718
+#: src/transport/plugin_transport_tcp.c:2523
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:173
+#: src/transport/plugin_transport_udp_broadcasting.c:167
msgid "# IPv6 multicast HELLO beacons received via udp"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:222
+#: src/transport/plugin_transport_udp_broadcasting.c:210
msgid "# IPv4 broadcast HELLO beacons received via udp"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:606
+#: src/transport/plugin_transport_udp_broadcasting.c:594
msgid ""
"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_udp_broadcasting.c:629
+#: src/transport/plugin_transport_udp_broadcasting.c:617
#, c-format
msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:1599
+#: src/transport/plugin_transport_udp.c:1406
#, c-format
msgid ""
"Trying to create session for address of unexpected length %u (should be %u "
"or %u)\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2680
+#: src/transport/plugin_transport_udp.c:2474
#, c-format
msgid ""
"UDP could not transmit message to `%s': Network seems down, please check "
"your network configuration\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2694
+#: src/transport/plugin_transport_udp.c:2488
msgid ""
"UDP could not transmit IPv6 message! Please check your network configuration "
"and disable IPv6 if your connection does not have a global IPv6 address\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:2993
+#: src/transport/plugin_transport_udp.c:2817
#, fuzzy
msgid "Failed to open UDP sockets\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/transport/plugin_transport_udp.c:3091
+#: src/transport/plugin_transport_udp.c:2912
#, c-format
msgid "Given `%s' option is out of range: %llu > %u\n"
msgstr ""
-#: src/transport/plugin_transport_udp.c:3134
+#: src/transport/plugin_transport_udp.c:2951
#, fuzzy, c-format
msgid "Invalid IPv6 address: `%s'\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/transport/plugin_transport_udp.c:3200
+#: src/transport/plugin_transport_udp.c:3021
#, fuzzy
msgid "Failed to create network sockets, plugin failed\n"
msgstr "发送消息失败。\n"
-#: src/transport/plugin_transport_unix.c:1657
+#: src/transport/plugin_transport_unix.c:1624
#, fuzzy
msgid "Failed to open UNIX listen socket\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/transport/plugin_transport_wlan.c:623
+#: src/transport/plugin_transport_wlan.c:625
msgid "# WLAN ACKs sent"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:642
+#: src/transport/plugin_transport_wlan.c:644
msgid "# WLAN messages defragmented"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:691
-#: src/transport/plugin_transport_wlan.c:778
-#: src/transport/plugin_transport_wlan.c:1937
+#: src/transport/plugin_transport_wlan.c:693
+#: src/transport/plugin_transport_wlan.c:780
+#: src/transport/plugin_transport_wlan.c:1952
msgid "# WLAN sessions allocated"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:883
+#: src/transport/plugin_transport_wlan.c:886
msgid "# WLAN message fragments sent"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:907
+#: src/transport/plugin_transport_wlan.c:910
msgid "# WLAN messages pending (with fragmentation)"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1015
-#: src/transport/plugin_transport_wlan.c:1101
-#: src/transport/plugin_transport_wlan.c:1939
+#: src/transport/plugin_transport_wlan.c:1018
+#: src/transport/plugin_transport_wlan.c:1105
+#: src/transport/plugin_transport_wlan.c:1954
msgid "# WLAN MAC endpoints allocated"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1297
+#: src/transport/plugin_transport_wlan.c:1301
msgid "# HELLO messages received via WLAN"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1323
+#: src/transport/plugin_transport_wlan.c:1325
msgid "# fragments received via WLAN"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1333
+#: src/transport/plugin_transport_wlan.c:1335
msgid "# ACKs received via WLAN"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1390
+#: src/transport/plugin_transport_wlan.c:1395
msgid "# WLAN DATA messages discarded due to CRC32 error"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1511
+#: src/transport/plugin_transport_wlan.c:1517
msgid "# DATA messages received via WLAN"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1546
+#: src/transport/plugin_transport_wlan.c:1552
msgid "# WLAN DATA messages processed"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1609
+#: src/transport/plugin_transport_wlan.c:1620
msgid "# HELLO beacons sent via WLAN"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1722
+#: src/transport/plugin_transport_wlan.c:1733
msgid "WLAN address with invalid size encountered\n"
msgstr ""
-#: src/transport/plugin_transport_wlan.c:1918
+#: src/transport/plugin_transport_wlan.c:1933
#, c-format
msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
msgstr ""
@@ -7676,6 +7785,27 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
+#: src/util/gnunet-scrypt.c:279
+msgid "number of bits to require for the proof of work"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:282
+msgid "file with private key, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:285
+msgid "file with proof of work, otherwise default is used"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:288
+msgid "time to wait between calculations"
+msgstr ""
+
+#: src/util/gnunet-scrypt.c:299
+#, fuzzy
+msgid "Manipulate GNUnet proof of work files"
+msgstr "更改配置文件中的一个值"
+
#: src/util/gnunet-service-resolver.c:283
#, c-format
msgid "Could not resolve `%s' (%s): %s\n"
@@ -7947,114 +8077,114 @@ msgstr ""
msgid "b"
msgstr "b"
-#: src/util/strings.c:444
+#: src/util/strings.c:433
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:572
+#: src/util/strings.c:561
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr "扩展“$HOME”失败:没有设置环境变量“HOME”"
-#: src/util/strings.c:669
+#: src/util/strings.c:658
msgid "µs"
msgstr ""
-#: src/util/strings.c:673
+#: src/util/strings.c:662
msgid "forever"
msgstr ""
-#: src/util/strings.c:675
+#: src/util/strings.c:664
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:681
+#: src/util/strings.c:670
msgid "ms"
msgstr "毫秒"
-#: src/util/strings.c:687
+#: src/util/strings.c:676
msgid "s"
msgstr "秒"
-#: src/util/strings.c:693
+#: src/util/strings.c:682
msgid "m"
msgstr "分"
-#: src/util/strings.c:699
+#: src/util/strings.c:688
msgid "h"
msgstr "时"
-#: src/util/strings.c:706
+#: src/util/strings.c:695
#, fuzzy
msgid "day"
msgstr " 天"
-#: src/util/strings.c:708
+#: src/util/strings.c:697
#, fuzzy
msgid "days"
msgstr " 天"
-#: src/util/strings.c:737
+#: src/util/strings.c:726
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1170
+#: src/util/strings.c:1159
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1178
+#: src/util/strings.c:1167
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1184
+#: src/util/strings.c:1173
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1191
+#: src/util/strings.c:1180
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1200
+#: src/util/strings.c:1189
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/util/strings.c:1406 src/util/strings.c:1422
+#: src/util/strings.c:1395 src/util/strings.c:1411
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1431
+#: src/util/strings.c:1420
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/util/strings.c:1514 src/util/strings.c:1545 src/util/strings.c:1593
-#: src/util/strings.c:1614
+#: src/util/strings.c:1503 src/util/strings.c:1534 src/util/strings.c:1582
+#: src/util/strings.c:1603
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/util/strings.c:1571
+#: src/util/strings.c:1560
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "网络表示法无效(“/%d” 在 IPv4 CIDR 中是非法的)。"
-#: src/util/strings.c:1623
+#: src/util/strings.c:1612
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/util/strings.c:1675
+#: src/util/strings.c:1664
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "无效的网络表示法(没有以“;”结尾:“%s”)\n"
-#: src/util/strings.c:1725
+#: src/util/strings.c:1714
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "网络掩码的格式“%s”错误\n"
-#: src/util/strings.c:1756
+#: src/util/strings.c:1745
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr "网络的格式“%s”错误\n"
@@ -8251,6 +8381,24 @@ msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr ""
#, fuzzy
+#~ msgid "provide information about a particular channel"
+#~ msgstr "无法获取有关用户“%s”的信息:%s\n"
+
+#, fuzzy
+#~ msgid "provide information about a particular connection"
+#~ msgstr "无法获取有关用户“%s”的信息:%s\n"
+
+#, fuzzy
+#~ msgid "Could not find option `%s:%s' in configuration.\n"
+#~ msgstr "找不到主机“%s”的 IP:%s\n"
+
+#, fuzzy
+#~ msgid "Peer `%s' disconnected\n"
+#~ msgstr ""
+#~ "\n"
+#~ "按任意键继续\n"
+
+#, fuzzy
#~ msgid "Found %u transport plugins: `%s'\n"
#~ msgstr "解析配置文件“%s”失败\n"
@@ -8271,10 +8419,6 @@ msgstr ""
#~ msgstr "找不到接口“%s”的一个 IP 地址。\n"
#, fuzzy
-#~ msgid "Print information about mesh tunnels and peers."
-#~ msgstr "无法获取有关用户“%s”的信息:%s\n"
-
-#, fuzzy
#~ msgid ""
#~ "%s service is lacking key configuration settings (%s). Using default "
#~ "(%u).\n"
@@ -8597,10 +8741,6 @@ msgstr ""
#~ msgstr "初始化“%s”服务失败。\n"
#, fuzzy
-#~ msgid "Failed to start `gnunet-peerinfo' process.\n"
-#~ msgstr "初始化“%s”服务失败。\n"
-
-#, fuzzy
#~ msgid "Failed to start `ssh' process.\n"
#~ msgstr "初始化“%s”服务失败。\n"
diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h
index a82b2fdd63..a5ee980926 100644
--- a/src/include/gnunet_crypto_lib.h
+++ b/src/include/gnunet_crypto_lib.h
@@ -55,6 +55,7 @@ struct GNUNET_PeerIdentity;
#include "gnunet_common.h"
#include "gnunet_scheduler_lib.h"
+#include <gcrypt.h>
/**
@@ -1232,6 +1233,35 @@ GNUNET_CRYPTO_ecdsa_public_key_derive (const struct GNUNET_CRYPTO_EcdsaPublicKey
struct GNUNET_CRYPTO_EcdsaPublicKey *result);
+/**
+ * Output the given MPI value to the given buffer in network
+ * byte order. The MPI @a val may not be negative.
+ *
+ * @param buf where to output to
+ * @param size number of bytes in @a buf
+ * @param val value to write to @a buf
+ */
+void
+GNUNET_CRYPTO_mpi_print_unsigned (void *buf,
+ size_t size,
+ gcry_mpi_t val);
+
+
+/**
+ * Convert data buffer into MPI value.
+ * The buffer is interpreted as network
+ * byte order, unsigned integer.
+ *
+ * @param result where to store MPI value (allocated)
+ * @param data raw data (GCRYMPI_FMT_USG)
+ * @param size number of bytes in @a data
+ */
+void
+GNUNET_CRYPTO_mpi_scan_unsigned (gcry_mpi_t *result,
+ const void *data,
+ size_t size);
+
+
#if 0 /* keep Emacsens' auto-indent happy */
{
#endif
diff --git a/src/include/gnunet_secretsharing_service.h b/src/include/gnunet_secretsharing_service.h
index 8569e15ea3..1524c79fed 100644
--- a/src/include/gnunet_secretsharing_service.h
+++ b/src/include/gnunet_secretsharing_service.h
@@ -43,13 +43,53 @@ extern "C"
/**
- * Number of bits for secretsharing keys.
+ * Number of bits for secretsharing elements.
* Must be smaller than the Pallier key size used internally
* by the secretsharing service.
* When changing this value, other internal parameters must also
* be adjusted.
*/
-#define GNUNET_SECRETSHARING_KEY_BITS 1024
+#define GNUNET_SECRETSHARING_ELGAMAL_BITS 1024
+
+
+/**
+ * The q-parameter for ElGamal encryption, a 1024-bit safe prime.
+ */
+#define GNUNET_SECRETSHARING_ELGAMAL_P_HEX \
+ "0x08a347d3d69e8b2dd7d1b12a08dfbccbebf4ca" \
+ "6f4269a0814e158a34312964d946b3ef22882317" \
+ "2bcf30fc08f772774cb404f9bc002a6f66b09a79" \
+ "d810d67c4f8cb3bedc6060e3c8ef874b1b64df71" \
+ "6c7d2b002da880e269438d5a776e6b5f253c8df5" \
+ "6a16b1c7ce58def07c03db48238aadfc52a354a2" \
+ "7ed285b0c1675cad3f3"
+
+/**
+ * The q-parameter for ElGamal encryption,
+ * a 1023-bit Sophie Germain prime, q = (p-1)/2
+ */
+#define GNUNET_SECRETSHARING_ELGAMAL_Q_HEX \
+ "0x0451a3e9eb4f4596ebe8d895046fde65f5fa65" \
+ "37a134d040a70ac51a1894b26ca359f79144118b" \
+ "95e7987e047bb93ba65a027cde001537b3584d3c" \
+ "ec086b3e27c659df6e303071e477c3a58db26fb8" \
+ "b63e958016d4407134a1c6ad3bb735af929e46fa" \
+ "b50b58e3e72c6f783e01eda411c556fe2951aa51" \
+ "3f6942d860b3ae569f9"
+
+/**
+ * The g-parameter for ElGamal encryption,
+ * a generator of the unique size q subgroup of Z_p^*
+ */
+#define GNUNET_SECRETSHARING_ELGAMAL_G_HEX \
+ "0x05c00c36d2e822950087ef09d8252994adc4e4" \
+ "8fe3ec70269f035b46063aff0c99b633fd64df43" \
+ "02442e1914c829a41505a275438871f365e91c12" \
+ "3d5303ef9e90f4b8cb89bf86cc9b513e74a72634" \
+ "9cfd9f953674fab5d511e1c078fc72d72b34086f" \
+ "c82b4b951989eb85325cb203ff98df76bc366bba" \
+ "1d7024c3650f60d0da"
+
/**
@@ -77,7 +117,7 @@ struct GNUNET_SECRETSHARING_DecryptionHandle;
*/
struct GNUNET_SECRETSHARING_PublicKey
{
- uint32_t bits[GNUNET_SECRETSHARING_KEY_BITS / 8 / sizeof (uint32_t)];
+ uint32_t bits[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 / sizeof (uint32_t)];
};
@@ -86,21 +126,23 @@ struct GNUNET_SECRETSHARING_PublicKey
*/
struct GNUNET_SECRETSHARING_Ciphertext
{
- uint32_t c1_bits[GNUNET_SECRETSHARING_KEY_BITS / 8 / sizeof (uint32_t)];
- uint32_t c2_bits[GNUNET_SECRETSHARING_KEY_BITS / 8 / sizeof (uint32_t)];
+ uint32_t c1_bits[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 / sizeof (uint32_t)];
+ uint32_t c2_bits[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 / sizeof (uint32_t)];
};
/**
* Plain, unencrypted message that can be encrypted with
* a group public key.
+ * Note that we are not operating in GF(2^n), thus not every
+ * bit pattern is a valid plain text.
*/
-struct GNUNET_SECRETSHARING_Message
+struct GNUNET_SECRETSHARING_Plaintext
{
/**
* Value of the message.
*/
- uint32_t bits[GNUNET_SECRETSHARING_KEY_BITS / 8 / sizeof (uint32_t)];
+ uint32_t bits[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 / sizeof (uint32_t)];
};
@@ -113,6 +155,8 @@ struct GNUNET_SECRETSHARING_Message
*
* If the secret sharing failed, num_ready_peers is 0 and my_share and public_key is NULL.
*
+ * After this callback has been called, the secretsharing session will be invalid.
+ *
* @param cls closure
* @param my_share the share of this peer
* @param public_key public key of the session
@@ -121,10 +165,10 @@ struct GNUNET_SECRETSHARING_Message
* the shared secret
*/
typedef void (*GNUNET_SECRETSHARING_SecretReadyCallback) (void *cls,
- const struct GNUNET_SECRETSHARING_Share *my_share,
- const struct GNUNET_SECRETSHARING_PublicKey *public_key,
+ struct GNUNET_SECRETSHARING_Share *my_share,
+ struct GNUNET_SECRETSHARING_PublicKey *public_key,
unsigned int num_ready_peers,
- const struct GNUNET_PeerIdentity *ready_peers);
+ struct GNUNET_PeerIdentity *ready_peers);
/**
@@ -135,8 +179,7 @@ typedef void (*GNUNET_SECRETSHARING_SecretReadyCallback) (void *cls,
* @param data_size number of bytes in @a data
*/
typedef void (*GNUNET_SECRETSHARING_DecryptCallback) (void *cls,
- const void *data,
- size_t data_size);
+ const struct GNUNET_SECRETSHARING_Plaintext *plaintext);
/**
@@ -165,21 +208,13 @@ GNUNET_SECRETSHARING_create_session (const struct GNUNET_CONFIGURATION_Handle *c
/**
- * Destroy a secret share.
- *
- * @param share secret share to destroy
- */
-void
-GNUNET_SECRETSHARING_share_destroy (const struct GNUNET_SECRETSHARING_Share *share);
-
-
-/**
* Destroy a secret sharing session.
+ * The secret ready callback will not be called.
*
* @param session session to destroy
*/
void
-GNUNET_SECRETSHARING_destroy_session (struct GNUNET_SECRETSHARING_Session *session);
+GNUNET_SECRETSHARING_session_destroy (struct GNUNET_SECRETSHARING_Session *session);
/**
@@ -196,9 +231,8 @@ GNUNET_SECRETSHARING_destroy_session (struct GNUNET_SECRETSHARING_Session *sessi
* @return #GNUNET_YES on succes, #GNUNET_SYSERR if the message is invalid (invalid range)
*/
int
-GNUNET_SECRETSHARING_encrypt (struct GNUNET_SECRETSHARING_PublicKey *public_key,
- const void *message,
- size_t message_size,
+GNUNET_SECRETSHARING_encrypt (const struct GNUNET_SECRETSHARING_PublicKey *public_key,
+ const struct GNUNET_SECRETSHARING_Plaintext *plaintext,
struct GNUNET_SECRETSHARING_Ciphertext *result_ciphertext);
@@ -218,9 +252,9 @@ GNUNET_SECRETSHARING_encrypt (struct GNUNET_SECRETSHARING_PublicKey *public_key,
* @return handle to cancel the operation
*/
struct GNUNET_SECRETSHARING_DecryptionHandle *
-GNUNET_SECRETSHARING_decrypt (struct GNUNET_CONFIGURATION_Handle *cfg,
+GNUNET_SECRETSHARING_decrypt (const struct GNUNET_CONFIGURATION_Handle *cfg,
struct GNUNET_SECRETSHARING_Share *share,
- struct GNUNET_SECRETSHARING_Ciphertext *ciphertext,
+ const struct GNUNET_SECRETSHARING_Ciphertext *ciphertext,
struct GNUNET_TIME_Absolute deadline,
GNUNET_SECRETSHARING_DecryptCallback decrypt_cb,
void *decrypt_cb_cls);
@@ -267,6 +301,20 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share
void *buf, size_t buflen, size_t *writelen);
+void
+GNUNET_SECRETSHARING_share_destroy (struct GNUNET_SECRETSHARING_Share *share);
+
+
+int
+GNUNET_SECRETSHARING_plaintext_generate (struct GNUNET_SECRETSHARING_Plaintext *plaintext,
+ gcry_mpi_t exponent);
+
+int
+GNUNET_SECRETSHARING_plaintext_generate_i (struct GNUNET_SECRETSHARING_Plaintext *plaintext,
+ int64_t exponent);
+
+
+
#if 0 /* keep Emacsens' auto-indent happy */
{
diff --git a/src/secretsharing/gnunet-secretsharing-profiler.c b/src/secretsharing/gnunet-secretsharing-profiler.c
index 01eb49a2d1..b718e8a27e 100755
--- a/src/secretsharing/gnunet-secretsharing-profiler.c
+++ b/src/secretsharing/gnunet-secretsharing-profiler.c
@@ -28,17 +28,48 @@
#include "gnunet_secretsharing_service.h"
#include "gnunet_testbed_service.h"
+/**
+ * How many peers should participate in the key generation?
+ */
static unsigned int num_peers = 3;
+/**
+ * What should the threshold for then key be?
+ */
static unsigned int threshold = 2;
+/**
+ * Should we try to decrypt a value after the key generation?
+ */
+static unsigned int decrypt = GNUNET_NO;
+
+/**
+ * When would we like to see the operation finished?
+ */
static struct GNUNET_TIME_Relative timeout;
+/**
+ * Handles for secretsharing sessions.
+ */
static struct GNUNET_SECRETSHARING_Session **session_handles;
+static struct GNUNET_SECRETSHARING_DecryptionHandle **decrypt_handles;
+
+/**
+ * Shares we got from the distributed key generation.
+ */
+static struct GNUNET_SECRETSHARING_Share **shares;
+
+static struct GNUNET_SECRETSHARING_PublicKey common_pubkey;
+
+/**
+ * ???
+ */
static struct GNUNET_TESTBED_Operation **testbed_operations;
-static unsigned int num_connected_handles;
+static unsigned int num_connected_sessions;
+
+static unsigned int num_connected_decrypt;
static struct GNUNET_TESTBED_Peer **peers;
@@ -46,10 +77,18 @@ static struct GNUNET_PeerIdentity *peer_ids;
static unsigned int num_retrieved_peer_ids;
+static unsigned int num_generated;
+
+static unsigned int num_decrypted;
+
static struct GNUNET_HashCode session_id;
static int verbose;
+struct GNUNET_SECRETSHARING_Plaintext reference_plaintext;
+
+struct GNUNET_SECRETSHARING_Ciphertext ciphertext;
+
/**
* Signature of the event handler function called by the
@@ -76,10 +115,47 @@ controller_cb (void *cls,
* operation has executed successfully.
*/
static void
-connect_complete (void *cls,
- struct GNUNET_TESTBED_Operation *op,
- void *ca_result,
- const char *emsg)
+session_connect_complete (void *cls,
+ struct GNUNET_TESTBED_Operation *op,
+ void *ca_result,
+ const char *emsg)
+{
+
+ if (NULL != emsg)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "testbed connect emsg: %s\n",
+ emsg);
+ GNUNET_assert (0);
+ }
+
+ num_connected_sessions++;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "dkg: session connect complete\n");
+
+ if (num_connected_sessions == num_peers)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "dkg: all peers connected\n");
+ }
+}
+
+
+/**
+ * Callback to be called when a service connect operation is completed
+ *
+ * @param cls the callback closure from functions generating an operation
+ * @param op the operation that has been finished
+ * @param ca_result the service handle returned from GNUNET_TESTBED_ConnectAdapter()
+ * @param emsg error message in case the operation has failed; will be NULL if
+ * operation has executed successfully.
+ */
+static void
+decrypt_connect_complete (void *cls,
+ struct GNUNET_TESTBED_Operation *op,
+ void *ca_result,
+ const char *emsg)
{
if (NULL != emsg)
@@ -90,35 +166,164 @@ connect_complete (void *cls,
GNUNET_assert (0);
}
- num_connected_handles++;
+ num_connected_decrypt++;
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "connect complete\n");
+ "decrypt: session connect complete\n");
- if (num_connected_handles == num_peers)
+ if (num_connected_decrypt == num_peers)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "all peers connected\n");
+ "decrypt: all peers connected\n");
+ }
+}
+
+
+/**
+ * Called when a decryption has succeeded.
+ *
+ * @param cls Plaintext
+ * @param plaintext Plaintext
+ */
+static void decrypt_cb (void *cls,
+ const struct GNUNET_SECRETSHARING_Plaintext *plaintext)
+{
+ struct GNUNET_SECRETSHARING_DecryptionHandle **dhp = cls;
+ unsigned int n = dhp - decrypt_handles;
+ num_decrypted++;
+
+ *dhp = NULL;
+
+ if (NULL == plaintext)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "decrypt failed for peer %u\n", n);
+ return;
+ }
+ else if (0 == memcmp (&reference_plaintext, plaintext, sizeof (struct GNUNET_SECRETSHARING_Plaintext)))
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "decrypt got correct result for peer %u\n", n);
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "decrypt got wrong result for peer %u\n", n);
+
+ if (num_decrypted == num_peers)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "every peer decrypted\n");
+ GNUNET_SCHEDULER_shutdown ();
+ }
+
+ *dhp = NULL;
+}
+
+
+
+/**
+ * Adapter function called to establish a connection to
+ * a service.
+ *
+ * @param cls closure
+ * @param cfg configuration of the peer to connect to; will be available until
+ * GNUNET_TESTBED_operation_done() is called on the operation returned
+ * from GNUNET_TESTBED_service_connect()
+ * @return service handle to return in 'op_result', NULL on error
+ */
+static void *
+decrypt_connect_adapter (void *cls,
+ const struct GNUNET_CONFIGURATION_Handle *cfg)
+{
+ struct GNUNET_SECRETSHARING_DecryptionHandle **hp = cls;
+ unsigned int n = hp - decrypt_handles;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "decrypt connect adapter, %d peers\n",
+ num_peers);
+ *hp = GNUNET_SECRETSHARING_decrypt (cfg, shares[n], &ciphertext,
+ GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_MINUTES),
+ decrypt_cb,
+ hp);
+
+ return *hp;
+}
+
+
+/**
+ * Adapter function called to destroy a connection to
+ * a service.
+ *
+ * @param cls closure
+ * @param op_result service handle returned from the connect adapter
+ */
+static void
+decrypt_disconnect_adapter(void *cls, void *op_result)
+{
+ struct GNUNET_SECRETSHARING_DecryptionHandle **dh = cls;
+ if (NULL != *dh)
+ {
+ GNUNET_SECRETSHARING_decrypt_cancel (*dh);
+ *dh = NULL;
}
}
static void
secret_ready_cb (void *cls,
- const struct GNUNET_SECRETSHARING_Share *my_share,
- const struct GNUNET_SECRETSHARING_PublicKey *public_key,
+ struct GNUNET_SECRETSHARING_Share *my_share,
+ struct GNUNET_SECRETSHARING_PublicKey *public_key,
unsigned int num_ready_peers,
- const struct GNUNET_PeerIdentity *ready_peers)
+ struct GNUNET_PeerIdentity *ready_peers)
{
struct GNUNET_SECRETSHARING_Session **sp = cls;
unsigned int n = sp - session_handles;
- if (NULL == my_share || NULL == public_key)
+ char pubkey_str[1024];
+ char *ret;
+
+ num_generated++;
+ *sp = NULL;
+ shares[n] = my_share;
+ if (NULL == my_share)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "key generation failed for peer #%u\n", n);
- return;
}
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "secret ready for peer #%u\n", n);
- // FIXME: end profiler or try decryption if all secrets are ready
+ else
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "secret ready for peer #%u\n", n);
+ /* we're the first to get the key -> store it */
+ if (num_generated == 1)
+ {
+ common_pubkey = *public_key;
+ }
+ else if (0 != memcmp (public_key, &common_pubkey, sizeof (struct GNUNET_SECRETSHARING_PublicKey)))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "generated public keys do not match\n");
+ GNUNET_SCHEDULER_shutdown ();
+ return;
+ }
+ }
+
+ ret = GNUNET_STRINGS_data_to_string (public_key, sizeof *public_key, pubkey_str, 1024);
+ GNUNET_assert (NULL != ret);
+ *ret = '\0';
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "key generation successful for peer #%u, pubkey %s\n", n,
+ pubkey_str);
+
+ // FIXME: destroy testbed operation
+
+ if (num_generated == num_peers)
+ {
+ int i;
+ if (GNUNET_NO == decrypt)
+ {
+ GNUNET_SCHEDULER_shutdown ();
+ return;
+ }
+
+ // compute g^42
+ GNUNET_SECRETSHARING_plaintext_generate_i (&reference_plaintext, 42);
+ GNUNET_SECRETSHARING_encrypt (&common_pubkey, &reference_plaintext, &ciphertext);
+
+ // FIXME: store the ops somewhere!
+ for (i = 0; i < num_peers; i++)
+ GNUNET_TESTBED_service_connect (NULL, peers[i], "secretsharing", &decrypt_connect_complete, NULL,
+ &decrypt_connect_adapter, &decrypt_disconnect_adapter, &decrypt_handles[i]);
+ }
}
@@ -133,8 +338,8 @@ secret_ready_cb (void *cls,
* @return service handle to return in 'op_result', NULL on error
*/
static void *
-connect_adapter (void *cls,
- const struct GNUNET_CONFIGURATION_Handle *cfg)
+session_connect_adapter (void *cls,
+ const struct GNUNET_CONFIGURATION_Handle *cfg)
{
struct GNUNET_SECRETSHARING_Session **sp = cls;
@@ -152,6 +357,7 @@ connect_adapter (void *cls,
}
+
/**
* Adapter function called to destroy a connection to
* a service.
@@ -160,9 +366,14 @@ connect_adapter (void *cls,
* @param op_result service handle returned from the connect adapter
*/
static void
-disconnect_adapter(void *cls, void *op_result)
+session_disconnect_adapter (void *cls, void *op_result)
{
- /* FIXME: what to do here? */
+ struct GNUNET_SECRETSHARING_Session **sp = cls;
+ if (NULL != *sp)
+ {
+ GNUNET_SECRETSHARING_session_destroy (*sp);
+ *sp = NULL;
+ }
}
@@ -195,8 +406,8 @@ peer_info_cb (void *cb_cls,
if (num_retrieved_peer_ids == num_peers)
for (i = 0; i < num_peers; i++)
testbed_operations[i] =
- GNUNET_TESTBED_service_connect (NULL, peers[i], "secretsharing", connect_complete, NULL,
- connect_adapter, disconnect_adapter, &session_handles[i]);
+ GNUNET_TESTBED_service_connect (NULL, peers[i], "secretsharing", session_connect_complete, NULL,
+ session_connect_adapter, session_disconnect_adapter, &session_handles[i]);
}
else
{
@@ -238,8 +449,11 @@ test_master (void *cls,
peer_ids = GNUNET_malloc (num_peers * sizeof (struct GNUNET_PeerIdentity));
- session_handles = GNUNET_malloc (num_peers * sizeof (struct GNUNET_SECRETSHARING_Session *));
- testbed_operations = GNUNET_malloc (num_peers * sizeof (struct GNUNET_TESTBED_Operation *));
+ session_handles = GNUNET_new_array (num_peers, struct GNUNET_SECRETSHARING_Session *);
+ decrypt_handles = GNUNET_new_array (num_peers, struct GNUNET_SECRETSHARING_DecryptionHandle *);
+ testbed_operations = GNUNET_new_array (num_peers, struct GNUNET_TESTBED_Operation *);
+ shares = GNUNET_new_array (num_peers, struct GNUNET_SECRETSHARING_Share *);
+
for (i = 0; i < num_peers; i++)
GNUNET_TESTBED_peer_get_information (peers[i],
@@ -305,6 +519,9 @@ main (int argc, char **argv)
{ 'k', "threshold", NULL,
gettext_noop ("threshold"),
GNUNET_YES, &GNUNET_GETOPT_set_uint, &threshold },
+ { 'd', "decrypt", NULL,
+ gettext_noop ("also profile decryption"),
+ GNUNET_NO, &GNUNET_GETOPT_set_one, &decrypt },
{ 'V', "verbose", NULL,
gettext_noop ("be more verbose (print received values)"),
GNUNET_NO, &GNUNET_GETOPT_set_one, &verbose },
diff --git a/src/secretsharing/gnunet-service-secretsharing.c b/src/secretsharing/gnunet-service-secretsharing.c
index 38dabc3a8a..1fcc4e3518 100644
--- a/src/secretsharing/gnunet-service-secretsharing.c
+++ b/src/secretsharing/gnunet-service-secretsharing.c
@@ -33,6 +33,9 @@
#include <gcrypt.h>
+#define EXTRA_CHECKS 1
+
+
/**
* Info about a peer in a key generation session.
*/
@@ -45,6 +48,7 @@ struct KeygenPeerInfo
/**
* The peer's paillier public key.
+ * Freshly generated for each keygen session.
*/
gcry_mpi_t paillier_n;
@@ -92,7 +96,7 @@ struct DecryptPeerInfo
* Original index in the key generation round.
* Necessary for computing the lagrange coefficients.
*/
- unsigned int real_index;
+ unsigned int original_index;
/**
* Set to the partial decryption of
@@ -323,52 +327,11 @@ static struct GNUNET_SERVER_Handle *srv;
/**
- * If target != size, move @a target bytes to the end of the size-sized
- * buffer and zero out the first @a target - @a size bytes.
- *
- * @param buf original buffer
- * @param size number of bytes in @a buf
- * @param target target size of the buffer
- */
-static void
-adjust (unsigned char *buf,
- size_t size,
- size_t target)
-{
- if (size < target)
- {
- memmove (&buf[target - size], buf, size);
- memset (buf, 0, target - size);
- }
-}
-
-
-/**
- * Print an MPI to a buffer, so that is contains the MPI's
- * the little endian representation of size @a size.
- *
- * @param buf buffer to write to
- * @param x mpi to be written in the buffer
- * @param size how many bytes should the little endian binary
- * representation of @a x use?
- */
-static void
-print_mpi_fixed (void *buf, gcry_mpi_t x, size_t size)
-{
- size_t written;
- GNUNET_assert (0 == gcry_mpi_print (GCRYMPI_FMT_USG,
- buf, size, &written,
- x));
- adjust (buf, written, size);
-}
-
-
-/**
* Get the peer info belonging to a peer identity in a keygen session.
*
- * @param ks the keygen session
- * @param peer the peer identity
- * @return the keygen peer info, or NULL if the peer could not be found
+ * @param ks The keygen session.
+ * @param peer The peer identity.
+ * @return The Keygen peer info, or NULL if the peer could not be found.
*/
static struct KeygenPeerInfo *
get_keygen_peer_info (const struct KeygenSession *ks,
@@ -385,13 +348,13 @@ get_keygen_peer_info (const struct KeygenSession *ks,
/**
* Get the peer info belonging to a peer identity in a decrypt session.
*
- * @param ks the decrypt session
- * @param peer the peer identity
- * @return the decrypt peer info, or NULL if the peer could not be found
+ * @param ks The decrypt session.
+ * @param peer The peer identity.
+ * @return The decrypt peer info, or NULL if the peer could not be found.
*/
static struct DecryptPeerInfo *
get_decrypt_peer_info (const struct DecryptSession *ds,
- const struct GNUNET_PeerIdentity *peer)
+ const struct GNUNET_PeerIdentity *peer)
{
unsigned int i;
for (i = 0; i < ds->share->num_peers; i++)
@@ -428,8 +391,8 @@ time_between (struct GNUNET_TIME_Absolute start,
/**
* Compare two peer identities. Indended to be used with qsort or bsearch.
*
- * @param p1 some peer identity
- * @param p2 some peer identity
+ * @param p1 Some peer identity.
+ * @param p2 Some peer identity.
* @return 1 if p1 > p2, -1 if p1 < p2 and 0 if p1 == p2.
*/
static int
@@ -442,10 +405,10 @@ peer_id_cmp (const void *p1, const void *p2)
/**
* Get the index of a peer in an array of peers
*
- * @param haystack array of peers
- * @param n size of @a haystack
- * @param needle peer to find
- * @return index of @a needle in @a haystack, or -1 if peer
+ * @param haystack Array of peers.
+ * @param n Size of @a haystack.
+ * @param needle Peer to find
+ * @return Index of @a needle in @a haystack, or -1 if peer
* is not in the list.
*/
static int
@@ -464,11 +427,11 @@ peer_find (const struct GNUNET_PeerIdentity *haystack, unsigned int n,
* Normalize the given list of peers, by including the local peer
* (if it is missing) and sorting the peers by their identity.
*
- * @param listed peers in the unnormalized list
- * @param num_listed peers in the un-normalized list
- * @param[out] num_normalized number of peers in the normalized list
- * @param[out] my_peer_idx index of the local peer in the normalized list
- * @return normalized list, must be free'd by the caller
+ * @param listed Peers in the unnormalized list.
+ * @param num_listed Peers in the un-normalized list.
+ * @param[out] num_normalized Number of peers in the normalized list.
+ * @param[out] my_peer_idx Index of the local peer in the normalized list.
+ * @return Normalized list, must be free'd by the caller.
*/
static struct GNUNET_PeerIdentity *
normalize_peers (struct GNUNET_PeerIdentity *listed,
@@ -477,6 +440,7 @@ normalize_peers (struct GNUNET_PeerIdentity *listed,
unsigned int *my_peer_idx)
{
unsigned int local_peer_in_list;
+ /* number of peers in the normalized list */
unsigned int n;
struct GNUNET_PeerIdentity *normalized;
@@ -506,10 +470,10 @@ normalize_peers (struct GNUNET_PeerIdentity *listed,
/**
- * Get a the j-th lagrage coefficient for a set of indices.
+ * Get a the j-th lagrange coefficient for a set of indices.
*
* @param[out] coeff the lagrange coefficient
- * @param j lagrage coefficient we want to compute
+ * @param j lagrange coefficient we want to compute
* @param indices indices
* @param num number of indices in @a indices
*/
@@ -518,7 +482,7 @@ compute_lagrange_coefficient (gcry_mpi_t coeff, unsigned int j,
unsigned int *indices,
unsigned int num)
{
- int i;
+ unsigned int i;
/* numerator */
gcry_mpi_t n;
/* denominator */
@@ -535,22 +499,27 @@ compute_lagrange_coefficient (gcry_mpi_t coeff, unsigned int j,
gcry_mpi_set_ui (n, 1);
gcry_mpi_set_ui (d, 1);
- gcry_mpi_set_ui (coeff, 0);
for (i = 0; i < num; i++)
{
- int l = indices[i];
+ unsigned int l = indices[i];
if (l == j)
continue;
- gcry_mpi_mul_ui (n, n, l);
+ gcry_mpi_mul_ui (n, n, l + 1);
// d <- d * (l-j)
- gcry_mpi_set_ui (tmp, l);
- gcry_mpi_sub_ui (tmp, tmp, j);
+ gcry_mpi_set_ui (tmp, l + 1);
+ gcry_mpi_sub_ui (tmp, tmp, j + 1);
gcry_mpi_mul (d, d, tmp);
}
+ // gcry_mpi_invm does not like negative numbers ...
+ gcry_mpi_mod (d, d, elgamal_q);
+
+ GNUNET_assert (gcry_mpi_cmp_ui (d, 0) > 0);
+
// now we do the actual division, with everything mod q, as we
- // are not operating on elemets from <g>, but on exponents
- GNUNET_assert (0 == gcry_mpi_invm (d, d, elgamal_q));
+ // are not operating on elements from <g>, but on exponents
+ GNUNET_assert (0 != gcry_mpi_invm (d, d, elgamal_q));
+
gcry_mpi_mulm (coeff, n, d, elgamal_q);
gcry_mpi_release (n);
@@ -580,11 +549,22 @@ paillier_create (gcry_mpi_t n, gcry_mpi_t lambda, gcry_mpi_t mu)
GNUNET_assert (0 != (phi = gcry_mpi_new (PAILLIER_BITS)));
GNUNET_assert (0 != (tmp = gcry_mpi_new (PAILLIER_BITS)));
- // generate rsa modulus
- GNUNET_assert (0 == gcry_prime_generate (&p, PAILLIER_BITS / 2, 0, NULL, NULL, NULL,
- GCRY_WEAK_RANDOM, 0));
- GNUNET_assert (0 == gcry_prime_generate (&q, PAILLIER_BITS / 2, 0, NULL, NULL, NULL,
+ p = q = NULL;
+
+ // Generate two distinct primes.
+ // The probability that the loop body
+ // is executed more than once is very low.
+ do {
+ if (NULL != p)
+ gcry_mpi_release (p);
+ if (NULL != q)
+ gcry_mpi_release (q);
+ // generate rsa modulus
+ GNUNET_assert (0 == gcry_prime_generate (&p, PAILLIER_BITS / 2, 0, NULL, NULL, NULL,
+ GCRY_WEAK_RANDOM, 0));
+ GNUNET_assert (0 == gcry_prime_generate (&q, PAILLIER_BITS / 2, 0, NULL, NULL, NULL,
GCRY_WEAK_RANDOM, 0));
+ } while (0 == gcry_mpi_cmp (p, q));
gcry_mpi_mul (n, p, q);
// compute phi(n) = (p-1)(q-1)
gcry_mpi_sub_ui (phi, p, 1);
@@ -604,7 +584,7 @@ paillier_create (gcry_mpi_t n, gcry_mpi_t lambda, gcry_mpi_t mu)
/**
* Encrypt a value using Paillier's scheme.
*
- * @param c resulting ciphertext
+ * @param[out] c resulting ciphertext
* @param m plaintext to encrypt
* @param n n-component of public key
*/
@@ -628,7 +608,7 @@ paillier_encrypt (gcry_mpi_t c, gcry_mpi_t m, gcry_mpi_t n)
{
gcry_mpi_randomize (r, PAILLIER_BITS, GCRY_WEAK_RANDOM);
}
- while (gcry_mpi_cmp (r, n) > 0);
+ while (gcry_mpi_cmp (r, n) >= 0);
gcry_mpi_powm (c, g, m, n_square);
gcry_mpi_powm (r, r, n, n_square);
@@ -636,6 +616,7 @@ paillier_encrypt (gcry_mpi_t c, gcry_mpi_t m, gcry_mpi_t n)
gcry_mpi_release (n_square);
gcry_mpi_release (r);
+ gcry_mpi_release (g);
}
@@ -652,17 +633,69 @@ static void
paillier_decrypt (gcry_mpi_t m, gcry_mpi_t c, gcry_mpi_t mu, gcry_mpi_t lambda, gcry_mpi_t n)
{
gcry_mpi_t n_square;
+
GNUNET_assert (0 != (n_square = gcry_mpi_new (0)));
+
gcry_mpi_mul (n_square, n, n);
+ // m = c^lambda mod n^2
gcry_mpi_powm (m, c, lambda, n_square);
+ // m = m - 1
gcry_mpi_sub_ui (m, m, 1);
- // m = m/n
+ // m <- m/n
gcry_mpi_div (m, NULL, m, n, 0);
gcry_mpi_mulm (m, m, mu, n);
gcry_mpi_release (n_square);
}
+static void
+decrypt_session_destroy (struct DecryptSession *ds)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "destroying decrypt session\n");
+
+ GNUNET_CONTAINER_DLL_remove (decrypt_sessions_head, decrypt_sessions_tail, ds);
+
+ if (NULL != ds->client_mq)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "destroying decrypt MQ\n");
+ GNUNET_MQ_destroy (ds->client_mq);
+ ds->client_mq = NULL;
+ }
+
+ if (NULL != ds->client)
+ {
+ GNUNET_SERVER_client_disconnect (ds->client);
+ ds->client = NULL;
+ }
+
+ GNUNET_free (ds);
+}
+
+
+static void
+keygen_session_destroy (struct KeygenSession *ks)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "destroying keygen session\n");
+
+ GNUNET_CONTAINER_DLL_remove (keygen_sessions_head, keygen_sessions_tail, ks);
+
+ if (NULL != ks->client_mq)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "destroying keygen MQ\n");
+ GNUNET_MQ_destroy (ks->client_mq);
+ ks->client_mq = NULL;
+ }
+
+ if (NULL != ks->client)
+ {
+ GNUNET_SERVER_client_disconnect (ks->client);
+ ks->client = NULL;
+ }
+
+ GNUNET_free (ks);
+}
+
+
/**
* Task run during shutdown.
*
@@ -672,7 +705,11 @@ paillier_decrypt (gcry_mpi_t m, gcry_mpi_t c, gcry_mpi_t mu, gcry_mpi_t lambda,
static void
cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- /* FIXME: do clean up here */
+ while (NULL != decrypt_sessions_head)
+ decrypt_session_destroy (decrypt_sessions_head);
+
+ while (NULL != keygen_sessions_head)
+ keygen_session_destroy (keygen_sessions_head);
}
@@ -685,23 +722,31 @@ static void
generate_presecret_polynomial (struct KeygenSession *ks)
{
int i;
+ gcry_mpi_t v;
+
GNUNET_assert (NULL == ks->presecret_polynomial);
- ks->presecret_polynomial = GNUNET_malloc (ks->threshold * sizeof (gcry_mpi_t));
+ ks->presecret_polynomial = GNUNET_new_array (ks->threshold, gcry_mpi_t);
for (i = 0; i < ks->threshold; i++)
{
- ks->presecret_polynomial[i] = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS);
- GNUNET_assert (0 != ks->presecret_polynomial[i]);
- gcry_mpi_randomize (ks->presecret_polynomial[i], GNUNET_SECRETSHARING_KEY_BITS,
- GCRY_WEAK_RANDOM);
+ v = ks->presecret_polynomial[i] = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS);
+ GNUNET_assert (NULL != v);
+ // Randomize v such that 0 < v < elgamal_q.
+ // The '- 1' is necessary as bitlength(q) = bitlength(p) - 1.
+ do
+ {
+ gcry_mpi_randomize (v, GNUNET_SECRETSHARING_ELGAMAL_BITS - 1, GCRY_WEAK_RANDOM);
+ } while ((gcry_mpi_cmp_ui (v, 0) == 0) || (gcry_mpi_cmp (v, elgamal_q) >= 0));
}
}
/**
* Consensus element handler for round one.
+ * We should get one ephemeral key for each peer.
*
- * @param cls closure (keygen session)
- * @param element the element from consensus
+ * @param cls Closure (keygen session).
+ * @param element The element from consensus, or
+ * NULL if consensus failed.
*/
static void
keygen_round1_new_element (void *cls,
@@ -717,6 +762,7 @@ keygen_round1_new_element (void *cls,
return;
}
+ /* elements have fixed size */
if (element->size != sizeof (struct GNUNET_SECRETSHARING_KeygenCommitData))
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -729,7 +775,6 @@ keygen_round1_new_element (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "got round1 element\n");
d = element->data;
-
info = get_keygen_peer_info (ks, &d->peer);
if (NULL == info)
@@ -739,6 +784,7 @@ keygen_round1_new_element (void *cls,
return;
}
+ /* Check that the right amount of data has been signed. */
if (d->purpose.size !=
htonl (element->size - offsetof (struct GNUNET_SECRETSHARING_KeygenCommitData, purpose)))
{
@@ -752,11 +798,8 @@ keygen_round1_new_element (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "keygen commit data with invalid signature in consensus\n");
return;
}
-
- GNUNET_assert (0 == gcry_mpi_scan (&info->paillier_n, GCRYMPI_FMT_USG,
- &d->pubkey.n, sizeof d->pubkey.n, NULL));
- GNUNET_assert (0 == gcry_mpi_scan (&info->presecret_commitment, GCRYMPI_FMT_USG,
- &d->commitment, sizeof d->commitment, NULL));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&info->paillier_n, &d->pubkey.n, PAILLIER_BITS / 8);
+ GNUNET_CRYPTO_mpi_scan_unsigned (&info->presecret_commitment, &d->pubkey.n, PAILLIER_BITS / 8);
info->round1_valid = GNUNET_YES;
}
@@ -796,16 +839,20 @@ keygen_round2_conclude (void *cls)
unsigned int i;
unsigned int j;
struct GNUNET_SECRETSHARING_Share *share;
+ /* our share */
gcry_mpi_t s;
+ /* public key */
gcry_mpi_t h;
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "round2 conclude\n");
- GNUNET_assert (0 != (s = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS)));
- GNUNET_assert (0 != (h = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS)));
+ GNUNET_assert (0 != (s = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
+ GNUNET_assert (0 != (h = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
// multiplicative identity
- gcry_mpi_set_ui (s, 1);
+ gcry_mpi_set_ui (h, 1);
+ // additive identity
+ gcry_mpi_set_ui (s, 0);
share = GNUNET_new (struct GNUNET_SECRETSHARING_Share);
@@ -820,6 +867,9 @@ keygen_round2_conclude (void *cls)
GNUNET_new_array (share->num_peers, struct GNUNET_SECRETSHARING_FieldElement);
share->original_indices = GNUNET_new_array (share->num_peers, uint16_t);
+ /* maybe we're not even in the list of peers? */
+ share->my_peer = share->num_peers;
+
j = 0;
for (i = 0; i < ks->num_peers; i++)
{
@@ -829,13 +879,18 @@ keygen_round2_conclude (void *cls)
gcry_mpi_mulm (h, h, ks->info[i].public_key_share, elgamal_p);
share->peers[i] = ks->info[i].peer;
share->original_indices[i] = j++;
+ if (0 == memcmp (&share->peers[i], &my_peer, sizeof (struct GNUNET_PeerIdentity)))
+ share->my_peer = i;
}
}
- print_mpi_fixed (&share->my_share, s, GNUNET_SECRETSHARING_KEY_BITS / 8);
- print_mpi_fixed (&share->public_key, h, GNUNET_SECRETSHARING_KEY_BITS / 8);
+ GNUNET_CRYPTO_mpi_print_unsigned (&share->my_share, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, s);
+ GNUNET_CRYPTO_mpi_print_unsigned (&share->public_key, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, h);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "keygen successful with %u peers\n", share->num_peers);
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "keygen completed with %u peers\n", share->num_peers);
+
+ /* Write the share. If 0 peers completed the dkg, an empty
+ * share will be sent. */
m = GNUNET_malloc (sizeof (struct GNUNET_SECRETSHARING_SecretReadyMessage) +
ks->num_peers * sizeof (struct GNUNET_PeerIdentity));
@@ -872,13 +927,19 @@ insert_round2_element (struct KeygenSession *ks)
unsigned int i;
gcry_mpi_t idx;
gcry_mpi_t v;
+ gcry_mpi_t c;
- GNUNET_assert (0 != (v = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS)));
- GNUNET_assert (0 != (idx = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS)));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Inserting round2 element\n",
+ ks->local_peer_idx);
+
+ GNUNET_assert (NULL != (v = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
+ GNUNET_assert (NULL != (idx = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
+ GNUNET_assert (NULL != (c = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
element_size = (sizeof (struct GNUNET_SECRETSHARING_KeygenRevealData) +
- 2 * GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->num_peers +
- 1 * GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->threshold);
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->num_peers +
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->threshold +
+ PAILLIER_BITS * 2 / 8 * ks->num_peers);
element = GNUNET_malloc (sizeof (struct GNUNET_SET_Element) + element_size);
element->size = element_size;
@@ -887,6 +948,8 @@ insert_round2_element (struct KeygenSession *ks)
d = (void *) element->data;
d->peer = my_peer;
+ // start inserting vector elements
+ // after the fixed part of the element's data
pos = (void *) &d[1];
last_pos = pos + element_size;
@@ -895,38 +958,55 @@ insert_round2_element (struct KeygenSession *ks)
{
ptrdiff_t remaining = last_pos - pos;
GNUNET_assert (remaining > 0);
- gcry_mpi_set_ui (idx, i);
+ gcry_mpi_set_ui (idx, i + 1);
// evaluate the polynomial
- horner_eval (v, ks->presecret_polynomial, ks->threshold, idx, elgamal_p);
+ horner_eval (v, ks->presecret_polynomial, ks->threshold, idx, elgamal_q);
// take g to the result
gcry_mpi_powm (v, elgamal_g, v, elgamal_p);
- print_mpi_fixed (pos, v, GNUNET_SECRETSHARING_KEY_BITS / 8);
- pos += GNUNET_SECRETSHARING_KEY_BITS / 8;
+ GNUNET_CRYPTO_mpi_print_unsigned (pos, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, v);
+ pos += GNUNET_SECRETSHARING_ELGAMAL_BITS / 8;
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: computed exp preshares\n",
+ ks->local_peer_idx);
+
// encrypted pre-shares
for (i = 0; i < ks->num_peers; i++)
{
ptrdiff_t remaining = last_pos - pos;
GNUNET_assert (remaining > 0);
if (GNUNET_NO == ks->info[i].round1_valid)
- gcry_mpi_set_ui (v, 0);
+ {
+ gcry_mpi_set_ui (c, 0);
+ }
else
- paillier_encrypt (v, ks->presecret_polynomial[0], ks->info[i].paillier_n);
- print_mpi_fixed (pos, v, GNUNET_SECRETSHARING_KEY_BITS / 8);
- pos += GNUNET_SECRETSHARING_KEY_BITS / 8;
+ {
+ gcry_mpi_set_ui (idx, i + 1);
+ // evaluate the polynomial
+ horner_eval (v, ks->presecret_polynomial, ks->threshold, idx, elgamal_q);
+ // encrypt the result
+ paillier_encrypt (c, v, ks->info[i].paillier_n);
+ }
+ GNUNET_CRYPTO_mpi_print_unsigned (pos, PAILLIER_BITS * 2 / 8, c);
+ pos += PAILLIER_BITS * 2 / 8;
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: computed enc preshares\n",
+ ks->local_peer_idx);
+
// exponentiated coefficients
for (i = 0; i < ks->threshold; i++)
{
ptrdiff_t remaining = last_pos - pos;
GNUNET_assert (remaining > 0);
gcry_mpi_powm (v, elgamal_g, ks->presecret_polynomial[i], elgamal_p);
- print_mpi_fixed (pos, v, GNUNET_SECRETSHARING_KEY_BITS / 8);
- pos += GNUNET_SECRETSHARING_KEY_BITS / 8;
+ GNUNET_CRYPTO_mpi_print_unsigned (pos, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, v);
+ pos += GNUNET_SECRETSHARING_ELGAMAL_BITS / 8;
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: computed exp coefficients\n",
+ ks->local_peer_idx);
+
d->purpose.size = htonl (element_size - offsetof (struct GNUNET_SECRETSHARING_KeygenRevealData, purpose));
d->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG2);
GNUNET_CRYPTO_eddsa_sign (my_peer_private_key, &d->purpose, &d->signature);
@@ -957,8 +1037,9 @@ keygen_round2_new_element (void *cls,
}
expected_element_size = (sizeof (struct GNUNET_SECRETSHARING_KeygenRevealData) +
- 2 * GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->num_peers +
- 1 * GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->threshold);
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->num_peers +
+ PAILLIER_BITS / 8 * 2 * ks->num_peers +
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->threshold);
if (element->size != expected_element_size)
{
@@ -1001,31 +1082,28 @@ keygen_round2_new_element (void *cls,
pos = (void *) &d[1];
// skip exponentiated pre-shares
- pos += GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->num_peers;
+ pos += GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->num_peers;
// skip encrypted pre-shares
- pos += PAILLIER_BITS / 8 * ks->num_peers;
+ pos += PAILLIER_BITS * 2 / 8 * ks->num_peers;
// the first exponentiated coefficient is the public key share
- GNUNET_assert (0 == gcry_mpi_scan (&info->public_key_share, GCRYMPI_FMT_USG,
- pos, GNUNET_SECRETSHARING_KEY_BITS / 8, NULL));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&info->public_key_share, pos, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
pos = (void *) &d[1];
// skip exp. pre-shares
- pos += GNUNET_SECRETSHARING_KEY_BITS / 8 * ks->num_peers;
+ pos += GNUNET_SECRETSHARING_ELGAMAL_BITS / 8 * ks->num_peers;
// skip to the encrypted value for our peer
- pos += PAILLIER_BITS / 8 * ks->local_peer_idx;
+ pos += PAILLIER_BITS * 2 / 8 * ks->local_peer_idx;
- GNUNET_assert (0 == gcry_mpi_scan (&c, GCRYMPI_FMT_USG,
- pos, PAILLIER_BITS / 8, NULL));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&c, pos, PAILLIER_BITS * 2 / 8);
GNUNET_assert (0 != (info->decrypted_preshare = mpi_new (0)));
- paillier_decrypt (info->decrypted_preshare, c, ks->paillier_lambda, ks->paillier_mu,
+ paillier_decrypt (info->decrypted_preshare, c, ks->paillier_mu, ks->paillier_lambda,
ks->info[ks->local_peer_idx].paillier_n);
-
// TODO: validate zero knowledge proofs
- if (d->purpose.size !=
- htons (element->size - offsetof (struct GNUNET_SECRETSHARING_KeygenRevealData, purpose)))
+ if (ntohl (d->purpose.size) !=
+ element->size - offsetof (struct GNUNET_SECRETSHARING_KeygenRevealData, purpose))
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "keygen reveal data with wrong signature purpose size in consensus\n");
return;
@@ -1082,29 +1160,25 @@ insert_round1_element (struct KeygenSession *ks)
// g^a_{i,0}
gcry_mpi_t v;
// big-endian representation of 'v'
- unsigned char v_data[GNUNET_SECRETSHARING_KEY_BITS / 8];
+ unsigned char v_data[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8];
element = GNUNET_malloc (sizeof *element + sizeof *d);
d = (void *) &element[1];
element->data = d;
element->size = sizeof *d;
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "alloc'd size %u\n", sizeof *element + sizeof *d);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "element size %u\n", element->size);
-
-
d->peer = my_peer;
- GNUNET_assert (0 != (v = gcry_mpi_new (GNUNET_SECRETSHARING_KEY_BITS)));
+ GNUNET_assert (0 != (v = gcry_mpi_new (GNUNET_SECRETSHARING_ELGAMAL_BITS)));
gcry_mpi_powm (v, elgamal_g, ks->presecret_polynomial[0], elgamal_p);
- print_mpi_fixed (v_data, v, GNUNET_SECRETSHARING_KEY_BITS);
+ GNUNET_CRYPTO_mpi_print_unsigned (v_data, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, v);
- GNUNET_CRYPTO_hash (v_data, GNUNET_SECRETSHARING_KEY_BITS / 8, &d->commitment);
+ GNUNET_CRYPTO_hash (v_data, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, &d->commitment);
- print_mpi_fixed (d->pubkey.n, ks->info[ks->local_peer_idx].paillier_n,
- PAILLIER_BITS / 8);
+ GNUNET_CRYPTO_mpi_print_unsigned (d->pubkey.n, PAILLIER_BITS / 8,
+ ks->info[ks->local_peer_idx].paillier_n);
d->purpose.size = htonl ((sizeof *d) - offsetof (struct GNUNET_SECRETSHARING_KeygenCommitData, purpose));
d->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG1);
@@ -1158,7 +1232,7 @@ static void handle_client_keygen (void *cls,
ks->consensus = GNUNET_CONSENSUS_create (cfg, ks->num_peers, ks->peers, &msg->session_id,
keygen_round1_new_element, ks);
- ks->info = GNUNET_malloc (ks->num_peers * sizeof (struct KeygenPeerInfo));
+ ks->info = GNUNET_new_array (ks->num_peers, struct KeygenPeerInfo);
for (i = 0; i < ks->num_peers; i++)
ks->info[i].peer = ks->peers[i];
@@ -1171,12 +1245,15 @@ static void handle_client_keygen (void *cls,
ks->paillier_lambda,
ks->paillier_mu);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Generated paillier key pair\n", ks->local_peer_idx);
generate_presecret_polynomial (ks);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Generated presecret polynomial\n", ks->local_peer_idx);
+
insert_round1_element (ks);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO, "starting conclude of round 1\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Concluding for round 1\n", ks->local_peer_idx);
GNUNET_CONSENSUS_conclude (ks->consensus,
/* half the overall time */
@@ -1185,6 +1262,8 @@ static void handle_client_keygen (void *cls,
ks);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Waiting for round 1 elements ...\n", ks->local_peer_idx);
}
@@ -1201,6 +1280,7 @@ decrypt_conclude (void *cls)
gcry_mpi_t m;
gcry_mpi_t tmp;
gcry_mpi_t c_2;
+ gcry_mpi_t prod;
unsigned int *indices;
unsigned int num;
unsigned int i;
@@ -1209,6 +1289,7 @@ decrypt_conclude (void *cls)
GNUNET_assert (0 != (lagrange = gcry_mpi_new (0)));
GNUNET_assert (0 != (m = gcry_mpi_new (0)));
GNUNET_assert (0 != (tmp = gcry_mpi_new (0)));
+ GNUNET_assert (0 != (prod = gcry_mpi_new (0)));
num = 0;
for (i = 0; i < ds->share->num_peers; i++)
@@ -1219,30 +1300,36 @@ decrypt_conclude (void *cls)
j = 0;
for (i = 0; i < ds->share->num_peers; i++)
if (NULL != ds->info[i].partial_decryption)
- indices[j++] = ds->info[i].real_index;
+ indices[j++] = ds->info[i].original_index;
- gcry_mpi_set_ui (m, 1);
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "P%u: decrypt conclude, with %u peers\n",
+ ds->share->my_peer, num);
+ gcry_mpi_set_ui (prod, 1);
for (i = 0; i < num; i++)
{
+
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "P%u: index of %u: %u\n",
+ ds->share->my_peer, i, indices[i]);
compute_lagrange_coefficient (lagrange, indices[i], indices, num);
- // w_j^{\lambda_j}
+ // w_i^{\lambda_i}
gcry_mpi_powm (tmp, ds->info[indices[i]].partial_decryption, lagrange, elgamal_p);
- gcry_mpi_mulm (m, m, tmp, elgamal_p);
- }
- GNUNET_assert (0 == gcry_mpi_scan (&c_2, GCRYMPI_FMT_USG, ds->ciphertext.c2_bits,
- GNUNET_SECRETSHARING_KEY_BITS / 8, NULL));
+ // product of all exponentiated partiel decryptions ...
+ gcry_mpi_mulm (prod, prod, tmp, elgamal_p);
+ }
- // m <- c_2 / m
- gcry_mpi_invm (m, m, elgamal_p);
- gcry_mpi_mulm (m, c_2, m, elgamal_p);
+ GNUNET_CRYPTO_mpi_scan_unsigned (&c_2, ds->ciphertext.c2_bits, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
+ GNUNET_assert (0 != gcry_mpi_invm (prod, prod, elgamal_p));
+ gcry_mpi_mulm (m, c_2, prod, elgamal_p);
ev = GNUNET_MQ_msg (msg, GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT_DONE);
- print_mpi_fixed (&msg->plaintext, m, GNUNET_SECRETSHARING_KEY_BITS / 8);
+ GNUNET_CRYPTO_mpi_print_unsigned (&msg->plaintext, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, m);
msg->success = htonl (1);
GNUNET_MQ_send (ds->client_mq, ev);
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "sent decrypt done to client\n");
+
// FIXME: what if not enough peers participated?
}
@@ -1291,8 +1378,8 @@ decrypt_new_element (void *cls,
// FIXME: check NIZP first
- GNUNET_assert (0 == gcry_mpi_scan (&info->partial_decryption,
- GCRYMPI_FMT_USG, &d->partial_decryption, GNUNET_SECRETSHARING_KEY_BITS / 8, NULL));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&info->partial_decryption, &d->partial_decryption,
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
}
static void
@@ -1303,22 +1390,37 @@ insert_decrypt_element (struct DecryptSession *ds)
gcry_mpi_t x;
gcry_mpi_t s;
- GNUNET_assert (0 == gcry_mpi_scan (&x, GCRYMPI_FMT_USG, ds->ciphertext.c1_bits, GNUNET_SECRETSHARING_KEY_BITS / 8, NULL));
- GNUNET_assert (0 == gcry_mpi_scan (&s, GCRYMPI_FMT_USG, &ds->share->my_share, GNUNET_SECRETSHARING_KEY_BITS / 8, NULL));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Inserting decrypt element\n",
+ ds->share->my_peer);
+
+ GNUNET_CRYPTO_mpi_scan_unsigned (&x, &ds->ciphertext.c1_bits,
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
+ GNUNET_CRYPTO_mpi_scan_unsigned (&s, &ds->share->my_share,
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
gcry_mpi_powm (x, x, s, elgamal_p);
element.data = (void *) &d;
element.size = sizeof (struct GNUNET_SECRETSHARING_DecryptData);
+ element.type = 0;
+ /* make vagrind happy until we implement the real deal ... */
+ memset (&d.nizk_commit1, 0, sizeof d.nizk_commit1);
+ memset (&d.nizk_commit2, 0, sizeof d.nizk_commit2);
+ memset (&d.nizk_response, 0, sizeof d.nizk_response);
+
+ d.ciphertext = ds->ciphertext;
d.peer = my_peer;
- d.purpose.size = htonl (element.size - offsetof (struct GNUNET_SECRETSHARING_KeygenRevealData, purpose));
+ d.purpose.size = htonl (element.size - offsetof (struct GNUNET_SECRETSHARING_DecryptData, purpose));
d.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DECRYPTION);
+
GNUNET_CRYPTO_eddsa_sign (my_peer_private_key, &d.purpose, &d.signature);
- print_mpi_fixed (&d.partial_decryption, x, GNUNET_SECRETSHARING_KEY_BITS / 8);
+ GNUNET_CRYPTO_mpi_print_unsigned (&d.partial_decryption, GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, x);
GNUNET_CONSENSUS_insert (ds->consensus, &element, NULL, NULL);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Inserting decrypt element done!\n",
+ ds->share->my_peer);
}
@@ -1339,6 +1441,7 @@ static void handle_client_decrypt (void *cls,
(const void *) message;
struct DecryptSession *ds;
struct GNUNET_HashCode session_id;
+ unsigned int i;
ds = GNUNET_new (struct DecryptSession);
// FIXME: check if session already exists
@@ -1359,52 +1462,82 @@ static void handle_client_decrypt (void *cls,
ds->share->num_peers,
ds->share->peers,
&session_id,
- decrypt_new_element,
+ &decrypt_new_element,
ds);
+
+ ds->info = GNUNET_new_array (ds->share->num_peers, struct DecryptPeerInfo);
+ for (i = 0; i < ds->share->num_peers; i++)
+ {
+ ds->info[i].peer = ds->share->peers[i];
+ ds->info[i].original_index = ds->share->original_indices[i];
+ }
+
insert_decrypt_element (ds);
GNUNET_CONSENSUS_conclude (ds->consensus, ds->deadline, decrypt_conclude, ds);
+
+ GNUNET_SERVER_receive_done (client, GNUNET_OK);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "decrypting with %u peers\n",
+ ds->share->num_peers);
}
static void
init_crypto_constants (void)
{
- /* 1024-bit safe prime */
- const char *elgamal_p_hex =
- "0x08a347d3d69e8b2dd7d1b12a08dfbccbebf4ca"
- "6f4269a0814e158a34312964d946b3ef22882317"
- "2bcf30fc08f772774cb404f9bc002a6f66b09a79"
- "d810d67c4f8cb3bedc6060e3c8ef874b1b64df71"
- "6c7d2b002da880e269438d5a776e6b5f253c8df5"
- "6a16b1c7ce58def07c03db48238aadfc52a354a2"
- "7ed285b0c1675cad3f3";
- /* 1023-bit Sophie Germain prime, q = (p-1)/2 */
- const char *elgamal_q_hex =
- "0x0451a3e9eb4f4596ebe8d895046fde65f5fa65"
- "37a134d040a70ac51a1894b26ca359f79144118b"
- "95e7987e047bb93ba65a027cde001537b3584d3c"
- "ec086b3e27c659df6e303071e477c3a58db26fb8"
- "b63e958016d4407134a1c6ad3bb735af929e46fa"
- "b50b58e3e72c6f783e01eda411c556fe2951aa51"
- "3f6942d860b3ae569f9";
- /* generator of the unique size q subgroup of Z_p^* */
- const char *elgamal_g_hex =
- "0x05c00c36d2e822950087ef09d8252994adc4e4"
- "8fe3ec70269f035b46063aff0c99b633fd64df43"
- "02442e1914c829a41505a275438871f365e91c12"
- "3d5303ef9e90f4b8cb89bf86cc9b513e74a72634"
- "9cfd9f953674fab5d511e1c078fc72d72b34086f"
- "c82b4b951989eb85325cb203ff98df76bc366bba"
- "1d7024c3650f60d0da";
-
GNUNET_assert (0 == gcry_mpi_scan (&elgamal_q, GCRYMPI_FMT_HEX,
- elgamal_q_hex, 0, NULL));
+ GNUNET_SECRETSHARING_ELGAMAL_Q_HEX, 0, NULL));
GNUNET_assert (0 == gcry_mpi_scan (&elgamal_p, GCRYMPI_FMT_HEX,
- elgamal_p_hex, 0, NULL));
+ GNUNET_SECRETSHARING_ELGAMAL_P_HEX, 0, NULL));
GNUNET_assert (0 == gcry_mpi_scan (&elgamal_g, GCRYMPI_FMT_HEX,
- elgamal_g_hex, 0, NULL));
+ GNUNET_SECRETSHARING_ELGAMAL_G_HEX, 0, NULL));
+}
+
+
+static struct KeygenSession *
+keygen_session_get (struct GNUNET_SERVER_Client *client)
+{
+ struct KeygenSession *ks;
+ for (ks = keygen_sessions_head; NULL != ks; ks = ks->next)
+ if (ks->client == client)
+ return ks;
+ return NULL;
+}
+
+static struct DecryptSession *
+decrypt_session_get (struct GNUNET_SERVER_Client *client)
+{
+ struct DecryptSession *ds;
+ for (ds = decrypt_sessions_head; NULL != ds; ds = ds->next)
+ if (ds->client == client)
+ return ds;
+ return NULL;
+}
+
+
+/**
+ * Clean up after a client has disconnected
+ *
+ * @param cls closure, unused
+ * @param client the client to clean up after
+ */
+static void
+handle_client_disconnect (void *cls, struct GNUNET_SERVER_Client *client)
+{
+ struct KeygenSession *ks;
+ struct DecryptSession *ds;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "handling client disconnect\n");
+
+ ks = keygen_session_get (client);
+ if (NULL != ks)
+ keygen_session_destroy (ks);
+
+ ds = decrypt_session_get (client);
+ if (NULL != ds)
+ decrypt_session_destroy (ds);
}
@@ -1443,6 +1576,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
return;
}
GNUNET_SERVER_add_handlers (server, handlers);
+ GNUNET_SERVER_disconnect_notify (server, &handle_client_disconnect, NULL);
GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &cleanup_task,
NULL);
}
diff --git a/src/secretsharing/secretsharing.h b/src/secretsharing/secretsharing.h
index 2327214109..e94ff46b7c 100644
--- a/src/secretsharing/secretsharing.h
+++ b/src/secretsharing/secretsharing.h
@@ -40,7 +40,7 @@ struct GNUNET_SECRETSHARING_FieldElement
/**
* Value of an element in <elgamal_g>.
*/
- unsigned char bits[GNUNET_SECRETSHARING_KEY_BITS / 8];
+ unsigned char bits[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8];
};
@@ -107,6 +107,10 @@ struct GNUNET_SECRETSHARING_ShareHeaderNBO
};
+/**
+ * Notify the client that then threshold secret has been
+ * established.
+ */
struct GNUNET_SECRETSHARING_SecretReadyMessage
{
/**
diff --git a/src/secretsharing/secretsharing_api.c b/src/secretsharing/secretsharing_api.c
index d2b53acc77..1489a5c457 100644
--- a/src/secretsharing/secretsharing_api.c
+++ b/src/secretsharing/secretsharing_api.c
@@ -27,6 +27,7 @@
#include "gnunet_util_lib.h"
#include "gnunet_secretsharing_service.h"
#include "secretsharing.h"
+#include <gcrypt.h>
#define LOG(kind,...) GNUNET_log_from (kind, "secretsharing-api",__VA_ARGS__)
@@ -83,6 +84,40 @@ struct GNUNET_SECRETSHARING_DecryptionHandle
};
+/**
+ * The ElGamal prime field order as libgcrypt mpi.
+ * Initialized in #init_crypto_constants.
+ */
+static gcry_mpi_t elgamal_q;
+
+/**
+ * Modulus of the prime field used for ElGamal.
+ * Initialized in #init_crypto_constants.
+ */
+static gcry_mpi_t elgamal_p;
+
+/**
+ * Generator for prime field of order 'elgamal_q'.
+ * Initialized in #init_crypto_constants.
+ */
+static gcry_mpi_t elgamal_g;
+
+
+static void
+ensure_elgamal_initialized (void)
+{
+ if (NULL != elgamal_q)
+ return; /* looks like crypto is already initialized */
+
+ GNUNET_assert (0 == gcry_mpi_scan (&elgamal_q, GCRYMPI_FMT_HEX,
+ GNUNET_SECRETSHARING_ELGAMAL_Q_HEX, 0, NULL));
+ GNUNET_assert (0 == gcry_mpi_scan (&elgamal_p, GCRYMPI_FMT_HEX,
+ GNUNET_SECRETSHARING_ELGAMAL_P_HEX, 0, NULL));
+ GNUNET_assert (0 == gcry_mpi_scan (&elgamal_g, GCRYMPI_FMT_HEX,
+ GNUNET_SECRETSHARING_ELGAMAL_G_HEX, 0, NULL));
+}
+
+
static void
handle_session_client_error (void *cls, enum GNUNET_MQ_Error error)
{
@@ -95,9 +130,12 @@ handle_session_client_error (void *cls, enum GNUNET_MQ_Error error)
static void
handle_decrypt_client_error (void *cls, enum GNUNET_MQ_Error error)
{
- GNUNET_assert (0);
+ struct GNUNET_SECRETSHARING_DecryptionHandle *dh = cls;
+
+ dh->decrypt_cb (dh->decrypt_cls, NULL);
}
+
static void
handle_secret_ready (void *cls, const struct GNUNET_MessageHeader *msg)
{
@@ -116,6 +154,18 @@ handle_secret_ready (void *cls, const struct GNUNET_MessageHeader *msg)
share->num_peers,
(struct GNUNET_PeerIdentity *) &m[1]);
+ GNUNET_SECRETSHARING_session_destroy (session);
+}
+
+
+void
+GNUNET_SECRETSHARING_session_destroy (struct GNUNET_SECRETSHARING_Session *session)
+{
+ GNUNET_MQ_destroy (session->mq);
+ session->mq = NULL;
+ GNUNET_CLIENT_disconnect (session->client);
+ session->client = NULL;
+ GNUNET_free (session);
}
@@ -169,7 +219,20 @@ GNUNET_SECRETSHARING_create_session (const struct GNUNET_CONFIGURATION_Handle *c
static void
handle_decrypt_done (void *cls, const struct GNUNET_MessageHeader *msg)
{
- GNUNET_assert (0);
+ struct GNUNET_SECRETSHARING_DecryptionHandle *dh = cls;
+ const struct GNUNET_SECRETSHARING_DecryptResponseMessage *m =
+ (const void *) msg;
+
+ const struct GNUNET_SECRETSHARING_Plaintext *plaintext;
+
+ if (m->success == 0)
+ plaintext = NULL;
+ else
+ plaintext = (void *) &m->plaintext;
+
+ dh->decrypt_cb (dh->decrypt_cls, plaintext);
+
+ GNUNET_SECRETSHARING_decrypt_cancel (dh);
}
@@ -187,9 +250,9 @@ handle_decrypt_done (void *cls, const struct GNUNET_MessageHeader *msg)
* @return handle to cancel the operation
*/
struct GNUNET_SECRETSHARING_DecryptionHandle *
-GNUNET_SECRETSHARING_decrypt (struct GNUNET_CONFIGURATION_Handle *cfg,
+GNUNET_SECRETSHARING_decrypt (const struct GNUNET_CONFIGURATION_Handle *cfg,
struct GNUNET_SECRETSHARING_Share *share,
- struct GNUNET_SECRETSHARING_Ciphertext *ciphertext,
+ const struct GNUNET_SECRETSHARING_Ciphertext *ciphertext,
struct GNUNET_TIME_Absolute deadline,
GNUNET_SECRETSHARING_DecryptCallback decrypt_cb,
void *decrypt_cb_cls)
@@ -223,6 +286,7 @@ GNUNET_SECRETSHARING_decrypt (struct GNUNET_CONFIGURATION_Handle *cfg,
GNUNET_assert (GNUNET_OK == GNUNET_SECRETSHARING_share_write (share, &msg[1], share_size, NULL));
msg->deadline = GNUNET_TIME_absolute_hton (deadline);
+ msg->ciphertext = *ciphertext;
GNUNET_MQ_send (s->mq, ev);
@@ -231,3 +295,112 @@ GNUNET_SECRETSHARING_decrypt (struct GNUNET_CONFIGURATION_Handle *cfg,
}
+int
+GNUNET_SECRETSHARING_plaintext_generate_i (struct GNUNET_SECRETSHARING_Plaintext *plaintext,
+ int64_t exponent)
+{
+ int negative;
+ gcry_mpi_t x;
+
+ ensure_elgamal_initialized ();
+
+ GNUNET_assert (NULL != (x = gcry_mpi_new (0)));
+
+ negative = GNUNET_NO;
+ if (exponent < 0)
+ {
+ negative = GNUNET_YES;
+ exponent = -exponent;
+ }
+
+ gcry_mpi_set_ui (x, exponent);
+
+ gcry_mpi_powm (x, elgamal_g, x, elgamal_p);
+
+ if (GNUNET_YES == negative)
+ {
+ int res;
+ res = gcry_mpi_invm (x, x, elgamal_p);
+ if (0 == res)
+ return GNUNET_SYSERR;
+ }
+
+ GNUNET_CRYPTO_mpi_print_unsigned (plaintext, sizeof (struct GNUNET_SECRETSHARING_Plaintext), x);
+
+ return GNUNET_OK;
+}
+
+
+/**
+ * Encrypt a value. This operation is executed locally, no communication is
+ * necessary.
+ *
+ * This is a helper function, encryption can be done soley with a session's public key
+ * and the crypto system parameters.
+ *
+ * @param public_key public key to use for decryption
+ * @param message message to encrypt
+ * @param message_size number of bytes in @a message
+ * @param result_ciphertext pointer to store the resulting ciphertext
+ * @return #GNUNET_YES on succes, #GNUNET_SYSERR if the message is invalid (invalid range)
+ */
+int
+GNUNET_SECRETSHARING_encrypt (const struct GNUNET_SECRETSHARING_PublicKey *public_key,
+ const struct GNUNET_SECRETSHARING_Plaintext *plaintext,
+ struct GNUNET_SECRETSHARING_Ciphertext *result_ciphertext)
+{
+ /* pubkey */
+ gcry_mpi_t h;
+ /* nonce */
+ gcry_mpi_t y;
+ /* plaintext message */
+ gcry_mpi_t m;
+ /* temp value */
+ gcry_mpi_t tmp;
+
+ ensure_elgamal_initialized ();
+
+ GNUNET_assert (NULL != (h = gcry_mpi_new (0)));
+ GNUNET_assert (NULL != (y = gcry_mpi_new (0)));
+ GNUNET_assert (NULL != (tmp = gcry_mpi_new (0)));
+
+ GNUNET_CRYPTO_mpi_scan_unsigned (&h, public_key, sizeof *public_key);
+ GNUNET_CRYPTO_mpi_scan_unsigned (&m, plaintext, sizeof *plaintext);
+
+ // Randomize y such that 0 < y < elgamal_q.
+ // The '- 1' is necessary as bitlength(q) = bitlength(p) - 1.
+ do
+ {
+ gcry_mpi_randomize (y, GNUNET_SECRETSHARING_ELGAMAL_BITS - 1, GCRY_WEAK_RANDOM);
+ } while ((gcry_mpi_cmp_ui (y, 0) == 0) || (gcry_mpi_cmp (y, elgamal_q) >= 0));
+
+ // tmp <- g^y
+ gcry_mpi_powm (tmp, elgamal_g, y, elgamal_p);
+ // write tmp to c1
+ GNUNET_CRYPTO_mpi_print_unsigned (&result_ciphertext->c1_bits,
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, tmp);
+
+ // tmp <- h^y
+ gcry_mpi_powm (tmp, h, y, elgamal_p);
+ // tmp <- tmp * m
+ gcry_mpi_mulm (tmp, tmp, m, elgamal_p);
+ // write tmp to c2
+ GNUNET_CRYPTO_mpi_print_unsigned (&result_ciphertext->c2_bits,
+ GNUNET_SECRETSHARING_ELGAMAL_BITS / 8, tmp);
+
+ return GNUNET_OK;
+}
+
+
+void
+GNUNET_SECRETSHARING_decrypt_cancel (struct GNUNET_SECRETSHARING_DecryptionHandle *h)
+{
+ GNUNET_MQ_destroy (h->mq);
+ h->mq = NULL;
+ GNUNET_CLIENT_disconnect (h->client);
+ h->client = NULL;
+ GNUNET_free (h);
+}
+
+
+
diff --git a/src/secretsharing/secretsharing_common.c b/src/secretsharing/secretsharing_common.c
index 9f1e4900b0..9f21a1102a 100644
--- a/src/secretsharing/secretsharing_common.c
+++ b/src/secretsharing/secretsharing_common.c
@@ -94,7 +94,7 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share
char *p;
int n;
- payload_size = ntohs (sh->num_peers) *
+ payload_size = ntohs (share->num_peers) *
(sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) +
sizeof (struct GNUNET_PeerIdentity));
@@ -134,3 +134,4 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share
return GNUNET_OK;
}
+
diff --git a/src/secretsharing/test_secretsharing.conf b/src/secretsharing/test_secretsharing.conf
index 9cbb956089..6ce865e3a1 100644
--- a/src/secretsharing/test_secretsharing.conf
+++ b/src/secretsharing/test_secretsharing.conf
@@ -1,6 +1,6 @@
[secretsharing]
AUTOSTART = YES
-PREFIX = valgrind
+#PREFIX = valgrind
[consensus]
AUTOSTART = YES
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 98af961d51..b502adb4bc 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -91,6 +91,7 @@ libgnunetutil_la_SOURCES = \
crypto_hash.c \
crypto_hkdf.c \
crypto_kdf.c \
+ crypto_mpi.c \
crypto_random.c \
disk.c \
disk.h \
diff --git a/src/util/crypto_ecc.c b/src/util/crypto_ecc.c
index 6bd96b365c..71b8470fef 100644
--- a/src/util/crypto_ecc.c
+++ b/src/util/crypto_ecc.c
@@ -133,72 +133,6 @@ adjust (unsigned char *buf,
/**
- * Output the given MPI value to the given buffer.
- *
- * @param buf where to output to
- * @param size number of bytes in @a buf
- * @param val value to write to @a buf
- */
-static void
-mpi_print (unsigned char *buf,
- size_t size,
- gcry_mpi_t val)
-{
- size_t rsize;
-
- if (gcry_mpi_get_flag (val, GCRYMPI_FLAG_OPAQUE))
- {
- /* Store opaque MPIs left aligned into the buffer. */
- unsigned int nbits;
- const void *p;
-
- p = gcry_mpi_get_opaque (val, &nbits);
- GNUNET_assert (p);
- rsize = (nbits+7)/8;
- if (rsize > size)
- rsize = size;
- memcpy (buf, p, rsize);
- if (rsize < size)
- memset (buf+rsize, 0, size - rsize);
- }
- else
- {
- /* Store regular MPIs as unsigned integers right aligned into
- the buffer. */
- rsize = size;
- GNUNET_assert (0 ==
- gcry_mpi_print (GCRYMPI_FMT_USG, buf, rsize, &rsize,
- val));
- adjust (buf, rsize, size);
- }
-}
-
-
-/**
- * Convert data buffer into MPI value.
- *
- * @param result where to store MPI value (allocated)
- * @param data raw data (GCRYMPI_FMT_USG)
- * @param size number of bytes in @a data
- */
-static void
-mpi_scan (gcry_mpi_t *result,
- const unsigned char *data,
- size_t size)
-{
- int rc;
-
- if (0 != (rc = gcry_mpi_scan (result,
- GCRYMPI_FMT_USG,
- data, size, &size)))
- {
- LOG_GCRY (GNUNET_ERROR_TYPE_ERROR, "gcry_mpi_scan", rc);
- GNUNET_assert (0);
- }
-}
-
-
-/**
* Convert the given private key from the network format to the
* S-expression that can be used by libgcrypt.
*
@@ -317,7 +251,7 @@ GNUNET_CRYPTO_ecdsa_key_get_public (const struct GNUNET_CRYPTO_EcdsaPrivateKey *
gcry_sexp_release (sexp);
q = gcry_mpi_ec_get_mpi ("q@eddsa", ctx, 0);
GNUNET_assert (q);
- mpi_print (pub->q_y, sizeof (pub->q_y), q);
+ GNUNET_CRYPTO_mpi_print_unsigned (pub->q_y, sizeof (pub->q_y), q);
gcry_mpi_release (q);
gcry_ctx_release (ctx);
}
@@ -343,7 +277,7 @@ GNUNET_CRYPTO_eddsa_key_get_public (const struct GNUNET_CRYPTO_EddsaPrivateKey *
gcry_sexp_release (sexp);
q = gcry_mpi_ec_get_mpi ("q@eddsa", ctx, 0);
GNUNET_assert (q);
- mpi_print (pub->q_y, sizeof (pub->q_y), q);
+ GNUNET_CRYPTO_mpi_print_unsigned (pub->q_y, sizeof (pub->q_y), q);
gcry_mpi_release (q);
gcry_ctx_release (ctx);
}
@@ -369,7 +303,7 @@ GNUNET_CRYPTO_ecdhe_key_get_public (const struct GNUNET_CRYPTO_EcdhePrivateKey *
gcry_sexp_release (sexp);
q = gcry_mpi_ec_get_mpi ("q@eddsa", ctx, 0);
GNUNET_assert (q);
- mpi_print (pub->q_y, sizeof (pub->q_y), q);
+ GNUNET_CRYPTO_mpi_print_unsigned (pub->q_y, sizeof (pub->q_y), q);
gcry_mpi_release (q);
gcry_ctx_release (ctx);
}
@@ -578,7 +512,7 @@ GNUNET_CRYPTO_ecdhe_key_create ()
}
gcry_sexp_release (priv_sexp);
priv = GNUNET_new (struct GNUNET_CRYPTO_EcdhePrivateKey);
- mpi_print (priv->d, sizeof (priv->d), d);
+ GNUNET_CRYPTO_mpi_print_unsigned (priv->d, sizeof (priv->d), d);
gcry_mpi_release (d);
return priv;
}
@@ -628,7 +562,7 @@ GNUNET_CRYPTO_ecdsa_key_create ()
}
gcry_sexp_release (priv_sexp);
priv = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPrivateKey);
- mpi_print (priv->d, sizeof (priv->d), d);
+ GNUNET_CRYPTO_mpi_print_unsigned (priv->d, sizeof (priv->d), d);
gcry_mpi_release (d);
return priv;
}
@@ -677,7 +611,7 @@ GNUNET_CRYPTO_eddsa_key_create ()
}
gcry_sexp_release (priv_sexp);
priv = GNUNET_new (struct GNUNET_CRYPTO_EddsaPrivateKey);
- mpi_print (priv->d, sizeof (priv->d), d);
+ GNUNET_CRYPTO_mpi_print_unsigned (priv->d, sizeof (priv->d), d);
gcry_mpi_release (d);
return priv;
}
@@ -700,7 +634,7 @@ GNUNET_CRYPTO_ecdsa_key_get_anonymous ()
if (once)
return &anonymous;
- mpi_print (anonymous.d,
+ GNUNET_CRYPTO_mpi_print_unsigned (anonymous.d,
sizeof (anonymous.d),
GCRYMPI_CONST_ONE);
once = 1;
@@ -1222,8 +1156,8 @@ GNUNET_CRYPTO_ecdsa_sign (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv,
return GNUNET_SYSERR;
}
gcry_sexp_release (sig_sexp);
- mpi_print (sig->r, sizeof (sig->r), rs[0]);
- mpi_print (sig->s, sizeof (sig->s), rs[1]);
+ GNUNET_CRYPTO_mpi_print_unsigned (sig->r, sizeof (sig->r), rs[0]);
+ GNUNET_CRYPTO_mpi_print_unsigned (sig->s, sizeof (sig->s), rs[1]);
gcry_mpi_release (rs[0]);
gcry_mpi_release (rs[1]);
return GNUNET_OK;
@@ -1272,8 +1206,8 @@ GNUNET_CRYPTO_eddsa_sign (const struct GNUNET_CRYPTO_EddsaPrivateKey *priv,
return GNUNET_SYSERR;
}
gcry_sexp_release (sig_sexp);
- mpi_print (sig->r, sizeof (sig->r), rs[0]);
- mpi_print (sig->s, sizeof (sig->s), rs[1]);
+ GNUNET_CRYPTO_mpi_print_unsigned (sig->r, sizeof (sig->r), rs[0]);
+ GNUNET_CRYPTO_mpi_print_unsigned (sig->s, sizeof (sig->s), rs[1]);
gcry_mpi_release (rs[0]);
gcry_mpi_release (rs[1]);
return GNUNET_OK;
@@ -1425,7 +1359,7 @@ GNUNET_CRYPTO_ecc_ecdh (const struct GNUNET_CRYPTO_EcdhePrivateKey *priv,
q = gcry_mpi_ec_get_point ("q", ctx, 0);
/* second, extract the d value from our private key */
- mpi_scan (&d, priv->d, sizeof (priv->d));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&d, priv->d, sizeof (priv->d));
/* then call the 'multiply' function, to compute the product */
result = gcry_mpi_point_new (0);
@@ -1447,7 +1381,7 @@ GNUNET_CRYPTO_ecc_ecdh (const struct GNUNET_CRYPTO_EcdhePrivateKey *priv,
rsize = sizeof (xbuf);
GNUNET_assert (! gcry_mpi_get_flag (result_x, GCRYMPI_FLAG_OPAQUE));
- /* result_x can be negative here, so we do not use 'mpi_print'
+ /* result_x can be negative here, so we do not use 'GNUNET_CRYPTO_mpi_print_unsigned'
as that does not include the sign bit; x should be a 255-bit
value, so with the sign it should fit snugly into the 256-bit
xbuf */
@@ -1484,7 +1418,7 @@ derive_h (const struct GNUNET_CRYPTO_EcdsaPublicKey *pub,
label, strlen (label),
context, strlen (context),
NULL, 0);
- mpi_scan (&h, (unsigned char *) &hc, sizeof (hc));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&h, (unsigned char *) &hc, sizeof (hc));
return h;
}
@@ -1520,7 +1454,7 @@ GNUNET_CRYPTO_ecdsa_private_key_derive (const struct GNUNET_CRYPTO_EcdsaPrivateK
GNUNET_CRYPTO_ecdsa_key_get_public (priv, &pub);
h = derive_h (&pub, label, context);
- mpi_scan (&x, priv->d, sizeof (priv->d));
+ GNUNET_CRYPTO_mpi_scan_unsigned (&x, priv->d, sizeof (priv->d));
d = gcry_mpi_new (256);
gcry_mpi_mulm (d, h, x, n);
gcry_mpi_release (h);
@@ -1528,7 +1462,7 @@ GNUNET_CRYPTO_ecdsa_private_key_derive (const struct GNUNET_CRYPTO_EcdsaPrivateK
gcry_mpi_release (n);
gcry_ctx_release (ctx);
ret = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPrivateKey);
- mpi_print (ret->d, sizeof (ret->d), d);
+ GNUNET_CRYPTO_mpi_print_unsigned (ret->d, sizeof (ret->d), d);
gcry_mpi_release (d);
return ret;
}
@@ -1588,7 +1522,7 @@ GNUNET_CRYPTO_ecdsa_public_key_derive (const struct GNUNET_CRYPTO_EcdsaPublicKey
gcry_mpi_point_release (v);
q_y = gcry_mpi_ec_get_mpi ("q@eddsa", ctx, 0);
GNUNET_assert (q_y);
- mpi_print (result->q_y, sizeof result->q_y, q_y);
+ GNUNET_CRYPTO_mpi_print_unsigned (result->q_y, sizeof result->q_y, q_y);
gcry_mpi_release (q_y);
gcry_ctx_release (ctx);
}
diff --git a/src/util/crypto_mpi.c b/src/util/crypto_mpi.c
new file mode 100644
index 0000000000..8e52424cf8
--- /dev/null
+++ b/src/util/crypto_mpi.c
@@ -0,0 +1,132 @@
+/*
+ This file is part of GNUnet.
+ (C) 2012, 2013 Christian Grothoff (and other contributing authors)
+
+ GNUnet is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file util/crypto_mpi.c
+ * @brief Helper functions for libgcrypt MPIs
+ * @author Christian Grothoff
+ * @author Florian Dold
+ */
+#include "platform.h"
+#include <gcrypt.h>
+#include "gnunet_util_lib.h"
+
+
+#define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__)
+
+/**
+ * Log an error message at log-level 'level' that indicates
+ * a failure of the command 'cmd' with the message given
+ * by gcry_strerror(rc).
+ */
+#define LOG_GCRY(level, cmd, rc) do { LOG(level, _("`%s' failed at %s:%d with error: %s\n"), cmd, __FILE__, __LINE__, gcry_strerror(rc)); } while(0)
+
+
+/**
+ * If target != size, move @a target bytes to the end of the size-sized
+ * buffer and zero out the first @a target - @a size bytes.
+ *
+ * @param buf original buffer
+ * @param size number of bytes in @a buf
+ * @param target target size of the buffer
+ */
+static void
+adjust (void *buf,
+ size_t size,
+ size_t target)
+{
+ if (size < target)
+ {
+ memmove (&buf[target - size], buf, size);
+ memset (buf, 0, target - size);
+ }
+}
+
+
+/**
+ * Output the given MPI value to the given buffer in
+ * network byte order.
+ * The MPI @a val may not be negative.
+ *
+ * @param buf where to output to
+ * @param size number of bytes in @a buf
+ * @param val value to write to @a buf
+ */
+void
+GNUNET_CRYPTO_mpi_print_unsigned (void *buf,
+ size_t size,
+ gcry_mpi_t val)
+{
+ size_t rsize;
+
+ if (gcry_mpi_get_flag (val, GCRYMPI_FLAG_OPAQUE))
+ {
+ /* Store opaque MPIs left aligned into the buffer. */
+ unsigned int nbits;
+ const void *p;
+
+ p = gcry_mpi_get_opaque (val, &nbits);
+ GNUNET_assert (p);
+ rsize = (nbits+7)/8;
+ if (rsize > size)
+ rsize = size;
+ memcpy (buf, p, rsize);
+ if (rsize < size)
+ memset (buf+rsize, 0, size - rsize);
+ }
+ else
+ {
+ /* Store regular MPIs as unsigned integers right aligned into
+ the buffer. */
+ rsize = size;
+ GNUNET_assert (0 ==
+ gcry_mpi_print (GCRYMPI_FMT_USG, buf, rsize, &rsize,
+ val));
+ adjust (buf, rsize, size);
+ }
+}
+
+
+/**
+ * Convert data buffer into MPI value.
+ * The buffer is interpreted as network
+ * byte order, unsigned integer.
+ *
+ * @param result where to store MPI value (allocated)
+ * @param data raw data (GCRYMPI_FMT_USG)
+ * @param size number of bytes in @a data
+ */
+void
+GNUNET_CRYPTO_mpi_scan_unsigned (gcry_mpi_t *result,
+ const void *data,
+ size_t size)
+{
+ int rc;
+
+ if (0 != (rc = gcry_mpi_scan (result,
+ GCRYMPI_FMT_USG,
+ data, size, &size)))
+ {
+ LOG_GCRY (GNUNET_ERROR_TYPE_ERROR, "gcry_mpi_scan", rc);
+ GNUNET_assert (0);
+ }
+}
+
+/* end of crypto_mpi.c */