summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-08-21 06:01:06 +0000
committerChristian Grothoff <christian@grothoff.org>2012-08-21 06:01:06 +0000
commit7dd745f0476015cbe2e80c03a7027cc259a2cef6 (patch)
tree71a692e8a19b10900dc2360173b1e8b06d1db70f
parentde020c71e2ea9a78ad5fa2d0a6649c7bc3a86423 (diff)
refactoring dns service to take stub code into separate library for use in gns2dns proxy
-rw-r--r--po/de.po367
-rw-r--r--po/es.po367
-rw-r--r--po/sv.po367
-rw-r--r--po/vi.po367
-rw-r--r--po/zh_CN.po367
-rw-r--r--src/dns/Makefile.am10
-rw-r--r--src/dns/dnsstub.c520
-rw-r--r--src/dns/gnunet-service-dns.c468
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/gnunet_dnsstub_lib.h115
10 files changed, 1667 insertions, 1282 deletions
diff --git a/po/de.po b/po/de.po
index 706945237..6161788be 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2012-07-20 19:29+0200\n"
+"POT-Creation-Date: 2012-08-17 00:17+0200\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"
@@ -716,7 +716,7 @@ msgid "# keepalive messages sent"
msgstr "# Klartext PING Nachrichten gesendet"
#: src/core/gnunet-service-core_kx.c:1236
-#: src/transport/gnunet-service-transport_validation.c:1096
+#: src/transport/gnunet-service-transport_validation.c:1108
#, fuzzy
msgid "# PONG messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
@@ -818,11 +818,11 @@ msgstr "Ungültige Nachricht des Typs %u empfangen. Nachricht wird verworfen.\n"
#: src/fs/gnunet-service-fs_cp.c:622 src/fs/gnunet-service-fs_cp.c:1530
#: src/topology/gnunet-daemon-topology.c:709
#: src/topology/gnunet-daemon-topology.c:810
-#: src/transport/gnunet-service-transport_neighbours.c:890
-#: src/transport/gnunet-service-transport_neighbours.c:1106
-#: src/transport/gnunet-service-transport_neighbours.c:1115
-#: src/transport/gnunet-service-transport_neighbours.c:2637
-#: src/transport/gnunet-service-transport_neighbours.c:2899
+#: src/transport/gnunet-service-transport_neighbours.c:873
+#: src/transport/gnunet-service-transport_neighbours.c:1089
+#: src/transport/gnunet-service-transport_neighbours.c:1098
+#: src/transport/gnunet-service-transport_neighbours.c:2620
+#: src/transport/gnunet-service-transport_neighbours.c:2882
#, fuzzy
msgid "# peers connected"
msgstr "# verbundener Knoten"
@@ -889,8 +889,8 @@ msgstr ""
#: src/mysql/mysql.c:591 src/mysql/mysql.c:607
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:51 src/util/crypto_ksk.c:49
-#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:535
-#: src/include/gnunet_common.h:542
+#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:543
+#: src/include/gnunet_common.h:550
#, c-format
msgid "`%s' failed at %s:%d with error: %s\n"
msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
@@ -1671,11 +1671,11 @@ msgstr "Empfangene Client-Nachricht ist ungültig.\n"
msgid "Configured DNS exit `%s' is not working / valid.\n"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2674
+#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2673
msgid "# Inbound MESH tunnels created"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3033
+#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3032
#, c-format
msgid "`%s' must be installed SUID, refusing to run\n"
msgstr ""
@@ -1699,200 +1699,200 @@ msgstr "Beschädigte Nachricht von Knoten `%s' in %s:%d empfangen.\n"
msgid "Got duplicate service records for `%s:%u'\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:563
+#: src/exit/gnunet-daemon-exit.c:561
#, fuzzy
msgid "# Bytes transmitted via mesh tunnels"
msgstr "# Bytes des Typs %d übertragen"
-#: src/exit/gnunet-daemon-exit.c:679 src/exit/gnunet-daemon-exit.c:2069
-#: src/exit/gnunet-daemon-exit.c:2319 src/vpn/gnunet-service-vpn.c:1394
-#: src/vpn/gnunet-service-vpn.c:1795 src/vpn/gnunet-service-vpn.c:1958
+#: src/exit/gnunet-daemon-exit.c:678 src/exit/gnunet-daemon-exit.c:2068
+#: src/exit/gnunet-daemon-exit.c:2318 src/vpn/gnunet-service-vpn.c:1392
+#: src/vpn/gnunet-service-vpn.c:1793 src/vpn/gnunet-service-vpn.c:1956
msgid "# ICMPv4 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:716 src/exit/gnunet-daemon-exit.c:2128
-#: src/exit/gnunet-daemon-exit.c:2378 src/vpn/gnunet-service-vpn.c:1450
-#: src/vpn/gnunet-service-vpn.c:1854 src/vpn/gnunet-service-vpn.c:1991
+#: src/exit/gnunet-daemon-exit.c:715 src/exit/gnunet-daemon-exit.c:2127
+#: src/exit/gnunet-daemon-exit.c:2377 src/vpn/gnunet-service-vpn.c:1448
+#: src/vpn/gnunet-service-vpn.c:1852 src/vpn/gnunet-service-vpn.c:1989
msgid "# ICMPv6 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:756
+#: src/exit/gnunet-daemon-exit.c:755
msgid "# ICMP packets dropped (not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:763
+#: src/exit/gnunet-daemon-exit.c:762
msgid "ICMP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:840
+#: src/exit/gnunet-daemon-exit.c:839
msgid "UDP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:915
+#: src/exit/gnunet-daemon-exit.c:914
msgid "TCP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:968
+#: src/exit/gnunet-daemon-exit.c:967
#, fuzzy
msgid "# Packets received from TUN"
msgstr "# Bytes empfangen über HTTP"
-#: src/exit/gnunet-daemon-exit.c:982
+#: src/exit/gnunet-daemon-exit.c:981
#, fuzzy
msgid "# Bytes received from TUN"
msgstr "# Bytes empfangen über HTTP"
-#: src/exit/gnunet-daemon-exit.c:1008
+#: src/exit/gnunet-daemon-exit.c:1007
msgid "IPv4 packet options received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1035
+#: src/exit/gnunet-daemon-exit.c:1034
#, c-format
msgid "IPv4 packet with unsupported next header %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1081
+#: src/exit/gnunet-daemon-exit.c:1080
#, c-format
msgid "IPv6 packet with unsupported next header %d received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1089
+#: src/exit/gnunet-daemon-exit.c:1088
#, c-format
msgid "Packet from unknown protocol %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1471
+#: src/exit/gnunet-daemon-exit.c:1470
#, fuzzy
msgid "# TCP packets sent via TUN"
msgstr "# Bytes gesendet über UDP"
-#: src/exit/gnunet-daemon-exit.c:1571
+#: src/exit/gnunet-daemon-exit.c:1570
#, fuzzy
msgid "# TCP service creation requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:1574 src/exit/gnunet-daemon-exit.c:1653
-#: src/exit/gnunet-daemon-exit.c:1763 src/exit/gnunet-daemon-exit.c:1993
-#: src/exit/gnunet-daemon-exit.c:2235 src/exit/gnunet-daemon-exit.c:2516
-#: src/exit/gnunet-daemon-exit.c:2616
+#: src/exit/gnunet-daemon-exit.c:1573 src/exit/gnunet-daemon-exit.c:1652
+#: src/exit/gnunet-daemon-exit.c:1762 src/exit/gnunet-daemon-exit.c:1992
+#: src/exit/gnunet-daemon-exit.c:2234 src/exit/gnunet-daemon-exit.c:2515
+#: src/exit/gnunet-daemon-exit.c:2615
#, fuzzy
msgid "# Bytes received from MESH"
msgstr "# Bytes empfangen über HTTP"
-#: src/exit/gnunet-daemon-exit.c:1607 src/exit/gnunet-daemon-exit.c:2638
+#: src/exit/gnunet-daemon-exit.c:1606 src/exit/gnunet-daemon-exit.c:2637
#, c-format
msgid "No service found for %s on port %d!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1611
+#: src/exit/gnunet-daemon-exit.c:1610
#, fuzzy
msgid "# TCP requests dropped (no such service)"
msgstr "# gap Anfragen verworfen: Kollision in RT"
-#: src/exit/gnunet-daemon-exit.c:1656
+#: src/exit/gnunet-daemon-exit.c:1655
#, fuzzy
msgid "# TCP IP-exit creation requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:1766
+#: src/exit/gnunet-daemon-exit.c:1765
#, fuzzy
msgid "# TCP data requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:1780
+#: src/exit/gnunet-daemon-exit.c:1779
#, fuzzy
msgid "# TCP DATA requests dropped (no session)"
msgstr "# gap Anfragen verworfen: Kollision in RT"
-#: src/exit/gnunet-daemon-exit.c:1830
+#: src/exit/gnunet-daemon-exit.c:1829
#, fuzzy
msgid "# ICMP packets sent via TUN"
msgstr "# Bytes gesendet über UDP"
-#: src/exit/gnunet-daemon-exit.c:1996
+#: src/exit/gnunet-daemon-exit.c:1995
#, fuzzy
msgid "# ICMP IP-exit requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:2238
+#: src/exit/gnunet-daemon-exit.c:2237
#, fuzzy
msgid "# ICMP service requests received via mesh"
msgstr "Empfangene Client-Nachricht ist ungültig.\n"
-#: src/exit/gnunet-daemon-exit.c:2304 src/vpn/gnunet-service-vpn.c:1384
-#: src/vpn/gnunet-service-vpn.c:1952
+#: src/exit/gnunet-daemon-exit.c:2303 src/vpn/gnunet-service-vpn.c:1382
+#: src/vpn/gnunet-service-vpn.c:1950
msgid "# ICMPv4 packets dropped (impossible PT to v6)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2363 src/vpn/gnunet-service-vpn.c:1420
-#: src/vpn/gnunet-service-vpn.c:1432 src/vpn/gnunet-service-vpn.c:1842
+#: src/exit/gnunet-daemon-exit.c:2362 src/vpn/gnunet-service-vpn.c:1418
+#: src/vpn/gnunet-service-vpn.c:1430 src/vpn/gnunet-service-vpn.c:1840
msgid "# ICMPv6 packets dropped (impossible PT to v4)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2413
+#: src/exit/gnunet-daemon-exit.c:2412
#, fuzzy
msgid "# UDP packets sent via TUN"
msgstr "# Bytes gesendet über UDP"
-#: src/exit/gnunet-daemon-exit.c:2519
+#: src/exit/gnunet-daemon-exit.c:2518
#, fuzzy
msgid "# UDP IP-exit requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:2619
+#: src/exit/gnunet-daemon-exit.c:2618
#, fuzzy
msgid "# UDP service requests received via mesh"
msgstr "# Client Trace-Anfragen empfangen"
-#: src/exit/gnunet-daemon-exit.c:2642
+#: src/exit/gnunet-daemon-exit.c:2641
#, fuzzy
msgid "# UDP requests dropped (no such service)"
msgstr "# gap Anfragen verworfen: Kollision in RT"
-#: src/exit/gnunet-daemon-exit.c:2883
+#: src/exit/gnunet-daemon-exit.c:2882
#, c-format
msgid "No addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2897 src/exit/gnunet-daemon-exit.c:2909
+#: src/exit/gnunet-daemon-exit.c:2896 src/exit/gnunet-daemon-exit.c:2908
#, c-format
msgid "Service `%s' configured for IPv4, but IPv4 is disabled!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2920
+#: src/exit/gnunet-daemon-exit.c:2919
#, c-format
msgid "No IP addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3049
+#: src/exit/gnunet-daemon-exit.c:3048
msgid ""
"This system does not support IPv4, will disable IPv4 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3057
+#: src/exit/gnunet-daemon-exit.c:3056
msgid ""
"This system does not support IPv6, will disable IPv6 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3064
+#: src/exit/gnunet-daemon-exit.c:3063
msgid ""
"Cannot enable IPv4 exit but disable IPv4 on TUN interface, will use "
"ENABLE_IPv4=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3070
+#: src/exit/gnunet-daemon-exit.c:3069
msgid ""
"Cannot enable IPv6 exit but disable IPv6 on TUN interface, will use "
"ENABLE_IPv6=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3076 src/pt/gnunet-daemon-pt.c:884
+#: src/exit/gnunet-daemon-exit.c:3075 src/pt/gnunet-daemon-pt.c:884
msgid "No useful service enabled. Exiting.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3241
+#: src/exit/gnunet-daemon-exit.c:3240
msgid "Daemon to run to provide an IP exit node for the VPN"
msgstr ""
@@ -3238,28 +3238,29 @@ msgstr "Anzahl an Nachrichten, die pro Durchlauf verwendet wird"
msgid "Failed to connect to GNS\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/gns/gnunet-gns.c:341
-msgid "try to shorten a given GNS name"
-msgstr ""
+#: src/gns/gnunet-gns.c:358
+#, fuzzy
+msgid "try to shorten a given name"
+msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/gns/gnunet-gns.c:344
-msgid "Lookup a record using GNS (NOT IMPLEMENTED)"
+#: src/gns/gnunet-gns.c:361
+msgid "Lookup a record for the given name"
msgstr ""
-#: src/gns/gnunet-gns.c:347
+#: src/gns/gnunet-gns.c:364
msgid "Get the authority of a particular name"
msgstr ""
-#: src/gns/gnunet-gns.c:350
+#: src/gns/gnunet-gns.c:367
#, fuzzy
-msgid "Specify the type of the record lookup"
+msgid "Specify the type of the record to lookup"
msgstr "Die Priorität des Inhalts angeben"
-#: src/gns/gnunet-gns.c:353
+#: src/gns/gnunet-gns.c:370
msgid "No unneeded output"
msgstr ""
-#: src/gns/gnunet-gns.c:367
+#: src/gns/gnunet-gns.c:384
msgid "GNUnet GNS access tool"
msgstr ""
@@ -3318,7 +3319,7 @@ msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
msgid "Failed to connect to namestore\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden."
-#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2667
+#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2901
#, fuzzy
msgid "Failed to start HTTP server\n"
msgstr "Fehler beim Starten der Collection.\n"
@@ -3327,25 +3328,25 @@ msgstr "Fehler beim Starten der Collection.\n"
msgid "GNUnet GNS first come first serve registration service"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2300
+#: src/gns/gnunet-gns-proxy.c:2532
#, fuzzy, c-format
msgid "Unable to import private key from file `%s'\n"
msgstr "Fehler beim Anlegen des Benutzerkontos:"
-#: src/gns/gnunet-gns-proxy.c:2329
+#: src/gns/gnunet-gns-proxy.c:2561
#, fuzzy, c-format
msgid "Unable to import certificate %s\n"
msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
-#: src/gns/gnunet-gns-proxy.c:3328
+#: src/gns/gnunet-gns-proxy.c:3578
msgid "listen on specified port"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3331
+#: src/gns/gnunet-gns-proxy.c:3581
msgid "pem file to use as CA"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3346
+#: src/gns/gnunet-gns-proxy.c:3596
msgid "GNUnet GNS proxy"
msgstr ""
@@ -3707,36 +3708,46 @@ msgstr "`%s' ist nicht verfügbar."
msgid "Could not start hostlist HTTP server on port %u\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/integration-tests/connection_watchdog.c:997
+#: src/integration-tests/connection_watchdog.c:1001
#, fuzzy, c-format
msgid "Transport plugin: `%s' port %llu\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/integration-tests/connection_watchdog.c:1030
+#: src/integration-tests/connection_watchdog.c:1034
#, fuzzy, c-format
msgid "Found %u transport plugins: `%s'\n"
msgstr "Teste Transport(e) %s\n"
-#: src/integration-tests/connection_watchdog.c:1089
+#: src/integration-tests/connection_watchdog.c:1093
msgid "Send ping messages to test connectivity (default == NO)"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1099
+#: src/integration-tests/connection_watchdog.c:1103
#: src/template/gnunet-template.c:71
#, fuzzy
msgid "help text"
msgstr "Hilfetext für -t"
-#: src/mesh/gnunet-service-mesh.c:5904
+#: src/mesh/gnunet-service-mesh.c:7110
msgid "Wrong CORE service\n"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:6116
-#, fuzzy
-msgid "Mesh service is lacking key configuration settings. Exiting.\n"
+#: src/mesh/gnunet-service-mesh.c:7328 src/mesh/gnunet-service-mesh.c:7340
+#: src/mesh/gnunet-service-mesh.c:7352 src/mesh/gnunet-service-mesh.c:7364
+#: src/mesh/gnunet-service-mesh.c:7376 src/mesh/gnunet-service-mesh.c:7388
+#: src/mesh/gnunet-service-mesh.c:7400 src/mesh/gnunet-service-mesh.c:7412
+#, fuzzy, c-format
+msgid "Mesh service is lacking key configuration settings (%s). Exiting.\n"
msgstr "GNUnet Konfiguration"
-#: src/mesh/gnunet-service-mesh.c:6125
+#: src/mesh/gnunet-service-mesh.c:7424 src/mesh/gnunet-service-mesh.c:7435
+#, fuzzy, c-format
+msgid ""
+"Mesh service is lacking key configuration settings (%s). Using default "
+"(%u).\n"
+msgstr "GNUnet Konfiguration"
+
+#: src/mesh/gnunet-service-mesh.c:7446
#, fuzzy
msgid "Mesh service could not access hostkey. Exiting.\n"
msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n"
@@ -4358,7 +4369,7 @@ msgid ""
"might have been lost!\n"
msgstr ""
-#: src/testbed/testbed_api.c:204
+#: src/testbed/testbed_api.c:246
#, fuzzy, c-format
msgid "Adding host %u failed with error: %s\n"
msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
@@ -4522,7 +4533,7 @@ msgstr ""
msgid "Starting service %s for peer `%4s'\n"
msgstr "Collection `%s' begonnen.\n"
-#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6155
+#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6172
#, fuzzy, c-format
msgid "Could not start `%s' process to copy configuration directory.\n"
msgstr ""
@@ -4610,12 +4621,12 @@ msgstr ""
msgid "Unknown topology specification, can't connect peers!\n"
msgstr "Syntaxfehler in Topolgieangabe, Bytes werden übersprungen.\n"
-#: src/testing_old/testing_group.c:5945
-#, fuzzy
-msgid "Could not read hostkeys file!\n"
+#: src/testing_old/testing_group.c:5962
+#, fuzzy, c-format
+msgid "Could not read hostkeys file `%s'!\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/testing_old/testing_group.c:6012
+#: src/testing_old/testing_group.c:6029
#, fuzzy, c-format
msgid "Could not create configuration for peer number %u on `%s'!\n"
msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n"
@@ -4866,117 +4877,117 @@ msgstr "# verschlüsselter PONG Nachrichten empfangen"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1057
+#: src/transport/gnunet-service-transport_neighbours.c:1040
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/gnunet-service-transport_neighbours.c:1174
-#: src/transport/gnunet-service-transport_neighbours.c:1511
+#: src/transport/gnunet-service-transport_neighbours.c:1157
+#: src/transport/gnunet-service-transport_neighbours.c:1494
#, fuzzy
msgid "# bytes in message queue for other peers"
msgstr "# Bytes ausgehender Nachrichten verworfen"
-#: src/transport/gnunet-service-transport_neighbours.c:1179
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# Bytes des Typs %d übertragen"
-#: src/transport/gnunet-service-transport_neighbours.c:1184
+#: src/transport/gnunet-service-transport_neighbours.c:1167
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# Bytes ausgehender Nachrichten verworfen"
-#: src/transport/gnunet-service-transport_neighbours.c:1241
+#: src/transport/gnunet-service-transport_neighbours.c:1224
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1283
+#: src/transport/gnunet-service-transport_neighbours.c:1266
#, fuzzy
msgid "# keepalives sent"
msgstr "# p2p Trace-Antworten gesendet"
-#: src/transport/gnunet-service-transport_neighbours.c:1307
+#: src/transport/gnunet-service-transport_neighbours.c:1290
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1315
+#: src/transport/gnunet-service-transport_neighbours.c:1298
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1352
+#: src/transport/gnunet-service-transport_neighbours.c:1335
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1361
+#: src/transport/gnunet-service-transport_neighbours.c:1344
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1417
+#: src/transport/gnunet-service-transport_neighbours.c:1400
#, fuzzy
msgid "# messages discarded due to lack of neighbour record"
msgstr "# defragmentierter Nachrichten"
-#: src/transport/gnunet-service-transport_neighbours.c:1451
+#: src/transport/gnunet-service-transport_neighbours.c:1434
#, fuzzy
msgid "# bandwidth quota violations by other peers"
msgstr "Verfolgt die Bandbreitennutzung von gnunetd"
-#: src/transport/gnunet-service-transport_neighbours.c:1467
+#: src/transport/gnunet-service-transport_neighbours.c:1450
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2613
+#: src/transport/gnunet-service-transport_neighbours.c:2596
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:2628
-#: src/transport/gnunet-service-transport_neighbours.c:2662
+#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2645
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:2675
+#: src/transport/gnunet-service-transport_neighbours.c:2658
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:2708
+#: src/transport/gnunet-service-transport_neighbours.c:2691
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "COUNT Nachrichten versenden"
-#: src/transport/gnunet-service-transport_neighbours.c:2892
+#: src/transport/gnunet-service-transport_neighbours.c:2875
#, fuzzy
msgid "# unexpected SESSION ACK messages"
msgstr "# verschlüsselter PONG Nachrichten gesendet"
-#: src/transport/gnunet-service-transport_neighbours.c:2947
+#: src/transport/gnunet-service-transport_neighbours.c:2930
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2961
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2992
+#: src/transport/gnunet-service-transport_neighbours.c:2975
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3003
+#: src/transport/gnunet-service-transport_neighbours.c:2986
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3034
+#: src/transport/gnunet-service-transport_neighbours.c:3017
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3129
+#: src/transport/gnunet-service-transport_neighbours.c:3112
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# gap Anfragen verworfen: Kollision in RT"
@@ -5015,23 +5026,23 @@ msgstr "# PING Nachrichten erstellt"
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:989
+#: src/transport/gnunet-service-transport_validation.c:1001
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:998
+#: src/transport/gnunet-service-transport_validation.c:1010
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1120
+#: src/transport/gnunet-service-transport_validation.c:1135
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1145
+#: src/transport/gnunet-service-transport_validation.c:1164
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1199
+#: src/transport/gnunet-service-transport_validation.c:1218
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Adresse des Knotens `%s' konnte nicht ermittelt werden.\n"
@@ -5244,92 +5255,92 @@ msgstr "# Bytes gesendet über TCP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:590
+#: src/transport/plugin_transport_tcp.c:591
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:766
-#: src/transport/plugin_transport_tcp.c:855
-#: src/transport/plugin_transport_tcp.c:905
-#: src/transport/plugin_transport_tcp.c:991
-#: src/transport/plugin_transport_tcp.c:1129
-#: src/transport/plugin_transport_tcp.c:1146
+#: src/transport/plugin_transport_tcp.c:767
+#: src/transport/plugin_transport_tcp.c:856
+#: src/transport/plugin_transport_tcp.c:906
+#: src/transport/plugin_transport_tcp.c:992
+#: src/transport/plugin_transport_tcp.c:1130
+#: src/transport/plugin_transport_tcp.c:1147
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# Bytes gesendet über TCP"
-#: src/transport/plugin_transport_tcp.c:773
-#: src/transport/plugin_transport_tcp.c:962
-#: src/transport/plugin_transport_tcp.c:1806
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:774
+#: src/transport/plugin_transport_tcp.c:963
+#: src/transport/plugin_transport_tcp.c:1807
+#: src/transport/plugin_transport_tcp.c:2424
#, fuzzy
msgid "# TCP sessions active"
msgstr "# Sitzungsschlüssel akzeptiert"
-#: src/transport/plugin_transport_tcp.c:859
+#: src/transport/plugin_transport_tcp.c:860
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:908
+#: src/transport/plugin_transport_tcp.c:909
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# Bytes des Typs %d übertragen"
-#: src/transport/plugin_transport_tcp.c:995
+#: src/transport/plugin_transport_tcp.c:996
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/transport/plugin_transport_tcp.c:1335
+#: src/transport/plugin_transport_tcp.c:1336
#, c-format
msgid "Address of unexpected length: %u\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1446
+#: src/transport/plugin_transport_tcp.c:1447
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1847
+#: src/transport/plugin_transport_tcp.c:1848
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/transport/plugin_transport_tcp.c:2018
+#: src/transport/plugin_transport_tcp.c:2019
msgid "# bytes received via TCP"
msgstr "# Bytes empfangen über TCP"
-#: src/transport/plugin_transport_tcp.c:2088
+#: src/transport/plugin_transport_tcp.c:2089
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2312 src/util/service.c:946
+#: src/transport/plugin_transport_tcp.c:2313 src/util/service.c:946
#: src/util/service.c:952
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2326
+#: src/transport/plugin_transport_tcp.c:2327
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Fehler beim Starten der Collection.\n"
-#: src/transport/plugin_transport_tcp.c:2388
+#: src/transport/plugin_transport_tcp.c:2389
#, fuzzy, c-format
msgid "Failed to find option %s in section %s!\n"
msgstr "Fehler beim Binden an UDP Port %d.\n"
-#: src/transport/plugin_transport_tcp.c:2411
+#: src/transport/plugin_transport_tcp.c:2412
#, 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:2415
+#: src/transport/plugin_transport_tcp.c:2416
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2419
+#: src/transport/plugin_transport_tcp.c:2420
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
@@ -5379,7 +5390,7 @@ msgstr ""
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/transport/plugin_transport_unix.c:1351
+#: src/transport/plugin_transport_unix.c:1346
#, fuzzy
msgid "Failed to open UNIX sockets\n"
msgstr "Datei wurde als `%s' gespeichert.\n"
@@ -5637,7 +5648,7 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
msgid "Attempt to connect to `%s' failed\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/util/container_bloomfilter.c:510
+#: src/util/container_bloomfilter.c:518
#, c-format
msgid ""
"Size of file on disk is incorrect for this Bloom filter (want %llu, have "
@@ -5716,17 +5727,17 @@ msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n"
msgid "`%s' failed for drive `%S': %u\n"
msgstr "`%s' fehlgeschlagen für Laufwerk %s: %u\n"
-#: src/util/disk.c:1135
+#: src/util/disk.c:1140
#, fuzzy, c-format
msgid "Expected `%s' to be a directory!\n"
msgstr "`%s' erwartet, dass `%s' ein Verzeichnis ist!\n"
-#: src/util/disk.c:1489 src/util/service.c:1665
+#: src/util/disk.c:1494 src/util/service.c:1665
#, fuzzy, c-format
msgid "Cannot obtain information about user `%s': %s\n"
msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n"
-#: src/util/disk.c:1861
+#: src/util/disk.c:1866
#, fuzzy, c-format
msgid "No `%s' specified for service `%s' in configuration.\n"
msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n"
@@ -5885,14 +5896,14 @@ msgid ""
"Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
msgstr ""
-#: src/util/os_installation.c:329
+#: src/util/os_installation.c:325
#, c-format
msgid ""
"Could not determine installation path for %s. Set `%s' environment "
"variable.\n"
msgstr ""
-#: src/util/os_installation.c:526
+#: src/util/os_installation.c:522
#, fuzzy, c-format
msgid "Could not find binary `%s' in PATH!\n"
msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
@@ -6188,7 +6199,7 @@ msgstr ""
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1071
+#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1069
#, fuzzy
msgid "# Active tunnels"
msgstr "GNUnet Konfiguration"
@@ -6198,96 +6209,96 @@ msgstr "GNUnet Konfiguration"
msgid "# peers connected to mesh tunnels"
msgstr "# verbundener Knoten"
-#: src/vpn/gnunet-service-vpn.c:699
+#: src/vpn/gnunet-service-vpn.c:698
#, fuzzy
msgid "# Bytes given to mesh for transmission"
msgstr "# PING Nachrichten erstellt"
-#: src/vpn/gnunet-service-vpn.c:737
+#: src/vpn/gnunet-service-vpn.c:736
#, fuzzy
msgid "# Bytes dropped in mesh queue (overflow)"
msgstr "# Bytes verworfen von UDP (outgoing)"
-#: src/vpn/gnunet-service-vpn.c:772
+#: src/vpn/gnunet-service-vpn.c:770
#, fuzzy
msgid "# Mesh tunnels created"
msgstr "# dht Anfragen weitergeleitet"
-#: src/vpn/gnunet-service-vpn.c:795
+#: src/vpn/gnunet-service-vpn.c:793
#, fuzzy
msgid "Failed to setup mesh tunnel!\n"
msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n"
-#: src/vpn/gnunet-service-vpn.c:973
+#: src/vpn/gnunet-service-vpn.c:971
#, c-format
msgid "Protocol %u not supported, dropping\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1291
+#: src/vpn/gnunet-service-vpn.c:1289
msgid "# ICMPv4 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1312
+#: src/vpn/gnunet-service-vpn.c:1310
msgid "# ICMPv6 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1517
+#: src/vpn/gnunet-service-vpn.c:1515
#, fuzzy
msgid "# Packets received from TUN interface"
msgstr "Empfangene Client-Nachricht ist ungültig.\n"
-#: src/vpn/gnunet-service-vpn.c:1555 src/vpn/gnunet-service-vpn.c:1596
+#: src/vpn/gnunet-service-vpn.c:1553 src/vpn/gnunet-service-vpn.c:1594
#, c-format
msgid "Packet received for unmapped destination `%s' (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1606
+#: src/vpn/gnunet-service-vpn.c:1604
msgid "Received IPv4 packet with options (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1620
+#: src/vpn/gnunet-service-vpn.c:1618
#, c-format
msgid "Received packet of unknown protocol %d from TUN (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1704
+#: src/vpn/gnunet-service-vpn.c:1702
#, fuzzy
msgid "# ICMP packets received from mesh"
msgstr "Empfangene Client-Nachricht ist ungültig.\n"
-#: src/vpn/gnunet-service-vpn.c:2045
+#: src/vpn/gnunet-service-vpn.c:2043
#, fuzzy
msgid "# UDP packets received from mesh"
msgstr "Empfangene Client-Nachricht ist ungültig.\n"
-#: src/vpn/gnunet-service-vpn.c:2203
+#: src/vpn/gnunet-service-vpn.c:2201
#, fuzzy
msgid "# TCP packets received from mesh"
msgstr "Empfangene Client-Nachricht ist ungültig.\n"
-#: src/vpn/gnunet-service-vpn.c:2354
+#: src/vpn/gnunet-service-vpn.c:2352
msgid "Failed to find unallocated IPv4 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2409
+#: src/vpn/gnunet-service-vpn.c:2407
#, fuzzy
msgid "Failed to find unallocated IPv6 address in VPN's range\n"
msgstr "Die öffentliche IPv6-Adresse konnte nicht ermittelt werden!\n"
-#: src/vpn/gnunet-service-vpn.c:2448 src/vpn/gnunet-service-vpn.c:2661
+#: src/vpn/gnunet-service-vpn.c:2446 src/vpn/gnunet-service-vpn.c:2659
#, fuzzy
msgid "# Active destinations"
msgstr "GNUnet Konfiguration"
-#: src/vpn/gnunet-service-vpn.c:2734
+#: src/vpn/gnunet-service-vpn.c:2732
msgid "Failed to allocate IP address for new destination\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3141
+#: src/vpn/gnunet-service-vpn.c:3139
msgid "IPv6 support disabled as this system does not support IPv6\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3173
+#: src/vpn/gnunet-service-vpn.c:3171
msgid "IPv4 support disabled as this system does not support IPv4\n"
msgstr ""
@@ -6363,18 +6374,18 @@ msgstr "# Bytes empfangen über UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/include/gnunet_common.h:507 src/include/gnunet_common.h:512
-#: src/include/gnunet_common.h:518
+#: src/include/gnunet_common.h:515 src/include/gnunet_common.h:520
+#: src/include/gnunet_common.h:526
#, fuzzy, c-format
msgid "Assertion failed at %s:%d.\n"
msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
-#: src/include/gnunet_common.h:528
+#: src/include/gnunet_common.h:536
#, fuzzy, c-format
msgid "External protocol violation detected at %s:%d.\n"
msgstr "Absicherung fehlgeschlagen bei %s:%d.\n"
-#: src/include/gnunet_common.h:549 src/include/gnunet_common.h:556
+#: src/include/gnunet_common.h:557 src/include/gnunet_common.h:564
#, fuzzy, c-format
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"
diff --git a/po/es.po b/po/es.po
index ea564e79c..5d92bc09d 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0e\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2012-07-20 19:29+0200\n"
+"POT-Creation-Date: 2012-08-17 00:17+0200\n"
"PO-Revision-Date: 2006-06-29 12:05+0200\n"
"Last-Translator: Miguel Angel Arruga <miguel.13@telefonica.net>\n"
"Language-Team: Spanish\n"
@@ -712,7 +712,7 @@ msgid "# keepalive messages sent"
msgstr "# mensajes PONG encriptados recibidos"
#: src/core/gnunet-service-core_kx.c:1236
-#: src/transport/gnunet-service-transport_validation.c:1096
+#: src/transport/gnunet-service-transport_validation.c:1108
#, fuzzy
msgid "# PONG messages received"
msgstr "# mensajes PONG encriptados recibidos"
@@ -814,11 +814,11 @@ msgstr "Mensaje no válido del tipo %u recibido. Omitiendo.\n"
#: src/fs/gnunet-service-fs_cp.c:622 src/fs/gnunet-service-fs_cp.c:1530
#: src/topology/gnunet-daemon-topology.c:709
#: src/topology/gnunet-daemon-topology.c:810
-#: src/transport/gnunet-service-transport_neighbours.c:890
-#: src/transport/gnunet-service-transport_neighbours.c:1106
-#: src/transport/gnunet-service-transport_neighbours.c:1115
-#: src/transport/gnunet-service-transport_neighbours.c:2637
-#: src/transport/gnunet-service-transport_neighbours.c:2899
+#: src/transport/gnunet-service-transport_neighbours.c:873
+#: src/transport/gnunet-service-transport_neighbours.c:1089
+#: src/transport/gnunet-service-transport_neighbours.c:1098
+#: src/transport/gnunet-service-transport_neighbours.c:2620
+#: src/transport/gnunet-service-transport_neighbours.c:2882
#, fuzzy
msgid "# peers connected"
msgstr "# de pares conectados"
@@ -884,8 +884,8 @@ msgstr ""
#: src/mysql/mysql.c:591 src/mysql/mysql.c:607
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:51 src/util/crypto_ksk.c:49
-#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:535
-#: src/include/gnunet_common.h:542
+#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:543
+#: src/include/gnunet_common.h:550
#, c-format
msgid "`%s' failed at %s:%d with error: %s\n"
msgstr "'%s' falló en %s: %d con el error: %s\n"
@@ -1662,11 +1662,11 @@ msgstr "El mensaje recibido del cliente es inválido\n"
msgid "Configured DNS exit `%s' is not working / valid.\n"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2674
+#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2673
msgid "# Inbound MESH tunnels created"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3033
+#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3032
#, c-format
msgid "`%s' must be installed SUID, refusing to run\n"
msgstr ""
@@ -1690,200 +1690,200 @@ msgstr "Recibido mensaje corrupto del par '%s' en %s:%d.\n"
msgid "Got duplicate service records for `%s:%u'\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:563
+#: src/exit/gnunet-daemon-exit.c:561
#, fuzzy
msgid "# Bytes transmitted via mesh tunnels"
msgstr "# bytes desencriptados"
-#: src/exit/gnunet-daemon-exit.c:679 src/exit/gnunet-daemon-exit.c:2069
-#: src/exit/gnunet-daemon-exit.c:2319 src/vpn/gnunet-service-vpn.c:1394
-#: src/vpn/gnunet-service-vpn.c:1795 src/vpn/gnunet-service-vpn.c:1958
+#: src/exit/gnunet-daemon-exit.c:678 src/exit/gnunet-daemon-exit.c:2068
+#: src/exit/gnunet-daemon-exit.c:2318 src/vpn/gnunet-service-vpn.c:1392
+#: src/vpn/gnunet-service-vpn.c:1793 src/vpn/gnunet-service-vpn.c:1956
msgid "# ICMPv4 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:716 src/exit/gnunet-daemon-exit.c:2128
-#: src/exit/gnunet-daemon-exit.c:2378 src/vpn/gnunet-service-vpn.c:1450
-#: src/vpn/gnunet-service-vpn.c:1854 src/vpn/gnunet-service-vpn.c:1991
+#: src/exit/gnunet-daemon-exit.c:715 src/exit/gnunet-daemon-exit.c:2127
+#: src/exit/gnunet-daemon-exit.c:2377 src/vpn/gnunet-service-vpn.c:1448
+#: src/vpn/gnunet-service-vpn.c:1852 src/vpn/gnunet-service-vpn.c:1989
msgid "# ICMPv6 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:756
+#: src/exit/gnunet-daemon-exit.c:755
msgid "# ICMP packets dropped (not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:763
+#: src/exit/gnunet-daemon-exit.c:762
msgid "ICMP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:840
+#: src/exit/gnunet-daemon-exit.c:839
msgid "UDP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:915
+#: src/exit/gnunet-daemon-exit.c:914
msgid "TCP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:968
+#: src/exit/gnunet-daemon-exit.c:967
#, fuzzy
msgid "# Packets received from TUN"
msgstr "# bytes recibidos vía HTTP"
-#: src/exit/gnunet-daemon-exit.c:982
+#: src/exit/gnunet-daemon-exit.c:981
#, fuzzy
msgid "# Bytes received from TUN"
msgstr "# bytes recibidos vía HTTP"
-#: src/exit/gnunet-daemon-exit.c:1008
+#: src/exit/gnunet-daemon-exit.c:1007
msgid "IPv4 packet options received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1035
+#: src/exit/gnunet-daemon-exit.c:1034
#, c-format
msgid "IPv4 packet with unsupported next header %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1081
+#: src/exit/gnunet-daemon-exit.c:1080
#, c-format
msgid "IPv6 packet with unsupported next header %d received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1089
+#: src/exit/gnunet-daemon-exit.c:1088
#, c-format
msgid "Packet from unknown protocol %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1471
+#: src/exit/gnunet-daemon-exit.c:1470
#, fuzzy
msgid "# TCP packets sent via TUN"
msgstr "# bytes enviados vía UDP"
-#: src/exit/gnunet-daemon-exit.c:1571
+#: src/exit/gnunet-daemon-exit.c:1570
#, fuzzy
msgid "# TCP service creation requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:1574 src/exit/gnunet-daemon-exit.c:1653
-#: src/exit/gnunet-daemon-exit.c:1763 src/exit/gnunet-daemon-exit.c:1993
-#: src/exit/gnunet-daemon-exit.c:2235 src/exit/gnunet-daemon-exit.c:2516
-#: src/exit/gnunet-daemon-exit.c:2616
+#: src/exit/gnunet-daemon-exit.c:1573 src/exit/gnunet-daemon-exit.c:1652
+#: src/exit/gnunet-daemon-exit.c:1762 src/exit/gnunet-daemon-exit.c:1992
+#: src/exit/gnunet-daemon-exit.c:2234 src/exit/gnunet-daemon-exit.c:2515
+#: src/exit/gnunet-daemon-exit.c:2615
#, fuzzy
msgid "# Bytes received from MESH"
msgstr "# bytes recibidos vía HTTP"
-#: src/exit/gnunet-daemon-exit.c:1607 src/exit/gnunet-daemon-exit.c:2638
+#: src/exit/gnunet-daemon-exit.c:1606 src/exit/gnunet-daemon-exit.c:2637
#, c-format
msgid "No service found for %s on port %d!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1611
+#: src/exit/gnunet-daemon-exit.c:1610
#, fuzzy
msgid "# TCP requests dropped (no such service)"
msgstr "# Anuncios de los pares recibidos"
-#: src/exit/gnunet-daemon-exit.c:1656
+#: src/exit/gnunet-daemon-exit.c:1655
#, fuzzy
msgid "# TCP IP-exit creation requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:1766
+#: src/exit/gnunet-daemon-exit.c:1765
#, fuzzy
msgid "# TCP data requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:1780
+#: src/exit/gnunet-daemon-exit.c:1779
#, fuzzy
msgid "# TCP DATA requests dropped (no session)"
msgstr "# Anuncios de los pares recibidos"
-#: src/exit/gnunet-daemon-exit.c:1830
+#: src/exit/gnunet-daemon-exit.c:1829
#, fuzzy
msgid "# ICMP packets sent via TUN"
msgstr "# bytes enviados vía UDP"
-#: src/exit/gnunet-daemon-exit.c:1996
+#: src/exit/gnunet-daemon-exit.c:1995
#, fuzzy
msgid "# ICMP IP-exit requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:2238
+#: src/exit/gnunet-daemon-exit.c:2237
#, fuzzy
msgid "# ICMP service requests received via mesh"
msgstr "El mensaje recibido del cliente es inválido\n"
-#: src/exit/gnunet-daemon-exit.c:2304 src/vpn/gnunet-service-vpn.c:1384
-#: src/vpn/gnunet-service-vpn.c:1952
+#: src/exit/gnunet-daemon-exit.c:2303 src/vpn/gnunet-service-vpn.c:1382
+#: src/vpn/gnunet-service-vpn.c:1950
msgid "# ICMPv4 packets dropped (impossible PT to v6)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2363 src/vpn/gnunet-service-vpn.c:1420
-#: src/vpn/gnunet-service-vpn.c:1432 src/vpn/gnunet-service-vpn.c:1842
+#: src/exit/gnunet-daemon-exit.c:2362 src/vpn/gnunet-service-vpn.c:1418
+#: src/vpn/gnunet-service-vpn.c:1430 src/vpn/gnunet-service-vpn.c:1840
msgid "# ICMPv6 packets dropped (impossible PT to v4)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2413
+#: src/exit/gnunet-daemon-exit.c:2412
#, fuzzy
msgid "# UDP packets sent via TUN"
msgstr "# bytes enviados vía UDP"
-#: src/exit/gnunet-daemon-exit.c:2519
+#: src/exit/gnunet-daemon-exit.c:2518
#, fuzzy
msgid "# UDP IP-exit requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:2619
+#: src/exit/gnunet-daemon-exit.c:2618
#, fuzzy
msgid "# UDP service requests received via mesh"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/exit/gnunet-daemon-exit.c:2642
+#: src/exit/gnunet-daemon-exit.c:2641
#, fuzzy
msgid "# UDP requests dropped (no such service)"
msgstr "# Anuncios de los pares recibidos"
-#: src/exit/gnunet-daemon-exit.c:2883
+#: src/exit/gnunet-daemon-exit.c:2882
#, c-format
msgid "No addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2897 src/exit/gnunet-daemon-exit.c:2909
+#: src/exit/gnunet-daemon-exit.c:2896 src/exit/gnunet-daemon-exit.c:2908
#, c-format
msgid "Service `%s' configured for IPv4, but IPv4 is disabled!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2920
+#: src/exit/gnunet-daemon-exit.c:2919
#, c-format
msgid "No IP addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3049
+#: src/exit/gnunet-daemon-exit.c:3048
msgid ""
"This system does not support IPv4, will disable IPv4 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3057
+#: src/exit/gnunet-daemon-exit.c:3056
msgid ""
"This system does not support IPv6, will disable IPv6 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3064
+#: src/exit/gnunet-daemon-exit.c:3063
msgid ""
"Cannot enable IPv4 exit but disable IPv4 on TUN interface, will use "
"ENABLE_IPv4=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3070
+#: src/exit/gnunet-daemon-exit.c:3069
msgid ""
"Cannot enable IPv6 exit but disable IPv6 on TUN interface, will use "
"ENABLE_IPv6=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3076 src/pt/gnunet-daemon-pt.c:884
+#: src/exit/gnunet-daemon-exit.c:3075 src/pt/gnunet-daemon-pt.c:884
msgid "No useful service enabled. Exiting.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3241
+#: src/exit/gnunet-daemon-exit.c:3240
msgid "Daemon to run to provide an IP exit node for the VPN"
msgstr ""
@@ -3221,28 +3221,29 @@ msgstr "número de mensajes a usar por iteración"
msgid "Failed to connect to GNS\n"
msgstr "Fallo al conectar a gnunetd.\n"
-#: src/gns/gnunet-gns.c:341
-msgid "try to shorten a given GNS name"
-msgstr ""
+#: src/gns/gnunet-gns.c:358
+#, fuzzy
+msgid "try to shorten a given name"
+msgstr "Fallo al conectar a gnunetd.\n"
-#: src/gns/gnunet-gns.c:344
-msgid "Lookup a record using GNS (NOT IMPLEMENTED)"
+#: src/gns/gnunet-gns.c:361
+msgid "Lookup a record for the given name"
msgstr ""
-#: src/gns/gnunet-gns.c:347
+#: src/gns/gnunet-gns.c:364
msgid "Get the authority of a particular name"
msgstr ""
-#: src/gns/gnunet-gns.c:350
+#: src/gns/gnunet-gns.c:367
#, fuzzy
-msgid "Specify the type of the record lookup"
+msgid "Specify the type of the record to lookup"
msgstr "especifica la prioridad del contenido"
-#: src/gns/gnunet-gns.c:353
+#: src/gns/gnunet-gns.c:370
msgid "No unneeded output"
msgstr ""
-#: src/gns/gnunet-gns.c:367
+#: src/gns/gnunet-gns.c:384
msgid "GNUnet GNS access tool"
msgstr ""
@@ -3299,7 +3300,7 @@ msgstr "Falló al actualizar los datos del módulo '%s'\n"
msgid "Failed to connect to namestore\n"
msgstr "Fallo al conectarse a gnunetd"
-#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2667
+#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2901
#, fuzzy
msgid "Failed to start HTTP server\n"
msgstr "Falló al comenzar la recolección.\n"
@@ -3308,25 +3309,25 @@ msgstr "Falló al comenzar la recolección.\n"
msgid "GNUnet GNS first come first serve registration service"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2300
+#: src/gns/gnunet-gns-proxy.c:2532
#, fuzzy, c-format
msgid "Unable to import private key from file `%s'\n"
msgstr "Imposible crear la cuenta de usuario:"
-#: src/gns/gnunet-gns-proxy.c:2329
+#: src/gns/gnunet-gns-proxy.c:2561
#, fuzzy, c-format
msgid "Unable to import certificate %s\n"
msgstr "Imposible guardar el fichero de configuración '%s':"
-#: src/gns/gnunet-gns-proxy.c:3328
+#: src/gns/gnunet-gns-proxy.c:3578
msgid "listen on specified port"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3331
+#: src/gns/gnunet-gns-proxy.c:3581
msgid "pem file to use as CA"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3346
+#: src/gns/gnunet-gns-proxy.c:3596
msgid "GNUnet GNS proxy"
msgstr ""
@@ -3688,36 +3689,46 @@ msgstr "'%s' no esta disponible."
msgid "Could not start hostlist HTTP server on port %u\n"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:997
+#: src/integration-tests/connection_watchdog.c:1001
#, fuzzy, c-format
msgid "Transport plugin: `%s' port %llu\n"
msgstr "Probando transporte(s) %s\n"
-#: src/integration-tests/connection_watchdog.c:1030
+#: src/integration-tests/connection_watchdog.c:1034
#, fuzzy, c-format
msgid "Found %u transport plugins: `%s'\n"
msgstr "Probando transporte(s) %s\n"
-#: src/integration-tests/connection_watchdog.c:1089
+#: src/integration-tests/connection_watchdog.c:1093
msgid "Send ping messages to test connectivity (default == NO)"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1099
+#: src/integration-tests/connection_watchdog.c:1103
#: src/template/gnunet-template.c:71
#, fuzzy
msgid "help text"
msgstr "texto de ayuda para -t"
-#: src/mesh/gnunet-service-mesh.c:5904
+#: src/mesh/gnunet-service-mesh.c:7110
msgid "Wrong CORE service\n"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:6116
-#, fuzzy
-msgid "Mesh service is lacking key configuration settings. Exiting.\n"
+#: src/mesh/gnunet-service-mesh.c:7328 src/mesh/gnunet-service-mesh.c:7340
+#: src/mesh/gnunet-service-mesh.c:7352 src/mesh/gnunet-service-mesh.c:7364
+#: src/mesh/gnunet-service-mesh.c:7376 src/mesh/gnunet-service-mesh.c:7388
+#: src/mesh/gnunet-service-mesh.c:7400 src/mesh/gnunet-service-mesh.c:7412
+#, fuzzy, c-format
+msgid "Mesh service is lacking key configuration settings (%s). Exiting.\n"
msgstr "Configuración de GNUnet"
-#: src/mesh/gnunet-service-mesh.c:6125
+#: src/mesh/gnunet-service-mesh.c:7424 src/mesh/gnunet-service-mesh.c:7435
+#, fuzzy, c-format
+msgid ""
+"Mesh service is lacking key configuration settings (%s). Using default "
+"(%u).\n"
+msgstr "Configuración de GNUnet"
+
+#: src/mesh/gnunet-service-mesh.c:7446
#, fuzzy
msgid "Mesh service could not access hostkey. Exiting.\n"
msgstr "Imposible acceder a la información del espacio.\n"
@@ -4337,7 +4348,7 @@ msgid ""
"might have been lost!\n"
msgstr ""
-#: src/testbed/testbed_api.c:204
+#: src/testbed/testbed_api.c:246
#, fuzzy, c-format
msgid "Adding host %u failed with error: %s\n"
msgstr "'%s' falló con el código de error %d: %s"
@@ -4494,7 +4505,7 @@ msgstr ""
msgid "Starting service %s for peer `%4s'\n"
msgstr "Iniciada colección '%s'.\n"
-#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6155
+#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6172
#, fuzzy, c-format
msgid "Could not start `%s' process to copy configuration directory.\n"
msgstr "Imposible acceder a la información del espacio.\n"
@@ -4575,12 +4586,12 @@ msgstr ""
msgid "Unknown topology specification, can't connect peers!\n"
msgstr ""
-#: src/testing_old/testing_group.c:5945
-#, fuzzy
-msgid "Could not read hostkeys file!\n"
+#: src/testing_old/testing_group.c:5962
+#, fuzzy, c-format
+msgid "Could not read hostkeys file `%s'!\n"
msgstr "Imposible inicializar la aplicación '%s'\n"
-#: src/testing_old/testing_group.c:6012
+#: src/testing_old/testing_group.c:6029
#, fuzzy, c-format
msgid "Could not create configuration for peer number %u on `%s'!\n"
msgstr "Imposible acceder a la información del espacio.\n"
@@ -4833,116 +4844,116 @@ msgstr "# mensajes PONG encriptados recibidos"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1057
+#: src/transport/gnunet-service-transport_neighbours.c:1040
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/transport/gnunet-service-transport_neighbours.c:1174
-#: src/transport/gnunet-service-transport_neighbours.c:1511
+#: src/transport/gnunet-service-transport_neighbours.c:1157
+#: src/transport/gnunet-service-transport_neighbours.c:1494
#, fuzzy
msgid "# bytes in message queue for other peers"
msgstr "# bytes de mensajes salientes omitidos"
-#: src/transport/gnunet-service-transport_neighbours.c:1179
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# bytes recibidos por TCP"
-#: src/transport/gnunet-service-transport_neighbours.c:1184
+#: src/transport/gnunet-service-transport_neighbours.c:1167
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# bytes de mensajes salientes omitidos"
-#: src/transport/gnunet-service-transport_neighbours.c:1241
+#: src/transport/gnunet-service-transport_neighbours.c:1224
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1283
+#: src/transport/gnunet-service-transport_neighbours.c:1266
#, fuzzy
msgid "# keepalives sent"
msgstr "# claves de la sesión mandadas"
-#: src/transport/gnunet-service-transport_neighbours.c:1307
+#: src/transport/gnunet-service-transport_neighbours.c:1290
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "# mensajes defragmentados"
-#: src/transport/gnunet-service-transport_neighbours.c:1315
+#: src/transport/gnunet-service-transport_neighbours.c:1298
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "# mensajes defragmentados"
-#: src/transport/gnunet-service-transport_neighbours.c:1352
+#: src/transport/gnunet-service-transport_neighbours.c:1335
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "# mensajes defragmentados"
-#: src/transport/gnunet-service-transport_neighbours.c:1361
+#: src/transport/gnunet-service-transport_neighbours.c:1344
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "# mensajes defragmentados"
-#: src/transport/gnunet-service-transport_neighbours.c:1417
+#: src/transport/gnunet-service-transport_neighbours.c:1400
#, fuzzy
msgid "# messages discarded due to lack of neighbour record"
msgstr "# mensajes defragmentados"
-#: src/transport/gnunet-service-transport_neighbours.c:1451
+#: src/transport/gnunet-service-transport_neighbours.c:1434
msgid "# bandwidth quota violations by other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1467
+#: src/transport/gnunet-service-transport_neighbours.c:1450
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2613
+#: src/transport/gnunet-service-transport_neighbours.c:2596
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "envia COUNT mensajes"
-#: src/transport/gnunet-service-transport_neighbours.c:2628
-#: src/transport/gnunet-service-transport_neighbours.c:2662
+#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2645
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "envia COUNT mensajes"
-#: src/transport/gnunet-service-transport_neighbours.c:2675
+#: src/transport/gnunet-service-transport_neighbours.c:2658
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "envia COUNT mensajes"
-#: src/transport/gnunet-service-transport_neighbours.c:2708
+#: src/transport/gnunet-service-transport_neighbours.c:2691
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "envia COUNT mensajes"
-#: src/transport/gnunet-service-transport_neighbours.c:2892
+#: src/transport/gnunet-service-transport_neighbours.c:2875
#, fuzzy
msgid "# unexpected SESSION ACK messages"
msgstr "# de pares conectados"
-#: src/transport/gnunet-service-transport_neighbours.c:2947
+#: src/transport/gnunet-service-transport_neighbours.c:2930
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2961
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2992
+#: src/transport/gnunet-service-transport_neighbours.c:2975
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3003
+#: src/transport/gnunet-service-transport_neighbours.c:2986
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3034
+#: src/transport/gnunet-service-transport_neighbours.c:3017
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3129
+#: src/transport/gnunet-service-transport_neighbours.c:3112
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# Anuncios de los pares recibidos"
@@ -4981,23 +4992,23 @@ msgstr "# mensajes PONG encriptados recibidos"
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:989
+#: src/transport/gnunet-service-transport_validation.c:1001
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:998
+#: src/transport/gnunet-service-transport_validation.c:1010
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1120
+#: src/transport/gnunet-service-transport_validation.c:1135
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1145
+#: src/transport/gnunet-service-transport_validation.c:1164
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1199
+#: src/transport/gnunet-service-transport_validation.c:1218
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Imposible obtener la dirección del par '%s'.\n"
@@ -5204,92 +5215,92 @@ msgstr "# bytes enviados por TCP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# bytes omitidos por TCP (salientes)"
-#: src/transport/plugin_transport_tcp.c:590
+#: src/transport/plugin_transport_tcp.c:591
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:766
-#: src/transport/plugin_transport_tcp.c:855
-#: src/transport/plugin_transport_tcp.c:905
-#: src/transport/plugin_transport_tcp.c:991
-#: src/transport/plugin_transport_tcp.c:1129
-#: src/transport/plugin_transport_tcp.c:1146
+#: src/transport/plugin_transport_tcp.c:767
+#: src/transport/plugin_transport_tcp.c:856
+#: src/transport/plugin_transport_tcp.c:906
+#: src/transport/plugin_transport_tcp.c:992
+#: src/transport/plugin_transport_tcp.c:1130
+#: src/transport/plugin_transport_tcp.c:1147
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# bytes enviados por TCP"
-#: src/transport/plugin_transport_tcp.c:773
-#: src/transport/plugin_transport_tcp.c:962
-#: src/transport/plugin_transport_tcp.c:1806
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:774
+#: src/transport/plugin_transport_tcp.c:963
+#: src/transport/plugin_transport_tcp.c:1807
+#: src/transport/plugin_transport_tcp.c:2424
#, fuzzy
msgid "# TCP sessions active"
msgstr "# claves de la sesión aceptadas"
-#: src/transport/plugin_transport_tcp.c:859
+#: src/transport/plugin_transport_tcp.c:860
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# bytes omitidos por TCP (salientes)"
-#: src/transport/plugin_transport_tcp.c:908
+#: src/transport/plugin_transport_tcp.c:909
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# bytes desencriptados"
-#: src/transport/plugin_transport_tcp.c:995
+#: src/transport/plugin_transport_tcp.c:996
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# bytes omitidos por TCP (salientes)"
-#: src/transport/plugin_transport_tcp.c:1335
+#: src/transport/plugin_transport_tcp.c:1336
#, c-format
msgid "Address of unexpected length: %u\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1446
+#: src/transport/plugin_transport_tcp.c:1447
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1847
+#: src/transport/plugin_transport_tcp.c:1848
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/transport/plugin_transport_tcp.c:2018
+#: src/transport/plugin_transport_tcp.c:2019
msgid "# bytes received via TCP"
msgstr "# bytes recibidos por TCP"
-#: src/transport/plugin_transport_tcp.c:2088
+#: src/transport/plugin_transport_tcp.c:2089
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2312 src/util/service.c:946
+#: src/transport/plugin_transport_tcp.c:2313 src/util/service.c:946
#: src/util/service.c:952
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2326
+#: src/transport/plugin_transport_tcp.c:2327
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Falló al comenzar la recolección.\n"
-#: src/transport/plugin_transport_tcp.c:2388
+#: src/transport/plugin_transport_tcp.c:2389
#, fuzzy, c-format
msgid "Failed to find option %s in section %s!\n"
msgstr "Fallo al conectar a gnunetd.\n"
-#: src/transport/plugin_transport_tcp.c:2411
+#: src/transport/plugin_transport_tcp.c:2412
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2415
+#: src/transport/plugin_transport_tcp.c:2416
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2419
+#: src/transport/plugin_transport_tcp.c:2420
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
@@ -5339,7 +5350,7 @@ msgstr ""
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Argumento no válido: '%s'\n"
-#: src/transport/plugin_transport_unix.c:1351
+#: src/transport/plugin_transport_unix.c:1346
#, fuzzy
msgid "Failed to open UNIX sockets\n"
msgstr "Fichero almacenado en '%s'.\n"
@@ -5598,7 +5609,7 @@ msgstr "Fallo al conectar a gnunetd.\n"
msgid "Attempt to connect to `%s' failed\n"
msgstr "Fallo al conectar a gnunetd.\n"
-#: src/util/container_bloomfilter.c:510
+#: src/util/container_bloomfilter.c:518
#, c-format
msgid ""
"Size of file on disk is incorrect for this Bloom filter (want %llu, have "
@@ -5677,17 +5688,17 @@ msgstr "La verificación de la firma RSA fallo en %s: %d: %s\n"
msgid "`%s' failed for drive `%S': %u\n"
msgstr "'%s' falló para la unidad %s: %u\n"
-#: src/util/disk.c:1135
+#: src/util/disk.c:1140
#, fuzzy, c-format
msgid "Expected `%s' to be a directory!\n"
msgstr "¡'%s' se esperaba que '%s' fuera un directorio!\n"
-#: src/util/disk.c:1489 src/util/service.c:1665
+#: src/util/disk.c:1494 src/util/service.c:1665
#, fuzzy, c-format
msgid "Cannot obtain information about user `%s': %s\n"
msgstr "Imposible guardar el fichero de configuración '%s': %s.\n"
-#: src/util/disk.c:1861
+#: src/util/disk.c:1866
#, fuzzy, c-format
msgid "No `%s' specified for service `%s' in configuration.\n"
msgstr "¡Ninguna aplicación definida en la configuración!\n"
@@ -5844,14 +5855,14 @@ msgid ""
"Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
msgstr ""
-#: src/util/os_installation.c:329
+#: src/util/os_installation.c:325
#, c-format
msgid ""
"Could not determine installation path for %s. Set `%s' environment "
"variable.\n"
msgstr ""
-#: src/util/os_installation.c:526
+#: src/util/os_installation.c:522
#, fuzzy, c-format
msgid "Could not find binary `%s' in PATH!\n"
msgstr "¡Imposible encontrar el par '%s' en la tabla de enrutado!\n"
@@ -6148,7 +6159,7 @@ msgstr ""
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Argumento no válido: '%s'\n"
-#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1071
+#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1069
#, fuzzy
msgid "# Active tunnels"
msgstr "Configuración de GNUnet"
@@ -6158,96 +6169,96 @@ msgstr "Configuración de GNUnet"
msgid "# peers connected to mesh tunnels"
msgstr "# de pares conectados"
-#: src/vpn/gnunet-service-vpn.c:699
+#: src/vpn/gnunet-service-vpn.c:698
#, fuzzy
msgid "# Bytes given to mesh for transmission"
msgstr "# bytes de mensajes salientes omitidos"
-#: src/vpn/gnunet-service-vpn.c:737
+#: src/vpn/gnunet-service-vpn.c:736
#, fuzzy
msgid "# Bytes dropped in mesh queue (overflow)"
msgstr "# bytes omitidos por UDP (salientes)"
-#: src/vpn/gnunet-service-vpn.c:772
+#: src/vpn/gnunet-service-vpn.c:770
#, fuzzy
msgid "# Mesh tunnels created"
msgstr "# mensajes PONG encriptados recibidos"
-#: src/vpn/gnunet-service-vpn.c:795
+#: src/vpn/gnunet-service-vpn.c:793
#, fuzzy
msgid "Failed to setup mesh tunnel!\n"
msgstr "Fallo en las estadísticas del tráfico.\n"
-#: src/vpn/gnunet-service-vpn.c:973
+#: src/vpn/gnunet-service-vpn.c:971
#, c-format
msgid "Protocol %u not supported, dropping\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1291
+#: src/vpn/gnunet-service-vpn.c:1289
msgid "# ICMPv4 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1312
+#: src/vpn/gnunet-service-vpn.c:1310
msgid "# ICMPv6 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1517
+#: src/vpn/gnunet-service-vpn.c:1515
#, fuzzy
msgid "# Packets received from TUN interface"
msgstr "El mensaje recibido del cliente es inválido\n"
-#: src/vpn/gnunet-service-vpn.c:1555 src/vpn/gnunet-service-vpn.c:1596
+#: src/vpn/gnunet-service-vpn.c:1553 src/vpn/gnunet-service-vpn.c:1594
#, c-format
msgid "Packet received for unmapped destination `%s' (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1606
+#: src/vpn/gnunet-service-vpn.c:1604
msgid "Received IPv4 packet with options (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1620
+#: src/vpn/gnunet-service-vpn.c:1618
#, c-format
msgid "Received packet of unknown protocol %d from TUN (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1704
+#: src/vpn/gnunet-service-vpn.c:1702
#, fuzzy
msgid "# ICMP packets received from mesh"
msgstr "El mensaje recibido del cliente es inválido\n"
-#: src/vpn/gnunet-service-vpn.c:2045
+#: src/vpn/gnunet-service-vpn.c:2043
#, fuzzy
msgid "# UDP packets received from mesh"
msgstr "El mensaje recibido del cliente es inválido\n"
-#: src/vpn/gnunet-service-vpn.c:2203
+#: src/vpn/gnunet-service-vpn.c:2201
#, fuzzy
msgid "# TCP packets received from mesh"
msgstr "El mensaje recibido del cliente es inválido\n"
-#: src/vpn/gnunet-service-vpn.c:2354
+#: src/vpn/gnunet-service-vpn.c:2352
msgid "Failed to find unallocated IPv4 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2409
+#: src/vpn/gnunet-service-vpn.c:2407
#, fuzzy
msgid "Failed to find unallocated IPv6 address in VPN's range\n"
msgstr "¡Falló al obtener mi dirección IPv6 (externa)!\n"
-#: src/vpn/gnunet-service-vpn.c:2448 src/vpn/gnunet-service-vpn.c:2661
+#: src/vpn/gnunet-service-vpn.c:2446 src/vpn/gnunet-service-vpn.c:2659
#, fuzzy
msgid "# Active destinations"
msgstr "Configuración de GNUnet"
-#: src/vpn/gnunet-service-vpn.c:2734
+#: src/vpn/gnunet-service-vpn.c:2732
msgid "Failed to allocate IP address for new destination\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3141
+#: src/vpn/gnunet-service-vpn.c:3139
msgid "IPv6 support disabled as this system does not support IPv6\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3173
+#: src/vpn/gnunet-service-vpn.c:3171
msgid "IPv4 support disabled as this system does not support IPv4\n"
msgstr ""
@@ -6323,18 +6334,18 @@ msgstr "# bytes recibidos vía UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/include/gnunet_common.h:507 src/include/gnunet_common.h:512
-#: src/include/gnunet_common.h:518
+#: src/include/gnunet_common.h:515 src/include/gnunet_common.h:520
+#: src/include/gnunet_common.h:526
#, fuzzy, c-format
msgid "Assertion failed at %s:%d.\n"
msgstr "La verificación de la firma RSA fallo en %s: %d: %s\n"
-#: src/include/gnunet_common.h:528
+#: src/include/gnunet_common.h:536
#, fuzzy, c-format
msgid "External protocol violation detected at %s:%d.\n"
msgstr "La verificación de la firma RSA fallo en %s: %d: %s\n"
-#: src/include/gnunet_common.h:549 src/include/gnunet_common.h:556
+#: src/include/gnunet_common.h:557 src/include/gnunet_common.h:564
#, fuzzy, c-format
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"
diff --git a/po/sv.po b/po/sv.po
index d8c73530f..768df821e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2012-07-20 19:29+0200\n"
+"POT-Creation-Date: 2012-08-17 00:17+0200\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"
@@ -707,7 +707,7 @@ msgid "# keepalive messages sent"
msgstr "# PING-meddelanden i klartext skickade"
#: src/core/gnunet-service-core_kx.c:1236
-#: src/transport/gnunet-service-transport_validation.c:1096
+#: src/transport/gnunet-service-transport_validation.c:1108
#, fuzzy
msgid "# PONG messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
@@ -809,11 +809,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:622 src/fs/gnunet-service-fs_cp.c:1530
#: src/topology/gnunet-daemon-topology.c:709
#: src/topology/gnunet-daemon-topology.c:810
-#: src/transport/gnunet-service-transport_neighbours.c:890
-#: src/transport/gnunet-service-transport_neighbours.c:1106
-#: src/transport/gnunet-service-transport_neighbours.c:1115
-#: src/transport/gnunet-service-transport_neighbours.c:2637
-#: src/transport/gnunet-service-transport_neighbours.c:2899
+#: src/transport/gnunet-service-transport_neighbours.c:873
+#: src/transport/gnunet-service-transport_neighbours.c:1089
+#: src/transport/gnunet-service-transport_neighbours.c:1098
+#: src/transport/gnunet-service-transport_neighbours.c:2620
+#: src/transport/gnunet-service-transport_neighbours.c:2882
#, fuzzy
msgid "# peers connected"
msgstr "# av anslutna parter"
@@ -879,8 +879,8 @@ msgstr ""
#: src/mysql/mysql.c:591 src/mysql/mysql.c:607
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:51 src/util/crypto_ksk.c:49
-#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:535
-#: src/include/gnunet_common.h:542
+#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:543
+#: src/include/gnunet_common.h:550
#, c-format
msgid "`%s' failed at %s:%d with error: %s\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
@@ -1643,11 +1643,11 @@ msgstr "Meddelande mottaget från klient är ogiltig.\n"
msgid "Configured DNS exit `%s' is not working / valid.\n"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2674
+#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2673
msgid "# Inbound MESH tunnels created"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3033
+#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3032
#, c-format
msgid "`%s' must be installed SUID, refusing to run\n"
msgstr ""
@@ -1671,199 +1671,199 @@ msgstr "Mottog skadat meddelande från motpart \"%s\"i %s:%d.\n"
msgid "Got duplicate service records for `%s:%u'\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:563
+#: src/exit/gnunet-daemon-exit.c:561
#, fuzzy
msgid "# Bytes transmitted via mesh tunnels"
msgstr "# byte skickade av typen %d"
-#: src/exit/gnunet-daemon-exit.c:679 src/exit/gnunet-daemon-exit.c:2069
-#: src/exit/gnunet-daemon-exit.c:2319 src/vpn/gnunet-service-vpn.c:1394
-#: src/vpn/gnunet-service-vpn.c:1795 src/vpn/gnunet-service-vpn.c:1958
+#: src/exit/gnunet-daemon-exit.c:678 src/exit/gnunet-daemon-exit.c:2068
+#: src/exit/gnunet-daemon-exit.c:2318 src/vpn/gnunet-service-vpn.c:1392
+#: src/vpn/gnunet-service-vpn.c:1793 src/vpn/gnunet-service-vpn.c:1956
msgid "# ICMPv4 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:716 src/exit/gnunet-daemon-exit.c:2128
-#: src/exit/gnunet-daemon-exit.c:2378 src/vpn/gnunet-service-vpn.c:1450
-#: src/vpn/gnunet-service-vpn.c:1854 src/vpn/gnunet-service-vpn.c:1991
+#: src/exit/gnunet-daemon-exit.c:715 src/exit/gnunet-daemon-exit.c:2127
+#: src/exit/gnunet-daemon-exit.c:2377 src/vpn/gnunet-service-vpn.c:1448
+#: src/vpn/gnunet-service-vpn.c:1852 src/vpn/gnunet-service-vpn.c:1989
msgid "# ICMPv6 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:756
+#: src/exit/gnunet-daemon-exit.c:755
msgid "# ICMP packets dropped (not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:763
+#: src/exit/gnunet-daemon-exit.c:762
msgid "ICMP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:840
+#: src/exit/gnunet-daemon-exit.c:839
msgid "UDP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:915
+#: src/exit/gnunet-daemon-exit.c:914
msgid "TCP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:968
+#: src/exit/gnunet-daemon-exit.c:967
#, fuzzy
msgid "# Packets received from TUN"
msgstr "# byte mottagna via HTTP"
-#: src/exit/gnunet-daemon-exit.c:982
+#: src/exit/gnunet-daemon-exit.c:981
#, fuzzy
msgid "# Bytes received from TUN"
msgstr "# byte mottagna via HTTP"
-#: src/exit/gnunet-daemon-exit.c:1008
+#: src/exit/gnunet-daemon-exit.c:1007
msgid "IPv4 packet options received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1035
+#: src/exit/gnunet-daemon-exit.c:1034
#, c-format
msgid "IPv4 packet with unsupported next header %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1081
+#: src/exit/gnunet-daemon-exit.c:1080
#, c-format
msgid "IPv6 packet with unsupported next header %d received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1089
+#: src/exit/gnunet-daemon-exit.c:1088
#, c-format
msgid "Packet from unknown protocol %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1471
+#: src/exit/gnunet-daemon-exit.c:1470
#, fuzzy
msgid "# TCP packets sent via TUN"
msgstr "# byte skickade via UDP"
-#: src/exit/gnunet-daemon-exit.c:1571
+#: src/exit/gnunet-daemon-exit.c:1570
msgid "# TCP service creation requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1574 src/exit/gnunet-daemon-exit.c:1653
-#: src/exit/gnunet-daemon-exit.c:1763 src/exit/gnunet-daemon-exit.c:1993
-#: src/exit/gnunet-daemon-exit.c:2235 src/exit/gnunet-daemon-exit.c:2516
-#: src/exit/gnunet-daemon-exit.c:2616
+#: src/exit/gnunet-daemon-exit.c:1573 src/exit/gnunet-daemon-exit.c:1652
+#: src/exit/gnunet-daemon-exit.c:1762 src/exit/gnunet-daemon-exit.c:1992
+#: src/exit/gnunet-daemon-exit.c:2234 src/exit/gnunet-daemon-exit.c:2515
+#: src/exit/gnunet-daemon-exit.c:2615
#, fuzzy
msgid "# Bytes received from MESH"
msgstr "# byte mottagna via HTTP"
-#: src/exit/gnunet-daemon-exit.c:1607 src/exit/gnunet-daemon-exit.c:2638
+#: src/exit/gnunet-daemon-exit.c:1606 src/exit/gnunet-daemon-exit.c:2637
#, c-format
msgid "No service found for %s on port %d!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1611
+#: src/exit/gnunet-daemon-exit.c:1610
#, fuzzy
msgid "# TCP requests dropped (no such service)"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:1656
+#: src/exit/gnunet-daemon-exit.c:1655
#, fuzzy
msgid "# TCP IP-exit creation requests received via mesh"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:1766
+#: src/exit/gnunet-daemon-exit.c:1765
#, fuzzy
msgid "# TCP data requests received via mesh"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:1780
+#: src/exit/gnunet-daemon-exit.c:1779
#, fuzzy
msgid "# TCP DATA requests dropped (no session)"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:1830
+#: src/exit/gnunet-daemon-exit.c:1829
#, fuzzy
msgid "# ICMP packets sent via TUN"
msgstr "# byte skickade via UDP"
-#: src/exit/gnunet-daemon-exit.c:1996
+#: src/exit/gnunet-daemon-exit.c:1995
#, fuzzy
msgid "# ICMP IP-exit requests received via mesh"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:2238
+#: src/exit/gnunet-daemon-exit.c:2237
#, fuzzy
msgid "# ICMP service requests received via mesh"
msgstr "Meddelande mottaget från klient är ogiltig.\n"
-#: src/exit/gnunet-daemon-exit.c:2304 src/vpn/gnunet-service-vpn.c:1384
-#: src/vpn/gnunet-service-vpn.c:1952
+#: src/exit/gnunet-daemon-exit.c:2303 src/vpn/gnunet-service-vpn.c:1382
+#: src/vpn/gnunet-service-vpn.c:1950
msgid "# ICMPv4 packets dropped (impossible PT to v6)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2363 src/vpn/gnunet-service-vpn.c:1420
-#: src/vpn/gnunet-service-vpn.c:1432 src/vpn/gnunet-service-vpn.c:1842
+#: src/exit/gnunet-daemon-exit.c:2362 src/vpn/gnunet-service-vpn.c:1418
+#: src/vpn/gnunet-service-vpn.c:1430 src/vpn/gnunet-service-vpn.c:1840
msgid "# ICMPv6 packets dropped (impossible PT to v4)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2413
+#: src/exit/gnunet-daemon-exit.c:2412
#, fuzzy
msgid "# UDP packets sent via TUN"
msgstr "# byte skickade via UDP"
-#: src/exit/gnunet-daemon-exit.c:2519
+#: src/exit/gnunet-daemon-exit.c:2518
#, fuzzy
msgid "# UDP IP-exit requests received via mesh"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:2619
+#: src/exit/gnunet-daemon-exit.c:2618
#, fuzzy
msgid "# UDP service requests received via mesh"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:2642
+#: src/exit/gnunet-daemon-exit.c:2641
#, fuzzy
msgid "# UDP requests dropped (no such service)"
msgstr "# byte mottogs via TCP"
-#: src/exit/gnunet-daemon-exit.c:2883
+#: src/exit/gnunet-daemon-exit.c:2882
#, c-format
msgid "No addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2897 src/exit/gnunet-daemon-exit.c:2909
+#: src/exit/gnunet-daemon-exit.c:2896 src/exit/gnunet-daemon-exit.c:2908
#, c-format
msgid "Service `%s' configured for IPv4, but IPv4 is disabled!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2920
+#: src/exit/gnunet-daemon-exit.c:2919
#, c-format
msgid "No IP addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3049
+#: src/exit/gnunet-daemon-exit.c:3048
msgid ""
"This system does not support IPv4, will disable IPv4 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3057
+#: src/exit/gnunet-daemon-exit.c:3056
msgid ""
"This system does not support IPv6, will disable IPv6 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3064
+#: src/exit/gnunet-daemon-exit.c:3063
msgid ""
"Cannot enable IPv4 exit but disable IPv4 on TUN interface, will use "
"ENABLE_IPv4=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3070
+#: src/exit/gnunet-daemon-exit.c:3069
msgid ""
"Cannot enable IPv6 exit but disable IPv6 on TUN interface, will use "
"ENABLE_IPv6=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3076 src/pt/gnunet-daemon-pt.c:884
+#: src/exit/gnunet-daemon-exit.c:3075 src/pt/gnunet-daemon-pt.c:884
msgid "No useful service enabled. Exiting.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3241
+#: src/exit/gnunet-daemon-exit.c:3240
msgid "Daemon to run to provide an IP exit node for the VPN"
msgstr ""
@@ -3174,28 +3174,29 @@ msgstr "antal meddelanden att använda per iteration"
msgid "Failed to connect to GNS\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/gns/gnunet-gns.c:341
-msgid "try to shorten a given GNS name"
-msgstr ""
+#: src/gns/gnunet-gns.c:358
+#, fuzzy
+msgid "try to shorten a given name"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/gns/gnunet-gns.c:344
-msgid "Lookup a record using GNS (NOT IMPLEMENTED)"
+#: src/gns/gnunet-gns.c:361
+msgid "Lookup a record for the given name"
msgstr ""
-#: src/gns/gnunet-gns.c:347
+#: src/gns/gnunet-gns.c:364
msgid "Get the authority of a particular name"
msgstr ""
-#: src/gns/gnunet-gns.c:350
+#: src/gns/gnunet-gns.c:367
#, fuzzy
-msgid "Specify the type of the record lookup"
+msgid "Specify the type of the record to lookup"
msgstr "ange prioritet för innehållet"
-#: src/gns/gnunet-gns.c:353
+#: src/gns/gnunet-gns.c:370
msgid "No unneeded output"
msgstr ""
-#: src/gns/gnunet-gns.c:367
+#: src/gns/gnunet-gns.c:384
msgid "GNUnet GNS access tool"
msgstr ""
@@ -3252,7 +3253,7 @@ msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
msgid "Failed to connect to namestore\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2667
+#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2901
#, fuzzy
msgid "Failed to start HTTP server\n"
msgstr "Misslyckades att starta samling.\n"
@@ -3261,25 +3262,25 @@ msgstr "Misslyckades att starta samling.\n"
msgid "GNUnet GNS first come first serve registration service"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2300
+#: src/gns/gnunet-gns-proxy.c:2532
#, fuzzy, c-format
msgid "Unable to import private key from file `%s'\n"
msgstr "Kunde inte skapa användarkonto:"
-#: src/gns/gnunet-gns-proxy.c:2329
+#: src/gns/gnunet-gns-proxy.c:2561
#, fuzzy, c-format
msgid "Unable to import certificate %s\n"
msgstr "Kunde inte spara konfigurationsfil \"%s\":"
-#: src/gns/gnunet-gns-proxy.c:3328
+#: src/gns/gnunet-gns-proxy.c:3578
msgid "listen on specified port"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3331
+#: src/gns/gnunet-gns-proxy.c:3581
msgid "pem file to use as CA"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3346
+#: src/gns/gnunet-gns-proxy.c:3596
msgid "GNUnet GNS proxy"
msgstr ""
@@ -3632,36 +3633,46 @@ msgstr "\"%s\" är inte tillgänglig."
msgid "Could not start hostlist HTTP server on port %u\n"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:997
+#: src/integration-tests/connection_watchdog.c:1001
#, fuzzy, c-format
msgid "Transport plugin: `%s' port %llu\n"
msgstr "Testar transport(er) %s\n"
-#: src/integration-tests/connection_watchdog.c:1030
+#: src/integration-tests/connection_watchdog.c:1034
#, fuzzy, c-format
msgid "Found %u transport plugins: `%s'\n"
msgstr "Testar transport(er) %s\n"
-#: src/integration-tests/connection_watchdog.c:1089
+#: src/integration-tests/connection_watchdog.c:1093
msgid "Send ping messages to test connectivity (default == NO)"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1099
+#: src/integration-tests/connection_watchdog.c:1103
#: src/template/gnunet-template.c:71
#, fuzzy
msgid "help text"
msgstr "hjälptext för -t"
-#: src/mesh/gnunet-service-mesh.c:5904
+#: src/mesh/gnunet-service-mesh.c:7110
msgid "Wrong CORE service\n"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:6116
-#, fuzzy
-msgid "Mesh service is lacking key configuration settings. Exiting.\n"
+#: src/mesh/gnunet-service-mesh.c:7328 src/mesh/gnunet-service-mesh.c:7340
+#: src/mesh/gnunet-service-mesh.c:7352 src/mesh/gnunet-service-mesh.c:7364
+#: src/mesh/gnunet-service-mesh.c:7376 src/mesh/gnunet-service-mesh.c:7388
+#: src/mesh/gnunet-service-mesh.c:7400 src/mesh/gnunet-service-mesh.c:7412
+#, fuzzy, c-format
+msgid "Mesh service is lacking key configuration settings (%s). Exiting.\n"
msgstr "GNUnet-konfiguration"
-#: src/mesh/gnunet-service-mesh.c:6125
+#: src/mesh/gnunet-service-mesh.c:7424 src/mesh/gnunet-service-mesh.c:7435
+#, fuzzy, c-format
+msgid ""
+"Mesh service is lacking key configuration settings (%s). Using default "
+"(%u).\n"
+msgstr "GNUnet-konfiguration"
+
+#: src/mesh/gnunet-service-mesh.c:7446
#, fuzzy
msgid "Mesh service could not access hostkey. Exiting.\n"
msgstr "Kunde inte komma åt namnrymdsinformation.\n"
@@ -4276,7 +4287,7 @@ msgid ""
"might have been lost!\n"
msgstr ""
-#: src/testbed/testbed_api.c:204
+#: src/testbed/testbed_api.c:246
#, fuzzy, c-format
msgid "Adding host %u failed with error: %s\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
@@ -4433,7 +4444,7 @@ msgstr ""
msgid "Starting service %s for peer `%4s'\n"
msgstr "Startade samling \"%s\".\n"
-#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6155
+#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6172
#, fuzzy, c-format
msgid "Could not start `%s' process to copy configuration directory.\n"
msgstr "Kunde inte skapa värdnyckel!\n"
@@ -4512,12 +4523,12 @@ msgstr ""
msgid "Unknown topology specification, can't connect peers!\n"
msgstr ""
-#: src/testing_old/testing_group.c:5945
-#, fuzzy
-msgid "Could not read hostkeys file!\n"
+#: src/testing_old/testing_group.c:5962
+#, fuzzy, c-format
+msgid "Could not read hostkeys file `%s'!\n"
msgstr "Kunde inte skapa värdnyckel!\n"
-#: src/testing_old/testing_group.c:6012
+#: src/testing_old/testing_group.c:6029
#, fuzzy, c-format
msgid "Could not create configuration for peer number %u on `%s'!\n"
msgstr "Kunde inte komma åt namnrymdsinformation.\n"
@@ -4766,115 +4777,115 @@ msgstr "# krypterade PONG-meddelanden mottagna"
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1057
+#: src/transport/gnunet-service-transport_neighbours.c:1040
#, fuzzy
msgid "# DISCONNECT messages sent"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/gnunet-service-transport_neighbours.c:1174
-#: src/transport/gnunet-service-transport_neighbours.c:1511
+#: src/transport/gnunet-service-transport_neighbours.c:1157
+#: src/transport/gnunet-service-transport_neighbours.c:1494
msgid "# bytes in message queue for other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1179
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# byte skickade av typen %d"
-#: src/transport/gnunet-service-transport_neighbours.c:1184
+#: src/transport/gnunet-service-transport_neighbours.c:1167
#, fuzzy
msgid "# transmission failures for messages to other peers"
msgstr "# byte skickade av typen %d"
-#: src/transport/gnunet-service-transport_neighbours.c:1241
+#: src/transport/gnunet-service-transport_neighbours.c:1224
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1283
+#: src/transport/gnunet-service-transport_neighbours.c:1266
#, fuzzy
msgid "# keepalives sent"
msgstr "# sessionsnycklar skickade"
-#: src/transport/gnunet-service-transport_neighbours.c:1307
+#: src/transport/gnunet-service-transport_neighbours.c:1290
#, fuzzy
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1315
+#: src/transport/gnunet-service-transport_neighbours.c:1298
#, fuzzy
msgid "# KEEPALIVE messages discarded (no session)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1352
+#: src/transport/gnunet-service-transport_neighbours.c:1335
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1361
+#: src/transport/gnunet-service-transport_neighbours.c:1344
#, fuzzy
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/transport/gnunet-service-transport_neighbours.c:1417
+#: src/transport/gnunet-service-transport_neighbours.c:1400
#, 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:1451
+#: src/transport/gnunet-service-transport_neighbours.c:1434
msgid "# bandwidth quota violations by other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1467
+#: src/transport/gnunet-service-transport_neighbours.c:1450
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2613
+#: src/transport/gnunet-service-transport_neighbours.c:2596
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:2628
-#: src/transport/gnunet-service-transport_neighbours.c:2662
+#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2645
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:2675
+#: src/transport/gnunet-service-transport_neighbours.c:2658
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:2708
+#: src/transport/gnunet-service-transport_neighbours.c:2691
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "skicka ANTAL meddelanden"
-#: src/transport/gnunet-service-transport_neighbours.c:2892
+#: src/transport/gnunet-service-transport_neighbours.c:2875
#, fuzzy
msgid "# unexpected SESSION ACK messages"
msgstr "# krypterade PONG-meddelanden skickade"
-#: src/transport/gnunet-service-transport_neighbours.c:2947
+#: src/transport/gnunet-service-transport_neighbours.c:2930
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2961
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2992
+#: src/transport/gnunet-service-transport_neighbours.c:2975
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3003
+#: src/transport/gnunet-service-transport_neighbours.c:2986
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3034
+#: src/transport/gnunet-service-transport_neighbours.c:3017
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3129
+#: src/transport/gnunet-service-transport_neighbours.c:3112
#, fuzzy
msgid "# disconnected from peer upon explicit request"
msgstr "# av anslutna parter"
@@ -4913,23 +4924,23 @@ msgstr "# PING-meddelanden skapade"
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:989
+#: src/transport/gnunet-service-transport_validation.c:1001
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:998
+#: src/transport/gnunet-service-transport_validation.c:1010
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1120
+#: src/transport/gnunet-service-transport_validation.c:1135
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1145
+#: src/transport/gnunet-service-transport_validation.c:1164
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1199
+#: src/transport/gnunet-service-transport_validation.c:1218
#, fuzzy, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
@@ -5139,92 +5150,92 @@ msgstr "# byte skickades via TCP"
msgid "# bytes dropped by SMTP (outgoing)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:590
+#: src/transport/plugin_transport_tcp.c:591
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:766
-#: src/transport/plugin_transport_tcp.c:855
-#: src/transport/plugin_transport_tcp.c:905
-#: src/transport/plugin_transport_tcp.c:991
-#: src/transport/plugin_transport_tcp.c:1129
-#: src/transport/plugin_transport_tcp.c:1146
+#: src/transport/plugin_transport_tcp.c:767
+#: src/transport/plugin_transport_tcp.c:856
+#: src/transport/plugin_transport_tcp.c:906
+#: src/transport/plugin_transport_tcp.c:992
+#: src/transport/plugin_transport_tcp.c:1130
+#: src/transport/plugin_transport_tcp.c:1147
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# byte skickades via TCP"
-#: src/transport/plugin_transport_tcp.c:773
-#: src/transport/plugin_transport_tcp.c:962
-#: src/transport/plugin_transport_tcp.c:1806
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:774
+#: src/transport/plugin_transport_tcp.c:963
+#: src/transport/plugin_transport_tcp.c:1807
+#: src/transport/plugin_transport_tcp.c:2424
#, fuzzy
msgid "# TCP sessions active"
msgstr "# sessionsnycklar accepterade"
-#: src/transport/plugin_transport_tcp.c:859
+#: src/transport/plugin_transport_tcp.c:860
#, fuzzy
msgid "# bytes discarded by TCP (timeout)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:908
+#: src/transport/plugin_transport_tcp.c:909
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# byte skickade av typen %d"
-#: src/transport/plugin_transport_tcp.c:995
+#: src/transport/plugin_transport_tcp.c:996
#, fuzzy
msgid "# bytes discarded by TCP (disconnect)"
msgstr "# byte kastade via TCP (utgående)"
-#: src/transport/plugin_transport_tcp.c:1335
+#: src/transport/plugin_transport_tcp.c:1336
#, c-format
msgid "Address of unexpected length: %u\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1446
+#: src/transport/plugin_transport_tcp.c:1447
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1847
+#: src/transport/plugin_transport_tcp.c:1848
#, fuzzy
msgid "# TCP WELCOME messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/transport/plugin_transport_tcp.c:2018
+#: src/transport/plugin_transport_tcp.c:2019
msgid "# bytes received via TCP"
msgstr "# byte mottogs via TCP"
-#: src/transport/plugin_transport_tcp.c:2088
+#: src/transport/plugin_transport_tcp.c:2089
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2312 src/util/service.c:946
+#: src/transport/plugin_transport_tcp.c:2313 src/util/service.c:946
#: src/util/service.c:952
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2326
+#: src/transport/plugin_transport_tcp.c:2327
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/transport/plugin_transport_tcp.c:2388
+#: src/transport/plugin_transport_tcp.c:2389
#, fuzzy, c-format
msgid "Failed to find option %s in section %s!\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
-#: src/transport/plugin_transport_tcp.c:2411
+#: src/transport/plugin_transport_tcp.c:2412
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2415
+#: src/transport/plugin_transport_tcp.c:2416
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2419
+#: src/transport/plugin_transport_tcp.c:2420
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
@@ -5274,7 +5285,7 @@ msgstr ""
msgid "Invalid IPv6 address: `%s'\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/transport/plugin_transport_unix.c:1351
+#: src/transport/plugin_transport_unix.c:1346
#, fuzzy
msgid "Failed to open UNIX sockets\n"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
@@ -5530,7 +5541,7 @@ msgstr "Kan inte ansluta till %u.%u.%u.%u:%u: %s\n"
msgid "Attempt to connect to `%s' failed\n"
msgstr " Anslutning misslyckades\n"
-#: src/util/container_bloomfilter.c:510
+#: src/util/container_bloomfilter.c:518
#, c-format
msgid ""
"Size of file on disk is incorrect for this Bloom filter (want %llu, have "
@@ -5609,17 +5620,17 @@ msgstr ""
msgid "`%s' failed for drive `%S': %u\n"
msgstr "\"%s\" misslyckades för enhet %s: %u\n"
-#: src/util/disk.c:1135
+#: src/util/disk.c:1140
#, fuzzy, c-format
msgid "Expected `%s' to be a directory!\n"
msgstr "\"%s\" förväntade att \"%s\" skulle vara en katalog!\n"
-#: src/util/disk.c:1489 src/util/service.c:1665
+#: src/util/disk.c:1494 src/util/service.c:1665
#, fuzzy, c-format
msgid "Cannot obtain information about user `%s': %s\n"
msgstr "Kan inte öppna konfigurationsfil \"%s\".\n"
-#: src/util/disk.c:1861
+#: src/util/disk.c:1866
#, fuzzy, c-format
msgid "No `%s' specified for service `%s' in configuration.\n"
msgstr "Inga applikationer definierade i konfiguration!\n"
@@ -5778,14 +5789,14 @@ msgid ""
"Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
msgstr ""
-#: src/util/os_installation.c:329
+#: src/util/os_installation.c:325
#, c-format
msgid ""
"Could not determine installation path for %s. Set `%s' environment "
"variable.\n"
msgstr ""
-#: src/util/os_installation.c:526
+#: src/util/os_installation.c:522
#, fuzzy, c-format
msgid "Could not find binary `%s' in PATH!\n"
msgstr "Kunde inte hitta motpart \"%s\" i routingtabell!\n"
@@ -6081,7 +6092,7 @@ msgstr ""
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1071
+#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1069
#, fuzzy
msgid "# Active tunnels"
msgstr "Nätverksanslutning"
@@ -6091,95 +6102,95 @@ msgstr "Nätverksanslutning"
msgid "# peers connected to mesh tunnels"
msgstr "# av anslutna parter"
-#: src/vpn/gnunet-service-vpn.c:699
+#: src/vpn/gnunet-service-vpn.c:698
#, fuzzy
msgid "# Bytes given to mesh for transmission"
msgstr "# PING-meddelanden skapade"
-#: src/vpn/gnunet-service-vpn.c:737
+#: src/vpn/gnunet-service-vpn.c:736
#, fuzzy
msgid "# Bytes dropped in mesh queue (overflow)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/vpn/gnunet-service-vpn.c:772
+#: src/vpn/gnunet-service-vpn.c:770
#, fuzzy
msgid "# Mesh tunnels created"
msgstr "# PING-meddelanden skapade"
-#: src/vpn/gnunet-service-vpn.c:795
+#: src/vpn/gnunet-service-vpn.c:793
#, fuzzy
msgid "Failed to setup mesh tunnel!\n"
msgstr "Kunde inte skapa värdnyckel!\n"
-#: src/vpn/gnunet-service-vpn.c:973
+#: src/vpn/gnunet-service-vpn.c:971
#, c-format
msgid "Protocol %u not supported, dropping\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1291
+#: src/vpn/gnunet-service-vpn.c:1289
msgid "# ICMPv4 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1312
+#: src/vpn/gnunet-service-vpn.c:1310
msgid "# ICMPv6 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1517
+#: src/vpn/gnunet-service-vpn.c:1515
#, fuzzy
msgid "# Packets received from TUN interface"
msgstr "Meddelande mottaget från klient är ogiltig.\n"
-#: src/vpn/gnunet-service-vpn.c:1555 src/vpn/gnunet-service-vpn.c:1596
+#: src/vpn/gnunet-service-vpn.c:1553 src/vpn/gnunet-service-vpn.c:1594
#, c-format
msgid "Packet received for unmapped destination `%s' (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1606
+#: src/vpn/gnunet-service-vpn.c:1604
msgid "Received IPv4 packet with options (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1620
+#: src/vpn/gnunet-service-vpn.c:1618
#, c-format
msgid "Received packet of unknown protocol %d from TUN (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1704
+#: src/vpn/gnunet-service-vpn.c:1702
#, fuzzy
msgid "# ICMP packets received from mesh"
msgstr "Meddelande mottaget från klient är ogiltig.\n"
-#: src/vpn/gnunet-service-vpn.c:2045
+#: src/vpn/gnunet-service-vpn.c:2043
#, fuzzy
msgid "# UDP packets received from mesh"
msgstr "Meddelande mottaget från klient är ogiltig.\n"
-#: src/vpn/gnunet-service-vpn.c:2203
+#: src/vpn/gnunet-service-vpn.c:2201
#, fuzzy
msgid "# TCP packets received from mesh"
msgstr "Meddelande mottaget från klient är ogiltig.\n"
-#: src/vpn/gnunet-service-vpn.c:2354
+#: src/vpn/gnunet-service-vpn.c:2352
msgid "Failed to find unallocated IPv4 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2409
+#: src/vpn/gnunet-service-vpn.c:2407
msgid "Failed to find unallocated IPv6 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2448 src/vpn/gnunet-service-vpn.c:2661
+#: src/vpn/gnunet-service-vpn.c:2446 src/vpn/gnunet-service-vpn.c:2659
#, fuzzy
msgid "# Active destinations"
msgstr "Nätverksanslutning"
-#: src/vpn/gnunet-service-vpn.c:2734
+#: src/vpn/gnunet-service-vpn.c:2732
msgid "Failed to allocate IP address for new destination\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3141
+#: src/vpn/gnunet-service-vpn.c:3139
msgid "IPv6 support disabled as this system does not support IPv6\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3173
+#: src/vpn/gnunet-service-vpn.c:3171
msgid "IPv4 support disabled as this system does not support IPv4\n"
msgstr ""
@@ -6255,18 +6266,18 @@ msgstr "# byte mottagna via UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/include/gnunet_common.h:507 src/include/gnunet_common.h:512
-#: src/include/gnunet_common.h:518
+#: src/include/gnunet_common.h:515 src/include/gnunet_common.h:520
+#: src/include/gnunet_common.h:526
#, fuzzy, c-format
msgid "Assertion failed at %s:%d.\n"
msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
-#: src/include/gnunet_common.h:528
+#: src/include/gnunet_common.h:536
#, c-format
msgid "External protocol violation detected at %s:%d.\n"
msgstr ""
-#: src/include/gnunet_common.h:549 src/include/gnunet_common.h:556
+#: src/include/gnunet_common.h:557 src/include/gnunet_common.h:564
#, c-format
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"
diff --git a/po/vi.po b/po/vi.po
index 0f66b11fd..c2f662e35 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.8.0a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2012-07-20 19:29+0200\n"
+"POT-Creation-Date: 2012-08-17 00:17+0200\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"
@@ -726,7 +726,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:1236
-#: src/transport/gnunet-service-transport_validation.c:1096
+#: src/transport/gnunet-service-transport_validation.c:1108
#, fuzzy
msgid "# PONG messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
@@ -828,11 +828,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:622 src/fs/gnunet-service-fs_cp.c:1530
#: src/topology/gnunet-daemon-topology.c:709
#: src/topology/gnunet-daemon-topology.c:810
-#: src/transport/gnunet-service-transport_neighbours.c:890
-#: src/transport/gnunet-service-transport_neighbours.c:1106
-#: src/transport/gnunet-service-transport_neighbours.c:1115
-#: src/transport/gnunet-service-transport_neighbours.c:2637
-#: src/transport/gnunet-service-transport_neighbours.c:2899
+#: src/transport/gnunet-service-transport_neighbours.c:873
+#: src/transport/gnunet-service-transport_neighbours.c:1089
+#: src/transport/gnunet-service-transport_neighbours.c:1098
+#: src/transport/gnunet-service-transport_neighbours.c:2620
+#: src/transport/gnunet-service-transport_neighbours.c:2882
#, fuzzy
msgid "# peers connected"
msgstr "# của các đồng đẳng đã kết nối"
@@ -899,8 +899,8 @@ msgstr "# các yêu cầu được lọc theo bộ lọc bloom"
#: src/mysql/mysql.c:591 src/mysql/mysql.c:607
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:51 src/util/crypto_ksk.c:49
-#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:535
-#: src/include/gnunet_common.h:542
+#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:543
+#: src/include/gnunet_common.h:550
#, c-format
msgid "`%s' failed at %s:%d with error: %s\n"
msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n"
@@ -1680,11 +1680,11 @@ msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
msgid "Configured DNS exit `%s' is not working / valid.\n"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2674
+#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2673
msgid "# Inbound MESH tunnels created"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3033
+#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3032
#, c-format
msgid "`%s' must be installed SUID, refusing to run\n"
msgstr ""
@@ -1708,200 +1708,200 @@ msgstr "Nhận được thông báo bị hỏng từ đồng đẳng « %s » tr
msgid "Got duplicate service records for `%s:%u'\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:563
+#: src/exit/gnunet-daemon-exit.c:561
#, fuzzy
msgid "# Bytes transmitted via mesh tunnels"
msgstr "# các byte được gửi"
-#: src/exit/gnunet-daemon-exit.c:679 src/exit/gnunet-daemon-exit.c:2069
-#: src/exit/gnunet-daemon-exit.c:2319 src/vpn/gnunet-service-vpn.c:1394
-#: src/vpn/gnunet-service-vpn.c:1795 src/vpn/gnunet-service-vpn.c:1958
+#: src/exit/gnunet-daemon-exit.c:678 src/exit/gnunet-daemon-exit.c:2068
+#: src/exit/gnunet-daemon-exit.c:2318 src/vpn/gnunet-service-vpn.c:1392
+#: src/vpn/gnunet-service-vpn.c:1793 src/vpn/gnunet-service-vpn.c:1956
msgid "# ICMPv4 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:716 src/exit/gnunet-daemon-exit.c:2128
-#: src/exit/gnunet-daemon-exit.c:2378 src/vpn/gnunet-service-vpn.c:1450
-#: src/vpn/gnunet-service-vpn.c:1854 src/vpn/gnunet-service-vpn.c:1991
+#: src/exit/gnunet-daemon-exit.c:715 src/exit/gnunet-daemon-exit.c:2127
+#: src/exit/gnunet-daemon-exit.c:2377 src/vpn/gnunet-service-vpn.c:1448
+#: src/vpn/gnunet-service-vpn.c:1852 src/vpn/gnunet-service-vpn.c:1989
msgid "# ICMPv6 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:756
+#: src/exit/gnunet-daemon-exit.c:755
msgid "# ICMP packets dropped (not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:763
+#: src/exit/gnunet-daemon-exit.c:762
msgid "ICMP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:840
+#: src/exit/gnunet-daemon-exit.c:839
msgid "UDP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:915
+#: src/exit/gnunet-daemon-exit.c:914
msgid "TCP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:968
+#: src/exit/gnunet-daemon-exit.c:967
#, fuzzy
msgid "# Packets received from TUN"
msgstr "# các byte đã nhận qua HTTP"
-#: src/exit/gnunet-daemon-exit.c:982
+#: src/exit/gnunet-daemon-exit.c:981
#, fuzzy
msgid "# Bytes received from TUN"
msgstr "# các byte đã nhận qua HTTP"
-#: src/exit/gnunet-daemon-exit.c:1008
+#: src/exit/gnunet-daemon-exit.c:1007
msgid "IPv4 packet options received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1035
+#: src/exit/gnunet-daemon-exit.c:1034
#, c-format
msgid "IPv4 packet with unsupported next header %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1081
+#: src/exit/gnunet-daemon-exit.c:1080
#, c-format
msgid "IPv6 packet with unsupported next header %d received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1089
+#: src/exit/gnunet-daemon-exit.c:1088
#, c-format
msgid "Packet from unknown protocol %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1471
+#: src/exit/gnunet-daemon-exit.c:1470
#, fuzzy
msgid "# TCP packets sent via TUN"
msgstr "# các byte đã gửi qua UDP"
-#: src/exit/gnunet-daemon-exit.c:1571
+#: src/exit/gnunet-daemon-exit.c:1570
#, fuzzy
msgid "# TCP service creation requests received via mesh"
msgstr "# các yêu cầu danh sách máy được nhận"
-#: src/exit/gnunet-daemon-exit.c:1574 src/exit/gnunet-daemon-exit.c:1653
-#: src/exit/gnunet-daemon-exit.c:1763 src/exit/gnunet-daemon-exit.c:1993
-#: src/exit/gnunet-daemon-exit.c:2235 src/exit/gnunet-daemon-exit.c:2516
-#: src/exit/gnunet-daemon-exit.c:2616
+#: src/exit/gnunet-daemon-exit.c:1573 src/exit/gnunet-daemon-exit.c:1652
+#: src/exit/gnunet-daemon-exit.c:1762 src/exit/gnunet-daemon-exit.c:1992
+#: src/exit/gnunet-daemon-exit.c:2234 src/exit/gnunet-daemon-exit.c:2515
+#: src/exit/gnunet-daemon-exit.c:2615
#, fuzzy
msgid "# Bytes received from MESH"
msgstr "# các byte đã nhận qua HTTP"
-#: src/exit/gnunet-daemon-exit.c:1607 src/exit/gnunet-daemon-exit.c:2638
+#: src/exit/gnunet-daemon-exit.c:1606 src/exit/gnunet-daemon-exit.c:2637
#, c-format
msgid "No service found for %s on port %d!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1611
+#: src/exit/gnunet-daemon-exit.c:1610
#, fuzzy
msgid "# TCP requests dropped (no such service)"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/exit/gnunet-daemon-exit.c:1656
+#: src/exit/gnunet-daemon-exit.c:1655
#, fuzzy
msgid "# TCP IP-exit creation requests received via mesh"
msgstr "# các yêu cầu danh sách máy được nhận"
-#: src/exit/gnunet-daemon-exit.c:1766
+#: src/exit/gnunet-daemon-exit.c:1765
#, fuzzy
msgid "# TCP data requests received via mesh"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/exit/gnunet-daemon-exit.c:1780
+#: src/exit/gnunet-daemon-exit.c:1779
#, fuzzy
msgid "# TCP DATA requests dropped (no session)"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/exit/gnunet-daemon-exit.c:1830
+#: src/exit/gnunet-daemon-exit.c:1829
#, fuzzy
msgid "# ICMP packets sent via TUN"
msgstr "# các byte đã gửi qua UDP"
-#: src/exit/gnunet-daemon-exit.c:1996
+#: src/exit/gnunet-daemon-exit.c:1995
#, fuzzy
msgid "# ICMP IP-exit requests received via mesh"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/exit/gnunet-daemon-exit.c:2238
+#: src/exit/gnunet-daemon-exit.c:2237
#, fuzzy
msgid "# ICMP service requests received via mesh"
msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
-#: src/exit/gnunet-daemon-exit.c:2304 src/vpn/gnunet-service-vpn.c:1384
-#: src/vpn/gnunet-service-vpn.c:1952
+#: src/exit/gnunet-daemon-exit.c:2303 src/vpn/gnunet-service-vpn.c:1382
+#: src/vpn/gnunet-service-vpn.c:1950
msgid "# ICMPv4 packets dropped (impossible PT to v6)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2363 src/vpn/gnunet-service-vpn.c:1420
-#: src/vpn/gnunet-service-vpn.c:1432 src/vpn/gnunet-service-vpn.c:1842
+#: src/exit/gnunet-daemon-exit.c:2362 src/vpn/gnunet-service-vpn.c:1418
+#: src/vpn/gnunet-service-vpn.c:1430 src/vpn/gnunet-service-vpn.c:1840
msgid "# ICMPv6 packets dropped (impossible PT to v4)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2413
+#: src/exit/gnunet-daemon-exit.c:2412
#, fuzzy
msgid "# UDP packets sent via TUN"
msgstr "# các byte đã gửi qua UDP"
-#: src/exit/gnunet-daemon-exit.c:2519
+#: src/exit/gnunet-daemon-exit.c:2518
#, fuzzy
msgid "# UDP IP-exit requests received via mesh"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/exit/gnunet-daemon-exit.c:2619
+#: src/exit/gnunet-daemon-exit.c:2618
#, fuzzy
msgid "# UDP service requests received via mesh"
msgstr "# các yêu cầu get (lấy) dht được nhận"
-#: src/exit/gnunet-daemon-exit.c:2642
+#: src/exit/gnunet-daemon-exit.c:2641
#, fuzzy
msgid "# UDP requests dropped (no such service)"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/exit/gnunet-daemon-exit.c:2883
+#: src/exit/gnunet-daemon-exit.c:2882
#, c-format
msgid "No addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2897 src/exit/gnunet-daemon-exit.c:2909
+#: src/exit/gnunet-daemon-exit.c:2896 src/exit/gnunet-daemon-exit.c:2908
#, c-format
msgid "Service `%s' configured for IPv4, but IPv4 is disabled!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2920
+#: src/exit/gnunet-daemon-exit.c:2919
#, c-format
msgid "No IP addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3049
+#: src/exit/gnunet-daemon-exit.c:3048
msgid ""
"This system does not support IPv4, will disable IPv4 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3057
+#: src/exit/gnunet-daemon-exit.c:3056
msgid ""
"This system does not support IPv6, will disable IPv6 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3064
+#: src/exit/gnunet-daemon-exit.c:3063
msgid ""
"Cannot enable IPv4 exit but disable IPv4 on TUN interface, will use "
"ENABLE_IPv4=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3070
+#: src/exit/gnunet-daemon-exit.c:3069
msgid ""
"Cannot enable IPv6 exit but disable IPv6 on TUN interface, will use "
"ENABLE_IPv6=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3076 src/pt/gnunet-daemon-pt.c:884
+#: src/exit/gnunet-daemon-exit.c:3075 src/pt/gnunet-daemon-pt.c:884
msgid "No useful service enabled. Exiting.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3241
+#: src/exit/gnunet-daemon-exit.c:3240
msgid "Daemon to run to provide an IP exit node for the VPN"
msgstr ""
@@ -3242,28 +3242,29 @@ msgstr "đặt số trình nền cần khởi chạy"
msgid "Failed to connect to GNS\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/gns/gnunet-gns.c:341
-msgid "try to shorten a given GNS name"
-msgstr ""
+#: src/gns/gnunet-gns.c:358
+#, fuzzy
+msgid "try to shorten a given name"
+msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/gns/gnunet-gns.c:344
-msgid "Lookup a record using GNS (NOT IMPLEMENTED)"
+#: src/gns/gnunet-gns.c:361
+msgid "Lookup a record for the given name"
msgstr ""
-#: src/gns/gnunet-gns.c:347
+#: src/gns/gnunet-gns.c:364
msgid "Get the authority of a particular name"
msgstr ""
-#: src/gns/gnunet-gns.c:350
+#: src/gns/gnunet-gns.c:367
#, fuzzy
-msgid "Specify the type of the record lookup"
+msgid "Specify the type of the record to lookup"
msgstr "xác định mức ưu tiên của nội dung"
-#: src/gns/gnunet-gns.c:353
+#: src/gns/gnunet-gns.c:370
msgid "No unneeded output"
msgstr ""
-#: src/gns/gnunet-gns.c:367
+#: src/gns/gnunet-gns.c:384
msgid "GNUnet GNS access tool"
msgstr ""
@@ -3321,7 +3322,7 @@ msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
msgid "Failed to connect to namestore\n"
msgstr "Không kết nối được đến trình nền gnunetd."
-#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2667
+#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2901
#, fuzzy
msgid "Failed to start HTTP server\n"
msgstr "Lỗi bắt đầu thu thập.\n"
@@ -3330,25 +3331,25 @@ msgstr "Lỗi bắt đầu thu thập.\n"
msgid "GNUnet GNS first come first serve registration service"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2300
+#: src/gns/gnunet-gns-proxy.c:2532
#, fuzzy, c-format
msgid "Unable to import private key from file `%s'\n"
msgstr "Không thể tạo tài khoản người dùng:"
-#: src/gns/gnunet-gns-proxy.c:2329
+#: src/gns/gnunet-gns-proxy.c:2561
#, fuzzy, c-format
msgid "Unable to import certificate %s\n"
msgstr "Không thể lưu tập tin cấu hình « %s »:"
-#: src/gns/gnunet-gns-proxy.c:3328
+#: src/gns/gnunet-gns-proxy.c:3578
msgid "listen on specified port"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3331
+#: src/gns/gnunet-gns-proxy.c:3581
msgid "pem file to use as CA"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3346
+#: src/gns/gnunet-gns-proxy.c:3596
msgid "GNUnet GNS proxy"
msgstr ""
@@ -3716,35 +3717,45 @@ msgstr "« %s » không sẵn sàng.\n"
msgid "Could not start hostlist HTTP server on port %u\n"
msgstr "Cổng cho trình phục vụ HTTP danh sách máy chủ thống nhất"
-#: src/integration-tests/connection_watchdog.c:997
+#: src/integration-tests/connection_watchdog.c:1001
#, fuzzy, c-format
msgid "Transport plugin: `%s' port %llu\n"
msgstr "Đang nạp các truyền tải « %s »\n"
-#: src/integration-tests/connection_watchdog.c:1030
+#: src/integration-tests/connection_watchdog.c:1034
#, fuzzy, c-format
msgid "Found %u transport plugins: `%s'\n"
msgstr "Đang nạp các truyền tải « %s »\n"
-#: src/integration-tests/connection_watchdog.c:1089
+#: src/integration-tests/connection_watchdog.c:1093
msgid "Send ping messages to test connectivity (default == NO)"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1099
+#: src/integration-tests/connection_watchdog.c:1103
#: src/template/gnunet-template.c:71
msgid "help text"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:5904
+#: src/mesh/gnunet-service-mesh.c:7110
msgid "Wrong CORE service\n"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:6116
-#, fuzzy
-msgid "Mesh service is lacking key configuration settings. Exiting.\n"
+#: src/mesh/gnunet-service-mesh.c:7328 src/mesh/gnunet-service-mesh.c:7340
+#: src/mesh/gnunet-service-mesh.c:7352 src/mesh/gnunet-service-mesh.c:7364
+#: src/mesh/gnunet-service-mesh.c:7376 src/mesh/gnunet-service-mesh.c:7388
+#: src/mesh/gnunet-service-mesh.c:7400 src/mesh/gnunet-service-mesh.c:7412
+#, fuzzy, c-format
+msgid "Mesh service is lacking key configuration settings (%s). Exiting.\n"
msgstr "Lưu cấu hình ngay bây giờ không?"
-#: src/mesh/gnunet-service-mesh.c:6125
+#: src/mesh/gnunet-service-mesh.c:7424 src/mesh/gnunet-service-mesh.c:7435
+#, fuzzy, c-format
+msgid ""
+"Mesh service is lacking key configuration settings (%s). Using default "
+"(%u).\n"
+msgstr "Lưu cấu hình ngay bây giờ không?"
+
+#: src/mesh/gnunet-service-mesh.c:7446
#, fuzzy
msgid "Mesh service could not access hostkey. Exiting.\n"
msgstr "Không thể truy cập đến thông tin về không gian tên.\n"
@@ -4366,7 +4377,7 @@ msgid ""
"might have been lost!\n"
msgstr ""
-#: src/testbed/testbed_api.c:204
+#: src/testbed/testbed_api.c:246
#, fuzzy, c-format
msgid "Adding host %u failed with error: %s\n"
msgstr "« %s » thất bại với mã lỗi %d: %s\n"
@@ -4523,7 +4534,7 @@ msgstr ""
msgid "Starting service %s for peer `%4s'\n"
msgstr "Đang bắt đầu tài về « %s »\n"
-#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6155
+#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6172
#, fuzzy, c-format
msgid "Could not start `%s' process to copy configuration directory.\n"
msgstr "Không thể truy cập đến thông tin về không gian tên.\n"
@@ -4604,12 +4615,12 @@ msgstr ""
msgid "Unknown topology specification, can't connect peers!\n"
msgstr "Lỗi cú pháp trong sự xác định địa hình học, đang bỏ qua các byte.\n"
-#: src/testing_old/testing_group.c:5945
-#, fuzzy
-msgid "Could not read hostkeys file!\n"
+#: src/testing_old/testing_group.c:5962
+#, fuzzy, c-format
+msgid "Could not read hostkeys file `%s'!\n"
msgstr "Không thể đọc danh sách bạn bè « %s »\n"
-#: src/testing_old/testing_group.c:6012
+#: src/testing_old/testing_group.c:6029
#, fuzzy, c-format
msgid "Could not create configuration for peer number %u on `%s'!\n"
msgstr "Không thể truy cập đến thông tin về không gian tên.\n"
@@ -4867,117 +4878,117 @@ 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:1057
+#: src/transport/gnunet-service-transport_neighbours.c:1040
#, 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:1174
-#: src/transport/gnunet-service-transport_neighbours.c:1511
+#: src/transport/gnunet-service-transport_neighbours.c:1157
+#: src/transport/gnunet-service-transport_neighbours.c:1494
#, 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:1179
+#: src/transport/gnunet-service-transport_neighbours.c:1162
#, fuzzy
msgid "# messages transmitted to other peers"
msgstr "# các byte kiểu %d được gửi "
-#: src/transport/gnunet-service-transport_neighbours.c:1184
+#: src/transport/gnunet-service-transport_neighbours.c:1167
#, 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:1241
+#: src/transport/gnunet-service-transport_neighbours.c:1224
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1283
+#: src/transport/gnunet-service-transport_neighbours.c:1266
#, fuzzy
msgid "# keepalives sent"
msgstr "# các khoá phiên chạy được gửi"
-#: src/transport/gnunet-service-transport_neighbours.c:1307
+#: src/transport/gnunet-service-transport_neighbours.c:1290
#, 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:1315
+#: src/transport/gnunet-service-transport_neighbours.c:1298
#, 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:1352
+#: src/transport/gnunet-service-transport_neighbours.c:1335
#, 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:1361
+#: src/transport/gnunet-service-transport_neighbours.c:1344
#, 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:1417
+#: src/transport/gnunet-service-transport_neighbours.c:1400
#, 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:1451
+#: src/transport/gnunet-service-transport_neighbours.c:1434
#, 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:1467
+#: src/transport/gnunet-service-transport_neighbours.c:1450
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2613
+#: src/transport/gnunet-service-transport_neighbours.c:2596
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:2628
-#: src/transport/gnunet-service-transport_neighbours.c:2662
+#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2645
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:2675
+#: src/transport/gnunet-service-transport_neighbours.c:2658
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:2708
+#: src/transport/gnunet-service-transport_neighbours.c:2691
#, fuzzy
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr "gửi ĐẾM thông báo"
-#: src/transport/gnunet-service-transport_neighbours.c:2892
+#: src/transport/gnunet-service-transport_neighbours.c:2875
#, 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:2947
+#: src/transport/gnunet-service-transport_neighbours.c:2930
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2961
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2992
+#: src/transport/gnunet-service-transport_neighbours.c:2975
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3003
+#: src/transport/gnunet-service-transport_neighbours.c:2986
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3034
+#: src/transport/gnunet-service-transport_neighbours.c:3017
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3129
+#: src/transport/gnunet-service-transport_neighbours.c:3112
#, 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"
@@ -5016,23 +5027,23 @@ msgstr "# các thông báo PING được tạo"
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:989
+#: src/transport/gnunet-service-transport_validation.c:1001
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:998
+#: src/transport/gnunet-service-transport_validation.c:1010
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1120
+#: src/transport/gnunet-service-transport_validation.c:1135
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1145
+#: src/transport/gnunet-service-transport_validation.c:1164
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1199
+#: src/transport/gnunet-service-transport_validation.c:1218
#, 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"
@@ -5238,92 +5249,92 @@ 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:590
+#: src/transport/plugin_transport_tcp.c:591
#, 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:766
-#: src/transport/plugin_transport_tcp.c:855
-#: src/transport/plugin_transport_tcp.c:905
-#: src/transport/plugin_transport_tcp.c:991
-#: src/transport/plugin_transport_tcp.c:1129
-#: src/transport/plugin_transport_tcp.c:1146
+#: src/transport/plugin_transport_tcp.c:767
+#: src/transport/plugin_transport_tcp.c:856
+#: src/transport/plugin_transport_tcp.c:906
+#: src/transport/plugin_transport_tcp.c:992
+#: src/transport/plugin_transport_tcp.c:1130
+#: src/transport/plugin_transport_tcp.c:1147
#, fuzzy
msgid "# bytes currently in TCP buffers"
msgstr "# các byte đã gừi qua TCP"
-#: src/transport/plugin_transport_tcp.c:773
-#: src/transport/plugin_transport_tcp.c:962
-#: src/transport/plugin_transport_tcp.c:1806
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:774
+#: src/transport/plugin_transport_tcp.c:963
+#: src/transport/plugin_transport_tcp.c:1807
+#: src/transport/plugin_transport_tcp.c:2424
#, fuzzy
msgid "# TCP sessions active"
msgstr "# các khoá phiên chạy được chấp nhận"
-#: src/transport/plugin_transport_tcp.c:859
+#: src/transport/plugin_transport_tcp.c:860
#, 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:908
+#: src/transport/plugin_transport_tcp.c:909
#, fuzzy
msgid "# bytes transmitted via TCP"
msgstr "# các byte được gửi"
-#: src/transport/plugin_transport_tcp.c:995
+#: src/transport/plugin_transport_tcp.c:996
#, 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:1335
+#: src/transport/plugin_transport_tcp.c:1336
#, fuzzy, c-format
msgid "Address of unexpected length: %u\n"
msgstr "Gặp sự kiện bất thường: %d\n"
-#: src/transport/plugin_transport_tcp.c:1446
+#: src/transport/plugin_transport_tcp.c:1447
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1847
+#: src/transport/plugin_transport_tcp.c:1848
#, 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:2018
+#: src/transport/plugin_transport_tcp.c:2019
msgid "# bytes received via TCP"
msgstr "# các byte đã nhận qua TCP"
-#: src/transport/plugin_transport_tcp.c:2088
+#: src/transport/plugin_transport_tcp.c:2089
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2312 src/util/service.c:946
+#: src/transport/plugin_transport_tcp.c:2313 src/util/service.c:946
#: src/util/service.c:952
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2326
+#: src/transport/plugin_transport_tcp.c:2327
#, fuzzy
msgid "Failed to start service.\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/transport/plugin_transport_tcp.c:2388
+#: src/transport/plugin_transport_tcp.c:2389
#, fuzzy, c-format
msgid "Failed to find option %s in section %s!\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
-#: src/transport/plugin_transport_tcp.c:2411
+#: src/transport/plugin_transport_tcp.c:2412
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2415
+#: src/transport/plugin_transport_tcp.c:2416
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2419
+#: src/transport/plugin_transport_tcp.c:2420
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
@@ -5373,7 +5384,7 @@ msgstr ""
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_unix.c:1351
+#: src/transport/plugin_transport_unix.c:1346
#, fuzzy
msgid "Failed to open UNIX sockets\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
@@ -5630,7 +5641,7 @@ msgstr "Không thể kết nối tới %s:%u: %s\n"
msgid "Attempt to connect to `%s' failed\n"
msgstr " Lỗi kết nối\n"
-#: src/util/container_bloomfilter.c:510
+#: src/util/container_bloomfilter.c:518
#, c-format
msgid ""
"Size of file on disk is incorrect for this Bloom filter (want %llu, have "
@@ -5707,17 +5718,17 @@ msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n"
msgid "`%s' failed for drive `%S': %u\n"
msgstr "« %s » thất bại cho ổ đĩa « %s »: %u\n"
-#: src/util/disk.c:1135
+#: src/util/disk.c:1140
#, c-format
msgid "Expected `%s' to be a directory!\n"
msgstr "Mong đợi « %s » là một thư mục.\n"
-#: src/util/disk.c:1489 src/util/service.c:1665
+#: src/util/disk.c:1494 src/util/service.c:1665
#, c-format
msgid "Cannot obtain information about user `%s': %s\n"
msgstr "Không thể lấy thông tin về người dùng « %s »: %s\n"
-#: src/util/disk.c:1861
+#: src/util/disk.c:1866
#, c-format
msgid "No `%s' specified for service `%s' in configuration.\n"
msgstr ""
@@ -5877,14 +5888,14 @@ msgid ""
"Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
msgstr ""
-#: src/util/os_installation.c:329
+#: src/util/os_installation.c:325
#, c-format
msgid ""
"Could not determine installation path for %s. Set `%s' environment "
"variable.\n"
msgstr ""
-#: src/util/os_installation.c:526
+#: src/util/os_installation.c:522
#, fuzzy, c-format
msgid "Could not find binary `%s' in PATH!\n"
msgstr "Không thể đọc danh sách bạn bè « %s »\n"
@@ -6177,7 +6188,7 @@ msgstr ""
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/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1071
+#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1069
#, fuzzy
msgid "# Active tunnels"
msgstr "# các kết nối dht"
@@ -6187,95 +6198,95 @@ msgstr "# các kết nối dht"
msgid "# peers connected to mesh tunnels"
msgstr "# của các đồng đẳng đã kết nối"
-#: src/vpn/gnunet-service-vpn.c:699
+#: src/vpn/gnunet-service-vpn.c:698
#, fuzzy
msgid "# Bytes given to mesh for transmission"
msgstr "# các thông báo PING được tạo"
-#: src/vpn/gnunet-service-vpn.c:737
+#: src/vpn/gnunet-service-vpn.c:736
#, fuzzy
msgid "# Bytes dropped in mesh queue (overflow)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/vpn/gnunet-service-vpn.c:772
+#: src/vpn/gnunet-service-vpn.c:770
#, fuzzy
msgid "# Mesh tunnels created"
msgstr "# các truy vấn lỗ hổng được định tuyến"
-#: src/vpn/gnunet-service-vpn.c:795
+#: src/vpn/gnunet-service-vpn.c:793
#, fuzzy
msgid "Failed to setup mesh tunnel!\n"
msgstr "Lỗi lấy thông kê về truyền tải.\n"
-#: src/vpn/gnunet-service-vpn.c:973
+#: src/vpn/gnunet-service-vpn.c:971
#, c-format
msgid "Protocol %u not supported, dropping\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1291
+#: src/vpn/gnunet-service-vpn.c:1289
msgid "# ICMPv4 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1312
+#: src/vpn/gnunet-service-vpn.c:1310
msgid "# ICMPv6 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1517
+#: src/vpn/gnunet-service-vpn.c:1515
#, fuzzy
msgid "# Packets received from TUN interface"
msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
-#: src/vpn/gnunet-service-vpn.c:1555 src/vpn/gnunet-service-vpn.c:1596
+#: src/vpn/gnunet-service-vpn.c:1553 src/vpn/gnunet-service-vpn.c:1594
#, c-format
msgid "Packet received for unmapped destination `%s' (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1606
+#: src/vpn/gnunet-service-vpn.c:1604
msgid "Received IPv4 packet with options (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1620
+#: src/vpn/gnunet-service-vpn.c:1618
#, c-format
msgid "Received packet of unknown protocol %d from TUN (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1704
+#: src/vpn/gnunet-service-vpn.c:1702
#, fuzzy
msgid "# ICMP packets received from mesh"
msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
-#: src/vpn/gnunet-service-vpn.c:2045
+#: src/vpn/gnunet-service-vpn.c:2043
#, fuzzy
msgid "# UDP packets received from mesh"
msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
-#: src/vpn/gnunet-service-vpn.c:2203
+#: src/vpn/gnunet-service-vpn.c:2201
#, fuzzy
msgid "# TCP packets received from mesh"
msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
-#: src/vpn/gnunet-service-vpn.c:2354
+#: src/vpn/gnunet-service-vpn.c:2352
msgid "Failed to find unallocated IPv4 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2409
+#: src/vpn/gnunet-service-vpn.c:2407
msgid "Failed to find unallocated IPv6 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2448 src/vpn/gnunet-service-vpn.c:2661
+#: src/vpn/gnunet-service-vpn.c:2446 src/vpn/gnunet-service-vpn.c:2659
#, fuzzy
msgid "# Active destinations"
msgstr "# các kết nối dht"
-#: src/vpn/gnunet-service-vpn.c:2734
+#: src/vpn/gnunet-service-vpn.c:2732
msgid "Failed to allocate IP address for new destination\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3141
+#: src/vpn/gnunet-service-vpn.c:3139
msgid "IPv6 support disabled as this system does not support IPv6\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3173
+#: src/vpn/gnunet-service-vpn.c:3171
msgid "IPv4 support disabled as this system does not support IPv4\n"
msgstr ""
@@ -6351,18 +6362,18 @@ msgstr "# các byte đã nhận qua UDP"
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/include/gnunet_common.h:507 src/include/gnunet_common.h:512
-#: src/include/gnunet_common.h:518
+#: src/include/gnunet_common.h:515 src/include/gnunet_common.h:520
+#: src/include/gnunet_common.h:526
#, fuzzy, c-format
msgid "Assertion failed at %s:%d.\n"
msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
-#: src/include/gnunet_common.h:528
+#: src/include/gnunet_common.h:536
#, fuzzy, c-format
msgid "External protocol violation detected at %s:%d.\n"
msgstr "Lỗi nội bộ : khẳng định không thành công tại %s:%d.\n"
-#: src/include/gnunet_common.h:549 src/include/gnunet_common.h:556
+#: src/include/gnunet_common.h:557 src/include/gnunet_common.h:564
#, c-format
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"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index e14329385..fc4cf6742 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: 2012-07-20 19:29+0200\n"
+"POT-Creation-Date: 2012-08-17 00:17+0200\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"
@@ -691,7 +691,7 @@ msgid "# keepalive messages sent"
msgstr ""
#: src/core/gnunet-service-core_kx.c:1236
-#: src/transport/gnunet-service-transport_validation.c:1096
+#: src/transport/gnunet-service-transport_validation.c:1108
msgid "# PONG messages received"
msgstr ""
@@ -782,11 +782,11 @@ msgstr ""
#: src/fs/gnunet-service-fs_cp.c:622 src/fs/gnunet-service-fs_cp.c:1530
#: src/topology/gnunet-daemon-topology.c:709
#: src/topology/gnunet-daemon-topology.c:810
-#: src/transport/gnunet-service-transport_neighbours.c:890
-#: src/transport/gnunet-service-transport_neighbours.c:1106
-#: src/transport/gnunet-service-transport_neighbours.c:1115
-#: src/transport/gnunet-service-transport_neighbours.c:2637
-#: src/transport/gnunet-service-transport_neighbours.c:2899
+#: src/transport/gnunet-service-transport_neighbours.c:873
+#: src/transport/gnunet-service-transport_neighbours.c:1089
+#: src/transport/gnunet-service-transport_neighbours.c:1098
+#: src/transport/gnunet-service-transport_neighbours.c:2620
+#: src/transport/gnunet-service-transport_neighbours.c:2882
msgid "# peers connected"
msgstr ""
@@ -848,8 +848,8 @@ msgstr ""
#: src/mysql/mysql.c:591 src/mysql/mysql.c:607
#: src/namestore/plugin_namestore_postgres.c:52
#: src/namestore/plugin_namestore_sqlite.c:51 src/util/crypto_ksk.c:49
-#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:535
-#: src/include/gnunet_common.h:542
+#: src/util/crypto_rsa.c:66 src/include/gnunet_common.h:543
+#: src/include/gnunet_common.h:550
#, fuzzy, c-format
msgid "`%s' failed at %s:%d with error: %s\n"
msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
@@ -1573,11 +1573,11 @@ msgstr ""
msgid "Configured DNS exit `%s' is not working / valid.\n"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2674
+#: src/dns/gnunet-service-dns.c:1497 src/exit/gnunet-daemon-exit.c:2673
msgid "# Inbound MESH tunnels created"
msgstr ""
-#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3033
+#: src/dns/gnunet-service-dns.c:1561 src/exit/gnunet-daemon-exit.c:3032
#, c-format
msgid "`%s' must be installed SUID, refusing to run\n"
msgstr ""
@@ -1601,183 +1601,183 @@ msgstr ""
msgid "Got duplicate service records for `%s:%u'\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:563
+#: src/exit/gnunet-daemon-exit.c:561
msgid "# Bytes transmitted via mesh tunnels"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:679 src/exit/gnunet-daemon-exit.c:2069
-#: src/exit/gnunet-daemon-exit.c:2319 src/vpn/gnunet-service-vpn.c:1394
-#: src/vpn/gnunet-service-vpn.c:1795 src/vpn/gnunet-service-vpn.c:1958
+#: src/exit/gnunet-daemon-exit.c:678 src/exit/gnunet-daemon-exit.c:2068
+#: src/exit/gnunet-daemon-exit.c:2318 src/vpn/gnunet-service-vpn.c:1392
+#: src/vpn/gnunet-service-vpn.c:1793 src/vpn/gnunet-service-vpn.c:1956
msgid "# ICMPv4 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:716 src/exit/gnunet-daemon-exit.c:2128
-#: src/exit/gnunet-daemon-exit.c:2378 src/vpn/gnunet-service-vpn.c:1450
-#: src/vpn/gnunet-service-vpn.c:1854 src/vpn/gnunet-service-vpn.c:1991
+#: src/exit/gnunet-daemon-exit.c:715 src/exit/gnunet-daemon-exit.c:2127
+#: src/exit/gnunet-daemon-exit.c:2377 src/vpn/gnunet-service-vpn.c:1448
+#: src/vpn/gnunet-service-vpn.c:1852 src/vpn/gnunet-service-vpn.c:1989
msgid "# ICMPv6 packets dropped (type not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:756
+#: src/exit/gnunet-daemon-exit.c:755
msgid "# ICMP packets dropped (not allowed)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:763
+#: src/exit/gnunet-daemon-exit.c:762
msgid "ICMP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:840
+#: src/exit/gnunet-daemon-exit.c:839
msgid "UDP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:915
+#: src/exit/gnunet-daemon-exit.c:914
msgid "TCP Packet dropped, have no matching connection information\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:968
+#: src/exit/gnunet-daemon-exit.c:967
msgid "# Packets received from TUN"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:982
+#: src/exit/gnunet-daemon-exit.c:981
msgid "# Bytes received from TUN"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1008
+#: src/exit/gnunet-daemon-exit.c:1007
msgid "IPv4 packet options received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1035
+#: src/exit/gnunet-daemon-exit.c:1034
#, c-format
msgid "IPv4 packet with unsupported next header %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1081
+#: src/exit/gnunet-daemon-exit.c:1080
#, c-format
msgid "IPv6 packet with unsupported next header %d received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1089
+#: src/exit/gnunet-daemon-exit.c:1088
#, c-format
msgid "Packet from unknown protocol %u received. Ignored.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1471
+#: src/exit/gnunet-daemon-exit.c:1470
msgid "# TCP packets sent via TUN"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1571
+#: src/exit/gnunet-daemon-exit.c:1570
msgid "# TCP service creation requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1574 src/exit/gnunet-daemon-exit.c:1653
-#: src/exit/gnunet-daemon-exit.c:1763 src/exit/gnunet-daemon-exit.c:1993
-#: src/exit/gnunet-daemon-exit.c:2235 src/exit/gnunet-daemon-exit.c:2516
-#: src/exit/gnunet-daemon-exit.c:2616
+#: src/exit/gnunet-daemon-exit.c:1573 src/exit/gnunet-daemon-exit.c:1652
+#: src/exit/gnunet-daemon-exit.c:1762 src/exit/gnunet-daemon-exit.c:1992
+#: src/exit/gnunet-daemon-exit.c:2234 src/exit/gnunet-daemon-exit.c:2515
+#: src/exit/gnunet-daemon-exit.c:2615
msgid "# Bytes received from MESH"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1607 src/exit/gnunet-daemon-exit.c:2638
+#: src/exit/gnunet-daemon-exit.c:1606 src/exit/gnunet-daemon-exit.c:2637
#, c-format
msgid "No service found for %s on port %d!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1611
+#: src/exit/gnunet-daemon-exit.c:1610
msgid "# TCP requests dropped (no such service)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1656
+#: src/exit/gnunet-daemon-exit.c:1655
msgid "# TCP IP-exit creation requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1766
+#: src/exit/gnunet-daemon-exit.c:1765
msgid "# TCP data requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1780
+#: src/exit/gnunet-daemon-exit.c:1779
msgid "# TCP DATA requests dropped (no session)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1830
+#: src/exit/gnunet-daemon-exit.c:1829
msgid "# ICMP packets sent via TUN"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:1996
+#: src/exit/gnunet-daemon-exit.c:1995
msgid "# ICMP IP-exit requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2238
+#: src/exit/gnunet-daemon-exit.c:2237
msgid "# ICMP service requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2304 src/vpn/gnunet-service-vpn.c:1384
-#: src/vpn/gnunet-service-vpn.c:1952
+#: src/exit/gnunet-daemon-exit.c:2303 src/vpn/gnunet-service-vpn.c:1382
+#: src/vpn/gnunet-service-vpn.c:1950
msgid "# ICMPv4 packets dropped (impossible PT to v6)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2363 src/vpn/gnunet-service-vpn.c:1420
-#: src/vpn/gnunet-service-vpn.c:1432 src/vpn/gnunet-service-vpn.c:1842
+#: src/exit/gnunet-daemon-exit.c:2362 src/vpn/gnunet-service-vpn.c:1418
+#: src/vpn/gnunet-service-vpn.c:1430 src/vpn/gnunet-service-vpn.c:1840
msgid "# ICMPv6 packets dropped (impossible PT to v4)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2413
+#: src/exit/gnunet-daemon-exit.c:2412
msgid "# UDP packets sent via TUN"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2519
+#: src/exit/gnunet-daemon-exit.c:2518
msgid "# UDP IP-exit requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2619
+#: src/exit/gnunet-daemon-exit.c:2618
msgid "# UDP service requests received via mesh"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2642
+#: src/exit/gnunet-daemon-exit.c:2641
msgid "# UDP requests dropped (no such service)"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2883
+#: src/exit/gnunet-daemon-exit.c:2882
#, c-format
msgid "No addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2897 src/exit/gnunet-daemon-exit.c:2909
+#: src/exit/gnunet-daemon-exit.c:2896 src/exit/gnunet-daemon-exit.c:2908
#, c-format
msgid "Service `%s' configured for IPv4, but IPv4 is disabled!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:2920
+#: src/exit/gnunet-daemon-exit.c:2919
#, c-format
msgid "No IP addresses found for hostname `%s' of service `%s'!\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3049
+#: src/exit/gnunet-daemon-exit.c:3048
msgid ""
"This system does not support IPv4, will disable IPv4 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3057
+#: src/exit/gnunet-daemon-exit.c:3056
msgid ""
"This system does not support IPv6, will disable IPv6 functions despite them "
"being enabled in the configuration\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3064
+#: src/exit/gnunet-daemon-exit.c:3063
msgid ""
"Cannot enable IPv4 exit but disable IPv4 on TUN interface, will use "
"ENABLE_IPv4=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3070
+#: src/exit/gnunet-daemon-exit.c:3069
msgid ""
"Cannot enable IPv6 exit but disable IPv6 on TUN interface, will use "
"ENABLE_IPv6=YES\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3076 src/pt/gnunet-daemon-pt.c:884
+#: src/exit/gnunet-daemon-exit.c:3075 src/pt/gnunet-daemon-pt.c:884
msgid "No useful service enabled. Exiting.\n"
msgstr ""
-#: src/exit/gnunet-daemon-exit.c:3241
+#: src/exit/gnunet-daemon-exit.c:3240
msgid "Daemon to run to provide an IP exit node for the VPN"
msgstr ""
@@ -3039,27 +3039,28 @@ msgstr ""
msgid "Failed to connect to GNS\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/gns/gnunet-gns.c:341
-msgid "try to shorten a given GNS name"
-msgstr ""
+#: src/gns/gnunet-gns.c:358
+#, fuzzy
+msgid "try to shorten a given name"
+msgstr "初始化“%s”服务失败。\n"
-#: src/gns/gnunet-gns.c:344
-msgid "Lookup a record using GNS (NOT IMPLEMENTED)"
+#: src/gns/gnunet-gns.c:361
+msgid "Lookup a record for the given name"
msgstr ""
-#: src/gns/gnunet-gns.c:347
+#: src/gns/gnunet-gns.c:364
msgid "Get the authority of a particular name"
msgstr ""
-#: src/gns/gnunet-gns.c:350
-msgid "Specify the type of the record lookup"
+#: src/gns/gnunet-gns.c:367
+msgid "Specify the type of the record to lookup"
msgstr ""
-#: src/gns/gnunet-gns.c:353
+#: src/gns/gnunet-gns.c:370
msgid "No unneeded output"
msgstr ""
-#: src/gns/gnunet-gns.c:367
+#: src/gns/gnunet-gns.c:384
msgid "GNUnet GNS access tool"
msgstr ""
@@ -3116,7 +3117,7 @@ msgstr "无法为守护程序创建用户账户。"
msgid "Failed to connect to namestore\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2667
+#: src/gns/gnunet-gns-fcfsd.c:789 src/gns/gnunet-gns-proxy.c:2901
#, fuzzy
msgid "Failed to start HTTP server\n"
msgstr "初始化“%s”服务失败。\n"
@@ -3125,25 +3126,25 @@ msgstr "初始化“%s”服务失败。\n"
msgid "GNUnet GNS first come first serve registration service"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2300
+#: src/gns/gnunet-gns-proxy.c:2532
#, fuzzy, c-format
msgid "Unable to import private key from file `%s'\n"
msgstr "无法创建用户账户:"
-#: src/gns/gnunet-gns-proxy.c:2329
+#: src/gns/gnunet-gns-proxy.c:2561
#, fuzzy, c-format
msgid "Unable to import certificate %s\n"
msgstr "无法保存配置文件“%s”:"
-#: src/gns/gnunet-gns-proxy.c:3328
+#: src/gns/gnunet-gns-proxy.c:3578
msgid "listen on specified port"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3331
+#: src/gns/gnunet-gns-proxy.c:3581
msgid "pem file to use as CA"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:3346
+#: src/gns/gnunet-gns-proxy.c:3596
msgid "GNUnet GNS proxy"
msgstr ""
@@ -3492,35 +3493,45 @@ msgstr "“%s”不可用。\n"
msgid "Could not start hostlist HTTP server on port %u\n"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:997
+#: src/integration-tests/connection_watchdog.c:1001
#, c-format
msgid "Transport plugin: `%s' port %llu\n"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1030
+#: src/integration-tests/connection_watchdog.c:1034
#, fuzzy, c-format
msgid "Found %u transport plugins: `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/integration-tests/connection_watchdog.c:1089
+#: src/integration-tests/connection_watchdog.c:1093
msgid "Send ping messages to test connectivity (default == NO)"
msgstr ""
-#: src/integration-tests/connection_watchdog.c:1099
+#: src/integration-tests/connection_watchdog.c:1103
#: src/template/gnunet-template.c:71
msgid "help text"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:5904
+#: src/mesh/gnunet-service-mesh.c:7110
msgid "Wrong CORE service\n"
msgstr ""
-#: src/mesh/gnunet-service-mesh.c:6116
-#, fuzzy
-msgid "Mesh service is lacking key configuration settings. Exiting.\n"
+#: src/mesh/gnunet-service-mesh.c:7328 src/mesh/gnunet-service-mesh.c:7340
+#: src/mesh/gnunet-service-mesh.c:7352 src/mesh/gnunet-service-mesh.c:7364
+#: src/mesh/gnunet-service-mesh.c:7376 src/mesh/gnunet-service-mesh.c:7388
+#: src/mesh/gnunet-service-mesh.c:7400 src/mesh/gnunet-service-mesh.c:7412
+#, fuzzy, c-format
+msgid "Mesh service is lacking key configuration settings (%s). Exiting.\n"
msgstr "立即保存配置?"
-#: src/mesh/gnunet-service-mesh.c:6125
+#: src/mesh/gnunet-service-mesh.c:7424 src/mesh/gnunet-service-mesh.c:7435
+#, fuzzy, c-format
+msgid ""
+"Mesh service is lacking key configuration settings (%s). Using default "
+"(%u).\n"
+msgstr "立即保存配置?"
+
+#: src/mesh/gnunet-service-mesh.c:7446
#, fuzzy
msgid "Mesh service could not access hostkey. Exiting.\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
@@ -4118,7 +4129,7 @@ msgid ""
"might have been lost!\n"
msgstr ""
-#: src/testbed/testbed_api.c:204
+#: src/testbed/testbed_api.c:246
#, fuzzy, c-format
msgid "Adding host %u failed with error: %s\n"
msgstr "“%s”以错误码 %d 失败:%s\n"
@@ -4272,7 +4283,7 @@ msgstr ""
msgid "Starting service %s for peer `%4s'\n"
msgstr "卸载 GNUnet 服务"
-#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6155
+#: src/testing_old/testing.c:1207 src/testing_old/testing_group.c:6172
#, fuzzy, c-format
msgid "Could not start `%s' process to copy configuration directory.\n"
msgstr "找不到主机“%s”的 IP:%s\n"
@@ -4353,12 +4364,12 @@ msgstr ""
msgid "Unknown topology specification, can't connect peers!\n"
msgstr ""
-#: src/testing_old/testing_group.c:5945
-#, fuzzy
-msgid "Could not read hostkeys file!\n"
+#: src/testing_old/testing_group.c:5962
+#, fuzzy, c-format
+msgid "Could not read hostkeys file `%s'!\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/testing_old/testing_group.c:6012
+#: src/testing_old/testing_group.c:6029
#, fuzzy, c-format
msgid "Could not create configuration for peer number %u on `%s'!\n"
msgstr "解析配置文件“%s”失败\n"
@@ -4604,101 +4615,101 @@ msgstr ""
msgid "# refreshed my HELLO"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1057
+#: src/transport/gnunet-service-transport_neighbours.c:1040
msgid "# DISCONNECT messages sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1174
-#: src/transport/gnunet-service-transport_neighbours.c:1511
+#: src/transport/gnunet-service-transport_neighbours.c:1157
+#: src/transport/gnunet-service-transport_neighbours.c:1494
msgid "# bytes in message queue for other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1179
+#: src/transport/gnunet-service-transport_neighbours.c:1162
msgid "# messages transmitted to other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1184
+#: src/transport/gnunet-service-transport_neighbours.c:1167
msgid "# transmission failures for messages to other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1241
+#: src/transport/gnunet-service-transport_neighbours.c:1224
msgid "# messages timed out while in transport queue"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1283
+#: src/transport/gnunet-service-transport_neighbours.c:1266
msgid "# keepalives sent"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1307
+#: src/transport/gnunet-service-transport_neighbours.c:1290
msgid "# KEEPALIVE messages discarded (peer unknown)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1315
+#: src/transport/gnunet-service-transport_neighbours.c:1298
msgid "# KEEPALIVE messages discarded (no session)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1352
+#: src/transport/gnunet-service-transport_neighbours.c:1335
msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1361
+#: src/transport/gnunet-service-transport_neighbours.c:1344
msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1417
+#: src/transport/gnunet-service-transport_neighbours.c:1400
msgid "# messages discarded due to lack of neighbour record"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1451
+#: src/transport/gnunet-service-transport_neighbours.c:1434
msgid "# bandwidth quota violations by other peers"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:1467
+#: src/transport/gnunet-service-transport_neighbours.c:1450
msgid "# ms throttling suggested"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2613
+#: src/transport/gnunet-service-transport_neighbours.c:2596
msgid "# unexpected CONNECT_ACK messages (no peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2628
-#: src/transport/gnunet-service-transport_neighbours.c:2662
+#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2645
msgid "# unexpected CONNECT_ACK messages (not ready)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2675
+#: src/transport/gnunet-service-transport_neighbours.c:2658
msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2708
+#: src/transport/gnunet-service-transport_neighbours.c:2691
msgid "# unexpected CONNECT_ACK messages (disconnecting)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2892
+#: src/transport/gnunet-service-transport_neighbours.c:2875
msgid "# unexpected SESSION ACK messages"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2947
+#: src/transport/gnunet-service-transport_neighbours.c:2930
msgid "# SET QUOTA messages ignored (no such peer)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2961
+#: src/transport/gnunet-service-transport_neighbours.c:2944
msgid "# disconnects due to quota of 0"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:2992
+#: src/transport/gnunet-service-transport_neighbours.c:2975
msgid "# disconnect messages ignored (old format)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3003
+#: src/transport/gnunet-service-transport_neighbours.c:2986
msgid "# disconnect messages ignored (timestamp)"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3034
+#: src/transport/gnunet-service-transport_neighbours.c:3017
msgid "# other peer asked to disconnect from us"
msgstr ""
-#: src/transport/gnunet-service-transport_neighbours.c:3129
+#: src/transport/gnunet-service-transport_neighbours.c:3112
msgid "# disconnected from peer upon explicit request"
msgstr ""
@@ -4734,23 +4745,23 @@ msgstr ""
msgid "Received a PING message with validation bug from `%s'\n"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:989
+#: src/transport/gnunet-service-transport_validation.c:1001
msgid "# PONGs unicast via reliable transport"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:998
+#: src/transport/gnunet-service-transport_validation.c:1010
msgid "# PONGs multicast to all available addresses"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1120
+#: src/transport/gnunet-service-transport_validation.c:1135
msgid "# PONGs dropped, no matching pending validation"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1145
+#: src/transport/gnunet-service-transport_validation.c:1164
msgid "# PONGs dropped, signature expired"
msgstr ""
-#: src/transport/gnunet-service-transport_validation.c:1199
+#: src/transport/gnunet-service-transport_validation.c:1218
#, c-format
msgid "Adding `%s' without addresses for peer `%s'\n"
msgstr ""
@@ -4956,86 +4967,86 @@ msgstr ""
msgid "# bytes dropped by SMTP (outgoing)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:590
+#: src/transport/plugin_transport_tcp.c:591
#, c-format
msgid "Unexpected address length: %u bytes\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:766
-#: src/transport/plugin_transport_tcp.c:855
-#: src/transport/plugin_transport_tcp.c:905
-#: src/transport/plugin_transport_tcp.c:991
-#: src/transport/plugin_transport_tcp.c:1129
-#: src/transport/plugin_transport_tcp.c:1146
+#: src/transport/plugin_transport_tcp.c:767
+#: src/transport/plugin_transport_tcp.c:856
+#: src/transport/plugin_transport_tcp.c:906
+#: src/transport/plugin_transport_tcp.c:992
+#: src/transport/plugin_transport_tcp.c:1130
+#: src/transport/plugin_transport_tcp.c:1147
msgid "# bytes currently in TCP buffers"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:773
-#: src/transport/plugin_transport_tcp.c:962
-#: src/transport/plugin_transport_tcp.c:1806
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:774
+#: src/transport/plugin_transport_tcp.c:963
+#: src/transport/plugin_transport_tcp.c:1807
+#: src/transport/plugin_transport_tcp.c:2424
msgid "# TCP sessions active"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:859
+#: src/transport/plugin_transport_tcp.c:860
msgid "# bytes discarded by TCP (timeout)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:908
+#: src/transport/plugin_transport_tcp.c:909
msgid "# bytes transmitted via TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:995
+#: src/transport/plugin_transport_tcp.c:996
msgid "# bytes discarded by TCP (disconnect)"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1335
+#: src/transport/plugin_transport_tcp.c:1336
#, c-format
msgid "Address of unexpected length: %u\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1446
+#: src/transport/plugin_transport_tcp.c:1447
msgid "# transport-service disconnect requests for TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:1847
+#: src/transport/plugin_transport_tcp.c:1848
msgid "# TCP WELCOME messages received"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2018
+#: src/transport/plugin_transport_tcp.c:2019
msgid "# bytes received via TCP"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2088
+#: src/transport/plugin_transport_tcp.c:2089
msgid "# network-level TCP disconnect events"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2312 src/util/service.c:946
+#: src/transport/plugin_transport_tcp.c:2313 src/util/service.c:946
#: src/util/service.c:952
#, c-format
msgid "Require valid port number for service `%s' in configuration!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2326
+#: src/transport/plugin_transport_tcp.c:2327
#, fuzzy
msgid "Failed to start service.\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/transport/plugin_transport_tcp.c:2388
+#: src/transport/plugin_transport_tcp.c:2389
#, c-format
msgid "Failed to find option %s in section %s!\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2411
+#: src/transport/plugin_transport_tcp.c:2412
#, c-format
msgid "TCP transport listening on port %llu\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2415
+#: src/transport/plugin_transport_tcp.c:2416
msgid "TCP transport not listening on any port (client only)\n"
msgstr ""
-#: src/transport/plugin_transport_tcp.c:2419
+#: src/transport/plugin_transport_tcp.c:2420
#, c-format
msgid "TCP transport advertises itself as being on port %llu\n"
msgstr ""
@@ -5083,7 +5094,7 @@ msgstr ""
msgid "Invalid IPv6 address: `%s'\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/transport/plugin_transport_unix.c:1351
+#: src/transport/plugin_transport_unix.c:1346
#, fuzzy
msgid "Failed to open UNIX sockets\n"
msgstr "打开日志文件“%s”失败:%s\n"
@@ -5327,7 +5338,7 @@ msgstr "无法连接到 %s:%u:%s\n"
msgid "Attempt to connect to `%s' failed\n"
msgstr ""
-#: src/util/container_bloomfilter.c:510
+#: src/util/container_bloomfilter.c:518
#, c-format
msgid ""
"Size of file on disk is incorrect for this Bloom filter (want %llu, have "
@@ -5404,17 +5415,17 @@ msgstr ""
msgid "`%s' failed for drive `%S': %u\n"
msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
-#: src/util/disk.c:1135
+#: src/util/disk.c:1140
#, c-format
msgid "Expected `%s' to be a directory!\n"
msgstr "“%s”应为目录!\n"
-#: src/util/disk.c:1489 src/util/service.c:1665
+#: src/util/disk.c:1494 src/util/service.c:1665
#, c-format
msgid "Cannot obtain information about user `%s': %s\n"
msgstr "无法获取有关用户“%s”的信息:%s\n"
-#: src/util/disk.c:1861
+#: src/util/disk.c:1866
#, c-format
msgid "No `%s' specified for service `%s' in configuration.\n"
msgstr ""
@@ -5571,14 +5582,14 @@ msgid ""
"Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
msgstr ""
-#: src/util/os_installation.c:329
+#: src/util/os_installation.c:325
#, fuzzy, c-format
msgid ""
"Could not determine installation path for %s. Set `%s' environment "
"variable.\n"
msgstr "无法确定安装路径。请尝试设置“%s”\n"
-#: src/util/os_installation.c:526
+#: src/util/os_installation.c:522
#, fuzzy, c-format
msgid "Could not find binary `%s' in PATH!\n"
msgstr "找不到主机“%s”的 IP:%s\n"
@@ -5870,7 +5881,7 @@ msgstr ""
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1071
+#: src/vpn/gnunet-service-vpn.c:511 src/vpn/gnunet-service-vpn.c:1069
msgid "# Active tunnels"
msgstr ""
@@ -5881,87 +5892,87 @@ msgstr ""
"\n"
"按任意键继续\n"
-#: src/vpn/gnunet-service-vpn.c:699
+#: src/vpn/gnunet-service-vpn.c:698
msgid "# Bytes given to mesh for transmission"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:737
+#: src/vpn/gnunet-service-vpn.c:736
msgid "# Bytes dropped in mesh queue (overflow)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:772
+#: src/vpn/gnunet-service-vpn.c:770
msgid "# Mesh tunnels created"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:795
+#: src/vpn/gnunet-service-vpn.c:793
#, fuzzy
msgid "Failed to setup mesh tunnel!\n"
msgstr "发送消息失败。\n"
-#: src/vpn/gnunet-service-vpn.c:973
+#: src/vpn/gnunet-service-vpn.c:971
#, c-format
msgid "Protocol %u not supported, dropping\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1291
+#: src/vpn/gnunet-service-vpn.c:1289
msgid "# ICMPv4 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1312
+#: src/vpn/gnunet-service-vpn.c:1310
msgid "# ICMPv6 packets dropped (not allowed)"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1517
+#: src/vpn/gnunet-service-vpn.c:1515
msgid "# Packets received from TUN interface"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1555 src/vpn/gnunet-service-vpn.c:1596
+#: src/vpn/gnunet-service-vpn.c:1553 src/vpn/gnunet-service-vpn.c:1594
#, c-format
msgid "Packet received for unmapped destination `%s' (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1606
+#: src/vpn/gnunet-service-vpn.c:1604
msgid "Received IPv4 packet with options (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1620
+#: src/vpn/gnunet-service-vpn.c:1618
#, c-format
msgid "Received packet of unknown protocol %d from TUN (dropping it)\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:1704
+#: src/vpn/gnunet-service-vpn.c:1702
msgid "# ICMP packets received from mesh"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2045
+#: src/vpn/gnunet-service-vpn.c:2043
msgid "# UDP packets received from mesh"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2203
+#: src/vpn/gnunet-service-vpn.c:2201
msgid "# TCP packets received from mesh"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2354
+#: src/vpn/gnunet-service-vpn.c:2352
msgid "Failed to find unallocated IPv4 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2409
+#: src/vpn/gnunet-service-vpn.c:2407
msgid "Failed to find unallocated IPv6 address in VPN's range\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2448 src/vpn/gnunet-service-vpn.c:2661
+#: src/vpn/gnunet-service-vpn.c:2446 src/vpn/gnunet-service-vpn.c:2659
msgid "# Active destinations"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:2734
+#: src/vpn/gnunet-service-vpn.c:2732
msgid "Failed to allocate IP address for new destination\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3141
+#: src/vpn/gnunet-service-vpn.c:3139
msgid "IPv6 support disabled as this system does not support IPv6\n"
msgstr ""
-#: src/vpn/gnunet-service-vpn.c:3173
+#: src/vpn/gnunet-service-vpn.c:3171
msgid "IPv4 support disabled as this system does not support IPv4\n"
msgstr ""
@@ -6035,18 +6046,18 @@ msgstr ""
msgid "Setup tunnels via VPN."
msgstr ""
-#: src/include/gnunet_common.h:507 src/include/gnunet_common.h:512
-#: src/include/gnunet_common.h:518
+#: src/include/gnunet_common.h:515 src/include/gnunet_common.h:520
+#: src/include/gnunet_common.h:526
#, c-format
msgid "Assertion failed at %s:%d.\n"
msgstr ""
-#: src/include/gnunet_common.h:528
+#: src/include/gnunet_common.h:536
#, c-format
msgid "External protocol violation detected at %s:%d.\n"
msgstr ""
-#: src/include/gnunet_common.h:549 src/include/gnunet_common.h:556
+#: src/include/gnunet_common.h:557 src/include/gnunet_common.h:564
#, c-format
msgid "`%s' failed on file `%s' at %s:%d with error: %s\n"
msgstr ""
diff --git a/src/dns/Makefile.am b/src/dns/Makefile.am
index 8a102c414..aca8ea25c 100644
--- a/src/dns/Makefile.am
+++ b/src/dns/Makefile.am
@@ -25,6 +25,7 @@ endif
lib_LTLIBRARIES = \
libgnunetdnsparser.la \
+ libgnunetdnsstub.la \
libgnunetdns.la
bin_PROGRAMS = \
@@ -70,6 +71,7 @@ gnunet_dns_redirector_DEPENDENCIES = \
gnunet_service_dns_SOURCES = \
gnunet-service-dns.c
gnunet_service_dns_LDADD = \
+ $(top_builddir)/src/dns/libgnunetdnsstub.la \
$(top_builddir)/src/tun/libgnunettun.la \
$(top_builddir)/src/mesh/libgnunetmesh.la \
$(top_builddir)/src/statistics/libgnunetstatistics.la \
@@ -84,6 +86,14 @@ libgnunetdnsparser_la_LDFLAGS = \
$(GN_LIB_LDFLAGS) \
-version-info 0:0:0
+libgnunetdnsstub_la_SOURCES = \
+ dnsstub.c
+libgnunetdnsstub_la_LIBADD = \
+ $(top_builddir)/src/util/libgnunetutil.la $(XLIB)
+libgnunetdnsstub_la_LDFLAGS = \
+ $(GN_LIB_LDFLAGS) \
+ -version-info 0:0:0
+
libgnunetdns_la_SOURCES = \
dns_api.c dns.h
libgnunetdns_la_LIBADD = \
diff --git a/src/dns/dnsstub.c b/src/dns/dnsstub.c
new file mode 100644
index 000000000..383b1d699
--- /dev/null
+++ b/src/dns/dnsstub.c
@@ -0,0 +1,520 @@
+/*
+ This file is part of GNUnet.
+ (C) 2012 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 dns/dnsstub.c
+ * @brief DNS stub resolver which sends DNS requests to an actual resolver
+ * @author Christian Grothoff
+ */
+#include "platform.h"
+#include "gnunet_util_lib.h"
+#include "gnunet_dnsstub_lib.h"
+
+/**
+ * Timeout for an external (Internet-DNS) DNS resolution
+ */
+#define REQUEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
+
+/**
+ * How many DNS sockets do we open at most at the same time?
+ * (technical socket maximum is this number x2 for IPv4+IPv6)
+ */
+#define DNS_SOCKET_MAX 128
+
+
+/**
+ * UDP socket we are using for sending DNS requests to the Internet.
+ */
+struct GNUNET_DNSSTUB_RequestSocket
+{
+
+ /**
+ * UDP socket we use for this request for IPv4
+ */
+ struct GNUNET_NETWORK_Handle *dnsout4;
+
+ /**
+ * UDP socket we use for this request for IPv6
+ */
+ struct GNUNET_NETWORK_Handle *dnsout6;
+
+ /**
+ * Function to call with result.
+ */
+ GNUNET_DNSSTUB_ResultCallback rc;
+
+ /**
+ * Closure for 'rc'.
+ */
+ void *rc_cls;
+
+ /**
+ * Task for reading from dnsout4 and dnsout6.
+ */
+ GNUNET_SCHEDULER_TaskIdentifier read_task;
+
+ /**
+ * When should this request time out?
+ */
+ struct GNUNET_TIME_Absolute timeout;
+
+ /**
+ * Address we sent the DNS request to.
+ */
+ struct sockaddr_storage addr;
+
+ /**
+ * Number of bytes in 'addr'.
+ */
+ socklen_t addrlen;
+
+};
+
+
+struct GNUNET_DNSSTUB_Context
+{
+
+ /**
+ * Array of all open sockets for DNS requests.
+ */
+ struct GNUNET_DNSSTUB_RequestSocket sockets[DNS_SOCKET_MAX];
+
+ /**
+ * IP address to use for the DNS server if we are a DNS exit service
+ * (for VPN via mesh); otherwise NULL.
+ */
+ char *dns_exit;
+};
+
+
+
+/**
+ * We're done with a GNUNET_DNSSTUB_RequestSocket, close it for now.
+ *
+ * @param rs request socket to clean up
+ */
+static void
+cleanup_rs (struct GNUNET_DNSSTUB_RequestSocket *rs)
+{
+ if (NULL != rs->dnsout4)
+ {
+ GNUNET_NETWORK_socket_close (rs->dnsout4);
+ rs->dnsout4 = NULL;
+ }
+ if (NULL != rs->dnsout6)
+ {
+ GNUNET_NETWORK_socket_close (rs->dnsout6);
+ rs->dnsout6 = NULL;
+ }
+ if (GNUNET_SCHEDULER_NO_TASK != rs->read_task)
+ {
+ GNUNET_SCHEDULER_cancel (rs->read_task);
+ rs->read_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+}
+
+
+/**
+ * Open source port for sending DNS requests
+ *
+ * @param af AF_INET or AF_INET6
+ * @return GNUNET_OK on success
+ */
+static struct GNUNET_NETWORK_Handle *
+open_socket (int af)
+{
+ struct sockaddr_in a4;
+ struct sockaddr_in6 a6;
+ struct sockaddr *sa;
+ socklen_t alen;
+ struct GNUNET_NETWORK_Handle *ret;
+
+ ret = GNUNET_NETWORK_socket_create (af, SOCK_DGRAM, 0);
+ if (NULL == ret)
+ return NULL;
+ switch (af)
+ {
+ case AF_INET:
+ memset (&a4, 0, alen = sizeof (struct sockaddr_in));
+ sa = (struct sockaddr *) &a4;
+ break;
+ case AF_INET6:
+ memset (&a6, 0, alen = sizeof (struct sockaddr_in6));
+ sa = (struct sockaddr *) &a6;
+ break;
+ default:
+ GNUNET_break (0);
+ GNUNET_NETWORK_socket_close (ret);
+ return NULL;
+ }
+ sa->sa_family = af;
+ if (GNUNET_OK != GNUNET_NETWORK_socket_bind (ret,
+ sa,
+ alen))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ _("Could not bind to any port: %s\n"),
+ STRERROR (errno));
+ GNUNET_NETWORK_socket_close (ret);
+ return NULL;
+ }
+ return ret;
+}
+
+
+/**
+ * Read a DNS response from the (unhindered) UDP-Socket
+ *
+ * @param cls socket to read from
+ * @param tc scheduler context (must be shutdown or read ready)
+ */
+static void
+read_response (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc);
+
+
+/**
+ * Get a socket of the specified address family to send out a
+ * UDP DNS request to the Internet.
+ *
+ * @param af desired address family
+ * @return NULL on error (given AF not "supported")
+ */
+static struct GNUNET_DNSSTUB_RequestSocket *
+get_request_socket (struct GNUNET_DNSSTUB_Context *ctx,
+ int af)
+{
+ struct GNUNET_DNSSTUB_RequestSocket *rs;
+ struct GNUNET_NETWORK_FDSet *rset;
+
+ rs = &ctx->sockets[GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE,
+ DNS_SOCKET_MAX)];
+ rs->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT);
+ switch (af)
+ {
+ case AF_INET:
+ if (NULL == rs->dnsout4)
+ rs->dnsout4 = open_socket (AF_INET);
+ break;
+ case AF_INET6:
+ if (NULL == rs->dnsout6)
+ rs->dnsout6 = open_socket (AF_INET6);
+ break;
+ default:
+ return NULL;
+ }
+ if (GNUNET_SCHEDULER_NO_TASK != rs->read_task)
+ {
+ GNUNET_SCHEDULER_cancel (rs->read_task);
+ rs->read_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+ if ( (NULL == rs->dnsout4) &&
+ (NULL == rs->dnsout6) )
+ return NULL;
+ rset = GNUNET_NETWORK_fdset_create ();
+ if (NULL != rs->dnsout4)
+ GNUNET_NETWORK_fdset_set (rset, rs->dnsout4);
+ if (NULL != rs->dnsout6)
+ GNUNET_NETWORK_fdset_set (rset, rs->dnsout6);
+ rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
+ REQUEST_TIMEOUT,
+ rset,
+ NULL,
+ &read_response, rs);
+ GNUNET_NETWORK_fdset_destroy (rset);
+ return rs;
+}
+
+
+/**
+ * Perform DNS resolution.
+ *
+ * @param ctx stub resolver to use
+ * @param af address family to use
+ * @param request DNS request to transmit
+ * @param request_len number of bytes in msg
+ * @param rc function to call with result
+ * @param rc_cls closure for 'rc'
+ * @return socket used for the request, NULL on error
+ */
+struct GNUNET_DNSSTUB_RequestSocket *
+GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx,
+ const struct sockaddr *sa,
+ socklen_t sa_len,
+ const void *request,
+ size_t request_len,
+ GNUNET_DNSSTUB_ResultCallback rc,
+ void *rc_cls)
+{
+ struct GNUNET_DNSSTUB_RequestSocket *rs;
+ struct GNUNET_NETWORK_Handle *ret;
+ int af;
+
+ af = sa->sa_family;
+ if (NULL == (rs = get_request_socket (ctx, af)))
+ return NULL;
+ if (NULL != rs->dnsout4)
+ ret = rs->dnsout4;
+ else
+ ret = rs->dnsout6;
+ GNUNET_assert (NULL != ret);
+ rs->rc = rc;
+ rs->rc_cls = rc_cls;
+ GNUNET_NETWORK_socket_sendto (ret,
+ request,
+ request_len,
+ sa,
+ sa_len);
+ return rs;
+}
+
+
+/**
+ * Perform DNS resolution using our default IP from init.
+ *
+ * @param ctx stub resolver to use
+ * @param request DNS request to transmit
+ * @param request_len number of bytes in msg
+ * @param rc function to call with result
+ * @param rc_cls closure for 'rc'
+ * @return socket used for the request, NULL on error
+ */
+struct GNUNET_DNSSTUB_RequestSocket *
+GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx,
+ const void *request,
+ size_t request_len,
+ GNUNET_DNSSTUB_ResultCallback rc,
+ void *rc_cls)
+{
+ int af;
+ struct sockaddr_in v4;
+ struct sockaddr_in6 v6;
+ struct sockaddr *so;
+ socklen_t salen;
+ struct GNUNET_NETWORK_Handle *dnsout;
+ struct GNUNET_DNSSTUB_RequestSocket *rs;
+
+ memset (&v4, 0, sizeof (v4));
+ memset (&v6, 0, sizeof (v6));
+ if (1 == inet_pton (AF_INET, ctx->dns_exit, &v4.sin_addr))
+ {
+ salen = sizeof (v4);
+ v4.sin_family = AF_INET;
+ v4.sin_port = htons (53);
+#if HAVE_SOCKADDR_IN_SIN_LEN
+ v4.sin_len = (u_char) salen;
+#endif
+ so = (struct sockaddr *) &v4;
+ af = AF_INET;
+ }
+ else if (1 == inet_pton (AF_INET6, ctx->dns_exit, &v6.sin6_addr))
+ {
+ salen = sizeof (v6);
+ v6.sin6_family = AF_INET6;
+ v6.sin6_port = htons (53);
+#if HAVE_SOCKADDR_IN_SIN_LEN
+ v6.sin6_len = (u_char) salen;
+#endif
+ so = (struct sockaddr *) &v6;
+ af = AF_INET6;
+ }
+ else
+ {
+ GNUNET_break (0);
+ return NULL;
+ }
+ if (NULL == (rs = get_request_socket (ctx, af)))
+ return NULL;
+ if (NULL != rs->dnsout4)
+ dnsout = rs->dnsout4;
+ else
+ dnsout = rs->dnsout6;
+ if (NULL == dnsout)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ _("Configured DNS exit `%s' is not working / valid.\n"),
+ ctx->dns_exit);
+ return NULL;
+ }
+ memcpy (&rs->addr,
+ so,
+ salen);
+ rs->addrlen = salen;
+ GNUNET_NETWORK_socket_sendto (dnsout,
+ request,
+ request_len, so, salen);
+ rs->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT);
+
+ return rs;
+
+}
+
+
+/**
+ * Actually do the reading of a DNS packet from our UDP socket and see
+ * if we have a valid, matching, pending request.
+ *
+ * @param rs request socket with callback details
+ * @param dnsout socket to read from
+ * @return GNUNET_OK on success, GNUNET_NO on drop, GNUNET_SYSERR on IO-errors (closed socket)
+ */
+static int
+do_dns_read (struct GNUNET_DNSSTUB_RequestSocket *rs,
+ struct GNUNET_NETWORK_Handle *dnsout)
+{
+ struct sockaddr_storage addr;
+ socklen_t addrlen;
+ struct GNUNET_TUN_DnsHeader *dns;
+ ssize_t r;
+ int len;
+
+#ifndef MINGW
+ if (0 != ioctl (GNUNET_NETWORK_get_fd (dnsout), FIONREAD, &len))
+ {
+ /* conservative choice: */
+ len = UINT16_MAX;
+ }
+#else
+ /* port the code above? */
+ len = UINT16_MAX;
+#endif
+
+ {
+ unsigned char buf[len] GNUNET_ALIGN;
+
+ addrlen = sizeof (addr);
+ memset (&addr, 0, sizeof (addr));
+ r = GNUNET_NETWORK_socket_recvfrom (dnsout,
+ buf, sizeof (buf),
+ (struct sockaddr*) &addr, &addrlen);
+ if (-1 == r)
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "recvfrom");
+ GNUNET_NETWORK_socket_close (dnsout);
+ return GNUNET_SYSERR;
+ }
+ if (sizeof (struct GNUNET_TUN_DnsHeader) > r)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ _("Received DNS response that is too small (%u bytes)"),
+ r);
+ return GNUNET_NO;
+ }
+ dns = (struct GNUNET_TUN_DnsHeader *) buf;
+ if ( (addrlen != rs->addrlen) ||
+ (0 != memcmp (&rs->addr,
+ &addr,
+ addrlen)) ||
+ (0 == GNUNET_TIME_absolute_get_remaining (rs->timeout).rel_value) )
+ return GNUNET_NO;
+ rs->rc (rs->rc_cls,
+ rs,
+ dns,
+ r);
+ }
+ return GNUNET_OK;
+}
+
+
+/**
+ * Read a DNS response from the (unhindered) UDP-Socket
+ *
+ * @param cls socket to read from
+ * @param tc scheduler context (must be shutdown or read ready)
+ */
+static void
+read_response (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ struct GNUNET_DNSSTUB_RequestSocket *rs = cls;
+ struct GNUNET_NETWORK_FDSet *rset;
+
+ rs->read_task = GNUNET_SCHEDULER_NO_TASK;
+ if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY))
+ {
+ /* timeout or shutdown */
+ cleanup_rs (rs);
+ return;
+ }
+ /* read and process ready sockets */
+ if ((NULL != rs->dnsout4) &&
+ (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout4)) &&
+ (GNUNET_SYSERR == do_dns_read (rs, rs->dnsout4)))
+ rs->dnsout4 = NULL;
+ if ((NULL != rs->dnsout6) &&
+ (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout6)) &&
+ (GNUNET_SYSERR == do_dns_read (rs, rs->dnsout6)))
+ rs->dnsout6 = NULL;
+
+ /* re-schedule read task */
+ rset = GNUNET_NETWORK_fdset_create ();
+ if (NULL != rs->dnsout4)
+ GNUNET_NETWORK_fdset_set (rset, rs->dnsout4);
+ if (NULL != rs->dnsout6)
+ GNUNET_NETWORK_fdset_set (rset, rs->dnsout6);
+ rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
+ GNUNET_TIME_absolute_get_remaining (rs->timeout),
+ rset,
+ NULL,
+ &read_response, rs);
+ GNUNET_NETWORK_fdset_destroy (rset);
+}
+
+
+
+/**
+ * Start a DNS stub resolver.
+ *
+ * @param dns_ip target IP address to use
+ * @return NULL on error
+ */
+struct GNUNET_DNSSTUB_Context *
+GNUNET_DNSSTUB_start (const char *dns_ip)
+{
+ struct GNUNET_DNSSTUB_Context *ctx;
+
+ ctx = GNUNET_malloc (sizeof (struct GNUNET_DNSSTUB_Context));
+ if (NULL != dns_ip)
+ ctx->dns_exit = GNUNET_strdup (dns_ip);
+ return ctx;
+}
+
+
+/**
+ * Cleanup DNSSTUB resolver.
+ *
+ * @param ctx stub resolver to clean up
+ */
+void
+GNUNET_DNSSTUB_stop (struct GNUNET_DNSSTUB_Context *ctx)
+{
+ unsigned int i;
+
+ for (i=0;i<=UINT16_MAX;i++)
+ cleanup_rs (&ctx->sockets[i]);
+ if (NULL != ctx->dns_exit)
+ {
+ GNUNET_free (ctx->dns_exit);
+ ctx->dns_exit = NULL;
+ }
+ GNUNET_free (ctx);
+}
+
+
+/* end of dnsstub.c */
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c
index 76ea1390f..b13f156a9 100644
--- a/src/dns/gnunet-service-dns.c
+++ b/src/dns/gnunet-service-dns.c
@@ -45,23 +45,13 @@
#include "dns.h"
#include "gnunet_dns_service.h"
#include "gnunet_dnsparser_lib.h"
+#include "gnunet_dnsstub_lib.h"
#include "gnunet_mesh_service.h"
#include "gnunet_statistics_service.h"
#include "gnunet_tun_lib.h"
/**
- * Timeout for an external (Internet-DNS) DNS resolution
- */
-#define REQUEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
-
-/**
- * How many DNS sockets do we open at most at the same time?
- * (technical socket maximum is this number x2 for IPv4+IPv6)
- */
-#define DNS_SOCKET_MAX 128
-
-/**
* Phases each request goes through.
*/
enum RequestPhase
@@ -137,34 +127,6 @@ struct ClientRecord
/**
- * UDP socket we are using for sending DNS requests to the Internet.
- */
-struct RequestSocket
-{
-
- /**
- * UDP socket we use for this request for IPv4
- */
- struct GNUNET_NETWORK_Handle *dnsout4;
-
- /**
- * UDP socket we use for this request for IPv6
- */
- struct GNUNET_NETWORK_Handle *dnsout6;
-
- /**
- * Task for reading from dnsout4 and dnsout6.
- */
- GNUNET_SCHEDULER_TaskIdentifier read_task;
-
- /**
- * When should this socket be closed?
- */
- struct GNUNET_TIME_Absolute timeout;
-};
-
-
-/**
* Entry we keep for each active request.
*/
struct RequestRecord
@@ -184,10 +146,9 @@ struct RequestRecord
/**
* Socket we are using to transmit this request (must match if we receive
- * a response). Must NOT be freed as part of this request record (as it
- * might be shared with other requests).
+ * a response).
*/
- struct GNUNET_NETWORK_Handle *dnsout;
+ struct GNUNET_DNSSTUB_RequestSocket *rs;
/**
* Source address of the original request (for sending response).
@@ -200,11 +161,6 @@ struct RequestRecord
struct sockaddr_storage dst_addr;
/**
- * When should this request time out?
- */
- struct GNUNET_TIME_Absolute timeout;
-
- /**
* ID of this request, also basis for hashing. Lowest 16 bit will
* be our message ID when doing a global DNS request and our index
* into the 'requests' array.
@@ -252,25 +208,9 @@ struct TunnelState
/**
* Socket we are using to transmit this request (must match if we receive
- * a response). Must NOT be freed as part of this request record (as it
- * might be shared with other requests).
- */
- struct GNUNET_NETWORK_Handle *dnsout;
-
- /**
- * Address we sent the DNS request to.
- */
- struct sockaddr_storage addr;
-
- /**
- * When should this request time out?
+ * a response).
*/
- struct GNUNET_TIME_Absolute timeout;
-
- /**
- * Number of bytes in 'addr'.
- */
- socklen_t addrlen;
+ struct GNUNET_DNSSTUB_RequestSocket *rs;
/**
* Number of bytes in 'reply'.
@@ -330,19 +270,14 @@ static struct ClientRecord *clients_tail;
static struct GNUNET_SERVER_NotificationContext *nc;
/**
- * Array of all open requests.
- */
-static struct RequestRecord requests[UINT16_MAX + 1];
-
-/**
* Array of all open requests from tunnels.
*/
static struct TunnelState *tunnels[UINT16_MAX + 1];
/**
- * Array of all open sockets for DNS requests.
+ * Array of all open requests.
*/
-static struct RequestSocket sockets[DNS_SOCKET_MAX];
+static struct RequestRecord requests[UINT16_MAX + 1];
/**
* Generator for unique request IDs.
@@ -350,42 +285,15 @@ static struct RequestSocket sockets[DNS_SOCKET_MAX];
static uint64_t request_id_gen;
/**
- * IP address to use for the DNS server if we are a DNS exit service
- * (for VPN via mesh); otherwise NULL.
- */
-static char *dns_exit;
-
-/**
* Handle to the MESH service (for receiving DNS queries), or NULL
* if we are not a DNS exit.
*/
static struct GNUNET_MESH_Handle *mesh;
-
/**
- * We're done with a RequestSocket, close it for now.
- *
- * @param rs request socket to clean up
+ * Handle to the DNS Stub resolver.
*/
-static void
-cleanup_rs (struct RequestSocket *rs)
-{
- if (NULL != rs->dnsout4)
- {
- GNUNET_NETWORK_socket_close (rs->dnsout4);
- rs->dnsout4 = NULL;
- }
- if (NULL != rs->dnsout6)
- {
- GNUNET_NETWORK_socket_close (rs->dnsout6);
- rs->dnsout6 = NULL;
- }
- if (GNUNET_SCHEDULER_NO_TASK != rs->read_task)
- {
- GNUNET_SCHEDULER_cancel (rs->read_task);
- rs->read_task = GNUNET_SCHEDULER_NO_TASK;
- }
-}
+static struct GNUNET_DNSSTUB_Context *dnsstub;
/**
@@ -430,10 +338,10 @@ cleanup_task (void *cls GNUNET_UNUSED,
GNUNET_STATISTICS_destroy (stats, GNUNET_NO);
stats = NULL;
}
- if (NULL != dns_exit)
+ if (NULL != dnsstub)
{
- GNUNET_free (dns_exit);
- dns_exit = NULL;
+ GNUNET_DNSSTUB_stop (dnsstub);
+ dnsstub = NULL;
}
if (NULL != mesh)
{
@@ -444,54 +352,6 @@ cleanup_task (void *cls GNUNET_UNUSED,
/**
- * Open source port for sending DNS requests
- *
- * @param af AF_INET or AF_INET6
- * @return GNUNET_OK on success
- */
-static struct GNUNET_NETWORK_Handle *
-open_socket (int af)
-{
- struct sockaddr_in a4;
- struct sockaddr_in6 a6;
- struct sockaddr *sa;
- socklen_t alen;
- struct GNUNET_NETWORK_Handle *ret;
-
- ret = GNUNET_NETWORK_socket_create (af, SOCK_DGRAM, 0);
- if (NULL == ret)
- return NULL;
- switch (af)
- {
- case AF_INET:
- memset (&a4, 0, alen = sizeof (struct sockaddr_in));
- sa = (struct sockaddr *) &a4;
- break;
- case AF_INET6:
- memset (&a6, 0, alen = sizeof (struct sockaddr_in6));
- sa = (struct sockaddr *) &a6;
- break;
- default:
- GNUNET_break (0);
- GNUNET_NETWORK_socket_close (ret);
- return NULL;
- }
- sa->sa_family = af;
- if (GNUNET_OK != GNUNET_NETWORK_socket_bind (ret,
- sa,
- alen))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Could not bind to any port: %s\n"),
- STRERROR (errno));
- GNUNET_NETWORK_socket_close (ret);
- return NULL;
- }
- return ret;
-}
-
-
-/**
* We're done with some request, finish processing.
*
* @param rr request send to the network or just clean up.
@@ -677,70 +537,21 @@ send_request_to_client (struct RequestRecord *rr,
}
-/**
- * Read a DNS response from the (unhindered) UDP-Socket
- *
- * @param cls socket to read from
- * @param tc scheduler context (must be shutdown or read ready)
- */
-static void
-read_response (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc);
-
/**
- * Get a socket of the specified address family to send out a
- * UDP DNS request to the Internet.
+ * Callback called from DNSSTUB resolver when a resolution
+ * succeeded.
*
- * @param af desired address family
- * @return NULL on error (given AF not "supported")
+ * @param cls NULL
+ * @param rs the socket that received the response
+ * @param dns the response itself
+ * @param r number of bytes in dns
*/
-static struct GNUNET_NETWORK_Handle *
-get_request_socket (int af)
-{
- struct RequestSocket *rs;
- struct GNUNET_NETWORK_FDSet *rset;
- static struct GNUNET_NETWORK_Handle *ret;
-
- rs = &sockets[GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE,
- DNS_SOCKET_MAX)];
- rs->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT);
- switch (af)
- {
- case AF_INET:
- if (NULL == rs->dnsout4)
- rs->dnsout4 = open_socket (AF_INET);
- ret = rs->dnsout4;
- break;
- case AF_INET6:
- if (NULL == rs->dnsout6)
- rs->dnsout6 = open_socket (AF_INET6);
- ret = rs->dnsout6;
- break;
- default:
- return NULL;
- }
- if (GNUNET_SCHEDULER_NO_TASK != rs->read_task)
- {
- GNUNET_SCHEDULER_cancel (rs->read_task);
- rs->read_task = GNUNET_SCHEDULER_NO_TASK;
- }
- if ( (NULL == rs->dnsout4) &&
- (NULL == rs->dnsout6) )
- return NULL;
- rset = GNUNET_NETWORK_fdset_create ();
- if (NULL != rs->dnsout4)
- GNUNET_NETWORK_fdset_set (rset, rs->dnsout4);
- if (NULL != rs->dnsout6)
- GNUNET_NETWORK_fdset_set (rset, rs->dnsout6);
- rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- REQUEST_TIMEOUT,
- rset,
- NULL,
- &read_response, rs);
- GNUNET_NETWORK_fdset_destroy (rset);
- return ret;
-}
+static void
+process_dns_result (void *cls,
+ struct GNUNET_DNSSTUB_RequestSocket *rs,
+ const struct GNUNET_TUN_DnsHeader *dns,
+ size_t r);
/**
@@ -815,8 +626,14 @@ next_phase (struct RequestRecord *rr)
}
rr->phase = RP_INTERNET_DNS;
- rr->dnsout = get_request_socket (rr->dst_addr.ss_family);
- if (NULL == rr->dnsout)
+ rr->rs = GNUNET_DNSSTUB_resolve (dnsstub,
+ (struct sockaddr*) &rr->dst_addr,
+ salen,
+ rr->payload,
+ rr->payload_length,
+ &process_dns_result,
+ NULL);
+ if (NULL == rr->rs)
{
GNUNET_STATISTICS_update (stats,
gettext_noop ("# DNS exit failed (failed to open socket)"),
@@ -824,12 +641,6 @@ next_phase (struct RequestRecord *rr)
cleanup_rr (rr);
return;
}
- GNUNET_NETWORK_socket_sendto (rr->dnsout,
- rr->payload,
- rr->payload_length,
- (struct sockaddr*) &rr->dst_addr,
- salen);
- rr->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT);
return;
case RP_INTERNET_DNS:
rr->phase = RP_MODIFY;
@@ -956,68 +767,32 @@ transmit_reply_to_mesh (void *cls,
}
+
/**
- * Actually do the reading of a DNS packet from our UDP socket and see
- * if we have a valid, matching, pending request.
+ * Callback called from DNSSTUB resolver when a resolution
+ * succeeded.
*
- * @param dnsout socket to read from
- * @return GNUNET_OK on success, GNUNET_NO on drop, GNUNET_SYSERR on IO-errors (closed socket)
+ * @param cls NULL
+ * @param rs the socket that received the response
+ * @param dns the response itself
+ * @param r number of bytes in dns
*/
-static int
-do_dns_read (struct GNUNET_NETWORK_Handle *dnsout)
+static void
+process_dns_result (void *cls,
+ struct GNUNET_DNSSTUB_RequestSocket *rs,
+ const struct GNUNET_TUN_DnsHeader *dns,
+ size_t r)
{
- struct sockaddr_storage addr;
- socklen_t addrlen;
- struct GNUNET_TUN_DnsHeader *dns;
struct RequestRecord *rr;
struct TunnelState *ts;
- ssize_t r;
- int len;
-
-#ifndef MINGW
- if (0 != ioctl (GNUNET_NETWORK_get_fd (dnsout), FIONREAD, &len))
- {
- /* conservative choice: */
- len = UINT16_MAX;
- }
-#else
- /* port the code above? */
- len = UINT16_MAX;
-#endif
-
- {
- unsigned char buf[len] GNUNET_ALIGN;
-
- addrlen = sizeof (addr);
- memset (&addr, 0, sizeof (addr));
- r = GNUNET_NETWORK_socket_recvfrom (dnsout,
- buf, sizeof (buf),
- (struct sockaddr*) &addr, &addrlen);
- if (-1 == r)
- {
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "recvfrom");
- GNUNET_NETWORK_socket_close (dnsout);
- return GNUNET_SYSERR;
- }
- if (sizeof (struct GNUNET_TUN_DnsHeader) > r)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Received DNS response that is too small (%u bytes)"),
- r);
- return GNUNET_NO;
- }
- dns = (struct GNUNET_TUN_DnsHeader *) buf;
- /* Handle case that this is a reply to a request from a MESH DNS tunnel */
- ts = tunnels[dns->id];
- if ( (NULL == ts) ||
- (ts->dnsout != dnsout) ||
- (addrlen != ts->addrlen) ||
- (0 != memcmp (&ts->addr,
- &addr,
- addrlen)) ||
- (0 == GNUNET_TIME_absolute_get_remaining (ts->timeout).rel_value) )
- ts = NULL; /* DNS responder address missmatch */
- if (NULL != ts)
+
+ GNUNET_assert (NULL == cls);
+ /* Handle case that this is a reply to a request from a MESH DNS tunnel */
+ ts = tunnels[dns->id];
+ if ( (NULL == ts) ||
+ (ts->rs != rs) )
+ ts = NULL; /* DNS responder address missmatch */
+ if (NULL != ts)
{
tunnels[dns->id] = NULL;
GNUNET_free_non_null (ts->reply);
@@ -1034,76 +809,25 @@ do_dns_read (struct GNUNET_NETWORK_Handle *dnsout)
&transmit_reply_to_mesh,
ts);
}
- /* Handle case that this is a reply to a local request (intercepted from TUN interface) */
- rr = &requests[dns->id];
- if ( (rr->phase != RP_INTERNET_DNS) ||
- (rr->dnsout != dnsout) ||
- (0 != memcmp (&rr->dst_addr,
- &addr,
- addrlen)) ||
- (0 == GNUNET_TIME_absolute_get_remaining (rr->timeout).rel_value) )
+ /* Handle case that this is a reply to a local request (intercepted from TUN interface) */
+ rr = &requests[dns->id];
+ if ( (rr->phase != RP_INTERNET_DNS) ||
+ (rr->rs != rs) )
{
if (NULL == ts)
- {
- /* unexpected / bogus reply */
- GNUNET_STATISTICS_update (stats,
- gettext_noop ("# External DNS response discarded (no matching request)"),
- 1, GNUNET_NO);
- }
- return GNUNET_NO;
+ {
+ /* unexpected / bogus reply */
+ GNUNET_STATISTICS_update (stats,
+ gettext_noop ("# External DNS response discarded (no matching request)"),
+ 1, GNUNET_NO);
+ }
+ return;
}
- GNUNET_free_non_null (rr->payload);
- rr->payload = GNUNET_malloc (r);
- memcpy (rr->payload, buf, r);
- rr->payload_length = r;
- next_phase (rr);
- }
- return GNUNET_OK;
-}
-
-
-/**
- * Read a DNS response from the (unhindered) UDP-Socket
- *
- * @param cls socket to read from
- * @param tc scheduler context (must be shutdown or read ready)
- */
-static void
-read_response (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
- struct RequestSocket *rs = cls;
- struct GNUNET_NETWORK_FDSet *rset;
-
- rs->read_task = GNUNET_SCHEDULER_NO_TASK;
- if (0 == (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY))
- {
- /* timeout or shutdown */
- cleanup_rs (rs);
- return;
- }
- /* read and process ready sockets */
- if ((NULL != rs->dnsout4) &&
- (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout4)) &&
- (GNUNET_SYSERR == do_dns_read (rs->dnsout4)))
- rs->dnsout4 = NULL;
- if ((NULL != rs->dnsout6) &&
- (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout6)) &&
- (GNUNET_SYSERR == do_dns_read (rs->dnsout6)))
- rs->dnsout6 = NULL;
-
- /* re-schedule read task */
- rset = GNUNET_NETWORK_fdset_create ();
- if (NULL != rs->dnsout4)
- GNUNET_NETWORK_fdset_set (rset, rs->dnsout4);
- if (NULL != rs->dnsout6)
- GNUNET_NETWORK_fdset_set (rset, rs->dnsout6);
- rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_TIME_absolute_get_remaining (rs->timeout),
- rset,
- NULL,
- &read_response, rs);
- GNUNET_NETWORK_fdset_destroy (rset);
+ GNUNET_free_non_null (rr->payload);
+ rr->payload = GNUNET_malloc (r);
+ memcpy (rr->payload, dns, r);
+ rr->payload_length = r;
+ next_phase (rr);
}
@@ -1410,11 +1134,7 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel,
size_t dlen = mlen - sizeof (struct GNUNET_MessageHeader);
char buf[dlen] GNUNET_ALIGN;
struct GNUNET_TUN_DnsHeader *dout;
- struct sockaddr_in v4;
- struct sockaddr_in6 v6;
- struct sockaddr *so;
- socklen_t salen;
-
+
if (dlen < sizeof (struct GNUNET_TUN_DnsHeader))
{
GNUNET_break_op (0);
@@ -1428,51 +1148,14 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel,
UINT16_MAX + 1);
tunnels[ts->my_id] = ts;
memcpy (buf, dns, dlen);
- dout = (struct GNUNET_TUN_DnsHeader*) buf;
+ dout = (struct GNUNET_TUN_DnsHeader *) buf;
dout->id = ts->my_id;
- memset (&v4, 0, sizeof (v4));
- memset (&v6, 0, sizeof (v6));
- if (1 == inet_pton (AF_INET, dns_exit, &v4.sin_addr))
- {
- salen = sizeof (v4);
- v4.sin_family = AF_INET;
- v4.sin_port = htons (53);
-#if HAVE_SOCKADDR_IN_SIN_LEN
- v4.sin_len = (u_char) salen;
-#endif
- so = (struct sockaddr *) &v4;
- ts->dnsout = get_request_socket (AF_INET);
- }
- else if (1 == inet_pton (AF_INET6, dns_exit, &v6.sin6_addr))
- {
- salen = sizeof (v6);
- v6.sin6_family = AF_INET6;
- v6.sin6_port = htons (53);
-#if HAVE_SOCKADDR_IN_SIN_LEN
- v6.sin6_len = (u_char) salen;
-#endif
- so = (struct sockaddr *) &v6;
- ts->dnsout = get_request_socket (AF_INET6);
- }
- else
- {
- GNUNET_break (0);
+ ts->rs = GNUNET_DNSSTUB_resolve2 (dnsstub,
+ buf, dlen,
+ &process_dns_result,
+ NULL);
+ if (NULL == ts->rs)
return GNUNET_SYSERR;
- }
- if (NULL == ts->dnsout)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Configured DNS exit `%s' is not working / valid.\n"),
- dns_exit);
- return GNUNET_SYSERR;
- }
- memcpy (&ts->addr,
- so,
- salen);
- ts->addrlen = salen;
- GNUNET_NETWORK_socket_sendto (ts->dnsout,
- buf, dlen, so, salen);
- ts->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT);
return GNUNET_OK;
}
@@ -1552,6 +1235,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
char *ipv6prefix;
struct in_addr dns_exit4;
struct in6_addr dns_exit6;
+ char *dns_exit;
cfg = cfg_;
if (GNUNET_YES !=
@@ -1582,7 +1266,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
GNUNET_free_non_null (dns_exit);
dns_exit = NULL;
}
-
+ dnsstub = GNUNET_DNSSTUB_start (dns_exit);
helper_argv[0] = GNUNET_strdup ("gnunet-dns");
if (GNUNET_SYSERR ==
GNUNET_CONFIGURATION_get_value_string (cfg, "dns", "IFNAME", &ifc_name))
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index 8a326e1bf..4bde4fbbb 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -40,6 +40,7 @@ gnunetinclude_HEADERS = \
gnunet_dht_service.h \
gnunet_disk_lib.h \
gnunet_dnsparser_lib.h \
+ gnunet_dnsstub_lib.h \
gnunet_dns_service.h \
gnunet_dv_service.h \
gnunet_fragmentation_lib.h \
diff --git a/src/include/gnunet_dnsstub_lib.h b/src/include/gnunet_dnsstub_lib.h
new file mode 100644
index 000000000..ffe82dbbe
--- /dev/null
+++ b/src/include/gnunet_dnsstub_lib.h
@@ -0,0 +1,115 @@
+/*
+ This file is part of GNUnet
+ (C) 2012 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 include/gnunet_dnsstub_lib.h
+ * @brief API for helper library to send DNS requests to DNS resolver
+ * @author Christian Grothoff
+ */
+#ifndef GNUNET_DNSSTUB_LIB_H
+#define GNUNET_DNSSTUB_LIB_H
+
+#include "gnunet_common.h"
+#include "gnunet_tun_lib.h"
+
+/**
+ * Opaque handle to the stub resolver.
+ */
+struct GNUNET_DNSSTUB_Context;
+
+/**
+ * Opaque handle to a socket doing UDP requests.
+ */
+struct GNUNET_DNSSTUB_RequestSocket;
+
+
+/**
+ * Start a DNS stub resolver.
+ *
+ * @param dns_ip target IP address to use
+ * @return NULL on error
+ */
+struct GNUNET_DNSSTUB_Context *
+GNUNET_DNSSTUB_start (const char *dns_ip);
+
+
+/**
+ * Cleanup DNSSTUB resolver.
+ *
+ * @param ctx stub resolver to clean up
+ */
+void
+GNUNET_DNSSTUB_stop (struct GNUNET_DNSSTUB_Context *ctx);
+
+
+/**
+ * Function called with the result of a DNS resolution.
+ *
+ * @param cls closure
+ * @param rs socket that received the response
+ * @param dns dns response, never NULL
+ * @param dns_len number of bytes in 'dns'
+ */
+typedef void (*GNUNET_DNSSTUB_ResultCallback)(void *cls,
+ struct GNUNET_DNSSTUB_RequestSocket *rs,
+ const struct GNUNET_TUN_DnsHeader *dns,
+ size_t dns_len);
+
+
+/**
+ * Perform DNS resolution using given address.
+ *
+ * @param ctx stub resolver to use
+ * @param af address family to use
+ * @param request DNS request to transmit
+ * @param request_len number of bytes in msg
+ * @param rc function to call with result
+ * @param rc_cls closure for 'rc'
+ * @return socket used for the request, NULL on error
+ */
+struct GNUNET_DNSSTUB_RequestSocket *
+GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx,
+ const struct sockaddr *sa,
+ socklen_t sa_len,
+ const void *request,
+ size_t request_len,
+ GNUNET_DNSSTUB_ResultCallback rc,
+ void *rc_cls);
+
+
+/**
+ * Perform DNS resolution using our default IP from init.
+ *
+ * @param ctx stub resolver to use
+ * @param request DNS request to transmit
+ * @param request_len number of bytes in msg
+ * @param rc function to call with result
+ * @param rc_cls closure for 'rc'
+ * @return socket used for the request, NULL on error
+ */
+struct GNUNET_DNSSTUB_RequestSocket *
+GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx,
+ const void *request,
+ size_t request_len,
+ GNUNET_DNSSTUB_ResultCallback rc,
+ void *rc_cls);
+
+
+#endif