gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r25091 - in gnunet: po src/consensus src/include


From: gnunet
Subject: [GNUnet-SVN] r25091 - in gnunet: po src/consensus src/include
Date: Wed, 21 Nov 2012 21:56:49 +0100

Author: dold
Date: 2012-11-21 21:56:49 +0100 (Wed, 21 Nov 2012)
New Revision: 25091

Added:
   gnunet/src/consensus/consensus.h
   gnunet/src/consensus/consensus_api.c
   gnunet/src/consensus/test_consensus.conf
   gnunet/src/consensus/test_consensus_api.c
Modified:
   gnunet/po/POTFILES.in
   gnunet/po/de.po
   gnunet/po/es.po
   gnunet/po/sv.po
   gnunet/po/vi.po
   gnunet/po/zh_CN.po
   gnunet/src/consensus/Makefile.am
   gnunet/src/consensus/gnunet-service-consensus.cc
   gnunet/src/include/gnunet_consensus_service.h
   gnunet/src/include/gnunet_protocols.h
Log:
started implementing consensus api and service


Modified: gnunet/po/POTFILES.in
===================================================================
--- gnunet/po/POTFILES.in       2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/POTFILES.in       2012-11-21 20:56:49 UTC (rev 25091)
@@ -16,6 +16,7 @@
 src/block/block.c
 src/block/plugin_block_template.c
 src/block/plugin_block_test.c
+src/consensus/consensus_api.c
 src/consensus/gnunet-consensus.c
 src/core/core_api.c
 src/core/core_api_is_connected.c

Modified: gnunet/po/de.po
===================================================================
--- gnunet/po/de.po     2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/de.po     2012-11-21 20:56:49 UTC (rev 25091)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-11-05 22:48+0100\n"
+"POT-Creation-Date: 2012-11-14 15:54+0100\n"
 "PO-Revision-Date: 2006-03-17 21:37+0100\n"
 "Last-Translator: Nils Durner <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -130,19 +130,20 @@
 
 #: src/arm/gnunet-arm.c:433
 #, fuzzy
-msgid "timeout for completing current operation"
+msgid "timeout in MSECS milliseconds for completing current operation"
 msgstr "Zeit, die gewartet wird, bis der Durchlauf fertiggestellt wird (in ms)"
 
 #: src/arm/gnunet-arm.c:435
-msgid "List currently running services"
-msgstr ""
+#, fuzzy
+msgid "list currently running services"
+msgstr "Collection `%s' begonnen.\n"
 
 #: src/arm/gnunet-arm.c:437
-msgid "Don't let gnunet-service-arm inherit standard output"
+msgid "don't let gnunet-service-arm inherit standard output"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:439
-msgid "Don't let gnunet-service-arm inherit standard error"
+msgid "don't let gnunet-service-arm inherit standard error"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:450
@@ -236,45 +237,67 @@
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:67
+#: src/ats-tool/gnunet-ats.c:75
 #, c-format
 msgid ""
 "Peer `%s' plugin `%s', address `%s', bandwidth out: %u Bytes/s, bandwidth in "
 "%u Bytes/s\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:129
+#: src/ats-tool/gnunet-ats.c:137
 #, c-format
 msgid "%u address resolutions had a timeout\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:131
+#: src/ats-tool/gnunet-ats.c:139
 #, c-format
 msgid "ATS returned results for %u addresses\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:142 src/namestore/gnunet-namestore.c:610
-#: src/transport/gnunet-transport.c:617
+#: src/ats-tool/gnunet-ats.c:153 src/namestore/gnunet-namestore.c:610
+#: src/transport/gnunet-transport.c:744
 #, fuzzy, c-format
 msgid "Service `%s' is not running\n"
 msgstr "`%s' ist keine Datei.\n"
 
-#: src/ats-tool/gnunet-ats.c:149
+#: src/ats-tool/gnunet-ats.c:162 src/transport/gnunet-transport.c:750
 #, fuzzy, c-format
+msgid "Failed to parse peer identity `%s'\n"
+msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
+
+#: src/ats-tool/gnunet-ats.c:167 src/ats-tool/gnunet-ats.c:182
+msgid "Type required\n"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:189 src/ats-tool/gnunet-ats.c:199
+#, fuzzy, c-format
 msgid "Cannot connect to ATS service, exiting...\n"
 msgstr "`%s' Dienst konnte nicht initialisiert werden.\n"
 
-#: src/ats-tool/gnunet-ats.c:194
+#: src/ats-tool/gnunet-ats.c:247
 #, fuzzy
 msgid "do not resolve IP addresses to hostnames"
 msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
 
-#: src/ats-tool/gnunet-ats.c:197
+#: src/ats-tool/gnunet-ats.c:250
 msgid "monitor mode"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:206
+#: src/ats-tool/gnunet-ats.c:253
 #, fuzzy
+msgid "set preference for the given peer"
+msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#: src/ats-tool/gnunet-ats.c:256
+msgid "preference type to set: latency | bandwidth"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:259
+msgid "preference value"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:268
+#, fuzzy
 msgid "Print information about ATS state"
 msgstr "Informationen über andere GNUnet Knoten ausgeben."
 
@@ -293,17 +316,17 @@
 msgstr "Ich bin Peer `%s'.\n"
 
 #: src/core/gnunet-core.c:119 src/core/gnunet-core.c:147
-#: src/transport/gnunet-transport.c:453 src/transport/gnunet-transport.c:477
+#: src/transport/gnunet-transport.c:571 src/transport/gnunet-transport.c:595
 #, c-format
 msgid "%24s: %-17s %4s   (%u connections in total)\n"
 msgstr ""
 
-#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:455
+#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:573
 #, fuzzy
 msgid "Connected to"
 msgstr "`%s' hat sich mit `%s' verbunden.\n"
 
-#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:479
+#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:597
 #, fuzzy
 msgid "Disconnected from"
 msgstr "`%s' hat sich mit `%s' verbunden.\n"
@@ -313,7 +336,7 @@
 msgid "Invalid command line argument `%s'\n"
 msgstr "Ungültige Kommandozeilen Parameter:\n"
 
-#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:724
+#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:933
 #, fuzzy
 msgid "provide information about all current connections (continuously)"
 msgstr "Informationen über andere GNUnet Knoten ausgeben."
@@ -354,7 +377,7 @@
 msgid "# messages discarded (session disconnected)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/core/gnunet-service-core_clients.c:818
+#: src/core/gnunet-service-core_clients.c:518
 #, fuzzy, c-format
 msgid "# bytes of messages of type %u received"
 msgstr "# Bytes Rauschen empfangen"
@@ -516,16 +539,16 @@
 
 #: src/core/gnunet-service-core_sessions.c:206
 #: src/core/gnunet-service-core_sessions.c:269
-#: src/dht/gnunet-service-dht_neighbours.c:634
-#: src/dht/gnunet-service-dht_neighbours.c:692
+#: src/dht/gnunet-service-dht_neighbours.c:639
+#: src/dht/gnunet-service-dht_neighbours.c:697
 #: src/fs/gnunet-service-fs_cp.c:630 src/fs/gnunet-service-fs_cp.c:1544
 #: src/topology/gnunet-daemon-topology.c:704
 #: src/topology/gnunet-daemon-topology.c:805
-#: src/transport/gnunet-service-transport_neighbours.c:872
-#: src/transport/gnunet-service-transport_neighbours.c:1089
-#: src/transport/gnunet-service-transport_neighbours.c:1098
-#: src/transport/gnunet-service-transport_neighbours.c:2635
-#: src/transport/gnunet-service-transport_neighbours.c:2897
+#: src/transport/gnunet-service-transport_neighbours.c:874
+#: src/transport/gnunet-service-transport_neighbours.c:1091
+#: src/transport/gnunet-service-transport_neighbours.c:1100
+#: src/transport/gnunet-service-transport_neighbours.c:2637
+#: src/transport/gnunet-service-transport_neighbours.c:2899
 #, fuzzy
 msgid "# peers connected"
 msgstr "# verbundener Knoten"
@@ -549,40 +572,52 @@
 msgid "# updates to my type map"
 msgstr ""
 
-#: src/datacache/datacache.c:115 src/datacache/datacache.c:250
+#: src/datacache/datacache.c:115 src/datacache/datacache.c:266
 #: src/datastore/gnunet-service-datastore.c:834
 #, fuzzy
 msgid "# bytes stored"
 msgstr "# bytes in der Datenbank"
 
-#: src/datacache/datacache.c:141 src/datacache/datacache.c:148
+#: src/datacache/datacache.c:117 src/datacache/datacache.c:268
+#, fuzzy
+msgid "# items stored"
+msgstr "# bytes in der Datenbank"
+
+#: src/datacache/datacache.c:143 src/datacache/datacache.c:150
 #: src/datastore/gnunet-service-datastore.c:1483
 #: src/datastore/gnunet-service-datastore.c:1494
 #, fuzzy, c-format
 msgid "No `%s' specified for `%s' in configuration!\n"
 msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n"
 
-#: src/datacache/datacache.c:180
+#: src/datacache/datacache.c:184
 #, c-format
 msgid "Loading `%s' datacache plugin\n"
 msgstr ""
 
-#: src/datacache/datacache.c:188
+#: src/datacache/datacache.c:192
 #, fuzzy, c-format
 msgid "Failed to load datacache plugin for `%s'\n"
 msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
 
-#: src/datacache/datacache.c:276
+#: src/datacache/datacache.c:295
 #, fuzzy
 msgid "# requests received"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/datacache/datacache.c:284
+#: src/datacache/datacache.c:304
 msgid "# requests filtered by bloom filter"
 msgstr ""
 
-#: src/datacache/plugin_datacache_mysql.c:97
-#: src/datacache/plugin_datacache_mysql.c:104
+#: src/datacache/plugin_datacache_heap.c:406
+#, fuzzy
+msgid "Heap datacache running\n"
+msgstr "sqlite Datenspeicher"
+
+#: src/datacache/plugin_datacache_postgres.c:392
+msgid "Postgres datacache running\n"
+msgstr ""
+
 #: src/datacache/plugin_datacache_sqlite.c:69
 #: src/datacache/plugin_datacache_sqlite.c:72
 #: src/datastore/plugin_datastore_mysql.c:803
@@ -598,30 +633,22 @@
 msgid "`%s' failed at %s:%d with error: %s\n"
 msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n"
 
-#: src/datacache/plugin_datacache_mysql.c:450
-msgid "MySQL datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_postgres.c:367
-msgid "Postgres datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_sqlite.c:405
+#: src/datacache/plugin_datacache_sqlite.c:448
 msgid "Sqlite datacache running\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:438
+#: src/datacache/plugin_datacache_sqlite.c:482
 #: src/datastore/plugin_datastore_sqlite.c:401
 #: src/namestore/plugin_namestore_sqlite.c:362
 msgid "Tried to close sqlite without finalizing all prepared statements.\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:445
+#: src/datacache/plugin_datacache_sqlite.c:489
 #, fuzzy, c-format
 msgid "Failed to close statement %p: %d\n"
 msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
 
-#: src/datacache/plugin_datacache_template.c:121
+#: src/datacache/plugin_datacache_template.c:125
 msgid "Template datacache running\n"
 msgstr ""
 
@@ -931,18 +958,18 @@
 msgid "Invalid data in database.  Trying to fix (by deletion).\n"
 msgstr "Ungültige Daten in %s. Korrektur wird versucht (durch Löschung).\n"
 
-#: src/datastore/plugin_datastore_sqlite.c:1132
+#: src/datastore/plugin_datastore_sqlite.c:1134
 msgid "sqlite version to old to determine size, assuming zero\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1151
+#: src/datastore/plugin_datastore_sqlite.c:1153
 #, c-format
 msgid ""
 "Using sqlite page utilization to estimate payload (%llu pages of size %llu "
 "bytes)\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1191
+#: src/datastore/plugin_datastore_sqlite.c:1193
 #: src/namestore/plugin_namestore_sqlite.c:827
 #, fuzzy
 msgid "Sqlite database running\n"
@@ -952,7 +979,7 @@
 msgid "Template database running\n"
 msgstr ""
 
-#: src/dht/dht_api.c:348
+#: src/dht/dht_api.c:375
 #, fuzzy
 msgid "Failed to connect to the DHT service!\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
@@ -1076,80 +1103,84 @@
 msgid "# GET requests from clients injected"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/dht/gnunet-service-dht_clients.c:500
+#: src/dht/gnunet-service-dht_clients.c:497
 #, fuzzy
 msgid "# PUT requests received from clients"
 msgstr "Empfangene Client-Nachricht ist ungültig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:584
+#: src/dht/gnunet-service-dht_clients.c:579
 #, fuzzy
 msgid "# GET requests received from clients"
 msgstr "Empfangene Client-Nachricht ist ungültig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:682
+#: src/dht/gnunet-service-dht_clients.c:775
 #, fuzzy
 msgid "# GET STOP requests received from clients"
 msgstr "Empfangene Client-Nachricht ist ungültig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:919
+#: src/dht/gnunet-service-dht_clients.c:1012
 msgid "# Key match, type mismatches in REPLY to CLIENT"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:932
+#: src/dht/gnunet-service-dht_clients.c:1025
 msgid "# Duplicate REPLIES to CLIENT request dropped"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:967
+#: src/dht/gnunet-service-dht_clients.c:1062
 #, fuzzy, c-format
 msgid "Unsupported block type (%u) in request!\n"
 msgstr "Ungültige Nachricht des Typs %u empfangen. Nachricht wird verworfen.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:990
+#: src/dht/gnunet-service-dht_clients.c:1085
 #, fuzzy
 msgid "# RESULTS queued for clients"
 msgstr "Empfangene Client-Nachricht ist ungültig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:1039
-#: src/dht/gnunet-service-dht_clients.c:1082
+#: src/dht/gnunet-service-dht_clients.c:1134
+#: src/dht/gnunet-service-dht_clients.c:1177
 msgid "# REPLIES ignored for CLIENTS (no match)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1049
+#: src/dht/gnunet-service-dht_clients.c:1144
 #, fuzzy
 msgid "Could not pass reply to client, message too big!\n"
 msgstr "'join' Nachricht konnte nicht an gnunetd gesendet werden.\n"
 
-#: src/dht/gnunet-service-dht_datacache.c:93
+#: src/dht/gnunet-service-dht_datacache.c:64
 #, fuzzy, c-format
 msgid "%s request received, but have no datacache!\n"
 msgstr "# Bytes empfangen über TCP"
 
-#: src/dht/gnunet-service-dht_datacache.c:103
+#: src/dht/gnunet-service-dht_datacache.c:74
 msgid "# ITEMS stored in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:207
+#: src/dht/gnunet-service-dht_datacache.c:159
 msgid "# Good RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:218
+#: src/dht/gnunet-service-dht_datacache.c:170
 msgid "# Duplicate RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:224
+#: src/dht/gnunet-service-dht_datacache.c:176
 msgid "# Invalid RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:236
+#: src/dht/gnunet-service-dht_datacache.c:182
+msgid "# Irrelevant RESULTS found in datacache"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_datacache.c:194
 msgid "# Unsupported RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:239
+#: src/dht/gnunet-service-dht_datacache.c:197
 #, c-format
 msgid "Unsupported block type (%u) in local response!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:269
+#: src/dht/gnunet-service-dht_datacache.c:227
 #, fuzzy
 msgid "# GET requests given to datacache"
 msgstr "# Client Trace-Anfragen empfangen"
@@ -1159,102 +1190,102 @@
 msgid "# HELLOs obtained from peerinfo"
 msgstr "Empfangene Client-Nachricht ist ungültig.\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:490
+#: src/dht/gnunet-service-dht_neighbours.c:495
 msgid "# Preference updates given to core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:580
+#: src/dht/gnunet-service-dht_neighbours.c:585
 #, fuzzy
 msgid "# FIND PEER messages initiated"
 msgstr "# PING Nachrichten erstellt"
 
-#: src/dht/gnunet-service-dht_neighbours.c:726
+#: src/dht/gnunet-service-dht_neighbours.c:731
 #, fuzzy
 msgid "# Queued messages discarded (peer disconnected)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/dht/gnunet-service-dht_neighbours.c:781
+#: src/dht/gnunet-service-dht_neighbours.c:786
 #, fuzzy
 msgid "# Bytes transmitted to other peers"
 msgstr "# Bytes des Typs %d übertragen"
 
-#: src/dht/gnunet-service-dht_neighbours.c:819
+#: src/dht/gnunet-service-dht_neighbours.c:824
 #, fuzzy
-msgid "# Bytes of bandwdith requested from core"
+msgid "# Bytes of bandwidth requested from core"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1041
-#: src/dht/gnunet-service-dht_neighbours.c:1069
+#: src/dht/gnunet-service-dht_neighbours.c:1046
+#: src/dht/gnunet-service-dht_neighbours.c:1074
 msgid "# Peers excluded from routing due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1050
-#: src/dht/gnunet-service-dht_neighbours.c:1084
+#: src/dht/gnunet-service-dht_neighbours.c:1055
+#: src/dht/gnunet-service-dht_neighbours.c:1089
 #, fuzzy
 msgid "# Peer selection failed"
 msgstr " Verbindung fehlgeschlagen\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1216
+#: src/dht/gnunet-service-dht_neighbours.c:1223
 #, fuzzy
 msgid "# PUT requests routed"
 msgstr "# dht Anfragen weitergeleitet"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1245
+#: src/dht/gnunet-service-dht_neighbours.c:1252
 #, fuzzy
 msgid "# PUT messages queued for transmission"
 msgstr "# PING Nachrichten erstellt"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1252
-#: src/dht/gnunet-service-dht_neighbours.c:1365
-#: src/dht/gnunet-service-dht_neighbours.c:1465
+#: src/dht/gnunet-service-dht_neighbours.c:1259
+#: src/dht/gnunet-service-dht_neighbours.c:1372
+#: src/dht/gnunet-service-dht_neighbours.c:1472
 #, fuzzy
 msgid "# P2P messages dropped due to full queue"
 msgstr "# gap Anfragen verworfen: Kollision in RT"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1330
+#: src/dht/gnunet-service-dht_neighbours.c:1337
 #, fuzzy
 msgid "# GET requests routed"
 msgstr "# dht Anfragen weitergeleitet"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1357
+#: src/dht/gnunet-service-dht_neighbours.c:1364
 #, fuzzy
 msgid "# GET messages queued for transmission"
 msgstr "# PING Nachrichten erstellt"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1472
+#: src/dht/gnunet-service-dht_neighbours.c:1479
 #, fuzzy
 msgid "# RESULT messages queued for transmission"
 msgstr "# PING Nachrichten erstellt"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1560
+#: src/dht/gnunet-service-dht_neighbours.c:1567
 #, fuzzy
 msgid "# P2P PUT requests received"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1676
+#: src/dht/gnunet-service-dht_neighbours.c:1694
 msgid "# FIND PEER requests ignored due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1684
+#: src/dht/gnunet-service-dht_neighbours.c:1702
 msgid "# FIND PEER requests ignored due to lack of HELLO"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1775
+#: src/dht/gnunet-service-dht_neighbours.c:1793
 #, fuzzy
 msgid "# P2P GET requests received"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1817
+#: src/dht/gnunet-service-dht_neighbours.c:1835
 #, fuzzy
 msgid "# P2P FIND PEER requests processed"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1831
+#: src/dht/gnunet-service-dht_neighbours.c:1849
 #, fuzzy
 msgid "# P2P GET requests ONLY routed"
 msgstr "# dht Anfragen weitergeleitet"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1905
+#: src/dht/gnunet-service-dht_neighbours.c:1934
 #, fuzzy
 msgid "# P2P RESULTS received"
 msgstr "# Bytes empfangen über TCP"
@@ -1276,19 +1307,23 @@
 msgid "# Invalid REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:238
+#: src/dht/gnunet-service-dht_routing.c:232
+msgid "# Irrelevant REPLIES matched against routing table"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_routing.c:244
 msgid "# Unsupported REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:311
+#: src/dht/gnunet-service-dht_routing.c:317
 msgid "# Entries removed from routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:394
+#: src/dht/gnunet-service-dht_routing.c:400
 msgid "# Entries added to routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:411
+#: src/dht/gnunet-service-dht_routing.c:417
 #, fuzzy
 msgid "# DHT requests combined"
 msgstr "# Client Trace-Anfragen empfangen"
@@ -2469,7 +2504,7 @@
 msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
 
 #: src/fs/gnunet-publish.c:585 src/fs/gnunet-publish.c:592
-#: src/transport/gnunet-transport.c:623
+#: src/transport/gnunet-transport.c:774 src/transport/gnunet-transport.c:804
 #, c-format
 msgid "Option `%s' makes no sense without option `%s'.\n"
 msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
@@ -2801,99 +2836,99 @@
 msgid "# Pending requests created"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:639
+#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:643
 #, fuzzy
 msgid "# Pending requests active"
 msgstr "# Client Trace-Anfragen empfangen"
 
-#: src/fs/gnunet-service-fs_pr.c:802
+#: src/fs/gnunet-service-fs_pr.c:806
 #, fuzzy
 msgid "# replies received and matched"
 msgstr "# Bytes empfangen über TCP"
 
-#: src/fs/gnunet-service-fs_pr.c:835
+#: src/fs/gnunet-service-fs_pr.c:839
 msgid "# duplicate replies discarded (bloomfilter)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:850
+#: src/fs/gnunet-service-fs_pr.c:854
 #, c-format
 msgid "Unsupported block type %u\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:863
+#: src/fs/gnunet-service-fs_pr.c:867
 msgid "# results found locally"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:984
+#: src/fs/gnunet-service-fs_pr.c:988
 msgid "# Datastore `PUT' failures"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1011
+#: src/fs/gnunet-service-fs_pr.c:1015
 #, fuzzy
 msgid "# storage requests dropped due to high load"
 msgstr "# gap Anfragen verworfen: Kollision in RT"
 
-#: src/fs/gnunet-service-fs_pr.c:1046
+#: src/fs/gnunet-service-fs_pr.c:1050
 #, fuzzy
 msgid "# Replies received from DHT"
 msgstr "# Bytes empfangen über HTTP"
 
-#: src/fs/gnunet-service-fs_pr.c:1137
+#: src/fs/gnunet-service-fs_pr.c:1145
 #, c-format
 msgid "Datastore lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1157
+#: src/fs/gnunet-service-fs_pr.c:1165
 #, c-format
 msgid "On-demand lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1204
+#: src/fs/gnunet-service-fs_pr.c:1212
 msgid "# Datastore lookups concluded (no results)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1219
+#: src/fs/gnunet-service-fs_pr.c:1227
 msgid "# Datastore lookups concluded (seen all)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1228
+#: src/fs/gnunet-service-fs_pr.c:1236
 msgid "# Datastore lookups aborted (more than MAX_RESULTS)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1243
+#: src/fs/gnunet-service-fs_pr.c:1251
 msgid "# requested DBLOCK or IBLOCK not found"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1257
+#: src/fs/gnunet-service-fs_pr.c:1265
 msgid "# on-demand blocks matched requests"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1270
+#: src/fs/gnunet-service-fs_pr.c:1278
 msgid "# on-demand lookups performed successfully"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1275
+#: src/fs/gnunet-service-fs_pr.c:1283
 msgid "# on-demand lookups failed"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1302 src/fs/gnunet-service-fs_pr.c:1342
-#: src/fs/gnunet-service-fs_pr.c:1482
+#: src/fs/gnunet-service-fs_pr.c:1310 src/fs/gnunet-service-fs_pr.c:1350
+#: src/fs/gnunet-service-fs_pr.c:1490
 msgid "# Datastore lookups concluded (error queueing)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1360
+#: src/fs/gnunet-service-fs_pr.c:1368
 msgid "# Datastore lookups concluded (found last result)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1371
+#: src/fs/gnunet-service-fs_pr.c:1379
 msgid "# Datastore lookups concluded (load too high)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1458
+#: src/fs/gnunet-service-fs_pr.c:1466
 msgid "# Datastore lookups initiated"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1543
+#: src/fs/gnunet-service-fs_pr.c:1551
 #, fuzzy
 msgid "# GAP PUT messages received"
 msgstr "# verschlüsselter PONG Nachrichten empfangen"
@@ -3451,151 +3486,177 @@
 msgid "help text"
 msgstr "Hilfetext für -t"
 
-#: src/mesh/gnunet-regex-profiler.c:1087
-#: src/testbed/gnunet-testbed-profiler.c:323
+#: src/mesh/gnunet-daemon-regexprofiler.c:209
+#: src/mesh/gnunet-daemon-regexprofiler.c:222
+#: src/mesh/gnunet-daemon-regexprofiler.c:235
+#: src/mesh/gnunet-service-mesh.c:8376 src/mesh/gnunet-service-mesh.c:8388
+#: src/mesh/gnunet-service-mesh.c:8400 src/mesh/gnunet-service-mesh.c:8414
+#: src/mesh/gnunet-service-mesh.c:8426 src/mesh/gnunet-service-mesh.c:8438
+#: src/mesh/gnunet-service-mesh.c:8450 src/mesh/gnunet-service-mesh-new.c:8292
+#: src/mesh/gnunet-service-mesh-new.c:8304
+#: src/mesh/gnunet-service-mesh-new.c:8316
+#: src/mesh/gnunet-service-mesh-new.c:8329
+#: src/mesh/gnunet-service-mesh-new.c:8344
+#: src/mesh/gnunet-service-mesh-new.c:8356
+#: src/mesh/gnunet-service-mesh-new.c:8368
+#, fuzzy, c-format
+msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
+msgstr "GNUnet Konfiguration"
+
+#: src/mesh/gnunet-daemon-regexprofiler.c:298
+msgid "Daemon to announce regular expressions for the peer using mesh."
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1146
+#: src/testbed/gnunet-testbed-profiler.c:320
 msgid "An operation has failed while starting peers\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1141
-#: src/testbed/gnunet-testbed-profiler.c:390
+#: src/mesh/gnunet-regex-profiler.c:1192
+#: src/testbed/gnunet-testbed-profiler.c:389
 #, fuzzy, c-format
 msgid "Creating a peer failed. Error: %s\n"
 msgstr ""
 "\n"
 "Fehler beim Uploaden der Datei: %s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1268
-#: src/testbed/gnunet-testbed-profiler.c:495
+#: src/mesh/gnunet-regex-profiler.c:1319
+#: src/testbed/gnunet-testbed-profiler.c:494
 msgid "An operation has failed while starting slaves\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1290
+#: src/mesh/gnunet-regex-profiler.c:1341
 #, fuzzy, c-format
 msgid "No files found in `%s'\n"
 msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1345
+#: src/mesh/gnunet-regex-profiler.c:1396
 msgid "An operation has failed while linking\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1456
-#: src/testbed/gnunet-testbed-profiler.c:597
+#: src/mesh/gnunet-regex-profiler.c:1507
+#: src/testbed/gnunet-testbed-profiler.c:598
 #, c-format
 msgid "Host registration failed for a host. Error: %s\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1536
-#: src/testbed/gnunet-testbed-profiler.c:676
+#: src/mesh/gnunet-regex-profiler.c:1587
+#: src/testbed/gnunet-testbed-profiler.c:677
 msgid "Unable to connect to master controller -- Check config\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1635
+#: src/mesh/gnunet-regex-profiler.c:1686
 #, c-format
 msgid "No hosts-file specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1640
+#: src/mesh/gnunet-regex-profiler.c:1691
 #: src/regex/gnunet-regex-simulation-profiler.c:498
 #, c-format
 msgid "No policy directory specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1646
+#: src/mesh/gnunet-regex-profiler.c:1697
+#: src/testbed/gnunet-testbed-profiler.c:717
 #, c-format
 msgid "No hosts loaded. Need at least one host\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1653
-#: src/testbed/gnunet-testbed-profiler.c:723
+#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/testbed/gnunet-testbed-profiler.c:724
 #, c-format
 msgid "Host %s cannot start testbed\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1660
-#: src/testbed/gnunet-testbed-profiler.c:730
+#: src/mesh/gnunet-regex-profiler.c:1711
+#: src/testbed/gnunet-testbed-profiler.c:731
 #, fuzzy, c-format
 msgid "Exiting\n"
 msgstr ""
 "\n"
 "Abbruch.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1666
+#: src/mesh/gnunet-regex-profiler.c:1717
 #, fuzzy, c-format
 msgid "No configuration file given. Exiting\n"
 msgstr "Konfigurationsdatei FILENAME verwenden"
 
-#: src/mesh/gnunet-regex-profiler.c:1683
+#: src/mesh/gnunet-regex-profiler.c:1726
+#, fuzzy, c-format
+msgid "Configuration option (regex_prefix) missing. Exiting\n"
+msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
+
+#: src/mesh/gnunet-regex-profiler.c:1744
 #: src/regex/gnunet-regex-simulation-profiler.c:504
 #, c-format
 msgid "Specified policies directory does not exist. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1690
+#: src/mesh/gnunet-regex-profiler.c:1751
 #, c-format
 msgid "No search strings file given. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1698
+#: src/mesh/gnunet-regex-profiler.c:1759
 #, c-format
 msgid ""
 "Error loading search strings. Given file does not contain enough strings. "
 "Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/mesh/gnunet-regex-profiler.c:1765
 #, fuzzy, c-format
 msgid "Error loading search strings. Exiting.\n"
 msgstr "Fehler beim Verlassen der DHT.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1738
+#: src/mesh/gnunet-regex-profiler.c:1799
 #, fuzzy
 msgid "name of the file for writing statistics"
 msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1741
+#: src/mesh/gnunet-regex-profiler.c:1802
 msgid "create COUNT number of random links between peers"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1744
+#: src/mesh/gnunet-regex-profiler.c:1805
 msgid "wait TIMEOUT before considering a string match as failed"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1747
+#: src/mesh/gnunet-regex-profiler.c:1808
 msgid "wait DELAY before starting string search"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1750
+#: src/mesh/gnunet-regex-profiler.c:1811
 msgid "number of search strings to read from search strings file"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1753
+#: src/mesh/gnunet-regex-profiler.c:1814
 #: src/regex/gnunet-regex-simulation-profiler.c:555
 msgid "maximum path compression length"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1765
+#: src/mesh/gnunet-regex-profiler.c:1817
+msgid ""
+"if this option is set, only one peer is responsible for searching all strings"
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1829
 msgid "Profiler for regex/mesh"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8038
+#: src/mesh/gnunet-service-mesh.c:8082 src/mesh/gnunet-service-mesh-new.c:7998
 msgid "Wrong CORE service\n"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8243
+#: src/mesh/gnunet-service-mesh.c:8287 src/mesh/gnunet-service-mesh-new.c:8203
 #, fuzzy
 msgid "Mesh service could not access hostkey.  Exiting.\n"
 msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n"
 
-#: src/mesh/gnunet-service-mesh.c:8332 src/mesh/gnunet-service-mesh.c:8344
-#: src/mesh/gnunet-service-mesh.c:8356 src/mesh/gnunet-service-mesh.c:8369
-#: src/mesh/gnunet-service-mesh.c:8384 src/mesh/gnunet-service-mesh.c:8396
-#: src/mesh/gnunet-service-mesh.c:8408
+#: src/mesh/gnunet-service-mesh.c:8462 src/mesh/gnunet-service-mesh.c:8473
+#: src/mesh/gnunet-service-mesh-new.c:8380
+#: src/mesh/gnunet-service-mesh-new.c:8391
 #, fuzzy, c-format
-msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
-msgstr "GNUnet Konfiguration"
-
-#: src/mesh/gnunet-service-mesh.c:8420 src/mesh/gnunet-service-mesh.c:8431
-#, fuzzy, c-format
 msgid ""
 "%s service is lacking key configuration settings (%s). Using default (%u).\n"
 msgstr "GNUnet Konfiguration"
@@ -4316,46 +4377,41 @@
 "IP(v4) dieses Hosts konnte nicht ermittelt werden. Bitte geben Sie die IP in "
 "der Konfigurationsdatei an.\n"
 
-#: src/statistics/statistics_api.c:1053
+#: src/statistics/statistics_api.c:1056
 msgid ""
 "Failed to receive acknowledgement from statistics service, some statistics "
 "might have been lost!\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:705
+#: src/testbed/gnunet-testbed-profiler.c:706
 #, c-format
 msgid "No hosts-file specified on command line\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:716
-#, c-format
-msgid "No hosts loaded. Need atleast one host\n"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:779
+#: src/testbed/gnunet-testbed-profiler.c:780
 msgid "Only `CLIQUE' and `RANDOM' are permitted.\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:794
+#: src/testbed/gnunet-testbed-profiler.c:795
 msgid "create COUNT number of peers"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:797
+#: src/testbed/gnunet-testbed-profiler.c:798
 msgid "create COUNT number of random links"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:800
+#: src/testbed/gnunet-testbed-profiler.c:801
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:803
+#: src/testbed/gnunet-testbed-profiler.c:804
 msgid ""
 "Try to acheive TOPOLOGY. This options takes either CLIQUE or RANDOM. For "
 "CLIQUE the parameter -n is ignored. The default is to acheive a random graph "
 "topology."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:818
+#: src/testbed/gnunet-testbed-profiler.c:819
 msgid "Profiler for testbed"
 msgstr ""
 
@@ -4644,26 +4700,26 @@
 msgid "Transport service is lacking key configuration settings.  Exiting.\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:353
+#: src/transport/gnunet-service-transport_clients.c:388
 #, c-format
 msgid "Dropping message of type %u and size %u, have %u/%u messages pending\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:358
+#: src/transport/gnunet-service-transport_clients.c:393
 #, fuzzy
 msgid "# messages dropped due to slow client"
 msgstr "# gap Anfragen verworfen: Kollision in RT"
 
-#: src/transport/gnunet-service-transport_clients.c:510
+#: src/transport/gnunet-service-transport_clients.c:545
 #, c-format
 msgid "Rejecting control connection from peer `%s', which is not me!\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:651
+#: src/transport/gnunet-service-transport_clients.c:686
 msgid "# bytes payload dropped (other peer was not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:702
+#: src/transport/gnunet-service-transport_clients.c:737
 #, fuzzy
 msgid "# REQUEST CONNECT messages received"
 msgstr "# verschlüsselter PONG Nachrichten empfangen"
@@ -4672,117 +4728,117 @@
 msgid "# refreshed my HELLO"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1040
+#: src/transport/gnunet-service-transport_neighbours.c:1042
 #, fuzzy
 msgid "# DISCONNECT messages sent"
 msgstr "# verschlüsselter PONG Nachrichten empfangen"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:1507
+#: src/transport/gnunet-service-transport_neighbours.c:1172
+#: src/transport/gnunet-service-transport_neighbours.c:1509
 #, fuzzy
 msgid "# bytes in message queue for other peers"
 msgstr "# Bytes ausgehender Nachrichten verworfen"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1175
+#: src/transport/gnunet-service-transport_neighbours.c:1177
 #, fuzzy
 msgid "# messages transmitted to other peers"
 msgstr "# Bytes des Typs %d übertragen"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1180
+#: src/transport/gnunet-service-transport_neighbours.c:1182
 #, fuzzy
 msgid "# transmission failures for messages to other peers"
 msgstr "# Bytes ausgehender Nachrichten verworfen"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1237
+#: src/transport/gnunet-service-transport_neighbours.c:1239
 msgid "# messages timed out while in transport queue"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1279
+#: src/transport/gnunet-service-transport_neighbours.c:1281
 #, fuzzy
 msgid "# keepalives sent"
 msgstr "# p2p Trace-Antworten gesendet"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1303
+#: src/transport/gnunet-service-transport_neighbours.c:1305
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (peer unknown)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1313
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (no session)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1348
+#: src/transport/gnunet-service-transport_neighbours.c:1350
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1357
+#: src/transport/gnunet-service-transport_neighbours.c:1359
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1413
+#: src/transport/gnunet-service-transport_neighbours.c:1415
 #, fuzzy
 msgid "# messages discarded due to lack of neighbour record"
 msgstr "# defragmentierter Nachrichten"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1447
+#: src/transport/gnunet-service-transport_neighbours.c:1449
 #, fuzzy
 msgid "# bandwidth quota violations by other peers"
 msgstr "Verfolgt die Bandbreitennutzung von gnunetd"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1463
+#: src/transport/gnunet-service-transport_neighbours.c:1465
 msgid "# ms throttling suggested"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2613
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (no peer)"
 msgstr "COUNT Nachrichten versenden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2626
-#: src/transport/gnunet-service-transport_neighbours.c:2660
+#: src/transport/gnunet-service-transport_neighbours.c:2628
+#: src/transport/gnunet-service-transport_neighbours.c:2662
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (not ready)"
 msgstr "COUNT Nachrichten versenden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2673
+#: src/transport/gnunet-service-transport_neighbours.c:2675
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
 msgstr "COUNT Nachrichten versenden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2706
+#: src/transport/gnunet-service-transport_neighbours.c:2708
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (disconnecting)"
 msgstr "COUNT Nachrichten versenden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2890
+#: src/transport/gnunet-service-transport_neighbours.c:2892
 #, fuzzy
 msgid "# unexpected SESSION ACK messages"
 msgstr "# verschlüsselter PONG Nachrichten gesendet"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2945
+#: src/transport/gnunet-service-transport_neighbours.c:2947
 msgid "# SET QUOTA messages ignored (no such peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2959
+#: src/transport/gnunet-service-transport_neighbours.c:2961
 msgid "# disconnects due to quota of 0"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2990
+#: src/transport/gnunet-service-transport_neighbours.c:2992
 msgid "# disconnect messages ignored (old format)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3001
+#: src/transport/gnunet-service-transport_neighbours.c:3003
 msgid "# disconnect messages ignored (timestamp)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3032
+#: src/transport/gnunet-service-transport_neighbours.c:3034
 msgid "# other peer asked to disconnect from us"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3127
+#: src/transport/gnunet-service-transport_neighbours.c:3129
 #, fuzzy
 msgid "# disconnected from peer upon explicit request"
 msgstr "# gap Anfragen verworfen: Kollision in RT"
@@ -4842,93 +4898,143 @@
 msgid "Adding `%s' without addresses for peer `%s'\n"
 msgstr "Adresse des Knotens `%s' konnte nicht ermittelt werden.\n"
 
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:262
+#, fuzzy, c-format
+msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
+msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
+
+#: src/transport/gnunet-transport.c:269
+#, fuzzy, c-format
+msgid "Received %llu bytes/s (%llu bytes in %s)\n"
+msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
+
+#: src/transport/gnunet-transport.c:285
+#, fuzzy, c-format
+msgid "Failed to connect to `%s'\n"
+msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
+
+#: src/transport/gnunet-transport.c:388
 msgid "No transport plugins configured, peer will never communicate\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:278
+#: src/transport/gnunet-transport.c:401
 #, c-format
 msgid "No port configured for plugin `%s', cannot test it\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:328
+#: src/transport/gnunet-transport.c:465
 #, fuzzy, c-format
-msgid "Received %llu bytes/s (%llu bytes in %s)\n"
-msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
-
-#: src/transport/gnunet-transport.c:336
-#, fuzzy, c-format
-msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
-msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-
-#: src/transport/gnunet-transport.c:375
-#, fuzzy, c-format
 msgid "Transmitting %u bytes to %s\n"
 msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
 
-#: src/transport/gnunet-transport.c:395
+#: src/transport/gnunet-transport.c:490
 #, fuzzy, c-format
-msgid "Connected to %s\n"
-msgstr "`%s' hat sich mit `%s' verbunden.\n"
+msgid "Successfully connected to `%s'\n"
+msgstr "Zugriff verweigert für `%s' bei %s:%d.\n"
 
-#: src/transport/gnunet-transport.c:427
+#: src/transport/gnunet-transport.c:512
+#, c-format
+msgid ""
+"Successfully connected to `%s', starting to send benchmark data in %u Kb "
+"blocks\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:547
 #, fuzzy, c-format
-msgid "Disconnected from %s\n"
+msgid "Disconnected from peer `%s' while benchmarking\n"
 msgstr "`%s' hat sich mit `%s' verbunden.\n"
 
-#: src/transport/gnunet-transport.c:505
+#: src/transport/gnunet-transport.c:623
 #, fuzzy, c-format
 msgid "Received %u bytes from %s\n"
 msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
 
-#: src/transport/gnunet-transport.c:528
+#: src/transport/gnunet-transport.c:649
 #, fuzzy, c-format
 msgid "Peer `%s': %s %s\n"
 msgstr "Ich bin Peer `%s'.\n"
 
-#: src/transport/gnunet-transport.c:535
+#: src/transport/gnunet-transport.c:658
 #, c-format
 msgid "Peer `%s': %s <unable to resolve address>\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:563
+#: src/transport/gnunet-transport.c:694
 #, fuzzy, c-format
 msgid "Peer `%s' disconnected\n"
 msgstr "# verbundener Knoten"
 
-#: src/transport/gnunet-transport.c:632
-#, fuzzy, c-format
-msgid "Failed to parse peer identity `%s'\n"
-msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
+#: src/transport/gnunet-transport.c:724
+#, fuzzy
+msgid "Failed to send connect request to transport service\n"
+msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
 
-#: src/transport/gnunet-transport.c:715
-msgid "measure how fast we are receiving data (until CTRL-C)"
+#: src/transport/gnunet-transport.c:759
+#, c-format
+msgid ""
+"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
+"%s, %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:718
+#: src/transport/gnunet-transport.c:765
+#, c-format
+msgid ""
+"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:785 src/transport/gnunet-transport.c:815
+#: src/transport/gnunet-transport.c:837 src/transport/gnunet-transport.c:874
 #, fuzzy
-msgid "try to connect to the given peer"
+msgid "Failed to connect to transport service\n"
+msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
+
+#: src/transport/gnunet-transport.c:792 src/transport/gnunet-transport.c:822
+#, fuzzy
+msgid "Failed to send request to transport service\n"
+msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
+
+#: src/transport/gnunet-transport.c:842
+msgid "Starting to receive benchmark data\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:924
+msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:927
+#, fuzzy
+msgid "connect to a peer"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
 
-#: src/transport/gnunet-transport.c:721
+#: src/transport/gnunet-transport.c:930
 #, fuzzy
 msgid "provide information about all current connections (once)"
 msgstr "Informationen über andere GNUnet Knoten ausgeben."
 
-#: src/transport/gnunet-transport.c:727
+#: src/transport/gnunet-transport.c:936
 #, fuzzy
+msgid ""
+"provide information about all connects and disconnect events (continuously)"
+msgstr "Informationen über andere GNUnet Knoten ausgeben."
+
+#: src/transport/gnunet-transport.c:939
+#, fuzzy
 msgid "do not resolve hostnames"
 msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
 
-#: src/transport/gnunet-transport.c:731
+#: src/transport/gnunet-transport.c:942
+msgid "peer identity"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:946
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:734
+#: src/transport/gnunet-transport.c:949
 msgid "test transport configuration (involves external server)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:745
+#: src/transport/gnunet-transport.c:960
 #, fuzzy
 msgid "Direct access to transport service."
 msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
@@ -5166,8 +5272,8 @@
 
 #: src/transport/plugin_transport_tcp.c:774
 #: src/transport/plugin_transport_tcp.c:963
-#: src/transport/plugin_transport_tcp.c:1816
-#: src/transport/plugin_transport_tcp.c:2435
+#: src/transport/plugin_transport_tcp.c:1817
+#: src/transport/plugin_transport_tcp.c:2436
 #, fuzzy
 msgid "# TCP sessions active"
 msgstr "# Sitzungsschlüssel akzeptiert"
@@ -5187,49 +5293,49 @@
 msgid "# bytes discarded by TCP (disconnect)"
 msgstr "# Bytes verworfen von TCP (ausgehend)"
 
-#: src/transport/plugin_transport_tcp.c:1341
+#: src/transport/plugin_transport_tcp.c:1342
 #, c-format
 msgid "Address of unexpected length: %u\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1456
+#: src/transport/plugin_transport_tcp.c:1457
 msgid "# transport-service disconnect requests for TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1857
+#: src/transport/plugin_transport_tcp.c:1858
 #, fuzzy
 msgid "# TCP WELCOME messages received"
 msgstr "# verschlüsselter PONG Nachrichten empfangen"
 
-#: src/transport/plugin_transport_tcp.c:2031
+#: src/transport/plugin_transport_tcp.c:2032
 msgid "# bytes received via TCP"
 msgstr "# Bytes empfangen über TCP"
 
-#: src/transport/plugin_transport_tcp.c:2101
+#: src/transport/plugin_transport_tcp.c:2102
 msgid "# network-level TCP disconnect events"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2325 src/util/service.c:948
+#: src/transport/plugin_transport_tcp.c:2326 src/util/service.c:948
 #: src/util/service.c:954
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2339
+#: src/transport/plugin_transport_tcp.c:2340
 #, fuzzy
 msgid "Failed to start service.\n"
 msgstr "Fehler beim Starten der Collection.\n"
 
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:2424
 #, 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:2427
+#: src/transport/plugin_transport_tcp.c:2428
 msgid "TCP transport not listening on any port (client only)\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2431
+#: src/transport/plugin_transport_tcp.c:2432
 #, c-format
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
@@ -5360,7 +5466,7 @@
 msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
 msgstr ""
 
-#: src/transport/transport_api.c:598
+#: src/transport/transport_api.c:654
 #, fuzzy, c-format
 msgid "Received unexpected message of type %u in %s:%u\n"
 msgstr "Es wurde eine unbekannte Testbed Nachricht des Typs %u empfangen.\n"
@@ -5634,17 +5740,17 @@
 msgid "`%s' failed for drive `%S': %u\n"
 msgstr "`%s' fehlgeschlagen für Laufwerk %s: %u\n"
 
-#: src/util/disk.c:1136
+#: src/util/disk.c:1171
 #, fuzzy, c-format
 msgid "Expected `%s' to be a directory!\n"
 msgstr "`%s' erwartet, dass `%s' ein Verzeichnis ist!\n"
 
-#: src/util/disk.c:1490 src/util/service.c:1667
+#: src/util/disk.c:1525 src/util/service.c:1667
 #, 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:1862
+#: src/util/disk.c:1897
 #, fuzzy, c-format
 msgid "No `%s' specified for service `%s' in configuration.\n"
 msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n"
@@ -5885,14 +5991,14 @@
 "Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
 msgstr ""
 
-#: src/util/os_installation.c:416
+#: src/util/os_installation.c:417
 #, c-format
 msgid ""
 "Could not determine installation path for %s.  Set `%s' environment "
 "variable.\n"
 msgstr ""
 
-#: src/util/os_installation.c:646
+#: src/util/os_installation.c:653
 #, fuzzy, c-format
 msgid "Could not find binary `%s' in PATH!\n"
 msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
@@ -6389,6 +6495,10 @@
 msgstr "`%s' schlug bei Datei `%s' fehl. Ort: %s:%d. Fehler: %s\n"
 
 #, fuzzy
+#~ msgid "Connected to %s\n"
+#~ msgstr "`%s' hat sich mit `%s' verbunden.\n"
+
+#, fuzzy
 #~ msgid "Error receiving response to `%s' request from ARM for service `%s'\n"
 #~ msgstr "Beschädigte Antwort auf `%s' von Knoten `%s' empfangen.\n"
 
@@ -6411,10 +6521,6 @@
 #~ msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
 
 #, fuzzy
-#~ msgid "list information for the given peer"
-#~ msgstr "Informationen über andere GNUnet Knoten ausgeben."
-
-#, fuzzy
 #~ msgid "list information for all peers"
 #~ msgstr "Informationen über andere GNUnet Knoten ausgeben."
 
@@ -6547,10 +6653,6 @@
 #~ msgstr "Fehler beim Starten der Collection.\n"
 
 #, fuzzy
-#~ msgid "Configuration option `%s' in section `%s' missing.\n"
-#~ msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
-
-#, fuzzy
 #~ msgid "Configuration fails to specify `%s', assuming default value."
 #~ msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
 

Modified: gnunet/po/es.po
===================================================================
--- gnunet/po/es.po     2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/es.po     2012-11-21 20:56:49 UTC (rev 25091)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0e\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-11-05 22:48+0100\n"
+"POT-Creation-Date: 2012-11-14 15:54+0100\n"
 "PO-Revision-Date: 2006-06-29 12:05+0200\n"
 "Last-Translator: Miguel Angel Arruga <address@hidden>\n"
 "Language-Team: Spanish\n"
@@ -129,19 +129,20 @@
 
 #: src/arm/gnunet-arm.c:433
 #, fuzzy
-msgid "timeout for completing current operation"
+msgid "timeout in MSECS milliseconds for completing current operation"
 msgstr "tiempo para esperar hasta completar una iteración (en ms)"
 
 #: src/arm/gnunet-arm.c:435
-msgid "List currently running services"
-msgstr ""
+#, fuzzy
+msgid "list currently running services"
+msgstr "Iniciada colección '%s'.\n"
 
 #: src/arm/gnunet-arm.c:437
-msgid "Don't let gnunet-service-arm inherit standard output"
+msgid "don't let gnunet-service-arm inherit standard output"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:439
-msgid "Don't let gnunet-service-arm inherit standard error"
+msgid "don't let gnunet-service-arm inherit standard error"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:450
@@ -234,45 +235,67 @@
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:67
+#: src/ats-tool/gnunet-ats.c:75
 #, c-format
 msgid ""
 "Peer `%s' plugin `%s', address `%s', bandwidth out: %u Bytes/s, bandwidth in "
 "%u Bytes/s\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:129
+#: src/ats-tool/gnunet-ats.c:137
 #, c-format
 msgid "%u address resolutions had a timeout\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:131
+#: src/ats-tool/gnunet-ats.c:139
 #, c-format
 msgid "ATS returned results for %u addresses\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:142 src/namestore/gnunet-namestore.c:610
-#: src/transport/gnunet-transport.c:617
+#: src/ats-tool/gnunet-ats.c:153 src/namestore/gnunet-namestore.c:610
+#: src/transport/gnunet-transport.c:744
 #, fuzzy, c-format
 msgid "Service `%s' is not running\n"
 msgstr "'%s' no es un fichero.\n"
 
-#: src/ats-tool/gnunet-ats.c:149
+#: src/ats-tool/gnunet-ats.c:162 src/transport/gnunet-transport.c:750
 #, fuzzy, c-format
+msgid "Failed to parse peer identity `%s'\n"
+msgstr "Falló al actualizar los datos del módulo '%s'\n"
+
+#: src/ats-tool/gnunet-ats.c:167 src/ats-tool/gnunet-ats.c:182
+msgid "Type required\n"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:189 src/ats-tool/gnunet-ats.c:199
+#, fuzzy, c-format
 msgid "Cannot connect to ATS service, exiting...\n"
 msgstr "Fallo al conectar a gnunetd.\n"
 
-#: src/ats-tool/gnunet-ats.c:194
+#: src/ats-tool/gnunet-ats.c:247
 #, fuzzy
 msgid "do not resolve IP addresses to hostnames"
 msgstr "GNUnet usa ahora la dirección IP %u.%u.%u.%u.\n"
 
-#: src/ats-tool/gnunet-ats.c:197
+#: src/ats-tool/gnunet-ats.c:250
 msgid "monitor mode"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:206
+#: src/ats-tool/gnunet-ats.c:253
 #, fuzzy
+msgid "set preference for the given peer"
+msgstr "Imprime información de los pares de GNUnet."
+
+#: src/ats-tool/gnunet-ats.c:256
+msgid "preference type to set: latency | bandwidth"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:259
+msgid "preference value"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:268
+#, fuzzy
 msgid "Print information about ATS state"
 msgstr "Imprime información de los pares de GNUnet."
 
@@ -291,17 +314,17 @@
 msgstr "Yo soy el par '%s'.\n"
 
 #: src/core/gnunet-core.c:119 src/core/gnunet-core.c:147
-#: src/transport/gnunet-transport.c:453 src/transport/gnunet-transport.c:477
+#: src/transport/gnunet-transport.c:571 src/transport/gnunet-transport.c:595
 #, c-format
 msgid "%24s: %-17s %4s   (%u connections in total)\n"
 msgstr ""
 
-#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:455
+#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:573
 #, fuzzy
 msgid "Connected to"
 msgstr "'%s' conectado a '%s'.\n"
 
-#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:479
+#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:597
 #, fuzzy
 msgid "Disconnected from"
 msgstr "'%s' conectado a '%s'.\n"
@@ -311,7 +334,7 @@
 msgid "Invalid command line argument `%s'\n"
 msgstr "Argumentos en la linea de comandos inválidos:\n"
 
-#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:724
+#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:933
 #, fuzzy
 msgid "provide information about all current connections (continuously)"
 msgstr "Imprime información de los pares de GNUnet."
@@ -352,7 +375,7 @@
 msgid "# messages discarded (session disconnected)"
 msgstr "# mensajes defragmentados"
 
-#: src/core/gnunet-service-core_clients.c:818
+#: src/core/gnunet-service-core_clients.c:518
 #, fuzzy, c-format
 msgid "# bytes of messages of type %u received"
 msgstr "# bytes de ruido recibidos"
@@ -514,16 +537,16 @@
 
 #: src/core/gnunet-service-core_sessions.c:206
 #: src/core/gnunet-service-core_sessions.c:269
-#: src/dht/gnunet-service-dht_neighbours.c:634
-#: src/dht/gnunet-service-dht_neighbours.c:692
+#: src/dht/gnunet-service-dht_neighbours.c:639
+#: src/dht/gnunet-service-dht_neighbours.c:697
 #: src/fs/gnunet-service-fs_cp.c:630 src/fs/gnunet-service-fs_cp.c:1544
 #: src/topology/gnunet-daemon-topology.c:704
 #: src/topology/gnunet-daemon-topology.c:805
-#: src/transport/gnunet-service-transport_neighbours.c:872
-#: src/transport/gnunet-service-transport_neighbours.c:1089
-#: src/transport/gnunet-service-transport_neighbours.c:1098
-#: src/transport/gnunet-service-transport_neighbours.c:2635
-#: src/transport/gnunet-service-transport_neighbours.c:2897
+#: src/transport/gnunet-service-transport_neighbours.c:874
+#: src/transport/gnunet-service-transport_neighbours.c:1091
+#: src/transport/gnunet-service-transport_neighbours.c:1100
+#: src/transport/gnunet-service-transport_neighbours.c:2637
+#: src/transport/gnunet-service-transport_neighbours.c:2899
 #, fuzzy
 msgid "# peers connected"
 msgstr "# de pares conectados"
@@ -546,40 +569,52 @@
 msgid "# updates to my type map"
 msgstr ""
 
-#: src/datacache/datacache.c:115 src/datacache/datacache.c:250
+#: src/datacache/datacache.c:115 src/datacache/datacache.c:266
 #: src/datastore/gnunet-service-datastore.c:834
 #, fuzzy
 msgid "# bytes stored"
 msgstr "# bytes en la base de datos"
 
-#: src/datacache/datacache.c:141 src/datacache/datacache.c:148
+#: src/datacache/datacache.c:117 src/datacache/datacache.c:268
+#, fuzzy
+msgid "# items stored"
+msgstr "# bytes en la base de datos"
+
+#: src/datacache/datacache.c:143 src/datacache/datacache.c:150
 #: src/datastore/gnunet-service-datastore.c:1483
 #: src/datastore/gnunet-service-datastore.c:1494
 #, fuzzy, c-format
 msgid "No `%s' specified for `%s' in configuration!\n"
 msgstr "¡Ninguna aplicación definida en la configuración!\n"
 
-#: src/datacache/datacache.c:180
+#: src/datacache/datacache.c:184
 #, c-format
 msgid "Loading `%s' datacache plugin\n"
 msgstr ""
 
-#: src/datacache/datacache.c:188
+#: src/datacache/datacache.c:192
 #, fuzzy, c-format
 msgid "Failed to load datacache plugin for `%s'\n"
 msgstr "Falló al actualizar los datos del módulo '%s'\n"
 
-#: src/datacache/datacache.c:276
+#: src/datacache/datacache.c:295
 #, fuzzy
 msgid "# requests received"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/datacache/datacache.c:284
+#: src/datacache/datacache.c:304
 msgid "# requests filtered by bloom filter"
 msgstr ""
 
-#: src/datacache/plugin_datacache_mysql.c:97
-#: src/datacache/plugin_datacache_mysql.c:104
+#: src/datacache/plugin_datacache_heap.c:406
+#, fuzzy
+msgid "Heap datacache running\n"
+msgstr "base de datos sqlite"
+
+#: src/datacache/plugin_datacache_postgres.c:392
+msgid "Postgres datacache running\n"
+msgstr ""
+
 #: src/datacache/plugin_datacache_sqlite.c:69
 #: src/datacache/plugin_datacache_sqlite.c:72
 #: src/datastore/plugin_datastore_mysql.c:803
@@ -595,30 +630,22 @@
 msgid "`%s' failed at %s:%d with error: %s\n"
 msgstr "'%s' falló en %s: %d con el error: %s\n"
 
-#: src/datacache/plugin_datacache_mysql.c:450
-msgid "MySQL datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_postgres.c:367
-msgid "Postgres datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_sqlite.c:405
+#: src/datacache/plugin_datacache_sqlite.c:448
 msgid "Sqlite datacache running\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:438
+#: src/datacache/plugin_datacache_sqlite.c:482
 #: src/datastore/plugin_datastore_sqlite.c:401
 #: src/namestore/plugin_namestore_sqlite.c:362
 msgid "Tried to close sqlite without finalizing all prepared statements.\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:445
+#: src/datacache/plugin_datacache_sqlite.c:489
 #, fuzzy, c-format
 msgid "Failed to close statement %p: %d\n"
 msgstr "Falló al actualizar los datos del módulo '%s'\n"
 
-#: src/datacache/plugin_datacache_template.c:121
+#: src/datacache/plugin_datacache_template.c:125
 msgid "Template datacache running\n"
 msgstr ""
 
@@ -926,18 +953,18 @@
 msgid "Invalid data in database.  Trying to fix (by deletion).\n"
 msgstr "Datos no válidos en %s.  Intentando fijar (por borrado).\n"
 
-#: src/datastore/plugin_datastore_sqlite.c:1132
+#: src/datastore/plugin_datastore_sqlite.c:1134
 msgid "sqlite version to old to determine size, assuming zero\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1151
+#: src/datastore/plugin_datastore_sqlite.c:1153
 #, c-format
 msgid ""
 "Using sqlite page utilization to estimate payload (%llu pages of size %llu "
 "bytes)\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1191
+#: src/datastore/plugin_datastore_sqlite.c:1193
 #: src/namestore/plugin_namestore_sqlite.c:827
 #, fuzzy
 msgid "Sqlite database running\n"
@@ -947,7 +974,7 @@
 msgid "Template database running\n"
 msgstr ""
 
-#: src/dht/dht_api.c:348
+#: src/dht/dht_api.c:375
 #, fuzzy
 msgid "Failed to connect to the DHT service!\n"
 msgstr "Fallo al conectar a gnunetd.\n"
@@ -1071,80 +1098,84 @@
 msgid "# GET requests from clients injected"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_clients.c:500
+#: src/dht/gnunet-service-dht_clients.c:497
 #, fuzzy
 msgid "# PUT requests received from clients"
 msgstr "El mensaje recibido del cliente es inválido\n"
 
-#: src/dht/gnunet-service-dht_clients.c:584
+#: src/dht/gnunet-service-dht_clients.c:579
 #, fuzzy
 msgid "# GET requests received from clients"
 msgstr "El mensaje recibido del cliente es inválido\n"
 
-#: src/dht/gnunet-service-dht_clients.c:682
+#: src/dht/gnunet-service-dht_clients.c:775
 #, fuzzy
 msgid "# GET STOP requests received from clients"
 msgstr "El mensaje recibido del cliente es inválido\n"
 
-#: src/dht/gnunet-service-dht_clients.c:919
+#: src/dht/gnunet-service-dht_clients.c:1012
 msgid "# Key match, type mismatches in REPLY to CLIENT"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:932
+#: src/dht/gnunet-service-dht_clients.c:1025
 msgid "# Duplicate REPLIES to CLIENT request dropped"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:967
+#: src/dht/gnunet-service-dht_clients.c:1062
 #, fuzzy, c-format
 msgid "Unsupported block type (%u) in request!\n"
 msgstr "Mensaje no válido del tipo %u recibido.  Omitiendo.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:990
+#: src/dht/gnunet-service-dht_clients.c:1085
 #, fuzzy
 msgid "# RESULTS queued for clients"
 msgstr "El mensaje recibido del cliente es inválido\n"
 
-#: src/dht/gnunet-service-dht_clients.c:1039
-#: src/dht/gnunet-service-dht_clients.c:1082
+#: src/dht/gnunet-service-dht_clients.c:1134
+#: src/dht/gnunet-service-dht_clients.c:1177
 msgid "# REPLIES ignored for CLIENTS (no match)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1049
+#: src/dht/gnunet-service-dht_clients.c:1144
 #, fuzzy
 msgid "Could not pass reply to client, message too big!\n"
 msgstr "Imposible mandar el mensaje a gnunetd\n"
 
-#: src/dht/gnunet-service-dht_datacache.c:93
+#: src/dht/gnunet-service-dht_datacache.c:64
 #, fuzzy, c-format
 msgid "%s request received, but have no datacache!\n"
 msgstr "# bytes recibidos por TCP"
 
-#: src/dht/gnunet-service-dht_datacache.c:103
+#: src/dht/gnunet-service-dht_datacache.c:74
 msgid "# ITEMS stored in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:207
+#: src/dht/gnunet-service-dht_datacache.c:159
 msgid "# Good RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:218
+#: src/dht/gnunet-service-dht_datacache.c:170
 msgid "# Duplicate RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:224
+#: src/dht/gnunet-service-dht_datacache.c:176
 msgid "# Invalid RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:236
+#: src/dht/gnunet-service-dht_datacache.c:182
+msgid "# Irrelevant RESULTS found in datacache"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_datacache.c:194
 msgid "# Unsupported RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:239
+#: src/dht/gnunet-service-dht_datacache.c:197
 #, c-format
 msgid "Unsupported block type (%u) in local response!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:269
+#: src/dht/gnunet-service-dht_datacache.c:227
 #, fuzzy
 msgid "# GET requests given to datacache"
 msgstr "# mensajes PONG encriptados recibidos"
@@ -1154,101 +1185,101 @@
 msgid "# HELLOs obtained from peerinfo"
 msgstr "El mensaje recibido del cliente es inválido\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:490
+#: src/dht/gnunet-service-dht_neighbours.c:495
 msgid "# Preference updates given to core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:580
+#: src/dht/gnunet-service-dht_neighbours.c:585
 #, fuzzy
 msgid "# FIND PEER messages initiated"
 msgstr "# mensajes fragmentados"
 
-#: src/dht/gnunet-service-dht_neighbours.c:726
+#: src/dht/gnunet-service-dht_neighbours.c:731
 #, fuzzy
 msgid "# Queued messages discarded (peer disconnected)"
 msgstr "# mensajes defragmentados"
 
-#: src/dht/gnunet-service-dht_neighbours.c:781
+#: src/dht/gnunet-service-dht_neighbours.c:786
 #, fuzzy
 msgid "# Bytes transmitted to other peers"
 msgstr "# bytes recibidos por TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:819
+#: src/dht/gnunet-service-dht_neighbours.c:824
 #, fuzzy
-msgid "# Bytes of bandwdith requested from core"
+msgid "# Bytes of bandwidth requested from core"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1041
-#: src/dht/gnunet-service-dht_neighbours.c:1069
+#: src/dht/gnunet-service-dht_neighbours.c:1046
+#: src/dht/gnunet-service-dht_neighbours.c:1074
 msgid "# Peers excluded from routing due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1050
-#: src/dht/gnunet-service-dht_neighbours.c:1084
+#: src/dht/gnunet-service-dht_neighbours.c:1055
+#: src/dht/gnunet-service-dht_neighbours.c:1089
 #, fuzzy
 msgid "# Peer selection failed"
 msgstr "Conexión fallida\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1216
+#: src/dht/gnunet-service-dht_neighbours.c:1223
 #, fuzzy
 msgid "# PUT requests routed"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1245
+#: src/dht/gnunet-service-dht_neighbours.c:1252
 #, fuzzy
 msgid "# PUT messages queued for transmission"
 msgstr "# bytes de mensajes salientes omitidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1252
-#: src/dht/gnunet-service-dht_neighbours.c:1365
-#: src/dht/gnunet-service-dht_neighbours.c:1465
+#: src/dht/gnunet-service-dht_neighbours.c:1259
+#: src/dht/gnunet-service-dht_neighbours.c:1372
+#: src/dht/gnunet-service-dht_neighbours.c:1472
 #, fuzzy
 msgid "# P2P messages dropped due to full queue"
 msgstr "# Anuncios de los pares recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1330
+#: src/dht/gnunet-service-dht_neighbours.c:1337
 #, fuzzy
 msgid "# GET requests routed"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1357
+#: src/dht/gnunet-service-dht_neighbours.c:1364
 #, fuzzy
 msgid "# GET messages queued for transmission"
 msgstr "# bytes de mensajes salientes omitidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1472
+#: src/dht/gnunet-service-dht_neighbours.c:1479
 msgid "# RESULT messages queued for transmission"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1560
+#: src/dht/gnunet-service-dht_neighbours.c:1567
 #, fuzzy
 msgid "# P2P PUT requests received"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1676
+#: src/dht/gnunet-service-dht_neighbours.c:1694
 msgid "# FIND PEER requests ignored due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1684
+#: src/dht/gnunet-service-dht_neighbours.c:1702
 msgid "# FIND PEER requests ignored due to lack of HELLO"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1775
+#: src/dht/gnunet-service-dht_neighbours.c:1793
 #, fuzzy
 msgid "# P2P GET requests received"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1817
+#: src/dht/gnunet-service-dht_neighbours.c:1835
 #, fuzzy
 msgid "# P2P FIND PEER requests processed"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1831
+#: src/dht/gnunet-service-dht_neighbours.c:1849
 #, fuzzy
 msgid "# P2P GET requests ONLY routed"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1905
+#: src/dht/gnunet-service-dht_neighbours.c:1934
 #, fuzzy
 msgid "# P2P RESULTS received"
 msgstr "# bytes recibidos por TCP"
@@ -1270,19 +1301,23 @@
 msgid "# Invalid REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:238
+#: src/dht/gnunet-service-dht_routing.c:232
+msgid "# Irrelevant REPLIES matched against routing table"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_routing.c:244
 msgid "# Unsupported REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:311
+#: src/dht/gnunet-service-dht_routing.c:317
 msgid "# Entries removed from routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:394
+#: src/dht/gnunet-service-dht_routing.c:400
 msgid "# Entries added to routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:411
+#: src/dht/gnunet-service-dht_routing.c:417
 #, fuzzy
 msgid "# DHT requests combined"
 msgstr "# mensajes PONG encriptados recibidos"
@@ -2459,7 +2494,7 @@
 msgstr "La opción '%s' no tiene sentido sin la opción '%s'.\n"
 
 #: src/fs/gnunet-publish.c:585 src/fs/gnunet-publish.c:592
-#: src/transport/gnunet-transport.c:623
+#: src/transport/gnunet-transport.c:774 src/transport/gnunet-transport.c:804
 #, c-format
 msgid "Option `%s' makes no sense without option `%s'.\n"
 msgstr "La opción '%s' no tiene sentido sin la opción '%s'.\n"
@@ -2787,99 +2822,99 @@
 msgid "# Pending requests created"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:639
+#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:643
 #, fuzzy
 msgid "# Pending requests active"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/fs/gnunet-service-fs_pr.c:802
+#: src/fs/gnunet-service-fs_pr.c:806
 #, fuzzy
 msgid "# replies received and matched"
 msgstr "# bytes recibidos por TCP"
 
-#: src/fs/gnunet-service-fs_pr.c:835
+#: src/fs/gnunet-service-fs_pr.c:839
 msgid "# duplicate replies discarded (bloomfilter)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:850
+#: src/fs/gnunet-service-fs_pr.c:854
 #, c-format
 msgid "Unsupported block type %u\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:863
+#: src/fs/gnunet-service-fs_pr.c:867
 msgid "# results found locally"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:984
+#: src/fs/gnunet-service-fs_pr.c:988
 msgid "# Datastore `PUT' failures"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1011
+#: src/fs/gnunet-service-fs_pr.c:1015
 #, fuzzy
 msgid "# storage requests dropped due to high load"
 msgstr "# Anuncios de los pares recibidos"
 
-#: src/fs/gnunet-service-fs_pr.c:1046
+#: src/fs/gnunet-service-fs_pr.c:1050
 #, fuzzy
 msgid "# Replies received from DHT"
 msgstr "# bytes recibidos vía HTTP"
 
-#: src/fs/gnunet-service-fs_pr.c:1137
+#: src/fs/gnunet-service-fs_pr.c:1145
 #, c-format
 msgid "Datastore lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1157
+#: src/fs/gnunet-service-fs_pr.c:1165
 #, c-format
 msgid "On-demand lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1204
+#: src/fs/gnunet-service-fs_pr.c:1212
 msgid "# Datastore lookups concluded (no results)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1219
+#: src/fs/gnunet-service-fs_pr.c:1227
 msgid "# Datastore lookups concluded (seen all)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1228
+#: src/fs/gnunet-service-fs_pr.c:1236
 msgid "# Datastore lookups aborted (more than MAX_RESULTS)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1243
+#: src/fs/gnunet-service-fs_pr.c:1251
 msgid "# requested DBLOCK or IBLOCK not found"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1257
+#: src/fs/gnunet-service-fs_pr.c:1265
 msgid "# on-demand blocks matched requests"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1270
+#: src/fs/gnunet-service-fs_pr.c:1278
 msgid "# on-demand lookups performed successfully"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1275
+#: src/fs/gnunet-service-fs_pr.c:1283
 msgid "# on-demand lookups failed"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1302 src/fs/gnunet-service-fs_pr.c:1342
-#: src/fs/gnunet-service-fs_pr.c:1482
+#: src/fs/gnunet-service-fs_pr.c:1310 src/fs/gnunet-service-fs_pr.c:1350
+#: src/fs/gnunet-service-fs_pr.c:1490
 msgid "# Datastore lookups concluded (error queueing)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1360
+#: src/fs/gnunet-service-fs_pr.c:1368
 msgid "# Datastore lookups concluded (found last result)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1371
+#: src/fs/gnunet-service-fs_pr.c:1379
 msgid "# Datastore lookups concluded (load too high)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1458
+#: src/fs/gnunet-service-fs_pr.c:1466
 msgid "# Datastore lookups initiated"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1543
+#: src/fs/gnunet-service-fs_pr.c:1551
 #, fuzzy
 msgid "# GAP PUT messages received"
 msgstr "# mensajes PONG encriptados recibidos"
@@ -3437,151 +3472,177 @@
 msgid "help text"
 msgstr "texto de ayuda para -t"
 
-#: src/mesh/gnunet-regex-profiler.c:1087
-#: src/testbed/gnunet-testbed-profiler.c:323
+#: src/mesh/gnunet-daemon-regexprofiler.c:209
+#: src/mesh/gnunet-daemon-regexprofiler.c:222
+#: src/mesh/gnunet-daemon-regexprofiler.c:235
+#: src/mesh/gnunet-service-mesh.c:8376 src/mesh/gnunet-service-mesh.c:8388
+#: src/mesh/gnunet-service-mesh.c:8400 src/mesh/gnunet-service-mesh.c:8414
+#: src/mesh/gnunet-service-mesh.c:8426 src/mesh/gnunet-service-mesh.c:8438
+#: src/mesh/gnunet-service-mesh.c:8450 src/mesh/gnunet-service-mesh-new.c:8292
+#: src/mesh/gnunet-service-mesh-new.c:8304
+#: src/mesh/gnunet-service-mesh-new.c:8316
+#: src/mesh/gnunet-service-mesh-new.c:8329
+#: src/mesh/gnunet-service-mesh-new.c:8344
+#: src/mesh/gnunet-service-mesh-new.c:8356
+#: src/mesh/gnunet-service-mesh-new.c:8368
+#, fuzzy, c-format
+msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
+msgstr "Configuración de GNUnet"
+
+#: src/mesh/gnunet-daemon-regexprofiler.c:298
+msgid "Daemon to announce regular expressions for the peer using mesh."
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1146
+#: src/testbed/gnunet-testbed-profiler.c:320
 msgid "An operation has failed while starting peers\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1141
-#: src/testbed/gnunet-testbed-profiler.c:390
+#: src/mesh/gnunet-regex-profiler.c:1192
+#: src/testbed/gnunet-testbed-profiler.c:389
 #, fuzzy, c-format
 msgid "Creating a peer failed. Error: %s\n"
 msgstr ""
 "\n"
 "Error subiendo el fichero %s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1268
-#: src/testbed/gnunet-testbed-profiler.c:495
+#: src/mesh/gnunet-regex-profiler.c:1319
+#: src/testbed/gnunet-testbed-profiler.c:494
 msgid "An operation has failed while starting slaves\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1290
+#: src/mesh/gnunet-regex-profiler.c:1341
 #, fuzzy, c-format
 msgid "No files found in `%s'\n"
 msgstr "¡Imposible descargar adecuadamente el servicio '%s'!\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1345
+#: src/mesh/gnunet-regex-profiler.c:1396
 msgid "An operation has failed while linking\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1456
-#: src/testbed/gnunet-testbed-profiler.c:597
+#: src/mesh/gnunet-regex-profiler.c:1507
+#: src/testbed/gnunet-testbed-profiler.c:598
 #, c-format
 msgid "Host registration failed for a host. Error: %s\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1536
-#: src/testbed/gnunet-testbed-profiler.c:676
+#: src/mesh/gnunet-regex-profiler.c:1587
+#: src/testbed/gnunet-testbed-profiler.c:677
 msgid "Unable to connect to master controller -- Check config\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1635
+#: src/mesh/gnunet-regex-profiler.c:1686
 #, c-format
 msgid "No hosts-file specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1640
+#: src/mesh/gnunet-regex-profiler.c:1691
 #: src/regex/gnunet-regex-simulation-profiler.c:498
 #, c-format
 msgid "No policy directory specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1646
+#: src/mesh/gnunet-regex-profiler.c:1697
+#: src/testbed/gnunet-testbed-profiler.c:717
 #, c-format
 msgid "No hosts loaded. Need at least one host\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1653
-#: src/testbed/gnunet-testbed-profiler.c:723
+#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/testbed/gnunet-testbed-profiler.c:724
 #, c-format
 msgid "Host %s cannot start testbed\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1660
-#: src/testbed/gnunet-testbed-profiler.c:730
+#: src/mesh/gnunet-regex-profiler.c:1711
+#: src/testbed/gnunet-testbed-profiler.c:731
 #, fuzzy, c-format
 msgid "Exiting\n"
 msgstr ""
 "\n"
 "Saliendo.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1666
+#: src/mesh/gnunet-regex-profiler.c:1717
 #, fuzzy, c-format
 msgid "No configuration file given. Exiting\n"
 msgstr "usa el fichero de configuración FILENAME"
 
-#: src/mesh/gnunet-regex-profiler.c:1683
+#: src/mesh/gnunet-regex-profiler.c:1726
+#, fuzzy, c-format
+msgid "Configuration option (regex_prefix) missing. Exiting\n"
+msgstr "Fichero de configuración '%s' creado.\n"
+
+#: src/mesh/gnunet-regex-profiler.c:1744
 #: src/regex/gnunet-regex-simulation-profiler.c:504
 #, c-format
 msgid "Specified policies directory does not exist. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1690
+#: src/mesh/gnunet-regex-profiler.c:1751
 #, c-format
 msgid "No search strings file given. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1698
+#: src/mesh/gnunet-regex-profiler.c:1759
 #, c-format
 msgid ""
 "Error loading search strings. Given file does not contain enough strings. "
 "Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/mesh/gnunet-regex-profiler.c:1765
 #, fuzzy, c-format
 msgid "Error loading search strings. Exiting.\n"
 msgstr "Error abandonando DHT.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1738
+#: src/mesh/gnunet-regex-profiler.c:1799
 #, fuzzy
 msgid "name of the file for writing statistics"
 msgstr "Fallo en las estadísticas del tráfico.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1741
+#: src/mesh/gnunet-regex-profiler.c:1802
 msgid "create COUNT number of random links between peers"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1744
+#: src/mesh/gnunet-regex-profiler.c:1805
 msgid "wait TIMEOUT before considering a string match as failed"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1747
+#: src/mesh/gnunet-regex-profiler.c:1808
 msgid "wait DELAY before starting string search"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1750
+#: src/mesh/gnunet-regex-profiler.c:1811
 msgid "number of search strings to read from search strings file"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1753
+#: src/mesh/gnunet-regex-profiler.c:1814
 #: src/regex/gnunet-regex-simulation-profiler.c:555
 msgid "maximum path compression length"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1765
+#: src/mesh/gnunet-regex-profiler.c:1817
+msgid ""
+"if this option is set, only one peer is responsible for searching all strings"
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1829
 msgid "Profiler for regex/mesh"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8038
+#: src/mesh/gnunet-service-mesh.c:8082 src/mesh/gnunet-service-mesh-new.c:7998
 msgid "Wrong CORE service\n"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8243
+#: src/mesh/gnunet-service-mesh.c:8287 src/mesh/gnunet-service-mesh-new.c:8203
 #, fuzzy
 msgid "Mesh service could not access hostkey.  Exiting.\n"
 msgstr "Imposible acceder a la información del espacio.\n"
 
-#: src/mesh/gnunet-service-mesh.c:8332 src/mesh/gnunet-service-mesh.c:8344
-#: src/mesh/gnunet-service-mesh.c:8356 src/mesh/gnunet-service-mesh.c:8369
-#: src/mesh/gnunet-service-mesh.c:8384 src/mesh/gnunet-service-mesh.c:8396
-#: src/mesh/gnunet-service-mesh.c:8408
+#: src/mesh/gnunet-service-mesh.c:8462 src/mesh/gnunet-service-mesh.c:8473
+#: src/mesh/gnunet-service-mesh-new.c:8380
+#: src/mesh/gnunet-service-mesh-new.c:8391
 #, fuzzy, c-format
-msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
-msgstr "Configuración de GNUnet"
-
-#: src/mesh/gnunet-service-mesh.c:8420 src/mesh/gnunet-service-mesh.c:8431
-#, fuzzy, c-format
 msgid ""
 "%s service is lacking key configuration settings (%s). Using default (%u).\n"
 msgstr "Configuración de GNUnet"
@@ -4300,46 +4361,41 @@
 msgid "Could not save some persistent statistics\n"
 msgstr "Imposible crear el espacio '%s' (¿existe?).\n"
 
-#: src/statistics/statistics_api.c:1053
+#: src/statistics/statistics_api.c:1056
 msgid ""
 "Failed to receive acknowledgement from statistics service, some statistics "
 "might have been lost!\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:705
+#: src/testbed/gnunet-testbed-profiler.c:706
 #, c-format
 msgid "No hosts-file specified on command line\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:716
-#, c-format
-msgid "No hosts loaded. Need atleast one host\n"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:779
+#: src/testbed/gnunet-testbed-profiler.c:780
 msgid "Only `CLIQUE' and `RANDOM' are permitted.\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:794
+#: src/testbed/gnunet-testbed-profiler.c:795
 msgid "create COUNT number of peers"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:797
+#: src/testbed/gnunet-testbed-profiler.c:798
 msgid "create COUNT number of random links"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:800
+#: src/testbed/gnunet-testbed-profiler.c:801
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:803
+#: src/testbed/gnunet-testbed-profiler.c:804
 msgid ""
 "Try to acheive TOPOLOGY. This options takes either CLIQUE or RANDOM. For "
 "CLIQUE the parameter -n is ignored. The default is to acheive a random graph "
 "topology."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:818
+#: src/testbed/gnunet-testbed-profiler.c:819
 msgid "Profiler for testbed"
 msgstr ""
 
@@ -4627,26 +4683,26 @@
 msgid "Transport service is lacking key configuration settings.  Exiting.\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:353
+#: src/transport/gnunet-service-transport_clients.c:388
 #, c-format
 msgid "Dropping message of type %u and size %u, have %u/%u messages pending\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:358
+#: src/transport/gnunet-service-transport_clients.c:393
 #, fuzzy
 msgid "# messages dropped due to slow client"
 msgstr "# Anuncios de los pares recibidos"
 
-#: src/transport/gnunet-service-transport_clients.c:510
+#: src/transport/gnunet-service-transport_clients.c:545
 #, c-format
 msgid "Rejecting control connection from peer `%s', which is not me!\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:651
+#: src/transport/gnunet-service-transport_clients.c:686
 msgid "# bytes payload dropped (other peer was not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:702
+#: src/transport/gnunet-service-transport_clients.c:737
 #, fuzzy
 msgid "# REQUEST CONNECT messages received"
 msgstr "# mensajes PONG encriptados recibidos"
@@ -4655,116 +4711,116 @@
 msgid "# refreshed my HELLO"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1040
+#: src/transport/gnunet-service-transport_neighbours.c:1042
 #, fuzzy
 msgid "# DISCONNECT messages sent"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:1507
+#: src/transport/gnunet-service-transport_neighbours.c:1172
+#: src/transport/gnunet-service-transport_neighbours.c:1509
 #, fuzzy
 msgid "# bytes in message queue for other peers"
 msgstr "# bytes de mensajes salientes omitidos"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1175
+#: src/transport/gnunet-service-transport_neighbours.c:1177
 #, fuzzy
 msgid "# messages transmitted to other peers"
 msgstr "# bytes recibidos por TCP"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1180
+#: src/transport/gnunet-service-transport_neighbours.c:1182
 #, fuzzy
 msgid "# transmission failures for messages to other peers"
 msgstr "# bytes de mensajes salientes omitidos"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1237
+#: src/transport/gnunet-service-transport_neighbours.c:1239
 msgid "# messages timed out while in transport queue"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1279
+#: src/transport/gnunet-service-transport_neighbours.c:1281
 #, fuzzy
 msgid "# keepalives sent"
 msgstr "# claves de la sesión mandadas"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1303
+#: src/transport/gnunet-service-transport_neighbours.c:1305
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (peer unknown)"
 msgstr "# mensajes defragmentados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1313
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (no session)"
 msgstr "# mensajes defragmentados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1348
+#: src/transport/gnunet-service-transport_neighbours.c:1350
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
 msgstr "# mensajes defragmentados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1357
+#: src/transport/gnunet-service-transport_neighbours.c:1359
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
 msgstr "# mensajes defragmentados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1413
+#: src/transport/gnunet-service-transport_neighbours.c:1415
 #, fuzzy
 msgid "# messages discarded due to lack of neighbour record"
 msgstr "# mensajes defragmentados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1447
+#: src/transport/gnunet-service-transport_neighbours.c:1449
 msgid "# bandwidth quota violations by other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1463
+#: src/transport/gnunet-service-transport_neighbours.c:1465
 msgid "# ms throttling suggested"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2613
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (no peer)"
 msgstr "envia COUNT mensajes"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2626
-#: src/transport/gnunet-service-transport_neighbours.c:2660
+#: src/transport/gnunet-service-transport_neighbours.c:2628
+#: src/transport/gnunet-service-transport_neighbours.c:2662
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (not ready)"
 msgstr "envia COUNT mensajes"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2673
+#: src/transport/gnunet-service-transport_neighbours.c:2675
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
 msgstr "envia COUNT mensajes"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2706
+#: src/transport/gnunet-service-transport_neighbours.c:2708
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (disconnecting)"
 msgstr "envia COUNT mensajes"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2890
+#: src/transport/gnunet-service-transport_neighbours.c:2892
 #, fuzzy
 msgid "# unexpected SESSION ACK messages"
 msgstr "# de pares conectados"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2945
+#: src/transport/gnunet-service-transport_neighbours.c:2947
 msgid "# SET QUOTA messages ignored (no such peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2959
+#: src/transport/gnunet-service-transport_neighbours.c:2961
 msgid "# disconnects due to quota of 0"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2990
+#: src/transport/gnunet-service-transport_neighbours.c:2992
 msgid "# disconnect messages ignored (old format)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3001
+#: src/transport/gnunet-service-transport_neighbours.c:3003
 msgid "# disconnect messages ignored (timestamp)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3032
+#: src/transport/gnunet-service-transport_neighbours.c:3034
 msgid "# other peer asked to disconnect from us"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3127
+#: src/transport/gnunet-service-transport_neighbours.c:3129
 #, fuzzy
 msgid "# disconnected from peer upon explicit request"
 msgstr "# Anuncios de los pares recibidos"
@@ -4824,92 +4880,142 @@
 msgid "Adding `%s' without addresses for peer `%s'\n"
 msgstr "Imposible obtener la dirección del par '%s'.\n"
 
-#: src/transport/gnunet-transport.c:265
-msgid "No transport plugins configured, peer will never communicate\n"
-msgstr ""
-
-#: src/transport/gnunet-transport.c:278
+#: src/transport/gnunet-transport.c:262
 #, c-format
-msgid "No port configured for plugin `%s', cannot test it\n"
+msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:328
+#: src/transport/gnunet-transport.c:269
 #, fuzzy, c-format
 msgid "Received %llu bytes/s (%llu bytes in %s)\n"
 msgstr "GAP recibido contenido no válido de '%s'\n"
 
-#: src/transport/gnunet-transport.c:336
+#: src/transport/gnunet-transport.c:285
+#, fuzzy, c-format
+msgid "Failed to connect to `%s'\n"
+msgstr "Fallo al conectar a gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:388
+msgid "No transport plugins configured, peer will never communicate\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:401
 #, c-format
-msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
+msgid "No port configured for plugin `%s', cannot test it\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:375
+#: src/transport/gnunet-transport.c:465
 #, c-format
 msgid "Transmitting %u bytes to %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:395
+#: src/transport/gnunet-transport.c:490
 #, fuzzy, c-format
-msgid "Connected to %s\n"
-msgstr "'%s' conectado a '%s'.\n"
+msgid "Successfully connected to `%s'\n"
+msgstr "Permiso denegado para '%s' en %s:%d.\n"
 
-#: src/transport/gnunet-transport.c:427
+#: src/transport/gnunet-transport.c:512
+#, c-format
+msgid ""
+"Successfully connected to `%s', starting to send benchmark data in %u Kb "
+"blocks\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:547
 #, fuzzy, c-format
-msgid "Disconnected from %s\n"
+msgid "Disconnected from peer `%s' while benchmarking\n"
 msgstr "'%s' conectado a '%s'.\n"
 
-#: src/transport/gnunet-transport.c:505
+#: src/transport/gnunet-transport.c:623
 #, fuzzy, c-format
 msgid "Received %u bytes from %s\n"
 msgstr "GAP recibido contenido no válido de '%s'\n"
 
-#: src/transport/gnunet-transport.c:528
+#: src/transport/gnunet-transport.c:649
 #, fuzzy, c-format
 msgid "Peer `%s': %s %s\n"
 msgstr "Yo soy el par '%s'.\n"
 
-#: src/transport/gnunet-transport.c:535
+#: src/transport/gnunet-transport.c:658
 #, c-format
 msgid "Peer `%s': %s <unable to resolve address>\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:563
+#: src/transport/gnunet-transport.c:694
 #, fuzzy, c-format
 msgid "Peer `%s' disconnected\n"
 msgstr "# de pares conectados"
 
-#: src/transport/gnunet-transport.c:632
-#, fuzzy, c-format
-msgid "Failed to parse peer identity `%s'\n"
-msgstr "Falló al actualizar los datos del módulo '%s'\n"
+#: src/transport/gnunet-transport.c:724
+#, fuzzy
+msgid "Failed to send connect request to transport service\n"
+msgstr "Fallo al conectar a gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:715
-msgid "measure how fast we are receiving data (until CTRL-C)"
+#: src/transport/gnunet-transport.c:759
+#, c-format
+msgid ""
+"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
+"%s, %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:718
+#: src/transport/gnunet-transport.c:765
+#, c-format
+msgid ""
+"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:785 src/transport/gnunet-transport.c:815
+#: src/transport/gnunet-transport.c:837 src/transport/gnunet-transport.c:874
 #, fuzzy
-msgid "try to connect to the given peer"
+msgid "Failed to connect to transport service\n"
 msgstr "Fallo al conectar a gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:721
+#: src/transport/gnunet-transport.c:792 src/transport/gnunet-transport.c:822
 #, fuzzy
+msgid "Failed to send request to transport service\n"
+msgstr "Fallo al conectar a gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:842
+msgid "Starting to receive benchmark data\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:924
+msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:927
+#, fuzzy
+msgid "connect to a peer"
+msgstr "Fallo al conectar a gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:930
+#, fuzzy
 msgid "provide information about all current connections (once)"
 msgstr "Imprime información de los pares de GNUnet."
 
-#: src/transport/gnunet-transport.c:727
+#: src/transport/gnunet-transport.c:936
+#, fuzzy
+msgid ""
+"provide information about all connects and disconnect events (continuously)"
+msgstr "Imprime información de los pares de GNUnet."
+
+#: src/transport/gnunet-transport.c:939
 msgid "do not resolve hostnames"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:731
+#: src/transport/gnunet-transport.c:942
+msgid "peer identity"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:946
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:734
+#: src/transport/gnunet-transport.c:949
 msgid "test transport configuration (involves external server)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:745
+#: src/transport/gnunet-transport.c:960
 #, fuzzy
 msgid "Direct access to transport service."
 msgstr "Fallo al conectar a gnunetd.\n"
@@ -5142,8 +5248,8 @@
 
 #: src/transport/plugin_transport_tcp.c:774
 #: src/transport/plugin_transport_tcp.c:963
-#: src/transport/plugin_transport_tcp.c:1816
-#: src/transport/plugin_transport_tcp.c:2435
+#: src/transport/plugin_transport_tcp.c:1817
+#: src/transport/plugin_transport_tcp.c:2436
 #, fuzzy
 msgid "# TCP sessions active"
 msgstr "# claves de la sesión aceptadas"
@@ -5163,49 +5269,49 @@
 msgid "# bytes discarded by TCP (disconnect)"
 msgstr "# bytes omitidos por TCP (salientes)"
 
-#: src/transport/plugin_transport_tcp.c:1341
+#: src/transport/plugin_transport_tcp.c:1342
 #, c-format
 msgid "Address of unexpected length: %u\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1456
+#: src/transport/plugin_transport_tcp.c:1457
 msgid "# transport-service disconnect requests for TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1857
+#: src/transport/plugin_transport_tcp.c:1858
 #, fuzzy
 msgid "# TCP WELCOME messages received"
 msgstr "# mensajes PONG encriptados recibidos"
 
-#: src/transport/plugin_transport_tcp.c:2031
+#: src/transport/plugin_transport_tcp.c:2032
 msgid "# bytes received via TCP"
 msgstr "# bytes recibidos por TCP"
 
-#: src/transport/plugin_transport_tcp.c:2101
+#: src/transport/plugin_transport_tcp.c:2102
 msgid "# network-level TCP disconnect events"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2325 src/util/service.c:948
+#: src/transport/plugin_transport_tcp.c:2326 src/util/service.c:948
 #: src/util/service.c:954
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2339
+#: src/transport/plugin_transport_tcp.c:2340
 #, fuzzy
 msgid "Failed to start service.\n"
 msgstr "Falló al comenzar la recolección.\n"
 
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:2424
 #, c-format
 msgid "TCP transport listening on port %llu\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2427
+#: src/transport/plugin_transport_tcp.c:2428
 msgid "TCP transport not listening on any port (client only)\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2431
+#: src/transport/plugin_transport_tcp.c:2432
 #, c-format
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
@@ -5336,7 +5442,7 @@
 msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
 msgstr ""
 
-#: src/transport/transport_api.c:598
+#: src/transport/transport_api.c:654
 #, fuzzy, c-format
 msgid "Received unexpected message of type %u in %s:%u\n"
 msgstr "Recibido mensaje corrupto del par '%s' en %s:%d.\n"
@@ -5611,17 +5717,17 @@
 msgid "`%s' failed for drive `%S': %u\n"
 msgstr "'%s' falló para la unidad %s: %u\n"
 
-#: src/util/disk.c:1136
+#: src/util/disk.c:1171
 #, 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:1490 src/util/service.c:1667
+#: src/util/disk.c:1525 src/util/service.c:1667
 #, 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:1862
+#: src/util/disk.c:1897
 #, fuzzy, c-format
 msgid "No `%s' specified for service `%s' in configuration.\n"
 msgstr "¡Ninguna aplicación definida en la configuración!\n"
@@ -5860,14 +5966,14 @@
 "Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
 msgstr ""
 
-#: src/util/os_installation.c:416
+#: src/util/os_installation.c:417
 #, c-format
 msgid ""
 "Could not determine installation path for %s.  Set `%s' environment "
 "variable.\n"
 msgstr ""
 
-#: src/util/os_installation.c:646
+#: src/util/os_installation.c:653
 #, fuzzy, c-format
 msgid "Could not find binary `%s' in PATH!\n"
 msgstr "¡Imposible encontrar el par '%s' en la tabla de enrutado!\n"
@@ -6365,8 +6471,8 @@
 msgstr "'%s' falló en el fichero '%s' en %s: %d con el error: %s\n"
 
 #, fuzzy
-#~ msgid "list information for the given peer"
-#~ msgstr "Imprime información de los pares de GNUnet."
+#~ msgid "Connected to %s\n"
+#~ msgstr "'%s' conectado a '%s'.\n"
 
 #, fuzzy
 #~ msgid "list information for all peers"
@@ -6533,10 +6639,6 @@
 #~ msgstr "Falló al comenzar la recolección.\n"
 
 #, fuzzy
-#~ msgid "Configuration option `%s' in section `%s' missing.\n"
-#~ msgstr "Fichero de configuración '%s' creado.\n"
-
-#, fuzzy
 #~ msgid "Configuration fails to specify `%s', assuming default value."
 #~ msgstr "Fichero de configuración '%s' creado.\n"
 

Modified: gnunet/po/sv.po
===================================================================
--- gnunet/po/sv.po     2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/sv.po     2012-11-21 20:56:49 UTC (rev 25091)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-11-05 22:48+0100\n"
+"POT-Creation-Date: 2012-11-14 15:54+0100\n"
 "PO-Revision-Date: 2006-01-21 17:16+0100\n"
 "Last-Translator: Daniel Nylander <address@hidden>\n"
 "Language-Team: Swedish <address@hidden>\n"
@@ -126,19 +126,20 @@
 msgstr ""
 
 #: src/arm/gnunet-arm.c:433
-msgid "timeout for completing current operation"
+msgid "timeout in MSECS milliseconds for completing current operation"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:435
-msgid "List currently running services"
-msgstr ""
+#, fuzzy
+msgid "list currently running services"
+msgstr "Startade samling \"%s\".\n"
 
 #: src/arm/gnunet-arm.c:437
-msgid "Don't let gnunet-service-arm inherit standard output"
+msgid "don't let gnunet-service-arm inherit standard output"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:439
-msgid "Don't let gnunet-service-arm inherit standard error"
+msgid "don't let gnunet-service-arm inherit standard error"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:450
@@ -232,45 +233,67 @@
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:67
+#: src/ats-tool/gnunet-ats.c:75
 #, c-format
 msgid ""
 "Peer `%s' plugin `%s', address `%s', bandwidth out: %u Bytes/s, bandwidth in "
 "%u Bytes/s\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:129
+#: src/ats-tool/gnunet-ats.c:137
 #, c-format
 msgid "%u address resolutions had a timeout\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:131
+#: src/ats-tool/gnunet-ats.c:139
 #, c-format
 msgid "ATS returned results for %u addresses\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:142 src/namestore/gnunet-namestore.c:610
-#: src/transport/gnunet-transport.c:617
+#: src/ats-tool/gnunet-ats.c:153 src/namestore/gnunet-namestore.c:610
+#: src/transport/gnunet-transport.c:744
 #, fuzzy, c-format
 msgid "Service `%s' is not running\n"
 msgstr "\"%s\" är inte en fil.\n"
 
-#: src/ats-tool/gnunet-ats.c:149
+#: src/ats-tool/gnunet-ats.c:162 src/transport/gnunet-transport.c:750
 #, fuzzy, c-format
+msgid "Failed to parse peer identity `%s'\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/ats-tool/gnunet-ats.c:167 src/ats-tool/gnunet-ats.c:182
+msgid "Type required\n"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:189 src/ats-tool/gnunet-ats.c:199
+#, fuzzy, c-format
 msgid "Cannot connect to ATS service, exiting...\n"
 msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
 
-#: src/ats-tool/gnunet-ats.c:194
+#: src/ats-tool/gnunet-ats.c:247
 #, fuzzy
 msgid "do not resolve IP addresses to hostnames"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/ats-tool/gnunet-ats.c:197
+#: src/ats-tool/gnunet-ats.c:250
 msgid "monitor mode"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:206
+#: src/ats-tool/gnunet-ats.c:253
 #, fuzzy
+msgid "set preference for the given peer"
+msgstr "Skriv ut information om GNUnets motparter."
+
+#: src/ats-tool/gnunet-ats.c:256
+msgid "preference type to set: latency | bandwidth"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:259
+msgid "preference value"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:268
+#, fuzzy
 msgid "Print information about ATS state"
 msgstr "Skriv ut information om GNUnets motparter."
 
@@ -289,17 +312,17 @@
 msgstr "Jag är ändpunkt \"%s\".\n"
 
 #: src/core/gnunet-core.c:119 src/core/gnunet-core.c:147
-#: src/transport/gnunet-transport.c:453 src/transport/gnunet-transport.c:477
+#: src/transport/gnunet-transport.c:571 src/transport/gnunet-transport.c:595
 #, c-format
 msgid "%24s: %-17s %4s   (%u connections in total)\n"
 msgstr ""
 
-#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:455
+#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:573
 #, fuzzy
 msgid "Connected to"
 msgstr "\"%s\" ansluten till \"%s\".\n"
 
-#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:479
+#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:597
 #, fuzzy
 msgid "Disconnected from"
 msgstr "\"%s\" ansluten till \"%s\".\n"
@@ -309,7 +332,7 @@
 msgid "Invalid command line argument `%s'\n"
 msgstr "Ogiltiga kommandoradsargument:\n"
 
-#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:724
+#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:933
 #, fuzzy
 msgid "provide information about all current connections (continuously)"
 msgstr "Skriv ut information om GNUnets motparter."
@@ -349,7 +372,7 @@
 msgid "# messages discarded (session disconnected)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/core/gnunet-service-core_clients.c:818
+#: src/core/gnunet-service-core_clients.c:518
 #, fuzzy, c-format
 msgid "# bytes of messages of type %u received"
 msgstr "# krypterade PONG-meddelanden mottagna"
@@ -511,16 +534,16 @@
 
 #: src/core/gnunet-service-core_sessions.c:206
 #: src/core/gnunet-service-core_sessions.c:269
-#: src/dht/gnunet-service-dht_neighbours.c:634
-#: src/dht/gnunet-service-dht_neighbours.c:692
+#: src/dht/gnunet-service-dht_neighbours.c:639
+#: src/dht/gnunet-service-dht_neighbours.c:697
 #: src/fs/gnunet-service-fs_cp.c:630 src/fs/gnunet-service-fs_cp.c:1544
 #: src/topology/gnunet-daemon-topology.c:704
 #: src/topology/gnunet-daemon-topology.c:805
-#: src/transport/gnunet-service-transport_neighbours.c:872
-#: src/transport/gnunet-service-transport_neighbours.c:1089
-#: src/transport/gnunet-service-transport_neighbours.c:1098
-#: src/transport/gnunet-service-transport_neighbours.c:2635
-#: src/transport/gnunet-service-transport_neighbours.c:2897
+#: src/transport/gnunet-service-transport_neighbours.c:874
+#: src/transport/gnunet-service-transport_neighbours.c:1091
+#: src/transport/gnunet-service-transport_neighbours.c:1100
+#: src/transport/gnunet-service-transport_neighbours.c:2637
+#: src/transport/gnunet-service-transport_neighbours.c:2899
 #, fuzzy
 msgid "# peers connected"
 msgstr "# av anslutna parter"
@@ -543,40 +566,51 @@
 msgid "# updates to my type map"
 msgstr ""
 
-#: src/datacache/datacache.c:115 src/datacache/datacache.c:250
+#: src/datacache/datacache.c:115 src/datacache/datacache.c:266
 #: src/datastore/gnunet-service-datastore.c:834
 #, fuzzy
 msgid "# bytes stored"
 msgstr "# byte krypterade"
 
-#: src/datacache/datacache.c:141 src/datacache/datacache.c:148
+#: src/datacache/datacache.c:117 src/datacache/datacache.c:268
+#, fuzzy
+msgid "# items stored"
+msgstr "# byte krypterade"
+
+#: src/datacache/datacache.c:143 src/datacache/datacache.c:150
 #: src/datastore/gnunet-service-datastore.c:1483
 #: src/datastore/gnunet-service-datastore.c:1494
 #, fuzzy, c-format
 msgid "No `%s' specified for `%s' in configuration!\n"
 msgstr "Inga applikationer definierade i konfiguration!\n"
 
-#: src/datacache/datacache.c:180
+#: src/datacache/datacache.c:184
 #, c-format
 msgid "Loading `%s' datacache plugin\n"
 msgstr ""
 
-#: src/datacache/datacache.c:188
+#: src/datacache/datacache.c:192
 #, fuzzy, c-format
 msgid "Failed to load datacache plugin for `%s'\n"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/datacache/datacache.c:276
+#: src/datacache/datacache.c:295
 #, fuzzy
 msgid "# requests received"
 msgstr "# byte mottogs via TCP"
 
-#: src/datacache/datacache.c:284
+#: src/datacache/datacache.c:304
 msgid "# requests filtered by bloom filter"
 msgstr ""
 
-#: src/datacache/plugin_datacache_mysql.c:97
-#: src/datacache/plugin_datacache_mysql.c:104
+#: src/datacache/plugin_datacache_heap.c:406
+msgid "Heap datacache running\n"
+msgstr ""
+
+#: src/datacache/plugin_datacache_postgres.c:392
+msgid "Postgres datacache running\n"
+msgstr ""
+
 #: src/datacache/plugin_datacache_sqlite.c:69
 #: src/datacache/plugin_datacache_sqlite.c:72
 #: src/datastore/plugin_datastore_mysql.c:803
@@ -592,30 +626,22 @@
 msgid "`%s' failed at %s:%d with error: %s\n"
 msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n"
 
-#: src/datacache/plugin_datacache_mysql.c:450
-msgid "MySQL datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_postgres.c:367
-msgid "Postgres datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_sqlite.c:405
+#: src/datacache/plugin_datacache_sqlite.c:448
 msgid "Sqlite datacache running\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:438
+#: src/datacache/plugin_datacache_sqlite.c:482
 #: src/datastore/plugin_datastore_sqlite.c:401
 #: src/namestore/plugin_namestore_sqlite.c:362
 msgid "Tried to close sqlite without finalizing all prepared statements.\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:445
+#: src/datacache/plugin_datacache_sqlite.c:489
 #, fuzzy, c-format
 msgid "Failed to close statement %p: %d\n"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/datacache/plugin_datacache_template.c:121
+#: src/datacache/plugin_datacache_template.c:125
 msgid "Template datacache running\n"
 msgstr ""
 
@@ -911,18 +937,18 @@
 msgid "Invalid data in database.  Trying to fix (by deletion).\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1132
+#: src/datastore/plugin_datastore_sqlite.c:1134
 msgid "sqlite version to old to determine size, assuming zero\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1151
+#: src/datastore/plugin_datastore_sqlite.c:1153
 #, c-format
 msgid ""
 "Using sqlite page utilization to estimate payload (%llu pages of size %llu "
 "bytes)\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1191
+#: src/datastore/plugin_datastore_sqlite.c:1193
 #: src/namestore/plugin_namestore_sqlite.c:827
 msgid "Sqlite database running\n"
 msgstr ""
@@ -931,7 +957,7 @@
 msgid "Template database running\n"
 msgstr ""
 
-#: src/dht/dht_api.c:348
+#: src/dht/dht_api.c:375
 #, fuzzy
 msgid "Failed to connect to the DHT service!\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -1055,80 +1081,84 @@
 msgid "# GET requests from clients injected"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_clients.c:500
+#: src/dht/gnunet-service-dht_clients.c:497
 #, fuzzy
 msgid "# PUT requests received from clients"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:584
+#: src/dht/gnunet-service-dht_clients.c:579
 #, fuzzy
 msgid "# GET requests received from clients"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:682
+#: src/dht/gnunet-service-dht_clients.c:775
 #, fuzzy
 msgid "# GET STOP requests received from clients"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:919
+#: src/dht/gnunet-service-dht_clients.c:1012
 msgid "# Key match, type mismatches in REPLY to CLIENT"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:932
+#: src/dht/gnunet-service-dht_clients.c:1025
 msgid "# Duplicate REPLIES to CLIENT request dropped"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:967
+#: src/dht/gnunet-service-dht_clients.c:1062
 #, c-format
 msgid "Unsupported block type (%u) in request!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:990
+#: src/dht/gnunet-service-dht_clients.c:1085
 #, fuzzy
 msgid "# RESULTS queued for clients"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/dht/gnunet-service-dht_clients.c:1039
-#: src/dht/gnunet-service-dht_clients.c:1082
+#: src/dht/gnunet-service-dht_clients.c:1134
+#: src/dht/gnunet-service-dht_clients.c:1177
 msgid "# REPLIES ignored for CLIENTS (no match)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1049
+#: src/dht/gnunet-service-dht_clients.c:1144
 #, fuzzy
 msgid "Could not pass reply to client, message too big!\n"
 msgstr "Kunde inte skicka meddelande till gnunetd\n"
 
-#: src/dht/gnunet-service-dht_datacache.c:93
+#: src/dht/gnunet-service-dht_datacache.c:64
 #, fuzzy, c-format
 msgid "%s request received, but have no datacache!\n"
 msgstr "# byte mottagna av typen %d"
 
-#: src/dht/gnunet-service-dht_datacache.c:103
+#: src/dht/gnunet-service-dht_datacache.c:74
 msgid "# ITEMS stored in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:207
+#: src/dht/gnunet-service-dht_datacache.c:159
 msgid "# Good RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:218
+#: src/dht/gnunet-service-dht_datacache.c:170
 msgid "# Duplicate RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:224
+#: src/dht/gnunet-service-dht_datacache.c:176
 msgid "# Invalid RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:236
+#: src/dht/gnunet-service-dht_datacache.c:182
+msgid "# Irrelevant RESULTS found in datacache"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_datacache.c:194
 msgid "# Unsupported RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:239
+#: src/dht/gnunet-service-dht_datacache.c:197
 #, c-format
 msgid "Unsupported block type (%u) in local response!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:269
+#: src/dht/gnunet-service-dht_datacache.c:227
 #, fuzzy
 msgid "# GET requests given to datacache"
 msgstr "# byte mottogs via TCP"
@@ -1138,100 +1168,100 @@
 msgid "# HELLOs obtained from peerinfo"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:490
+#: src/dht/gnunet-service-dht_neighbours.c:495
 msgid "# Preference updates given to core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:580
+#: src/dht/gnunet-service-dht_neighbours.c:585
 #, fuzzy
 msgid "# FIND PEER messages initiated"
 msgstr "# PING-meddelanden skapade"
 
-#: src/dht/gnunet-service-dht_neighbours.c:726
+#: src/dht/gnunet-service-dht_neighbours.c:731
 #, fuzzy
 msgid "# Queued messages discarded (peer disconnected)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:781
+#: src/dht/gnunet-service-dht_neighbours.c:786
 #, fuzzy
 msgid "# Bytes transmitted to other peers"
 msgstr "# byte skickade av typen %d"
 
-#: src/dht/gnunet-service-dht_neighbours.c:819
-msgid "# Bytes of bandwdith requested from core"
+#: src/dht/gnunet-service-dht_neighbours.c:824
+msgid "# Bytes of bandwidth requested from core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1041
-#: src/dht/gnunet-service-dht_neighbours.c:1069
+#: src/dht/gnunet-service-dht_neighbours.c:1046
+#: src/dht/gnunet-service-dht_neighbours.c:1074
 msgid "# Peers excluded from routing due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1050
-#: src/dht/gnunet-service-dht_neighbours.c:1084
+#: src/dht/gnunet-service-dht_neighbours.c:1055
+#: src/dht/gnunet-service-dht_neighbours.c:1089
 msgid "# Peer selection failed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1216
+#: src/dht/gnunet-service-dht_neighbours.c:1223
 #, fuzzy
 msgid "# PUT requests routed"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1245
+#: src/dht/gnunet-service-dht_neighbours.c:1252
 #, fuzzy
 msgid "# PUT messages queued for transmission"
 msgstr "# PING-meddelanden skapade"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1252
-#: src/dht/gnunet-service-dht_neighbours.c:1365
-#: src/dht/gnunet-service-dht_neighbours.c:1465
+#: src/dht/gnunet-service-dht_neighbours.c:1259
+#: src/dht/gnunet-service-dht_neighbours.c:1372
+#: src/dht/gnunet-service-dht_neighbours.c:1472
 #, fuzzy
 msgid "# P2P messages dropped due to full queue"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1330
+#: src/dht/gnunet-service-dht_neighbours.c:1337
 #, fuzzy
 msgid "# GET requests routed"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1357
+#: src/dht/gnunet-service-dht_neighbours.c:1364
 #, fuzzy
 msgid "# GET messages queued for transmission"
 msgstr "# PING-meddelanden skapade"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1472
+#: src/dht/gnunet-service-dht_neighbours.c:1479
 #, fuzzy
 msgid "# RESULT messages queued for transmission"
 msgstr "# PING-meddelanden skapade"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1560
+#: src/dht/gnunet-service-dht_neighbours.c:1567
 #, fuzzy
 msgid "# P2P PUT requests received"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1676
+#: src/dht/gnunet-service-dht_neighbours.c:1694
 msgid "# FIND PEER requests ignored due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1684
+#: src/dht/gnunet-service-dht_neighbours.c:1702
 msgid "# FIND PEER requests ignored due to lack of HELLO"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1775
+#: src/dht/gnunet-service-dht_neighbours.c:1793
 #, fuzzy
 msgid "# P2P GET requests received"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1817
+#: src/dht/gnunet-service-dht_neighbours.c:1835
 #, fuzzy
 msgid "# P2P FIND PEER requests processed"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1831
+#: src/dht/gnunet-service-dht_neighbours.c:1849
 #, fuzzy
 msgid "# P2P GET requests ONLY routed"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1905
+#: src/dht/gnunet-service-dht_neighbours.c:1934
 #, fuzzy
 msgid "# P2P RESULTS received"
 msgstr "# krypterade PONG-meddelanden mottagna"
@@ -1253,19 +1283,23 @@
 msgid "# Invalid REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:238
+#: src/dht/gnunet-service-dht_routing.c:232
+msgid "# Irrelevant REPLIES matched against routing table"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_routing.c:244
 msgid "# Unsupported REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:311
+#: src/dht/gnunet-service-dht_routing.c:317
 msgid "# Entries removed from routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:394
+#: src/dht/gnunet-service-dht_routing.c:400
 msgid "# Entries added to routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:411
+#: src/dht/gnunet-service-dht_routing.c:417
 #, fuzzy
 msgid "# DHT requests combined"
 msgstr "# byte mottogs via TCP"
@@ -2433,7 +2467,7 @@
 msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n"
 
 #: src/fs/gnunet-publish.c:585 src/fs/gnunet-publish.c:592
-#: src/transport/gnunet-transport.c:623
+#: src/transport/gnunet-transport.c:774 src/transport/gnunet-transport.c:804
 #, c-format
 msgid "Option `%s' makes no sense without option `%s'.\n"
 msgstr ""
@@ -2745,98 +2779,98 @@
 msgid "# Pending requests created"
 msgstr "# byte mottogs via TCP"
 
-#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:639
+#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:643
 msgid "# Pending requests active"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:802
+#: src/fs/gnunet-service-fs_pr.c:806
 #, fuzzy
 msgid "# replies received and matched"
 msgstr "# byte mottagna av typen %d"
 
-#: src/fs/gnunet-service-fs_pr.c:835
+#: src/fs/gnunet-service-fs_pr.c:839
 msgid "# duplicate replies discarded (bloomfilter)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:850
+#: src/fs/gnunet-service-fs_pr.c:854
 #, c-format
 msgid "Unsupported block type %u\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:863
+#: src/fs/gnunet-service-fs_pr.c:867
 msgid "# results found locally"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:984
+#: src/fs/gnunet-service-fs_pr.c:988
 msgid "# Datastore `PUT' failures"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1011
+#: src/fs/gnunet-service-fs_pr.c:1015
 #, fuzzy
 msgid "# storage requests dropped due to high load"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/fs/gnunet-service-fs_pr.c:1046
+#: src/fs/gnunet-service-fs_pr.c:1050
 #, fuzzy
 msgid "# Replies received from DHT"
 msgstr "# byte mottagna via HTTP"
 
-#: src/fs/gnunet-service-fs_pr.c:1137
+#: src/fs/gnunet-service-fs_pr.c:1145
 #, c-format
 msgid "Datastore lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1157
+#: src/fs/gnunet-service-fs_pr.c:1165
 #, c-format
 msgid "On-demand lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1204
+#: src/fs/gnunet-service-fs_pr.c:1212
 msgid "# Datastore lookups concluded (no results)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1219
+#: src/fs/gnunet-service-fs_pr.c:1227
 msgid "# Datastore lookups concluded (seen all)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1228
+#: src/fs/gnunet-service-fs_pr.c:1236
 msgid "# Datastore lookups aborted (more than MAX_RESULTS)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1243
+#: src/fs/gnunet-service-fs_pr.c:1251
 msgid "# requested DBLOCK or IBLOCK not found"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1257
+#: src/fs/gnunet-service-fs_pr.c:1265
 msgid "# on-demand blocks matched requests"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1270
+#: src/fs/gnunet-service-fs_pr.c:1278
 msgid "# on-demand lookups performed successfully"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1275
+#: src/fs/gnunet-service-fs_pr.c:1283
 msgid "# on-demand lookups failed"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1302 src/fs/gnunet-service-fs_pr.c:1342
-#: src/fs/gnunet-service-fs_pr.c:1482
+#: src/fs/gnunet-service-fs_pr.c:1310 src/fs/gnunet-service-fs_pr.c:1350
+#: src/fs/gnunet-service-fs_pr.c:1490
 msgid "# Datastore lookups concluded (error queueing)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1360
+#: src/fs/gnunet-service-fs_pr.c:1368
 msgid "# Datastore lookups concluded (found last result)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1371
+#: src/fs/gnunet-service-fs_pr.c:1379
 msgid "# Datastore lookups concluded (load too high)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1458
+#: src/fs/gnunet-service-fs_pr.c:1466
 msgid "# Datastore lookups initiated"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1543
+#: src/fs/gnunet-service-fs_pr.c:1551
 #, fuzzy
 msgid "# GAP PUT messages received"
 msgstr "# krypterade PONG-meddelanden mottagna"
@@ -3385,151 +3419,177 @@
 msgid "help text"
 msgstr "hjälptext för -t"
 
-#: src/mesh/gnunet-regex-profiler.c:1087
-#: src/testbed/gnunet-testbed-profiler.c:323
+#: src/mesh/gnunet-daemon-regexprofiler.c:209
+#: src/mesh/gnunet-daemon-regexprofiler.c:222
+#: src/mesh/gnunet-daemon-regexprofiler.c:235
+#: src/mesh/gnunet-service-mesh.c:8376 src/mesh/gnunet-service-mesh.c:8388
+#: src/mesh/gnunet-service-mesh.c:8400 src/mesh/gnunet-service-mesh.c:8414
+#: src/mesh/gnunet-service-mesh.c:8426 src/mesh/gnunet-service-mesh.c:8438
+#: src/mesh/gnunet-service-mesh.c:8450 src/mesh/gnunet-service-mesh-new.c:8292
+#: src/mesh/gnunet-service-mesh-new.c:8304
+#: src/mesh/gnunet-service-mesh-new.c:8316
+#: src/mesh/gnunet-service-mesh-new.c:8329
+#: src/mesh/gnunet-service-mesh-new.c:8344
+#: src/mesh/gnunet-service-mesh-new.c:8356
+#: src/mesh/gnunet-service-mesh-new.c:8368
+#, fuzzy, c-format
+msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
+msgstr "GNUnet-konfiguration"
+
+#: src/mesh/gnunet-daemon-regexprofiler.c:298
+msgid "Daemon to announce regular expressions for the peer using mesh."
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1146
+#: src/testbed/gnunet-testbed-profiler.c:320
 msgid "An operation has failed while starting peers\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1141
-#: src/testbed/gnunet-testbed-profiler.c:390
+#: src/mesh/gnunet-regex-profiler.c:1192
+#: src/testbed/gnunet-testbed-profiler.c:389
 #, fuzzy, c-format
 msgid "Creating a peer failed. Error: %s\n"
 msgstr ""
 "\n"
 "Fel vid uppladdning av fil: %s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1268
-#: src/testbed/gnunet-testbed-profiler.c:495
+#: src/mesh/gnunet-regex-profiler.c:1319
+#: src/testbed/gnunet-testbed-profiler.c:494
 msgid "An operation has failed while starting slaves\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1290
+#: src/mesh/gnunet-regex-profiler.c:1341
 #, fuzzy, c-format
 msgid "No files found in `%s'\n"
 msgstr "%d filer hittades i katalog.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1345
+#: src/mesh/gnunet-regex-profiler.c:1396
 msgid "An operation has failed while linking\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1456
-#: src/testbed/gnunet-testbed-profiler.c:597
+#: src/mesh/gnunet-regex-profiler.c:1507
+#: src/testbed/gnunet-testbed-profiler.c:598
 #, c-format
 msgid "Host registration failed for a host. Error: %s\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1536
-#: src/testbed/gnunet-testbed-profiler.c:676
+#: src/mesh/gnunet-regex-profiler.c:1587
+#: src/testbed/gnunet-testbed-profiler.c:677
 msgid "Unable to connect to master controller -- Check config\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1635
+#: src/mesh/gnunet-regex-profiler.c:1686
 #, c-format
 msgid "No hosts-file specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1640
+#: src/mesh/gnunet-regex-profiler.c:1691
 #: src/regex/gnunet-regex-simulation-profiler.c:498
 #, c-format
 msgid "No policy directory specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1646
+#: src/mesh/gnunet-regex-profiler.c:1697
+#: src/testbed/gnunet-testbed-profiler.c:717
 #, c-format
 msgid "No hosts loaded. Need at least one host\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1653
-#: src/testbed/gnunet-testbed-profiler.c:723
+#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/testbed/gnunet-testbed-profiler.c:724
 #, c-format
 msgid "Host %s cannot start testbed\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1660
-#: src/testbed/gnunet-testbed-profiler.c:730
+#: src/mesh/gnunet-regex-profiler.c:1711
+#: src/testbed/gnunet-testbed-profiler.c:731
 #, fuzzy, c-format
 msgid "Exiting\n"
 msgstr ""
 "\n"
 "Avslutar.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1666
+#: src/mesh/gnunet-regex-profiler.c:1717
 #, fuzzy, c-format
 msgid "No configuration file given. Exiting\n"
 msgstr "använd konfigurationsfil FILNAMN"
 
-#: src/mesh/gnunet-regex-profiler.c:1683
+#: src/mesh/gnunet-regex-profiler.c:1726
+#, fuzzy, c-format
+msgid "Configuration option (regex_prefix) missing. Exiting\n"
+msgstr "Konfigurationsfil \"%s\" skapad.\n"
+
+#: src/mesh/gnunet-regex-profiler.c:1744
 #: src/regex/gnunet-regex-simulation-profiler.c:504
 #, c-format
 msgid "Specified policies directory does not exist. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1690
+#: src/mesh/gnunet-regex-profiler.c:1751
 #, c-format
 msgid "No search strings file given. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1698
+#: src/mesh/gnunet-regex-profiler.c:1759
 #, c-format
 msgid ""
 "Error loading search strings. Given file does not contain enough strings. "
 "Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/mesh/gnunet-regex-profiler.c:1765
 #, fuzzy, c-format
 msgid "Error loading search strings. Exiting.\n"
 msgstr "Fel vid lämning av DHT.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1738
+#: src/mesh/gnunet-regex-profiler.c:1799
 #, fuzzy
 msgid "name of the file for writing statistics"
 msgstr "Visa värde av alternativet"
 
-#: src/mesh/gnunet-regex-profiler.c:1741
+#: src/mesh/gnunet-regex-profiler.c:1802
 msgid "create COUNT number of random links between peers"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1744
+#: src/mesh/gnunet-regex-profiler.c:1805
 msgid "wait TIMEOUT before considering a string match as failed"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1747
+#: src/mesh/gnunet-regex-profiler.c:1808
 msgid "wait DELAY before starting string search"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1750
+#: src/mesh/gnunet-regex-profiler.c:1811
 msgid "number of search strings to read from search strings file"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1753
+#: src/mesh/gnunet-regex-profiler.c:1814
 #: src/regex/gnunet-regex-simulation-profiler.c:555
 msgid "maximum path compression length"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1765
+#: src/mesh/gnunet-regex-profiler.c:1817
+msgid ""
+"if this option is set, only one peer is responsible for searching all strings"
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1829
 msgid "Profiler for regex/mesh"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8038
+#: src/mesh/gnunet-service-mesh.c:8082 src/mesh/gnunet-service-mesh-new.c:7998
 msgid "Wrong CORE service\n"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8243
+#: src/mesh/gnunet-service-mesh.c:8287 src/mesh/gnunet-service-mesh-new.c:8203
 #, fuzzy
 msgid "Mesh service could not access hostkey.  Exiting.\n"
 msgstr "Kunde inte komma åt namnrymdsinformation.\n"
 
-#: src/mesh/gnunet-service-mesh.c:8332 src/mesh/gnunet-service-mesh.c:8344
-#: src/mesh/gnunet-service-mesh.c:8356 src/mesh/gnunet-service-mesh.c:8369
-#: src/mesh/gnunet-service-mesh.c:8384 src/mesh/gnunet-service-mesh.c:8396
-#: src/mesh/gnunet-service-mesh.c:8408
+#: src/mesh/gnunet-service-mesh.c:8462 src/mesh/gnunet-service-mesh.c:8473
+#: src/mesh/gnunet-service-mesh-new.c:8380
+#: src/mesh/gnunet-service-mesh-new.c:8391
 #, fuzzy, c-format
-msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
-msgstr "GNUnet-konfiguration"
-
-#: src/mesh/gnunet-service-mesh.c:8420 src/mesh/gnunet-service-mesh.c:8431
-#, fuzzy, c-format
 msgid ""
 "%s service is lacking key configuration settings (%s). Using default (%u).\n"
 msgstr "GNUnet-konfiguration"
@@ -4244,46 +4304,41 @@
 msgid "Could not save some persistent statistics\n"
 msgstr "Kunde inte skapa värdnyckel!\n"
 
-#: src/statistics/statistics_api.c:1053
+#: src/statistics/statistics_api.c:1056
 msgid ""
 "Failed to receive acknowledgement from statistics service, some statistics "
 "might have been lost!\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:705
+#: src/testbed/gnunet-testbed-profiler.c:706
 #, c-format
 msgid "No hosts-file specified on command line\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:716
-#, c-format
-msgid "No hosts loaded. Need atleast one host\n"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:779
+#: src/testbed/gnunet-testbed-profiler.c:780
 msgid "Only `CLIQUE' and `RANDOM' are permitted.\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:794
+#: src/testbed/gnunet-testbed-profiler.c:795
 msgid "create COUNT number of peers"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:797
+#: src/testbed/gnunet-testbed-profiler.c:798
 msgid "create COUNT number of random links"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:800
+#: src/testbed/gnunet-testbed-profiler.c:801
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:803
+#: src/testbed/gnunet-testbed-profiler.c:804
 msgid ""
 "Try to acheive TOPOLOGY. This options takes either CLIQUE or RANDOM. For "
 "CLIQUE the parameter -n is ignored. The default is to acheive a random graph "
 "topology."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:818
+#: src/testbed/gnunet-testbed-profiler.c:819
 msgid "Profiler for testbed"
 msgstr ""
 
@@ -4568,25 +4623,25 @@
 msgid "Transport service is lacking key configuration settings.  Exiting.\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:353
+#: src/transport/gnunet-service-transport_clients.c:388
 #, c-format
 msgid "Dropping message of type %u and size %u, have %u/%u messages pending\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:358
+#: src/transport/gnunet-service-transport_clients.c:393
 msgid "# messages dropped due to slow client"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:510
+#: src/transport/gnunet-service-transport_clients.c:545
 #, c-format
 msgid "Rejecting control connection from peer `%s', which is not me!\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:651
+#: src/transport/gnunet-service-transport_clients.c:686
 msgid "# bytes payload dropped (other peer was not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:702
+#: src/transport/gnunet-service-transport_clients.c:737
 #, fuzzy
 msgid "# REQUEST CONNECT messages received"
 msgstr "# krypterade PONG-meddelanden mottagna"
@@ -4595,115 +4650,115 @@
 msgid "# refreshed my HELLO"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1040
+#: src/transport/gnunet-service-transport_neighbours.c:1042
 #, fuzzy
 msgid "# DISCONNECT messages sent"
 msgstr "# krypterade PONG-meddelanden mottagna"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:1507
+#: src/transport/gnunet-service-transport_neighbours.c:1172
+#: src/transport/gnunet-service-transport_neighbours.c:1509
 msgid "# bytes in message queue for other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1175
+#: src/transport/gnunet-service-transport_neighbours.c:1177
 #, fuzzy
 msgid "# messages transmitted to other peers"
 msgstr "# byte skickade av typen %d"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1180
+#: src/transport/gnunet-service-transport_neighbours.c:1182
 #, fuzzy
 msgid "# transmission failures for messages to other peers"
 msgstr "# byte skickade av typen %d"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1237
+#: src/transport/gnunet-service-transport_neighbours.c:1239
 msgid "# messages timed out while in transport queue"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1279
+#: src/transport/gnunet-service-transport_neighbours.c:1281
 #, fuzzy
 msgid "# keepalives sent"
 msgstr "# sessionsnycklar skickade"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1303
+#: src/transport/gnunet-service-transport_neighbours.c:1305
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (peer unknown)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1313
 #, fuzzy
 msgid "# KEEPALIVE messages discarded (no session)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1348
+#: src/transport/gnunet-service-transport_neighbours.c:1350
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1357
+#: src/transport/gnunet-service-transport_neighbours.c:1359
 #, fuzzy
 msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
 msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1413
+#: src/transport/gnunet-service-transport_neighbours.c:1415
 #, 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:1447
+#: src/transport/gnunet-service-transport_neighbours.c:1449
 msgid "# bandwidth quota violations by other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1463
+#: src/transport/gnunet-service-transport_neighbours.c:1465
 msgid "# ms throttling suggested"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2613
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (no peer)"
 msgstr "skicka ANTAL meddelanden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2626
-#: src/transport/gnunet-service-transport_neighbours.c:2660
+#: src/transport/gnunet-service-transport_neighbours.c:2628
+#: src/transport/gnunet-service-transport_neighbours.c:2662
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (not ready)"
 msgstr "skicka ANTAL meddelanden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2673
+#: src/transport/gnunet-service-transport_neighbours.c:2675
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
 msgstr "skicka ANTAL meddelanden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2706
+#: src/transport/gnunet-service-transport_neighbours.c:2708
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (disconnecting)"
 msgstr "skicka ANTAL meddelanden"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2890
+#: src/transport/gnunet-service-transport_neighbours.c:2892
 #, fuzzy
 msgid "# unexpected SESSION ACK messages"
 msgstr "# krypterade PONG-meddelanden skickade"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2945
+#: src/transport/gnunet-service-transport_neighbours.c:2947
 msgid "# SET QUOTA messages ignored (no such peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2959
+#: src/transport/gnunet-service-transport_neighbours.c:2961
 msgid "# disconnects due to quota of 0"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2990
+#: src/transport/gnunet-service-transport_neighbours.c:2992
 msgid "# disconnect messages ignored (old format)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3001
+#: src/transport/gnunet-service-transport_neighbours.c:3003
 msgid "# disconnect messages ignored (timestamp)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3032
+#: src/transport/gnunet-service-transport_neighbours.c:3034
 msgid "# other peer asked to disconnect from us"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3127
+#: src/transport/gnunet-service-transport_neighbours.c:3129
 #, fuzzy
 msgid "# disconnected from peer upon explicit request"
 msgstr "# av anslutna parter"
@@ -4763,93 +4818,143 @@
 msgid "Adding `%s' without addresses for peer `%s'\n"
 msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
 
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:262
+#, fuzzy, c-format
+msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/transport/gnunet-transport.c:269
+#, c-format
+msgid "Received %llu bytes/s (%llu bytes in %s)\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:285
+#, fuzzy, c-format
+msgid "Failed to connect to `%s'\n"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:388
 msgid "No transport plugins configured, peer will never communicate\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:278
+#: src/transport/gnunet-transport.c:401
 #, c-format
 msgid "No port configured for plugin `%s', cannot test it\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:328
-#, c-format
-msgid "Received %llu bytes/s (%llu bytes in %s)\n"
-msgstr ""
-
-#: src/transport/gnunet-transport.c:336
+#: src/transport/gnunet-transport.c:465
 #, fuzzy, c-format
-msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/transport/gnunet-transport.c:375
-#, fuzzy, c-format
 msgid "Transmitting %u bytes to %s\n"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/transport/gnunet-transport.c:395
+#: src/transport/gnunet-transport.c:490
 #, fuzzy, c-format
-msgid "Connected to %s\n"
-msgstr "\"%s\" ansluten till \"%s\".\n"
+msgid "Successfully connected to `%s'\n"
+msgstr "Åtkomst nekad för \"%s\" vid %s:%d.\n"
 
-#: src/transport/gnunet-transport.c:427
+#: src/transport/gnunet-transport.c:512
+#, c-format
+msgid ""
+"Successfully connected to `%s', starting to send benchmark data in %u Kb "
+"blocks\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:547
 #, fuzzy, c-format
-msgid "Disconnected from %s\n"
+msgid "Disconnected from peer `%s' while benchmarking\n"
 msgstr "\"%s\" ansluten till \"%s\".\n"
 
-#: src/transport/gnunet-transport.c:505
+#: src/transport/gnunet-transport.c:623
 #, c-format
 msgid "Received %u bytes from %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:528
+#: src/transport/gnunet-transport.c:649
 #, fuzzy, c-format
 msgid "Peer `%s': %s %s\n"
 msgstr "Jag är ändpunkt \"%s\".\n"
 
-#: src/transport/gnunet-transport.c:535
+#: src/transport/gnunet-transport.c:658
 #, c-format
 msgid "Peer `%s': %s <unable to resolve address>\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:563
+#: src/transport/gnunet-transport.c:694
 #, fuzzy, c-format
 msgid "Peer `%s' disconnected\n"
 msgstr "# av anslutna parter"
 
-#: src/transport/gnunet-transport.c:632
-#, fuzzy, c-format
-msgid "Failed to parse peer identity `%s'\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+#: src/transport/gnunet-transport.c:724
+#, fuzzy
+msgid "Failed to send connect request to transport service\n"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:715
-msgid "measure how fast we are receiving data (until CTRL-C)"
+#: src/transport/gnunet-transport.c:759
+#, c-format
+msgid ""
+"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
+"%s, %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:718
+#: src/transport/gnunet-transport.c:765
+#, c-format
+msgid ""
+"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:785 src/transport/gnunet-transport.c:815
+#: src/transport/gnunet-transport.c:837 src/transport/gnunet-transport.c:874
 #, fuzzy
-msgid "try to connect to the given peer"
+msgid "Failed to connect to transport service\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:721
+#: src/transport/gnunet-transport.c:792 src/transport/gnunet-transport.c:822
 #, fuzzy
+msgid "Failed to send request to transport service\n"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:842
+msgid "Starting to receive benchmark data\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:924
+msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:927
+#, fuzzy
+msgid "connect to a peer"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:930
+#, fuzzy
 msgid "provide information about all current connections (once)"
 msgstr "Skriv ut information om GNUnets motparter."
 
-#: src/transport/gnunet-transport.c:727
+#: src/transport/gnunet-transport.c:936
 #, fuzzy
+msgid ""
+"provide information about all connects and disconnect events (continuously)"
+msgstr "Skriv ut information om GNUnets motparter."
+
+#: src/transport/gnunet-transport.c:939
+#, fuzzy
 msgid "do not resolve hostnames"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/transport/gnunet-transport.c:731
+#: src/transport/gnunet-transport.c:942
+msgid "peer identity"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:946
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:734
+#: src/transport/gnunet-transport.c:949
 msgid "test transport configuration (involves external server)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:745
+#: src/transport/gnunet-transport.c:960
 #, fuzzy
 msgid "Direct access to transport service."
 msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -5083,8 +5188,8 @@
 
 #: src/transport/plugin_transport_tcp.c:774
 #: src/transport/plugin_transport_tcp.c:963
-#: src/transport/plugin_transport_tcp.c:1816
-#: src/transport/plugin_transport_tcp.c:2435
+#: src/transport/plugin_transport_tcp.c:1817
+#: src/transport/plugin_transport_tcp.c:2436
 #, fuzzy
 msgid "# TCP sessions active"
 msgstr "# sessionsnycklar accepterade"
@@ -5104,49 +5209,49 @@
 msgid "# bytes discarded by TCP (disconnect)"
 msgstr "# byte kastade via TCP (utgående)"
 
-#: src/transport/plugin_transport_tcp.c:1341
+#: src/transport/plugin_transport_tcp.c:1342
 #, c-format
 msgid "Address of unexpected length: %u\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1456
+#: src/transport/plugin_transport_tcp.c:1457
 msgid "# transport-service disconnect requests for TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1857
+#: src/transport/plugin_transport_tcp.c:1858
 #, fuzzy
 msgid "# TCP WELCOME messages received"
 msgstr "# krypterade PONG-meddelanden mottagna"
 
-#: src/transport/plugin_transport_tcp.c:2031
+#: src/transport/plugin_transport_tcp.c:2032
 msgid "# bytes received via TCP"
 msgstr "# byte mottogs via TCP"
 
-#: src/transport/plugin_transport_tcp.c:2101
+#: src/transport/plugin_transport_tcp.c:2102
 msgid "# network-level TCP disconnect events"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2325 src/util/service.c:948
+#: src/transport/plugin_transport_tcp.c:2326 src/util/service.c:948
 #: src/util/service.c:954
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2339
+#: src/transport/plugin_transport_tcp.c:2340
 #, fuzzy
 msgid "Failed to start service.\n"
 msgstr "Misslyckades att starta samling.\n"
 
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:2424
 #, c-format
 msgid "TCP transport listening on port %llu\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2427
+#: src/transport/plugin_transport_tcp.c:2428
 msgid "TCP transport not listening on any port (client only)\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2431
+#: src/transport/plugin_transport_tcp.c:2432
 #, c-format
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
@@ -5277,7 +5382,7 @@
 msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
 msgstr ""
 
-#: src/transport/transport_api.c:598
+#: src/transport/transport_api.c:654
 #, fuzzy, c-format
 msgid "Received unexpected message of type %u in %s:%u\n"
 msgstr "Mottog skadat meddelande från motpart \"%s\"i %s:%d.\n"
@@ -5545,17 +5650,17 @@
 msgid "`%s' failed for drive `%S': %u\n"
 msgstr "\"%s\" misslyckades för enhet %s: %u\n"
 
-#: src/util/disk.c:1136
+#: src/util/disk.c:1171
 #, 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:1490 src/util/service.c:1667
+#: src/util/disk.c:1525 src/util/service.c:1667
 #, fuzzy, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr "Kan inte öppna konfigurationsfil \"%s\".\n"
 
-#: src/util/disk.c:1862
+#: src/util/disk.c:1897
 #, fuzzy, c-format
 msgid "No `%s' specified for service `%s' in configuration.\n"
 msgstr "Inga applikationer definierade i konfiguration!\n"
@@ -5797,14 +5902,14 @@
 "Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
 msgstr ""
 
-#: src/util/os_installation.c:416
+#: src/util/os_installation.c:417
 #, c-format
 msgid ""
 "Could not determine installation path for %s.  Set `%s' environment "
 "variable.\n"
 msgstr ""
 
-#: src/util/os_installation.c:646
+#: src/util/os_installation.c:653
 #, fuzzy, c-format
 msgid "Could not find binary `%s' in PATH!\n"
 msgstr "Kunde inte hitta motpart \"%s\" i routingtabell!\n"
@@ -6300,8 +6405,8 @@
 msgstr "\"%s\" misslyckades för fil \"%s\" vid %s:%d med fel: %s\n"
 
 #, fuzzy
-#~ msgid "list information for the given peer"
-#~ msgstr "Skriv ut information om GNUnets motparter."
+#~ msgid "Connected to %s\n"
+#~ msgstr "\"%s\" ansluten till \"%s\".\n"
 
 #, fuzzy
 #~ msgid "list information for all peers"
@@ -6438,10 +6543,6 @@
 #~ msgstr "Misslyckades att starta samling.\n"
 
 #, fuzzy
-#~ msgid "Configuration option `%s' in section `%s' missing.\n"
-#~ msgstr "Konfigurationsfil \"%s\" skapad.\n"
-
-#, fuzzy
 #~ msgid "Configuration fails to specify `%s', assuming default value."
 #~ msgstr "Konfigurationsfil \"%s\" skapad.\n"
 

Modified: gnunet/po/vi.po
===================================================================
--- gnunet/po/vi.po     2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/vi.po     2012-11-21 20:56:49 UTC (rev 25091)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gnunet 0.8.0a\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-11-05 22:48+0100\n"
+"POT-Creation-Date: 2012-11-14 15:54+0100\n"
 "PO-Revision-Date: 2008-09-10 22:05+0930\n"
 "Last-Translator: Clytie Siddall <address@hidden>\n"
 "Language-Team: Vietnamese <address@hidden>\n"
@@ -134,19 +134,20 @@
 
 #: src/arm/gnunet-arm.c:433
 #, fuzzy
-msgid "timeout for completing current operation"
+msgid "timeout in MSECS milliseconds for completing current operation"
 msgstr "thời gian chờ sự hoàn thành của một lần lặp (theo miligiây)"
 
 #: src/arm/gnunet-arm.c:435
-msgid "List currently running services"
-msgstr ""
+#, fuzzy
+msgid "list currently running services"
+msgstr "Đang nạp và khởi động dùng « %s ».\n"
 
 #: src/arm/gnunet-arm.c:437
-msgid "Don't let gnunet-service-arm inherit standard output"
+msgid "don't let gnunet-service-arm inherit standard output"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:439
-msgid "Don't let gnunet-service-arm inherit standard error"
+msgid "don't let gnunet-service-arm inherit standard error"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:450
@@ -239,45 +240,67 @@
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:67
+#: src/ats-tool/gnunet-ats.c:75
 #, c-format
 msgid ""
 "Peer `%s' plugin `%s', address `%s', bandwidth out: %u Bytes/s, bandwidth in "
 "%u Bytes/s\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:129
+#: src/ats-tool/gnunet-ats.c:137
 #, c-format
 msgid "%u address resolutions had a timeout\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:131
+#: src/ats-tool/gnunet-ats.c:139
 #, c-format
 msgid "ATS returned results for %u addresses\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:142 src/namestore/gnunet-namestore.c:610
-#: src/transport/gnunet-transport.c:617
+#: src/ats-tool/gnunet-ats.c:153 src/namestore/gnunet-namestore.c:610
+#: src/transport/gnunet-transport.c:744
 #, fuzzy, c-format
 msgid "Service `%s' is not running\n"
 msgstr "« %s » không phải là một tập tin.\n"
 
-#: src/ats-tool/gnunet-ats.c:149
+#: src/ats-tool/gnunet-ats.c:162 src/transport/gnunet-transport.c:750
 #, fuzzy, c-format
+msgid "Failed to parse peer identity `%s'\n"
+msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+
+#: src/ats-tool/gnunet-ats.c:167 src/ats-tool/gnunet-ats.c:182
+msgid "Type required\n"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:189 src/ats-tool/gnunet-ats.c:199
+#, fuzzy, c-format
 msgid "Cannot connect to ATS service, exiting...\n"
 msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
 
-#: src/ats-tool/gnunet-ats.c:194
+#: src/ats-tool/gnunet-ats.c:247
 #, fuzzy
 msgid "do not resolve IP addresses to hostnames"
 msgstr "không quyết định các tên máy"
 
-#: src/ats-tool/gnunet-ats.c:197
+#: src/ats-tool/gnunet-ats.c:250
 msgid "monitor mode"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:206
+#: src/ats-tool/gnunet-ats.c:253
 #, fuzzy
+msgid "set preference for the given peer"
+msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#: src/ats-tool/gnunet-ats.c:256
+msgid "preference type to set: latency | bandwidth"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:259
+msgid "preference value"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:268
+#, fuzzy
 msgid "Print information about ATS state"
 msgstr "In ra thông tin về các đồng đẳng GNUnet."
 
@@ -296,17 +319,17 @@
 msgstr "Tôi là đồng đẳng « %s ».\n"
 
 #: src/core/gnunet-core.c:119 src/core/gnunet-core.c:147
-#: src/transport/gnunet-transport.c:453 src/transport/gnunet-transport.c:477
+#: src/transport/gnunet-transport.c:571 src/transport/gnunet-transport.c:595
 #, c-format
 msgid "%24s: %-17s %4s   (%u connections in total)\n"
 msgstr ""
 
-#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:455
+#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:573
 #, fuzzy
 msgid "Connected to"
 msgstr "« %s » được kết nối tới « %s ».\n"
 
-#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:479
+#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:597
 #, fuzzy
 msgid "Disconnected from"
 msgstr "« %.*s » được kết nối tới « %.*s ».\n"
@@ -316,7 +339,7 @@
 msgid "Invalid command line argument `%s'\n"
 msgstr "Đối số không hợp lệ cho « %s ».\n"
 
-#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:724
+#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:933
 #, fuzzy
 msgid "provide information about all current connections (continuously)"
 msgstr "In ra thông tin về các đồng đẳng GNUnet."
@@ -357,7 +380,7 @@
 msgid "# messages discarded (session disconnected)"
 msgstr "# các thông báo được chắp liền"
 
-#: src/core/gnunet-service-core_clients.c:818
+#: src/core/gnunet-service-core_clients.c:518
 #, fuzzy, c-format
 msgid "# bytes of messages of type %u received"
 msgstr "# các byte nhiễu được nhận"
@@ -519,16 +542,16 @@
 
 #: src/core/gnunet-service-core_sessions.c:206
 #: src/core/gnunet-service-core_sessions.c:269
-#: src/dht/gnunet-service-dht_neighbours.c:634
-#: src/dht/gnunet-service-dht_neighbours.c:692
+#: src/dht/gnunet-service-dht_neighbours.c:639
+#: src/dht/gnunet-service-dht_neighbours.c:697
 #: src/fs/gnunet-service-fs_cp.c:630 src/fs/gnunet-service-fs_cp.c:1544
 #: src/topology/gnunet-daemon-topology.c:704
 #: src/topology/gnunet-daemon-topology.c:805
-#: src/transport/gnunet-service-transport_neighbours.c:872
-#: src/transport/gnunet-service-transport_neighbours.c:1089
-#: src/transport/gnunet-service-transport_neighbours.c:1098
-#: src/transport/gnunet-service-transport_neighbours.c:2635
-#: src/transport/gnunet-service-transport_neighbours.c:2897
+#: src/transport/gnunet-service-transport_neighbours.c:874
+#: src/transport/gnunet-service-transport_neighbours.c:1091
+#: src/transport/gnunet-service-transport_neighbours.c:1100
+#: src/transport/gnunet-service-transport_neighbours.c:2637
+#: src/transport/gnunet-service-transport_neighbours.c:2899
 #, fuzzy
 msgid "# peers connected"
 msgstr "# của các đồng đẳng đã kết nối"
@@ -552,40 +575,52 @@
 msgid "# updates to my type map"
 msgstr ""
 
-#: src/datacache/datacache.c:115 src/datacache/datacache.c:250
+#: src/datacache/datacache.c:115 src/datacache/datacache.c:266
 #: src/datastore/gnunet-service-datastore.c:834
 #, fuzzy
 msgid "# bytes stored"
 msgstr "# các byte trong kho dữ liệu"
 
-#: src/datacache/datacache.c:141 src/datacache/datacache.c:148
+#: src/datacache/datacache.c:117 src/datacache/datacache.c:268
+#, fuzzy
+msgid "# items stored"
+msgstr "# các byte trong kho dữ liệu"
+
+#: src/datacache/datacache.c:143 src/datacache/datacache.c:150
 #: src/datastore/gnunet-service-datastore.c:1483
 #: src/datastore/gnunet-service-datastore.c:1494
 #, c-format
 msgid "No `%s' specified for `%s' in configuration!\n"
 msgstr ""
 
-#: src/datacache/datacache.c:180
+#: src/datacache/datacache.c:184
 #, c-format
 msgid "Loading `%s' datacache plugin\n"
 msgstr ""
 
-#: src/datacache/datacache.c:188
+#: src/datacache/datacache.c:192
 #, fuzzy, c-format
 msgid "Failed to load datacache plugin for `%s'\n"
 msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
 
-#: src/datacache/datacache.c:276
+#: src/datacache/datacache.c:295
 #, fuzzy
 msgid "# requests received"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/datacache/datacache.c:284
+#: src/datacache/datacache.c:304
 msgid "# requests filtered by bloom filter"
 msgstr "# các yêu cầu được lọc theo bộ lọc bloom"
 
-#: src/datacache/plugin_datacache_mysql.c:97
-#: src/datacache/plugin_datacache_mysql.c:104
+#: src/datacache/plugin_datacache_heap.c:406
+#, fuzzy
+msgid "Heap datacache running\n"
+msgstr "kho dữ liệu sqlite"
+
+#: src/datacache/plugin_datacache_postgres.c:392
+msgid "Postgres datacache running\n"
+msgstr ""
+
 #: src/datacache/plugin_datacache_sqlite.c:69
 #: src/datacache/plugin_datacache_sqlite.c:72
 #: src/datastore/plugin_datastore_mysql.c:803
@@ -601,30 +636,22 @@
 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"
 
-#: src/datacache/plugin_datacache_mysql.c:450
-msgid "MySQL datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_postgres.c:367
-msgid "Postgres datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_sqlite.c:405
+#: src/datacache/plugin_datacache_sqlite.c:448
 msgid "Sqlite datacache running\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:438
+#: src/datacache/plugin_datacache_sqlite.c:482
 #: src/datastore/plugin_datastore_sqlite.c:401
 #: src/namestore/plugin_namestore_sqlite.c:362
 msgid "Tried to close sqlite without finalizing all prepared statements.\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:445
+#: src/datacache/plugin_datacache_sqlite.c:489
 #, fuzzy, c-format
 msgid "Failed to close statement %p: %d\n"
 msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
 
-#: src/datacache/plugin_datacache_template.c:121
+#: src/datacache/plugin_datacache_template.c:125
 msgid "Template datacache running\n"
 msgstr ""
 
@@ -934,18 +961,18 @@
 msgid "Invalid data in database.  Trying to fix (by deletion).\n"
 msgstr "Dữ liệu sai trong %s. Đang thử sửa chữa (bằng cách xoá).\n"
 
-#: src/datastore/plugin_datastore_sqlite.c:1132
+#: src/datastore/plugin_datastore_sqlite.c:1134
 msgid "sqlite version to old to determine size, assuming zero\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1151
+#: src/datastore/plugin_datastore_sqlite.c:1153
 #, c-format
 msgid ""
 "Using sqlite page utilization to estimate payload (%llu pages of size %llu "
 "bytes)\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1191
+#: src/datastore/plugin_datastore_sqlite.c:1193
 #: src/namestore/plugin_namestore_sqlite.c:827
 #, fuzzy
 msgid "Sqlite database running\n"
@@ -955,7 +982,7 @@
 msgid "Template database running\n"
 msgstr ""
 
-#: src/dht/dht_api.c:348
+#: src/dht/dht_api.c:375
 #, fuzzy
 msgid "Failed to connect to the DHT service!\n"
 msgstr "Lỗi kết nối đến gnunetd.\n"
@@ -1079,78 +1106,82 @@
 msgid "# GET requests from clients injected"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_clients.c:500
+#: src/dht/gnunet-service-dht_clients.c:497
 #, fuzzy
 msgid "# PUT requests received from clients"
 msgstr "# các đáp ứng lỗ hổng được gửi cho trình/máy khách"
 
-#: src/dht/gnunet-service-dht_clients.c:584
+#: src/dht/gnunet-service-dht_clients.c:579
 #, fuzzy
 msgid "# GET requests received from clients"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_clients.c:682
+#: src/dht/gnunet-service-dht_clients.c:775
 #, fuzzy
 msgid "# GET STOP requests received from clients"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_clients.c:919
+#: src/dht/gnunet-service-dht_clients.c:1012
 msgid "# Key match, type mismatches in REPLY to CLIENT"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:932
+#: src/dht/gnunet-service-dht_clients.c:1025
 msgid "# Duplicate REPLIES to CLIENT request dropped"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:967
+#: src/dht/gnunet-service-dht_clients.c:1062
 #, c-format
 msgid "Unsupported block type (%u) in request!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:990
+#: src/dht/gnunet-service-dht_clients.c:1085
 msgid "# RESULTS queued for clients"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1039
-#: src/dht/gnunet-service-dht_clients.c:1082
+#: src/dht/gnunet-service-dht_clients.c:1134
+#: src/dht/gnunet-service-dht_clients.c:1177
 msgid "# REPLIES ignored for CLIENTS (no match)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1049
+#: src/dht/gnunet-service-dht_clients.c:1144
 msgid "Could not pass reply to client, message too big!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:93
+#: src/dht/gnunet-service-dht_datacache.c:64
 #, fuzzy, c-format
 msgid "%s request received, but have no datacache!\n"
 msgstr "# các byte kiểu %d được nhận"
 
-#: src/dht/gnunet-service-dht_datacache.c:103
+#: src/dht/gnunet-service-dht_datacache.c:74
 msgid "# ITEMS stored in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:207
+#: src/dht/gnunet-service-dht_datacache.c:159
 msgid "# Good RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:218
+#: src/dht/gnunet-service-dht_datacache.c:170
 msgid "# Duplicate RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:224
+#: src/dht/gnunet-service-dht_datacache.c:176
 msgid "# Invalid RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:236
+#: src/dht/gnunet-service-dht_datacache.c:182
+msgid "# Irrelevant RESULTS found in datacache"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_datacache.c:194
 msgid "# Unsupported RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:239
+#: src/dht/gnunet-service-dht_datacache.c:197
 #, c-format
 msgid "Unsupported block type (%u) in local response!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:269
+#: src/dht/gnunet-service-dht_datacache.c:227
 #, fuzzy
 msgid "# GET requests given to datacache"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
@@ -1160,103 +1191,103 @@
 msgid "# HELLOs obtained from peerinfo"
 msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n"
 
-#: src/dht/gnunet-service-dht_neighbours.c:490
+#: src/dht/gnunet-service-dht_neighbours.c:495
 msgid "# Preference updates given to core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:580
+#: src/dht/gnunet-service-dht_neighbours.c:585
 #, fuzzy
 msgid "# FIND PEER messages initiated"
 msgstr "# các thông báo PING được tạo"
 
-#: src/dht/gnunet-service-dht_neighbours.c:726
+#: src/dht/gnunet-service-dht_neighbours.c:731
 #, fuzzy
 msgid "# Queued messages discarded (peer disconnected)"
 msgstr "# các thông báo được chắp liền"
 
-#: src/dht/gnunet-service-dht_neighbours.c:781
+#: src/dht/gnunet-service-dht_neighbours.c:786
 #, fuzzy
 msgid "# Bytes transmitted to other peers"
 msgstr "# các byte kiểu %d được gửi "
 
-#: src/dht/gnunet-service-dht_neighbours.c:819
+#: src/dht/gnunet-service-dht_neighbours.c:824
 #, fuzzy
-msgid "# Bytes of bandwdith requested from core"
+msgid "# Bytes of bandwidth requested from core"
 msgstr "# các yêu cầu máy/trình khách lỗ hổng được phun vào"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1041
-#: src/dht/gnunet-service-dht_neighbours.c:1069
+#: src/dht/gnunet-service-dht_neighbours.c:1046
+#: src/dht/gnunet-service-dht_neighbours.c:1074
 msgid "# Peers excluded from routing due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1050
-#: src/dht/gnunet-service-dht_neighbours.c:1084
+#: src/dht/gnunet-service-dht_neighbours.c:1055
+#: src/dht/gnunet-service-dht_neighbours.c:1089
 #, fuzzy
 msgid "# Peer selection failed"
 msgstr "# các cuộc gọi HTTP select (lựa chọn)"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1216
+#: src/dht/gnunet-service-dht_neighbours.c:1223
 #, fuzzy
 msgid "# PUT requests routed"
 msgstr "# các yêu cầu dht được định tuyến"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1245
+#: src/dht/gnunet-service-dht_neighbours.c:1252
 #, fuzzy
 msgid "# PUT messages queued for transmission"
 msgstr "# các thông báo PING được tạo"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1252
-#: src/dht/gnunet-service-dht_neighbours.c:1365
-#: src/dht/gnunet-service-dht_neighbours.c:1465
+#: src/dht/gnunet-service-dht_neighbours.c:1259
+#: src/dht/gnunet-service-dht_neighbours.c:1372
+#: src/dht/gnunet-service-dht_neighbours.c:1472
 #, fuzzy
 msgid "# P2P messages dropped due to full queue"
 msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1330
+#: src/dht/gnunet-service-dht_neighbours.c:1337
 #, fuzzy
 msgid "# GET requests routed"
 msgstr "# các yêu cầu dht được định tuyến"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1357
+#: src/dht/gnunet-service-dht_neighbours.c:1364
 #, fuzzy
 msgid "# GET messages queued for transmission"
 msgstr "# các thông báo PING được tạo"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1472
+#: src/dht/gnunet-service-dht_neighbours.c:1479
 #, fuzzy
 msgid "# RESULT messages queued for transmission"
 msgstr "# các thông báo PING được tạo"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1560
+#: src/dht/gnunet-service-dht_neighbours.c:1567
 #, fuzzy
 msgid "# P2P PUT requests received"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1676
+#: src/dht/gnunet-service-dht_neighbours.c:1694
 #, fuzzy
 msgid "# FIND PEER requests ignored due to Bloomfilter"
 msgstr "# các yêu cầu được lọc theo bộ lọc bloom"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1684
+#: src/dht/gnunet-service-dht_neighbours.c:1702
 msgid "# FIND PEER requests ignored due to lack of HELLO"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1775
+#: src/dht/gnunet-service-dht_neighbours.c:1793
 #, fuzzy
 msgid "# P2P GET requests received"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1817
+#: src/dht/gnunet-service-dht_neighbours.c:1835
 #, fuzzy
 msgid "# P2P FIND PEER requests processed"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1831
+#: src/dht/gnunet-service-dht_neighbours.c:1849
 #, fuzzy
 msgid "# P2P GET requests ONLY routed"
 msgstr "# các yêu cầu dht được định tuyến"
 
-#: src/dht/gnunet-service-dht_neighbours.c:1905
+#: src/dht/gnunet-service-dht_neighbours.c:1934
 #, fuzzy
 msgid "# P2P RESULTS received"
 msgstr "# Tín hiệu HTTP PUT được nhận"
@@ -1278,19 +1309,23 @@
 msgid "# Invalid REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:238
+#: src/dht/gnunet-service-dht_routing.c:232
+msgid "# Irrelevant REPLIES matched against routing table"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_routing.c:244
 msgid "# Unsupported REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:311
+#: src/dht/gnunet-service-dht_routing.c:317
 msgid "# Entries removed from routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:394
+#: src/dht/gnunet-service-dht_routing.c:400
 msgid "# Entries added to routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:411
+#: src/dht/gnunet-service-dht_routing.c:417
 #, fuzzy
 msgid "# DHT requests combined"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
@@ -2463,7 +2498,7 @@
 msgstr "Tùy chọn « %s » cần thiết khi dùng tùy chọn « %s ».\n"
 
 #: src/fs/gnunet-publish.c:585 src/fs/gnunet-publish.c:592
-#: src/transport/gnunet-transport.c:623
+#: src/transport/gnunet-transport.c:774 src/transport/gnunet-transport.c:804
 #, c-format
 msgid "Option `%s' makes no sense without option `%s'.\n"
 msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy chọn « %s ».\n"
@@ -2799,100 +2834,100 @@
 msgid "# Pending requests created"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:639
+#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:643
 #, fuzzy
 msgid "# Pending requests active"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/fs/gnunet-service-fs_pr.c:802
+#: src/fs/gnunet-service-fs_pr.c:806
 #, fuzzy
 msgid "# replies received and matched"
 msgstr "# các byte kiểu %d được nhận"
 
-#: src/fs/gnunet-service-fs_pr.c:835
+#: src/fs/gnunet-service-fs_pr.c:839
 msgid "# duplicate replies discarded (bloomfilter)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:850
+#: src/fs/gnunet-service-fs_pr.c:854
 #, c-format
 msgid "Unsupported block type %u\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:863
+#: src/fs/gnunet-service-fs_pr.c:867
 #, fuzzy
 msgid "# results found locally"
 msgstr "# nội dung lỗ hổng được tìm cục bộ"
 
-#: src/fs/gnunet-service-fs_pr.c:984
+#: src/fs/gnunet-service-fs_pr.c:988
 msgid "# Datastore `PUT' failures"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1011
+#: src/fs/gnunet-service-fs_pr.c:1015
 #, fuzzy
 msgid "# storage requests dropped due to high load"
 msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
 
-#: src/fs/gnunet-service-fs_pr.c:1046
+#: src/fs/gnunet-service-fs_pr.c:1050
 #, fuzzy
 msgid "# Replies received from DHT"
 msgstr "# các byte đã nhận qua HTTP"
 
-#: src/fs/gnunet-service-fs_pr.c:1137
+#: src/fs/gnunet-service-fs_pr.c:1145
 #, c-format
 msgid "Datastore lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1157
+#: src/fs/gnunet-service-fs_pr.c:1165
 #, c-format
 msgid "On-demand lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1204
+#: src/fs/gnunet-service-fs_pr.c:1212
 msgid "# Datastore lookups concluded (no results)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1219
+#: src/fs/gnunet-service-fs_pr.c:1227
 msgid "# Datastore lookups concluded (seen all)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1228
+#: src/fs/gnunet-service-fs_pr.c:1236
 msgid "# Datastore lookups aborted (more than MAX_RESULTS)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1243
+#: src/fs/gnunet-service-fs_pr.c:1251
 msgid "# requested DBLOCK or IBLOCK not found"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1257
+#: src/fs/gnunet-service-fs_pr.c:1265
 msgid "# on-demand blocks matched requests"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1270
+#: src/fs/gnunet-service-fs_pr.c:1278
 msgid "# on-demand lookups performed successfully"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1275
+#: src/fs/gnunet-service-fs_pr.c:1283
 msgid "# on-demand lookups failed"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1302 src/fs/gnunet-service-fs_pr.c:1342
-#: src/fs/gnunet-service-fs_pr.c:1482
+#: src/fs/gnunet-service-fs_pr.c:1310 src/fs/gnunet-service-fs_pr.c:1350
+#: src/fs/gnunet-service-fs_pr.c:1490
 msgid "# Datastore lookups concluded (error queueing)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1360
+#: src/fs/gnunet-service-fs_pr.c:1368
 msgid "# Datastore lookups concluded (found last result)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1371
+#: src/fs/gnunet-service-fs_pr.c:1379
 msgid "# Datastore lookups concluded (load too high)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1458
+#: src/fs/gnunet-service-fs_pr.c:1466
 msgid "# Datastore lookups initiated"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1543
+#: src/fs/gnunet-service-fs_pr.c:1551
 #, fuzzy
 msgid "# GAP PUT messages received"
 msgstr "# các thông báo PONG đã mật mã được nhận"
@@ -3454,147 +3489,173 @@
 msgid "help text"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1087
-#: src/testbed/gnunet-testbed-profiler.c:323
+#: src/mesh/gnunet-daemon-regexprofiler.c:209
+#: src/mesh/gnunet-daemon-regexprofiler.c:222
+#: src/mesh/gnunet-daemon-regexprofiler.c:235
+#: src/mesh/gnunet-service-mesh.c:8376 src/mesh/gnunet-service-mesh.c:8388
+#: src/mesh/gnunet-service-mesh.c:8400 src/mesh/gnunet-service-mesh.c:8414
+#: src/mesh/gnunet-service-mesh.c:8426 src/mesh/gnunet-service-mesh.c:8438
+#: src/mesh/gnunet-service-mesh.c:8450 src/mesh/gnunet-service-mesh-new.c:8292
+#: src/mesh/gnunet-service-mesh-new.c:8304
+#: src/mesh/gnunet-service-mesh-new.c:8316
+#: src/mesh/gnunet-service-mesh-new.c:8329
+#: src/mesh/gnunet-service-mesh-new.c:8344
+#: src/mesh/gnunet-service-mesh-new.c:8356
+#: src/mesh/gnunet-service-mesh-new.c:8368
+#, fuzzy, c-format
+msgid "%s 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-daemon-regexprofiler.c:298
+msgid "Daemon to announce regular expressions for the peer using mesh."
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1146
+#: src/testbed/gnunet-testbed-profiler.c:320
 msgid "An operation has failed while starting peers\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1141
-#: src/testbed/gnunet-testbed-profiler.c:390
+#: src/mesh/gnunet-regex-profiler.c:1192
+#: src/testbed/gnunet-testbed-profiler.c:389
 #, fuzzy, c-format
 msgid "Creating a peer failed. Error: %s\n"
 msgstr "Gặp lỗi khi tải lên tập tin: %s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1268
-#: src/testbed/gnunet-testbed-profiler.c:495
+#: src/mesh/gnunet-regex-profiler.c:1319
+#: src/testbed/gnunet-testbed-profiler.c:494
 msgid "An operation has failed while starting slaves\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1290
+#: src/mesh/gnunet-regex-profiler.c:1341
 #, fuzzy, c-format
 msgid "No files found in `%s'\n"
 msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1345
+#: src/mesh/gnunet-regex-profiler.c:1396
 msgid "An operation has failed while linking\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1456
-#: src/testbed/gnunet-testbed-profiler.c:597
+#: src/mesh/gnunet-regex-profiler.c:1507
+#: src/testbed/gnunet-testbed-profiler.c:598
 #, c-format
 msgid "Host registration failed for a host. Error: %s\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1536
-#: src/testbed/gnunet-testbed-profiler.c:676
+#: src/mesh/gnunet-regex-profiler.c:1587
+#: src/testbed/gnunet-testbed-profiler.c:677
 msgid "Unable to connect to master controller -- Check config\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1635
+#: src/mesh/gnunet-regex-profiler.c:1686
 #, c-format
 msgid "No hosts-file specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1640
+#: src/mesh/gnunet-regex-profiler.c:1691
 #: src/regex/gnunet-regex-simulation-profiler.c:498
 #, c-format
 msgid "No policy directory specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1646
+#: src/mesh/gnunet-regex-profiler.c:1697
+#: src/testbed/gnunet-testbed-profiler.c:717
 #, c-format
 msgid "No hosts loaded. Need at least one host\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1653
-#: src/testbed/gnunet-testbed-profiler.c:723
+#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/testbed/gnunet-testbed-profiler.c:724
 #, c-format
 msgid "Host %s cannot start testbed\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1660
-#: src/testbed/gnunet-testbed-profiler.c:730
+#: src/mesh/gnunet-regex-profiler.c:1711
+#: src/testbed/gnunet-testbed-profiler.c:731
 #, fuzzy, c-format
 msgid "Exiting\n"
 msgstr "Thoát"
 
-#: src/mesh/gnunet-regex-profiler.c:1666
+#: src/mesh/gnunet-regex-profiler.c:1717
 #, fuzzy, c-format
 msgid "No configuration file given. Exiting\n"
 msgstr "dùng tập tin cấu hình TÊN_TẬP_TIN"
 
-#: src/mesh/gnunet-regex-profiler.c:1683
+#: src/mesh/gnunet-regex-profiler.c:1726
+#, fuzzy, c-format
+msgid "Configuration option (regex_prefix) missing. Exiting\n"
+msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
+
+#: src/mesh/gnunet-regex-profiler.c:1744
 #: src/regex/gnunet-regex-simulation-profiler.c:504
 #, c-format
 msgid "Specified policies directory does not exist. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1690
+#: src/mesh/gnunet-regex-profiler.c:1751
 #, c-format
 msgid "No search strings file given. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1698
+#: src/mesh/gnunet-regex-profiler.c:1759
 #, c-format
 msgid ""
 "Error loading search strings. Given file does not contain enough strings. "
 "Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/mesh/gnunet-regex-profiler.c:1765
 #, fuzzy, c-format
 msgid "Error loading search strings. Exiting.\n"
 msgstr "Gặp lỗi khi tải xuống: %s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1738
+#: src/mesh/gnunet-regex-profiler.c:1799
 #, fuzzy
 msgid "name of the file for writing statistics"
 msgstr "Lỗi lấy thông kê về truyền tải.\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1741
+#: src/mesh/gnunet-regex-profiler.c:1802
 msgid "create COUNT number of random links between peers"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1744
+#: src/mesh/gnunet-regex-profiler.c:1805
 msgid "wait TIMEOUT before considering a string match as failed"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1747
+#: src/mesh/gnunet-regex-profiler.c:1808
 msgid "wait DELAY before starting string search"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1750
+#: src/mesh/gnunet-regex-profiler.c:1811
 msgid "number of search strings to read from search strings file"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1753
+#: src/mesh/gnunet-regex-profiler.c:1814
 #: src/regex/gnunet-regex-simulation-profiler.c:555
 msgid "maximum path compression length"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1765
+#: src/mesh/gnunet-regex-profiler.c:1817
+msgid ""
+"if this option is set, only one peer is responsible for searching all strings"
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1829
 msgid "Profiler for regex/mesh"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8038
+#: src/mesh/gnunet-service-mesh.c:8082 src/mesh/gnunet-service-mesh-new.c:7998
 msgid "Wrong CORE service\n"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8243
+#: src/mesh/gnunet-service-mesh.c:8287 src/mesh/gnunet-service-mesh-new.c:8203
 #, 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"
 
-#: src/mesh/gnunet-service-mesh.c:8332 src/mesh/gnunet-service-mesh.c:8344
-#: src/mesh/gnunet-service-mesh.c:8356 src/mesh/gnunet-service-mesh.c:8369
-#: src/mesh/gnunet-service-mesh.c:8384 src/mesh/gnunet-service-mesh.c:8396
-#: src/mesh/gnunet-service-mesh.c:8408
+#: src/mesh/gnunet-service-mesh.c:8462 src/mesh/gnunet-service-mesh.c:8473
+#: src/mesh/gnunet-service-mesh-new.c:8380
+#: src/mesh/gnunet-service-mesh-new.c:8391
 #, fuzzy, c-format
-msgid "%s 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:8420 src/mesh/gnunet-service-mesh.c:8431
-#, fuzzy, c-format
 msgid ""
 "%s service is lacking key configuration settings (%s). Using default (%u).\n"
 msgstr "Lưu cấu hình ngay bây giờ không?"
@@ -4315,46 +4376,41 @@
 msgid "Could not save some persistent statistics\n"
 msgstr "Không thể tạo miền tên.\n"
 
-#: src/statistics/statistics_api.c:1053
+#: src/statistics/statistics_api.c:1056
 msgid ""
 "Failed to receive acknowledgement from statistics service, some statistics "
 "might have been lost!\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:705
+#: src/testbed/gnunet-testbed-profiler.c:706
 #, c-format
 msgid "No hosts-file specified on command line\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:716
-#, c-format
-msgid "No hosts loaded. Need atleast one host\n"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:779
+#: src/testbed/gnunet-testbed-profiler.c:780
 msgid "Only `CLIQUE' and `RANDOM' are permitted.\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:794
+#: src/testbed/gnunet-testbed-profiler.c:795
 msgid "create COUNT number of peers"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:797
+#: src/testbed/gnunet-testbed-profiler.c:798
 msgid "create COUNT number of random links"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:800
+#: src/testbed/gnunet-testbed-profiler.c:801
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:803
+#: src/testbed/gnunet-testbed-profiler.c:804
 msgid ""
 "Try to acheive TOPOLOGY. This options takes either CLIQUE or RANDOM. For "
 "CLIQUE the parameter -n is ignored. The default is to acheive a random graph "
 "topology."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:818
+#: src/testbed/gnunet-testbed-profiler.c:819
 msgid "Profiler for testbed"
 msgstr ""
 
@@ -4647,26 +4703,26 @@
 msgid "Transport service is lacking key configuration settings.  Exiting.\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:353
+#: src/transport/gnunet-service-transport_clients.c:388
 #, c-format
 msgid "Dropping message of type %u and size %u, have %u/%u messages pending\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:358
+#: src/transport/gnunet-service-transport_clients.c:393
 #, fuzzy
 msgid "# messages dropped due to slow client"
 msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
 
-#: src/transport/gnunet-service-transport_clients.c:510
+#: src/transport/gnunet-service-transport_clients.c:545
 #, c-format
 msgid "Rejecting control connection from peer `%s', which is not me!\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:651
+#: src/transport/gnunet-service-transport_clients.c:686
 msgid "# bytes payload dropped (other peer was not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:702
+#: src/transport/gnunet-service-transport_clients.c:737
 #, fuzzy
 msgid "# REQUEST CONNECT messages received"
 msgstr "# các thông báo PONG đã mật mã được nhận"
@@ -4675,117 +4731,117 @@
 msgid "# refreshed my HELLO"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1040
+#: src/transport/gnunet-service-transport_neighbours.c:1042
 #, 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:1170
-#: src/transport/gnunet-service-transport_neighbours.c:1507
+#: src/transport/gnunet-service-transport_neighbours.c:1172
+#: src/transport/gnunet-service-transport_neighbours.c:1509
 #, 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:1175
+#: src/transport/gnunet-service-transport_neighbours.c:1177
 #, fuzzy
 msgid "# messages transmitted to other peers"
 msgstr "# các byte kiểu %d được gửi "
 
-#: src/transport/gnunet-service-transport_neighbours.c:1180
+#: src/transport/gnunet-service-transport_neighbours.c:1182
 #, 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:1237
+#: src/transport/gnunet-service-transport_neighbours.c:1239
 msgid "# messages timed out while in transport queue"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1279
+#: src/transport/gnunet-service-transport_neighbours.c:1281
 #, fuzzy
 msgid "# keepalives sent"
 msgstr "# các khoá phiên chạy được gửi"
 
-#: src/transport/gnunet-service-transport_neighbours.c:1303
+#: src/transport/gnunet-service-transport_neighbours.c:1305
 #, 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:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1313
 #, 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:1348
+#: src/transport/gnunet-service-transport_neighbours.c:1350
 #, 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:1357
+#: src/transport/gnunet-service-transport_neighbours.c:1359
 #, 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:1413
+#: src/transport/gnunet-service-transport_neighbours.c:1415
 #, 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:1447
+#: src/transport/gnunet-service-transport_neighbours.c:1449
 #, 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:1463
+#: src/transport/gnunet-service-transport_neighbours.c:1465
 msgid "# ms throttling suggested"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2613
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (no peer)"
 msgstr "gửi ĐẾM thông báo"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2626
-#: src/transport/gnunet-service-transport_neighbours.c:2660
+#: src/transport/gnunet-service-transport_neighbours.c:2628
+#: src/transport/gnunet-service-transport_neighbours.c:2662
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (not ready)"
 msgstr "gửi ĐẾM thông báo"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2673
+#: src/transport/gnunet-service-transport_neighbours.c:2675
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
 msgstr "gửi ĐẾM thông báo"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2706
+#: src/transport/gnunet-service-transport_neighbours.c:2708
 #, fuzzy
 msgid "# unexpected CONNECT_ACK messages (disconnecting)"
 msgstr "gửi ĐẾM thông báo"
 
-#: src/transport/gnunet-service-transport_neighbours.c:2890
+#: src/transport/gnunet-service-transport_neighbours.c:2892
 #, 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:2945
+#: src/transport/gnunet-service-transport_neighbours.c:2947
 msgid "# SET QUOTA messages ignored (no such peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2959
+#: src/transport/gnunet-service-transport_neighbours.c:2961
 msgid "# disconnects due to quota of 0"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2990
+#: src/transport/gnunet-service-transport_neighbours.c:2992
 msgid "# disconnect messages ignored (old format)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3001
+#: src/transport/gnunet-service-transport_neighbours.c:3003
 msgid "# disconnect messages ignored (timestamp)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3032
+#: src/transport/gnunet-service-transport_neighbours.c:3034
 msgid "# other peer asked to disconnect from us"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3127
+#: src/transport/gnunet-service-transport_neighbours.c:3129
 #, 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"
@@ -4845,93 +4901,143 @@
 msgid "Adding `%s' without addresses for peer `%s'\n"
 msgstr "Không thể lấy địa chỉ của đồng đẳng « %s ».\n"
 
-#: src/transport/gnunet-transport.c:265
+#: src/transport/gnunet-transport.c:262
+#, fuzzy, c-format
+msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
+msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
+
+#: src/transport/gnunet-transport.c:269
+#, fuzzy, c-format
+msgid "Received %llu bytes/s (%llu bytes in %s)\n"
+msgstr "Nhận yêu cầu định tuyến\n"
+
+#: src/transport/gnunet-transport.c:285
+#, fuzzy, c-format
+msgid "Failed to connect to `%s'\n"
+msgstr "Lỗi kết nối đến gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:388
 msgid "No transport plugins configured, peer will never communicate\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:278
+#: src/transport/gnunet-transport.c:401
 #, c-format
 msgid "No port configured for plugin `%s', cannot test it\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:328
+#: src/transport/gnunet-transport.c:465
 #, fuzzy, c-format
-msgid "Received %llu bytes/s (%llu bytes in %s)\n"
-msgstr "Nhận yêu cầu định tuyến\n"
-
-#: src/transport/gnunet-transport.c:336
-#, fuzzy, c-format
-msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
-msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
-
-#: src/transport/gnunet-transport.c:375
-#, fuzzy, c-format
 msgid "Transmitting %u bytes to %s\n"
 msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
 
-#: src/transport/gnunet-transport.c:395
+#: src/transport/gnunet-transport.c:490
 #, fuzzy, c-format
-msgid "Connected to %s\n"
-msgstr "« %s » được kết nối tới « %s ».\n"
+msgid "Successfully connected to `%s'\n"
+msgstr "Không đủ quyền cho « %s ».\n"
 
-#: src/transport/gnunet-transport.c:427
+#: src/transport/gnunet-transport.c:512
+#, c-format
+msgid ""
+"Successfully connected to `%s', starting to send benchmark data in %u Kb "
+"blocks\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:547
 #, fuzzy, c-format
-msgid "Disconnected from %s\n"
+msgid "Disconnected from peer `%s' while benchmarking\n"
 msgstr "« %.*s » được kết nối tới « %.*s ».\n"
 
-#: src/transport/gnunet-transport.c:505
+#: src/transport/gnunet-transport.c:623
 #, fuzzy, c-format
 msgid "Received %u bytes from %s\n"
 msgstr "Nhận yêu cầu định tuyến\n"
 
-#: src/transport/gnunet-transport.c:528
+#: src/transport/gnunet-transport.c:649
 #, fuzzy, c-format
 msgid "Peer `%s': %s %s\n"
 msgstr "Tôi là đồng đẳng « %s ».\n"
 
-#: src/transport/gnunet-transport.c:535
+#: src/transport/gnunet-transport.c:658
 #, c-format
 msgid "Peer `%s': %s <unable to resolve address>\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:563
+#: src/transport/gnunet-transport.c:694
 #, fuzzy, c-format
 msgid "Peer `%s' disconnected\n"
 msgstr "# của các đồng đẳng đã kết nối"
 
-#: src/transport/gnunet-transport.c:632
-#, fuzzy, c-format
-msgid "Failed to parse peer identity `%s'\n"
-msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+#: src/transport/gnunet-transport.c:724
+#, fuzzy
+msgid "Failed to send connect request to transport service\n"
+msgstr "Lỗi kết nối đến gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:715
-msgid "measure how fast we are receiving data (until CTRL-C)"
+#: src/transport/gnunet-transport.c:759
+#, c-format
+msgid ""
+"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
+"%s, %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:718
+#: src/transport/gnunet-transport.c:765
+#, c-format
+msgid ""
+"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:785 src/transport/gnunet-transport.c:815
+#: src/transport/gnunet-transport.c:837 src/transport/gnunet-transport.c:874
 #, fuzzy
-msgid "try to connect to the given peer"
+msgid "Failed to connect to transport service\n"
 msgstr "Lỗi kết nối đến gnunetd.\n"
 
-#: src/transport/gnunet-transport.c:721
+#: src/transport/gnunet-transport.c:792 src/transport/gnunet-transport.c:822
 #, fuzzy
+msgid "Failed to send request to transport service\n"
+msgstr "Lỗi kết nối đến gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:842
+msgid "Starting to receive benchmark data\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:924
+msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:927
+#, fuzzy
+msgid "connect to a peer"
+msgstr "Lỗi kết nối đến gnunetd.\n"
+
+#: src/transport/gnunet-transport.c:930
+#, fuzzy
 msgid "provide information about all current connections (once)"
 msgstr "In ra thông tin về các đồng đẳng GNUnet."
 
-#: src/transport/gnunet-transport.c:727
+#: src/transport/gnunet-transport.c:936
 #, fuzzy
+msgid ""
+"provide information about all connects and disconnect events (continuously)"
+msgstr "In ra thông tin về các đồng đẳng GNUnet."
+
+#: src/transport/gnunet-transport.c:939
+#, fuzzy
 msgid "do not resolve hostnames"
 msgstr "không quyết định các tên máy"
 
-#: src/transport/gnunet-transport.c:731
+#: src/transport/gnunet-transport.c:942
+msgid "peer identity"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:946
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:734
+#: src/transport/gnunet-transport.c:949
 msgid "test transport configuration (involves external server)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:745
+#: src/transport/gnunet-transport.c:960
 #, fuzzy
 msgid "Direct access to transport service."
 msgstr "Lỗi kết nối đến gnunetd.\n"
@@ -5156,8 +5262,8 @@
 
 #: src/transport/plugin_transport_tcp.c:774
 #: src/transport/plugin_transport_tcp.c:963
-#: src/transport/plugin_transport_tcp.c:1816
-#: src/transport/plugin_transport_tcp.c:2435
+#: src/transport/plugin_transport_tcp.c:1817
+#: src/transport/plugin_transport_tcp.c:2436
 #, fuzzy
 msgid "# TCP sessions active"
 msgstr "# các khoá phiên chạy được chấp nhận"
@@ -5177,49 +5283,49 @@
 msgid "# bytes discarded by TCP (disconnect)"
 msgstr "# các byte loại đi bởi TCP (đi ra)"
 
-#: src/transport/plugin_transport_tcp.c:1341
+#: src/transport/plugin_transport_tcp.c:1342
 #, 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:1456
+#: src/transport/plugin_transport_tcp.c:1457
 msgid "# transport-service disconnect requests for TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1857
+#: src/transport/plugin_transport_tcp.c:1858
 #, 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:2031
+#: src/transport/plugin_transport_tcp.c:2032
 msgid "# bytes received via TCP"
 msgstr "# các byte đã nhận qua TCP"
 
-#: src/transport/plugin_transport_tcp.c:2101
+#: src/transport/plugin_transport_tcp.c:2102
 msgid "# network-level TCP disconnect events"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2325 src/util/service.c:948
+#: src/transport/plugin_transport_tcp.c:2326 src/util/service.c:948
 #: src/util/service.c:954
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2339
+#: src/transport/plugin_transport_tcp.c:2340
 #, fuzzy
 msgid "Failed to start service.\n"
 msgstr "Lỗi bắt đầu thu thập.\n"
 
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:2424
 #, c-format
 msgid "TCP transport listening on port %llu\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2427
+#: src/transport/plugin_transport_tcp.c:2428
 msgid "TCP transport not listening on any port (client only)\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2431
+#: src/transport/plugin_transport_tcp.c:2432
 #, c-format
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
@@ -5350,7 +5456,7 @@
 msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
 msgstr ""
 
-#: src/transport/transport_api.c:598
+#: src/transport/transport_api.c:654
 #, fuzzy, c-format
 msgid "Received unexpected message of type %u in %s:%u\n"
 msgstr "Nhận được thông báo bị hỏng từ đồng đẳng « %s » trong %s:%d.\n"
@@ -5618,17 +5724,17 @@
 msgid "`%s' failed for drive `%S': %u\n"
 msgstr "« %s » thất bại cho ổ đĩa « %s »: %u\n"
 
-#: src/util/disk.c:1136
+#: src/util/disk.c:1171
 #, 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:1490 src/util/service.c:1667
+#: src/util/disk.c:1525 src/util/service.c:1667
 #, 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:1862
+#: src/util/disk.c:1897
 #, c-format
 msgid "No `%s' specified for service `%s' in configuration.\n"
 msgstr ""
@@ -5870,14 +5976,14 @@
 "Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
 msgstr ""
 
-#: src/util/os_installation.c:416
+#: src/util/os_installation.c:417
 #, c-format
 msgid ""
 "Could not determine installation path for %s.  Set `%s' environment "
 "variable.\n"
 msgstr ""
 
-#: src/util/os_installation.c:646
+#: src/util/os_installation.c:653
 #, 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"
@@ -6370,8 +6476,8 @@
 msgstr "« %s » thất bại ở tập tin « %s » tại %s:%d với lỗi: %s\n"
 
 #, fuzzy
-#~ msgid "list information for the given peer"
-#~ msgstr "In ra thông tin về các đồng đẳng GNUnet."
+#~ msgid "Connected to %s\n"
+#~ msgstr "« %s » được kết nối tới « %s ».\n"
 
 #, fuzzy
 #~ msgid "list information for all peers"
@@ -6615,11 +6721,6 @@
 #~ msgstr "Lỗi bắt đầu thu thập.\n"
 
 #, fuzzy
-#~ msgid "Configuration option `%s' in section `%s' missing.\n"
-#~ msgstr ""
-#~ "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
-
-#, fuzzy
 #~ msgid "Configuration fails to specify `%s', assuming default value."
 #~ msgstr "Tập tin cấu hình « %s » đã được ghi.\n"
 

Modified: gnunet/po/zh_CN.po
===================================================================
--- gnunet/po/zh_CN.po  2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/po/zh_CN.po  2012-11-21 20:56:49 UTC (rev 25091)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gnunet-0.8.1\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-11-05 22:48+0100\n"
+"POT-Creation-Date: 2012-11-14 15:54+0100\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"
@@ -126,19 +126,19 @@
 
 #: src/arm/gnunet-arm.c:433
 #, fuzzy
-msgid "timeout for completing current operation"
+msgid "timeout in MSECS milliseconds for completing current operation"
 msgstr "等待一次迭代完成的时间(毫秒)"
 
 #: src/arm/gnunet-arm.c:435
-msgid "List currently running services"
+msgid "list currently running services"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:437
-msgid "Don't let gnunet-service-arm inherit standard output"
+msgid "don't let gnunet-service-arm inherit standard output"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:439
-msgid "Don't let gnunet-service-arm inherit standard error"
+msgid "don't let gnunet-service-arm inherit standard error"
 msgstr ""
 
 #: src/arm/gnunet-arm.c:450
@@ -231,45 +231,67 @@
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:67
+#: src/ats-tool/gnunet-ats.c:75
 #, c-format
 msgid ""
 "Peer `%s' plugin `%s', address `%s', bandwidth out: %u Bytes/s, bandwidth in "
 "%u Bytes/s\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:129
+#: src/ats-tool/gnunet-ats.c:137
 #, c-format
 msgid "%u address resolutions had a timeout\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:131
+#: src/ats-tool/gnunet-ats.c:139
 #, c-format
 msgid "ATS returned results for %u addresses\n"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:142 src/namestore/gnunet-namestore.c:610
-#: src/transport/gnunet-transport.c:617
+#: src/ats-tool/gnunet-ats.c:153 src/namestore/gnunet-namestore.c:610
+#: src/transport/gnunet-transport.c:744
 #, fuzzy, c-format
 msgid "Service `%s' is not running\n"
 msgstr "服务已删除。\n"
 
-#: src/ats-tool/gnunet-ats.c:149
+#: src/ats-tool/gnunet-ats.c:162 src/transport/gnunet-transport.c:750
 #, fuzzy, c-format
+msgid "Failed to parse peer identity `%s'\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/ats-tool/gnunet-ats.c:167 src/ats-tool/gnunet-ats.c:182
+msgid "Type required\n"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:189 src/ats-tool/gnunet-ats.c:199
+#, fuzzy, c-format
 msgid "Cannot connect to ATS service, exiting...\n"
 msgstr "初始化“%s”服务失败。\n"
 
-#: src/ats-tool/gnunet-ats.c:194
+#: src/ats-tool/gnunet-ats.c:247
 #, fuzzy
 msgid "do not resolve IP addresses to hostnames"
 msgstr "GNUnet 现在使用 IP 地址 %s。\n"
 
-#: src/ats-tool/gnunet-ats.c:197
+#: src/ats-tool/gnunet-ats.c:250
 msgid "monitor mode"
 msgstr ""
 
-#: src/ats-tool/gnunet-ats.c:206
+#: src/ats-tool/gnunet-ats.c:253
 #, fuzzy
+msgid "set preference for the given peer"
+msgstr "无法获取有关用户“%s”的信息:%s\n"
+
+#: src/ats-tool/gnunet-ats.c:256
+msgid "preference type to set: latency | bandwidth"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:259
+msgid "preference value"
+msgstr ""
+
+#: src/ats-tool/gnunet-ats.c:268
+#, fuzzy
 msgid "Print information about ATS state"
 msgstr "无法获取有关用户“%s”的信息:%s\n"
 
@@ -288,17 +310,17 @@
 msgstr ""
 
 #: src/core/gnunet-core.c:119 src/core/gnunet-core.c:147
-#: src/transport/gnunet-transport.c:453 src/transport/gnunet-transport.c:477
+#: src/transport/gnunet-transport.c:571 src/transport/gnunet-transport.c:595
 #, c-format
 msgid "%24s: %-17s %4s   (%u connections in total)\n"
 msgstr ""
 
-#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:455
+#: src/core/gnunet-core.c:121 src/transport/gnunet-transport.c:573
 #, fuzzy
 msgid "Connected to"
 msgstr "“%s”已连接到“%s”。\n"
 
-#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:479
+#: src/core/gnunet-core.c:149 src/transport/gnunet-transport.c:597
 #, fuzzy
 msgid "Disconnected from"
 msgstr "“%s”已连接到“%s”。\n"
@@ -308,7 +330,7 @@
 msgid "Invalid command line argument `%s'\n"
 msgstr "“%s”的参数无效。\n"
 
-#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:724
+#: src/core/gnunet-core.c:211 src/transport/gnunet-transport.c:933
 msgid "provide information about all current connections (continuously)"
 msgstr ""
 
@@ -345,7 +367,7 @@
 msgid "# messages discarded (session disconnected)"
 msgstr ""
 
-#: src/core/gnunet-service-core_clients.c:818
+#: src/core/gnunet-service-core_clients.c:518
 #, c-format
 msgid "# bytes of messages of type %u received"
 msgstr ""
@@ -489,16 +511,16 @@
 
 #: src/core/gnunet-service-core_sessions.c:206
 #: src/core/gnunet-service-core_sessions.c:269
-#: src/dht/gnunet-service-dht_neighbours.c:634
-#: src/dht/gnunet-service-dht_neighbours.c:692
+#: src/dht/gnunet-service-dht_neighbours.c:639
+#: src/dht/gnunet-service-dht_neighbours.c:697
 #: src/fs/gnunet-service-fs_cp.c:630 src/fs/gnunet-service-fs_cp.c:1544
 #: src/topology/gnunet-daemon-topology.c:704
 #: src/topology/gnunet-daemon-topology.c:805
-#: src/transport/gnunet-service-transport_neighbours.c:872
-#: src/transport/gnunet-service-transport_neighbours.c:1089
-#: src/transport/gnunet-service-transport_neighbours.c:1098
-#: src/transport/gnunet-service-transport_neighbours.c:2635
-#: src/transport/gnunet-service-transport_neighbours.c:2897
+#: src/transport/gnunet-service-transport_neighbours.c:874
+#: src/transport/gnunet-service-transport_neighbours.c:1091
+#: src/transport/gnunet-service-transport_neighbours.c:1100
+#: src/transport/gnunet-service-transport_neighbours.c:2637
+#: src/transport/gnunet-service-transport_neighbours.c:2899
 msgid "# peers connected"
 msgstr ""
 
@@ -519,38 +541,49 @@
 msgid "# updates to my type map"
 msgstr ""
 
-#: src/datacache/datacache.c:115 src/datacache/datacache.c:250
+#: src/datacache/datacache.c:115 src/datacache/datacache.c:266
 #: src/datastore/gnunet-service-datastore.c:834
 msgid "# bytes stored"
 msgstr ""
 
-#: src/datacache/datacache.c:141 src/datacache/datacache.c:148
+#: src/datacache/datacache.c:117 src/datacache/datacache.c:268
+msgid "# items stored"
+msgstr ""
+
+#: src/datacache/datacache.c:143 src/datacache/datacache.c:150
 #: src/datastore/gnunet-service-datastore.c:1483
 #: src/datastore/gnunet-service-datastore.c:1494
 #, c-format
 msgid "No `%s' specified for `%s' in configuration!\n"
 msgstr ""
 
-#: src/datacache/datacache.c:180
+#: src/datacache/datacache.c:184
 #, c-format
 msgid "Loading `%s' datacache plugin\n"
 msgstr ""
 
-#: src/datacache/datacache.c:188
+#: src/datacache/datacache.c:192
 #, c-format
 msgid "Failed to load datacache plugin for `%s'\n"
 msgstr ""
 
-#: src/datacache/datacache.c:276
+#: src/datacache/datacache.c:295
 msgid "# requests received"
 msgstr ""
 
-#: src/datacache/datacache.c:284
+#: src/datacache/datacache.c:304
 msgid "# requests filtered by bloom filter"
 msgstr ""
 
-#: src/datacache/plugin_datacache_mysql.c:97
-#: src/datacache/plugin_datacache_mysql.c:104
+#: src/datacache/plugin_datacache_heap.c:406
+#, fuzzy
+msgid "Heap datacache running\n"
+msgstr "sqlite 数据仓库"
+
+#: src/datacache/plugin_datacache_postgres.c:392
+msgid "Postgres datacache running\n"
+msgstr ""
+
 #: src/datacache/plugin_datacache_sqlite.c:69
 #: src/datacache/plugin_datacache_sqlite.c:72
 #: src/datastore/plugin_datastore_mysql.c:803
@@ -566,30 +599,22 @@
 msgid "`%s' failed at %s:%d with error: %s\n"
 msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
 
-#: src/datacache/plugin_datacache_mysql.c:450
-msgid "MySQL datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_postgres.c:367
-msgid "Postgres datacache running\n"
-msgstr ""
-
-#: src/datacache/plugin_datacache_sqlite.c:405
+#: src/datacache/plugin_datacache_sqlite.c:448
 msgid "Sqlite datacache running\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:438
+#: src/datacache/plugin_datacache_sqlite.c:482
 #: src/datastore/plugin_datastore_sqlite.c:401
 #: src/namestore/plugin_namestore_sqlite.c:362
 msgid "Tried to close sqlite without finalizing all prepared statements.\n"
 msgstr ""
 
-#: src/datacache/plugin_datacache_sqlite.c:445
+#: src/datacache/plugin_datacache_sqlite.c:489
 #, fuzzy, c-format
 msgid "Failed to close statement %p: %d\n"
 msgstr "解析配置文件“%s”失败\n"
 
-#: src/datacache/plugin_datacache_template.c:121
+#: src/datacache/plugin_datacache_template.c:125
 msgid "Template datacache running\n"
 msgstr ""
 
@@ -871,18 +896,18 @@
 msgid "Invalid data in database.  Trying to fix (by deletion).\n"
 msgstr "%s 中有无效数据。请尝试修复(删除之)。\n"
 
-#: src/datastore/plugin_datastore_sqlite.c:1132
+#: src/datastore/plugin_datastore_sqlite.c:1134
 msgid "sqlite version to old to determine size, assuming zero\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1151
+#: src/datastore/plugin_datastore_sqlite.c:1153
 #, c-format
 msgid ""
 "Using sqlite page utilization to estimate payload (%llu pages of size %llu "
 "bytes)\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_sqlite.c:1191
+#: src/datastore/plugin_datastore_sqlite.c:1193
 #: src/namestore/plugin_namestore_sqlite.c:827
 #, fuzzy
 msgid "Sqlite database running\n"
@@ -892,7 +917,7 @@
 msgid "Template database running\n"
 msgstr ""
 
-#: src/dht/dht_api.c:348
+#: src/dht/dht_api.c:375
 #, fuzzy
 msgid "Failed to connect to the DHT service!\n"
 msgstr "初始化“%s”服务失败。\n"
@@ -1013,75 +1038,79 @@
 msgid "# GET requests from clients injected"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:500
+#: src/dht/gnunet-service-dht_clients.c:497
 msgid "# PUT requests received from clients"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:584
+#: src/dht/gnunet-service-dht_clients.c:579
 msgid "# GET requests received from clients"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:682
+#: src/dht/gnunet-service-dht_clients.c:775
 msgid "# GET STOP requests received from clients"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:919
+#: src/dht/gnunet-service-dht_clients.c:1012
 msgid "# Key match, type mismatches in REPLY to CLIENT"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:932
+#: src/dht/gnunet-service-dht_clients.c:1025
 msgid "# Duplicate REPLIES to CLIENT request dropped"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:967
+#: src/dht/gnunet-service-dht_clients.c:1062
 #, c-format
 msgid "Unsupported block type (%u) in request!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:990
+#: src/dht/gnunet-service-dht_clients.c:1085
 msgid "# RESULTS queued for clients"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1039
-#: src/dht/gnunet-service-dht_clients.c:1082
+#: src/dht/gnunet-service-dht_clients.c:1134
+#: src/dht/gnunet-service-dht_clients.c:1177
 msgid "# REPLIES ignored for CLIENTS (no match)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:1049
+#: src/dht/gnunet-service-dht_clients.c:1144
 msgid "Could not pass reply to client, message too big!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:93
+#: src/dht/gnunet-service-dht_datacache.c:64
 #, c-format
 msgid "%s request received, but have no datacache!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:103
+#: src/dht/gnunet-service-dht_datacache.c:74
 msgid "# ITEMS stored in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:207
+#: src/dht/gnunet-service-dht_datacache.c:159
 msgid "# Good RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:218
+#: src/dht/gnunet-service-dht_datacache.c:170
 msgid "# Duplicate RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:224
+#: src/dht/gnunet-service-dht_datacache.c:176
 msgid "# Invalid RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:236
+#: src/dht/gnunet-service-dht_datacache.c:182
+msgid "# Irrelevant RESULTS found in datacache"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_datacache.c:194
 msgid "# Unsupported RESULTS found in datacache"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:239
+#: src/dht/gnunet-service-dht_datacache.c:197
 #, c-format
 msgid "Unsupported block type (%u) in local response!\n"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_datacache.c:269
+#: src/dht/gnunet-service-dht_datacache.c:227
 msgid "# GET requests given to datacache"
 msgstr ""
 
@@ -1089,87 +1118,87 @@
 msgid "# HELLOs obtained from peerinfo"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:490
+#: src/dht/gnunet-service-dht_neighbours.c:495
 msgid "# Preference updates given to core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:580
+#: src/dht/gnunet-service-dht_neighbours.c:585
 msgid "# FIND PEER messages initiated"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:726
+#: src/dht/gnunet-service-dht_neighbours.c:731
 msgid "# Queued messages discarded (peer disconnected)"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:781
+#: src/dht/gnunet-service-dht_neighbours.c:786
 msgid "# Bytes transmitted to other peers"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:819
-msgid "# Bytes of bandwdith requested from core"
+#: src/dht/gnunet-service-dht_neighbours.c:824
+msgid "# Bytes of bandwidth requested from core"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1041
-#: src/dht/gnunet-service-dht_neighbours.c:1069
+#: src/dht/gnunet-service-dht_neighbours.c:1046
+#: src/dht/gnunet-service-dht_neighbours.c:1074
 msgid "# Peers excluded from routing due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1050
-#: src/dht/gnunet-service-dht_neighbours.c:1084
+#: src/dht/gnunet-service-dht_neighbours.c:1055
+#: src/dht/gnunet-service-dht_neighbours.c:1089
 msgid "# Peer selection failed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1216
+#: src/dht/gnunet-service-dht_neighbours.c:1223
 msgid "# PUT requests routed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1245
+#: src/dht/gnunet-service-dht_neighbours.c:1252
 msgid "# PUT messages queued for transmission"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1252
-#: src/dht/gnunet-service-dht_neighbours.c:1365
-#: src/dht/gnunet-service-dht_neighbours.c:1465
+#: src/dht/gnunet-service-dht_neighbours.c:1259
+#: src/dht/gnunet-service-dht_neighbours.c:1372
+#: src/dht/gnunet-service-dht_neighbours.c:1472
 msgid "# P2P messages dropped due to full queue"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1330
+#: src/dht/gnunet-service-dht_neighbours.c:1337
 msgid "# GET requests routed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1357
+#: src/dht/gnunet-service-dht_neighbours.c:1364
 msgid "# GET messages queued for transmission"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1472
+#: src/dht/gnunet-service-dht_neighbours.c:1479
 msgid "# RESULT messages queued for transmission"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1560
+#: src/dht/gnunet-service-dht_neighbours.c:1567
 msgid "# P2P PUT requests received"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1676
+#: src/dht/gnunet-service-dht_neighbours.c:1694
 msgid "# FIND PEER requests ignored due to Bloomfilter"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1684
+#: src/dht/gnunet-service-dht_neighbours.c:1702
 msgid "# FIND PEER requests ignored due to lack of HELLO"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1775
+#: src/dht/gnunet-service-dht_neighbours.c:1793
 msgid "# P2P GET requests received"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1817
+#: src/dht/gnunet-service-dht_neighbours.c:1835
 msgid "# P2P FIND PEER requests processed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1831
+#: src/dht/gnunet-service-dht_neighbours.c:1849
 msgid "# P2P GET requests ONLY routed"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_neighbours.c:1905
+#: src/dht/gnunet-service-dht_neighbours.c:1934
 msgid "# P2P RESULTS received"
 msgstr ""
 
@@ -1189,19 +1218,23 @@
 msgid "# Invalid REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:238
+#: src/dht/gnunet-service-dht_routing.c:232
+msgid "# Irrelevant REPLIES matched against routing table"
+msgstr ""
+
+#: src/dht/gnunet-service-dht_routing.c:244
 msgid "# Unsupported REPLIES matched against routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:311
+#: src/dht/gnunet-service-dht_routing.c:317
 msgid "# Entries removed from routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:394
+#: src/dht/gnunet-service-dht_routing.c:400
 msgid "# Entries added to routing table"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_routing.c:411
+#: src/dht/gnunet-service-dht_routing.c:417
 msgid "# DHT requests combined"
 msgstr ""
 
@@ -2327,7 +2360,7 @@
 msgstr ""
 
 #: src/fs/gnunet-publish.c:585 src/fs/gnunet-publish.c:592
-#: src/transport/gnunet-transport.c:623
+#: src/transport/gnunet-transport.c:774 src/transport/gnunet-transport.c:804
 #, c-format
 msgid "Option `%s' makes no sense without option `%s'.\n"
 msgstr ""
@@ -2622,95 +2655,95 @@
 msgid "# Pending requests created"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:639
+#: src/fs/gnunet-service-fs_pr.c:385 src/fs/gnunet-service-fs_pr.c:643
 msgid "# Pending requests active"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:802
+#: src/fs/gnunet-service-fs_pr.c:806
 msgid "# replies received and matched"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:835
+#: src/fs/gnunet-service-fs_pr.c:839
 msgid "# duplicate replies discarded (bloomfilter)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:850
+#: src/fs/gnunet-service-fs_pr.c:854
 #, c-format
 msgid "Unsupported block type %u\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:863
+#: src/fs/gnunet-service-fs_pr.c:867
 msgid "# results found locally"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:984
+#: src/fs/gnunet-service-fs_pr.c:988
 msgid "# Datastore `PUT' failures"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1011
+#: src/fs/gnunet-service-fs_pr.c:1015
 msgid "# storage requests dropped due to high load"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1046
+#: src/fs/gnunet-service-fs_pr.c:1050
 msgid "# Replies received from DHT"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1137
+#: src/fs/gnunet-service-fs_pr.c:1145
 #, c-format
 msgid "Datastore lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1157
+#: src/fs/gnunet-service-fs_pr.c:1165
 #, c-format
 msgid "On-demand lookup already took %s!\n"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1204
+#: src/fs/gnunet-service-fs_pr.c:1212
 msgid "# Datastore lookups concluded (no results)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1219
+#: src/fs/gnunet-service-fs_pr.c:1227
 msgid "# Datastore lookups concluded (seen all)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1228
+#: src/fs/gnunet-service-fs_pr.c:1236
 msgid "# Datastore lookups aborted (more than MAX_RESULTS)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1243
+#: src/fs/gnunet-service-fs_pr.c:1251
 msgid "# requested DBLOCK or IBLOCK not found"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1257
+#: src/fs/gnunet-service-fs_pr.c:1265
 msgid "# on-demand blocks matched requests"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1270
+#: src/fs/gnunet-service-fs_pr.c:1278
 msgid "# on-demand lookups performed successfully"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1275
+#: src/fs/gnunet-service-fs_pr.c:1283
 msgid "# on-demand lookups failed"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1302 src/fs/gnunet-service-fs_pr.c:1342
-#: src/fs/gnunet-service-fs_pr.c:1482
+#: src/fs/gnunet-service-fs_pr.c:1310 src/fs/gnunet-service-fs_pr.c:1350
+#: src/fs/gnunet-service-fs_pr.c:1490
 msgid "# Datastore lookups concluded (error queueing)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1360
+#: src/fs/gnunet-service-fs_pr.c:1368
 msgid "# Datastore lookups concluded (found last result)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1371
+#: src/fs/gnunet-service-fs_pr.c:1379
 msgid "# Datastore lookups concluded (load too high)"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1458
+#: src/fs/gnunet-service-fs_pr.c:1466
 msgid "# Datastore lookups initiated"
 msgstr ""
 
-#: src/fs/gnunet-service-fs_pr.c:1543
+#: src/fs/gnunet-service-fs_pr.c:1551
 msgid "# GAP PUT messages received"
 msgstr ""
 
@@ -3248,147 +3281,173 @@
 msgid "help text"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1087
-#: src/testbed/gnunet-testbed-profiler.c:323
+#: src/mesh/gnunet-daemon-regexprofiler.c:209
+#: src/mesh/gnunet-daemon-regexprofiler.c:222
+#: src/mesh/gnunet-daemon-regexprofiler.c:235
+#: src/mesh/gnunet-service-mesh.c:8376 src/mesh/gnunet-service-mesh.c:8388
+#: src/mesh/gnunet-service-mesh.c:8400 src/mesh/gnunet-service-mesh.c:8414
+#: src/mesh/gnunet-service-mesh.c:8426 src/mesh/gnunet-service-mesh.c:8438
+#: src/mesh/gnunet-service-mesh.c:8450 src/mesh/gnunet-service-mesh-new.c:8292
+#: src/mesh/gnunet-service-mesh-new.c:8304
+#: src/mesh/gnunet-service-mesh-new.c:8316
+#: src/mesh/gnunet-service-mesh-new.c:8329
+#: src/mesh/gnunet-service-mesh-new.c:8344
+#: src/mesh/gnunet-service-mesh-new.c:8356
+#: src/mesh/gnunet-service-mesh-new.c:8368
+#, fuzzy, c-format
+msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
+msgstr "立即保存配置?"
+
+#: src/mesh/gnunet-daemon-regexprofiler.c:298
+msgid "Daemon to announce regular expressions for the peer using mesh."
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1146
+#: src/testbed/gnunet-testbed-profiler.c:320
 msgid "An operation has failed while starting peers\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1141
-#: src/testbed/gnunet-testbed-profiler.c:390
+#: src/mesh/gnunet-regex-profiler.c:1192
+#: src/testbed/gnunet-testbed-profiler.c:389
 #, fuzzy, c-format
 msgid "Creating a peer failed. Error: %s\n"
 msgstr "“%s”以错误码 %d 失败:%s\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1268
-#: src/testbed/gnunet-testbed-profiler.c:495
+#: src/mesh/gnunet-regex-profiler.c:1319
+#: src/testbed/gnunet-testbed-profiler.c:494
 msgid "An operation has failed while starting slaves\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1290
+#: src/mesh/gnunet-regex-profiler.c:1341
 #, fuzzy, c-format
 msgid "No files found in `%s'\n"
 msgstr "运行 %s失败:%s %d\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1345
+#: src/mesh/gnunet-regex-profiler.c:1396
 msgid "An operation has failed while linking\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1456
-#: src/testbed/gnunet-testbed-profiler.c:597
+#: src/mesh/gnunet-regex-profiler.c:1507
+#: src/testbed/gnunet-testbed-profiler.c:598
 #, c-format
 msgid "Host registration failed for a host. Error: %s\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1536
-#: src/testbed/gnunet-testbed-profiler.c:676
+#: src/mesh/gnunet-regex-profiler.c:1587
+#: src/testbed/gnunet-testbed-profiler.c:677
 msgid "Unable to connect to master controller -- Check config\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1635
+#: src/mesh/gnunet-regex-profiler.c:1686
 #, c-format
 msgid "No hosts-file specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1640
+#: src/mesh/gnunet-regex-profiler.c:1691
 #: src/regex/gnunet-regex-simulation-profiler.c:498
 #, c-format
 msgid "No policy directory specified on command line. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1646
+#: src/mesh/gnunet-regex-profiler.c:1697
+#: src/testbed/gnunet-testbed-profiler.c:717
 #, c-format
 msgid "No hosts loaded. Need at least one host\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1653
-#: src/testbed/gnunet-testbed-profiler.c:723
+#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/testbed/gnunet-testbed-profiler.c:724
 #, c-format
 msgid "Host %s cannot start testbed\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1660
-#: src/testbed/gnunet-testbed-profiler.c:730
+#: src/mesh/gnunet-regex-profiler.c:1711
+#: src/testbed/gnunet-testbed-profiler.c:731
 #, fuzzy, c-format
 msgid "Exiting\n"
 msgstr "退出"
 
-#: src/mesh/gnunet-regex-profiler.c:1666
+#: src/mesh/gnunet-regex-profiler.c:1717
 #, c-format
 msgid "No configuration file given. Exiting\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1683
+#: src/mesh/gnunet-regex-profiler.c:1726
+#, fuzzy, c-format
+msgid "Configuration option (regex_prefix) missing. Exiting\n"
+msgstr "配置文件“%s”已写入。\n"
+
+#: src/mesh/gnunet-regex-profiler.c:1744
 #: src/regex/gnunet-regex-simulation-profiler.c:504
 #, c-format
 msgid "Specified policies directory does not exist. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1690
+#: src/mesh/gnunet-regex-profiler.c:1751
 #, c-format
 msgid "No search strings file given. Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1698
+#: src/mesh/gnunet-regex-profiler.c:1759
 #, c-format
 msgid ""
 "Error loading search strings. Given file does not contain enough strings. "
 "Exiting.\n"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1704
+#: src/mesh/gnunet-regex-profiler.c:1765
 #, fuzzy, c-format
 msgid "Error loading search strings. Exiting.\n"
 msgstr "创建用户出错"
 
-#: src/mesh/gnunet-regex-profiler.c:1738
+#: src/mesh/gnunet-regex-profiler.c:1799
 #, fuzzy
 msgid "name of the file for writing statistics"
 msgstr "初始化“%s”服务失败。\n"
 
-#: src/mesh/gnunet-regex-profiler.c:1741
+#: src/mesh/gnunet-regex-profiler.c:1802
 msgid "create COUNT number of random links between peers"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1744
+#: src/mesh/gnunet-regex-profiler.c:1805
 msgid "wait TIMEOUT before considering a string match as failed"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1747
+#: src/mesh/gnunet-regex-profiler.c:1808
 msgid "wait DELAY before starting string search"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1750
+#: src/mesh/gnunet-regex-profiler.c:1811
 msgid "number of search strings to read from search strings file"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1753
+#: src/mesh/gnunet-regex-profiler.c:1814
 #: src/regex/gnunet-regex-simulation-profiler.c:555
 msgid "maximum path compression length"
 msgstr ""
 
-#: src/mesh/gnunet-regex-profiler.c:1765
+#: src/mesh/gnunet-regex-profiler.c:1817
+msgid ""
+"if this option is set, only one peer is responsible for searching all strings"
+msgstr ""
+
+#: src/mesh/gnunet-regex-profiler.c:1829
 msgid "Profiler for regex/mesh"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8038
+#: src/mesh/gnunet-service-mesh.c:8082 src/mesh/gnunet-service-mesh-new.c:7998
 msgid "Wrong CORE service\n"
 msgstr ""
 
-#: src/mesh/gnunet-service-mesh.c:8243
+#: src/mesh/gnunet-service-mesh.c:8287 src/mesh/gnunet-service-mesh-new.c:8203
 #, fuzzy
 msgid "Mesh service could not access hostkey.  Exiting.\n"
 msgstr "找不到接口“%s”的一个 IP 地址。\n"
 
-#: src/mesh/gnunet-service-mesh.c:8332 src/mesh/gnunet-service-mesh.c:8344
-#: src/mesh/gnunet-service-mesh.c:8356 src/mesh/gnunet-service-mesh.c:8369
-#: src/mesh/gnunet-service-mesh.c:8384 src/mesh/gnunet-service-mesh.c:8396
-#: src/mesh/gnunet-service-mesh.c:8408
+#: src/mesh/gnunet-service-mesh.c:8462 src/mesh/gnunet-service-mesh.c:8473
+#: src/mesh/gnunet-service-mesh-new.c:8380
+#: src/mesh/gnunet-service-mesh-new.c:8391
 #, fuzzy, c-format
-msgid "%s service is lacking key configuration settings (%s).  Exiting.\n"
-msgstr "立即保存配置?"
-
-#: src/mesh/gnunet-service-mesh.c:8420 src/mesh/gnunet-service-mesh.c:8431
-#, fuzzy, c-format
 msgid ""
 "%s service is lacking key configuration settings (%s). Using default (%u).\n"
 msgstr "立即保存配置?"
@@ -4084,46 +4143,41 @@
 msgid "Could not save some persistent statistics\n"
 msgstr "初始化“%s”服务失败。\n"
 
-#: src/statistics/statistics_api.c:1053
+#: src/statistics/statistics_api.c:1056
 msgid ""
 "Failed to receive acknowledgement from statistics service, some statistics "
 "might have been lost!\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:705
+#: src/testbed/gnunet-testbed-profiler.c:706
 #, c-format
 msgid "No hosts-file specified on command line\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:716
-#, c-format
-msgid "No hosts loaded. Need atleast one host\n"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:779
+#: src/testbed/gnunet-testbed-profiler.c:780
 msgid "Only `CLIQUE' and `RANDOM' are permitted.\n"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:794
+#: src/testbed/gnunet-testbed-profiler.c:795
 msgid "create COUNT number of peers"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:797
+#: src/testbed/gnunet-testbed-profiler.c:798
 msgid "create COUNT number of random links"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:800
+#: src/testbed/gnunet-testbed-profiler.c:801
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:803
+#: src/testbed/gnunet-testbed-profiler.c:804
 msgid ""
 "Try to acheive TOPOLOGY. This options takes either CLIQUE or RANDOM. For "
 "CLIQUE the parameter -n is ignored. The default is to acheive a random graph "
 "topology."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:818
+#: src/testbed/gnunet-testbed-profiler.c:819
 msgid "Profiler for testbed"
 msgstr ""
 
@@ -4406,25 +4460,25 @@
 msgid "Transport service is lacking key configuration settings.  Exiting.\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:353
+#: src/transport/gnunet-service-transport_clients.c:388
 #, c-format
 msgid "Dropping message of type %u and size %u, have %u/%u messages pending\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:358
+#: src/transport/gnunet-service-transport_clients.c:393
 msgid "# messages dropped due to slow client"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:510
+#: src/transport/gnunet-service-transport_clients.c:545
 #, c-format
 msgid "Rejecting control connection from peer `%s', which is not me!\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:651
+#: src/transport/gnunet-service-transport_clients.c:686
 msgid "# bytes payload dropped (other peer was not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_clients.c:702
+#: src/transport/gnunet-service-transport_clients.c:737
 msgid "# REQUEST CONNECT messages received"
 msgstr ""
 
@@ -4432,101 +4486,101 @@
 msgid "# refreshed my HELLO"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1040
+#: src/transport/gnunet-service-transport_neighbours.c:1042
 msgid "# DISCONNECT messages sent"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1170
-#: src/transport/gnunet-service-transport_neighbours.c:1507
+#: src/transport/gnunet-service-transport_neighbours.c:1172
+#: src/transport/gnunet-service-transport_neighbours.c:1509
 msgid "# bytes in message queue for other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1175
+#: src/transport/gnunet-service-transport_neighbours.c:1177
 msgid "# messages transmitted to other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1180
+#: src/transport/gnunet-service-transport_neighbours.c:1182
 msgid "# transmission failures for messages to other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1237
+#: src/transport/gnunet-service-transport_neighbours.c:1239
 msgid "# messages timed out while in transport queue"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1279
+#: src/transport/gnunet-service-transport_neighbours.c:1281
 msgid "# keepalives sent"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1303
+#: src/transport/gnunet-service-transport_neighbours.c:1305
 msgid "# KEEPALIVE messages discarded (peer unknown)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1311
+#: src/transport/gnunet-service-transport_neighbours.c:1313
 msgid "# KEEPALIVE messages discarded (no session)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1348
+#: src/transport/gnunet-service-transport_neighbours.c:1350
 msgid "# KEEPALIVE_RESPONSE messages discarded (not connected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1357
+#: src/transport/gnunet-service-transport_neighbours.c:1359
 msgid "# KEEPALIVE_RESPONSE messages discarded (not expected)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1413
+#: src/transport/gnunet-service-transport_neighbours.c:1415
 msgid "# messages discarded due to lack of neighbour record"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1447
+#: src/transport/gnunet-service-transport_neighbours.c:1449
 msgid "# bandwidth quota violations by other peers"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:1463
+#: src/transport/gnunet-service-transport_neighbours.c:1465
 msgid "# ms throttling suggested"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2611
+#: src/transport/gnunet-service-transport_neighbours.c:2613
 msgid "# unexpected CONNECT_ACK messages (no peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2626
-#: src/transport/gnunet-service-transport_neighbours.c:2660
+#: src/transport/gnunet-service-transport_neighbours.c:2628
+#: src/transport/gnunet-service-transport_neighbours.c:2662
 msgid "# unexpected CONNECT_ACK messages (not ready)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2673
+#: src/transport/gnunet-service-transport_neighbours.c:2675
 msgid "# unexpected CONNECT_ACK messages (waiting on ATS)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2706
+#: src/transport/gnunet-service-transport_neighbours.c:2708
 msgid "# unexpected CONNECT_ACK messages (disconnecting)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2890
+#: src/transport/gnunet-service-transport_neighbours.c:2892
 msgid "# unexpected SESSION ACK messages"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2945
+#: src/transport/gnunet-service-transport_neighbours.c:2947
 msgid "# SET QUOTA messages ignored (no such peer)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2959
+#: src/transport/gnunet-service-transport_neighbours.c:2961
 msgid "# disconnects due to quota of 0"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:2990
+#: src/transport/gnunet-service-transport_neighbours.c:2992
 msgid "# disconnect messages ignored (old format)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3001
+#: src/transport/gnunet-service-transport_neighbours.c:3003
 msgid "# disconnect messages ignored (timestamp)"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3032
+#: src/transport/gnunet-service-transport_neighbours.c:3034
 msgid "# other peer asked to disconnect from us"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_neighbours.c:3127
+#: src/transport/gnunet-service-transport_neighbours.c:3129
 msgid "# disconnected from peer upon explicit request"
 msgstr ""
 
@@ -4583,93 +4637,142 @@
 msgid "Adding `%s' without addresses for peer `%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:265
-msgid "No transport plugins configured, peer will never communicate\n"
-msgstr ""
-
-#: src/transport/gnunet-transport.c:278
+#: src/transport/gnunet-transport.c:262
 #, c-format
-msgid "No port configured for plugin `%s', cannot test it\n"
+msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:328
+#: src/transport/gnunet-transport.c:269
 #, c-format
 msgid "Received %llu bytes/s (%llu bytes in %s)\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:336
+#: src/transport/gnunet-transport.c:285
+#, fuzzy, c-format
+msgid "Failed to connect to `%s'\n"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/transport/gnunet-transport.c:388
+msgid "No transport plugins configured, peer will never communicate\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:401
 #, c-format
-msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
+msgid "No port configured for plugin `%s', cannot test it\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:375
+#: src/transport/gnunet-transport.c:465
 #, c-format
 msgid "Transmitting %u bytes to %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:395
+#: src/transport/gnunet-transport.c:490
 #, fuzzy, c-format
-msgid "Connected to %s\n"
+msgid "Successfully connected to `%s'\n"
 msgstr "“%s”已连接到“%s”。\n"
 
-#: src/transport/gnunet-transport.c:427
+#: src/transport/gnunet-transport.c:512
+#, c-format
+msgid ""
+"Successfully connected to `%s', starting to send benchmark data in %u Kb "
+"blocks\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:547
 #, fuzzy, c-format
-msgid "Disconnected from %s\n"
+msgid "Disconnected from peer `%s' while benchmarking\n"
 msgstr "“%s”已连接到“%s”。\n"
 
-#: src/transport/gnunet-transport.c:505
+#: src/transport/gnunet-transport.c:623
 #, c-format
 msgid "Received %u bytes from %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:528
+#: src/transport/gnunet-transport.c:649
 #, fuzzy, c-format
 msgid "Peer `%s': %s %s\n"
 msgstr "运行 %s失败:%s %d\n"
 
-#: src/transport/gnunet-transport.c:535
+#: src/transport/gnunet-transport.c:658
 #, c-format
 msgid "Peer `%s': %s <unable to resolve address>\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:563
+#: src/transport/gnunet-transport.c:694
 #, fuzzy, c-format
 msgid "Peer `%s' disconnected\n"
 msgstr ""
 "\n"
 "按任意键继续\n"
 
-#: src/transport/gnunet-transport.c:632
-#, fuzzy, c-format
-msgid "Failed to parse peer identity `%s'\n"
-msgstr "解析配置文件“%s”失败\n"
+#: src/transport/gnunet-transport.c:724
+#, fuzzy
+msgid "Failed to send connect request to transport service\n"
+msgstr "初始化“%s”服务失败。\n"
 
-#: src/transport/gnunet-transport.c:715
-msgid "measure how fast we are receiving data (until CTRL-C)"
+#: src/transport/gnunet-transport.c:759
+#, c-format
+msgid ""
+"Multiple operations given. Please choose only one operation: %s, %s, %s, %s, "
+"%s, %s\n"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:718
+#: src/transport/gnunet-transport.c:765
+#, c-format
+msgid ""
+"No operation given. Please choose one operation: %s, %s, %s, %s, %s, %s\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:785 src/transport/gnunet-transport.c:815
+#: src/transport/gnunet-transport.c:837 src/transport/gnunet-transport.c:874
 #, fuzzy
-msgid "try to connect to the given peer"
+msgid "Failed to connect to transport service\n"
 msgstr "初始化“%s”服务失败。\n"
 
-#: src/transport/gnunet-transport.c:721
+#: src/transport/gnunet-transport.c:792 src/transport/gnunet-transport.c:822
+#, fuzzy
+msgid "Failed to send request to transport service\n"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/transport/gnunet-transport.c:842
+msgid "Starting to receive benchmark data\n"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:924
+msgid "measure how fast we are receiving data from all peers (until CTRL-C)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:927
+#, fuzzy
+msgid "connect to a peer"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/transport/gnunet-transport.c:930
 msgid "provide information about all current connections (once)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:727
+#: src/transport/gnunet-transport.c:936
+msgid ""
+"provide information about all connects and disconnect events (continuously)"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:939
 msgid "do not resolve hostnames"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:731
+#: src/transport/gnunet-transport.c:942
+msgid "peer identity"
+msgstr ""
+
+#: src/transport/gnunet-transport.c:946
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:734
+#: src/transport/gnunet-transport.c:949
 msgid "test transport configuration (involves external server)"
 msgstr ""
 
-#: src/transport/gnunet-transport.c:745
+#: src/transport/gnunet-transport.c:960
 #, fuzzy
 msgid "Direct access to transport service."
 msgstr "初始化“%s”服务失败。\n"
@@ -4893,8 +4996,8 @@
 
 #: src/transport/plugin_transport_tcp.c:774
 #: src/transport/plugin_transport_tcp.c:963
-#: src/transport/plugin_transport_tcp.c:1816
-#: src/transport/plugin_transport_tcp.c:2435
+#: src/transport/plugin_transport_tcp.c:1817
+#: src/transport/plugin_transport_tcp.c:2436
 msgid "# TCP sessions active"
 msgstr ""
 
@@ -4910,48 +5013,48 @@
 msgid "# bytes discarded by TCP (disconnect)"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1341
+#: src/transport/plugin_transport_tcp.c:1342
 #, c-format
 msgid "Address of unexpected length: %u\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1456
+#: src/transport/plugin_transport_tcp.c:1457
 msgid "# transport-service disconnect requests for TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:1857
+#: src/transport/plugin_transport_tcp.c:1858
 msgid "# TCP WELCOME messages received"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2031
+#: src/transport/plugin_transport_tcp.c:2032
 msgid "# bytes received via TCP"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2101
+#: src/transport/plugin_transport_tcp.c:2102
 msgid "# network-level TCP disconnect events"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2325 src/util/service.c:948
+#: src/transport/plugin_transport_tcp.c:2326 src/util/service.c:948
 #: src/util/service.c:954
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2339
+#: src/transport/plugin_transport_tcp.c:2340
 #, fuzzy
 msgid "Failed to start service.\n"
 msgstr "初始化“%s”服务失败。\n"
 
-#: src/transport/plugin_transport_tcp.c:2423
+#: src/transport/plugin_transport_tcp.c:2424
 #, c-format
 msgid "TCP transport listening on port %llu\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2427
+#: src/transport/plugin_transport_tcp.c:2428
 msgid "TCP transport not listening on any port (client only)\n"
 msgstr ""
 
-#: src/transport/plugin_transport_tcp.c:2431
+#: src/transport/plugin_transport_tcp.c:2432
 #, c-format
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
@@ -5069,7 +5172,7 @@
 msgid "Helper binary `%s' not SUID, cannot run WLAN transport\n"
 msgstr ""
 
-#: src/transport/transport_api.c:598
+#: src/transport/transport_api.c:654
 #, c-format
 msgid "Received unexpected message of type %u in %s:%u\n"
 msgstr ""
@@ -5333,17 +5436,17 @@
 msgid "`%s' failed for drive `%S': %u\n"
 msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
 
-#: src/util/disk.c:1136
+#: src/util/disk.c:1171
 #, c-format
 msgid "Expected `%s' to be a directory!\n"
 msgstr "“%s”应为目录!\n"
 
-#: src/util/disk.c:1490 src/util/service.c:1667
+#: src/util/disk.c:1525 src/util/service.c:1667
 #, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr "无法获取有关用户“%s”的信息:%s\n"
 
-#: src/util/disk.c:1862
+#: src/util/disk.c:1897
 #, c-format
 msgid "No `%s' specified for service `%s' in configuration.\n"
 msgstr ""
@@ -5582,14 +5685,14 @@
 "Fatal internal logic error, process hangs in `%s' (abort with CTRL-C)!\n"
 msgstr ""
 
-#: src/util/os_installation.c:416
+#: src/util/os_installation.c:417
 #, fuzzy, c-format
 msgid ""
 "Could not determine installation path for %s.  Set `%s' environment "
 "variable.\n"
 msgstr "无法确定安装路径。请尝试设置“%s”\n"
 
-#: src/util/os_installation.c:646
+#: src/util/os_installation.c:653
 #, fuzzy, c-format
 msgid "Could not find binary `%s' in PATH!\n"
 msgstr "找不到主机“%s”的 IP:%s\n"
@@ -6072,8 +6175,8 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "list information for the given peer"
-#~ msgstr "无法获取有关用户“%s”的信息:%s\n"
+#~ msgid "Connected to %s\n"
+#~ msgstr "“%s”已连接到“%s”。\n"
 
 #, fuzzy
 #~ msgid "list information for all peers"
@@ -6196,10 +6299,6 @@
 #~ msgstr "运行 %s失败:%s %d\n"
 
 #, fuzzy
-#~ msgid "Configuration option `%s' in section `%s' missing.\n"
-#~ msgstr "配置文件“%s”已写入。\n"
-
-#, fuzzy
 #~ msgid "Configuration fails to specify `%s', assuming default value."
 #~ msgstr "配置文件“%s”已写入。\n"
 

Modified: gnunet/src/consensus/Makefile.am
===================================================================
--- gnunet/src/consensus/Makefile.am    2012-11-21 18:54:19 UTC (rev 25090)
+++ gnunet/src/consensus/Makefile.am    2012-11-21 20:56:49 UTC (rev 25091)
@@ -21,6 +21,9 @@
 libexec_PROGRAMS = \
  gnunet-service-consensus
 
+lib_LTLIBRARIES = \
+  libgnunetconsensus.la
+
 gnunet_consensus_SOURCES = \
  gnunet-consensus.c         
 gnunet_consensus_LDADD = \
@@ -33,16 +36,28 @@
   $(top_builddir)/src/util/libgnunetutil.la \
   $(GN_LIBINTL) 
 
+libgnunetconsensus_la_SOURCES = \
+  consensus_api.c
+libgnunetconsensus_la_LIBADD = \
+  $(top_builddir)/src/util/libgnunetutil.la \
+  $(LTLIBINTL)
+libgnunetconsensus_la_LDFLAGS = \
+  $(GN_LIB_LDFLAGS)
 
-#check_PROGRAMS = \
-# test_consensus_api
+check_PROGRAMS = \
+ test_consensus_api
 
-#if ENABLE_TEST_RUN
-#TESTS = $(check_PROGRAMS)
-#endif
-#
-#test_consensus_api_SOURCES = \
-# test_consensus_api.c
-#test_consensus_api_LDADD = \
-#  $(top_builddir)/src/util/libgnunetutil.la  
+if ENABLE_TEST_RUN
+TESTS = $(check_PROGRAMS)
+endif
 
+test_consensus_api_SOURCES = \
+ test_consensus_api.c
+test_consensus_api_LDADD = \
+  $(top_builddir)/src/util/libgnunetutil.la \
+  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/consensus/libgnunetconsensus.la
+
+
+EXTRA_DIST = \
+  test_consensus.conf

Added: gnunet/src/consensus/consensus.h
===================================================================
--- gnunet/src/consensus/consensus.h                            (rev 0)
+++ gnunet/src/consensus/consensus.h    2012-11-21 20:56:49 UTC (rev 25091)
@@ -0,0 +1,95 @@
+/*
+     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 2, 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.
+*/
+
+/**
+ * @author Florian Dold
+ * @file consensus/consensus.h
+ * @brief
+ */
+#ifndef NSE_H
+#define NSE_H
+
+#include "gnunet_common.h"
+
+GNUNET_NETWORK_STRUCT_BEGIN
+
+struct GNUNET_CONSENSUS_JoinMessage
+{
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN
+   */
+  struct GNUNET_MessageHeader header;
+
+  struct GNUNET_HashCode session_id;
+
+  uint16_t num_peers;
+
+  /* GNUNET_PeerIdentity[num_peers] */
+};
+
+
+struct GNUNET_CONSENSUS_ConcludeMessage
+{
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE
+   */
+  struct GNUNET_MessageHeader header;
+
+  struct GNUNET_TIME_RelativeNBO timeout;
+};
+
+
+struct GNUNET_CONSENSUS_ConcludeDoneMessage
+{
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE
+   */
+  struct GNUNET_MessageHeader header;
+
+  uint16_t num_peers;
+
+  /** PeerIdentity[num_peers] */
+};
+
+
+/**
+ * Message with an element
+ */
+struct GNUNET_CONSENSUS_ElementMessage
+{
+
+  /**
+   * Type:
+   * Either GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT
+   * or GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT_ELEMENT
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_NEW_ELEMENT
+   */
+  uint16_t element_type;
+
+  /* rest: element data */
+};
+
+GNUNET_NETWORK_STRUCT_END
+
+#endif

Added: gnunet/src/consensus/consensus_api.c
===================================================================
--- gnunet/src/consensus/consensus_api.c                                (rev 0)
+++ gnunet/src/consensus/consensus_api.c        2012-11-21 20:56:49 UTC (rev 
25091)
@@ -0,0 +1,502 @@
+/*
+     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 consensus/consensus_api.c
+ * @brief 
+ * @author Florian Dold
+ */
+#include "platform.h"
+#include "gnunet_protocols.h"
+#include "gnunet_client_lib.h"
+#include "gnunet_consensus_service.h"
+#include "consensus.h"
+
+
+#define LOG(kind,...) GNUNET_log_from (kind, "consensus-api",__VA_ARGS__)
+
+
+/**
+ * Handle for the service.
+ */
+struct GNUNET_CONSENSUS_Handle
+{
+  /**
+   * Configuration to use.
+   */
+  const struct GNUNET_CONFIGURATION_Handle *cfg;
+
+  /**
+   * Socket (if available).
+   */
+  struct GNUNET_CLIENT_Connection *client;
+
+  /**
+   * Callback for new elements. Not called for elements added locally.
+   */
+  GNUNET_CONSENSUS_NewElementCallback new_element_cb;
+
+  /**
+   * Closure for new_element_cb
+   */
+  void *new_element_cls;
+
+  /**
+   * Session identifier for the consensus session.
+   */
+  struct GNUNET_HashCode session_id;
+
+  /**
+   * Number of peers in the consensus. Optionally includes the local peer.
+   */
+  int num_peers;
+
+  /**
+   * Peer identities of peers in the consensus. Optionally includes the local 
peer.
+   */
+  struct GNUNET_PeerIdentity *peers;
+
+  /**
+   * Currently active transmit request.
+   */
+  struct GNUNET_CLIENT_TransmitHandle *th;
+
+  /**
+   * GNUNES_YES iff the join message has been sent to the service.
+   */
+  int joined;
+
+  /**
+   * Called when the current insertion operation finishes.
+   * NULL if there is no insert operation active.
+   */
+  GNUNET_CONSENSUS_InsertDoneCallback idc;
+
+  /**
+   * Closure for the insert done callback.
+   */
+  void *idc_cls;
+
+  /**
+   * An element that was requested to be inserted.
+   */
+  struct GNUNET_CONSENSUS_Element *insert_element;
+
+  /**
+   * Called when the conclude operation finishes or fails.
+   */
+  GNUNET_CONSENSUS_ConcludeCallback conclude_cb;
+
+  /**
+   * Closure for the conclude callback.
+   */
+  void *conclude_cls;
+
+  /**
+   * Deadline for the conclude operation.
+   */
+  struct GNUNET_TIME_Absolute conclude_deadline;
+};
+
+
+static void
+handle_new_element(struct GNUNET_CONSENSUS_Handle *consensus,
+                   struct GNUNET_CONSENSUS_ElementMessage *msg)
+{
+  struct GNUNET_CONSENSUS_Element element;
+  element.type = msg->element_type;
+  element.size = msg->header.size - sizeof (struct 
GNUNET_CONSENSUS_ElementMessage);
+  element.data = &msg[1];
+  consensus->new_element_cb(consensus->new_element_cls, &element);
+}
+
+static void
+handle_conclude_done(struct GNUNET_CONSENSUS_Handle *consensus,
+                     struct GNUNET_CONSENSUS_ConcludeDoneMessage *msg)
+{
+  GNUNET_assert (NULL != consensus->conclude_cb);
+  consensus->conclude_cb(consensus->conclude_cls,
+                         msg->num_peers,
+                         (struct GNUNET_PeerIdentity *) &msg[1]);
+  consensus->conclude_cb = NULL;
+}
+
+
+
+/**
+ * Type of a function to call when we receive a message
+ * from the service.
+ *
+ * @param cls closure
+ * @param msg message received, NULL on timeout or fatal error
+ */
+static void
+message_handler (void *cls, const struct GNUNET_MessageHeader *msg)
+{
+  struct GNUNET_CONSENSUS_Handle *consensus = cls;
+  GNUNET_CONSENSUS_InsertDoneCallback idc;
+  void *idc_cls;
+
+  if (msg == NULL)
+  {
+    /* Error, timeout, death */
+    GNUNET_CLIENT_disconnect (consensus->client);
+    consensus->client = NULL;
+    consensus->new_element_cb(NULL, NULL);
+    if (NULL != consensus->idc)
+    {
+      consensus->idc(consensus->idc_cls, GNUNET_NO);
+      consensus->idc = NULL;
+      consensus->idc_cls = NULL;
+    }
+    return;
+  }
+
+  switch (ntohs(msg->type))
+  {
+    case GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT_ACK:
+      idc = consensus->idc;
+      consensus->idc = NULL;
+      idc_cls = consensus->idc_cls;
+      consensus->idc_cls = NULL;
+      idc(idc_cls, GNUNET_YES);
+      break;
+    case GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT:
+      handle_new_element(consensus, (struct GNUNET_CONSENSUS_ElementMessage *) 
msg);
+      break;
+    case GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE:
+      handle_conclude_done(consensus, (struct 
GNUNET_CONSENSUS_ConcludeDoneMessage *) msg);
+      break;
+    default:
+      LOG(GNUNET_ERROR_TYPE_WARNING, "did not understand message type sent by 
service, ignoring");
+  }
+  GNUNET_CLIENT_receive (consensus->client, &message_handler, consensus,
+                         GNUNET_TIME_UNIT_FOREVER_REL);
+}
+
+
+
+
+/**
+ * Function called to notify a client about the connection
+ * begin ready to queue more data.  "buf" will be
+ * NULL and "size" zero if the connection was closed for
+ * writing in the meantime.
+ *
+ * @param cls closure
+ * @param size number of bytes available in buf
+ * @param buf where the callee should write the message
+ * @return number of bytes written to buf
+ */
+static size_t
+transmit_insert (void *cls, size_t size, void *buf)
+{
+  struct GNUNET_CONSENSUS_ElementMessage *msg;
+  struct GNUNET_CONSENSUS_Handle *consensus;
+  int msize;
+
+  GNUNET_assert (NULL != buf);
+
+  consensus = cls;
+
+  GNUNET_assert (NULL != consensus->insert_element);
+
+  consensus->th = NULL;
+
+
+  msg = buf;
+
+  msize = sizeof (struct GNUNET_CONSENSUS_ElementMessage) +
+      consensus->insert_element->size;
+
+  msg->header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT);
+  msg->header.size = htons (msize);
+  memcpy(&msg[1],
+         consensus->insert_element->data,
+         consensus->insert_element->size);
+
+  return msize;
+}
+
+
+/**
+ * Function called to notify a client about the connection
+ * begin ready to queue more data.  "buf" will be
+ * NULL and "size" zero if the connection was closed for
+ * writing in the meantime.
+ *
+ * @param cls closure
+ * @param size number of bytes available in buf
+ * @param buf where the callee should write the message
+ * @return number of bytes written to buf
+ */
+static size_t
+transmit_join (void *cls, size_t size, void *buf)
+{
+  struct GNUNET_CONSENSUS_JoinMessage *msg;
+  struct GNUNET_CONSENSUS_Handle *consensus;
+  int msize;
+
+  LOG(GNUNET_ERROR_TYPE_DEBUG, "transmitting CLIENT_JOIN to service\n");
+
+  GNUNET_assert (NULL != buf);
+
+  consensus = cls;
+  consensus->th = NULL;
+  consensus->joined = 1;
+
+  msg = buf;
+
+  msize = sizeof (struct GNUNET_CONSENSUS_JoinMessage) +
+      consensus->num_peers * sizeof (struct GNUNET_PeerIdentity);
+
+  msg->header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN);
+  msg->header.size = htons (msize);
+  msg->session_id = consensus->session_id;
+  msg->num_peers = htons (consensus->num_peers);
+  memcpy(&msg[1],
+         consensus->peers,
+         consensus->num_peers * sizeof (struct GNUNET_PeerIdentity));
+
+  if (consensus->insert_element != NULL)
+  {
+    consensus->th =
+        GNUNET_CLIENT_notify_transmit_ready (consensus->client,
+                                             msize,
+                                             GNUNET_TIME_UNIT_FOREVER_REL,
+                                             GNUNET_NO, &transmit_insert, 
consensus);
+  }
+
+
+  GNUNET_CLIENT_receive (consensus->client, &message_handler, consensus,
+                         GNUNET_TIME_UNIT_FOREVER_REL);
+  
+  return msize;
+}
+
+
+/**
+ * Function called to notify a client about the connection
+ * begin ready to queue more data.  "buf" will be
+ * NULL and "size" zero if the connection was closed for
+ * writing in the meantime.
+ *
+ * @param cls closure
+ * @param size number of bytes available in buf
+ * @param buf where the callee should write the message
+ * @return number of bytes written to buf
+ */
+static size_t
+transmit_conclude (void *cls, size_t size, void *buf)
+{
+  struct GNUNET_CONSENSUS_ConcludeMessage *msg;
+  struct GNUNET_CONSENSUS_Handle *consensus;
+  int msize;
+
+  GNUNET_assert (NULL != buf);
+
+  consensus = cls;
+  consensus->th = NULL;
+
+  msg = buf;
+
+  msize = sizeof (struct GNUNET_CONSENSUS_ConcludeMessage);
+
+  msg->header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE);
+  msg->header.size = htons (msize);
+  msg->timeout =
+      
GNUNET_TIME_relative_hton(GNUNET_TIME_absolute_get_remaining(consensus->conclude_deadline));
+
+  return msize;
+}
+
+
+
+
+/**
+ * Create a consensus session.
+ *
+ * @param cfg
+ * @param num_peers
+ * @param peers array of peers participating in this consensus session
+ *              Inclusion of the local peer is optional.
+ * @param session_id session identifier
+ *                   Allows a group of peers to have more than consensus 
session.
+ * @param num_initial_elements number of entries in the 'initial_elements' 
array
+ * @param initial_elements our elements for the consensus (each of 
'element_size'
+ * @param new_element callback, called when a new element is added to the set 
by
+ *                    another peer
+ * @param new_element_cls closure for new_element
+ * @return handle to use, NULL on error
+ */
+struct GNUNET_CONSENSUS_Handle *
+GNUNET_CONSENSUS_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                        unsigned int num_peers,
+                        const struct GNUNET_PeerIdentity *peers,
+                         const struct GNUNET_HashCode *session_id,
+                         /*
+                        unsigned int num_initial_elements,
+                         const struct GNUNET_CONSENSUS_Element 
**initial_elements,
+                         */
+                         GNUNET_CONSENSUS_NewElementCallback new_element,
+                         void *new_element_cls)
+{
+  struct GNUNET_CONSENSUS_Handle *consensus;
+  size_t join_message_size;
+
+
+  consensus = GNUNET_malloc (sizeof (struct GNUNET_CONSENSUS_Handle));
+  consensus->cfg = cfg;
+  consensus->new_element_cb = new_element;
+  consensus->new_element_cls = new_element_cls;
+  consensus->num_peers = num_peers;
+  consensus->session_id = *session_id;
+
+
+
+  if (0 == num_peers)
+  {
+    consensus->peers = NULL;
+  }
+  else if (num_peers > 0)
+  {
+
+    consensus->peers = GNUNET_memdup (peers, num_peers * sizeof (struct 
GNUNET_PeerIdentity));
+  }
+  else
+  {
+    GNUNET_break (0);
+  }
+
+
+  consensus->client = GNUNET_CLIENT_connect ("consensus", cfg);
+
+  GNUNET_assert (consensus->client != NULL);
+
+  join_message_size = (sizeof (struct GNUNET_CONSENSUS_JoinMessage)) +
+      (num_peers * sizeof (struct GNUNET_PeerIdentity));
+
+  consensus->th =
+      GNUNET_CLIENT_notify_transmit_ready (consensus->client,
+                                           join_message_size,
+                                           GNUNET_TIME_UNIT_FOREVER_REL,
+                                           GNUNET_NO, &transmit_join, 
consensus);
+
+
+  GNUNET_assert (consensus->th != NULL);
+
+  return consensus;
+}
+
+
+
+/**
+ * Insert an element in the set being reconsiled.  Must not be called after
+ * "GNUNET_CONSENSUS_conclude".
+ *
+ * @param consensus handle for the consensus session
+ * @param element the element to be inserted
+ * @param idc function called when we are done with this element and it 
+ *            is thus allowed to call GNUNET_CONSENSUS_insert again
+ * @param idc_cls closure for 'idc'
+ */
+void
+GNUNET_CONSENSUS_insert (struct GNUNET_CONSENSUS_Handle *consensus,
+                        const struct GNUNET_CONSENSUS_Element *element,
+                        GNUNET_CONSENSUS_InsertDoneCallback idc,
+                        void *idc_cls)
+{
+
+  GNUNET_assert (NULL == consensus->idc);
+  GNUNET_assert (NULL == consensus->insert_element);
+
+  consensus->idc = idc;
+  consensus->idc_cls = idc_cls;
+  consensus->insert_element = GNUNET_memdup(element, sizeof (struct 
GNUNET_CONSENSUS_Element) + element->size);
+
+  if (consensus->joined == 0)
+  {
+    GNUNET_assert (NULL != consensus->th);
+    return;
+  }
+
+  GNUNET_assert (NULL == consensus->th);
+
+  consensus->th =
+      GNUNET_CLIENT_notify_transmit_ready (consensus->client,
+                                           element->size + sizeof (struct 
GNUNET_CONSENSUS_ElementMessage),
+                                           GNUNET_TIME_UNIT_FOREVER_REL,
+                                           GNUNET_NO, &transmit_insert, 
consensus);
+}
+
+
+/**
+ * We are finished inserting new elements into the consensus;
+ * try to conclude the consensus within a given time window.
+ *
+ * @param consensus consensus session
+ * @param timeout timeout after which the conculde callback
+ *                must be called
+ * @param conclude called when the conclusion was successful
+ * @param conclude_cls closure for the conclude callback
+ */
+void
+GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
+                          struct GNUNET_TIME_Relative timeout,
+                          GNUNET_CONSENSUS_ConcludeCallback conclude,
+                          void *conclude_cls)
+{
+  GNUNET_assert (NULL == consensus->th);
+  GNUNET_assert (NULL == consensus->conclude_cb);
+
+  consensus->conclude_cls = conclude_cls;
+  consensus->conclude_cb = conclude;
+  consensus->conclude_deadline = GNUNET_TIME_relative_to_absolute(timeout);
+
+  consensus->th =
+      GNUNET_CLIENT_notify_transmit_ready (consensus->client,
+                                           sizeof (struct 
GNUNET_CONSENSUS_ConcludeMessage),
+                                           timeout,
+                                           GNUNET_NO, &transmit_conclude, 
consensus);
+  if (NULL == consensus->th)
+  {
+    conclude(conclude_cls, 0, NULL);
+  }
+}
+
+
+/**
+ * Destroy a consensus handle (free all state associated with
+ * it, no longer call any of the callbacks).
+ *
+ * @param consensus handle to destroy
+ */
+void
+GNUNET_CONSENSUS_destroy (struct GNUNET_CONSENSUS_Handle *consensus)
+{
+  if (consensus->client != NULL)
+  {
+    GNUNET_CLIENT_disconnect (consensus->client);
+    consensus->client = NULL;
+  }
+  GNUNET_free (consensus->peers);
+  GNUNET_free (consensus);
+}
+

Modified: gnunet/src/consensus/gnunet-service-consensus.cc
===================================================================
--- gnunet/src/consensus/gnunet-service-consensus.cc    2012-11-21 18:54:19 UTC 
(rev 25090)
+++ gnunet/src/consensus/gnunet-service-consensus.cc    2012-11-21 20:56:49 UTC 
(rev 25091)
@@ -24,23 +24,87 @@
 #include <stdint.h>
 
 #include "platform.h"
+#include "gnunet_protocols.h"
 #include "gnunet_common.h"
 #include "gnunet_service_lib.h"
+#include "gnunet_consensus_service.h"
+#include "consensus.h"
 
 using namespace std;
 
+
+
+struct ConsensusSession
+{
+
+};
+
+
+
+struct ConsensusClient
+{
+
+};
+
+
+
 /**
- * Process statistics requests.
+ * Called when a client wants to join a consensus session.
+ */
+void
+client_join (void *cls,
+             struct GNUNET_SERVER_Client *client,
+             const struct GNUNET_MessageHeader *message)
+{
+  GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "client joined");
+}
+
+
+/**
+ * Called when a client performs an insert operation.
+ */
+void
+client_insert (void *cls,
+             struct GNUNET_SERVER_Client *client,
+             const struct GNUNET_MessageHeader *message)
+{
+
+}
+
+
+
+/**
+ * Called when a client performs the conclude operation.
+ */
+void
+client_conclude (void *cls,
+             struct GNUNET_SERVER_Client *client,
+             const struct GNUNET_MessageHeader *message)
+{
+
+}
+
+
+
+/**
+ * Process consensus requests.
  *
  * @param cls closure
  * @param server the initialized server
  * @param c configuration to use
  */
 static void
-run (void *cls, struct GNUNET_SERVER_Handle *server,
-     const struct GNUNET_CONFIGURATION_Handle *c)
+run (void *cls, struct GNUNET_SERVER_Handle *server, const struct 
GNUNET_CONFIGURATION_Handle *c)
 {
-  /* TODO */
+  static const struct GNUNET_SERVER_MessageHandler handlers[] = {
+    {&client_join, NULL, GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN, 0},
+    {&client_insert, NULL, GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT, 0},
+    {&client_conclude, NULL, GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE,
+        sizeof (struct GNUNET_CONSENSUS_ConcludeMessage)},
+    {NULL, NULL, 0, 0}
+  };
+
+  GNUNET_SERVER_add_handlers(server, handlers);
 }
 
 
@@ -55,6 +119,6 @@
 main (int argc, char *const *argv)
 {
   return (GNUNET_OK ==
-          GNUNET_SERVICE_run (argc, argv, "statistics", 
GNUNET_SERVICE_OPTION_NONE, &run, NULL)) ? 0 : 1;
+          GNUNET_SERVICE_run (argc, argv, "consensus", 
GNUNET_SERVICE_OPTION_NONE, &run, NULL)) ? 0 : 1;
 }
 

Added: gnunet/src/consensus/test_consensus.conf
===================================================================
--- gnunet/src/consensus/test_consensus.conf                            (rev 0)
+++ gnunet/src/consensus/test_consensus.conf    2012-11-21 20:56:49 UTC (rev 
25091)
@@ -0,0 +1,15 @@
+[consensus]
+AUTOSTART = YES
+# PORT = 2103
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+BINARY = gnunet-service-consensus
+ACCEPT_FROM = 127.0.0.1;
+ACCEPT_FROM6 = ::1;
+UNIXPATH = /tmp/gnunet-service-consensus.sock
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
+OPTIONS = -LDEBUG
+
+[transport]
+OPTIONS = -LERROR

Added: gnunet/src/consensus/test_consensus_api.c
===================================================================
--- gnunet/src/consensus/test_consensus_api.c                           (rev 0)
+++ gnunet/src/consensus/test_consensus_api.c   2012-11-21 20:56:49 UTC (rev 
25091)
@@ -0,0 +1,73 @@
+/*
+     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 consensus/test_consensus_api.c
+ * @brief testcase for consensus_api.c
+ */
+#include "platform.h"
+#include "gnunet_util_lib.h"
+#include "gnunet_consensus_service.h"
+#include "gnunet_testing_lib-new.h"
+
+
+static struct GNUNET_CONSENSUS_Handle *consensus;
+
+static struct GNUNET_HashCode session_id;
+
+
+void
+on_new_element (void *cls,
+                struct GNUNET_CONSENSUS_Element *element)
+{
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "received new element\n");
+}
+
+
+static void
+run (void *cls, 
+     const struct GNUNET_CONFIGURATION_Handle *cfg,
+     struct GNUNET_TESTING_Peer *peer)
+{
+  char *str = "foo";
+
+  GNUNET_CRYPTO_hash (str, strlen (str), &session_id);
+  consensus = GNUNET_CONSENSUS_create (cfg, 0, NULL, &session_id, 
on_new_element, cls);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Connecting to consensus service.\n");
+  GNUNET_assert (consensus != NULL);
+}
+
+
+int
+main (int argc, char **argv)
+{
+  int ret;
+
+  GNUNET_log_setup ("test_consensus_api",
+                    "DEBUG",
+                    NULL);
+
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "testing consensus api\n");
+
+  ret = GNUNET_TESTING_peer_run ("test_consensus_api",
+                                 "test_consensus.conf",
+                                 &run, NULL);
+  return ret;
+}
+

Modified: gnunet/src/include/gnunet_consensus_service.h
===================================================================
--- gnunet/src/include/gnunet_consensus_service.h       2012-11-21 18:54:19 UTC 
(rev 25090)
+++ gnunet/src/include/gnunet_consensus_service.h       2012-11-21 20:56:49 UTC 
(rev 25091)
@@ -38,20 +38,42 @@
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_time_lib.h"
+#include "gnunet_configuration_lib.h"
 
 
 /**
- * Called when a new element was received from another peer; elements
- * given to a consensus operation by the local peer are NOT given
+ * An element of the consensus set.
+ */
+struct GNUNET_CONSENSUS_Element
+{
+  /**
+   * The actual data of the element.
+   */
+   const void *data;
+
+   /**
+    * Size of the element's data.
+    */
+   uint16_t size;
+
+   /**
+    * Application specific element type
+    */
+   uint16_t type;
+};
+
+
+/**
+ * Called when a new element was received from another peer, or an error 
occured.
+ *
+ * Elements given to a consensus operation by the local peer are NOT given
  * to this callback.
  *
  * @param cls closure
- * @param element_size will match the size given to GNUNET_CONSENSUS_create
- * @param element
+ * @param element new element, NULL on error
  */
 typedef void (*GNUNET_CONSENSUS_NewElementCallback) (void *cls,
-                                                    size_t element_size,
-                                                    const void *element);
+                                                     struct 
GNUNET_CONSENSUS_Element *element);
 
 
 
@@ -67,9 +89,9 @@
  * @param cfg
  * @param num_peers
  * @param peers array of peers participating in this consensus session
+ *              Inclusion of the local peer is optional.
  * @param session_id session identifier
  *                   Allows a group of peers to have more than consensus 
session.
- * @param element_size size of the elements in the reconciled set in bytes
  * @param num_initial_elements number of entries in the 'initial_elements' 
array
  * @param initial_elements our elements for the consensus (each of 
'element_size'
  * @param new_element callback, called when a new element is added to the set 
by
@@ -82,9 +104,10 @@
                         unsigned int num_peers,
                         const struct GNUNET_PeerIdentity *peers,
                          const struct GNUNET_HashCode *session_id,
-                         size_t element_size,
+                         /*
                         unsigned int num_initial_elements,
-                         const void **initial_elements,
+                         const struct GNUNET_CONSENSUS_Element 
**initial_elements,
+                         */
                          GNUNET_CONSENSUS_NewElementCallback new_element,
                          void *new_element_cls);
 
@@ -107,7 +130,6 @@
  * "GNUNET_CONSENSUS_conclude".
  *
  * @param consensus handle for the consensus session
- * @param element_size must match element size from GNUNET_CONSENSUS_create
  * @param element the element to be inserted
  * @param idc function called when we are done with this element and it 
  *            is thus allowed to call GNUNET_CONSENSUS_insert again
@@ -115,8 +137,7 @@
  */
 void
 GNUNET_CONSENSUS_insert (struct GNUNET_CONSENSUS_Handle *consensus,
-                        size_t element_size,
-                        const void *element,
+                        const struct GNUNET_CONSENSUS_Element *element,
                         GNUNET_CONSENSUS_InsertDoneCallback idc,
                         void *idc_cls);
 

Modified: gnunet/src/include/gnunet_protocols.h
===================================================================
--- gnunet/src/include/gnunet_protocols.h       2012-11-21 18:54:19 UTC (rev 
25090)
+++ gnunet/src/include/gnunet_protocols.h       2012-11-21 20:56:49 UTC (rev 
25091)
@@ -1606,11 +1606,48 @@
 #define GNUNET_MESSAGE_TYPE_GNS_GET_AUTH_RESULT 505
 
 
+/*******************************************************************************
+ * CONSENSUS message types
+ 
******************************************************************************/
+
 /**
- *  Next available: 520
+ * Join a consensus session. Sent by client to service as first message.
  */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN 520
 
+/**
+ * Insert an element. Sent by client to service.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT 521
 
+/**
+ * The has accepted the inserted element and is ready to receive new elements.
+ * Sent by service to client.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT_ACK 522
+
+/**
+ * Sent by service when a new element is added.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT 523
+
+/**
+ * Sent by client to service in order to start the consensus conclusion.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE 524
+
+/**
+ * Sent by service to client in order to signal a completed consensus 
conclusion.
+ * Last message sent in a consensus session.
+ */
+#define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE 524
+
+
+/**
+ *  Next available: 570
+ */
+
+
 
/*******************************************************************************
  * TODO: we need a way to register message types centrally (via some webpage).
  * For now: unofficial extensions should start at 48k, internal extensions




reply via email to

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