gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r23331 - in gnunet: po src/dns src/include


From: gnunet
Subject: [GNUnet-SVN] r23331 - in gnunet: po src/dns src/include
Date: Tue, 21 Aug 2012 08:01:06 +0200

Author: grothoff
Date: 2012-08-21 08:01:06 +0200 (Tue, 21 Aug 2012)
New Revision: 23331

Added:
   gnunet/src/dns/dnsstub.c
   gnunet/src/include/gnunet_dnsstub_lib.h
Modified:
   gnunet/po/de.po
   gnunet/po/es.po
   gnunet/po/sv.po
   gnunet/po/vi.po
   gnunet/po/zh_CN.po
   gnunet/src/dns/Makefile.am
   gnunet/src/dns/gnunet-service-dns.c
   gnunet/src/include/Makefile.am
Log:
refactoring dns service to take stub code into separate library for use in 
gns2dns proxy

Modified: gnunet/po/de.po
===================================================================
--- gnunet/po/de.po     2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/po/de.po     2012-08-21 06:01:06 UTC (rev 23331)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"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 <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -716,7 +716,7 @@
 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 @@
 #: 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 @@
 #: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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"

Modified: gnunet/po/es.po
===================================================================
--- gnunet/po/es.po     2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/po/es.po     2012-08-21 06:01:06 UTC (rev 23331)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0e\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"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 <address@hidden>\n"
 "Language-Team: Spanish\n"
@@ -712,7 +712,7 @@
 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 @@
 #: 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 @@
 #: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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"

Modified: gnunet/po/sv.po
===================================================================
--- gnunet/po/sv.po     2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/po/sv.po     2012-08-21 06:01:06 UTC (rev 23331)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"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 <address@hidden>\n"
 "Language-Team: Swedish <address@hidden>\n"
@@ -707,7 +707,7 @@
 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 @@
 #: 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 @@
 #: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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"

Modified: gnunet/po/vi.po
===================================================================
--- gnunet/po/vi.po     2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/po/vi.po     2012-08-21 06:01:06 UTC (rev 23331)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gnunet 0.8.0a\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"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 <address@hidden>\n"
 "Language-Team: Vietnamese <address@hidden>\n"
@@ -726,7 +726,7 @@
 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 @@
 #: 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 @@
 #: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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"

Modified: gnunet/po/zh_CN.po
===================================================================
--- gnunet/po/zh_CN.po  2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/po/zh_CN.po  2012-08-21 06:01:06 UTC (rev 23331)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gnunet-0.8.1\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"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 <address@hidden>\n"
 "Language-Team: Chinese (simplified) <address@hidden>\n"
@@ -691,7 +691,7 @@
 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 @@
 #: 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 @@
 #: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 "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 @@
 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 @@
 "\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 @@
 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 ""

Modified: gnunet/src/dns/Makefile.am
===================================================================
--- gnunet/src/dns/Makefile.am  2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/src/dns/Makefile.am  2012-08-21 06:01:06 UTC (rev 23331)
@@ -25,6 +25,7 @@
 
 lib_LTLIBRARIES = \
   libgnunetdnsparser.la \
+  libgnunetdnsstub.la \
   libgnunetdns.la
 
 bin_PROGRAMS = \
@@ -70,6 +71,7 @@
 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 @@
   $(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 = \

Added: gnunet/src/dns/dnsstub.c
===================================================================
--- gnunet/src/dns/dnsstub.c                            (rev 0)
+++ gnunet/src/dns/dnsstub.c    2012-08-21 06:01:06 UTC (rev 23331)
@@ -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 */

Modified: gnunet/src/dns/gnunet-service-dns.c
===================================================================
--- gnunet/src/dns/gnunet-service-dns.c 2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/src/dns/gnunet-service-dns.c 2012-08-21 06:01:06 UTC (rev 23331)
@@ -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 @@
 
 
 /**
- * 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 @@
 
   /**
    * 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 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,27 +208,11 @@
 
   /**
    * 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;
 
   /**
-   * Address we sent the DNS request to.
-   */
-  struct sockaddr_storage addr;
-
-  /**
-   * When should this request time out?
-   */
-  struct GNUNET_TIME_Absolute timeout;
-
-  /**
-   * Number of bytes in 'addr'.
-   */
-  socklen_t addrlen;
-
-  /**
    * Number of bytes in 'reply'.
    */
   size_t reply_length;
@@ -330,19 +270,14 @@
 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 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 @@
     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 @@
 
 
 /**
- * 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,73 +537,24 @@
 }
 
 
+
 /**
- * Read a DNS response from the (unhindered) UDP-Socket
+ * Callback called from DNSSTUB resolver when a resolution
+ * succeeded.
  *
- * @param cls socket to read from
- * @param tc scheduler context (must be shutdown or read ready)
+ * @param cls NULL
+ * @param rs the socket that received the response
+ * @param dns the response itself
+ * @param r number of bytes in dns
  */
 static void
-read_response (void *cls,
-              const struct GNUNET_SCHEDULER_TaskContext *tc);
+process_dns_result (void *cls,
+                   struct GNUNET_DNSSTUB_RequestSocket *rs,
+                   const struct GNUNET_TUN_DnsHeader *dns,
+                   size_t r);
 
 
 /**
- * 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_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;
-}
-
-
-/**
  * A client has completed its processing for this
  * request.  Move on.
  *
@@ -815,8 +626,14 @@
     }
 
     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 @@
       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,69 +767,33 @@
 }
 
 
+
 /**
- * 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_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)
     {
-      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)
-    {
       tunnels[dns->id] = NULL;
       GNUNET_free_non_null (ts->reply);
       ts->reply = GNUNET_malloc (r);
@@ -1034,80 +809,29 @@
                                                  &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;
+  GNUNET_free_non_null (rr->payload);
+  rr->payload = GNUNET_malloc (r);
+  memcpy (rr->payload, dns, r);
+  rr->payload_length = r;
+  next_phase (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)
-{
-  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);
-}
-
-
-/**
  * We got a new client.  Make sure all new DNS requests pass by its desk.
  *
  * @param cls unused
@@ -1410,11 +1134,7 @@
   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 @@
                                                   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 @@
   char *ipv6prefix;
   struct in_addr dns_exit4;
   struct in6_addr dns_exit6;
+  char *dns_exit;
 
   cfg = cfg_;
   if (GNUNET_YES !=
@@ -1582,7 +1266,7 @@
     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))

Modified: gnunet/src/include/Makefile.am
===================================================================
--- gnunet/src/include/Makefile.am      2012-08-20 12:22:17 UTC (rev 23330)
+++ gnunet/src/include/Makefile.am      2012-08-21 06:01:06 UTC (rev 23331)
@@ -40,6 +40,7 @@
   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 \

Added: gnunet/src/include/gnunet_dnsstub_lib.h
===================================================================
--- gnunet/src/include/gnunet_dnsstub_lib.h                             (rev 0)
+++ gnunet/src/include/gnunet_dnsstub_lib.h     2012-08-21 06:01:06 UTC (rev 
23331)
@@ -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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]