diff options
-rw-r--r-- | po/POTFILES.in | 1 | ||||
-rw-r--r-- | po/de.po | 1030 | ||||
-rw-r--r-- | po/es.po | 1048 | ||||
-rw-r--r-- | po/sv.po | 1026 | ||||
-rw-r--r-- | po/vi.po | 1025 | ||||
-rw-r--r-- | po/zh_CN.po | 1028 | ||||
-rw-r--r-- | src/include/gnunet_crypto_lib.h | 30 | ||||
-rw-r--r-- | src/include/gnunet_secretsharing_service.h | 102 | ||||
-rwxr-xr-x | src/secretsharing/gnunet-secretsharing-profiler.c | 265 | ||||
-rw-r--r-- | src/secretsharing/gnunet-service-secretsharing.c | 506 | ||||
-rw-r--r-- | src/secretsharing/secretsharing.h | 6 | ||||
-rw-r--r-- | src/secretsharing/secretsharing_api.c | 181 | ||||
-rw-r--r-- | src/secretsharing/secretsharing_common.c | 3 | ||||
-rw-r--r-- | src/secretsharing/test_secretsharing.conf | 2 | ||||
-rw-r--r-- | src/util/Makefile.am | 1 | ||||
-rw-r--r-- | src/util/crypto_ecc.c | 100 | ||||
-rw-r--r-- | src/util/crypto_mpi.c | 132 |
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 @@ -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" @@ -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" @@ -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" @@ -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 */ |