gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] branch master updated (bf99d2243 -> f225e5688)


From: gnunet
Subject: [gnunet] branch master updated (bf99d2243 -> f225e5688)
Date: Wed, 22 Apr 2020 21:52:51 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a change to branch master
in repository gnunet.

    from bf99d2243 fix #6191
     new 2be21d379 add argon2 for LSD0001
     new 7055edb1a update params
     new 252641fac add argon2 for LSD0001
     new 69fddff24 merge
     new 91cccda13 revert
     new f00c18e63 simplify pow even more; add timestamp to revocation pow
     new eb6b547e2 towards more expirations
     new 8f9a45e85 towards less variance
     new 814b19c0b no diplicate nonces
     new 37bb51d9f some comments
     new c2127bac6 uncrustify
     new 2408dd18a those are actually debug messages
     new 196a465c2 more comments, allow to pick up pow later
     new 6d61330e3 evaluate epochs
     new ee5cfec86 fix tests
     new 4a700470f remove sign API call
     new c81fbcd85 update API comments
     new 24d5d46ad fix
     new 424cd50ec check signature in check_pow
     new c20768b8b include buffer of 10& of epoch
     new d4fd97e69 predate validity time on creation; extent ttl on validation
     new 19b772329 new pass API
     new e64ec174f rename, fix
     new b7d8277cb remove pow_get
     new 3efcca773 packed makes no sense there
     new 6bda628f7 update revocation config
     new e3866c8f0 update API for cleanup of handle
     new 091f411cc purge scrypt; add argon2
     new 1b57b5706 remova binary file commited by accident
     new c4fa48421 add epochs CLI parameter
     new f225e5688 Merge branch 'schanzen/argon_pow'

The 31 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README                                     |    2 +
 configure.ac                               |    2 +
 doc/man/gnunet-revocation.1                |    3 +
 po/POTFILES.in                             |   96 +--
 po/de.po                                   | 1066 +++++++++++++--------------
 po/it.po                                   |  998 ++++++++++++-------------
 po/sv.po                                   | 1066 +++++++++++++--------------
 po/vi.po                                   | 1078 ++++++++++++++--------------
 po/zh_CN.po                                | 1066 +++++++++++++--------------
 src/include/gnunet_revocation_service.h    |  142 +++-
 src/revocation/gnunet-revocation.c         |  210 +++---
 src/revocation/gnunet-service-revocation.c |   39 +-
 src/revocation/plugin_block_revocation.c   |   30 +-
 src/revocation/revocation.conf.in          |    1 +
 src/revocation/revocation.h                |   19 +-
 src/revocation/revocation_api.c            |  360 ++++++++--
 src/revocation/test_revocation.c           |   27 +-
 src/revocation/test_revocation.conf        |    1 +
 src/util/Makefile.am                       |    1 +
 src/util/crypto_pow.c                      |   86 +--
 20 files changed, 3335 insertions(+), 2958 deletions(-)

diff --git a/README b/README
index f8fd811f8..5c4648b8e 100644
--- a/README
+++ b/README
@@ -96,6 +96,8 @@ These are the direct dependencies for running GNUnet:
 - which                             (contrib/apparmor(?), gnunet-bugreport,
                                      and possibly more)
 - zlib
+- argon2             >= 20190702    (for proof-of-work calculations in
+                                     revocation)
 
 These are the dependencies for GNUnet's testsuite:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/configure.ac b/configure.ac
index 3b3c9cbe9..b6e44f90e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1033,6 +1033,8 @@ AS_IF([test x$nss = xfalse],
 AC_CHECK_LIB([kvm],[kvm_open])
 AC_CHECK_LIB([kstat],[kstat_open])
 
+# test for argon2 (for POW)
+AC_CHECK_LIB([argon2],[argon2d_hash_raw])
 
 # test for libextractor
 extractor=0
diff --git a/doc/man/gnunet-revocation.1 b/doc/man/gnunet-revocation.1
index 0c447a94f..05d80178a 100644
--- a/doc/man/gnunet-revocation.1
+++ b/doc/man/gnunet-revocation.1
@@ -30,6 +30,7 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl t Ar KEY | Fl -test= Ns Ar KEY
+.Op Fl e Ar EPOCHS | Fl -epochs= Ns Ar EPOCHS
 .Op Fl R Ar NAME | Fl -revoke= Ns Ar NAME
 .Op Fl p | -perform
 .Op Fl f Ar NAME | Fl -filename= Ns Ar NAME
@@ -50,6 +51,8 @@ Depending on your CPU, the calculation can take days or weeks.
 .Bl -tag -width indent
 .It Fl t Ar KEY | Fl -test= Ns Ar KEY
 Check if the given KEY (ASCII-encoded public key required) has been revoked.
+.It Fl e Ar EPOCHS | Fl -epochs= Ns Ar EPOCHS
+Number of epochs for which the revocation should be valid (default: 1)
 .It Fl R Ar NAME | Fl -revoke= Ns Ar NAME
 Calculate or perform revocation for the ego with the given NAME.
 .It Fl p | -perform
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ed9991796..813ebc222 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,21 +10,13 @@ src/arm/arm_monitor_api.c
 src/arm/gnunet-arm.c
 src/arm/gnunet-service-arm.c
 src/arm/mockup-service.c
-src/ats-tests/ats-testing-experiment.c
-src/ats-tests/ats-testing-log.c
-src/ats-tests/ats-testing-preferences.c
-src/ats-tests/ats-testing-traffic.c
-src/ats-tests/ats-testing.c
-src/ats-tests/gnunet-ats-sim.c
-src/ats-tests/gnunet-solver-eval.c
-src/ats-tool/gnunet-ats.c
 src/ats/ats_api_connectivity.c
 src/ats/ats_api_performance.c
 src/ats/ats_api_scanner.c
 src/ats/ats_api_scheduling.c
 src/ats/gnunet-ats-solver-eval.c
-src/ats/gnunet-service-ats.c
 src/ats/gnunet-service-ats_addresses.c
+src/ats/gnunet-service-ats.c
 src/ats/gnunet-service-ats_connectivity.c
 src/ats/gnunet-service-ats_normalization.c
 src/ats/gnunet-service-ats_performance.c
@@ -33,6 +25,14 @@ src/ats/gnunet-service-ats_preferences.c
 src/ats/gnunet-service-ats_reservations.c
 src/ats/gnunet-service-ats_scheduling.c
 src/ats/plugin_ats_proportional.c
+src/ats-tests/ats-testing.c
+src/ats-tests/ats-testing-experiment.c
+src/ats-tests/ats-testing-log.c
+src/ats-tests/ats-testing-preferences.c
+src/ats-tests/ats-testing-traffic.c
+src/ats-tests/gnunet-ats-sim.c
+src/ats-tests/gnunet-solver-eval.c
+src/ats-tool/gnunet-ats.c
 src/auction/gnunet-auction-create.c
 src/auction/gnunet-auction-info.c
 src/auction/gnunet-auction-join.c
@@ -49,8 +49,8 @@ src/cadet/cadet_api_list_peers.c
 src/cadet/cadet_api_list_tunnels.c
 src/cadet/cadet_test_lib.c
 src/cadet/desirability_table.c
-src/cadet/gnunet-cadet-profiler.c
 src/cadet/gnunet-cadet.c
+src/cadet/gnunet-cadet-profiler.c
 src/cadet/gnunet-service-cadet.c
 src/cadet/gnunet-service-cadet_channel.c
 src/cadet/gnunet-service-cadet_connection.c
@@ -66,15 +66,15 @@ src/consensus/gnunet-service-consensus.c
 src/consensus/plugin_block_consensus.c
 src/conversation/conversation_api.c
 src/conversation/conversation_api_call.c
-src/conversation/gnunet-conversation-test.c
 src/conversation/gnunet-conversation.c
-src/conversation/gnunet-helper-audio-playback-gst.c
+src/conversation/gnunet-conversation-test.c
+src/conversation/gnunet_gst.c
+src/conversation/gnunet_gst_test.c
 src/conversation/gnunet-helper-audio-playback.c
-src/conversation/gnunet-helper-audio-record-gst.c
+src/conversation/gnunet-helper-audio-playback-gst.c
 src/conversation/gnunet-helper-audio-record.c
+src/conversation/gnunet-helper-audio-record-gst.c
 src/conversation/gnunet-service-conversation.c
-src/conversation/gnunet_gst.c
-src/conversation/gnunet_gst_test.c
 src/conversation/microphone.c
 src/conversation/plugin_gnsrecord_conversation.c
 src/conversation/speaker.c
@@ -104,6 +104,7 @@ src/dht/dht_api.c
 src/dht/dht_test_lib.c
 src/dht/gnunet-dht-get.c
 src/dht/gnunet-dht-monitor.c
+src/dht/gnunet_dht_profiler.c
 src/dht/gnunet-dht-put.c
 src/dht/gnunet-service-dht.c
 src/dht/gnunet-service-dht_clients.c
@@ -112,7 +113,6 @@ src/dht/gnunet-service-dht_hello.c
 src/dht/gnunet-service-dht_neighbours.c
 src/dht/gnunet-service-dht_nse.c
 src/dht/gnunet-service-dht_routing.c
-src/dht/gnunet_dht_profiler.c
 src/dht/plugin_block_dht.c
 src/dns/dns_api.c
 src/dns/gnunet-dns-monitor.c
@@ -147,8 +147,8 @@ src/fs/gnunet-auto-share.c
 src/fs/gnunet-daemon-fsprofiler.c
 src/fs/gnunet-directory.c
 src/fs/gnunet-download.c
-src/fs/gnunet-fs-profiler.c
 src/fs/gnunet-fs.c
+src/fs/gnunet-fs-profiler.c
 src/fs/gnunet-helper-fs-publish.c
 src/fs/gnunet-publish.c
 src/fs/gnunet-search.c
@@ -168,9 +168,9 @@ src/gns/gns_tld_api.c
 src/gns/gnunet-bcd.c
 src/gns/gnunet-dns2gns.c
 src/gns/gnunet-gns-benchmark.c
+src/gns/gnunet-gns.c
 src/gns/gnunet-gns-import.c
 src/gns/gnunet-gns-proxy.c
-src/gns/gnunet-gns.c
 src/gns/gnunet-service-gns.c
 src/gns/gnunet-service-gns_interceptor.c
 src/gns/gnunet-service-gns_resolver.c
@@ -186,8 +186,8 @@ src/gnsrecord/gnsrecord_serialization.c
 src/gnsrecord/plugin_gnsrecord_dns.c
 src/hello/address.c
 src/hello/gnunet-hello.c
-src/hello/hello-ng.c
 src/hello/hello.c
+src/hello/hello-ng.c
 src/hostlist/gnunet-daemon-hostlist.c
 src/hostlist/gnunet-daemon-hostlist_client.c
 src/hostlist/gnunet-daemon-hostlist_server.c
@@ -212,8 +212,8 @@ src/namecache/namecache_api.c
 src/namecache/plugin_namecache_flat.c
 src/namecache/plugin_namecache_postgres.c
 src/namecache/plugin_namecache_sqlite.c
-src/namestore/gnunet-namestore-fcfsd.c
 src/namestore/gnunet-namestore.c
+src/namestore/gnunet-namestore-fcfsd.c
 src/namestore/gnunet-service-namestore.c
 src/namestore/gnunet-zoneimport.c
 src/namestore/namestore_api.c
@@ -239,17 +239,17 @@ src/nat/gnunet-service-nat_mini.c
 src/nat/gnunet-service-nat_stun.c
 src/nat/nat_api.c
 src/nat/nat_api_stun.c
-src/nse/gnunet-nse-profiler.c
 src/nse/gnunet-nse.c
+src/nse/gnunet-nse-profiler.c
 src/nse/gnunet-service-nse.c
 src/nse/nse_api.c
 src/nt/nt.c
-src/peerinfo-tool/gnunet-peerinfo.c
-src/peerinfo-tool/gnunet-peerinfo_plugins.c
-src/peerinfo-tool/plugin_rest_peerinfo.c
 src/peerinfo/gnunet-service-peerinfo.c
 src/peerinfo/peerinfo_api.c
 src/peerinfo/peerinfo_api_notify.c
+src/peerinfo-tool/gnunet-peerinfo.c
+src/peerinfo-tool/gnunet-peerinfo_plugins.c
+src/peerinfo-tool/plugin_rest_peerinfo.c
 src/peerstore/gnunet-peerstore.c
 src/peerstore/gnunet-service-peerstore.c
 src/peerstore/peerstore_api.c
@@ -299,22 +299,22 @@ src/revocation/gnunet-revocation.c
 src/revocation/gnunet-service-revocation.c
 src/revocation/plugin_block_revocation.c
 src/revocation/revocation_api.c
-src/rps/gnunet-rps-profiler.c
 src/rps/gnunet-rps.c
+src/rps/gnunet-rps-profiler.c
 src/rps/gnunet-service-rps.c
 src/rps/gnunet-service-rps_custommap.c
 src/rps/gnunet-service-rps_sampler.c
 src/rps/gnunet-service-rps_sampler_elem.c
 src/rps/gnunet-service-rps_view.c
+src/rps/rps_api.c
 src/rps/rps-sampler_client.c
 src/rps/rps-sampler_common.c
 src/rps/rps-test_util.c
-src/rps/rps_api.c
 src/scalarproduct/gnunet-scalarproduct.c
-src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
-src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
 src/scalarproduct/gnunet-service-scalarproduct_alice.c
 src/scalarproduct/gnunet-service-scalarproduct_bob.c
+src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
+src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
 src/scalarproduct/scalarproduct_api.c
 src/secretsharing/gnunet-secretsharing-profiler.c
 src/secretsharing/gnunet-service-secretsharing.c
@@ -340,16 +340,15 @@ src/statistics/gnunet-statistics.c
 src/statistics/statistics_api.c
 src/template/gnunet-service-template.c
 src/template/gnunet-template.c
-src/testbed-logger/gnunet-service-testbed-logger.c
-src/testbed-logger/testbed_logger_api.c
 src/testbed/generate-underlay-topology.c
 src/testbed/gnunet-daemon-latency-logger.c
 src/testbed/gnunet-daemon-testbed-blacklist.c
 src/testbed/gnunet-daemon-testbed-underlay.c
 src/testbed/gnunet-helper-testbed.c
+src/testbed/gnunet_mpi_test.c
 src/testbed/gnunet-service-test-barriers.c
-src/testbed/gnunet-service-testbed.c
 src/testbed/gnunet-service-testbed_barriers.c
+src/testbed/gnunet-service-testbed.c
 src/testbed/gnunet-service-testbed_cache.c
 src/testbed/gnunet-service-testbed_connectionpool.c
 src/testbed/gnunet-service-testbed_cpustatus.c
@@ -357,19 +356,20 @@ src/testbed/gnunet-service-testbed_links.c
 src/testbed/gnunet-service-testbed_meminfo.c
 src/testbed/gnunet-service-testbed_oc.c
 src/testbed/gnunet-service-testbed_peers.c
-src/testbed/gnunet-testbed-profiler.c
-src/testbed/gnunet_mpi_test.c
 src/testbed/gnunet_testbed_mpi_spawn.c
-src/testbed/testbed_api.c
+src/testbed/gnunet-testbed-profiler.c
+src/testbed-logger/gnunet-service-testbed-logger.c
+src/testbed-logger/testbed_logger_api.c
 src/testbed/testbed_api_barriers.c
+src/testbed/testbed_api.c
 src/testbed/testbed_api_hosts.c
 src/testbed/testbed_api_operations.c
 src/testbed/testbed_api_peers.c
 src/testbed/testbed_api_sd.c
 src/testbed/testbed_api_services.c
 src/testbed/testbed_api_statistics.c
-src/testbed/testbed_api_test.c
 src/testbed/testbed_api_testbed.c
+src/testbed/testbed_api_test.c
 src/testbed/testbed_api_topology.c
 src/testbed/testbed_api_underlay.c
 src/testing/gnunet-testing.c
@@ -381,40 +381,34 @@ src/transport/gnunet-communicator-tcp.c
 src/transport/gnunet-communicator-udp.c
 src/transport/gnunet-communicator-unix.c
 src/transport/gnunet-helper-transport-bluetooth.c
-src/transport/gnunet-helper-transport-wlan-dummy.c
 src/transport/gnunet-helper-transport-wlan.c
+src/transport/gnunet-helper-transport-wlan-dummy.c
 src/transport/gnunet-service-tng.c
-src/transport/gnunet-service-transport.c
 src/transport/gnunet-service-transport_ats.c
+src/transport/gnunet-service-transport.c
 src/transport/gnunet-service-transport_hello.c
 src/transport/gnunet-service-transport_manipulation.c
 src/transport/gnunet-service-transport_neighbours.c
 src/transport/gnunet-service-transport_plugins.c
 src/transport/gnunet-service-transport_validation.c
+src/transport/gnunet-transport.c
 src/transport/gnunet-transport-profiler.c
 src/transport/gnunet-transport-wlan-receiver.c
 src/transport/gnunet-transport-wlan-sender.c
-src/transport/gnunet-transport.c
 src/transport/plugin_transport_http_client.c
 src/transport/plugin_transport_http_common.c
 src/transport/plugin_transport_http_server.c
 src/transport/plugin_transport_smtp.c
 src/transport/plugin_transport_tcp.c
 src/transport/plugin_transport_template.c
-src/transport/plugin_transport_udp.c
 src/transport/plugin_transport_udp_broadcasting.c
+src/transport/plugin_transport_udp.c
 src/transport/plugin_transport_unix.c
 src/transport/plugin_transport_wlan.c
 src/transport/tcp_connection_legacy.c
 src/transport/tcp_server_legacy.c
 src/transport/tcp_server_mst_legacy.c
 src/transport/tcp_service_legacy.c
-src/transport/transport-testing-filenames.c
-src/transport/transport-testing-loggers.c
-src/transport/transport-testing-main.c
-src/transport/transport-testing-send.c
-src/transport/transport-testing.c
-src/transport/transport-testing2.c
 src/transport/transport_api2_application.c
 src/transport/transport_api2_communication.c
 src/transport/transport_api2_core.c
@@ -427,6 +421,12 @@ src/transport/transport_api_manipulation.c
 src/transport/transport_api_monitor_peers.c
 src/transport/transport_api_monitor_plugins.c
 src/transport/transport_api_offer_hello.c
+src/transport/transport-testing2.c
+src/transport/transport-testing.c
+src/transport/transport-testing-filenames.c
+src/transport/transport-testing-loggers.c
+src/transport/transport-testing-main.c
+src/transport/transport-testing-send.c
 src/util/bandwidth.c
 src/util/benchmark.c
 src/util/bio.c
@@ -441,8 +441,8 @@ src/util/consttime_memcmp.c
 src/util/container_bloomfilter.c
 src/util/container_heap.c
 src/util/container_meta_data.c
-src/util/container_multihashmap.c
 src/util/container_multihashmap32.c
+src/util/container_multihashmap.c
 src/util/container_multipeermap.c
 src/util/container_multishortmap.c
 src/util/container_multiuuidmap.c
@@ -466,8 +466,8 @@ src/util/dnsparser.c
 src/util/dnsstub.c
 src/util/getopt.c
 src/util/getopt_helpers.c
-src/util/gnunet-config-diff.c
 src/util/gnunet-config.c
+src/util/gnunet-config-diff.c
 src/util/gnunet-crypto-tvg.c
 src/util/gnunet-ecc.c
 src/util/gnunet-qr.c
@@ -505,8 +505,8 @@ src/vpn/gnunet-helper-vpn.c
 src/vpn/gnunet-service-vpn.c
 src/vpn/gnunet-vpn.c
 src/vpn/vpn_api.c
-src/zonemaster/gnunet-service-zonemaster-monitor.c
 src/zonemaster/gnunet-service-zonemaster.c
+src/zonemaster/gnunet-service-zonemaster-monitor.c
 src/fs/fs_api.h
 src/testbed/testbed_api.h
 src/testbed/testbed_api_operations.h
diff --git a/po/de.po b/po/de.po
index 216f67f68..0257436d6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnunet 0.10.1\n"
 "Report-Msgid-Bugs-To: address@hidden\n"
-"POT-Creation-Date: 2020-01-13 14:01+0000\n"
+"POT-Creation-Date: 2020-02-13 20:41+0100\n"
 "PO-Revision-Date: 2015-03-08 16:16+0100\n"
 "Last-Translator: Mario Blättermann <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -32,8 +32,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
 msgstr ""
 
 #: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
-#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #: src/namestore/gnunet-namestore.c:1001
+#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #, fuzzy, c-format
 msgid "Failed to connect to namestore\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
@@ -143,7 +143,7 @@ msgstr ""
 msgid "GNUnet abd resolver tool"
 msgstr "GNUnet Netzwerk Topologie tracen."
 
-#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288
+#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
 #, fuzzy, c-format
 msgid "Failed to connect to GNS\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
@@ -383,28 +383,28 @@ msgstr ""
 #: src/transport/plugin_transport_tcp.c:1129
 #: src/transport/plugin_transport_tcp.c:3706
 #: src/transport/tcp_service_legacy.c:594
-#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094
-#: src/util/service.c:1100
+#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
+#: src/util/service.c:1097
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
-#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519
-#: src/util/service.c:1133
+#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
+#: src/util/service.c:1130
 #, c-format
 msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
-#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524
-#: src/util/service.c:1137
+#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
+#: src/util/service.c:1134
 #, c-format
 msgid "Using `%s' instead\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
-#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157
+#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
 #, c-format
 msgid ""
 "Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -412,7 +412,7 @@ msgid ""
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
-#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175
+#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
 #, c-format
 msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
 msgstr ""
@@ -420,7 +420,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:536
 #: src/transport/plugin_transport_http_server.c:2718
 #: src/transport/plugin_transport_tcp.c:1244
-#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206
+#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
 #, c-format
 msgid "Failed to resolve `%s': %s\n"
 msgstr "»%s« konnte nicht aufgelöst werden: %s\n"
@@ -428,7 +428,7 @@ msgstr "»%s« konnte nicht aufgelöst werden: %s\n"
 #: src/arm/gnunet-service-arm.c:555
 #: src/transport/plugin_transport_http_server.c:2736
 #: src/transport/plugin_transport_tcp.c:1263
-#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225
+#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
 #, fuzzy, c-format
 msgid "Failed to find %saddress for `%s'.\n"
 msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
@@ -499,14 +499,81 @@ msgstr ""
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:896
-msgid "Stop logging\n"
-msgstr "Protokollierung stoppen\n"
+#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
+#, c-format
+msgid ""
+"Could not load quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:952
+#: src/ats/gnunet-ats-solver-eval.c:3011
+#, c-format
+msgid ""
+"No outbound quota configured for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3063
+#, c-format
+msgid ""
+"No outbound quota configure for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
+msgid "solver to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3557
+#: src/ats-tests/gnunet-solver-eval.c:1003
+#: src/ats-tests/gnunet-solver-eval.c:1008
+msgid "experiment to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3564
+msgid "print logging"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3569
+msgid "save logging to disk"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3574
+msgid "disable normalization"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:326
+#, c-format
+msgid ""
+"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:336
+#, c-format
+msgid "%s quota configured for network `%s' is %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:382
+#, c-format
+msgid ""
+"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:474
 #, fuzzy, c-format
-msgid "Start logging `%s'\n"
-msgstr "Collection `%s' begonnen.\n"
+msgid "Failed to initialize solver `%s'!\n"
+msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n"
+
+#: src/ats/plugin_ats_proportional.c:1140
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f \n"
+msgstr "Konfiguration konnte nicht aus %s geladen werden\n"
+
+#: src/ats/plugin_ats_proportional.c:1163
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f\n"
+msgstr " gconfig\tGTK Konfiguration\n"
 
 #: src/ats-tests/ats-testing.c:420
 #, c-format
@@ -518,6 +585,15 @@ msgstr ""
 msgid "Failed to connect master peer [%u] with slave [%u]\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
 
+#: src/ats-tests/ats-testing-log.c:896
+msgid "Stop logging\n"
+msgstr "Protokollierung stoppen\n"
+
+#: src/ats-tests/ats-testing-log.c:952
+#, fuzzy, c-format
+msgid "Start logging `%s'\n"
+msgstr "Collection `%s' begonnen.\n"
+
 #: src/ats-tests/gnunet-ats-sim.c:92
 #, c-format
 msgid ""
@@ -525,16 +601,6 @@ msgid ""
 "= %u KiB/s\n"
 msgstr ""
 
-#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
-msgid "solver to use"
-msgstr ""
-
-#: src/ats-tests/gnunet-solver-eval.c:1003
-#: src/ats-tests/gnunet-solver-eval.c:1008
-#: src/ats/gnunet-ats-solver-eval.c:3557
-msgid "experiment to use"
-msgstr ""
-
 #: src/ats-tool/gnunet-ats.c:299
 #, c-format
 msgid "%u address resolutions had a timeout\n"
@@ -652,72 +718,6 @@ msgstr ""
 msgid "Print information about ATS state"
 msgstr "Informationen über andere GNUnet Knoten ausgeben."
 
-#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
-#, c-format
-msgid ""
-"Could not load quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3011
-#, c-format
-msgid ""
-"No outbound quota configured for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3063
-#, c-format
-msgid ""
-"No outbound quota configure for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3564
-msgid "print logging"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3569
-msgid "save logging to disk"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3574
-msgid "disable normalization"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:326
-#, c-format
-msgid ""
-"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:336
-#, c-format
-msgid "%s quota configured for network `%s' is %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:382
-#, c-format
-msgid ""
-"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:474
-#, fuzzy, c-format
-msgid "Failed to initialize solver `%s'!\n"
-msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n"
-
-#: src/ats/plugin_ats_proportional.c:1140
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f \n"
-msgstr "Konfiguration konnte nicht aus %s geladen werden\n"
-
-#: src/ats/plugin_ats_proportional.c:1163
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f\n"
-msgstr " gconfig\tGTK Konfiguration\n"
-
 #: src/auction/gnunet-auction-create.c:163
 msgid "description of the item to be sold"
 msgstr ""
@@ -850,28 +850,6 @@ msgstr "Ausführlicherer Modus (empfangene Werte ausgeben)"
 msgid "Connection to conversation service lost, trying to reconnect\n"
 msgstr ""
 
-#: src/conversation/gnunet-conversation-test.c:120
-#, c-format
-msgid ""
-"\n"
-"End of transmission.  Have a GNU day.\n"
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:146
-#, c-format
-msgid ""
-"\n"
-"We are now playing your recording back.  If you can hear it, your audio "
-"settings are working..."
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:218
-#, c-format
-msgid ""
-"We will now be recording you for %s. After that time, the recording will be "
-"played back to you..."
-msgstr ""
-
 #: src/conversation/gnunet-conversation.c:264
 #, c-format
 msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1131,8 +1109,30 @@ msgstr ""
 msgid "Enables having a conversation with other GNUnet users."
 msgstr ""
 
-#: src/conversation/gnunet-helper-audio-playback-gst.c:363
+#: src/conversation/gnunet-conversation-test.c:120
+#, c-format
+msgid ""
+"\n"
+"End of transmission.  Have a GNU day.\n"
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:146
+#, c-format
+msgid ""
+"\n"
+"We are now playing your recording back.  If you can hear it, your audio "
+"settings are working..."
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:218
+#, c-format
+msgid ""
+"We will now be recording you for %s. After that time, the recording will be "
+"played back to you..."
+msgstr ""
+
 #: src/conversation/gnunet_gst.c:664
+#: src/conversation/gnunet-helper-audio-playback-gst.c:363
 #, c-format
 msgid "Read error from STDIN: %d %s\n"
 msgstr "Fehler beim Lesen aus STDIN: %d %s\n"
@@ -1938,17 +1938,17 @@ msgstr "`%s' an `%s' schlug fehl bei %s:%d mit dem 
Fehler: %s\n"
 msgid "Mysql database running\n"
 msgstr "MySQL-Datenbank läuft\n"
 
-#: src/datastore/plugin_datastore_postgres.c:277
-#: src/datastore/plugin_datastore_postgres.c:890
+#: src/datastore/plugin_datastore_postgres.c:278
+#: src/datastore/plugin_datastore_postgres.c:891
 msgid "Postgress exec failure"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:851
+#: src/datastore/plugin_datastore_postgres.c:852
 #, fuzzy
 msgid "Failed to drop table from database.\n"
 msgstr "Fehler beim Binden an UDP Port %d.\n"
 
-#: src/datastore/plugin_datastore_postgres.c:949
+#: src/datastore/plugin_datastore_postgres.c:950
 msgid "Postgres database running\n"
 msgstr "PostgreSQL-Datenbank läuft\n"
 
@@ -2055,47 +2055,94 @@ msgstr ""
 msgid "Prints all packets that go through the DHT."
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:133
-msgid "Must provide KEY and DATA for DHT put!\n"
+#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
+#, c-format
+msgid "Exiting as the number of peers is %u\n"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:140
-#, fuzzy, c-format
-msgid "Could not connect to DHT service!\n"
-msgstr "Verbindung zum %s-Dienst ist fehlgeschlagen!\n"
+#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
+#, fuzzy
+msgid "number of peers to start"
+msgstr "Anzahl an Durchläufen"
 
-#: src/dht/gnunet-dht-put.c:151
-#, c-format
-msgid "Issuing put request for `%s' with data `%s'!\n"
+#: src/dht/gnunet_dht_profiler.c:961
+msgid "number of PUTs to perform per peer"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:187
-msgid "the data to insert under the key"
+#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
+#: src/testbed/gnunet-testbed-profiler.c:305
+msgid "name of the file with the login information for the testbed"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:193
-msgid "how long to store this entry in the dht (in seconds)"
+#: src/dht/gnunet_dht_profiler.c:973
+msgid "delay between rounds for collecting statistics (default: 30 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:208
-msgid "how many replicas to create"
+#: src/dht/gnunet_dht_profiler.c:979
+msgid "delay to start doing PUTs (default: 1 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:212
-msgid "use DHT's record route option"
+#: src/dht/gnunet_dht_profiler.c:985
+msgid "delay to start doing GETs (default: 5 min)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:217
-msgid "the type to insert data as"
+#: src/dht/gnunet_dht_profiler.c:990
+msgid "replication degree for DHT PUTs"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:232
-msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+#: src/dht/gnunet_dht_profiler.c:996
+msgid "chance that a peer is selected at random for PUTs"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:367
-#, fuzzy
-msgid "# GET requests from clients injected"
+#: src/dht/gnunet_dht_profiler.c:1002
+msgid "timeout for DHT PUT and GET requests (default: 1 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1023
+msgid "Measure quality and performance of the DHT service."
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:133
+msgid "Must provide KEY and DATA for DHT put!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:140
+#, fuzzy, c-format
+msgid "Could not connect to DHT service!\n"
+msgstr "Verbindung zum %s-Dienst ist fehlgeschlagen!\n"
+
+#: src/dht/gnunet-dht-put.c:151
+#, c-format
+msgid "Issuing put request for `%s' with data `%s'!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:187
+msgid "the data to insert under the key"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:193
+msgid "how long to store this entry in the dht (in seconds)"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:208
+msgid "how many replicas to create"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:212
+msgid "use DHT's record route option"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:217
+msgid "the type to insert data as"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:232
+msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+msgstr ""
+
+#: src/dht/gnunet-service-dht_clients.c:367
+#, fuzzy
+msgid "# GET requests from clients injected"
 msgstr "# gap Anfragen mit taktischer Entscheidung: nicht Antworten"
 
 #: src/dht/gnunet-service-dht_clients.c:483
@@ -2319,53 +2366,6 @@ msgstr ""
 msgid "# DHT requests combined"
 msgstr "# dht Anfragen weitergeleitet"
 
-#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
-#, c-format
-msgid "Exiting as the number of peers is %u\n"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
-#, fuzzy
-msgid "number of peers to start"
-msgstr "Anzahl an Durchläufen"
-
-#: src/dht/gnunet_dht_profiler.c:961
-msgid "number of PUTs to perform per peer"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
-#: src/testbed/gnunet-testbed-profiler.c:305
-msgid "name of the file with the login information for the testbed"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:973
-msgid "delay between rounds for collecting statistics (default: 30 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:979
-msgid "delay to start doing PUTs (default: 1 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:985
-msgid "delay to start doing GETs (default: 5 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:990
-msgid "replication degree for DHT PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:996
-msgid "chance that a peer is selected at random for PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1002
-msgid "timeout for DHT PUT and GET requests (default: 1 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1023
-msgid "Measure quality and performance of the DHT service."
-msgstr ""
-
 #: src/dht/plugin_block_dht.c:189
 #, fuzzy, c-format
 msgid "Block not of type %u\n"
@@ -3315,6 +3315,15 @@ msgid ""
 "chk/...)"
 msgstr ""
 
+#: src/fs/gnunet-fs.c:128
+msgid "print a list of all indexed files"
+msgstr ""
+
+#: src/fs/gnunet-fs.c:141
+#, fuzzy
+msgid "Special file-sharing operations"
+msgstr "Alle Optionen anzeigen"
+
 #: src/fs/gnunet-fs-profiler.c:211
 msgid "run the experiment with COUNT peers"
 msgstr ""
@@ -3331,15 +3340,6 @@ msgstr ""
 msgid "run a testbed to measure file-sharing performance"
 msgstr ""
 
-#: src/fs/gnunet-fs.c:128
-msgid "print a list of all indexed files"
-msgstr ""
-
-#: src/fs/gnunet-fs.c:141
-#, fuzzy
-msgid "Special file-sharing operations"
-msgstr "Alle Optionen anzeigen"
-
 #: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
 #, c-format
 msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4038,6 +4038,52 @@ msgstr ""
 msgid "look for GNS2DNS records instead of ANY"
 msgstr ""
 
+#: src/gns/gnunet-gns.c:257
+#, fuzzy, c-format
+msgid "`%s' is not a valid DNS domain name\n"
+msgstr "»%s« ist keine gültige IP-Adresse.\n"
+
+#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
+#, c-format
+msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:281
+msgid "Cannot resolve using GNS: GNUnet peer not running\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:305
+#, c-format
+msgid "Invalid typename specified, assuming `ANY'\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:340
+msgid "Lookup a record for the given name"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:346
+#, fuzzy
+msgid "Specify the type of the record to lookup"
+msgstr "Die Priorität des Inhalts angeben"
+
+#: src/gns/gnunet-gns.c:352
+#, fuzzy
+msgid "Specify a timeout for the lookup"
+msgstr "Die Priorität des Inhalts angeben"
+
+#: src/gns/gnunet-gns.c:356
+msgid "No unneeded output"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:361
+msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:375
+#, fuzzy
+msgid "GNUnet GNS resolver tool"
+msgstr "GNUnet Netzwerk Topologie tracen."
+
 #: src/gns/gnunet-gns-import.c:486
 msgid "This program will import some GNS authorities into your GNS namestore."
 msgstr ""
@@ -4158,52 +4204,6 @@ msgstr ""
 msgid "GNUnet GNS proxy"
 msgstr ""
 
-#: src/gns/gnunet-gns.c:253
-#, fuzzy, c-format
-msgid "`%s' is not a valid DNS domain name\n"
-msgstr "»%s« ist keine gültige IP-Adresse.\n"
-
-#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
-#, c-format
-msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:277
-msgid "Cannot resolve using GNS: GNUnet peer not running\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:301
-#, c-format
-msgid "Invalid typename specified, assuming `ANY'\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:336
-msgid "Lookup a record for the given name"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:342
-#, fuzzy
-msgid "Specify the type of the record to lookup"
-msgstr "Die Priorität des Inhalts angeben"
-
-#: src/gns/gnunet-gns.c:348
-#, fuzzy
-msgid "Specify a timeout for the lookup"
-msgstr "Die Priorität des Inhalts angeben"
-
-#: src/gns/gnunet-gns.c:352
-msgid "No unneeded output"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:357
-msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:371
-#, fuzzy
-msgid "GNUnet GNS resolver tool"
-msgstr "GNUnet Netzwerk Topologie tracen."
-
 #: src/gns/gnunet-service-gns.c:505
 #, fuzzy
 msgid "Properly base32-encoded public key required"
@@ -4215,8 +4215,8 @@ msgid "Failed to connect to the namecache!\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
 
 #: src/gns/gnunet-service-gns.c:560
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #: src/zonemaster/gnunet-service-zonemaster.c:887
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #, fuzzy
 msgid "Could not connect to DHT!\n"
 msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n"
@@ -4276,21 +4276,21 @@ msgstr ""
 msgid "GNS lookup failed (zero records found for `%s')\n"
 msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2376
+#: src/gns/gnunet-service-gns_resolver.c:2372
 msgid "GNS lookup recursion failed (no delegation record found)\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2399
+#: src/gns/gnunet-service-gns_resolver.c:2395
 #, fuzzy, c-format
 msgid "Failed to cache GNS resolution: %s\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2567
+#: src/gns/gnunet-service-gns_resolver.c:2563
 #, c-format
 msgid "GNS namecache returned empty result for `%s'\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2707
+#: src/gns/gnunet-service-gns_resolver.c:2703
 #, c-format
 msgid "Zone %s was revoked, resolution fails\n"
 msgstr ""
@@ -4966,70 +4966,6 @@ msgstr "Sqlite-Datenbank läuft\n"
 msgid "Failed to setup database at `%s'\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
 
-#: src/namestore/gnunet-namestore-fcfsd.c:551
-#, fuzzy, c-format
-msgid "Unsupported form value `%s'\n"
-msgstr "Kommando `%s' wird nicht unterstützt. Vorgang wird abgebrochen.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:578
-#, fuzzy, c-format
-msgid "Failed to create record for domain `%s': %s\n"
-msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:599
-msgid "Error when mapping zone to name\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:631
-#, c-format
-msgid "Found existing name `%s' for the given key\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:693
-#, c-format
-msgid "Found %u existing records for domain `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:783
-#, fuzzy, c-format
-msgid "Failed to create page for `%s'\n"
-msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:802
-#, fuzzy, c-format
-msgid "Failed to setup post processor for `%s'\n"
-msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:839
-msgid "Domain name must not contain `.'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:848
-msgid "Domain name must not contain `+'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1083
-msgid "No ego configured for `fcfsd` subsystem\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1114
-#, fuzzy
-msgid "Failed to start HTTP server\n"
-msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1162
-#, fuzzy
-msgid "Failed to connect to identity\n"
-msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1189
-msgid "name of the zone that is to be managed by FCFSD"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1209
-msgid "GNU Name System First Come First Serve name registration service"
-msgstr ""
-
 #: src/namestore/gnunet-namestore.c:334
 #, c-format
 msgid "Adding record failed: %s\n"
@@ -5249,7 +5185,71 @@ msgstr ""
 msgid "name of the ego controlling the zone"
 msgstr ""
 
-#: src/namestore/gnunet-service-namestore.c:864
+#: src/namestore/gnunet-namestore-fcfsd.c:551
+#, fuzzy, c-format
+msgid "Unsupported form value `%s'\n"
+msgstr "Kommando `%s' wird nicht unterstützt. Vorgang wird abgebrochen.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:578
+#, fuzzy, c-format
+msgid "Failed to create record for domain `%s': %s\n"
+msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:599
+msgid "Error when mapping zone to name\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:631
+#, c-format
+msgid "Found existing name `%s' for the given key\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:693
+#, c-format
+msgid "Found %u existing records for domain `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:783
+#, fuzzy, c-format
+msgid "Failed to create page for `%s'\n"
+msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:802
+#, fuzzy, c-format
+msgid "Failed to setup post processor for `%s'\n"
+msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:839
+msgid "Domain name must not contain `.'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:848
+msgid "Domain name must not contain `+'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1083
+msgid "No ego configured for `fcfsd` subsystem\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1114
+#, fuzzy
+msgid "Failed to start HTTP server\n"
+msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1162
+#, fuzzy
+msgid "Failed to connect to identity\n"
+msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1189
+msgid "name of the zone that is to be managed by FCFSD"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1209
+msgid "GNU Name System First Come First Serve name registration service"
+msgstr ""
+
+#: src/namestore/gnunet-service-namestore.c:866
 #, c-format
 msgid "Failed to replicate block in namecache: %s\n"
 msgstr ""
@@ -5571,6 +5571,10 @@ msgstr "Kommando `%s' wurde nicht gefunden!\n"
 msgid "`upnpc' command not found\n"
 msgstr "Kommando `%s' wurde nicht gefunden!\n"
 
+#: src/nse/gnunet-nse.c:124
+msgid "Show network size estimates from NSE service."
+msgstr ""
+
 #: src/nse/gnunet-nse-profiler.c:857
 msgid "limit to the number of connections to NSE services, 0 for none"
 msgstr ""
@@ -5583,26 +5587,79 @@ msgstr ""
 msgid "name of the file for writing the main results"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:888
-msgid "Number of peers to run in each round, separated by commas"
-msgstr ""
+#: src/nse/gnunet-nse-profiler.c:888
+msgid "Number of peers to run in each round, separated by commas"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:900
+msgid "delay between rounds"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:912
+msgid "Measure quality and performance of the NSE service."
+msgstr ""
+
+#: src/nse/gnunet-service-nse.c:1437
+#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+msgid "Value is too large.\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:175
+#, fuzzy, c-format
+msgid "Removing expired address of transport `%s'\n"
+msgstr "Verfügbare(r) Transport(e): %s\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:306
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s': %s\n"
+msgstr "Datei wurde als `%s' gespeichert.\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:323
+#: src/peerinfo/gnunet-service-peerinfo.c:348
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s'\n"
+msgstr "Datei wurde als `%s' gespeichert.\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:426
+msgid "# peers known"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:468
+#, c-format
+msgid ""
+"File `%s' in directory `%s' does not match naming convention. Removed.\n"
+msgstr ""
+"Die Datei »%s« im Verzeichnis »%s« entspricht nicht der Namenskonvention. "
+"Die Datei wurde entfernt.\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:624
+#, fuzzy, c-format
+msgid "Scanning directory `%s'\n"
+msgstr "==> Verzeichnis `%s':\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:631
+#, fuzzy, c-format
+msgid "Still no peers found in `%s'!\n"
+msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
 
-#: src/nse/gnunet-nse-profiler.c:900
-msgid "delay between rounds"
-msgstr ""
+#: src/peerinfo/gnunet-service-peerinfo.c:1024
+#, fuzzy, c-format
+msgid "Cleaning up directory `%s'\n"
+msgstr "==> Verzeichnis `%s':\n"
 
-#: src/nse/gnunet-nse-profiler.c:912
-msgid "Measure quality and performance of the NSE service."
+#: src/peerinfo/gnunet-service-peerinfo.c:1319
+#, c-format
+msgid "Importing HELLOs from `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse.c:124
-msgid "Show network size estimates from NSE service."
+#: src/peerinfo/gnunet-service-peerinfo.c:1332
+msgid "Skipping import of included HELLOs\n"
 msgstr ""
 
-#: src/nse/gnunet-service-nse.c:1437
-#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
-msgid "Value is too large.\n"
-msgstr ""
+#: src/peerinfo/peerinfo_api.c:217
+#, fuzzy
+msgid "Failed to receive response from `PEERINFO' service."
+msgstr "Fehler beim Empfangen der Antwort von gnunetd auf die `%s' Nachricht\n"
 
 #: src/peerinfo-tool/gnunet-peerinfo.c:237
 #, fuzzy, c-format
@@ -5700,63 +5757,6 @@ msgstr "Anwendung `%s' konnte nicht initialisiert 
werden.\n"
 msgid "Peerinfo REST API initialized\n"
 msgstr " Verbindung fehlgeschlagen\n"
 
-#: src/peerinfo/gnunet-service-peerinfo.c:175
-#, fuzzy, c-format
-msgid "Removing expired address of transport `%s'\n"
-msgstr "Verfügbare(r) Transport(e): %s\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:306
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s': %s\n"
-msgstr "Datei wurde als `%s' gespeichert.\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:323
-#: src/peerinfo/gnunet-service-peerinfo.c:348
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s'\n"
-msgstr "Datei wurde als `%s' gespeichert.\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:426
-msgid "# peers known"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:468
-#, c-format
-msgid ""
-"File `%s' in directory `%s' does not match naming convention. Removed.\n"
-msgstr ""
-"Die Datei »%s« im Verzeichnis »%s« entspricht nicht der Namenskonvention. "
-"Die Datei wurde entfernt.\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:624
-#, fuzzy, c-format
-msgid "Scanning directory `%s'\n"
-msgstr "==> Verzeichnis `%s':\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:631
-#, fuzzy, c-format
-msgid "Still no peers found in `%s'!\n"
-msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1024
-#, fuzzy, c-format
-msgid "Cleaning up directory `%s'\n"
-msgstr "==> Verzeichnis `%s':\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1319
-#, c-format
-msgid "Importing HELLOs from `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1332
-msgid "Skipping import of included HELLOs\n"
-msgstr ""
-
-#: src/peerinfo/peerinfo_api.c:217
-#, fuzzy
-msgid "Failed to receive response from `PEERINFO' service."
-msgstr "Fehler beim Empfangen der Antwort von gnunetd auf die `%s' Nachricht\n"
-
 #: src/peerstore/gnunet-peerstore.c:92
 msgid "peerstore"
 msgstr ""
@@ -6181,6 +6181,18 @@ msgstr ""
 msgid "Could not open revocation database file!"
 msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
 
+#: src/rps/gnunet-rps.c:270
+msgid "Seed a PeerID"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:275
+msgid "Get updates of view (0 for infinite updates)"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:279
+msgid "Get peers from biased stream"
+msgstr ""
+
 #: src/rps/gnunet-rps-profiler.c:3200
 msgid "duration of the profiling"
 msgstr ""
@@ -6198,18 +6210,6 @@ msgstr "Anzahl an Durchläufen"
 msgid "Measure quality and performance of the RPS service."
 msgstr ""
 
-#: src/rps/gnunet-rps.c:270
-msgid "Seed a PeerID"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:275
-msgid "Get updates of view (0 for infinite updates)"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:279
-msgid "Get peers from biased stream"
-msgstr ""
-
 #: src/scalarproduct/gnunet-scalarproduct.c:229
 #, fuzzy
 msgid "You must specify at least one message ID to check!\n"
@@ -6265,10 +6265,10 @@ msgstr ""
 msgid "Calculate the Vectorproduct with a GNUnet peer."
 msgstr ""
 
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
 #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #, fuzzy
 msgid "Connect to CADET failed\n"
 msgstr " Verbindung fehlgeschlagen\n"
@@ -6612,17 +6612,6 @@ msgstr ""
 msgid "%.s Unknown result code."
 msgstr ""
 
-#: src/testbed/gnunet-testbed-profiler.c:290
-msgid "tolerate COUNT number of continious timeout failures"
-msgstr ""
-
-#: src/testbed/gnunet-testbed-profiler.c:295
-msgid ""
-"run profiler in non-interactive mode where upon testbed setup the profiler "
-"does not wait for a keystroke but continues to run until a termination "
-"signal is received"
-msgstr ""
-
 #: src/testbed/gnunet_testbed_mpi_spawn.c:119
 #, fuzzy
 msgid "Waiting for child to exit.\n"
@@ -6635,6 +6624,17 @@ msgstr ""
 msgid "Spawning process `%s'\n"
 msgstr "Ungültige Antwort auf `%s'.\n"
 
+#: src/testbed/gnunet-testbed-profiler.c:290
+msgid "tolerate COUNT number of continious timeout failures"
+msgstr ""
+
+#: src/testbed/gnunet-testbed-profiler.c:295
+msgid ""
+"run profiler in non-interactive mode where upon testbed setup the profiler "
+"does not wait for a keystroke but continues to run until a termination "
+"signal is received"
+msgstr ""
+
 #: src/testbed/testbed_api.c:399
 #, fuzzy, c-format
 msgid "Adding host %u failed with error: %s\n"
@@ -6963,6 +6963,10 @@ msgstr "Pfad zu »%s« kann nicht erstellt werden\n"
 msgid "GNUnet UNIX domain socket communicator"
 msgstr ""
 
+#: src/transport/gnunet-service-transport_ats.c:137
+msgid "# Addresses given to ATS"
+msgstr ""
+
 #: src/transport/gnunet-service-transport.c:445
 msgid "# messages dropped due to slow client"
 msgstr ""
@@ -7003,10 +7007,6 @@ msgstr ""
 msgid "Adding blacklisting entry for peer `%s':`%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_ats.c:137
-msgid "# Addresses given to ATS"
-msgstr ""
-
 #: src/transport/gnunet-service-transport_hello.c:195
 msgid "# refreshed my HELLO"
 msgstr ""
@@ -7332,43 +7332,6 @@ msgstr ""
 msgid "# HELLOs given to peerinfo"
 msgstr ""
 
-#: src/transport/gnunet-transport-profiler.c:220
-#, c-format
-msgid "%llu B in %llu ms == %.2f KB/s!\n"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:577
-msgid "send data to peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:581
-#, fuzzy
-msgid "receive data from peer"
-msgstr "# Bytes des Typs %d empfangen"
-
-#: src/transport/gnunet-transport-profiler.c:586
-msgid "iterations"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:591
-#, fuzzy
-msgid "number of messages to send"
-msgstr "Anzahl an Durchläufen"
-
-#: src/transport/gnunet-transport-profiler.c:596
-msgid "message size to use"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:601
-#: src/transport/gnunet-transport.c:1404
-msgid "peer identity"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:614
-#: src/transport/gnunet-transport.c:1426
-msgid "Direct access to transport service."
-msgstr "Direkter Zugriff auf den Transportdienst"
-
 #: src/transport/gnunet-transport.c:406
 #, c-format
 msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7501,6 +7464,11 @@ msgstr ""
 msgid "do not resolve hostnames"
 msgstr "Keine Rechnernamen auflösen"
 
+#: src/transport/gnunet-transport.c:1404
+#: src/transport/gnunet-transport-profiler.c:601
+msgid "peer identity"
+msgstr ""
+
 #: src/transport/gnunet-transport.c:1408
 msgid "monitor plugin sessions"
 msgstr ""
@@ -7509,6 +7477,38 @@ msgstr ""
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1426
+#: src/transport/gnunet-transport-profiler.c:614
+msgid "Direct access to transport service."
+msgstr "Direkter Zugriff auf den Transportdienst"
+
+#: src/transport/gnunet-transport-profiler.c:220
+#, c-format
+msgid "%llu B in %llu ms == %.2f KB/s!\n"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:577
+msgid "send data to peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:581
+#, fuzzy
+msgid "receive data from peer"
+msgstr "# Bytes des Typs %d empfangen"
+
+#: src/transport/gnunet-transport-profiler.c:586
+msgid "iterations"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:591
+#, fuzzy
+msgid "number of messages to send"
+msgstr "Anzahl an Durchläufen"
+
+#: src/transport/gnunet-transport-profiler.c:596
+msgid "message size to use"
+msgstr ""
+
 #: src/transport/plugin_transport_http_client.c:1489
 #: src/transport/plugin_transport_http_server.c:2331
 #: src/transport/plugin_transport_http_server.c:3562
@@ -7781,6 +7781,21 @@ msgstr ""
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
 
+#: src/transport/plugin_transport_udp_broadcasting.c:169
+#, fuzzy
+msgid "# Multicast HELLO beacons received via UDP"
+msgstr "# Bytes empfangen über TCP"
+
+#: src/transport/plugin_transport_udp_broadcasting.c:553
+msgid ""
+"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:571
+#, fuzzy, c-format
+msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
+msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
+
 #: src/transport/plugin_transport_udp.c:3169
 #, c-format
 msgid ""
@@ -7828,21 +7843,6 @@ msgstr "»%s« ist keine gültige IP-Adresse.\n"
 msgid "Failed to create UDP network sockets\n"
 msgstr "UDP-Sockets können nicht geöffnet werden\n"
 
-#: src/transport/plugin_transport_udp_broadcasting.c:169
-#, fuzzy
-msgid "# Multicast HELLO beacons received via UDP"
-msgstr "# Bytes empfangen über TCP"
-
-#: src/transport/plugin_transport_udp_broadcasting.c:553
-msgid ""
-"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:571
-#, fuzzy, c-format
-msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
-msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-
 #: src/transport/plugin_transport_unix.c:1396
 #, fuzzy, c-format
 msgid "Cannot bind to `%s'\n"
@@ -7929,17 +7929,17 @@ msgstr "Zugriff verweigert auf »%s«\n"
 msgid "Accepting connection from `%s': %p\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400
+#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s).\n"
 msgstr "`%s' fehlgeschlagen für Laufwerk %s: %u\n"
 
-#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412
+#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s): address already in use\n"
 msgstr "`%s' schlug fehl für Port %d: %s. Läuft gnunetd bereits?\n"
 
-#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419
+#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
 #, fuzzy, c-format
 msgid "`%s' failed for `%s': address already in use\n"
 msgstr "%s schlug fehl, Nachrichten Typ %d ist bereits in Verwendung.\n"
@@ -7951,7 +7951,7 @@ msgid ""
 "`GNUNET_SERVER_receive_done' after %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837
+#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
 #, c-format
 msgid "Unknown address family %d\n"
 msgstr ""
@@ -7961,23 +7961,23 @@ msgstr ""
 msgid "Access from `%s' denied to service `%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950
+#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
 #, c-format
 msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991
+#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
 #, c-format
 msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:890
-#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480
+#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
 #, c-format
 msgid "Specified value for `%s' of service `%s' is invalid\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504
+#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
 #, c-format
 msgid "Could not access pre-bound socket %u, will try to bind myself\n"
 msgstr ""
@@ -7992,45 +7992,45 @@ msgstr "Es konnte keine Verbindung mit gnunetd 
hergestellt werden.\n"
 msgid "Service `%s' runs at %s\n"
 msgstr "Dienst »%s« läuft auf %s\n"
 
-#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750
+#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
 msgid "Service process failed to initialize\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755
+#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
 msgid "Service process could not initialize server function\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760
+#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
 msgid "Service process failed to report status\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
-#: src/util/service.c:1641
+#: src/util/service.c:1638
 #, fuzzy, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n"
 
-#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643
+#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
 msgid "No such user"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657
+#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
 #, c-format
 msgid "Cannot change user/group to `%s': %s\n"
 msgstr "Benutzer/Gruppe kann nicht zu »%s« geändert werden: %s\n"
 
-#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999
+#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
 msgid "do daemonize (detach from terminal)"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:906 src/util/service.c:2073
-#: src/util/service.c:2085
+#: src/transport/transport-testing2.c:906 src/util/service.c:2070
+#: src/util/service.c:2082
 #, fuzzy, c-format
 msgid "Malformed configuration file `%s', exit ...\n"
 msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
 
-#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095
+#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
 #, fuzzy
 msgid "Malformed configuration, exit ...\n"
 msgstr "GNUnet Konfiguration"
@@ -8073,69 +8073,69 @@ msgstr ""
 msgid "Metadata `%s' failed to deserialize"
 msgstr ""
 
-#: src/util/client.c:739 src/util/client.c:931
+#: src/util/client.c:747 src/util/client.c:937
 msgid "not a valid filename"
 msgstr ""
 
-#: src/util/client.c:1097
+#: src/util/client.c:1103
 #, c-format
 msgid "Need a non-empty hostname for service `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:259 src/util/common_logging.c:1116
+#: src/util/common_logging.c:259 src/util/common_logging.c:1112
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: src/util/common_logging.c:261 src/util/common_logging.c:1114
+#: src/util/common_logging.c:261 src/util/common_logging.c:1110
 msgid "INFO"
 msgstr "INFO"
 
-#: src/util/common_logging.c:263 src/util/common_logging.c:1112
+#: src/util/common_logging.c:263 src/util/common_logging.c:1108
 msgid "MESSAGE"
 msgstr ""
 
-#: src/util/common_logging.c:265 src/util/common_logging.c:1110
+#: src/util/common_logging.c:265 src/util/common_logging.c:1106
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: src/util/common_logging.c:267 src/util/common_logging.c:1108
+#: src/util/common_logging.c:267 src/util/common_logging.c:1104
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: src/util/common_logging.c:269 src/util/common_logging.c:1118
+#: src/util/common_logging.c:269 src/util/common_logging.c:1114
 msgid "NONE"
 msgstr ""
 
-#: src/util/common_logging.c:630 src/util/common_logging.c:669
+#: src/util/common_logging.c:626 src/util/common_logging.c:665
 #, c-format
 msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:906
+#: src/util/common_logging.c:902
 #, c-format
 msgid "Message `%.*s' repeated %u times in the last %s\n"
 msgstr ""
 
-#: src/util/common_logging.c:1119
+#: src/util/common_logging.c:1115
 msgid "INVALID"
 msgstr ""
 
-#: src/util/common_logging.c:1400
+#: src/util/common_logging.c:1396
 msgid "unknown address"
 msgstr "Unbekannte Adresse"
 
-#: src/util/common_logging.c:1445
+#: src/util/common_logging.c:1441
 msgid "invalid address"
 msgstr "Ungültige Adresse"
 
-#: src/util/common_logging.c:1464
+#: src/util/common_logging.c:1460
 #, fuzzy, c-format
 msgid "Configuration fails to specify option `%s' in section `%s'!\n"
 msgstr ""
 "Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis "
 "angeben, in dem FS Daten gespeichert werden.\n"
 
-#: src/util/common_logging.c:1487
+#: src/util/common_logging.c:1483
 #, fuzzy, c-format
 msgid ""
 "Configuration specifies invalid value for option `%s' in section `%s': %s\n"
@@ -8143,38 +8143,38 @@ msgstr ""
 "Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis "
 "angeben, in dem FS Daten gespeichert werden.\n"
 
-#: src/util/configuration.c:325
+#: src/util/configuration.c:402
 #, fuzzy, c-format
 msgid "Syntax error while deserializing in line %u\n"
 msgstr "Syntaxfehler in Konfigurationsdatei `%s' in Zeile %d.\n"
 
-#: src/util/configuration.c:383
+#: src/util/configuration.c:460
 #, fuzzy, c-format
 msgid "Error while reading file `%s'\n"
 msgstr "Konfigurationsdatei `%s' konnte nicht geöffnet werden.\n"
 
-#: src/util/configuration.c:986
+#: src/util/configuration.c:1063
 msgid "Not a valid relative time specification"
 msgstr ""
 
-#: src/util/configuration.c:1077
+#: src/util/configuration.c:1154
 #, c-format
 msgid ""
 "Configuration value '%s' for '%s' in section '%s' is not in set of legal "
 "choices\n"
 msgstr ""
 
-#: src/util/configuration.c:1192
+#: src/util/configuration.c:1269
 #, c-format
 msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1224
+#: src/util/configuration.c:1301
 #, c-format
 msgid "Missing closing `%s' in option `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1290
+#: src/util/configuration.c:1367
 #, c-format
 msgid ""
 "Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8239,7 +8239,7 @@ msgstr ""
 msgid "RSA signing failed at %s:%d: %s\n"
 msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n"
 
-#: src/util/crypto_rsa.c:1313
+#: src/util/crypto_rsa.c:1314
 #, fuzzy, c-format
 msgid "RSA signature verification failed at %s:%d: %s\n"
 msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n"
@@ -8344,11 +8344,11 @@ msgstr "Die Option »%s« ergibt keinen Sinn ohne die 
Option »%s«.\n"
 msgid "Missing mandatory option `%s'.\n"
 msgstr "Unbekannte Operation `%s'\n"
 
-#: src/util/getopt_helpers.c:68
+#: src/util/getopt_helpers.c:69
 msgid "print the version number"
 msgstr ""
 
-#: src/util/getopt_helpers.c:114
+#: src/util/getopt_helpers.c:116
 #, c-format
 msgid ""
 "Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8356,55 +8356,63 @@ msgstr ""
 "Argumente, die für lange Optionen zwingend sind, sind auch für kurze "
 "Optionen zwingend.\n"
 
-#: src/util/getopt_helpers.c:205
+#: src/util/getopt_helpers.c:208
 msgid "print this help"
 msgstr ""
 
-#: src/util/getopt_helpers.c:281
+#: src/util/getopt_helpers.c:288
 msgid "be verbose"
 msgstr ""
 
-#: src/util/getopt_helpers.c:417
+#: src/util/getopt_helpers.c:429
 msgid "configure logging to use LOGLEVEL"
 msgstr ""
 
-#: src/util/getopt_helpers.c:495
+#: src/util/getopt_helpers.c:510
 msgid "configure logging to write logs to FILENAME"
 msgstr ""
 
-#: src/util/getopt_helpers.c:516
+#: src/util/getopt_helpers.c:532
 #, fuzzy
 msgid "use configuration file FILENAME"
 msgstr ""
 "Einen Wert aus der Konfigurationsdatei auf der Standardausgabe ausgeben"
 
-#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747
-#: src/util/getopt_helpers.c:810
+#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
+#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
 #, c-format
 msgid "You must pass a number to the `%s' option.\n"
 msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n"
 
-#: src/util/getopt_helpers.c:612
+#: src/util/getopt_helpers.c:659
+msgid "[+/-]MICROSECONDS"
+msgstr ""
+
+#: src/util/getopt_helpers.c:661
+msgid "modify system time by given offset (for debugging/testing only)"
+msgstr ""
+
+#: src/util/getopt_helpers.c:696
 #, c-format
 msgid "You must pass relative time to the `%s' option.\n"
 msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n"
 
-#: src/util/getopt_helpers.c:675
+#: src/util/getopt_helpers.c:761
 #, fuzzy, c-format
 msgid "You must pass absolute time to the `%s' option.\n"
 msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n"
 
-#: src/util/getopt_helpers.c:740
+#: src/util/getopt_helpers.c:828
 #, c-format
-msgid "Your input for the '%s' option has to be a non negative number \n"
+msgid "Your input for the '%s' option has to be a non negative number\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:817
+#: src/util/getopt_helpers.c:907
 #, fuzzy, c-format
 msgid "You must pass a number below %u to the `%s' option.\n"
 msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n"
 
-#: src/util/getopt_helpers.c:902
+#: src/util/getopt_helpers.c:994
 #, c-format
 msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
 msgstr ""
@@ -8746,14 +8754,14 @@ msgstr "Standarddienst »%s« ist nicht korrekt 
eingerichtet!\n"
 msgid "Could not resolve our FQDN: %s\n"
 msgstr "`%s' konnte nicht aufgelöst werden: %s\n"
 
-#: src/util/service.c:657
+#: src/util/service.c:654
 #, c-format
 msgid ""
 "Processing code for message of type %u did not call "
 "`GNUNET_SERVICE_client_continue' after %s\n"
 msgstr ""
 
-#: src/util/service.c:1572
+#: src/util/service.c:1569
 msgid ""
 "Could not bind to any of the ports I was supposed to, refusing to run!\n"
 msgstr ""
@@ -9067,8 +9075,8 @@ msgstr "Dienst wird über UDP angeboten"
 msgid "Setup tunnels via VPN."
 msgstr "Tunnel über VPN einrichten."
 
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #: src/zonemaster/gnunet-service-zonemaster.c:849
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #, fuzzy
 msgid "Failed to connect to the namestore!\n"
 msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
diff --git a/po/it.po b/po/it.po
index 58c8b81ac..986bc8b64 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnunet 0.10.1\n"
 "Report-Msgid-Bugs-To: address@hidden\n"
-"POT-Creation-Date: 2020-01-13 14:01+0000\n"
+"POT-Creation-Date: 2020-02-13 20:41+0100\n"
 "PO-Revision-Date: 2019-10-16 11:00+0200\n"
 "Last-Translator: Sebastiano Pistore <address@hidden>\n"
 "Language-Team: Italian <address@hidden>\n"
@@ -31,8 +31,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
 msgstr ""
 
 #: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
-#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #: src/namestore/gnunet-namestore.c:1001
+#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #, c-format
 msgid "Failed to connect to namestore\n"
 msgstr ""
@@ -140,7 +140,7 @@ msgstr ""
 msgid "GNUnet abd resolver tool"
 msgstr ""
 
-#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288
+#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
 #, c-format
 msgid "Failed to connect to GNS\n"
 msgstr ""
@@ -376,28 +376,28 @@ msgstr ""
 #: src/transport/plugin_transport_tcp.c:1129
 #: src/transport/plugin_transport_tcp.c:3706
 #: src/transport/tcp_service_legacy.c:594
-#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094
-#: src/util/service.c:1100
+#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
+#: src/util/service.c:1097
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
-#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519
-#: src/util/service.c:1133
+#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
+#: src/util/service.c:1130
 #, c-format
 msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
-#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524
-#: src/util/service.c:1137
+#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
+#: src/util/service.c:1134
 #, c-format
 msgid "Using `%s' instead\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
-#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157
+#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
 #, c-format
 msgid ""
 "Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -405,7 +405,7 @@ msgid ""
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
-#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175
+#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
 #, c-format
 msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
 msgstr ""
@@ -413,7 +413,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:536
 #: src/transport/plugin_transport_http_server.c:2718
 #: src/transport/plugin_transport_tcp.c:1244
-#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206
+#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
 #, c-format
 msgid "Failed to resolve `%s': %s\n"
 msgstr ""
@@ -421,7 +421,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:555
 #: src/transport/plugin_transport_http_server.c:2736
 #: src/transport/plugin_transport_tcp.c:1263
-#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225
+#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
 #, c-format
 msgid "Failed to find %saddress for `%s'.\n"
 msgstr ""
@@ -492,13 +492,80 @@ msgstr ""
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:896
-msgid "Stop logging\n"
+#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
+#, c-format
+msgid ""
+"Could not load quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:952
+#: src/ats/gnunet-ats-solver-eval.c:3011
 #, c-format
-msgid "Start logging `%s'\n"
+msgid ""
+"No outbound quota configured for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3063
+#, c-format
+msgid ""
+"No outbound quota configure for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
+msgid "solver to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3557
+#: src/ats-tests/gnunet-solver-eval.c:1003
+#: src/ats-tests/gnunet-solver-eval.c:1008
+msgid "experiment to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3564
+msgid "print logging"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3569
+msgid "save logging to disk"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3574
+msgid "disable normalization"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:326
+#, c-format
+msgid ""
+"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:336
+#, c-format
+msgid "%s quota configured for network `%s' is %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:382
+#, c-format
+msgid ""
+"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:474
+#, c-format
+msgid "Failed to initialize solver `%s'!\n"
+msgstr ""
+
+#: src/ats/plugin_ats_proportional.c:1140
+#, c-format
+msgid "Invalid %s configuration %f \n"
+msgstr ""
+
+#: src/ats/plugin_ats_proportional.c:1163
+#, c-format
+msgid "Invalid %s configuration %f\n"
 msgstr ""
 
 #: src/ats-tests/ats-testing.c:420
@@ -511,6 +578,15 @@ msgstr ""
 msgid "Failed to connect master peer [%u] with slave [%u]\n"
 msgstr ""
 
+#: src/ats-tests/ats-testing-log.c:896
+msgid "Stop logging\n"
+msgstr ""
+
+#: src/ats-tests/ats-testing-log.c:952
+#, c-format
+msgid "Start logging `%s'\n"
+msgstr ""
+
 #: src/ats-tests/gnunet-ats-sim.c:92
 #, c-format
 msgid ""
@@ -518,16 +594,6 @@ msgid ""
 "= %u KiB/s\n"
 msgstr ""
 
-#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
-msgid "solver to use"
-msgstr ""
-
-#: src/ats-tests/gnunet-solver-eval.c:1003
-#: src/ats-tests/gnunet-solver-eval.c:1008
-#: src/ats/gnunet-ats-solver-eval.c:3557
-msgid "experiment to use"
-msgstr ""
-
 #: src/ats-tool/gnunet-ats.c:299
 #, c-format
 msgid "%u address resolutions had a timeout\n"
@@ -644,72 +710,6 @@ msgstr ""
 msgid "Print information about ATS state"
 msgstr ""
 
-#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
-#, c-format
-msgid ""
-"Could not load quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3011
-#, c-format
-msgid ""
-"No outbound quota configured for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3063
-#, c-format
-msgid ""
-"No outbound quota configure for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3564
-msgid "print logging"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3569
-msgid "save logging to disk"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3574
-msgid "disable normalization"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:326
-#, c-format
-msgid ""
-"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:336
-#, c-format
-msgid "%s quota configured for network `%s' is %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:382
-#, c-format
-msgid ""
-"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:474
-#, c-format
-msgid "Failed to initialize solver `%s'!\n"
-msgstr ""
-
-#: src/ats/plugin_ats_proportional.c:1140
-#, c-format
-msgid "Invalid %s configuration %f \n"
-msgstr ""
-
-#: src/ats/plugin_ats_proportional.c:1163
-#, c-format
-msgid "Invalid %s configuration %f\n"
-msgstr ""
-
 #: src/auction/gnunet-auction-create.c:163
 msgid "description of the item to be sold"
 msgstr ""
@@ -836,28 +836,6 @@ msgstr ""
 msgid "Connection to conversation service lost, trying to reconnect\n"
 msgstr ""
 
-#: src/conversation/gnunet-conversation-test.c:120
-#, c-format
-msgid ""
-"\n"
-"End of transmission.  Have a GNU day.\n"
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:146
-#, c-format
-msgid ""
-"\n"
-"We are now playing your recording back.  If you can hear it, your audio "
-"settings are working..."
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:218
-#, c-format
-msgid ""
-"We will now be recording you for %s. After that time, the recording will be "
-"played back to you..."
-msgstr ""
-
 #: src/conversation/gnunet-conversation.c:264
 #, c-format
 msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1114,8 +1092,30 @@ msgstr ""
 msgid "Enables having a conversation with other GNUnet users."
 msgstr ""
 
-#: src/conversation/gnunet-helper-audio-playback-gst.c:363
+#: src/conversation/gnunet-conversation-test.c:120
+#, c-format
+msgid ""
+"\n"
+"End of transmission.  Have a GNU day.\n"
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:146
+#, c-format
+msgid ""
+"\n"
+"We are now playing your recording back.  If you can hear it, your audio "
+"settings are working..."
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:218
+#, c-format
+msgid ""
+"We will now be recording you for %s. After that time, the recording will be "
+"played back to you..."
+msgstr ""
+
 #: src/conversation/gnunet_gst.c:664
+#: src/conversation/gnunet-helper-audio-playback-gst.c:363
 #, c-format
 msgid "Read error from STDIN: %d %s\n"
 msgstr ""
@@ -1887,16 +1887,16 @@ msgstr ""
 msgid "Mysql database running\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:277
-#: src/datastore/plugin_datastore_postgres.c:890
+#: src/datastore/plugin_datastore_postgres.c:278
+#: src/datastore/plugin_datastore_postgres.c:891
 msgid "Postgress exec failure"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:851
+#: src/datastore/plugin_datastore_postgres.c:852
 msgid "Failed to drop table from database.\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:949
+#: src/datastore/plugin_datastore_postgres.c:950
 msgid "Postgres database running\n"
 msgstr ""
 
@@ -2003,6 +2003,52 @@ msgstr ""
 msgid "Prints all packets that go through the DHT."
 msgstr ""
 
+#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
+#, c-format
+msgid "Exiting as the number of peers is %u\n"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
+msgid "number of peers to start"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:961
+msgid "number of PUTs to perform per peer"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
+#: src/testbed/gnunet-testbed-profiler.c:305
+msgid "name of the file with the login information for the testbed"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:973
+msgid "delay between rounds for collecting statistics (default: 30 sec)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:979
+msgid "delay to start doing PUTs (default: 1 sec)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:985
+msgid "delay to start doing GETs (default: 5 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:990
+msgid "replication degree for DHT PUTs"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:996
+msgid "chance that a peer is selected at random for PUTs"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1002
+msgid "timeout for DHT PUT and GET requests (default: 1 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1023
+msgid "Measure quality and performance of the DHT service."
+msgstr ""
+
 #: src/dht/gnunet-dht-put.c:133
 msgid "Must provide KEY and DATA for DHT put!\n"
 msgstr ""
@@ -2248,55 +2294,9 @@ msgstr ""
 msgid "# DHT requests combined"
 msgstr ""
 
-#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
+#: src/dht/plugin_block_dht.c:189
 #, c-format
-msgid "Exiting as the number of peers is %u\n"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
-msgid "number of peers to start"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:961
-msgid "number of PUTs to perform per peer"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
-#: src/testbed/gnunet-testbed-profiler.c:305
-msgid "name of the file with the login information for the testbed"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:973
-msgid "delay between rounds for collecting statistics (default: 30 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:979
-msgid "delay to start doing PUTs (default: 1 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:985
-msgid "delay to start doing GETs (default: 5 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:990
-msgid "replication degree for DHT PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:996
-msgid "chance that a peer is selected at random for PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1002
-msgid "timeout for DHT PUT and GET requests (default: 1 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1023
-msgid "Measure quality and performance of the DHT service."
-msgstr ""
-
-#: src/dht/plugin_block_dht.c:189
-#, c-format
-msgid "Block not of type %u\n"
+msgid "Block not of type %u\n"
 msgstr ""
 
 #: src/dht/plugin_block_dht.c:198
@@ -3203,6 +3203,14 @@ msgid ""
 "chk/...)"
 msgstr ""
 
+#: src/fs/gnunet-fs.c:128
+msgid "print a list of all indexed files"
+msgstr ""
+
+#: src/fs/gnunet-fs.c:141
+msgid "Special file-sharing operations"
+msgstr ""
+
 #: src/fs/gnunet-fs-profiler.c:211
 msgid "run the experiment with COUNT peers"
 msgstr ""
@@ -3219,14 +3227,6 @@ msgstr ""
 msgid "run a testbed to measure file-sharing performance"
 msgstr ""
 
-#: src/fs/gnunet-fs.c:128
-msgid "print a list of all indexed files"
-msgstr ""
-
-#: src/fs/gnunet-fs.c:141
-msgid "Special file-sharing operations"
-msgstr ""
-
 #: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
 #, c-format
 msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -3881,6 +3881,49 @@ msgstr ""
 msgid "look for GNS2DNS records instead of ANY"
 msgstr ""
 
+#: src/gns/gnunet-gns.c:257
+#, fuzzy, c-format
+msgid "`%s' is not a valid DNS domain name\n"
+msgstr "`%s' non è un indirizzo IP valido.\n"
+
+#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
+#, c-format
+msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:281
+msgid "Cannot resolve using GNS: GNUnet peer not running\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:305
+#, c-format
+msgid "Invalid typename specified, assuming `ANY'\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:340
+msgid "Lookup a record for the given name"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:346
+msgid "Specify the type of the record to lookup"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:352
+msgid "Specify a timeout for the lookup"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:356
+msgid "No unneeded output"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:361
+msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:375
+msgid "GNUnet GNS resolver tool"
+msgstr ""
+
 #: src/gns/gnunet-gns-import.c:486
 msgid "This program will import some GNS authorities into your GNS namestore."
 msgstr ""
@@ -4000,49 +4043,6 @@ msgstr ""
 msgid "GNUnet GNS proxy"
 msgstr ""
 
-#: src/gns/gnunet-gns.c:253
-#, fuzzy, c-format
-msgid "`%s' is not a valid DNS domain name\n"
-msgstr "`%s' non è un indirizzo IP valido.\n"
-
-#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
-#, c-format
-msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:277
-msgid "Cannot resolve using GNS: GNUnet peer not running\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:301
-#, c-format
-msgid "Invalid typename specified, assuming `ANY'\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:336
-msgid "Lookup a record for the given name"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:342
-msgid "Specify the type of the record to lookup"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:348
-msgid "Specify a timeout for the lookup"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:352
-msgid "No unneeded output"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:357
-msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:371
-msgid "GNUnet GNS resolver tool"
-msgstr ""
-
 #: src/gns/gnunet-service-gns.c:505
 #, fuzzy
 msgid "Properly base32-encoded public key required"
@@ -4053,8 +4053,8 @@ msgid "Failed to connect to the namecache!\n"
 msgstr ""
 
 #: src/gns/gnunet-service-gns.c:560
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #: src/zonemaster/gnunet-service-zonemaster.c:887
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 msgid "Could not connect to DHT!\n"
 msgstr ""
 
@@ -4110,21 +4110,21 @@ msgstr ""
 msgid "GNS lookup failed (zero records found for `%s')\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2376
+#: src/gns/gnunet-service-gns_resolver.c:2372
 msgid "GNS lookup recursion failed (no delegation record found)\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2399
+#: src/gns/gnunet-service-gns_resolver.c:2395
 #, c-format
 msgid "Failed to cache GNS resolution: %s\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2567
+#: src/gns/gnunet-service-gns_resolver.c:2563
 #, c-format
 msgid "GNS namecache returned empty result for `%s'\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2707
+#: src/gns/gnunet-service-gns_resolver.c:2703
 #, c-format
 msgid "Zone %s was revoked, resolution fails\n"
 msgstr ""
@@ -4784,68 +4784,6 @@ msgstr ""
 msgid "Failed to setup database at `%s'\n"
 msgstr "Impossibile avviare il servizio ' %s'\n"
 
-#: src/namestore/gnunet-namestore-fcfsd.c:551
-#, c-format
-msgid "Unsupported form value `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:578
-#, c-format
-msgid "Failed to create record for domain `%s': %s\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:599
-msgid "Error when mapping zone to name\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:631
-#, c-format
-msgid "Found existing name `%s' for the given key\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:693
-#, c-format
-msgid "Found %u existing records for domain `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:783
-#, c-format
-msgid "Failed to create page for `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:802
-#, c-format
-msgid "Failed to setup post processor for `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:839
-msgid "Domain name must not contain `.'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:848
-msgid "Domain name must not contain `+'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1083
-msgid "No ego configured for `fcfsd` subsystem\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1114
-msgid "Failed to start HTTP server\n"
-msgstr "Impossibile avviare il server HTTP\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1162
-msgid "Failed to connect to identity\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1189
-msgid "name of the zone that is to be managed by FCFSD"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1209
-msgid "GNU Name System First Come First Serve name registration service"
-msgstr ""
-
 #: src/namestore/gnunet-namestore.c:334
 #, c-format
 msgid "Adding record failed: %s\n"
@@ -5065,7 +5003,69 @@ msgstr ""
 msgid "name of the ego controlling the zone"
 msgstr ""
 
-#: src/namestore/gnunet-service-namestore.c:864
+#: src/namestore/gnunet-namestore-fcfsd.c:551
+#, c-format
+msgid "Unsupported form value `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:578
+#, c-format
+msgid "Failed to create record for domain `%s': %s\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:599
+msgid "Error when mapping zone to name\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:631
+#, c-format
+msgid "Found existing name `%s' for the given key\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:693
+#, c-format
+msgid "Found %u existing records for domain `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:783
+#, c-format
+msgid "Failed to create page for `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:802
+#, c-format
+msgid "Failed to setup post processor for `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:839
+msgid "Domain name must not contain `.'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:848
+msgid "Domain name must not contain `+'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1083
+msgid "No ego configured for `fcfsd` subsystem\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1114
+msgid "Failed to start HTTP server\n"
+msgstr "Impossibile avviare il server HTTP\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1162
+msgid "Failed to connect to identity\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1189
+msgid "name of the zone that is to be managed by FCFSD"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1209
+msgid "GNU Name System First Come First Serve name registration service"
+msgstr ""
+
+#: src/namestore/gnunet-service-namestore.c:866
 #, c-format
 msgid "Failed to replicate block in namecache: %s\n"
 msgstr ""
@@ -5371,37 +5371,91 @@ msgstr ""
 msgid "`upnpc' command not found\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:857
-msgid "limit to the number of connections to NSE services, 0 for none"
-msgstr ""
+#: src/nse/gnunet-nse.c:124
+msgid "Show network size estimates from NSE service."
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:857
+msgid "limit to the number of connections to NSE services, 0 for none"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:864
+msgid "name of the file for writing connection information and statistics"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:879
+msgid "name of the file for writing the main results"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:888
+msgid "Number of peers to run in each round, separated by commas"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:900
+msgid "delay between rounds"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:912
+msgid "Measure quality and performance of the NSE service."
+msgstr ""
+
+#: src/nse/gnunet-service-nse.c:1437
+#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+msgid "Value is too large.\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:175
+#, c-format
+msgid "Removing expired address of transport `%s'\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:306
+#, c-format
+msgid "Failed to parse HELLO in file `%s': %s\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:323
+#: src/peerinfo/gnunet-service-peerinfo.c:348
+#, c-format
+msgid "Failed to parse HELLO in file `%s'\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:426
+msgid "# peers known"
+msgstr "# peer conosciuti"
 
-#: src/nse/gnunet-nse-profiler.c:864
-msgid "name of the file for writing connection information and statistics"
+#: src/peerinfo/gnunet-service-peerinfo.c:468
+#, c-format
+msgid ""
+"File `%s' in directory `%s' does not match naming convention. Removed.\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:879
-msgid "name of the file for writing the main results"
+#: src/peerinfo/gnunet-service-peerinfo.c:624
+#, c-format
+msgid "Scanning directory `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:888
-msgid "Number of peers to run in each round, separated by commas"
+#: src/peerinfo/gnunet-service-peerinfo.c:631
+#, c-format
+msgid "Still no peers found in `%s'!\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:900
-msgid "delay between rounds"
+#: src/peerinfo/gnunet-service-peerinfo.c:1024
+#, c-format
+msgid "Cleaning up directory `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:912
-msgid "Measure quality and performance of the NSE service."
+#: src/peerinfo/gnunet-service-peerinfo.c:1319
+#, c-format
+msgid "Importing HELLOs from `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse.c:124
-msgid "Show network size estimates from NSE service."
+#: src/peerinfo/gnunet-service-peerinfo.c:1332
+msgid "Skipping import of included HELLOs\n"
 msgstr ""
 
-#: src/nse/gnunet-service-nse.c:1437
-#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
-msgid "Value is too large.\n"
+#: src/peerinfo/peerinfo_api.c:217
+msgid "Failed to receive response from `PEERINFO' service."
 msgstr ""
 
 #: src/peerinfo-tool/gnunet-peerinfo.c:237
@@ -5498,60 +5552,6 @@ msgstr ""
 msgid "Peerinfo REST API initialized\n"
 msgstr ""
 
-#: src/peerinfo/gnunet-service-peerinfo.c:175
-#, c-format
-msgid "Removing expired address of transport `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:306
-#, c-format
-msgid "Failed to parse HELLO in file `%s': %s\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:323
-#: src/peerinfo/gnunet-service-peerinfo.c:348
-#, c-format
-msgid "Failed to parse HELLO in file `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:426
-msgid "# peers known"
-msgstr "# peer conosciuti"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:468
-#, c-format
-msgid ""
-"File `%s' in directory `%s' does not match naming convention. Removed.\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:624
-#, c-format
-msgid "Scanning directory `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:631
-#, c-format
-msgid "Still no peers found in `%s'!\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1024
-#, c-format
-msgid "Cleaning up directory `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1319
-#, c-format
-msgid "Importing HELLOs from `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1332
-msgid "Skipping import of included HELLOs\n"
-msgstr ""
-
-#: src/peerinfo/peerinfo_api.c:217
-msgid "Failed to receive response from `PEERINFO' service."
-msgstr ""
-
 #: src/peerstore/gnunet-peerstore.c:92
 msgid "peerstore"
 msgstr ""
@@ -5958,6 +5958,18 @@ msgstr ""
 msgid "Could not open revocation database file!"
 msgstr ""
 
+#: src/rps/gnunet-rps.c:270
+msgid "Seed a PeerID"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:275
+msgid "Get updates of view (0 for infinite updates)"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:279
+msgid "Get peers from biased stream"
+msgstr ""
+
 #: src/rps/gnunet-rps-profiler.c:3200
 msgid "duration of the profiling"
 msgstr ""
@@ -5974,18 +5986,6 @@ msgstr ""
 msgid "Measure quality and performance of the RPS service."
 msgstr ""
 
-#: src/rps/gnunet-rps.c:270
-msgid "Seed a PeerID"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:275
-msgid "Get updates of view (0 for infinite updates)"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:279
-msgid "Get peers from biased stream"
-msgstr ""
-
 #: src/scalarproduct/gnunet-scalarproduct.c:229
 msgid "You must specify at least one message ID to check!\n"
 msgstr ""
@@ -6040,10 +6040,10 @@ msgstr ""
 msgid "Calculate the Vectorproduct with a GNUnet peer."
 msgstr ""
 
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
 #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 msgid "Connect to CADET failed\n"
 msgstr ""
 
@@ -6382,6 +6382,15 @@ msgstr ""
 msgid "%.s Unknown result code."
 msgstr ""
 
+#: src/testbed/gnunet_testbed_mpi_spawn.c:119
+msgid "Waiting for child to exit.\n"
+msgstr ""
+
+#: src/testbed/gnunet_testbed_mpi_spawn.c:242
+#, c-format
+msgid "Spawning process `%s'\n"
+msgstr ""
+
 #: src/testbed/gnunet-testbed-profiler.c:290
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
@@ -6393,15 +6402,6 @@ msgid ""
 "signal is received"
 msgstr ""
 
-#: src/testbed/gnunet_testbed_mpi_spawn.c:119
-msgid "Waiting for child to exit.\n"
-msgstr ""
-
-#: src/testbed/gnunet_testbed_mpi_spawn.c:242
-#, c-format
-msgid "Spawning process `%s'\n"
-msgstr ""
-
 #: src/testbed/testbed_api.c:399
 #, c-format
 msgid "Adding host %u failed with error: %s\n"
@@ -6723,6 +6723,10 @@ msgstr ""
 msgid "GNUnet UNIX domain socket communicator"
 msgstr ""
 
+#: src/transport/gnunet-service-transport_ats.c:137
+msgid "# Addresses given to ATS"
+msgstr ""
+
 #: src/transport/gnunet-service-transport.c:445
 msgid "# messages dropped due to slow client"
 msgstr ""
@@ -6763,10 +6767,6 @@ msgstr ""
 msgid "Adding blacklisting entry for peer `%s':`%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_ats.c:137
-msgid "# Addresses given to ATS"
-msgstr ""
-
 #: src/transport/gnunet-service-transport_hello.c:195
 msgid "# refreshed my HELLO"
 msgstr ""
@@ -7084,41 +7084,6 @@ msgstr ""
 msgid "# HELLOs given to peerinfo"
 msgstr ""
 
-#: src/transport/gnunet-transport-profiler.c:220
-#, c-format
-msgid "%llu B in %llu ms == %.2f KB/s!\n"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:577
-msgid "send data to peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:581
-msgid "receive data from peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:586
-msgid "iterations"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:591
-msgid "number of messages to send"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:596
-msgid "message size to use"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:601
-#: src/transport/gnunet-transport.c:1404
-msgid "peer identity"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:614
-#: src/transport/gnunet-transport.c:1426
-msgid "Direct access to transport service."
-msgstr ""
-
 #: src/transport/gnunet-transport.c:406
 #, c-format
 msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7251,6 +7216,11 @@ msgstr ""
 msgid "do not resolve hostnames"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1404
+#: src/transport/gnunet-transport-profiler.c:601
+msgid "peer identity"
+msgstr ""
+
 #: src/transport/gnunet-transport.c:1408
 msgid "monitor plugin sessions"
 msgstr ""
@@ -7259,6 +7229,36 @@ msgstr ""
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1426
+#: src/transport/gnunet-transport-profiler.c:614
+msgid "Direct access to transport service."
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:220
+#, c-format
+msgid "%llu B in %llu ms == %.2f KB/s!\n"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:577
+msgid "send data to peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:581
+msgid "receive data from peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:586
+msgid "iterations"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:591
+msgid "number of messages to send"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:596
+msgid "message size to use"
+msgstr ""
+
 #: src/transport/plugin_transport_http_client.c:1489
 #: src/transport/plugin_transport_http_server.c:2331
 #: src/transport/plugin_transport_http_server.c:3562
@@ -7525,6 +7525,21 @@ msgstr ""
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
 
+#: src/transport/plugin_transport_udp_broadcasting.c:169
+#, fuzzy
+msgid "# Multicast HELLO beacons received via UDP"
+msgstr "# messaggi PONG ricevuti"
+
+#: src/transport/plugin_transport_udp_broadcasting.c:553
+msgid ""
+"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:571
+#, c-format
+msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
+msgstr ""
+
 #: src/transport/plugin_transport_udp.c:3169
 #, c-format
 msgid ""
@@ -7571,21 +7586,6 @@ msgstr "deve essere un indirizzo IPv4 valido"
 msgid "Failed to create UDP network sockets\n"
 msgstr "Generazione statistiche fallita\n"
 
-#: src/transport/plugin_transport_udp_broadcasting.c:169
-#, fuzzy
-msgid "# Multicast HELLO beacons received via UDP"
-msgstr "# messaggi PONG ricevuti"
-
-#: src/transport/plugin_transport_udp_broadcasting.c:553
-msgid ""
-"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:571
-#, c-format
-msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
-msgstr ""
-
 #: src/transport/plugin_transport_unix.c:1396
 #, fuzzy, c-format
 msgid "Cannot bind to `%s'\n"
@@ -7669,17 +7669,17 @@ msgstr ""
 msgid "Accepting connection from `%s': %p\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400
+#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
 #, c-format
 msgid "`%s' failed for port %d (%s).\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412
+#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
 #, c-format
 msgid "`%s' failed for port %d (%s): address already in use\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419
+#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
 #, c-format
 msgid "`%s' failed for `%s': address already in use\n"
 msgstr ""
@@ -7691,7 +7691,7 @@ msgid ""
 "`GNUNET_SERVER_receive_done' after %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837
+#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
 #, c-format
 msgid "Unknown address family %d\n"
 msgstr ""
@@ -7701,23 +7701,23 @@ msgstr ""
 msgid "Access from `%s' denied to service `%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950
+#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
 #, c-format
 msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991
+#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
 #, c-format
 msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:890
-#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480
+#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
 #, c-format
 msgid "Specified value for `%s' of service `%s' is invalid\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504
+#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
 #, c-format
 msgid "Could not access pre-bound socket %u, will try to bind myself\n"
 msgstr ""
@@ -7732,45 +7732,45 @@ msgstr ""
 msgid "Service `%s' runs at %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750
+#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
 msgid "Service process failed to initialize\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755
+#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
 msgid "Service process could not initialize server function\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760
+#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
 msgid "Service process failed to report status\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
-#: src/util/service.c:1641
+#: src/util/service.c:1638
 #, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643
+#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
 msgid "No such user"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657
+#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
 #, c-format
 msgid "Cannot change user/group to `%s': %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999
+#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
 msgid "do daemonize (detach from terminal)"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:906 src/util/service.c:2073
-#: src/util/service.c:2085
+#: src/transport/transport-testing2.c:906 src/util/service.c:2070
+#: src/util/service.c:2082
 #, c-format
 msgid "Malformed configuration file `%s', exit ...\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095
+#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
 msgid "Malformed configuration, exit ...\n"
 msgstr ""
 
@@ -7812,104 +7812,104 @@ msgstr ""
 msgid "Metadata `%s' failed to deserialize"
 msgstr ""
 
-#: src/util/client.c:739 src/util/client.c:931
+#: src/util/client.c:747 src/util/client.c:937
 msgid "not a valid filename"
 msgstr ""
 
-#: src/util/client.c:1097
+#: src/util/client.c:1103
 #, c-format
 msgid "Need a non-empty hostname for service `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:259 src/util/common_logging.c:1116
+#: src/util/common_logging.c:259 src/util/common_logging.c:1112
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: src/util/common_logging.c:261 src/util/common_logging.c:1114
+#: src/util/common_logging.c:261 src/util/common_logging.c:1110
 msgid "INFO"
 msgstr "INFO"
 
-#: src/util/common_logging.c:263 src/util/common_logging.c:1112
+#: src/util/common_logging.c:263 src/util/common_logging.c:1108
 msgid "MESSAGE"
 msgstr ""
 
-#: src/util/common_logging.c:265 src/util/common_logging.c:1110
+#: src/util/common_logging.c:265 src/util/common_logging.c:1106
 msgid "WARNING"
 msgstr "ATTENZIONE"
 
-#: src/util/common_logging.c:267 src/util/common_logging.c:1108
+#: src/util/common_logging.c:267 src/util/common_logging.c:1104
 msgid "ERROR"
 msgstr "ERRORE"
 
-#: src/util/common_logging.c:269 src/util/common_logging.c:1118
+#: src/util/common_logging.c:269 src/util/common_logging.c:1114
 msgid "NONE"
 msgstr "NESSUNA"
 
-#: src/util/common_logging.c:630 src/util/common_logging.c:669
+#: src/util/common_logging.c:626 src/util/common_logging.c:665
 #, c-format
 msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:906
+#: src/util/common_logging.c:902
 #, c-format
 msgid "Message `%.*s' repeated %u times in the last %s\n"
 msgstr ""
 
-#: src/util/common_logging.c:1119
+#: src/util/common_logging.c:1115
 msgid "INVALID"
 msgstr "NON VALIDO"
 
-#: src/util/common_logging.c:1400
+#: src/util/common_logging.c:1396
 msgid "unknown address"
 msgstr "indirizzo sconosciuto"
 
-#: src/util/common_logging.c:1445
+#: src/util/common_logging.c:1441
 msgid "invalid address"
 msgstr "indirizzo non valido"
 
-#: src/util/common_logging.c:1464
+#: src/util/common_logging.c:1460
 #, c-format
 msgid "Configuration fails to specify option `%s' in section `%s'!\n"
 msgstr ""
 
-#: src/util/common_logging.c:1487
+#: src/util/common_logging.c:1483
 #, c-format
 msgid ""
 "Configuration specifies invalid value for option `%s' in section `%s': %s\n"
 msgstr ""
 
-#: src/util/configuration.c:325
+#: src/util/configuration.c:402
 #, c-format
 msgid "Syntax error while deserializing in line %u\n"
 msgstr ""
 
-#: src/util/configuration.c:383
+#: src/util/configuration.c:460
 #, c-format
 msgid "Error while reading file `%s'\n"
 msgstr "Errore di lettura del file `%s'\n"
 
-#: src/util/configuration.c:986
+#: src/util/configuration.c:1063
 msgid "Not a valid relative time specification"
 msgstr ""
 
-#: src/util/configuration.c:1077
+#: src/util/configuration.c:1154
 #, c-format
 msgid ""
 "Configuration value '%s' for '%s' in section '%s' is not in set of legal "
 "choices\n"
 msgstr ""
 
-#: src/util/configuration.c:1192
+#: src/util/configuration.c:1269
 #, c-format
 msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1224
+#: src/util/configuration.c:1301
 #, c-format
 msgid "Missing closing `%s' in option `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1290
+#: src/util/configuration.c:1367
 #, c-format
 msgid ""
 "Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -7971,7 +7971,7 @@ msgstr ""
 msgid "RSA signing failed at %s:%d: %s\n"
 msgstr ""
 
-#: src/util/crypto_rsa.c:1313
+#: src/util/crypto_rsa.c:1314
 #, c-format
 msgid "RSA signature verification failed at %s:%d: %s\n"
 msgstr ""
@@ -8076,63 +8076,71 @@ msgstr ""
 msgid "Missing mandatory option `%s'.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:68
+#: src/util/getopt_helpers.c:69
 msgid "print the version number"
 msgstr ""
 
-#: src/util/getopt_helpers.c:114
+#: src/util/getopt_helpers.c:116
 #, c-format
 msgid ""
 "Arguments mandatory for long options are also mandatory for short options.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:205
+#: src/util/getopt_helpers.c:208
 msgid "print this help"
 msgstr ""
 
-#: src/util/getopt_helpers.c:281
+#: src/util/getopt_helpers.c:288
 msgid "be verbose"
 msgstr ""
 
-#: src/util/getopt_helpers.c:417
+#: src/util/getopt_helpers.c:429
 msgid "configure logging to use LOGLEVEL"
 msgstr ""
 
-#: src/util/getopt_helpers.c:495
+#: src/util/getopt_helpers.c:510
 msgid "configure logging to write logs to FILENAME"
 msgstr ""
 
-#: src/util/getopt_helpers.c:516
+#: src/util/getopt_helpers.c:532
 msgid "use configuration file FILENAME"
 msgstr ""
 
-#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747
-#: src/util/getopt_helpers.c:810
+#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
+#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
 #, c-format
 msgid "You must pass a number to the `%s' option.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:612
+#: src/util/getopt_helpers.c:659
+msgid "[+/-]MICROSECONDS"
+msgstr ""
+
+#: src/util/getopt_helpers.c:661
+msgid "modify system time by given offset (for debugging/testing only)"
+msgstr ""
+
+#: src/util/getopt_helpers.c:696
 #, c-format
 msgid "You must pass relative time to the `%s' option.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:675
+#: src/util/getopt_helpers.c:761
 #, c-format
 msgid "You must pass absolute time to the `%s' option.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:740
+#: src/util/getopt_helpers.c:828
 #, c-format
-msgid "Your input for the '%s' option has to be a non negative number \n"
+msgid "Your input for the '%s' option has to be a non negative number\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:817
+#: src/util/getopt_helpers.c:907
 #, c-format
 msgid "You must pass a number below %u to the `%s' option.\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:902
+#: src/util/getopt_helpers.c:994
 #, c-format
 msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
 msgstr ""
@@ -8465,14 +8473,14 @@ msgstr ""
 msgid "Could not resolve our FQDN: %s\n"
 msgstr ""
 
-#: src/util/service.c:657
+#: src/util/service.c:654
 #, c-format
 msgid ""
 "Processing code for message of type %u did not call "
 "`GNUNET_SERVICE_client_continue' after %s\n"
 msgstr ""
 
-#: src/util/service.c:1572
+#: src/util/service.c:1569
 msgid ""
 "Could not bind to any of the ports I was supposed to, refusing to run!\n"
 msgstr ""
@@ -8780,8 +8788,8 @@ msgstr ""
 msgid "Setup tunnels via VPN."
 msgstr ""
 
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #: src/zonemaster/gnunet-service-zonemaster.c:849
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 msgid "Failed to connect to the namestore!\n"
 msgstr ""
 
diff --git a/po/sv.po b/po/sv.po
index 8631b6f13..804d41284 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden\n"
-"POT-Creation-Date: 2020-01-13 14:01+0000\n"
+"POT-Creation-Date: 2020-02-13 20:41+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"
@@ -27,8 +27,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
 msgstr "Ogiltigt argument: \"%s\"\n"
 
 #: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
-#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #: src/namestore/gnunet-namestore.c:1001
+#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #, fuzzy, c-format
 msgid "Failed to connect to namestore\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -140,7 +140,7 @@ msgstr ""
 msgid "GNUnet abd resolver tool"
 msgstr "Spåra GNUnets nätverkstopologi."
 
-#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288
+#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
 #, fuzzy, c-format
 msgid "Failed to connect to GNS\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -385,28 +385,28 @@ msgstr ""
 #: src/transport/plugin_transport_tcp.c:1129
 #: src/transport/plugin_transport_tcp.c:3706
 #: src/transport/tcp_service_legacy.c:594
-#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094
-#: src/util/service.c:1100
+#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
+#: src/util/service.c:1097
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
-#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519
-#: src/util/service.c:1133
+#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
+#: src/util/service.c:1130
 #, c-format
 msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
-#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524
-#: src/util/service.c:1137
+#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
+#: src/util/service.c:1134
 #, fuzzy, c-format
 msgid "Using `%s' instead\n"
 msgstr "%s: flagga \"%s\" är tvetydig\n"
 
 #: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
-#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157
+#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
 #, c-format
 msgid ""
 "Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -414,7 +414,7 @@ msgid ""
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
-#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175
+#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
 #, c-format
 msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
 msgstr ""
@@ -422,7 +422,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:536
 #: src/transport/plugin_transport_http_server.c:2718
 #: src/transport/plugin_transport_tcp.c:1244
-#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206
+#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
 #, fuzzy, c-format
 msgid "Failed to resolve `%s': %s\n"
 msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
@@ -430,7 +430,7 @@ msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
 #: src/arm/gnunet-service-arm.c:555
 #: src/transport/plugin_transport_http_server.c:2736
 #: src/transport/plugin_transport_tcp.c:1263
-#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225
+#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
 #, fuzzy, c-format
 msgid "Failed to find %saddress for `%s'.\n"
 msgstr "Misslyckades att binda till UDP-port %d.\n"
@@ -502,15 +502,83 @@ msgstr ""
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:896
-msgid "Stop logging\n"
+#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
+#, c-format
+msgid ""
+"Could not load quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:952
-#, fuzzy, c-format
-msgid "Start logging `%s'\n"
+#: src/ats/gnunet-ats-solver-eval.c:3011
+#, c-format
+msgid ""
+"No outbound quota configured for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3063
+#, c-format
+msgid ""
+"No outbound quota configure for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
+msgid "solver to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3557
+#: src/ats-tests/gnunet-solver-eval.c:1003
+#: src/ats-tests/gnunet-solver-eval.c:1008
+msgid "experiment to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3564
+#, fuzzy
+msgid "print logging"
 msgstr "Startade samling \"%s\".\n"
 
+#: src/ats/gnunet-ats-solver-eval.c:3569
+msgid "save logging to disk"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3574
+msgid "disable normalization"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:326
+#, c-format
+msgid ""
+"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:336
+#, c-format
+msgid "%s quota configured for network `%s' is %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:382
+#, c-format
+msgid ""
+"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:474
+#, fuzzy, c-format
+msgid "Failed to initialize solver `%s'!\n"
+msgstr "Kunde inte initiera SQLite.\n"
+
+#: src/ats/plugin_ats_proportional.c:1140
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f \n"
+msgstr "Kunde inte spara konfigurationsfil \"%s\":"
+
+#: src/ats/plugin_ats_proportional.c:1163
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f\n"
+msgstr "Kunde inte spara konfigurationsfil \"%s\":"
+
 #: src/ats-tests/ats-testing.c:420
 #, c-format
 msgid "Connected master [%u] with slave [%u]\n"
@@ -521,6 +589,15 @@ msgstr ""
 msgid "Failed to connect master peer [%u] with slave [%u]\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
 
+#: src/ats-tests/ats-testing-log.c:896
+msgid "Stop logging\n"
+msgstr ""
+
+#: src/ats-tests/ats-testing-log.c:952
+#, fuzzy, c-format
+msgid "Start logging `%s'\n"
+msgstr "Startade samling \"%s\".\n"
+
 #: src/ats-tests/gnunet-ats-sim.c:92
 #, c-format
 msgid ""
@@ -528,16 +605,6 @@ msgid ""
 "= %u KiB/s\n"
 msgstr ""
 
-#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
-msgid "solver to use"
-msgstr ""
-
-#: src/ats-tests/gnunet-solver-eval.c:1003
-#: src/ats-tests/gnunet-solver-eval.c:1008
-#: src/ats/gnunet-ats-solver-eval.c:3557
-msgid "experiment to use"
-msgstr ""
-
 #: src/ats-tool/gnunet-ats.c:299
 #, c-format
 msgid "%u address resolutions had a timeout\n"
@@ -659,73 +726,6 @@ msgstr ""
 msgid "Print information about ATS state"
 msgstr "Skriv ut information om GNUnets motparter."
 
-#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
-#, c-format
-msgid ""
-"Could not load quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3011
-#, c-format
-msgid ""
-"No outbound quota configured for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3063
-#, c-format
-msgid ""
-"No outbound quota configure for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3564
-#, fuzzy
-msgid "print logging"
-msgstr "Startade samling \"%s\".\n"
-
-#: src/ats/gnunet-ats-solver-eval.c:3569
-msgid "save logging to disk"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3574
-msgid "disable normalization"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:326
-#, c-format
-msgid ""
-"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:336
-#, c-format
-msgid "%s quota configured for network `%s' is %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:382
-#, c-format
-msgid ""
-"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:474
-#, fuzzy, c-format
-msgid "Failed to initialize solver `%s'!\n"
-msgstr "Kunde inte initiera SQLite.\n"
-
-#: src/ats/plugin_ats_proportional.c:1140
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f \n"
-msgstr "Kunde inte spara konfigurationsfil \"%s\":"
-
-#: src/ats/plugin_ats_proportional.c:1163
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f\n"
-msgstr "Kunde inte spara konfigurationsfil \"%s\":"
-
 #: src/auction/gnunet-auction-create.c:163
 msgid "description of the item to be sold"
 msgstr ""
@@ -861,28 +861,6 @@ msgstr ""
 msgid "Connection to conversation service lost, trying to reconnect\n"
 msgstr ""
 
-#: src/conversation/gnunet-conversation-test.c:120
-#, c-format
-msgid ""
-"\n"
-"End of transmission.  Have a GNU day.\n"
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:146
-#, c-format
-msgid ""
-"\n"
-"We are now playing your recording back.  If you can hear it, your audio "
-"settings are working..."
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:218
-#, c-format
-msgid ""
-"We will now be recording you for %s. After that time, the recording will be "
-"played back to you..."
-msgstr ""
-
 #: src/conversation/gnunet-conversation.c:264
 #, c-format
 msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1142,8 +1120,30 @@ msgstr ""
 msgid "Enables having a conversation with other GNUnet users."
 msgstr ""
 
-#: src/conversation/gnunet-helper-audio-playback-gst.c:363
+#: src/conversation/gnunet-conversation-test.c:120
+#, c-format
+msgid ""
+"\n"
+"End of transmission.  Have a GNU day.\n"
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:146
+#, c-format
+msgid ""
+"\n"
+"We are now playing your recording back.  If you can hear it, your audio "
+"settings are working..."
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:218
+#, c-format
+msgid ""
+"We will now be recording you for %s. After that time, the recording will be "
+"played back to you..."
+msgstr ""
+
 #: src/conversation/gnunet_gst.c:664
+#: src/conversation/gnunet-helper-audio-playback-gst.c:363
 #, c-format
 msgid "Read error from STDIN: %d %s\n"
 msgstr ""
@@ -1971,17 +1971,17 @@ msgstr "\"%s\" till \"%s\" misslyckades vid %s:%d med 
fel: %s\n"
 msgid "Mysql database running\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:277
-#: src/datastore/plugin_datastore_postgres.c:890
+#: src/datastore/plugin_datastore_postgres.c:278
+#: src/datastore/plugin_datastore_postgres.c:891
 msgid "Postgress exec failure"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:851
+#: src/datastore/plugin_datastore_postgres.c:852
 #, fuzzy
 msgid "Failed to drop table from database.\n"
 msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
 
-#: src/datastore/plugin_datastore_postgres.c:949
+#: src/datastore/plugin_datastore_postgres.c:950
 msgid "Postgres database running\n"
 msgstr ""
 
@@ -2089,45 +2089,93 @@ msgstr ""
 msgid "Prints all packets that go through the DHT."
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:133
-msgid "Must provide KEY and DATA for DHT put!\n"
-msgstr ""
-
-#: src/dht/gnunet-dht-put.c:140
+#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
 #, fuzzy, c-format
-msgid "Could not connect to DHT service!\n"
-msgstr "Kunde inte ansluta till gnunetd.\n"
+msgid "Exiting as the number of peers is %u\n"
+msgstr "Maximalt antal chattklienter uppnått.\n"
 
-#: src/dht/gnunet-dht-put.c:151
-#, c-format
-msgid "Issuing put request for `%s' with data `%s'!\n"
+#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
+#, fuzzy
+msgid "number of peers to start"
+msgstr "antal iterationer"
+
+#: src/dht/gnunet_dht_profiler.c:961
+msgid "number of PUTs to perform per peer"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:187
-msgid "the data to insert under the key"
+#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
+#: src/testbed/gnunet-testbed-profiler.c:305
+msgid "name of the file with the login information for the testbed"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:193
-msgid "how long to store this entry in the dht (in seconds)"
+#: src/dht/gnunet_dht_profiler.c:973
+msgid "delay between rounds for collecting statistics (default: 30 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:208
-msgid "how many replicas to create"
+#: src/dht/gnunet_dht_profiler.c:979
+msgid "delay to start doing PUTs (default: 1 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:212
-msgid "use DHT's record route option"
+#: src/dht/gnunet_dht_profiler.c:985
+msgid "delay to start doing GETs (default: 5 min)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:217
-msgid "the type to insert data as"
+#: src/dht/gnunet_dht_profiler.c:990
+msgid "replication degree for DHT PUTs"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:232
-msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+#: src/dht/gnunet_dht_profiler.c:996
+msgid "chance that a peer is selected at random for PUTs"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:367
+#: src/dht/gnunet_dht_profiler.c:1002
+msgid "timeout for DHT PUT and GET requests (default: 1 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1023
+#, fuzzy
+msgid "Measure quality and performance of the DHT service."
+msgstr "Kan inte tillgå tjänsten"
+
+#: src/dht/gnunet-dht-put.c:133
+msgid "Must provide KEY and DATA for DHT put!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:140
+#, fuzzy, c-format
+msgid "Could not connect to DHT service!\n"
+msgstr "Kunde inte ansluta till gnunetd.\n"
+
+#: src/dht/gnunet-dht-put.c:151
+#, c-format
+msgid "Issuing put request for `%s' with data `%s'!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:187
+msgid "the data to insert under the key"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:193
+msgid "how long to store this entry in the dht (in seconds)"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:208
+msgid "how many replicas to create"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:212
+msgid "use DHT's record route option"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:217
+msgid "the type to insert data as"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:232
+msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+msgstr ""
+
+#: src/dht/gnunet-service-dht_clients.c:367
 #, fuzzy
 msgid "# GET requests from clients injected"
 msgstr "# byte mottogs via TCP"
@@ -2359,54 +2407,6 @@ msgstr ""
 msgid "# DHT requests combined"
 msgstr "# byte mottogs via TCP"
 
-#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
-#, fuzzy, c-format
-msgid "Exiting as the number of peers is %u\n"
-msgstr "Maximalt antal chattklienter uppnått.\n"
-
-#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
-#, fuzzy
-msgid "number of peers to start"
-msgstr "antal iterationer"
-
-#: src/dht/gnunet_dht_profiler.c:961
-msgid "number of PUTs to perform per peer"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
-#: src/testbed/gnunet-testbed-profiler.c:305
-msgid "name of the file with the login information for the testbed"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:973
-msgid "delay between rounds for collecting statistics (default: 30 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:979
-msgid "delay to start doing PUTs (default: 1 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:985
-msgid "delay to start doing GETs (default: 5 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:990
-msgid "replication degree for DHT PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:996
-msgid "chance that a peer is selected at random for PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1002
-msgid "timeout for DHT PUT and GET requests (default: 1 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1023
-#, fuzzy
-msgid "Measure quality and performance of the DHT service."
-msgstr "Kan inte tillgå tjänsten"
-
 #: src/dht/plugin_block_dht.c:189
 #, fuzzy, c-format
 msgid "Block not of type %u\n"
@@ -3358,6 +3358,15 @@ msgid ""
 "chk/...)"
 msgstr ""
 
+#: src/fs/gnunet-fs.c:128
+msgid "print a list of all indexed files"
+msgstr ""
+
+#: src/fs/gnunet-fs.c:141
+#, fuzzy
+msgid "Special file-sharing operations"
+msgstr "Visa alla alternativ"
+
 #: src/fs/gnunet-fs-profiler.c:211
 msgid "run the experiment with COUNT peers"
 msgstr ""
@@ -3374,15 +3383,6 @@ msgstr ""
 msgid "run a testbed to measure file-sharing performance"
 msgstr ""
 
-#: src/fs/gnunet-fs.c:128
-msgid "print a list of all indexed files"
-msgstr ""
-
-#: src/fs/gnunet-fs.c:141
-#, fuzzy
-msgid "Special file-sharing operations"
-msgstr "Visa alla alternativ"
-
 #: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
 #, c-format
 msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4069,6 +4069,52 @@ msgstr ""
 msgid "look for GNS2DNS records instead of ANY"
 msgstr ""
 
+#: src/gns/gnunet-gns.c:257
+#, fuzzy, c-format
+msgid "`%s' is not a valid DNS domain name\n"
+msgstr "\"%s\" är inte tillgänglig."
+
+#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
+#, fuzzy, c-format
+msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
+msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
+
+#: src/gns/gnunet-gns.c:281
+msgid "Cannot resolve using GNS: GNUnet peer not running\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:305
+#, c-format
+msgid "Invalid typename specified, assuming `ANY'\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:340
+msgid "Lookup a record for the given name"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:346
+#, fuzzy
+msgid "Specify the type of the record to lookup"
+msgstr "ange prioritet för innehållet"
+
+#: src/gns/gnunet-gns.c:352
+#, fuzzy
+msgid "Specify a timeout for the lookup"
+msgstr "ange prioritet för innehållet"
+
+#: src/gns/gnunet-gns.c:356
+msgid "No unneeded output"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:361
+msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:375
+#, fuzzy
+msgid "GNUnet GNS resolver tool"
+msgstr "Spåra GNUnets nätverkstopologi."
+
 #: src/gns/gnunet-gns-import.c:486
 msgid "This program will import some GNS authorities into your GNS namestore."
 msgstr ""
@@ -4189,52 +4235,6 @@ msgstr ""
 msgid "GNUnet GNS proxy"
 msgstr ""
 
-#: src/gns/gnunet-gns.c:253
-#, fuzzy, c-format
-msgid "`%s' is not a valid DNS domain name\n"
-msgstr "\"%s\" är inte tillgänglig."
-
-#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
-#, fuzzy, c-format
-msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
-msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-
-#: src/gns/gnunet-gns.c:277
-msgid "Cannot resolve using GNS: GNUnet peer not running\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:301
-#, c-format
-msgid "Invalid typename specified, assuming `ANY'\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:336
-msgid "Lookup a record for the given name"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:342
-#, fuzzy
-msgid "Specify the type of the record to lookup"
-msgstr "ange prioritet för innehållet"
-
-#: src/gns/gnunet-gns.c:348
-#, fuzzy
-msgid "Specify a timeout for the lookup"
-msgstr "ange prioritet för innehållet"
-
-#: src/gns/gnunet-gns.c:352
-msgid "No unneeded output"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:357
-msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:371
-#, fuzzy
-msgid "GNUnet GNS resolver tool"
-msgstr "Spåra GNUnets nätverkstopologi."
-
 #: src/gns/gnunet-service-gns.c:505
 #, fuzzy
 msgid "Properly base32-encoded public key required"
@@ -4246,8 +4246,8 @@ msgid "Failed to connect to the namecache!\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
 
 #: src/gns/gnunet-service-gns.c:560
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #: src/zonemaster/gnunet-service-zonemaster.c:887
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #, fuzzy
 msgid "Could not connect to DHT!\n"
 msgstr "Kunde inte ansluta till gnunetd.\n"
@@ -4306,21 +4306,21 @@ msgstr ""
 msgid "GNS lookup failed (zero records found for `%s')\n"
 msgstr "%d filer hittades i katalog.\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2376
+#: src/gns/gnunet-service-gns_resolver.c:2372
 msgid "GNS lookup recursion failed (no delegation record found)\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2399
+#: src/gns/gnunet-service-gns_resolver.c:2395
 #, fuzzy, c-format
 msgid "Failed to cache GNS resolution: %s\n"
 msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2567
+#: src/gns/gnunet-service-gns_resolver.c:2563
 #, c-format
 msgid "GNS namecache returned empty result for `%s'\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2707
+#: src/gns/gnunet-service-gns_resolver.c:2703
 #, c-format
 msgid "Zone %s was revoked, resolution fails\n"
 msgstr ""
@@ -4994,70 +4994,6 @@ msgstr ""
 msgid "Failed to setup database at `%s'\n"
 msgstr "Fel vid %s:%d.\n"
 
-#: src/namestore/gnunet-namestore-fcfsd.c:551
-#, fuzzy, c-format
-msgid "Unsupported form value `%s'\n"
-msgstr "Kommando \"%s\" stöds ej.  Avbryter.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:578
-#, fuzzy, c-format
-msgid "Failed to create record for domain `%s': %s\n"
-msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:599
-msgid "Error when mapping zone to name\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:631
-#, c-format
-msgid "Found existing name `%s' for the given key\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:693
-#, c-format
-msgid "Found %u existing records for domain `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:783
-#, fuzzy, c-format
-msgid "Failed to create page for `%s'\n"
-msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:802
-#, fuzzy, c-format
-msgid "Failed to setup post processor for `%s'\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:839
-msgid "Domain name must not contain `.'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:848
-msgid "Domain name must not contain `+'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1083
-msgid "No ego configured for `fcfsd` subsystem\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1114
-#, fuzzy
-msgid "Failed to start HTTP server\n"
-msgstr "Misslyckades att starta samling.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1162
-#, fuzzy
-msgid "Failed to connect to identity\n"
-msgstr "Misslyckades att ansluta till gnunetd.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1189
-msgid "name of the zone that is to be managed by FCFSD"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1209
-msgid "GNU Name System First Come First Serve name registration service"
-msgstr ""
-
 #: src/namestore/gnunet-namestore.c:334
 #, fuzzy, c-format
 msgid "Adding record failed: %s\n"
@@ -5287,7 +5223,71 @@ msgstr ""
 msgid "name of the ego controlling the zone"
 msgstr "Visa värde av alternativet"
 
-#: src/namestore/gnunet-service-namestore.c:864
+#: src/namestore/gnunet-namestore-fcfsd.c:551
+#, fuzzy, c-format
+msgid "Unsupported form value `%s'\n"
+msgstr "Kommando \"%s\" stöds ej.  Avbryter.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:578
+#, fuzzy, c-format
+msgid "Failed to create record for domain `%s': %s\n"
+msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:599
+msgid "Error when mapping zone to name\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:631
+#, c-format
+msgid "Found existing name `%s' for the given key\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:693
+#, c-format
+msgid "Found %u existing records for domain `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:783
+#, fuzzy, c-format
+msgid "Failed to create page for `%s'\n"
+msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:802
+#, fuzzy, c-format
+msgid "Failed to setup post processor for `%s'\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:839
+msgid "Domain name must not contain `.'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:848
+msgid "Domain name must not contain `+'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1083
+msgid "No ego configured for `fcfsd` subsystem\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1114
+#, fuzzy
+msgid "Failed to start HTTP server\n"
+msgstr "Misslyckades att starta samling.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1162
+#, fuzzy
+msgid "Failed to connect to identity\n"
+msgstr "Misslyckades att ansluta till gnunetd.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1189
+msgid "name of the zone that is to be managed by FCFSD"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1209
+msgid "GNU Name System First Come First Serve name registration service"
+msgstr ""
+
+#: src/namestore/gnunet-service-namestore.c:866
 #, fuzzy, c-format
 msgid "Failed to replicate block in namecache: %s\n"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
@@ -5609,6 +5609,11 @@ msgstr ""
 msgid "`upnpc' command not found\n"
 msgstr ""
 
+#: src/nse/gnunet-nse.c:124
+#, fuzzy
+msgid "Show network size estimates from NSE service."
+msgstr "# byte mottogs via TCP"
+
 #: src/nse/gnunet-nse-profiler.c:857
 #, fuzzy
 msgid "limit to the number of connections to NSE services, 0 for none"
@@ -5626,24 +5631,74 @@ msgstr ""
 msgid "Number of peers to run in each round, separated by commas"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:900
-msgid "delay between rounds"
+#: src/nse/gnunet-nse-profiler.c:900
+msgid "delay between rounds"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:912
+#, fuzzy
+msgid "Measure quality and performance of the NSE service."
+msgstr "Kan inte tillgå tjänsten"
+
+#: src/nse/gnunet-service-nse.c:1437
+#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+msgid "Value is too large.\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:175
+#, fuzzy, c-format
+msgid "Removing expired address of transport `%s'\n"
+msgstr "Tillgängliga transport(er): %s\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:306
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s': %s\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:323
+#: src/peerinfo/gnunet-service-peerinfo.c:348
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s'\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:426
+msgid "# peers known"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:468
+#, c-format
+msgid ""
+"File `%s' in directory `%s' does not match naming convention. Removed.\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:624
+#, fuzzy, c-format
+msgid "Scanning directory `%s'\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:631
+#, c-format
+msgid "Still no peers found in `%s'!\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:1024
+#, fuzzy, c-format
+msgid "Cleaning up directory `%s'\n"
+msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:1319
+#, c-format
+msgid "Importing HELLOs from `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:912
-#, fuzzy
-msgid "Measure quality and performance of the NSE service."
-msgstr "Kan inte tillgå tjänsten"
+#: src/peerinfo/gnunet-service-peerinfo.c:1332
+msgid "Skipping import of included HELLOs\n"
+msgstr ""
 
-#: src/nse/gnunet-nse.c:124
+#: src/peerinfo/peerinfo_api.c:217
 #, fuzzy
-msgid "Show network size estimates from NSE service."
-msgstr "# byte mottogs via TCP"
-
-#: src/nse/gnunet-service-nse.c:1437
-#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
-msgid "Value is too large.\n"
-msgstr ""
+msgid "Failed to receive response from `PEERINFO' service."
+msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
 
 #: src/peerinfo-tool/gnunet-peerinfo.c:237
 #, fuzzy, c-format
@@ -5741,61 +5796,6 @@ msgstr "Kunde inte slå upp \"%s\": %s\n"
 msgid "Peerinfo REST API initialized\n"
 msgstr " Anslutning misslyckades\n"
 
-#: src/peerinfo/gnunet-service-peerinfo.c:175
-#, fuzzy, c-format
-msgid "Removing expired address of transport `%s'\n"
-msgstr "Tillgängliga transport(er): %s\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:306
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s': %s\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:323
-#: src/peerinfo/gnunet-service-peerinfo.c:348
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s'\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:426
-msgid "# peers known"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:468
-#, c-format
-msgid ""
-"File `%s' in directory `%s' does not match naming convention. Removed.\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:624
-#, fuzzy, c-format
-msgid "Scanning directory `%s'\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:631
-#, c-format
-msgid "Still no peers found in `%s'!\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1024
-#, fuzzy, c-format
-msgid "Cleaning up directory `%s'\n"
-msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1319
-#, c-format
-msgid "Importing HELLOs from `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1332
-msgid "Skipping import of included HELLOs\n"
-msgstr ""
-
-#: src/peerinfo/peerinfo_api.c:217
-#, fuzzy
-msgid "Failed to receive response from `PEERINFO' service."
-msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
-
 #: src/peerstore/gnunet-peerstore.c:92
 msgid "peerstore"
 msgstr ""
@@ -6233,6 +6233,18 @@ msgstr ""
 msgid "Could not open revocation database file!"
 msgstr "Kunde inte ansluta till gnunetd.\n"
 
+#: src/rps/gnunet-rps.c:270
+msgid "Seed a PeerID"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:275
+msgid "Get updates of view (0 for infinite updates)"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:279
+msgid "Get peers from biased stream"
+msgstr ""
+
 #: src/rps/gnunet-rps-profiler.c:3200
 msgid "duration of the profiling"
 msgstr ""
@@ -6252,18 +6264,6 @@ msgstr "antal iterationer"
 msgid "Measure quality and performance of the RPS service."
 msgstr "Kan inte tillgå tjänsten"
 
-#: src/rps/gnunet-rps.c:270
-msgid "Seed a PeerID"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:275
-msgid "Get updates of view (0 for infinite updates)"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:279
-msgid "Get peers from biased stream"
-msgstr ""
-
 #: src/scalarproduct/gnunet-scalarproduct.c:229
 #, fuzzy
 msgid "You must specify at least one message ID to check!\n"
@@ -6319,10 +6319,10 @@ msgstr ""
 msgid "Calculate the Vectorproduct with a GNUnet peer."
 msgstr ""
 
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
 #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #, fuzzy
 msgid "Connect to CADET failed\n"
 msgstr " Anslutning misslyckades (fel?)\n"
@@ -6666,6 +6666,16 @@ msgstr ""
 msgid "%.s Unknown result code."
 msgstr ""
 
+#: src/testbed/gnunet_testbed_mpi_spawn.c:119
+#, fuzzy
+msgid "Waiting for child to exit.\n"
+msgstr "Väntar på att motparter ska ansluta (%u iterationer kvar)...\n"
+
+#: src/testbed/gnunet_testbed_mpi_spawn.c:242
+#, fuzzy, c-format
+msgid "Spawning process `%s'\n"
+msgstr "Startade samling \"%s\".\n"
+
 #: src/testbed/gnunet-testbed-profiler.c:290
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
@@ -6677,16 +6687,6 @@ msgid ""
 "signal is received"
 msgstr ""
 
-#: src/testbed/gnunet_testbed_mpi_spawn.c:119
-#, fuzzy
-msgid "Waiting for child to exit.\n"
-msgstr "Väntar på att motparter ska ansluta (%u iterationer kvar)...\n"
-
-#: src/testbed/gnunet_testbed_mpi_spawn.c:242
-#, fuzzy, c-format
-msgid "Spawning process `%s'\n"
-msgstr "Startade samling \"%s\".\n"
-
 #: src/testbed/testbed_api.c:399
 #, fuzzy, c-format
 msgid "Adding host %u failed with error: %s\n"
@@ -7020,6 +7020,10 @@ msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
 msgid "GNUnet UNIX domain socket communicator"
 msgstr ""
 
+#: src/transport/gnunet-service-transport_ats.c:137
+msgid "# Addresses given to ATS"
+msgstr ""
+
 #: src/transport/gnunet-service-transport.c:445
 msgid "# messages dropped due to slow client"
 msgstr ""
@@ -7063,10 +7067,6 @@ msgstr "Motpart \"%s\" med pålitlighet %8u och adress 
\"%s\"\n"
 msgid "Adding blacklisting entry for peer `%s':`%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_ats.c:137
-msgid "# Addresses given to ATS"
-msgstr ""
-
 #: src/transport/gnunet-service-transport_hello.c:195
 msgid "# refreshed my HELLO"
 msgstr ""
@@ -7403,46 +7403,6 @@ msgstr ""
 msgid "# HELLOs given to peerinfo"
 msgstr "Meddelande mottaget från klient är ogiltig.\n"
 
-#: src/transport/gnunet-transport-profiler.c:220
-#, c-format
-msgid "%llu B in %llu ms == %.2f KB/s!\n"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:577
-msgid "send data to peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:581
-#, fuzzy
-msgid "receive data from peer"
-msgstr "# byte mottagna av typen %d"
-
-#: src/transport/gnunet-transport-profiler.c:586
-#, fuzzy
-msgid "iterations"
-msgstr "Visa alla alternativ"
-
-#: src/transport/gnunet-transport-profiler.c:591
-#, fuzzy
-msgid "number of messages to send"
-msgstr "antal meddelanden att använda per iteration"
-
-#: src/transport/gnunet-transport-profiler.c:596
-#, fuzzy
-msgid "message size to use"
-msgstr "meddelandestorlek"
-
-#: src/transport/gnunet-transport-profiler.c:601
-#: src/transport/gnunet-transport.c:1404
-msgid "peer identity"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:614
-#: src/transport/gnunet-transport.c:1426
-#, fuzzy
-msgid "Direct access to transport service."
-msgstr "Misslyckades att ansluta till gnunetd.\n"
-
 #: src/transport/gnunet-transport.c:406
 #, fuzzy, c-format
 msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7582,6 +7542,11 @@ msgstr "Skriv ut information om GNUnets motparter."
 msgid "do not resolve hostnames"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
+#: src/transport/gnunet-transport.c:1404
+#: src/transport/gnunet-transport-profiler.c:601
+msgid "peer identity"
+msgstr ""
+
 #: src/transport/gnunet-transport.c:1408
 msgid "monitor plugin sessions"
 msgstr ""
@@ -7590,6 +7555,41 @@ msgstr ""
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1426
+#: src/transport/gnunet-transport-profiler.c:614
+#, fuzzy
+msgid "Direct access to transport service."
+msgstr "Misslyckades att ansluta till gnunetd.\n"
+
+#: src/transport/gnunet-transport-profiler.c:220
+#, c-format
+msgid "%llu B in %llu ms == %.2f KB/s!\n"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:577
+msgid "send data to peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:581
+#, fuzzy
+msgid "receive data from peer"
+msgstr "# byte mottagna av typen %d"
+
+#: src/transport/gnunet-transport-profiler.c:586
+#, fuzzy
+msgid "iterations"
+msgstr "Visa alla alternativ"
+
+#: src/transport/gnunet-transport-profiler.c:591
+#, fuzzy
+msgid "number of messages to send"
+msgstr "antal meddelanden att använda per iteration"
+
+#: src/transport/gnunet-transport-profiler.c:596
+#, fuzzy
+msgid "message size to use"
+msgstr "meddelandestorlek"
+
 #: src/transport/plugin_transport_http_client.c:1489
 #: src/transport/plugin_transport_http_server.c:2331
 #: src/transport/plugin_transport_http_server.c:3562
@@ -7877,6 +7877,21 @@ msgstr ""
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
 
+#: src/transport/plugin_transport_udp_broadcasting.c:169
+#, fuzzy
+msgid "# Multicast HELLO beacons received via UDP"
+msgstr "# krypterade PONG-meddelanden mottagna"
+
+#: src/transport/plugin_transport_udp_broadcasting.c:553
+msgid ""
+"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:571
+#, c-format
+msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
+msgstr ""
+
 #: src/transport/plugin_transport_udp.c:3169
 #, c-format
 msgid ""
@@ -7925,21 +7940,6 @@ msgstr "\"%s\" är inte tillgänglig."
 msgid "Failed to create UDP network sockets\n"
 msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
 
-#: src/transport/plugin_transport_udp_broadcasting.c:169
-#, fuzzy
-msgid "# Multicast HELLO beacons received via UDP"
-msgstr "# krypterade PONG-meddelanden mottagna"
-
-#: src/transport/plugin_transport_udp_broadcasting.c:553
-msgid ""
-"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:571
-#, c-format
-msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
-msgstr ""
-
 #: src/transport/plugin_transport_unix.c:1396
 #, fuzzy, c-format
 msgid "Cannot bind to `%s'\n"
@@ -8028,17 +8028,17 @@ msgid "Accepting connection from `%s': %p\n"
 msgstr ""
 
 # drive = hard drive ?
-#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400
+#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s).\n"
 msgstr "\"%s\" misslyckades för enhet %s: %u\n"
 
-#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412
+#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s): address already in use\n"
 msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n"
 
-#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419
+#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
 #, fuzzy, c-format
 msgid "`%s' failed for `%s': address already in use\n"
 msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n"
@@ -8050,7 +8050,7 @@ msgid ""
 "`GNUNET_SERVER_receive_done' after %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837
+#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
 #, fuzzy, c-format
 msgid "Unknown address family %d\n"
 msgstr "Okänd operation \"%s\"\n"
@@ -8060,23 +8060,23 @@ msgstr "Okänd operation \"%s\"\n"
 msgid "Access from `%s' denied to service `%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950
+#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
 #, c-format
 msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991
+#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
 #, c-format
 msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:890
-#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480
+#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
 #, c-format
 msgid "Specified value for `%s' of service `%s' is invalid\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504
+#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
 #, c-format
 msgid "Could not access pre-bound socket %u, will try to bind myself\n"
 msgstr ""
@@ -8091,45 +8091,45 @@ msgstr "Fel vid %s:%d.\n"
 msgid "Service `%s' runs at %s\n"
 msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
 
-#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750
+#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
 msgid "Service process failed to initialize\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755
+#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
 msgid "Service process could not initialize server function\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760
+#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
 msgid "Service process failed to report status\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
-#: src/util/service.c:1641
+#: src/util/service.c:1638
 #, fuzzy, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr "Kan inte öppna konfigurationsfil \"%s\".\n"
 
-#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643
+#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
 msgid "No such user"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657
+#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
 #, c-format
 msgid "Cannot change user/group to `%s': %s\n"
 msgstr "Kan inte ändra användare/grupp till \"%s\": %s\n"
 
-#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999
+#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
 msgid "do daemonize (detach from terminal)"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:906 src/util/service.c:2073
-#: src/util/service.c:2085
+#: src/transport/transport-testing2.c:906 src/util/service.c:2070
+#: src/util/service.c:2082
 #, fuzzy, c-format
 msgid "Malformed configuration file `%s', exit ...\n"
 msgstr "Kunde inte spara konfigurationsfil \"%s\":"
 
-#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095
+#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
 #, fuzzy
 msgid "Malformed configuration, exit ...\n"
 msgstr "Kunde inte spara konfigurationsfil \"%s\":"
@@ -8173,105 +8173,105 @@ msgstr ""
 msgid "Metadata `%s' failed to deserialize"
 msgstr ""
 
-#: src/util/client.c:739 src/util/client.c:931
+#: src/util/client.c:747 src/util/client.c:937
 msgid "not a valid filename"
 msgstr ""
 
-#: src/util/client.c:1097
+#: src/util/client.c:1103
 #, c-format
 msgid "Need a non-empty hostname for service `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:259 src/util/common_logging.c:1116
+#: src/util/common_logging.c:259 src/util/common_logging.c:1112
 msgid "DEBUG"
 msgstr "FELSÖKNING"
 
-#: src/util/common_logging.c:261 src/util/common_logging.c:1114
+#: src/util/common_logging.c:261 src/util/common_logging.c:1110
 msgid "INFO"
 msgstr "INFO"
 
-#: src/util/common_logging.c:263 src/util/common_logging.c:1112
+#: src/util/common_logging.c:263 src/util/common_logging.c:1108
 msgid "MESSAGE"
 msgstr "MEDDELANDE"
 
-#: src/util/common_logging.c:265 src/util/common_logging.c:1110
+#: src/util/common_logging.c:265 src/util/common_logging.c:1106
 msgid "WARNING"
 msgstr "VARNING"
 
-#: src/util/common_logging.c:267 src/util/common_logging.c:1108
+#: src/util/common_logging.c:267 src/util/common_logging.c:1104
 msgid "ERROR"
 msgstr "FEL"
 
-#: src/util/common_logging.c:269 src/util/common_logging.c:1118
+#: src/util/common_logging.c:269 src/util/common_logging.c:1114
 msgid "NONE"
 msgstr ""
 
-#: src/util/common_logging.c:630 src/util/common_logging.c:669
+#: src/util/common_logging.c:626 src/util/common_logging.c:665
 #, c-format
 msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:906
+#: src/util/common_logging.c:902
 #, c-format
 msgid "Message `%.*s' repeated %u times in the last %s\n"
 msgstr ""
 
-#: src/util/common_logging.c:1119
+#: src/util/common_logging.c:1115
 msgid "INVALID"
 msgstr ""
 
-#: src/util/common_logging.c:1400
+#: src/util/common_logging.c:1396
 msgid "unknown address"
 msgstr ""
 
-#: src/util/common_logging.c:1445
+#: src/util/common_logging.c:1441
 msgid "invalid address"
 msgstr ""
 
-#: src/util/common_logging.c:1464
+#: src/util/common_logging.c:1460
 #, fuzzy, c-format
 msgid "Configuration fails to specify option `%s' in section `%s'!\n"
 msgstr "Konfigurationsfil \"%s\" skapad.\n"
 
-#: src/util/common_logging.c:1487
+#: src/util/common_logging.c:1483
 #, fuzzy, c-format
 msgid ""
 "Configuration specifies invalid value for option `%s' in section `%s': %s\n"
 msgstr "Konfigurationsfil \"%s\" hittades inte.  Kör \"gnunet-setup -d\"!\n"
 
-#: src/util/configuration.c:325
+#: src/util/configuration.c:402
 #, fuzzy, c-format
 msgid "Syntax error while deserializing in line %u\n"
 msgstr "Syntaxfel i konfigurationsfil \"%s\" på rad %d.\n"
 
-#: src/util/configuration.c:383
+#: src/util/configuration.c:460
 #, fuzzy, c-format
 msgid "Error while reading file `%s'\n"
 msgstr "Fel vid nedladdning: %s\n"
 
-#: src/util/configuration.c:986
+#: src/util/configuration.c:1063
 #, fuzzy
 msgid "Not a valid relative time specification"
 msgstr "Konfigurationsfil \"%s\" skapad.\n"
 
-#: src/util/configuration.c:1077
+#: src/util/configuration.c:1154
 #, c-format
 msgid ""
 "Configuration value '%s' for '%s' in section '%s' is not in set of legal "
 "choices\n"
 msgstr ""
 
-#: src/util/configuration.c:1192
+#: src/util/configuration.c:1269
 #, c-format
 msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1224
+#: src/util/configuration.c:1301
 #, fuzzy, c-format
 msgid "Missing closing `%s' in option `%s'\n"
 msgstr "Konfigurationsfil \"%s\" skapad.\n"
 
-#: src/util/configuration.c:1290
+#: src/util/configuration.c:1367
 #, c-format
 msgid ""
 "Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8335,7 +8335,7 @@ msgstr "libgcrypt har inte den förväntande versionen 
(version %s krävs).\n"
 msgid "RSA signing failed at %s:%d: %s\n"
 msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
 
-#: src/util/crypto_rsa.c:1313
+#: src/util/crypto_rsa.c:1314
 #, fuzzy, c-format
 msgid "RSA signature verification failed at %s:%d: %s\n"
 msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
@@ -8440,11 +8440,11 @@ msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n"
 msgid "Missing mandatory option `%s'.\n"
 msgstr "Konfigurationsfil \"%s\" skapad.\n"
 
-#: src/util/getopt_helpers.c:68
+#: src/util/getopt_helpers.c:69
 msgid "print the version number"
 msgstr "skriv ut versionsnummer"
 
-#: src/util/getopt_helpers.c:114
+#: src/util/getopt_helpers.c:116
 #, c-format
 msgid ""
 "Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8452,54 +8452,62 @@ msgstr ""
 "Argument som är obligatoriska för långa flaggor är också obligatoriska för "
 "korta flaggor.\n"
 
-#: src/util/getopt_helpers.c:205
+#: src/util/getopt_helpers.c:208
 msgid "print this help"
 msgstr "skriv ut denna hjälp"
 
-#: src/util/getopt_helpers.c:281
+#: src/util/getopt_helpers.c:288
 msgid "be verbose"
 msgstr "var informativ"
 
-#: src/util/getopt_helpers.c:417
+#: src/util/getopt_helpers.c:429
 msgid "configure logging to use LOGLEVEL"
 msgstr ""
 
-#: src/util/getopt_helpers.c:495
+#: src/util/getopt_helpers.c:510
 msgid "configure logging to write logs to FILENAME"
 msgstr ""
 
-#: src/util/getopt_helpers.c:516
+#: src/util/getopt_helpers.c:532
 #, fuzzy
 msgid "use configuration file FILENAME"
 msgstr "skriv ut ett värde från konfigurationsfilen till standard ut"
 
-#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747
-#: src/util/getopt_helpers.c:810
+#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
+#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
 #, c-format
 msgid "You must pass a number to the `%s' option.\n"
 msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
 
-#: src/util/getopt_helpers.c:612
+#: src/util/getopt_helpers.c:659
+msgid "[+/-]MICROSECONDS"
+msgstr ""
+
+#: src/util/getopt_helpers.c:661
+msgid "modify system time by given offset (for debugging/testing only)"
+msgstr ""
+
+#: src/util/getopt_helpers.c:696
 #, fuzzy, c-format
 msgid "You must pass relative time to the `%s' option.\n"
 msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
 
-#: src/util/getopt_helpers.c:675
+#: src/util/getopt_helpers.c:761
 #, fuzzy, c-format
 msgid "You must pass absolute time to the `%s' option.\n"
 msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
 
-#: src/util/getopt_helpers.c:740
+#: src/util/getopt_helpers.c:828
 #, c-format
-msgid "Your input for the '%s' option has to be a non negative number \n"
+msgid "Your input for the '%s' option has to be a non negative number\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:817
+#: src/util/getopt_helpers.c:907
 #, fuzzy, c-format
 msgid "You must pass a number below %u to the `%s' option.\n"
 msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
 
-#: src/util/getopt_helpers.c:902
+#: src/util/getopt_helpers.c:994
 #, c-format
 msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
 msgstr ""
@@ -8839,14 +8847,14 @@ msgstr ""
 msgid "Could not resolve our FQDN: %s\n"
 msgstr "Kunde inte slå upp \"%s\": %s\n"
 
-#: src/util/service.c:657
+#: src/util/service.c:654
 #, c-format
 msgid ""
 "Processing code for message of type %u did not call "
 "`GNUNET_SERVICE_client_continue' after %s\n"
 msgstr ""
 
-#: src/util/service.c:1572
+#: src/util/service.c:1569
 msgid ""
 "Could not bind to any of the ports I was supposed to, refusing to run!\n"
 msgstr ""
@@ -9166,8 +9174,8 @@ msgstr "# byte mottagna via UDP"
 msgid "Setup tunnels via VPN."
 msgstr ""
 
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #: src/zonemaster/gnunet-service-zonemaster.c:849
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #, fuzzy
 msgid "Failed to connect to the namestore!\n"
 msgstr "Misslyckades att ansluta till gnunetd.\n"
diff --git a/po/vi.po b/po/vi.po
index 4f14469f8..49888c476 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnunet 0.8.0a\n"
 "Report-Msgid-Bugs-To: address@hidden\n"
-"POT-Creation-Date: 2020-01-13 14:01+0000\n"
+"POT-Creation-Date: 2020-02-13 20:41+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"
@@ -30,8 +30,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
 msgstr "Đối số không hợp lệ cho « %s ».\n"
 
 #: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
-#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #: src/namestore/gnunet-namestore.c:1001
+#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #, fuzzy, c-format
 msgid "Failed to connect to namestore\n"
 msgstr "Không kết nối được đến trình nền gnunetd."
@@ -143,7 +143,7 @@ msgstr ""
 msgid "GNUnet abd resolver tool"
 msgstr "Bản ghi lỗi GNUnet"
 
-#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288
+#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
 #, fuzzy, c-format
 msgid "Failed to connect to GNS\n"
 msgstr "Lỗi kết nối đến gnunetd.\n"
@@ -392,28 +392,28 @@ msgstr ""
 #: src/transport/plugin_transport_tcp.c:1129
 #: src/transport/plugin_transport_tcp.c:3706
 #: src/transport/tcp_service_legacy.c:594
-#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094
-#: src/util/service.c:1100
+#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
+#: src/util/service.c:1097
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
-#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519
-#: src/util/service.c:1133
+#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
+#: src/util/service.c:1130
 #, c-format
 msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
-#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524
-#: src/util/service.c:1137
+#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
+#: src/util/service.c:1134
 #, fuzzy, c-format
 msgid "Using `%s' instead\n"
 msgstr "%s: tùy chọn « %s » là mơ hồ\n"
 
 #: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
-#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157
+#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
 #, c-format
 msgid ""
 "Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -421,7 +421,7 @@ msgid ""
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
-#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175
+#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
 #, c-format
 msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
 msgstr ""
@@ -429,7 +429,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:536
 #: src/transport/plugin_transport_http_server.c:2718
 #: src/transport/plugin_transport_tcp.c:1244
-#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206
+#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
 #, fuzzy, c-format
 msgid "Failed to resolve `%s': %s\n"
 msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
@@ -437,7 +437,7 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
 #: src/arm/gnunet-service-arm.c:555
 #: src/transport/plugin_transport_http_server.c:2736
 #: src/transport/plugin_transport_tcp.c:1263
-#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225
+#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
 #, fuzzy, c-format
 msgid "Failed to find %saddress for `%s'.\n"
 msgstr "Lỗi đóng kết đến cổng %s %d.\n"
@@ -509,15 +509,82 @@ msgstr ""
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:896
+#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
+#, c-format
+msgid ""
+"Could not load quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3011
+#, c-format
+msgid ""
+"No outbound quota configured for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3063
+#, c-format
+msgid ""
+"No outbound quota configure for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
+msgid "solver to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3557
+#: src/ats-tests/gnunet-solver-eval.c:1003
+#: src/ats-tests/gnunet-solver-eval.c:1008
+msgid "experiment to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3564
 #, fuzzy
-msgid "Stop logging\n"
+msgid "print logging"
 msgstr "Theo dõi"
 
-#: src/ats-tests/ats-testing-log.c:952
+#: src/ats/gnunet-ats-solver-eval.c:3569
+msgid "save logging to disk"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3574
+msgid "disable normalization"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:326
+#, c-format
+msgid ""
+"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:336
+#, c-format
+msgid "%s quota configured for network `%s' is %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:382
+#, c-format
+msgid ""
+"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:474
 #, fuzzy, c-format
-msgid "Start logging `%s'\n"
-msgstr "Đang bắt đầu tài về « %s »\n"
+msgid "Failed to initialize solver `%s'!\n"
+msgstr "Không thể sơ khởi SQLite: %s.\n"
+
+#: src/ats/plugin_ats_proportional.c:1140
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f \n"
+msgstr "Không thể lưu tập tin cấu hình « %s »:"
+
+#: src/ats/plugin_ats_proportional.c:1163
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f\n"
+msgstr "Không thể lưu tập tin cấu hình « %s »:"
 
 #: src/ats-tests/ats-testing.c:420
 #, c-format
@@ -529,6 +596,16 @@ msgstr ""
 msgid "Failed to connect master peer [%u] with slave [%u]\n"
 msgstr "Lỗi kết nối đến gnunetd.\n"
 
+#: src/ats-tests/ats-testing-log.c:896
+#, fuzzy
+msgid "Stop logging\n"
+msgstr "Theo dõi"
+
+#: src/ats-tests/ats-testing-log.c:952
+#, fuzzy, c-format
+msgid "Start logging `%s'\n"
+msgstr "Đang bắt đầu tài về « %s »\n"
+
 #: src/ats-tests/gnunet-ats-sim.c:92
 #, c-format
 msgid ""
@@ -536,16 +613,6 @@ msgid ""
 "= %u KiB/s\n"
 msgstr ""
 
-#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
-msgid "solver to use"
-msgstr ""
-
-#: src/ats-tests/gnunet-solver-eval.c:1003
-#: src/ats-tests/gnunet-solver-eval.c:1008
-#: src/ats/gnunet-ats-solver-eval.c:3557
-msgid "experiment to use"
-msgstr ""
-
 #: src/ats-tool/gnunet-ats.c:299
 #, c-format
 msgid "%u address resolutions had a timeout\n"
@@ -668,73 +735,6 @@ msgstr ""
 msgid "Print information about ATS state"
 msgstr "In ra thông tin về các đồng đẳng GNUnet."
 
-#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
-#, c-format
-msgid ""
-"Could not load quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3011
-#, c-format
-msgid ""
-"No outbound quota configured for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3063
-#, c-format
-msgid ""
-"No outbound quota configure for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3564
-#, fuzzy
-msgid "print logging"
-msgstr "Theo dõi"
-
-#: src/ats/gnunet-ats-solver-eval.c:3569
-msgid "save logging to disk"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3574
-msgid "disable normalization"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:326
-#, c-format
-msgid ""
-"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:336
-#, c-format
-msgid "%s quota configured for network `%s' is %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:382
-#, c-format
-msgid ""
-"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:474
-#, fuzzy, c-format
-msgid "Failed to initialize solver `%s'!\n"
-msgstr "Không thể sơ khởi SQLite: %s.\n"
-
-#: src/ats/plugin_ats_proportional.c:1140
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f \n"
-msgstr "Không thể lưu tập tin cấu hình « %s »:"
-
-#: src/ats/plugin_ats_proportional.c:1163
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f\n"
-msgstr "Không thể lưu tập tin cấu hình « %s »:"
-
 #: src/auction/gnunet-auction-create.c:163
 msgid "description of the item to be sold"
 msgstr ""
@@ -870,28 +870,6 @@ msgstr ""
 msgid "Connection to conversation service lost, trying to reconnect\n"
 msgstr ""
 
-#: src/conversation/gnunet-conversation-test.c:120
-#, c-format
-msgid ""
-"\n"
-"End of transmission.  Have a GNU day.\n"
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:146
-#, c-format
-msgid ""
-"\n"
-"We are now playing your recording back.  If you can hear it, your audio "
-"settings are working..."
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:218
-#, c-format
-msgid ""
-"We will now be recording you for %s. After that time, the recording will be "
-"played back to you..."
-msgstr ""
-
 #: src/conversation/gnunet-conversation.c:264
 #, c-format
 msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1151,8 +1129,30 @@ msgstr ""
 msgid "Enables having a conversation with other GNUnet users."
 msgstr ""
 
-#: src/conversation/gnunet-helper-audio-playback-gst.c:363
+#: src/conversation/gnunet-conversation-test.c:120
+#, c-format
+msgid ""
+"\n"
+"End of transmission.  Have a GNU day.\n"
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:146
+#, c-format
+msgid ""
+"\n"
+"We are now playing your recording back.  If you can hear it, your audio "
+"settings are working..."
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:218
+#, c-format
+msgid ""
+"We will now be recording you for %s. After that time, the recording will be "
+"played back to you..."
+msgstr ""
+
 #: src/conversation/gnunet_gst.c:664
+#: src/conversation/gnunet-helper-audio-playback-gst.c:363
 #, c-format
 msgid "Read error from STDIN: %d %s\n"
 msgstr ""
@@ -1990,19 +1990,19 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n"
 msgid "Mysql database running\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:277
-#: src/datastore/plugin_datastore_postgres.c:890
+#: src/datastore/plugin_datastore_postgres.c:278
+#: src/datastore/plugin_datastore_postgres.c:891
 msgid "Postgress exec failure"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:851
+#: src/datastore/plugin_datastore_postgres.c:852
 #, fuzzy
 msgid "Failed to drop table from database.\n"
 msgstr ""
 "\n"
 "Không nhận được đáp ứng từ gnunetd.\n"
 
-#: src/datastore/plugin_datastore_postgres.c:949
+#: src/datastore/plugin_datastore_postgres.c:950
 msgid "Postgres database running\n"
 msgstr ""
 
@@ -2111,45 +2111,93 @@ msgstr ""
 msgid "Prints all packets that go through the DHT."
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:133
-msgid "Must provide KEY and DATA for DHT put!\n"
-msgstr ""
-
-#: src/dht/gnunet-dht-put.c:140
+#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
 #, fuzzy, c-format
-msgid "Could not connect to DHT service!\n"
-msgstr "Không thể kết nối tới %s:%u: %s\n"
+msgid "Exiting as the number of peers is %u\n"
+msgstr "tăng sổ tối đa các kết nối TCP/IP"
 
-#: src/dht/gnunet-dht-put.c:151
-#, c-format
-msgid "Issuing put request for `%s' with data `%s'!\n"
+#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
+#, fuzzy
+msgid "number of peers to start"
+msgstr "số lần lặp lại"
+
+#: src/dht/gnunet_dht_profiler.c:961
+msgid "number of PUTs to perform per peer"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:187
-msgid "the data to insert under the key"
+#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
+#: src/testbed/gnunet-testbed-profiler.c:305
+msgid "name of the file with the login information for the testbed"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:193
-msgid "how long to store this entry in the dht (in seconds)"
+#: src/dht/gnunet_dht_profiler.c:973
+msgid "delay between rounds for collecting statistics (default: 30 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:208
-msgid "how many replicas to create"
+#: src/dht/gnunet_dht_profiler.c:979
+msgid "delay to start doing PUTs (default: 1 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:212
-msgid "use DHT's record route option"
+#: src/dht/gnunet_dht_profiler.c:985
+msgid "delay to start doing GETs (default: 5 min)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:217
-msgid "the type to insert data as"
+#: src/dht/gnunet_dht_profiler.c:990
+msgid "replication degree for DHT PUTs"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:232
-msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+#: src/dht/gnunet_dht_profiler.c:996
+msgid "chance that a peer is selected at random for PUTs"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:367
+#: src/dht/gnunet_dht_profiler.c:1002
+msgid "timeout for DHT PUT and GET requests (default: 1 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1023
+#, fuzzy
+msgid "Measure quality and performance of the DHT service."
+msgstr "Không thể truy cập đến dịch vụ"
+
+#: src/dht/gnunet-dht-put.c:133
+msgid "Must provide KEY and DATA for DHT put!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:140
+#, fuzzy, c-format
+msgid "Could not connect to DHT service!\n"
+msgstr "Không thể kết nối tới %s:%u: %s\n"
+
+#: src/dht/gnunet-dht-put.c:151
+#, c-format
+msgid "Issuing put request for `%s' with data `%s'!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:187
+msgid "the data to insert under the key"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:193
+msgid "how long to store this entry in the dht (in seconds)"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:208
+msgid "how many replicas to create"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:212
+msgid "use DHT's record route option"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:217
+msgid "the type to insert data as"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:232
+msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+msgstr ""
+
+#: src/dht/gnunet-service-dht_clients.c:367
 #, fuzzy
 msgid "# GET requests from clients injected"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
@@ -2382,54 +2430,6 @@ msgstr ""
 msgid "# DHT requests combined"
 msgstr "# các yêu cầu get (lấy) dht được nhận"
 
-#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
-#, fuzzy, c-format
-msgid "Exiting as the number of peers is %u\n"
-msgstr "tăng sổ tối đa các kết nối TCP/IP"
-
-#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
-#, fuzzy
-msgid "number of peers to start"
-msgstr "số lần lặp lại"
-
-#: src/dht/gnunet_dht_profiler.c:961
-msgid "number of PUTs to perform per peer"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
-#: src/testbed/gnunet-testbed-profiler.c:305
-msgid "name of the file with the login information for the testbed"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:973
-msgid "delay between rounds for collecting statistics (default: 30 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:979
-msgid "delay to start doing PUTs (default: 1 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:985
-msgid "delay to start doing GETs (default: 5 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:990
-msgid "replication degree for DHT PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:996
-msgid "chance that a peer is selected at random for PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1002
-msgid "timeout for DHT PUT and GET requests (default: 1 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1023
-#, fuzzy
-msgid "Measure quality and performance of the DHT service."
-msgstr "Không thể truy cập đến dịch vụ"
-
 #: src/dht/plugin_block_dht.c:189
 #, fuzzy, c-format
 msgid "Block not of type %u\n"
@@ -3381,6 +3381,15 @@ msgid ""
 "chk/...)"
 msgstr ""
 
+#: src/fs/gnunet-fs.c:128
+msgid "print a list of all indexed files"
+msgstr ""
+
+#: src/fs/gnunet-fs.c:141
+#, fuzzy
+msgid "Special file-sharing operations"
+msgstr "Tùy chọn chia sẻ tập tin"
+
 #: src/fs/gnunet-fs-profiler.c:211
 msgid "run the experiment with COUNT peers"
 msgstr ""
@@ -3397,15 +3406,6 @@ msgstr ""
 msgid "run a testbed to measure file-sharing performance"
 msgstr ""
 
-#: src/fs/gnunet-fs.c:128
-msgid "print a list of all indexed files"
-msgstr ""
-
-#: src/fs/gnunet-fs.c:141
-#, fuzzy
-msgid "Special file-sharing operations"
-msgstr "Tùy chọn chia sẻ tập tin"
-
 #: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
 #, c-format
 msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4116,6 +4116,52 @@ msgstr ""
 msgid "look for GNS2DNS records instead of ANY"
 msgstr ""
 
+#: src/gns/gnunet-gns.c:257
+#, fuzzy, c-format
+msgid "`%s' is not a valid DNS domain name\n"
+msgstr "« %s » không sẵn sàng.\n"
+
+#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
+#, fuzzy, c-format
+msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
+msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
+
+#: src/gns/gnunet-gns.c:281
+msgid "Cannot resolve using GNS: GNUnet peer not running\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:305
+#, c-format
+msgid "Invalid typename specified, assuming `ANY'\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:340
+msgid "Lookup a record for the given name"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:346
+#, fuzzy
+msgid "Specify the type of the record to lookup"
+msgstr "xác định mức ưu tiên của nội dung"
+
+#: src/gns/gnunet-gns.c:352
+#, fuzzy
+msgid "Specify a timeout for the lookup"
+msgstr "xác định mức ưu tiên của nội dung"
+
+#: src/gns/gnunet-gns.c:356
+msgid "No unneeded output"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:361
+msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:375
+#, fuzzy
+msgid "GNUnet GNS resolver tool"
+msgstr "Bản ghi lỗi GNUnet"
+
 #: src/gns/gnunet-gns-import.c:486
 msgid "This program will import some GNS authorities into your GNS namestore."
 msgstr ""
@@ -4236,52 +4282,6 @@ msgstr ""
 msgid "GNUnet GNS proxy"
 msgstr ""
 
-#: src/gns/gnunet-gns.c:253
-#, fuzzy, c-format
-msgid "`%s' is not a valid DNS domain name\n"
-msgstr "« %s » không sẵn sàng.\n"
-
-#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
-#, fuzzy, c-format
-msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
-msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-
-#: src/gns/gnunet-gns.c:277
-msgid "Cannot resolve using GNS: GNUnet peer not running\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:301
-#, c-format
-msgid "Invalid typename specified, assuming `ANY'\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:336
-msgid "Lookup a record for the given name"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:342
-#, fuzzy
-msgid "Specify the type of the record to lookup"
-msgstr "xác định mức ưu tiên của nội dung"
-
-#: src/gns/gnunet-gns.c:348
-#, fuzzy
-msgid "Specify a timeout for the lookup"
-msgstr "xác định mức ưu tiên của nội dung"
-
-#: src/gns/gnunet-gns.c:352
-msgid "No unneeded output"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:357
-msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:371
-#, fuzzy
-msgid "GNUnet GNS resolver tool"
-msgstr "Bản ghi lỗi GNUnet"
-
 #: src/gns/gnunet-service-gns.c:505
 #, fuzzy
 msgid "Properly base32-encoded public key required"
@@ -4293,8 +4293,8 @@ msgid "Failed to connect to the namecache!\n"
 msgstr "Không kết nối được đến trình nền gnunetd."
 
 #: src/gns/gnunet-service-gns.c:560
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #: src/zonemaster/gnunet-service-zonemaster.c:887
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #, fuzzy
 msgid "Could not connect to DHT!\n"
 msgstr "Không thể kết nối tới %s:%u: %s\n"
@@ -4354,21 +4354,21 @@ msgstr ""
 msgid "GNS lookup failed (zero records found for `%s')\n"
 msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2376
+#: src/gns/gnunet-service-gns_resolver.c:2372
 msgid "GNS lookup recursion failed (no delegation record found)\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2399
+#: src/gns/gnunet-service-gns_resolver.c:2395
 #, fuzzy, c-format
 msgid "Failed to cache GNS resolution: %s\n"
 msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2567
+#: src/gns/gnunet-service-gns_resolver.c:2563
 #, c-format
 msgid "GNS namecache returned empty result for `%s'\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2707
+#: src/gns/gnunet-service-gns_resolver.c:2703
 #, c-format
 msgid "Zone %s was revoked, resolution fails\n"
 msgstr ""
@@ -5056,70 +5056,6 @@ msgstr "kho dữ liệu sqlite"
 msgid "Failed to setup database at `%s'\n"
 msgstr "Lỗi chạy %s: %s %d\n"
 
-#: src/namestore/gnunet-namestore-fcfsd.c:551
-#, fuzzy, c-format
-msgid "Unsupported form value `%s'\n"
-msgstr "Lệnh không được hỗ trợ « %s ». Đang hủy bỏ.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:578
-#, fuzzy, c-format
-msgid "Failed to create record for domain `%s': %s\n"
-msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:599
-msgid "Error when mapping zone to name\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:631
-#, c-format
-msgid "Found existing name `%s' for the given key\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:693
-#, c-format
-msgid "Found %u existing records for domain `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:783
-#, fuzzy, c-format
-msgid "Failed to create page for `%s'\n"
-msgstr "Không thể tạo miền tên.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:802
-#, fuzzy, c-format
-msgid "Failed to setup post processor for `%s'\n"
-msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:839
-msgid "Domain name must not contain `.'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:848
-msgid "Domain name must not contain `+'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1083
-msgid "No ego configured for `fcfsd` subsystem\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1114
-#, fuzzy
-msgid "Failed to start HTTP server\n"
-msgstr "Lỗi bắt đầu thu thập.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1162
-#, fuzzy
-msgid "Failed to connect to identity\n"
-msgstr "Lỗi kết nối đến gnunetd.\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1189
-msgid "name of the zone that is to be managed by FCFSD"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1209
-msgid "GNU Name System First Come First Serve name registration service"
-msgstr ""
-
 #: src/namestore/gnunet-namestore.c:334
 #, fuzzy, c-format
 msgid "Adding record failed: %s\n"
@@ -5342,7 +5278,71 @@ msgstr ""
 msgid "name of the ego controlling the zone"
 msgstr ""
 
-#: src/namestore/gnunet-service-namestore.c:864
+#: src/namestore/gnunet-namestore-fcfsd.c:551
+#, fuzzy, c-format
+msgid "Unsupported form value `%s'\n"
+msgstr "Lệnh không được hỗ trợ « %s ». Đang hủy bỏ.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:578
+#, fuzzy, c-format
+msgid "Failed to create record for domain `%s': %s\n"
+msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:599
+msgid "Error when mapping zone to name\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:631
+#, c-format
+msgid "Found existing name `%s' for the given key\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:693
+#, c-format
+msgid "Found %u existing records for domain `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:783
+#, fuzzy, c-format
+msgid "Failed to create page for `%s'\n"
+msgstr "Không thể tạo miền tên.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:802
+#, fuzzy, c-format
+msgid "Failed to setup post processor for `%s'\n"
+msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:839
+msgid "Domain name must not contain `.'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:848
+msgid "Domain name must not contain `+'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1083
+msgid "No ego configured for `fcfsd` subsystem\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1114
+#, fuzzy
+msgid "Failed to start HTTP server\n"
+msgstr "Lỗi bắt đầu thu thập.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1162
+#, fuzzy
+msgid "Failed to connect to identity\n"
+msgstr "Lỗi kết nối đến gnunetd.\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1189
+msgid "name of the zone that is to be managed by FCFSD"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1209
+msgid "GNU Name System First Come First Serve name registration service"
+msgstr ""
+
+#: src/namestore/gnunet-service-namestore.c:866
 #, fuzzy, c-format
 msgid "Failed to replicate block in namecache: %s\n"
 msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
@@ -5661,6 +5661,11 @@ msgstr ""
 msgid "`upnpc' command not found\n"
 msgstr ""
 
+#: src/nse/gnunet-nse.c:124
+#, fuzzy
+msgid "Show network size estimates from NSE service."
+msgstr "# các yêu cầu get (lấy) dht được nhận"
+
 #: src/nse/gnunet-nse-profiler.c:857
 #, fuzzy
 msgid "limit to the number of connections to NSE services, 0 for none"
@@ -5678,25 +5683,79 @@ msgstr ""
 msgid "Number of peers to run in each round, separated by commas"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:900
-msgid "delay between rounds"
+#: src/nse/gnunet-nse-profiler.c:900
+msgid "delay between rounds"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:912
+#, fuzzy
+msgid "Measure quality and performance of the NSE service."
+msgstr "Không thể truy cập đến dịch vụ"
+
+#: src/nse/gnunet-service-nse.c:1437
+#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+#, fuzzy
+msgid "Value is too large.\n"
+msgstr "Giá trị không nằm trong phạm vi được phép."
+
+#: src/peerinfo/gnunet-service-peerinfo.c:175
+#, fuzzy, c-format
+msgid "Removing expired address of transport `%s'\n"
+msgstr "Đã nạp truyền tải « %s »\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:306
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s': %s\n"
+msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:323
+#: src/peerinfo/gnunet-service-peerinfo.c:348
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s'\n"
+msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:426
+msgid "# peers known"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:468
+#, c-format
+msgid ""
+"File `%s' in directory `%s' does not match naming convention. Removed.\n"
+msgstr ""
+"Tập tin « %s » trong thư mục « %s » không tùy theo quy ước đặt tên. Bị gỡ "
+"bỏ.\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:624
+#, fuzzy, c-format
+msgid "Scanning directory `%s'\n"
+msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:631
+#, c-format
+msgid "Still no peers found in `%s'!\n"
+msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:1024
+#, fuzzy, c-format
+msgid "Cleaning up directory `%s'\n"
+msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:1319
+#, c-format
+msgid "Importing HELLOs from `%s'\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:1332
+msgid "Skipping import of included HELLOs\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:912
-#, fuzzy
-msgid "Measure quality and performance of the NSE service."
-msgstr "Không thể truy cập đến dịch vụ"
-
-#: src/nse/gnunet-nse.c:124
-#, fuzzy
-msgid "Show network size estimates from NSE service."
-msgstr "# các yêu cầu get (lấy) dht được nhận"
-
-#: src/nse/gnunet-service-nse.c:1437
-#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+#: src/peerinfo/peerinfo_api.c:217
 #, fuzzy
-msgid "Value is too large.\n"
-msgstr "Giá trị không nằm trong phạm vi được phép."
+msgid "Failed to receive response from `PEERINFO' service."
+msgstr ""
+"\n"
+"Không nhận được đáp ứng từ gnunetd.\n"
 
 #: src/peerinfo-tool/gnunet-peerinfo.c:237
 #, fuzzy, c-format
@@ -5795,65 +5854,6 @@ msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
 msgid "Peerinfo REST API initialized\n"
 msgstr "Lỗi sơ khởi lõi.\n"
 
-#: src/peerinfo/gnunet-service-peerinfo.c:175
-#, fuzzy, c-format
-msgid "Removing expired address of transport `%s'\n"
-msgstr "Đã nạp truyền tải « %s »\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:306
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s': %s\n"
-msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:323
-#: src/peerinfo/gnunet-service-peerinfo.c:348
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s'\n"
-msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:426
-msgid "# peers known"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:468
-#, c-format
-msgid ""
-"File `%s' in directory `%s' does not match naming convention. Removed.\n"
-msgstr ""
-"Tập tin « %s » trong thư mục « %s » không tùy theo quy ước đặt tên. Bị gỡ "
-"bỏ.\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:624
-#, fuzzy, c-format
-msgid "Scanning directory `%s'\n"
-msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:631
-#, c-format
-msgid "Still no peers found in `%s'!\n"
-msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1024
-#, fuzzy, c-format
-msgid "Cleaning up directory `%s'\n"
-msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1319
-#, c-format
-msgid "Importing HELLOs from `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1332
-msgid "Skipping import of included HELLOs\n"
-msgstr ""
-
-#: src/peerinfo/peerinfo_api.c:217
-#, fuzzy
-msgid "Failed to receive response from `PEERINFO' service."
-msgstr ""
-"\n"
-"Không nhận được đáp ứng từ gnunetd.\n"
-
 #: src/peerstore/gnunet-peerstore.c:92
 msgid "peerstore"
 msgstr ""
@@ -6289,6 +6289,18 @@ msgstr ""
 msgid "Could not open revocation database file!"
 msgstr "« %s »: Không thể kết nối.\n"
 
+#: src/rps/gnunet-rps.c:270
+msgid "Seed a PeerID"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:275
+msgid "Get updates of view (0 for infinite updates)"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:279
+msgid "Get peers from biased stream"
+msgstr ""
+
 #: src/rps/gnunet-rps-profiler.c:3200
 msgid "duration of the profiling"
 msgstr ""
@@ -6308,18 +6320,6 @@ msgstr "số lần lặp lại"
 msgid "Measure quality and performance of the RPS service."
 msgstr "Không thể truy cập đến dịch vụ"
 
-#: src/rps/gnunet-rps.c:270
-msgid "Seed a PeerID"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:275
-msgid "Get updates of view (0 for infinite updates)"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:279
-msgid "Get peers from biased stream"
-msgstr ""
-
 #: src/scalarproduct/gnunet-scalarproduct.c:229
 #, fuzzy
 msgid "You must specify at least one message ID to check!\n"
@@ -6375,10 +6375,10 @@ msgstr ""
 msgid "Calculate the Vectorproduct with a GNUnet peer."
 msgstr ""
 
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
 #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #, fuzzy
 msgid "Connect to CADET failed\n"
 msgstr " Không kết nối được (lỗi ?)\n"
@@ -6722,6 +6722,16 @@ msgstr "« %s » đang tắt.\n"
 msgid "%.s Unknown result code."
 msgstr ""
 
+#: src/testbed/gnunet_testbed_mpi_spawn.c:119
+#, fuzzy
+msgid "Waiting for child to exit.\n"
+msgstr "Đang đợi các đồng đẳng kết nối"
+
+#: src/testbed/gnunet_testbed_mpi_spawn.c:242
+#, fuzzy, c-format
+msgid "Spawning process `%s'\n"
+msgstr "Đang bắt đầu tài về « %s »\n"
+
 #: src/testbed/gnunet-testbed-profiler.c:290
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
@@ -6733,16 +6743,6 @@ msgid ""
 "signal is received"
 msgstr ""
 
-#: src/testbed/gnunet_testbed_mpi_spawn.c:119
-#, fuzzy
-msgid "Waiting for child to exit.\n"
-msgstr "Đang đợi các đồng đẳng kết nối"
-
-#: src/testbed/gnunet_testbed_mpi_spawn.c:242
-#, fuzzy, c-format
-msgid "Spawning process `%s'\n"
-msgstr "Đang bắt đầu tài về « %s »\n"
-
 #: src/testbed/testbed_api.c:399
 #, fuzzy, c-format
 msgid "Adding host %u failed with error: %s\n"
@@ -7082,6 +7082,10 @@ msgstr "Không thể tạo miền tên.\n"
 msgid "GNUnet UNIX domain socket communicator"
 msgstr ""
 
+#: src/transport/gnunet-service-transport_ats.c:137
+msgid "# Addresses given to ATS"
+msgstr ""
+
 #: src/transport/gnunet-service-transport.c:445
 #, fuzzy
 msgid "# messages dropped due to slow client"
@@ -7126,10 +7130,6 @@ msgstr "Không thể lấy địa chỉ của đồng đẳng « %s ».\n"
 msgid "Adding blacklisting entry for peer `%s':`%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_ats.c:137
-msgid "# Addresses given to ATS"
-msgstr ""
-
 #: src/transport/gnunet-service-transport_hello.c:195
 msgid "# refreshed my HELLO"
 msgstr ""
@@ -7469,46 +7469,6 @@ msgstr ""
 msgid "# HELLOs given to peerinfo"
 msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n"
 
-#: src/transport/gnunet-transport-profiler.c:220
-#, c-format
-msgid "%llu B in %llu ms == %.2f KB/s!\n"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:577
-msgid "send data to peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:581
-#, fuzzy
-msgid "receive data from peer"
-msgstr "Yêu cầu cấp %d từ đồng đẳng %d\n"
-
-#: src/transport/gnunet-transport-profiler.c:586
-#, fuzzy
-msgid "iterations"
-msgstr "Tùy chọn chung"
-
-#: src/transport/gnunet-transport-profiler.c:591
-#, fuzzy
-msgid "number of messages to send"
-msgstr "số tin nhắn cần dùng mỗi lần lặp"
-
-#: src/transport/gnunet-transport-profiler.c:596
-#, fuzzy
-msgid "message size to use"
-msgstr "kích cỡ tin nhắn"
-
-#: src/transport/gnunet-transport-profiler.c:601
-#: src/transport/gnunet-transport.c:1404
-msgid "peer identity"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:614
-#: src/transport/gnunet-transport.c:1426
-#, fuzzy
-msgid "Direct access to transport service."
-msgstr "Lỗi kết nối đến gnunetd.\n"
-
 #: src/transport/gnunet-transport.c:406
 #, fuzzy, c-format
 msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7648,6 +7608,11 @@ msgstr "In ra thông tin về các đồng đẳng GNUnet."
 msgid "do not resolve hostnames"
 msgstr "không quyết định các tên máy"
 
+#: src/transport/gnunet-transport.c:1404
+#: src/transport/gnunet-transport-profiler.c:601
+msgid "peer identity"
+msgstr ""
+
 #: src/transport/gnunet-transport.c:1408
 msgid "monitor plugin sessions"
 msgstr ""
@@ -7656,6 +7621,41 @@ msgstr ""
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1426
+#: src/transport/gnunet-transport-profiler.c:614
+#, fuzzy
+msgid "Direct access to transport service."
+msgstr "Lỗi kết nối đến gnunetd.\n"
+
+#: src/transport/gnunet-transport-profiler.c:220
+#, c-format
+msgid "%llu B in %llu ms == %.2f KB/s!\n"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:577
+msgid "send data to peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:581
+#, fuzzy
+msgid "receive data from peer"
+msgstr "Yêu cầu cấp %d từ đồng đẳng %d\n"
+
+#: src/transport/gnunet-transport-profiler.c:586
+#, fuzzy
+msgid "iterations"
+msgstr "Tùy chọn chung"
+
+#: src/transport/gnunet-transport-profiler.c:591
+#, fuzzy
+msgid "number of messages to send"
+msgstr "số tin nhắn cần dùng mỗi lần lặp"
+
+#: src/transport/gnunet-transport-profiler.c:596
+#, fuzzy
+msgid "message size to use"
+msgstr "kích cỡ tin nhắn"
+
 #: src/transport/plugin_transport_http_client.c:1489
 #: src/transport/plugin_transport_http_server.c:2331
 #: src/transport/plugin_transport_http_server.c:3562
@@ -7934,6 +7934,21 @@ msgstr ""
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
 
+#: src/transport/plugin_transport_udp_broadcasting.c:169
+#, fuzzy
+msgid "# Multicast HELLO beacons received via UDP"
+msgstr "# các thông báo PONG đã mật mã được nhận"
+
+#: src/transport/plugin_transport_udp_broadcasting.c:553
+msgid ""
+"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:571
+#, c-format
+msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
+msgstr ""
+
 #: src/transport/plugin_transport_udp.c:3169
 #, c-format
 msgid ""
@@ -7982,21 +7997,6 @@ msgstr "« %s » không sẵn sàng.\n"
 msgid "Failed to create UDP network sockets\n"
 msgstr "Không thể tạo miền tên.\n"
 
-#: src/transport/plugin_transport_udp_broadcasting.c:169
-#, fuzzy
-msgid "# Multicast HELLO beacons received via UDP"
-msgstr "# các thông báo PONG đã mật mã được nhận"
-
-#: src/transport/plugin_transport_udp_broadcasting.c:553
-msgid ""
-"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:571
-#, c-format
-msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
-msgstr ""
-
 #: src/transport/plugin_transport_unix.c:1396
 #, fuzzy, c-format
 msgid "Cannot bind to `%s'\n"
@@ -8084,17 +8084,17 @@ msgstr "Không đủ quyền cho « %s ».\n"
 msgid "Accepting connection from `%s': %p\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400
+#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s).\n"
 msgstr "« %s » thất bại cho ổ đĩa « %s »: %u\n"
 
-#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412
+#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s): address already in use\n"
 msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n"
 
-#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419
+#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
 #, fuzzy, c-format
 msgid "`%s' failed for `%s': address already in use\n"
 msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n"
@@ -8106,7 +8106,7 @@ msgid ""
 "`GNUNET_SERVER_receive_done' after %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837
+#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
 #, fuzzy, c-format
 msgid "Unknown address family %d\n"
 msgstr "\tKhông rõ miền tên « %s »\n"
@@ -8116,23 +8116,23 @@ msgstr "\tKhông rõ miền tên « %s »\n"
 msgid "Access from `%s' denied to service `%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950
+#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
 #, c-format
 msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991
+#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
 #, c-format
 msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:890
-#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480
+#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
 #, c-format
 msgid "Specified value for `%s' of service `%s' is invalid\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504
+#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
 #, c-format
 msgid "Could not access pre-bound socket %u, will try to bind myself\n"
 msgstr ""
@@ -8147,45 +8147,45 @@ msgstr "Lỗi chạy %s: %s %d\n"
 msgid "Service `%s' runs at %s\n"
 msgstr "Đồng đẳng « %s » có mức tin cậy %8u\n"
 
-#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750
+#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
 msgid "Service process failed to initialize\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755
+#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
 msgid "Service process could not initialize server function\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760
+#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
 msgid "Service process failed to report status\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
-#: src/util/service.c:1641
+#: src/util/service.c:1638
 #, 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/transport/tcp_service_legacy.c:1255 src/util/service.c:1643
+#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
 msgid "No such user"
 msgstr "Không có người dùng như vậy"
 
-#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657
+#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
 #, c-format
 msgid "Cannot change user/group to `%s': %s\n"
 msgstr "Không thể thay đổi người dùng/nhóm thành « %s »: %s\n"
 
-#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999
+#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
 msgid "do daemonize (detach from terminal)"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:906 src/util/service.c:2073
-#: src/util/service.c:2085
+#: src/transport/transport-testing2.c:906 src/util/service.c:2070
+#: src/util/service.c:2082
 #, fuzzy, c-format
 msgid "Malformed configuration file `%s', exit ...\n"
 msgstr "Không thể lưu tập tin cấu hình « %s »:"
 
-#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095
+#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
 #, fuzzy
 msgid "Malformed configuration, exit ...\n"
 msgstr "Không thể lưu tập tin cấu hình « %s »:"
@@ -8228,90 +8228,90 @@ msgstr ""
 msgid "Metadata `%s' failed to deserialize"
 msgstr ""
 
-#: src/util/client.c:739 src/util/client.c:931
+#: src/util/client.c:747 src/util/client.c:937
 msgid "not a valid filename"
 msgstr ""
 
-#: src/util/client.c:1097
+#: src/util/client.c:1103
 #, c-format
 msgid "Need a non-empty hostname for service `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:259 src/util/common_logging.c:1116
+#: src/util/common_logging.c:259 src/util/common_logging.c:1112
 msgid "DEBUG"
 msgstr "GỠ LỖI"
 
-#: src/util/common_logging.c:261 src/util/common_logging.c:1114
+#: src/util/common_logging.c:261 src/util/common_logging.c:1110
 msgid "INFO"
 msgstr "TIN"
 
-#: src/util/common_logging.c:263 src/util/common_logging.c:1112
+#: src/util/common_logging.c:263 src/util/common_logging.c:1108
 msgid "MESSAGE"
 msgstr ""
 
-#: src/util/common_logging.c:265 src/util/common_logging.c:1110
+#: src/util/common_logging.c:265 src/util/common_logging.c:1106
 msgid "WARNING"
 msgstr "CẢNH BÁO"
 
-#: src/util/common_logging.c:267 src/util/common_logging.c:1108
+#: src/util/common_logging.c:267 src/util/common_logging.c:1104
 msgid "ERROR"
 msgstr "LỖI"
 
-#: src/util/common_logging.c:269 src/util/common_logging.c:1118
+#: src/util/common_logging.c:269 src/util/common_logging.c:1114
 msgid "NONE"
 msgstr ""
 
-#: src/util/common_logging.c:630 src/util/common_logging.c:669
+#: src/util/common_logging.c:626 src/util/common_logging.c:665
 #, c-format
 msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:906
+#: src/util/common_logging.c:902
 #, fuzzy, c-format
 msgid "Message `%.*s' repeated %u times in the last %s\n"
 msgstr "Thông điệp « %.*s » đã lặp lại %u lần trong %llu giây trước\n"
 
-#: src/util/common_logging.c:1119
+#: src/util/common_logging.c:1115
 msgid "INVALID"
 msgstr ""
 
-#: src/util/common_logging.c:1400
+#: src/util/common_logging.c:1396
 msgid "unknown address"
 msgstr ""
 
-#: src/util/common_logging.c:1445
+#: src/util/common_logging.c:1441
 msgid "invalid address"
 msgstr ""
 
-#: src/util/common_logging.c:1464
+#: src/util/common_logging.c:1460
 #, fuzzy, c-format
 msgid "Configuration fails to specify option `%s' in section `%s'!\n"
 msgstr ""
 "Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n"
 
-#: src/util/common_logging.c:1487
+#: src/util/common_logging.c:1483
 #, fuzzy, c-format
 msgid ""
 "Configuration specifies invalid value for option `%s' in section `%s': %s\n"
 msgstr ""
 "Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n"
 
-#: src/util/configuration.c:325
+#: src/util/configuration.c:402
 #, fuzzy, c-format
 msgid "Syntax error while deserializing in line %u\n"
 msgstr "Gặp lỗi cú pháp trong tập tin cấu hình « %s » tại dòng %d.\n"
 
-#: src/util/configuration.c:383
+#: src/util/configuration.c:460
 #, fuzzy, c-format
 msgid "Error while reading file `%s'\n"
 msgstr "Gặp lỗi khi tải xuống: %s\n"
 
-#: src/util/configuration.c:986
+#: src/util/configuration.c:1063
 #, fuzzy
 msgid "Not a valid relative time specification"
 msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
 
-#: src/util/configuration.c:1077
+#: src/util/configuration.c:1154
 #, c-format
 msgid ""
 "Configuration value '%s' for '%s' in section '%s' is not in set of legal "
@@ -8320,17 +8320,17 @@ msgstr ""
 "Giá trị cấu hình « %s » cho « %s » trong phần « %s » không phải nằm trong "
 "tập hợp các sự chọn được phép\n"
 
-#: src/util/configuration.c:1192
+#: src/util/configuration.c:1269
 #, c-format
 msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1224
+#: src/util/configuration.c:1301
 #, fuzzy, c-format
 msgid "Missing closing `%s' in option `%s'\n"
 msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
 
-#: src/util/configuration.c:1290
+#: src/util/configuration.c:1367
 #, c-format
 msgid ""
 "Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8394,7 +8394,7 @@ msgstr "libgcrypt không có phiên bản mong đợi (yêu cầu 
phiên bản %
 msgid "RSA signing failed at %s:%d: %s\n"
 msgstr "%s bị lỗi tại %s:%d: « %s »\n"
 
-#: src/util/crypto_rsa.c:1313
+#: src/util/crypto_rsa.c:1314
 #, c-format
 msgid "RSA signature verification failed at %s:%d: %s\n"
 msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n"
@@ -8500,11 +8500,11 @@ msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy 
chọn « %s
 msgid "Missing mandatory option `%s'.\n"
 msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
 
-#: src/util/getopt_helpers.c:68
+#: src/util/getopt_helpers.c:69
 msgid "print the version number"
 msgstr "hiển thị số thứ tự phiên bản"
 
-#: src/util/getopt_helpers.c:114
+#: src/util/getopt_helpers.c:116
 #, c-format
 msgid ""
 "Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8512,55 +8512,63 @@ msgstr ""
 "Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn "
 "ngắn.\n"
 
-#: src/util/getopt_helpers.c:205
+#: src/util/getopt_helpers.c:208
 msgid "print this help"
 msgstr "hiển thị trợ giúp này"
 
-#: src/util/getopt_helpers.c:281
+#: src/util/getopt_helpers.c:288
 msgid "be verbose"
 msgstr "xuất chi tiết"
 
-#: src/util/getopt_helpers.c:417
+#: src/util/getopt_helpers.c:429
 msgid "configure logging to use LOGLEVEL"
 msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU"
 
-#: src/util/getopt_helpers.c:495
+#: src/util/getopt_helpers.c:510
 #, fuzzy
 msgid "configure logging to write logs to FILENAME"
 msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU"
 
-#: src/util/getopt_helpers.c:516
+#: src/util/getopt_helpers.c:532
 #, fuzzy
 msgid "use configuration file FILENAME"
 msgstr "cập nhật một giá trị trong tập tin cấu hình"
 
-#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747
-#: src/util/getopt_helpers.c:810
+#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
+#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
 #, c-format
 msgid "You must pass a number to the `%s' option.\n"
 msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
 
-#: src/util/getopt_helpers.c:612
+#: src/util/getopt_helpers.c:659
+msgid "[+/-]MICROSECONDS"
+msgstr ""
+
+#: src/util/getopt_helpers.c:661
+msgid "modify system time by given offset (for debugging/testing only)"
+msgstr ""
+
+#: src/util/getopt_helpers.c:696
 #, fuzzy, c-format
 msgid "You must pass relative time to the `%s' option.\n"
 msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
 
-#: src/util/getopt_helpers.c:675
+#: src/util/getopt_helpers.c:761
 #, fuzzy, c-format
 msgid "You must pass absolute time to the `%s' option.\n"
 msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
 
-#: src/util/getopt_helpers.c:740
+#: src/util/getopt_helpers.c:828
 #, c-format
-msgid "Your input for the '%s' option has to be a non negative number \n"
+msgid "Your input for the '%s' option has to be a non negative number\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:817
+#: src/util/getopt_helpers.c:907
 #, fuzzy, c-format
 msgid "You must pass a number below %u to the `%s' option.\n"
 msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
 
-#: src/util/getopt_helpers.c:902
+#: src/util/getopt_helpers.c:994
 #, c-format
 msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
 msgstr ""
@@ -8897,14 +8905,14 @@ msgstr ""
 msgid "Could not resolve our FQDN: %s\n"
 msgstr "Không thể giải quyết « %s » (%s): %s\n"
 
-#: src/util/service.c:657
+#: src/util/service.c:654
 #, c-format
 msgid ""
 "Processing code for message of type %u did not call "
 "`GNUNET_SERVICE_client_continue' after %s\n"
 msgstr ""
 
-#: src/util/service.c:1572
+#: src/util/service.c:1569
 msgid ""
 "Could not bind to any of the ports I was supposed to, refusing to run!\n"
 msgstr ""
@@ -9225,8 +9233,8 @@ msgstr "# các byte đã nhận qua UDP"
 msgid "Setup tunnels via VPN."
 msgstr ""
 
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #: src/zonemaster/gnunet-service-zonemaster.c:849
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #, fuzzy
 msgid "Failed to connect to the namestore!\n"
 msgstr "Không kết nối được đến trình nền gnunetd."
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f2889d502..66c21260f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnunet-0.8.1\n"
 "Report-Msgid-Bugs-To: address@hidden\n"
-"POT-Creation-Date: 2020-01-13 14:01+0000\n"
+"POT-Creation-Date: 2020-02-13 20:41+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"
@@ -27,8 +27,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
 msgstr "“%s”的参数无效。\n"
 
 #: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
-#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #: src/namestore/gnunet-namestore.c:1001
+#: src/namestore/gnunet-namestore-fcfsd.c:1153
 #, fuzzy, c-format
 msgid "Failed to connect to namestore\n"
 msgstr "初始化“%s”服务失败。\n"
@@ -138,7 +138,7 @@ msgstr ""
 msgid "GNUnet abd resolver tool"
 msgstr "GNUnet 错误日志"
 
-#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288
+#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
 #, fuzzy, c-format
 msgid "Failed to connect to GNS\n"
 msgstr "初始化“%s”服务失败。\n"
@@ -377,28 +377,28 @@ msgstr ""
 #: src/transport/plugin_transport_tcp.c:1129
 #: src/transport/plugin_transport_tcp.c:3706
 #: src/transport/tcp_service_legacy.c:594
-#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094
-#: src/util/service.c:1100
+#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
+#: src/util/service.c:1097
 #, c-format
 msgid "Require valid port number for service `%s' in configuration!\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
-#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519
-#: src/util/service.c:1133
+#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
+#: src/util/service.c:1130
 #, c-format
 msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
-#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524
-#: src/util/service.c:1137
+#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
+#: src/util/service.c:1134
 #, fuzzy, c-format
 msgid "Using `%s' instead\n"
 msgstr "%s:选项“%s”有歧义\n"
 
 #: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
-#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157
+#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
 #, c-format
 msgid ""
 "Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -406,7 +406,7 @@ msgid ""
 msgstr ""
 
 #: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
-#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175
+#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
 #, c-format
 msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
 msgstr ""
@@ -414,7 +414,7 @@ msgstr ""
 #: src/arm/gnunet-service-arm.c:536
 #: src/transport/plugin_transport_http_server.c:2718
 #: src/transport/plugin_transport_tcp.c:1244
-#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206
+#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
 #, fuzzy, c-format
 msgid "Failed to resolve `%s': %s\n"
 msgstr "打开日志文件“%s”失败:%s\n"
@@ -422,7 +422,7 @@ msgstr "打开日志文件“%s”失败:%s\n"
 #: src/arm/gnunet-service-arm.c:555
 #: src/transport/plugin_transport_http_server.c:2736
 #: src/transport/plugin_transport_tcp.c:1263
-#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225
+#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
 #, fuzzy, c-format
 msgid "Failed to find %saddress for `%s'.\n"
 msgstr "找不到接口“%s”的一个 IP 地址。\n"
@@ -494,15 +494,83 @@ msgstr ""
 msgid "Initiating shutdown as requested by client.\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:896
-msgid "Stop logging\n"
+#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
+#, c-format
+msgid ""
+"Could not load quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
 msgstr ""
 
-#: src/ats-tests/ats-testing-log.c:952
-#, fuzzy, c-format
-msgid "Start logging `%s'\n"
+#: src/ats/gnunet-ats-solver-eval.c:3011
+#, c-format
+msgid ""
+"No outbound quota configured for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3063
+#, c-format
+msgid ""
+"No outbound quota configure for network `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
+msgid "solver to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3557
+#: src/ats-tests/gnunet-solver-eval.c:1003
+#: src/ats-tests/gnunet-solver-eval.c:1008
+msgid "experiment to use"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3564
+#, fuzzy
+msgid "print logging"
 msgstr "未知的命令“%s”。\n"
 
+#: src/ats/gnunet-ats-solver-eval.c:3569
+msgid "save logging to disk"
+msgstr ""
+
+#: src/ats/gnunet-ats-solver-eval.c:3574
+msgid "disable normalization"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:326
+#, c-format
+msgid ""
+"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
+"%llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:336
+#, c-format
+msgid "%s quota configured for network `%s' is %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:382
+#, c-format
+msgid ""
+"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
+msgstr ""
+
+#: src/ats/gnunet-service-ats_plugins.c:474
+#, fuzzy, c-format
+msgid "Failed to initialize solver `%s'!\n"
+msgstr "无法初始化 SQLite:%s。\n"
+
+#: src/ats/plugin_ats_proportional.c:1140
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f \n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/ats/plugin_ats_proportional.c:1163
+#, fuzzy, c-format
+msgid "Invalid %s configuration %f\n"
+msgstr "解析配置文件“%s”失败\n"
+
 #: src/ats-tests/ats-testing.c:420
 #, c-format
 msgid "Connected master [%u] with slave [%u]\n"
@@ -513,6 +581,15 @@ msgstr ""
 msgid "Failed to connect master peer [%u] with slave [%u]\n"
 msgstr "初始化“%s”服务失败。\n"
 
+#: src/ats-tests/ats-testing-log.c:896
+msgid "Stop logging\n"
+msgstr ""
+
+#: src/ats-tests/ats-testing-log.c:952
+#, fuzzy, c-format
+msgid "Start logging `%s'\n"
+msgstr "未知的命令“%s”。\n"
+
 #: src/ats-tests/gnunet-ats-sim.c:92
 #, c-format
 msgid ""
@@ -520,16 +597,6 @@ msgid ""
 "= %u KiB/s\n"
 msgstr ""
 
-#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
-msgid "solver to use"
-msgstr ""
-
-#: src/ats-tests/gnunet-solver-eval.c:1003
-#: src/ats-tests/gnunet-solver-eval.c:1008
-#: src/ats/gnunet-ats-solver-eval.c:3557
-msgid "experiment to use"
-msgstr ""
-
 #: src/ats-tool/gnunet-ats.c:299
 #, c-format
 msgid "%u address resolutions had a timeout\n"
@@ -651,73 +718,6 @@ msgstr ""
 msgid "Print information about ATS state"
 msgstr "无法获取有关用户“%s”的信息:%s\n"
 
-#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
-#, c-format
-msgid ""
-"Could not load quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3011
-#, c-format
-msgid ""
-"No outbound quota configured for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3063
-#, c-format
-msgid ""
-"No outbound quota configure for network `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3564
-#, fuzzy
-msgid "print logging"
-msgstr "未知的命令“%s”。\n"
-
-#: src/ats/gnunet-ats-solver-eval.c:3569
-msgid "save logging to disk"
-msgstr ""
-
-#: src/ats/gnunet-ats-solver-eval.c:3574
-msgid "disable normalization"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:326
-#, c-format
-msgid ""
-"Could not load %s quota for network `%s':  `%s', assigning default bandwidth "
-"%llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:336
-#, c-format
-msgid "%s quota configured for network `%s' is %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:382
-#, c-format
-msgid ""
-"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
-msgstr ""
-
-#: src/ats/gnunet-service-ats_plugins.c:474
-#, fuzzy, c-format
-msgid "Failed to initialize solver `%s'!\n"
-msgstr "无法初始化 SQLite:%s。\n"
-
-#: src/ats/plugin_ats_proportional.c:1140
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f \n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/ats/plugin_ats_proportional.c:1163
-#, fuzzy, c-format
-msgid "Invalid %s configuration %f\n"
-msgstr "解析配置文件“%s”失败\n"
-
 #: src/auction/gnunet-auction-create.c:163
 msgid "description of the item to be sold"
 msgstr ""
@@ -850,28 +850,6 @@ msgstr ""
 msgid "Connection to conversation service lost, trying to reconnect\n"
 msgstr ""
 
-#: src/conversation/gnunet-conversation-test.c:120
-#, c-format
-msgid ""
-"\n"
-"End of transmission.  Have a GNU day.\n"
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:146
-#, c-format
-msgid ""
-"\n"
-"We are now playing your recording back.  If you can hear it, your audio "
-"settings are working..."
-msgstr ""
-
-#: src/conversation/gnunet-conversation-test.c:218
-#, c-format
-msgid ""
-"We will now be recording you for %s. After that time, the recording will be "
-"played back to you..."
-msgstr ""
-
 #: src/conversation/gnunet-conversation.c:264
 #, c-format
 msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1130,8 +1108,30 @@ msgstr ""
 msgid "Enables having a conversation with other GNUnet users."
 msgstr ""
 
-#: src/conversation/gnunet-helper-audio-playback-gst.c:363
+#: src/conversation/gnunet-conversation-test.c:120
+#, c-format
+msgid ""
+"\n"
+"End of transmission.  Have a GNU day.\n"
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:146
+#, c-format
+msgid ""
+"\n"
+"We are now playing your recording back.  If you can hear it, your audio "
+"settings are working..."
+msgstr ""
+
+#: src/conversation/gnunet-conversation-test.c:218
+#, c-format
+msgid ""
+"We will now be recording you for %s. After that time, the recording will be "
+"played back to you..."
+msgstr ""
+
 #: src/conversation/gnunet_gst.c:664
+#: src/conversation/gnunet-helper-audio-playback-gst.c:363
 #, c-format
 msgid "Read error from STDIN: %d %s\n"
 msgstr ""
@@ -1913,17 +1913,17 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
 msgid "Mysql database running\n"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:277
-#: src/datastore/plugin_datastore_postgres.c:890
+#: src/datastore/plugin_datastore_postgres.c:278
+#: src/datastore/plugin_datastore_postgres.c:891
 msgid "Postgress exec failure"
 msgstr ""
 
-#: src/datastore/plugin_datastore_postgres.c:851
+#: src/datastore/plugin_datastore_postgres.c:852
 #, fuzzy
 msgid "Failed to drop table from database.\n"
 msgstr "发送消息失败。\n"
 
-#: src/datastore/plugin_datastore_postgres.c:949
+#: src/datastore/plugin_datastore_postgres.c:950
 msgid "Postgres database running\n"
 msgstr ""
 
@@ -2032,45 +2032,93 @@ msgstr ""
 msgid "Prints all packets that go through the DHT."
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:133
-msgid "Must provide KEY and DATA for DHT put!\n"
-msgstr ""
-
-#: src/dht/gnunet-dht-put.c:140
+#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
 #, fuzzy, c-format
-msgid "Could not connect to DHT service!\n"
-msgstr "无法连接到 %s:%u:%s\n"
+msgid "Exiting as the number of peers is %u\n"
+msgstr "增加 TCP/IP 的最大连接数"
 
-#: src/dht/gnunet-dht-put.c:151
-#, c-format
-msgid "Issuing put request for `%s' with data `%s'!\n"
+#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
+#, fuzzy
+msgid "number of peers to start"
+msgstr "迭代次数"
+
+#: src/dht/gnunet_dht_profiler.c:961
+msgid "number of PUTs to perform per peer"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:187
-msgid "the data to insert under the key"
+#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
+#: src/testbed/gnunet-testbed-profiler.c:305
+msgid "name of the file with the login information for the testbed"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:193
-msgid "how long to store this entry in the dht (in seconds)"
+#: src/dht/gnunet_dht_profiler.c:973
+msgid "delay between rounds for collecting statistics (default: 30 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:208
-msgid "how many replicas to create"
+#: src/dht/gnunet_dht_profiler.c:979
+msgid "delay to start doing PUTs (default: 1 sec)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:212
-msgid "use DHT's record route option"
+#: src/dht/gnunet_dht_profiler.c:985
+msgid "delay to start doing GETs (default: 5 min)"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:217
-msgid "the type to insert data as"
+#: src/dht/gnunet_dht_profiler.c:990
+msgid "replication degree for DHT PUTs"
 msgstr ""
 
-#: src/dht/gnunet-dht-put.c:232
-msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+#: src/dht/gnunet_dht_profiler.c:996
+msgid "chance that a peer is selected at random for PUTs"
 msgstr ""
 
-#: src/dht/gnunet-service-dht_clients.c:367
+#: src/dht/gnunet_dht_profiler.c:1002
+msgid "timeout for DHT PUT and GET requests (default: 1 min)"
+msgstr ""
+
+#: src/dht/gnunet_dht_profiler.c:1023
+#, fuzzy
+msgid "Measure quality and performance of the DHT service."
+msgstr "无法访问该服务"
+
+#: src/dht/gnunet-dht-put.c:133
+msgid "Must provide KEY and DATA for DHT put!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:140
+#, fuzzy, c-format
+msgid "Could not connect to DHT service!\n"
+msgstr "无法连接到 %s:%u:%s\n"
+
+#: src/dht/gnunet-dht-put.c:151
+#, c-format
+msgid "Issuing put request for `%s' with data `%s'!\n"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:187
+msgid "the data to insert under the key"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:193
+msgid "how long to store this entry in the dht (in seconds)"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:208
+msgid "how many replicas to create"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:212
+msgid "use DHT's record route option"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:217
+msgid "the type to insert data as"
+msgstr ""
+
+#: src/dht/gnunet-dht-put.c:232
+msgid "Issue a PUT request to the GNUnet DHT insert DATA under KEY."
+msgstr ""
+
+#: src/dht/gnunet-service-dht_clients.c:367
 msgid "# GET requests from clients injected"
 msgstr ""
 
@@ -2277,54 +2325,6 @@ msgstr ""
 msgid "# DHT requests combined"
 msgstr ""
 
-#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
-#, fuzzy, c-format
-msgid "Exiting as the number of peers is %u\n"
-msgstr "增加 TCP/IP 的最大连接数"
-
-#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
-#, fuzzy
-msgid "number of peers to start"
-msgstr "迭代次数"
-
-#: src/dht/gnunet_dht_profiler.c:961
-msgid "number of PUTs to perform per peer"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
-#: src/testbed/gnunet-testbed-profiler.c:305
-msgid "name of the file with the login information for the testbed"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:973
-msgid "delay between rounds for collecting statistics (default: 30 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:979
-msgid "delay to start doing PUTs (default: 1 sec)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:985
-msgid "delay to start doing GETs (default: 5 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:990
-msgid "replication degree for DHT PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:996
-msgid "chance that a peer is selected at random for PUTs"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1002
-msgid "timeout for DHT PUT and GET requests (default: 1 min)"
-msgstr ""
-
-#: src/dht/gnunet_dht_profiler.c:1023
-#, fuzzy
-msgid "Measure quality and performance of the DHT service."
-msgstr "无法访问该服务"
-
 #: src/dht/plugin_block_dht.c:189
 #, c-format
 msgid "Block not of type %u\n"
@@ -3244,6 +3244,14 @@ msgid ""
 "chk/...)"
 msgstr ""
 
+#: src/fs/gnunet-fs.c:128
+msgid "print a list of all indexed files"
+msgstr ""
+
+#: src/fs/gnunet-fs.c:141
+msgid "Special file-sharing operations"
+msgstr ""
+
 #: src/fs/gnunet-fs-profiler.c:211
 msgid "run the experiment with COUNT peers"
 msgstr ""
@@ -3260,14 +3268,6 @@ msgstr ""
 msgid "run a testbed to measure file-sharing performance"
 msgstr ""
 
-#: src/fs/gnunet-fs.c:128
-msgid "print a list of all indexed files"
-msgstr ""
-
-#: src/fs/gnunet-fs.c:141
-msgid "Special file-sharing operations"
-msgstr ""
-
 #: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
 #, c-format
 msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -3922,6 +3922,50 @@ msgstr ""
 msgid "look for GNS2DNS records instead of ANY"
 msgstr ""
 
+#: src/gns/gnunet-gns.c:257
+#, fuzzy, c-format
+msgid "`%s' is not a valid DNS domain name\n"
+msgstr "“%s”不可用。\n"
+
+#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
+#, fuzzy, c-format
+msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
+msgstr "打开日志文件“%s”失败:%s\n"
+
+#: src/gns/gnunet-gns.c:281
+msgid "Cannot resolve using GNS: GNUnet peer not running\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:305
+#, c-format
+msgid "Invalid typename specified, assuming `ANY'\n"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:340
+msgid "Lookup a record for the given name"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:346
+msgid "Specify the type of the record to lookup"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:352
+msgid "Specify a timeout for the lookup"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:356
+msgid "No unneeded output"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:361
+msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
+msgstr ""
+
+#: src/gns/gnunet-gns.c:375
+#, fuzzy
+msgid "GNUnet GNS resolver tool"
+msgstr "GNUnet 错误日志"
+
 #: src/gns/gnunet-gns-import.c:486
 msgid "This program will import some GNS authorities into your GNS namestore."
 msgstr ""
@@ -4042,50 +4086,6 @@ msgstr ""
 msgid "GNUnet GNS proxy"
 msgstr ""
 
-#: src/gns/gnunet-gns.c:253
-#, fuzzy, c-format
-msgid "`%s' is not a valid DNS domain name\n"
-msgstr "“%s”不可用。\n"
-
-#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
-#, fuzzy, c-format
-msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
-msgstr "打开日志文件“%s”失败:%s\n"
-
-#: src/gns/gnunet-gns.c:277
-msgid "Cannot resolve using GNS: GNUnet peer not running\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:301
-#, c-format
-msgid "Invalid typename specified, assuming `ANY'\n"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:336
-msgid "Lookup a record for the given name"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:342
-msgid "Specify the type of the record to lookup"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:348
-msgid "Specify a timeout for the lookup"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:352
-msgid "No unneeded output"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:357
-msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
-msgstr ""
-
-#: src/gns/gnunet-gns.c:371
-#, fuzzy
-msgid "GNUnet GNS resolver tool"
-msgstr "GNUnet 错误日志"
-
 #: src/gns/gnunet-service-gns.c:505
 #, fuzzy
 msgid "Properly base32-encoded public key required"
@@ -4097,8 +4097,8 @@ msgid "Failed to connect to the namecache!\n"
 msgstr "初始化“%s”服务失败。\n"
 
 #: src/gns/gnunet-service-gns.c:560
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #: src/zonemaster/gnunet-service-zonemaster.c:887
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
 #, fuzzy
 msgid "Could not connect to DHT!\n"
 msgstr "无法连接到 %s:%u:%s\n"
@@ -4157,21 +4157,21 @@ msgstr ""
 msgid "GNS lookup failed (zero records found for `%s')\n"
 msgstr "运行 %s失败:%s %d\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2376
+#: src/gns/gnunet-service-gns_resolver.c:2372
 msgid "GNS lookup recursion failed (no delegation record found)\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2399
+#: src/gns/gnunet-service-gns_resolver.c:2395
 #, fuzzy, c-format
 msgid "Failed to cache GNS resolution: %s\n"
 msgstr "打开日志文件“%s”失败:%s\n"
 
-#: src/gns/gnunet-service-gns_resolver.c:2567
+#: src/gns/gnunet-service-gns_resolver.c:2563
 #, c-format
 msgid "GNS namecache returned empty result for `%s'\n"
 msgstr ""
 
-#: src/gns/gnunet-service-gns_resolver.c:2707
+#: src/gns/gnunet-service-gns_resolver.c:2703
 #, c-format
 msgid "Zone %s was revoked, resolution fails\n"
 msgstr ""
@@ -4838,70 +4838,6 @@ msgstr "sqlite 数据仓库"
 msgid "Failed to setup database at `%s'\n"
 msgstr "运行 %s失败:%s %d\n"
 
-#: src/namestore/gnunet-namestore-fcfsd.c:551
-#, fuzzy, c-format
-msgid "Unsupported form value `%s'\n"
-msgstr "未知的命令“%s”。\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:578
-#, fuzzy, c-format
-msgid "Failed to create record for domain `%s': %s\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:599
-msgid "Error when mapping zone to name\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:631
-#, c-format
-msgid "Found existing name `%s' for the given key\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:693
-#, c-format
-msgid "Found %u existing records for domain `%s'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:783
-#, fuzzy, c-format
-msgid "Failed to create page for `%s'\n"
-msgstr "发送消息失败。\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:802
-#, fuzzy, c-format
-msgid "Failed to setup post processor for `%s'\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:839
-msgid "Domain name must not contain `.'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:848
-msgid "Domain name must not contain `+'\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1083
-msgid "No ego configured for `fcfsd` subsystem\n"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1114
-#, fuzzy
-msgid "Failed to start HTTP server\n"
-msgstr "初始化“%s”服务失败。\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1162
-#, fuzzy
-msgid "Failed to connect to identity\n"
-msgstr "初始化“%s”服务失败。\n"
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1189
-msgid "name of the zone that is to be managed by FCFSD"
-msgstr ""
-
-#: src/namestore/gnunet-namestore-fcfsd.c:1209
-msgid "GNU Name System First Come First Serve name registration service"
-msgstr ""
-
 #: src/namestore/gnunet-namestore.c:334
 #, c-format
 msgid "Adding record failed: %s\n"
@@ -5124,7 +5060,71 @@ msgstr ""
 msgid "name of the ego controlling the zone"
 msgstr ""
 
-#: src/namestore/gnunet-service-namestore.c:864
+#: src/namestore/gnunet-namestore-fcfsd.c:551
+#, fuzzy, c-format
+msgid "Unsupported form value `%s'\n"
+msgstr "未知的命令“%s”。\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:578
+#, fuzzy, c-format
+msgid "Failed to create record for domain `%s': %s\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:599
+msgid "Error when mapping zone to name\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:631
+#, c-format
+msgid "Found existing name `%s' for the given key\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:693
+#, c-format
+msgid "Found %u existing records for domain `%s'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:783
+#, fuzzy, c-format
+msgid "Failed to create page for `%s'\n"
+msgstr "发送消息失败。\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:802
+#, fuzzy, c-format
+msgid "Failed to setup post processor for `%s'\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:839
+msgid "Domain name must not contain `.'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:848
+msgid "Domain name must not contain `+'\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1083
+msgid "No ego configured for `fcfsd` subsystem\n"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1114
+#, fuzzy
+msgid "Failed to start HTTP server\n"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1162
+#, fuzzy
+msgid "Failed to connect to identity\n"
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1189
+msgid "name of the zone that is to be managed by FCFSD"
+msgstr ""
+
+#: src/namestore/gnunet-namestore-fcfsd.c:1209
+msgid "GNU Name System First Come First Serve name registration service"
+msgstr ""
+
+#: src/namestore/gnunet-service-namestore.c:866
 #, fuzzy, c-format
 msgid "Failed to replicate block in namecache: %s\n"
 msgstr "发送消息失败。\n"
@@ -5439,41 +5439,95 @@ msgstr ""
 msgid "`upnpc' command not found\n"
 msgstr ""
 
+#: src/nse/gnunet-nse.c:124
+msgid "Show network size estimates from NSE service."
+msgstr ""
+
 #: src/nse/gnunet-nse-profiler.c:857
 msgid "limit to the number of connections to NSE services, 0 for none"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:864
-msgid "name of the file for writing connection information and statistics"
+#: src/nse/gnunet-nse-profiler.c:864
+msgid "name of the file for writing connection information and statistics"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:879
+msgid "name of the file for writing the main results"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:888
+msgid "Number of peers to run in each round, separated by commas"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:900
+msgid "delay between rounds"
+msgstr ""
+
+#: src/nse/gnunet-nse-profiler.c:912
+#, fuzzy
+msgid "Measure quality and performance of the NSE service."
+msgstr "无法访问该服务"
+
+#: src/nse/gnunet-service-nse.c:1437
+#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
+#, fuzzy
+msgid "Value is too large.\n"
+msgstr "值不在合法范围内。"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:175
+#, c-format
+msgid "Removing expired address of transport `%s'\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:306
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s': %s\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:323
+#: src/peerinfo/gnunet-service-peerinfo.c:348
+#, fuzzy, c-format
+msgid "Failed to parse HELLO in file `%s'\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:426
+msgid "# peers known"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:468
+#, c-format
+msgid ""
+"File `%s' in directory `%s' does not match naming convention. Removed.\n"
+msgstr ""
+
+#: src/peerinfo/gnunet-service-peerinfo.c:624
+#, fuzzy, c-format
+msgid "Scanning directory `%s'\n"
+msgstr "解析配置文件“%s”失败\n"
+
+#: src/peerinfo/gnunet-service-peerinfo.c:631
+#, c-format
+msgid "Still no peers found in `%s'!\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:879
-msgid "name of the file for writing the main results"
-msgstr ""
+#: src/peerinfo/gnunet-service-peerinfo.c:1024
+#, fuzzy, c-format
+msgid "Cleaning up directory `%s'\n"
+msgstr "解析配置文件“%s”失败\n"
 
-#: src/nse/gnunet-nse-profiler.c:888
-msgid "Number of peers to run in each round, separated by commas"
+#: src/peerinfo/gnunet-service-peerinfo.c:1319
+#, c-format
+msgid "Importing HELLOs from `%s'\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:900
-msgid "delay between rounds"
+#: src/peerinfo/gnunet-service-peerinfo.c:1332
+msgid "Skipping import of included HELLOs\n"
 msgstr ""
 
-#: src/nse/gnunet-nse-profiler.c:912
-#, fuzzy
-msgid "Measure quality and performance of the NSE service."
-msgstr "无法访问该服务"
-
-#: src/nse/gnunet-nse.c:124
-msgid "Show network size estimates from NSE service."
+#: src/peerinfo/peerinfo_api.c:217
+msgid "Failed to receive response from `PEERINFO' service."
 msgstr ""
 
-#: src/nse/gnunet-service-nse.c:1437
-#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
-#, fuzzy
-msgid "Value is too large.\n"
-msgstr "值不在合法范围内。"
-
 #: src/peerinfo-tool/gnunet-peerinfo.c:237
 #, fuzzy, c-format
 msgid "%sPeer `%s'\n"
@@ -5570,60 +5624,6 @@ msgstr "解析配置文件“%s”失败\n"
 msgid "Peerinfo REST API initialized\n"
 msgstr ""
 
-#: src/peerinfo/gnunet-service-peerinfo.c:175
-#, c-format
-msgid "Removing expired address of transport `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:306
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s': %s\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:323
-#: src/peerinfo/gnunet-service-peerinfo.c:348
-#, fuzzy, c-format
-msgid "Failed to parse HELLO in file `%s'\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:426
-msgid "# peers known"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:468
-#, c-format
-msgid ""
-"File `%s' in directory `%s' does not match naming convention. Removed.\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:624
-#, fuzzy, c-format
-msgid "Scanning directory `%s'\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:631
-#, c-format
-msgid "Still no peers found in `%s'!\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1024
-#, fuzzy, c-format
-msgid "Cleaning up directory `%s'\n"
-msgstr "解析配置文件“%s”失败\n"
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1319
-#, c-format
-msgid "Importing HELLOs from `%s'\n"
-msgstr ""
-
-#: src/peerinfo/gnunet-service-peerinfo.c:1332
-msgid "Skipping import of included HELLOs\n"
-msgstr ""
-
-#: src/peerinfo/peerinfo_api.c:217
-msgid "Failed to receive response from `PEERINFO' service."
-msgstr ""
-
 #: src/peerstore/gnunet-peerstore.c:92
 msgid "peerstore"
 msgstr ""
@@ -6044,6 +6044,18 @@ msgstr ""
 msgid "Could not open revocation database file!"
 msgstr "无法连接到 %s:%u:%s\n"
 
+#: src/rps/gnunet-rps.c:270
+msgid "Seed a PeerID"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:275
+msgid "Get updates of view (0 for infinite updates)"
+msgstr ""
+
+#: src/rps/gnunet-rps.c:279
+msgid "Get peers from biased stream"
+msgstr ""
+
 #: src/rps/gnunet-rps-profiler.c:3200
 msgid "duration of the profiling"
 msgstr ""
@@ -6062,18 +6074,6 @@ msgstr "迭代次数"
 msgid "Measure quality and performance of the RPS service."
 msgstr "无法访问该服务"
 
-#: src/rps/gnunet-rps.c:270
-msgid "Seed a PeerID"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:275
-msgid "Get updates of view (0 for infinite updates)"
-msgstr ""
-
-#: src/rps/gnunet-rps.c:279
-msgid "Get peers from biased stream"
-msgstr ""
-
 #: src/scalarproduct/gnunet-scalarproduct.c:229
 #, fuzzy
 msgid "You must specify at least one message ID to check!\n"
@@ -6129,10 +6129,10 @@ msgstr ""
 msgid "Calculate the Vectorproduct with a GNUnet peer."
 msgstr ""
 
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
-#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
 #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
 #, fuzzy
 msgid "Connect to CADET failed\n"
 msgstr "“%s”已连接到“%s”。\n"
@@ -6476,6 +6476,15 @@ msgstr ""
 msgid "%.s Unknown result code."
 msgstr ""
 
+#: src/testbed/gnunet_testbed_mpi_spawn.c:119
+msgid "Waiting for child to exit.\n"
+msgstr ""
+
+#: src/testbed/gnunet_testbed_mpi_spawn.c:242
+#, fuzzy, c-format
+msgid "Spawning process `%s'\n"
+msgstr "卸载 GNUnet 服务"
+
 #: src/testbed/gnunet-testbed-profiler.c:290
 msgid "tolerate COUNT number of continious timeout failures"
 msgstr ""
@@ -6487,15 +6496,6 @@ msgid ""
 "signal is received"
 msgstr ""
 
-#: src/testbed/gnunet_testbed_mpi_spawn.c:119
-msgid "Waiting for child to exit.\n"
-msgstr ""
-
-#: src/testbed/gnunet_testbed_mpi_spawn.c:242
-#, fuzzy, c-format
-msgid "Spawning process `%s'\n"
-msgstr "卸载 GNUnet 服务"
-
 #: src/testbed/testbed_api.c:399
 #, fuzzy, c-format
 msgid "Adding host %u failed with error: %s\n"
@@ -6829,6 +6829,10 @@ msgstr "发送消息失败。\n"
 msgid "GNUnet UNIX domain socket communicator"
 msgstr ""
 
+#: src/transport/gnunet-service-transport_ats.c:137
+msgid "# Addresses given to ATS"
+msgstr ""
+
 #: src/transport/gnunet-service-transport.c:445
 msgid "# messages dropped due to slow client"
 msgstr ""
@@ -6869,10 +6873,6 @@ msgstr "卸载 GNUnet 服务"
 msgid "Adding blacklisting entry for peer `%s':`%s'\n"
 msgstr ""
 
-#: src/transport/gnunet-service-transport_ats.c:137
-msgid "# Addresses given to ATS"
-msgstr ""
-
 #: src/transport/gnunet-service-transport_hello.c:195
 msgid "# refreshed my HELLO"
 msgstr ""
@@ -7181,44 +7181,6 @@ msgstr ""
 msgid "# HELLOs given to peerinfo"
 msgstr ""
 
-#: src/transport/gnunet-transport-profiler.c:220
-#, c-format
-msgid "%llu B in %llu ms == %.2f KB/s!\n"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:577
-msgid "send data to peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:581
-msgid "receive data from peer"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:586
-msgid "iterations"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:591
-#, fuzzy
-msgid "number of messages to send"
-msgstr "每次迭代所使用的消息数量"
-
-#: src/transport/gnunet-transport-profiler.c:596
-#, fuzzy
-msgid "message size to use"
-msgstr "消息尺寸"
-
-#: src/transport/gnunet-transport-profiler.c:601
-#: src/transport/gnunet-transport.c:1404
-msgid "peer identity"
-msgstr ""
-
-#: src/transport/gnunet-transport-profiler.c:614
-#: src/transport/gnunet-transport.c:1426
-#, fuzzy
-msgid "Direct access to transport service."
-msgstr "初始化“%s”服务失败。\n"
-
 #: src/transport/gnunet-transport.c:406
 #, c-format
 msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7355,6 +7317,11 @@ msgstr ""
 msgid "do not resolve hostnames"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1404
+#: src/transport/gnunet-transport-profiler.c:601
+msgid "peer identity"
+msgstr ""
+
 #: src/transport/gnunet-transport.c:1408
 msgid "monitor plugin sessions"
 msgstr ""
@@ -7363,6 +7330,39 @@ msgstr ""
 msgid "send data for benchmarking to the other peer (until CTRL-C)"
 msgstr ""
 
+#: src/transport/gnunet-transport.c:1426
+#: src/transport/gnunet-transport-profiler.c:614
+#, fuzzy
+msgid "Direct access to transport service."
+msgstr "初始化“%s”服务失败。\n"
+
+#: src/transport/gnunet-transport-profiler.c:220
+#, c-format
+msgid "%llu B in %llu ms == %.2f KB/s!\n"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:577
+msgid "send data to peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:581
+msgid "receive data from peer"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:586
+msgid "iterations"
+msgstr ""
+
+#: src/transport/gnunet-transport-profiler.c:591
+#, fuzzy
+msgid "number of messages to send"
+msgstr "每次迭代所使用的消息数量"
+
+#: src/transport/gnunet-transport-profiler.c:596
+#, fuzzy
+msgid "message size to use"
+msgstr "消息尺寸"
+
 #: src/transport/plugin_transport_http_client.c:1489
 #: src/transport/plugin_transport_http_server.c:2331
 #: src/transport/plugin_transport_http_server.c:3562
@@ -7639,6 +7639,20 @@ msgstr ""
 msgid "TCP transport advertises itself as being on port %llu\n"
 msgstr ""
 
+#: src/transport/plugin_transport_udp_broadcasting.c:169
+msgid "# Multicast HELLO beacons received via UDP"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:553
+msgid ""
+"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
+msgstr ""
+
+#: src/transport/plugin_transport_udp_broadcasting.c:571
+#, c-format
+msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
+msgstr ""
+
 #: src/transport/plugin_transport_udp.c:3169
 #, c-format
 msgid ""
@@ -7687,20 +7701,6 @@ msgstr "“%s”不可用。\n"
 msgid "Failed to create UDP network sockets\n"
 msgstr "发送消息失败。\n"
 
-#: src/transport/plugin_transport_udp_broadcasting.c:169
-msgid "# Multicast HELLO beacons received via UDP"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:553
-msgid ""
-"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
-msgstr ""
-
-#: src/transport/plugin_transport_udp_broadcasting.c:571
-#, c-format
-msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
-msgstr ""
-
 #: src/transport/plugin_transport_unix.c:1396
 #, fuzzy, c-format
 msgid "Cannot bind to `%s'\n"
@@ -7778,17 +7778,17 @@ msgstr "“%s”已连接到“%s”。\n"
 msgid "Accepting connection from `%s': %p\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400
+#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
 #, fuzzy, c-format
 msgid "`%s' failed for port %d (%s).\n"
 msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
 
-#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412
+#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
 #, c-format
 msgid "`%s' failed for port %d (%s): address already in use\n"
 msgstr ""
 
-#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419
+#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
 #, fuzzy, c-format
 msgid "`%s' failed for `%s': address already in use\n"
 msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
@@ -7800,7 +7800,7 @@ msgid ""
 "`GNUNET_SERVER_receive_done' after %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837
+#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
 #, c-format
 msgid "Unknown address family %d\n"
 msgstr ""
@@ -7810,23 +7810,23 @@ msgstr ""
 msgid "Access from `%s' denied to service `%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950
+#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
 #, c-format
 msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991
+#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
 #, c-format
 msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:890
-#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480
+#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
 #, c-format
 msgid "Specified value for `%s' of service `%s' is invalid\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504
+#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
 #, c-format
 msgid "Could not access pre-bound socket %u, will try to bind myself\n"
 msgstr ""
@@ -7841,45 +7841,45 @@ msgstr "运行 %s失败:%s %d\n"
 msgid "Service `%s' runs at %s\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750
+#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
 msgid "Service process failed to initialize\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755
+#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
 msgid "Service process could not initialize server function\n"
 msgstr ""
 
-#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760
+#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
 msgid "Service process failed to report status\n"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
-#: src/util/service.c:1641
+#: src/util/service.c:1638
 #, c-format
 msgid "Cannot obtain information about user `%s': %s\n"
 msgstr "无法获取有关用户“%s”的信息:%s\n"
 
-#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643
+#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
 msgid "No such user"
 msgstr "无此用户"
 
-#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657
+#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
 #, c-format
 msgid "Cannot change user/group to `%s': %s\n"
 msgstr "无法更改用户/组为“%s”:%s\n"
 
-#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999
+#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
 msgid "do daemonize (detach from terminal)"
 msgstr ""
 
 #: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:906 src/util/service.c:2073
-#: src/util/service.c:2085
+#: src/transport/transport-testing2.c:906 src/util/service.c:2070
+#: src/util/service.c:2082
 #, fuzzy, c-format
 msgid "Malformed configuration file `%s', exit ...\n"
 msgstr "解析配置文件“%s”失败\n"
 
-#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095
+#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
 #, fuzzy
 msgid "Malformed configuration, exit ...\n"
 msgstr "解析配置文件“%s”失败\n"
@@ -7922,105 +7922,105 @@ msgstr ""
 msgid "Metadata `%s' failed to deserialize"
 msgstr ""
 
-#: src/util/client.c:739 src/util/client.c:931
+#: src/util/client.c:747 src/util/client.c:937
 msgid "not a valid filename"
 msgstr ""
 
-#: src/util/client.c:1097
+#: src/util/client.c:1103
 #, c-format
 msgid "Need a non-empty hostname for service `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:259 src/util/common_logging.c:1116
+#: src/util/common_logging.c:259 src/util/common_logging.c:1112
 msgid "DEBUG"
 msgstr "调试"
 
-#: src/util/common_logging.c:261 src/util/common_logging.c:1114
+#: src/util/common_logging.c:261 src/util/common_logging.c:1110
 msgid "INFO"
 msgstr "信息"
 
-#: src/util/common_logging.c:263 src/util/common_logging.c:1112
+#: src/util/common_logging.c:263 src/util/common_logging.c:1108
 msgid "MESSAGE"
 msgstr ""
 
-#: src/util/common_logging.c:265 src/util/common_logging.c:1110
+#: src/util/common_logging.c:265 src/util/common_logging.c:1106
 msgid "WARNING"
 msgstr "警告"
 
-#: src/util/common_logging.c:267 src/util/common_logging.c:1108
+#: src/util/common_logging.c:267 src/util/common_logging.c:1104
 msgid "ERROR"
 msgstr "错误"
 
-#: src/util/common_logging.c:269 src/util/common_logging.c:1118
+#: src/util/common_logging.c:269 src/util/common_logging.c:1114
 msgid "NONE"
 msgstr ""
 
-#: src/util/common_logging.c:630 src/util/common_logging.c:669
+#: src/util/common_logging.c:626 src/util/common_logging.c:665
 #, c-format
 msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
 msgstr ""
 
-#: src/util/common_logging.c:906
+#: src/util/common_logging.c:902
 #, fuzzy, c-format
 msgid "Message `%.*s' repeated %u times in the last %s\n"
 msgstr "消息“%.*s”重复了 %u 次,在最近 %llu 秒内\n"
 
-#: src/util/common_logging.c:1119
+#: src/util/common_logging.c:1115
 msgid "INVALID"
 msgstr ""
 
-#: src/util/common_logging.c:1400
+#: src/util/common_logging.c:1396
 msgid "unknown address"
 msgstr ""
 
-#: src/util/common_logging.c:1445
+#: src/util/common_logging.c:1441
 msgid "invalid address"
 msgstr ""
 
-#: src/util/common_logging.c:1464
+#: src/util/common_logging.c:1460
 #, fuzzy, c-format
 msgid "Configuration fails to specify option `%s' in section `%s'!\n"
 msgstr "配置不满足配置规范文件“%s”的约束!\n"
 
-#: src/util/common_logging.c:1487
+#: src/util/common_logging.c:1483
 #, fuzzy, c-format
 msgid ""
 "Configuration specifies invalid value for option `%s' in section `%s': %s\n"
 msgstr "配置不满足配置规范文件“%s”的约束!\n"
 
-#: src/util/configuration.c:325
+#: src/util/configuration.c:402
 #, fuzzy, c-format
 msgid "Syntax error while deserializing in line %u\n"
 msgstr "配置文件“%s”第 %d 行有语法错误。\n"
 
-#: src/util/configuration.c:383
+#: src/util/configuration.c:460
 #, fuzzy, c-format
 msgid "Error while reading file `%s'\n"
 msgstr "解析 dscl 输出时出错。\n"
 
-#: src/util/configuration.c:986
+#: src/util/configuration.c:1063
 #, fuzzy
 msgid "Not a valid relative time specification"
 msgstr "配置文件“%s”已写入。\n"
 
-#: src/util/configuration.c:1077
+#: src/util/configuration.c:1154
 #, c-format
 msgid ""
 "Configuration value '%s' for '%s' in section '%s' is not in set of legal "
 "choices\n"
 msgstr ""
 
-#: src/util/configuration.c:1192
+#: src/util/configuration.c:1269
 #, c-format
 msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
 msgstr ""
 
-#: src/util/configuration.c:1224
+#: src/util/configuration.c:1301
 #, fuzzy, c-format
 msgid "Missing closing `%s' in option `%s'\n"
 msgstr "配置文件“%s”已写入。\n"
 
-#: src/util/configuration.c:1290
+#: src/util/configuration.c:1367
 #, c-format
 msgid ""
 "Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8084,7 +8084,7 @@ msgstr "libgcrypt 的版本不符合预期(要求版本 %s)。\n"
 msgid "RSA signing failed at %s:%d: %s\n"
 msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
 
-#: src/util/crypto_rsa.c:1313
+#: src/util/crypto_rsa.c:1314
 #, fuzzy, c-format
 msgid "RSA signature verification failed at %s:%d: %s\n"
 msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
@@ -8189,64 +8189,72 @@ msgstr ""
 msgid "Missing mandatory option `%s'.\n"
 msgstr "配置文件“%s”已写入。\n"
 
-#: src/util/getopt_helpers.c:68
+#: src/util/getopt_helpers.c:69
 msgid "print the version number"
 msgstr ""
 
-#: src/util/getopt_helpers.c:114
+#: src/util/getopt_helpers.c:116
 #, c-format
 msgid ""
 "Arguments mandatory for long options are also mandatory for short options.\n"
 msgstr "长选项的必选参数对短选项也是必选的。\n"
 
-#: src/util/getopt_helpers.c:205
+#: src/util/getopt_helpers.c:208
 msgid "print this help"
 msgstr ""
 
-#: src/util/getopt_helpers.c:281
+#: src/util/getopt_helpers.c:288
 msgid "be verbose"
 msgstr ""
 
-#: src/util/getopt_helpers.c:417
+#: src/util/getopt_helpers.c:429
 msgid "configure logging to use LOGLEVEL"
 msgstr ""
 
-#: src/util/getopt_helpers.c:495
+#: src/util/getopt_helpers.c:510
 msgid "configure logging to write logs to FILENAME"
 msgstr ""
 
-#: src/util/getopt_helpers.c:516
+#: src/util/getopt_helpers.c:532
 #, fuzzy
 msgid "use configuration file FILENAME"
 msgstr "更改配置文件中的一个值"
 
-#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747
-#: src/util/getopt_helpers.c:810
+#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
+#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
 #, c-format
 msgid "You must pass a number to the `%s' option.\n"
 msgstr "您必须向“%s”选项传递一个数字。\n"
 
-#: src/util/getopt_helpers.c:612
+#: src/util/getopt_helpers.c:659
+msgid "[+/-]MICROSECONDS"
+msgstr ""
+
+#: src/util/getopt_helpers.c:661
+msgid "modify system time by given offset (for debugging/testing only)"
+msgstr ""
+
+#: src/util/getopt_helpers.c:696
 #, fuzzy, c-format
 msgid "You must pass relative time to the `%s' option.\n"
 msgstr "您必须向“%s”选项传递一个数字。\n"
 
-#: src/util/getopt_helpers.c:675
+#: src/util/getopt_helpers.c:761
 #, fuzzy, c-format
 msgid "You must pass absolute time to the `%s' option.\n"
 msgstr "您必须向“%s”选项传递一个数字。\n"
 
-#: src/util/getopt_helpers.c:740
+#: src/util/getopt_helpers.c:828
 #, c-format
-msgid "Your input for the '%s' option has to be a non negative number \n"
+msgid "Your input for the '%s' option has to be a non negative number\n"
 msgstr ""
 
-#: src/util/getopt_helpers.c:817
+#: src/util/getopt_helpers.c:907
 #, fuzzy, c-format
 msgid "You must pass a number below %u to the `%s' option.\n"
 msgstr "您必须向“%s”选项传递一个数字。\n"
 
-#: src/util/getopt_helpers.c:902
+#: src/util/getopt_helpers.c:994
 #, c-format
 msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
 msgstr ""
@@ -8583,14 +8591,14 @@ msgstr ""
 msgid "Could not resolve our FQDN: %s\n"
 msgstr "无法解析“%s”(%s):%s\n"
 
-#: src/util/service.c:657
+#: src/util/service.c:654
 #, c-format
 msgid ""
 "Processing code for message of type %u did not call "
 "`GNUNET_SERVICE_client_continue' after %s\n"
 msgstr ""
 
-#: src/util/service.c:1572
+#: src/util/service.c:1569
 msgid ""
 "Could not bind to any of the ports I was supposed to, refusing to run!\n"
 msgstr ""
@@ -8902,8 +8910,8 @@ msgstr ""
 msgid "Setup tunnels via VPN."
 msgstr ""
 
-#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #: src/zonemaster/gnunet-service-zonemaster.c:849
+#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
 #, fuzzy
 msgid "Failed to connect to the namestore!\n"
 msgstr "初始化“%s”服务失败。\n"
diff --git a/src/include/gnunet_revocation_service.h 
b/src/include/gnunet_revocation_service.h
index 7222cedc1..9a8918b43 100644
--- a/src/include/gnunet_revocation_service.h
+++ b/src/include/gnunet_revocation_service.h
@@ -50,6 +50,73 @@ extern "C"
  */
 #define GNUNET_REVOCATION_VERSION 0x00000000
 
+/**
+ * The proof-of-work narrowing factor.
+ * The number of PoWs that are calculates as part of revocation.
+ */
+#define POW_COUNT 32
+
+
+GNUNET_NETWORK_STRUCT_BEGIN
+
+struct GNUNET_REVOCATION_Pow
+{
+  /**
+   * The timestamp of the revocation
+   */
+  struct GNUNET_TIME_AbsoluteNBO timestamp;
+
+  /**
+   * The TTL of this revocation (purely informational)
+   */
+  struct GNUNET_TIME_RelativeNBO ttl;
+
+  /**
+   * The PoWs
+   */
+  uint64_t pow[POW_COUNT] GNUNET_PACKED;
+
+  /**
+   * The signature
+   */
+  struct GNUNET_CRYPTO_EcdsaSignature signature;
+
+  /**
+   * The revoked public key
+   */
+  struct GNUNET_CRYPTO_EcdsaPublicKey key;
+};
+
+
+/**
+ * The signature object we use for the PoW
+ */
+struct GNUNET_REVOCATION_SignaturePurpose
+{
+  /**
+   * The signature purpose
+   */
+  struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+  /**
+   * The revoked public key
+   */
+  struct GNUNET_CRYPTO_EcdsaPublicKey key;
+
+  /**
+   * The timestamp of the revocation
+   */
+  struct GNUNET_TIME_AbsoluteNBO timestamp;
+};
+
+GNUNET_NETWORK_STRUCT_END
+
+
+/**
+ * Handle to a running proof-of-work calculation.
+ */
+struct GNUNET_REVOCATION_PowCalculationHandle;
+
 /**
  * Handle for the key revocation query.
  */
@@ -65,7 +132,8 @@ struct GNUNET_REVOCATION_Query;
  *
  */
 typedef void (*GNUNET_REVOCATION_Callback) (void *cls,
-                                            int is_valid);
+                                            enum GNUNET_GenericReturnValue
+                                            is_valid);
 
 
 /**
@@ -102,12 +170,9 @@ struct GNUNET_REVOCATION_Handle;
  * Perform key revocation.
  *
  * @param cfg the configuration to use
- * @param key public key of the key to revoke
- * @param sig signature to use on the revocation (should have been
- *            created using #GNUNET_REVOCATION_sign_revocation).
  * @param pow proof of work to use (should have been created by
- *            iteratively calling #GNUNET_REVOCATION_check_pow)
- * @param func funtion to call with the result of the check
+ *            iteratively calling #GNUNET_REVOCATION_pow_round)
+ * @param func function to call with the result of the check
  *             (called with `is_valid` being #GNUNET_NO if
  *              the revocation worked).
  * @param func_cls closure to pass to @a func
@@ -115,9 +180,7 @@ struct GNUNET_REVOCATION_Handle;
  */
 struct GNUNET_REVOCATION_Handle *
 GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                          const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
-                          const struct GNUNET_CRYPTO_EcdsaSignature *sig,
-                          uint64_t pow,
+                          const struct GNUNET_REVOCATION_Pow *pow,
                           GNUNET_REVOCATION_Callback func, void *func_cls);
 
 
@@ -131,31 +194,64 @@ GNUNET_REVOCATION_revoke_cancel (struct 
GNUNET_REVOCATION_Handle *h);
 
 
 /**
- * Check if the given proof-of-work value
- * would be acceptable for revoking the given key.
+ * Check if the given proof-of-work is valid.
  *
- * @param key key to check for
- * @param pow proof of work value
+ * @param pow proof of work
  * @param matching_bits how many bits must match (configuration)
+ * @param epoch_duration length of single epoch in configuration
  * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
  */
-int
-GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
-                             uint64_t pow,
-                             unsigned int matching_bits);
+enum GNUNET_GenericReturnValue
+GNUNET_REVOCATION_check_pow (const struct GNUNET_REVOCATION_Pow *pow,
+                             unsigned int matching_bits,
+                             struct GNUNET_TIME_Relative epoch_duration);
 
 
 /**
- * Create a revocation signature.
+ * Initializes a fresh PoW computation.
  *
- * @param key private key of the key to revoke
- * @param sig where to write the revocation signature
+ * @param key the key to calculate the PoW for.
+ * @param pow the pow object to work with in the calculation.
  */
 void
-GNUNET_REVOCATION_sign_revocation (const struct
-                                   GNUNET_CRYPTO_EcdsaPrivateKey *key,
-                                   struct GNUNET_CRYPTO_EcdsaSignature *sig);
+GNUNET_REVOCATION_pow_init (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
+                            struct GNUNET_REVOCATION_Pow *pow);
+
+
+/**
+ * Starts a proof-of-work calculation given the pow object as well as
+ * target epochs and difficulty.
+ *
+ * @param pow the PoW to based calculations on.
+ * @param epochs the number of epochs for which the PoW must be valid.
+ * @param difficulty the base difficulty of the PoW.
+ * @return a handle for use in PoW rounds
+ */
+struct GNUNET_REVOCATION_PowCalculationHandle*
+GNUNET_REVOCATION_pow_start (struct GNUNET_REVOCATION_Pow *pow,
+                             int epochs,
+                             unsigned int difficulty);
+
 
+/**
+ * Calculate a single round in the key revocation PoW.
+ *
+ * @param pc handle to the PoW, initially called with NULL.
+ * @return GNUNET_YES if the @a pow is acceptable, GNUNET_NO if not
+ */
+enum GNUNET_GenericReturnValue
+GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle 
*pc);
+
+
+/**
+ * Stop a PoW calculation
+ *
+ * @param pc the calculation to clean up
+ * @return #GNUNET_YES if pow valid, #GNUNET_NO if pow was set but is not
+ * valid
+ */
+void
+GNUNET_REVOCATION_pow_stop (struct GNUNET_REVOCATION_PowCalculationHandle *pc);
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
diff --git a/src/revocation/gnunet-revocation.c 
b/src/revocation/gnunet-revocation.c
index 14e23b244..8b7cf33c6 100644
--- a/src/revocation/gnunet-revocation.c
+++ b/src/revocation/gnunet-revocation.c
@@ -28,6 +28,10 @@
 #include "gnunet_revocation_service.h"
 #include "gnunet_identity_service.h"
 
+/**
+ * Pow passes
+ */
+static unsigned int pow_passes = 1;
 
 /**
  * Final status code.
@@ -54,6 +58,11 @@ static char *revoke_ego;
  */
 static char *test_ego;
 
+/**
+ * -e option.
+ */
+static unsigned int epochs = 1;
+
 /**
  * Handle for revocation query.
  */
@@ -79,11 +88,20 @@ static const struct GNUNET_CONFIGURATION_Handle *cfg;
  */
 static unsigned long long matching_bits;
 
+/**
+ * Epoch length
+ */
+static struct GNUNET_TIME_Relative epoch_duration;
+
 /**
  * Task used for proof-of-work calculation.
  */
 static struct GNUNET_SCHEDULER_Task *pow_task;
 
+/**
+ * Proof-of-work object
+ */
+static struct GNUNET_REVOCATION_Pow proof_of_work;
 
 /**
  * Function run if the user aborts with CTRL-C.
@@ -93,6 +111,7 @@ static struct GNUNET_SCHEDULER_Task *pow_task;
 static void
 do_shutdown (void *cls)
 {
+  fprintf (stderr, "%s", _ ("Shutting down...\n"));
   if (NULL != el)
   {
     GNUNET_IDENTITY_ego_lookup_cancel (el);
@@ -187,38 +206,14 @@ print_revocation_result (void *cls, int is_valid)
 }
 
 
-/**
- * Data needed to perform a revocation.
- */
-struct RevocationData
-{
-  /**
-   * Public key.
-   */
-  struct GNUNET_CRYPTO_EcdsaPublicKey key;
-
-  /**
-   * Revocation signature data.
-   */
-  struct GNUNET_CRYPTO_EcdsaSignature sig;
-
-  /**
-   * Proof of work (in NBO).
-   */
-  uint64_t pow GNUNET_PACKED;
-};
-
-
 /**
  * Perform the revocation.
  */
 static void
-perform_revocation (const struct RevocationData *rd)
+perform_revocation ()
 {
   h = GNUNET_REVOCATION_revoke (cfg,
-                                &rd->key,
-                                &rd->sig,
-                                rd->pow,
+                                &proof_of_work,
                                 &print_revocation_result,
                                 NULL);
 }
@@ -231,13 +226,13 @@ perform_revocation (const struct RevocationData *rd)
  * @param rd data to sync
  */
 static void
-sync_rd (const struct RevocationData *rd)
+sync_pow ()
 {
   if ((NULL != filename) &&
-      (sizeof(struct RevocationData) ==
+      (sizeof(struct GNUNET_REVOCATION_Pow) !=
        GNUNET_DISK_fn_write (filename,
-                             &rd,
-                             sizeof(rd),
+                             &proof_of_work,
+                             sizeof(struct GNUNET_REVOCATION_Pow),
                              GNUNET_DISK_PERM_USER_READ
                              | GNUNET_DISK_PERM_USER_WRITE)))
     GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename);
@@ -252,15 +247,16 @@ sync_rd (const struct RevocationData *rd)
 static void
 calculate_pow_shutdown (void *cls)
 {
-  struct RevocationData *rd = cls;
-
+  struct GNUNET_REVOCATION_PowCalculationHandle *ph = cls;
+  fprintf (stderr, "%s", _ ("Cancelling calculation.\n"));
+  sync_pow ();
   if (NULL != pow_task)
   {
     GNUNET_SCHEDULER_cancel (pow_task);
     pow_task = NULL;
   }
-  sync_rd (rd);
-  GNUNET_free (rd);
+  if (NULL != ph)
+    GNUNET_REVOCATION_pow_stop (ph);
 }
 
 
@@ -272,38 +268,26 @@ calculate_pow_shutdown (void *cls)
 static void
 calculate_pow (void *cls)
 {
-  struct RevocationData *rd = cls;
+  struct GNUNET_REVOCATION_PowCalculationHandle *ph = cls;
 
   /* store temporary results */
   pow_task = NULL;
-  if (0 == (rd->pow % 128))
-    sync_rd (rd);
-  /* display progress estimate */
-  if ((0 == ((1 << matching_bits) / 100 / 50)) ||
-      (0 == (rd->pow % ((1 << matching_bits) / 100 / 50))))
-    fprintf (stderr, "%s", ".");
-  if ((0 != rd->pow) && ((0 == ((1 << matching_bits) / 100)) ||
-                         (0 == (rd->pow % ((1 << matching_bits) / 100)))))
-    fprintf (stderr,
-             " - @ %3u%% (estimate)\n",
-             (unsigned int) (rd->pow * 100) / (1 << matching_bits));
+  if (0 == (pow_passes % 128))
+    sync_pow ();
   /* actually do POW calculation */
-  rd->pow++;
-  if (GNUNET_OK == GNUNET_REVOCATION_check_pow (&rd->key,
-                                                rd->pow,
-                                                (unsigned int) matching_bits))
+  if (GNUNET_OK == GNUNET_REVOCATION_pow_round (ph))
   {
     if ((NULL != filename) &&
-        (sizeof(struct RevocationData) !=
+        (sizeof(struct GNUNET_REVOCATION_Pow) !=
          GNUNET_DISK_fn_write (filename,
-                               rd,
-                               sizeof(struct RevocationData),
+                               &proof_of_work,
+                               sizeof(struct GNUNET_REVOCATION_Pow),
                                GNUNET_DISK_PERM_USER_READ
                                | GNUNET_DISK_PERM_USER_WRITE)))
       GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename);
     if (perform)
     {
-      perform_revocation (rd);
+      perform_revocation ();
     }
     else
     {
@@ -316,7 +300,19 @@ calculate_pow (void *cls)
     }
     return;
   }
-  pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, rd);
+  pow_passes++;
+  /**
+   * Otherwise CTRL-C does not work
+   */
+  if (0 == pow_passes % 128)
+    pow_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MILLISECONDS,
+                                             &calculate_pow,
+                                             ph);
+  else
+    pow_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MILLISECONDS,
+                                             &calculate_pow,
+                                             ph);
+
 }
 
 
@@ -329,8 +325,9 @@ calculate_pow (void *cls)
 static void
 ego_callback (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
 {
-  struct RevocationData *rd;
   struct GNUNET_CRYPTO_EcdsaPublicKey key;
+  const struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
+  struct GNUNET_REVOCATION_PowCalculationHandle *ph = NULL;
 
   el = NULL;
   if (NULL == ego)
@@ -340,44 +337,55 @@ ego_callback (void *cls, const struct GNUNET_IDENTITY_Ego 
*ego)
     return;
   }
   GNUNET_IDENTITY_ego_get_public_key (ego, &key);
-  rd = GNUNET_new (struct RevocationData);
+  privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
+  memset (&proof_of_work, 0, sizeof (proof_of_work));
   if ((NULL != filename) && (GNUNET_YES == GNUNET_DISK_file_test (filename)) &&
-      (sizeof(struct RevocationData) ==
-       GNUNET_DISK_fn_read (filename, rd, sizeof(struct RevocationData))))
+      (sizeof(proof_of_work) ==
+       GNUNET_DISK_fn_read (filename, &proof_of_work, sizeof(proof_of_work))))
   {
-    if (0 != GNUNET_memcmp (&rd->key, &key))
+    if (0 != GNUNET_memcmp (&proof_of_work.key, &key))
     {
       fprintf (stderr,
                _ ("Error: revocation certificate in `%s' is not for `%s'\n"),
                filename,
                revoke_ego);
-      GNUNET_free (rd);
       return;
     }
-  }
-  else
-  {
-    GNUNET_REVOCATION_sign_revocation (GNUNET_IDENTITY_ego_get_private_key (
-                                         ego),
-                                       &rd->sig);
-    rd->key = key;
-  }
-  if (GNUNET_YES ==
-      GNUNET_REVOCATION_check_pow (&key, rd->pow, (unsigned int) 
matching_bits))
-  {
-    fprintf (stderr, "%s", _ ("Revocation certificate ready\n"));
-    if (perform)
-      perform_revocation (rd);
-    else
-      GNUNET_SCHEDULER_shutdown ();
-    GNUNET_free (rd);
-    return;
+    if (GNUNET_YES ==
+        GNUNET_REVOCATION_check_pow (&proof_of_work,
+                                     (unsigned int) matching_bits,
+                                     epoch_duration))
+    {
+      fprintf (stderr, "%s", _ ("Revocation certificate ready\n"));
+      if (perform)
+        perform_revocation ();
+      else
+        GNUNET_SCHEDULER_shutdown ();
+      return;
+    }
+    /**
+     * Certificate not yet ready
+     */
+    fprintf (stderr,
+             "%s",
+             _ ("Continuing calculation where left off...\n"));
+    ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
+                                      epochs,
+                                      matching_bits);
   }
   fprintf (stderr,
            "%s",
            _ ("Revocation certificate not ready, calculating proof of 
work\n"));
-  pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, rd);
-  GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, rd);
+  if (NULL == ph)
+  {
+    GNUNET_REVOCATION_pow_init (privkey,
+                                &proof_of_work);
+    ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
+                                      epochs, /* Epochs */
+                                      matching_bits);
+  }
+  pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, ph);
+  GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, ph);
 }
 
 
@@ -396,7 +404,6 @@ run (void *cls,
      const struct GNUNET_CONFIGURATION_Handle *c)
 {
   struct GNUNET_CRYPTO_EcdsaPublicKey pk;
-  struct RevocationData rd;
 
   cfg = c;
   if (NULL != test_ego)
@@ -429,6 +436,17 @@ run (void *cls,
                                "WORKBITS");
     return;
   }
+  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_time (cfg,
+                                                        "REVOCATION",
+                                                        "EPOCH_DURATION",
+                                                        &epoch_duration))
+  {
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                               "REVOCATION",
+                               "EPOCH_DURATION");
+    return;
+  }
+
   if (NULL != revoke_ego)
   {
     if (! perform && (NULL == filename))
@@ -445,7 +463,9 @@ run (void *cls,
   }
   if ((NULL != filename) && (perform))
   {
-    if (sizeof(rd) != GNUNET_DISK_fn_read (filename, &rd, sizeof(rd)))
+    if (sizeof(proof_of_work) != GNUNET_DISK_fn_read (filename,
+                                                      &proof_of_work,
+                                                      sizeof(proof_of_work)))
     {
       fprintf (stderr,
                _ ("Failed to read revocation certificate from `%s'\n"),
@@ -454,18 +474,20 @@ run (void *cls,
     }
     GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
     if (GNUNET_YES !=
-        GNUNET_REVOCATION_check_pow (&rd.key,
-                                     rd.pow,
-                                     (unsigned int) matching_bits))
+        GNUNET_REVOCATION_check_pow (&proof_of_work,
+                                     (unsigned int) matching_bits,
+                                     epoch_duration))
     {
-      struct RevocationData *cp = GNUNET_new (struct RevocationData);
+      struct GNUNET_REVOCATION_PowCalculationHandle *ph;
+      ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
+                                        epochs, /* Epochs */
+                                        matching_bits);
 
-      *cp = rd;
-      pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, cp);
-      GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, cp);
+      pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, ph);
+      GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, ph);
       return;
     }
-    perform_revocation (&rd);
+    perform_revocation ();
     return;
   }
   fprintf (stderr, "%s", _ ("No action specified. Nothing to do.\n"));
@@ -511,6 +533,12 @@ main (int argc, char *const *argv)
                                  gettext_noop (
                                    "test if the public key KEY has been 
revoked"),
                                  &test_ego),
+    GNUNET_GETOPT_option_uint ('e',
+                               "epochs",
+                               "EPOCHS",
+                               gettext_noop (
+                                 "number of epochs to calculate for"),
+                               &epochs),
 
     GNUNET_GETOPT_OPTION_END
   };
diff --git a/src/revocation/gnunet-service-revocation.c 
b/src/revocation/gnunet-service-revocation.c
index 3e811cd9a..3c08e8452 100644
--- a/src/revocation/gnunet-service-revocation.c
+++ b/src/revocation/gnunet-service-revocation.c
@@ -128,6 +128,11 @@ static struct GNUNET_SET_ListenHandle 
*revocation_union_listen_handle;
  */
 static unsigned long long revocation_work_required;
 
+/**
+ * Length of an expiration expoch
+ */
+static struct GNUNET_TIME_Relative epoch_duration;
+
 /**
  * Our application ID for set union operations.  Must be the
  * same for all (compatible) peers.
@@ -167,25 +172,15 @@ new_peer_entry (const struct GNUNET_PeerIdentity *peer)
 static int
 verify_revoke_message (const struct RevokeMessage *rm)
 {
-  if (GNUNET_YES !=
-      GNUNET_REVOCATION_check_pow (&rm->public_key,
-                                   rm->proof_of_work,
-                                   (unsigned int) revocation_work_required))
+  if (GNUNET_YES != GNUNET_REVOCATION_check_pow (&rm->proof_of_work,
+                                   (unsigned int) revocation_work_required,
+                                   epoch_duration))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "Proof of work invalid!\n");
     GNUNET_break_op (0);
     return GNUNET_NO;
   }
-  if (GNUNET_OK !=
-      GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
-                                   &rm->purpose,
-                                   &rm->signature,
-                                   &rm->public_key))
-  {
-    GNUNET_break_op (0);
-    return GNUNET_NO;
-  }
   return GNUNET_YES;
 }
 
@@ -308,7 +303,7 @@ publicize_rm (const struct RevokeMessage *rm)
   struct GNUNET_HashCode hc;
   struct GNUNET_SET_Element e;
 
-  GNUNET_CRYPTO_hash (&rm->public_key,
+  GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
                       sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
                       &hc);
   if (GNUNET_YES ==
@@ -848,6 +843,20 @@ run (void *cls,
     GNUNET_free (fn);
     return;
   }
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_time (cfg,
+                                             "REVOCATION",
+                                             "EPOCH_DURATION",
+                                             &epoch_duration))
+  {
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                               "REVOCATION",
+                               "EPOCH_DURATION");
+    GNUNET_SCHEDULER_shutdown ();
+    GNUNET_free (fn);
+    return;
+  }
+
   revocation_set = GNUNET_SET_create (cfg,
                                       GNUNET_SET_OPERATION_UNION);
   revocation_union_listen_handle
@@ -893,7 +902,7 @@ run (void *cls,
       return;
     }
     GNUNET_break (0 == ntohl (rm->reserved));
-    GNUNET_CRYPTO_hash (&rm->public_key,
+    GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
                         sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
                         &hc);
     GNUNET_break (GNUNET_OK ==
diff --git a/src/revocation/plugin_block_revocation.c 
b/src/revocation/plugin_block_revocation.c
index 8d16b8781..291c56f70 100644
--- a/src/revocation/plugin_block_revocation.c
+++ b/src/revocation/plugin_block_revocation.c
@@ -52,6 +52,7 @@
 struct InternalContext
 {
   unsigned int matching_bits;
+  struct GNUNET_TIME_Relative epoch_duration;
 };
 
 
@@ -142,24 +143,15 @@ block_plugin_revocation_evaluate (void *cls,
     GNUNET_break_op (0);
     return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
   }
-  if (GNUNET_YES !=
-      GNUNET_REVOCATION_check_pow (&rm->public_key,
-                                   rm->proof_of_work,
-                                   ic->matching_bits))
+  if (0 >=
+      GNUNET_REVOCATION_check_pow (&rm->proof_of_work,
+                                   ic->matching_bits,
+                                   ic->epoch_duration))
   {
     GNUNET_break_op (0);
     return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
   }
-  if (GNUNET_OK !=
-      GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
-                                   &rm->purpose,
-                                   &rm->signature,
-                                   &rm->public_key))
-  {
-    GNUNET_break_op (0);
-    return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
-  }
-  GNUNET_CRYPTO_hash (&rm->public_key,
+  GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
                       sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
                       &chash);
   if (GNUNET_YES ==
@@ -195,7 +187,7 @@ block_plugin_revocation_get_key (void *cls,
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
   }
-  GNUNET_CRYPTO_hash (&rm->public_key,
+  GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
                       sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
                       key);
   return GNUNET_OK;
@@ -218,6 +210,7 @@ libgnunet_plugin_block_revocation_init (void *cls)
   struct GNUNET_BLOCK_PluginFunctions *api;
   struct InternalContext *ic;
   unsigned long long matching_bits;
+  struct GNUNET_TIME_Relative epoch_duration;
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_number (cfg,
@@ -225,6 +218,12 @@ libgnunet_plugin_block_revocation_init (void *cls)
                                              "WORKBITS",
                                              &matching_bits))
     return NULL;
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_time (cfg,
+                                           "REVOCATION",
+                                           "EPOCH_DURATION",
+                                           &epoch_duration))
+    return NULL;
 
   api = GNUNET_new (struct GNUNET_BLOCK_PluginFunctions);
   api->evaluate = &block_plugin_revocation_evaluate;
@@ -233,6 +232,7 @@ libgnunet_plugin_block_revocation_init (void *cls)
   api->types = types;
   ic = GNUNET_new (struct InternalContext);
   ic->matching_bits = (unsigned int) matching_bits;
+  ic->epoch_duration = epoch_duration;
   api->cls = ic;
   return api;
 }
diff --git a/src/revocation/revocation.conf.in 
b/src/revocation/revocation.conf.in
index 5ad41cd49..346168785 100644
--- a/src/revocation/revocation.conf.in
+++ b/src/revocation/revocation.conf.in
@@ -14,5 +14,6 @@ UNIX_MATCH_GID = YES
 # (using only a single-core) with SCRYPT.
 # DO NOT CHANGE THIS VALUE, doing so will break the protocol!
 WORKBITS = 25
+EPOCH_DURATION = 356 d
 
 DATABASE = $GNUNET_DATA_HOME/revocation.dat
diff --git a/src/revocation/revocation.h b/src/revocation/revocation.h
index b6e7a07ec..868c2b853 100644
--- a/src/revocation/revocation.h
+++ b/src/revocation/revocation.h
@@ -27,6 +27,7 @@
 #define REVOCATION_H
 
 #include "gnunet_util_lib.h"
+#include "gnunet_revocation_service.h"
 
 GNUNET_NETWORK_STRUCT_BEGIN
 
@@ -91,23 +92,7 @@ struct RevokeMessage
   /**
    * Number that causes a hash collision with the @e public_key.
    */
-  uint64_t proof_of_work GNUNET_PACKED;
-
-  /**
-   * Signature confirming revocation.
-   */
-  struct GNUNET_CRYPTO_EcdsaSignature signature;
-
-  /**
-   * Must have purpose #GNUNET_SIGNATURE_PURPOSE_REVOCATION,
-   * size expands over the public key. (@deprecated)
-   */
-  struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
-
-  /**
-   * Key to revoke.
-   */
-  struct GNUNET_CRYPTO_EcdsaPublicKey public_key;
+  struct GNUNET_REVOCATION_Pow proof_of_work;
 };
 
 
diff --git a/src/revocation/revocation_api.c b/src/revocation/revocation_api.c
index 4755d4816..18a312ab8 100644
--- a/src/revocation/revocation_api.c
+++ b/src/revocation/revocation_api.c
@@ -27,8 +27,7 @@
 #include "gnunet_signatures.h"
 #include "gnunet_protocols.h"
 #include "revocation.h"
-#include <gcrypt.h>
-
+#include <inttypes.h>
 
 /**
  * Handle for the key revocation query.
@@ -52,6 +51,58 @@ struct GNUNET_REVOCATION_Query
 };
 
 
+/**
+ * Helper struct that holds a found pow nonce
+ * and the corresponding number of leading zeroes.
+ */
+struct BestPow
+{
+  /**
+   * PoW nonce
+   */
+  uint64_t pow;
+
+  /**
+   * Corresponding zero bits in hash
+   */
+  unsigned int bits;
+};
+
+
+/**
+ * The handle to a PoW calculation.
+ * Used in iterative PoW rounds.
+ */
+struct GNUNET_REVOCATION_PowCalculationHandle
+{
+  /**
+   * Current set of found PoWs
+   */
+  struct BestPow best[POW_COUNT];
+
+  /**
+   * The final PoW result data structure.
+   */
+  struct GNUNET_REVOCATION_Pow *pow;
+
+  /**
+   * The current nonce to try
+   */
+  uint64_t current_pow;
+
+  /**
+   * Epochs how long the PoW should be valid.
+   * This is added on top of the difficulty in the PoW.
+   */
+  unsigned int epochs;
+
+  /**
+   * The difficulty (leading zeros) to achieve.
+   */
+  unsigned int difficulty;
+
+};
+
 /**
  * Generic error handler, called with the appropriate
  * error code and the same closure specified at the creation of
@@ -235,6 +286,7 @@ handle_revocation_response (void *cls,
  * @param key public key of the key to revoke
  * @param sig signature to use on the revocation (should have been
  *            created using #GNUNET_REVOCATION_sign_revocation).
+ * @param ts  revocation timestamp
  * @param pow proof of work to use (should have been created by
  *            iteratively calling #GNUNET_REVOCATION_check_pow)
  * @param func funtion to call with the result of the check
@@ -245,9 +297,7 @@ handle_revocation_response (void *cls,
  */
 struct GNUNET_REVOCATION_Handle *
 GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                          const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
-                          const struct GNUNET_CRYPTO_EcdsaSignature *sig,
-                          uint64_t pow,
+                          const struct GNUNET_REVOCATION_Pow *pow,
                           GNUNET_REVOCATION_Callback func,
                           void *func_cls)
 {
@@ -261,23 +311,39 @@ GNUNET_REVOCATION_revoke (const struct 
GNUNET_CONFIGURATION_Handle *cfg,
     GNUNET_MQ_handler_end ()
   };
   unsigned long long matching_bits;
+  struct GNUNET_TIME_Relative epoch_duration;
   struct RevokeMessage *rm;
   struct GNUNET_MQ_Envelope *env;
 
-  if ((GNUNET_OK ==
+  if ((GNUNET_OK !=
        GNUNET_CONFIGURATION_get_value_number (cfg,
                                               "REVOCATION",
                                               "WORKBITS",
-                                              &matching_bits)) &&
-      (GNUNET_YES !=
-       GNUNET_REVOCATION_check_pow (key,
-                                    pow,
-                                    (unsigned int) matching_bits)))
+                                              &matching_bits)))
+  {
+    GNUNET_break (0);
+    GNUNET_free (h);
+    return NULL;
+  }
+  if ((GNUNET_OK !=
+       GNUNET_CONFIGURATION_get_value_time (cfg,
+                                            "REVOCATION",
+                                            "EPOCH_DURATION",
+                                            &epoch_duration)))
   {
     GNUNET_break (0);
     GNUNET_free (h);
     return NULL;
   }
+  if (GNUNET_YES != GNUNET_REVOCATION_check_pow (pow,
+                                                 (unsigned int) matching_bits,
+                                                 epoch_duration))
+  {
+    GNUNET_break (0);
+    GNUNET_free (h);
+    return NULL;
+  }
+
 
   h->mq = GNUNET_CLIENT_connect (cfg,
                                  "revocation",
@@ -294,12 +360,7 @@ GNUNET_REVOCATION_revoke (const struct 
GNUNET_CONFIGURATION_Handle *cfg,
   env = GNUNET_MQ_msg (rm,
                        GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE);
   rm->reserved = htonl (0);
-  rm->proof_of_work = pow;
-  rm->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
-  rm->purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
-                            + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
-  rm->public_key = *key;
-  rm->signature = *sig;
+  rm->proof_of_work = *pow;
   GNUNET_MQ_send (h->mq,
                   env);
   return h;
@@ -342,56 +403,263 @@ count_leading_zeroes (const struct GNUNET_HashCode *hash)
 
 
 /**
- * Check if the given proof-of-work value
- * would be acceptable for revoking the given key.
+ * Calculate the average zeros in the pows.
  *
- * @param key key to check for
- * @param pow proof of work value
+ * @param ph the PowHandle
+ * @return the average number of zeroes.
+ */
+static unsigned int
+calculate_score (const struct GNUNET_REVOCATION_PowCalculationHandle *ph)
+{
+  double sum = 0.0;
+  for (unsigned int j = 0; j<POW_COUNT; j++)
+    sum += ph->best[j].bits;
+  double avg = sum / POW_COUNT;
+  return avg;
+}
+
+
+/**
+ * Check if the given proof-of-work is valid.
+ *
+ * @param pow proof of work
  * @param matching_bits how many bits must match (configuration)
+ * @param epoch_duration length of single epoch in configuration
+ * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
+ */
+enum GNUNET_GenericReturnValue
+GNUNET_REVOCATION_check_pow (const struct GNUNET_REVOCATION_Pow *pow,
+                             unsigned int difficulty,
+                             struct GNUNET_TIME_Relative epoch_duration)
+{
+  char buf[sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
+           + sizeof (struct GNUNET_TIME_AbsoluteNBO)
+           + sizeof (uint64_t)] GNUNET_ALIGN;
+  struct GNUNET_REVOCATION_SignaturePurpose spurp;
+  struct GNUNET_HashCode result;
+  struct GNUNET_TIME_Absolute ts;
+  struct GNUNET_TIME_Absolute exp;
+  struct GNUNET_TIME_Relative ttl;
+  struct GNUNET_TIME_Relative buffer;
+  unsigned int score = 0;
+  unsigned int tmp_score = 0;
+  unsigned int epochs;
+  uint64_t pow_val;
+
+  /**
+   * Check if signature valid
+   */
+  spurp.key = pow->key;
+  spurp.timestamp = pow->timestamp;
+  spurp.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
+  spurp.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
+                              + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
+                              + sizeof (struct GNUNET_TIME_AbsoluteNBO));
+  if (GNUNET_OK !=
+      GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
+                                   &spurp.purpose,
+                                   &pow->signature,
+                                   &pow->key))
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Proof of work signature invalid!\n");
+    return GNUNET_NO;
+  }
+
+  /**
+   * First, check if any duplicates are in the PoW set
+   */
+  for (unsigned int i = 0; i < POW_COUNT; i++)
+  {
+    for (unsigned int j = i + 1; j < POW_COUNT; j++)
+    {
+      if (pow->pow[i] == pow->pow[j])
+        return GNUNET_NO;
+    }
+  }
+  GNUNET_memcpy (&buf[sizeof(uint64_t)],
+                 &pow->timestamp,
+                 sizeof (uint64_t));
+  GNUNET_memcpy (&buf[sizeof(uint64_t) * 2],
+                 &pow->key,
+                 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
+  for (unsigned int i = 0; i < POW_COUNT; i++)
+  {
+    pow_val = GNUNET_ntohll (pow->pow[i]);
+    GNUNET_memcpy (buf, &pow_val, sizeof(uint64_t));
+    GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work",
+                            buf,
+                            sizeof(buf),
+                            &result);
+    tmp_score = count_leading_zeroes (&result);
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                "Score %u with %" PRIu64 " (#%u)\n",
+                tmp_score, pow_val, i);
+    score += tmp_score;
+
+  }
+  score = score / POW_COUNT;
+  if (score < difficulty)
+    return GNUNET_NO;
+  epochs = score - difficulty;
+
+  /**
+   * Check expiration
+   */
+  ts = GNUNET_TIME_absolute_ntoh (pow->timestamp);
+  ttl = GNUNET_TIME_relative_multiply (epoch_duration,
+                                       epochs);
+  /**
+   * Extend by 10% for unsynchronized clocks
+   */
+  buffer = GNUNET_TIME_relative_divide (epoch_duration,
+                                        10);
+  exp = GNUNET_TIME_absolute_add (ts, ttl);
+  exp = GNUNET_TIME_absolute_add (exp,
+                                  buffer);
+
+  if (0 != GNUNET_TIME_absolute_get_remaining (ts).rel_value_us)
+    return GNUNET_NO; /* Not yet valid. */
+  /* Revert to actual start time */
+  ts = GNUNET_TIME_absolute_add (ts,
+                                 buffer);
+
+  if (0 == GNUNET_TIME_absolute_get_remaining (exp).rel_value_us)
+    return GNUNET_NO; /* expired */
+  return GNUNET_YES;
+}
+
+
+/**
+ * Initializes a fresh PoW computation.
+ *
+ * @param key the key to calculate the PoW for.
+ * @param[out] pow starting point for PoW calculation (not yet valid)
+ */
+void
+GNUNET_REVOCATION_pow_init (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
+                            struct GNUNET_REVOCATION_Pow *pow)
+{
+  struct GNUNET_TIME_Absolute ts = GNUNET_TIME_absolute_get ();
+  struct GNUNET_REVOCATION_SignaturePurpose rp;
+
+  /**
+   * Predate the validity period to prevent rejections due to
+   * unsynchronized clocks
+   */
+  ts = GNUNET_TIME_absolute_subtract (ts,
+                                      GNUNET_TIME_UNIT_WEEKS);
+
+  pow->timestamp = GNUNET_TIME_absolute_hton (ts);
+  rp.timestamp = pow->timestamp;
+  rp.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
+  rp.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
+                           + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
+                           + sizeof (struct GNUNET_TIME_AbsoluteNBO));
+  GNUNET_CRYPTO_ecdsa_key_get_public (key, &pow->key);
+  rp.key = pow->key;
+  GNUNET_assert (GNUNET_OK ==
+                 GNUNET_CRYPTO_ecdsa_sign_ (key,
+                                            &rp.purpose,
+                                            &pow->signature));
+}
+
+
+/**
+ * Starts a proof-of-work calculation given the pow object as well as
+ * target epochs and difficulty.
+ *
+ * @param pow the PoW to based calculations on.
+ * @param epochs the number of epochs for which the PoW must be valid.
+ * @param difficulty the base difficulty of the PoW.
+ * @return a handle for use in PoW rounds
+ */
+struct GNUNET_REVOCATION_PowCalculationHandle*
+GNUNET_REVOCATION_pow_start (struct GNUNET_REVOCATION_Pow *pow,
+                             int epochs,
+                             unsigned int difficulty)
+{
+  struct GNUNET_REVOCATION_PowCalculationHandle *pc;
+
+  pc = GNUNET_new (struct GNUNET_REVOCATION_PowCalculationHandle);
+  pc->pow = pow;
+  pc->current_pow = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK,
+                                              UINT64_MAX);
+  pc->difficulty = difficulty;
+  pc->epochs = epochs;
+  return pc;
+}
+
+
+/**
+ * Calculate a key revocation valid for broadcasting for a number
+ * of epochs.
+ *
+ * @param pc handle to the PoW, initially called with NULL.
+ * @param epochs number of epochs for which the revocation must be valid.
+ * @param pow current pow value to try
+ * @param difficulty current base difficulty to achieve
  * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
  */
-int
-GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
-                             uint64_t pow,
-                             unsigned int matching_bits)
+enum GNUNET_GenericReturnValue
+GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
 {
   char buf[sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
-           + sizeof(pow)] GNUNET_ALIGN;
+           + sizeof (uint64_t)
+           + sizeof (uint64_t)] GNUNET_ALIGN;
   struct GNUNET_HashCode result;
+  unsigned int zeros;
+
+  pc->current_pow++;
 
-  GNUNET_memcpy (buf, &pow, sizeof(pow));
-  GNUNET_memcpy (&buf[sizeof(pow)], key,
+  /**
+   * Do not try duplicates
+   */
+  for (unsigned int i = 0; i < POW_COUNT; i++)
+    if (pc->current_pow == pc->best[i].pow)
+      return GNUNET_NO;
+
+  GNUNET_memcpy (buf, &pc->current_pow, sizeof(uint64_t));
+  GNUNET_memcpy (&buf[sizeof(uint64_t)],
+                 &pc->pow->timestamp,
+                 sizeof (uint64_t));
+  GNUNET_memcpy (&buf[sizeof(uint64_t) * 2],
+                 &pc->pow->key,
                  sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
   GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work",
                           buf,
                           sizeof(buf),
                           &result);
-  return (count_leading_zeroes (&result) >=
-          matching_bits) ? GNUNET_YES : GNUNET_NO;
+  zeros = count_leading_zeroes (&result);
+  for (unsigned int i = 0; i < POW_COUNT; i++)
+  {
+    if (pc->best[i].bits < zeros)
+    {
+      pc->best[i].bits = zeros;
+      pc->best[i].pow = pc->current_pow;
+      pc->pow->pow[i] = GNUNET_htonll (pc->current_pow);
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                  "New best score %u with %" PRIu64 " (#%u)\n",
+                  zeros, pc->current_pow, i);
+      break;
+    }
+  }
+  return calculate_score (pc) >= pc->difficulty + pc->epochs ? GNUNET_YES :
+         GNUNET_NO;
 }
 
 
 /**
- * Create a revocation signature.
+ * Stop a PoW calculation
  *
- * @param key private key of the key to revoke
- * @param sig where to write the revocation signature
+ * @param pc the calculation to clean up
+ * @return #GNUNET_YES if pow valid, #GNUNET_NO if pow was set but is not
+ * valid
  */
 void
-GNUNET_REVOCATION_sign_revocation (const struct
-                                   GNUNET_CRYPTO_EcdsaPrivateKey *key,
-                                   struct GNUNET_CRYPTO_EcdsaSignature *sig)
+GNUNET_REVOCATION_pow_stop (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
 {
-  struct RevokeMessage rm;
-
-  rm.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
-  rm.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
-                           + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
-  GNUNET_CRYPTO_ecdsa_key_get_public (key, &rm.public_key);
-  GNUNET_assert (GNUNET_OK ==
-                 GNUNET_CRYPTO_ecdsa_sign_ (key,
-                                            &rm.purpose,
-                                            sig));
+  GNUNET_free (pc);
 }
 
 
diff --git a/src/revocation/test_revocation.c b/src/revocation/test_revocation.c
index 012bac09e..f193d5f6c 100644
--- a/src/revocation/test_revocation.c
+++ b/src/revocation/test_revocation.c
@@ -45,7 +45,7 @@ struct TestPeer
   struct GNUNET_IDENTITY_EgoLookup *ego_lookup;
   struct GNUNET_REVOCATION_Handle *revok_handle;
   struct GNUNET_CORE_Handle *ch;
-  uint64_t pow;
+  struct GNUNET_REVOCATION_PowCalculationHandle *pow;
 };
 
 static struct TestPeer testpeers[2];
@@ -131,7 +131,7 @@ check_revocation (void *cls)
 
 
 static void
-revocation_cb (void *cls, int is_valid)
+revocation_cb (void *cls, enum GNUNET_GenericReturnValue is_valid)
 {
   testpeers[1].revok_handle = NULL;
   if (GNUNET_NO == is_valid)
@@ -141,11 +141,14 @@ revocation_cb (void *cls, int is_valid)
   }
 }
 
+struct GNUNET_REVOCATION_Pow proof_of_work;
+
 
 static void
 ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
 {
   static int completed = 0;
+  const struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
 
   if ((NULL != ego) && (cls == &testpeers[0]))
   {
@@ -159,17 +162,20 @@ ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
     testpeers[1].ego_lookup = NULL;
     testpeers[1].privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
     GNUNET_IDENTITY_ego_get_public_key (ego, &testpeers[1].pubkey);
-    GNUNET_REVOCATION_sign_revocation (testpeers[1].privkey, 
&testpeers[1].sig);
-
     GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Calculating proof of work...\n");
-    testpeers[1].pow = 0;
+    privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
+    memset (&proof_of_work, 0, sizeof (proof_of_work));
+    GNUNET_REVOCATION_pow_init (privkey,
+                                &proof_of_work);
+    testpeers[1].pow = GNUNET_REVOCATION_pow_start (&proof_of_work,
+                                                    1,
+                                                    5);
     int res =
-      GNUNET_REVOCATION_check_pow (&testpeers[1].pubkey, testpeers[1].pow, 5);
+      GNUNET_REVOCATION_pow_round (testpeers[1].pow);
     while (GNUNET_OK != res)
     {
-      testpeers[1].pow++;
       res =
-        GNUNET_REVOCATION_check_pow (&testpeers[1].pubkey, testpeers[1].pow, 
5);
+        GNUNET_REVOCATION_pow_round (testpeers[1].pow);
     }
     fprintf (stderr, "Done calculating proof of work\n");
     completed++;
@@ -178,11 +184,10 @@ ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Egos retrieved\n");
     testpeers[1].revok_handle = GNUNET_REVOCATION_revoke (testpeers[1].cfg,
-                                                          &testpeers[1].pubkey,
-                                                          &testpeers[1].sig,
-                                                          testpeers[1].pow,
+                                                          &proof_of_work,
                                                           &revocation_cb,
                                                           NULL);
+    GNUNET_REVOCATION_pow_stop (testpeers[1].pow);
   }
 }
 
diff --git a/src/revocation/test_revocation.conf 
b/src/revocation/test_revocation.conf
index 3b04150c1..66e2cdcc9 100644
--- a/src/revocation/test_revocation.conf
+++ b/src/revocation/test_revocation.conf
@@ -7,6 +7,7 @@ SERVICEHOME=$GNUNET_TMP/test-revocation-service
 [revocation]
 WORKBITS = 3
 IMMEDIATE_START = YES
+EPOCH_DURATION = 365 d
 
 [identity]
 # Directory where we store information about our egos
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index ae72abb44..fed0dad79 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -133,6 +133,7 @@ libgnunetutil_la_LIBADD = \
   $(LIBIDN) $(LIBIDN2) \
   $(Z_LIBS) \
   -lunistring \
+  -largon2 \
   $(XLIB) \
   $(PTHREAD)
 
diff --git a/src/util/crypto_pow.c b/src/util/crypto_pow.c
index 9b20ab345..35511a130 100644
--- a/src/util/crypto_pow.c
+++ b/src/util/crypto_pow.c
@@ -25,7 +25,7 @@
  */
 #include "platform.h"
 #include "gnunet_crypto_lib.h"
-#include <gcrypt.h>
+#include <argon2.h>
 
 /**
  * Calculate the 'proof-of-work' hash (an expensive hash).
@@ -43,81 +43,17 @@ GNUNET_CRYPTO_pow_hash (const char *salt,
                         size_t buf_len,
                         struct GNUNET_HashCode *result)
 {
-#ifdef LSD001
-  char twofish_iv[128 / 8]; //128 bit IV
-  char twofish_key[256 / 8]; //256 bit Key
-  char rbuf[buf_len];
-  int rc;
-  gcry_cipher_hd_t handle;
+  GNUNET_break (ARGON2_OK == argon2d_hash_raw (3, /* iterations */
+                                               1024, /* memory (1 MiB) */
+                                               1, /* threads */
+                                               buf,
+                                               buf_len,
+                                               salt,
+                                               strlen (salt),
+                                               result,
+                                               sizeof (struct
+                                                       GNUNET_HashCode)));
 
-  GNUNET_break (0 == gcry_kdf_derive (buf,
-                                      buf_len,
-                                      GCRY_KDF_SCRYPT,
-                                      1 /* subalgo */,
-                                      salt,
-                                      strlen (salt),
-                                      2 /* iterations; keep cost of individual 
op small */,
-                                      sizeof(twofish_key),
-                                      &twofish_key));
-
-  GNUNET_CRYPTO_kdf (twofish_iv,
-                     sizeof (twofish_iv),
-                     "gnunet-proof-of-work-iv",
-                     strlen ("gnunet-proof-of-work-iv"),
-                     twofish_key,
-                     sizeof(twofish_key),
-                     salt,
-                     strlen (salt),
-                     NULL, 0);
-  GNUNET_assert (0 ==
-                 gcry_cipher_open (&handle, GCRY_CIPHER_TWOFISH,
-                                   GCRY_CIPHER_MODE_CFB, 0));
-  rc = gcry_cipher_setkey (handle,
-                           twofish_key,
-                           sizeof(twofish_key));
-  GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
-  rc = gcry_cipher_setiv (handle,
-                          twofish_iv,
-                          sizeof(twofish_iv));
-  GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
-  GNUNET_assert (0 == gcry_cipher_encrypt (handle, &rbuf, buf_len, buf, 
buf_len));
-  gcry_cipher_close (handle);
-#else
-  struct GNUNET_CRYPTO_SymmetricInitializationVector iv;
-  struct GNUNET_CRYPTO_SymmetricSessionKey skey;
-  char rbuf[buf_len];
-
-  GNUNET_break (0 == gcry_kdf_derive (buf,
-                                      buf_len,
-                                      GCRY_KDF_SCRYPT,
-                                      1 /* subalgo */,
-                                      salt,
-                                      strlen (salt),
-                                      2 /* iterations; keep cost of individual 
op small */,
-                                      sizeof(skey),
-                                      &skey));
-  GNUNET_CRYPTO_symmetric_derive_iv (&iv,
-                                     &skey,
-                                     "gnunet-proof-of-work-iv",
-                                     strlen ("gnunet-proof-of-work-iv"),
-                                     salt,
-                                     strlen (salt),
-                                     NULL, 0);
-  GNUNET_CRYPTO_symmetric_encrypt (buf,
-                                   buf_len,
-                                   &skey,
-                                   &iv,
-                                   &rbuf);
-#endif
-  GNUNET_break (0 == gcry_kdf_derive (rbuf,
-                                      buf_len,
-                                      GCRY_KDF_SCRYPT,
-                                      1 /* subalgo */,
-                                      salt,
-                                      strlen (salt),
-                                      2 /* iterations; keep cost of individual 
op small */,
-                                      sizeof(struct GNUNET_HashCode),
-                                      result));
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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