summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjospaeth <spaethj@in.tum.de>2020-09-10 14:52:33 +0200
committerjospaeth <spaethj@in.tum.de>2020-09-10 14:52:33 +0200
commit8ba80868ff3bbe1d8fb6c35663f36cc89f3720da (patch)
tree262977a2c4aad3f44e60f4e62992f57854eb12fe
parentc11faa7df18e14f447872adda3107a1083f5f127 (diff)
parent72331deb3bfed2e82f1d5c87eb185ab67d783308 (diff)
Merge branch 'master' into spaeth/escrow_plugins
-rw-r--r--.buildbot/firefly-x86_64-amdepyc_test_tng.sh8
-rw-r--r--ChangeLog45
-rw-r--r--README2
-rw-r--r--configure.ac7
-rw-r--r--po/POTFILES.in110
-rw-r--r--po/de.po559
-rw-r--r--po/es.po559
-rw-r--r--po/fr.po559
-rw-r--r--po/it.po559
-rw-r--r--po/sv.po559
-rw-r--r--po/vi.po559
-rw-r--r--po/zh_CN.po559
-rw-r--r--src/consensus/consensus_protocol.h1
-rw-r--r--src/consensus/gnunet-service-consensus.c552
-rw-r--r--src/consensus/plugin_block_consensus.c13
-rw-r--r--src/gns/test_gns_proxy.c8
-rw-r--r--src/include/Makefile.am2
-rw-r--r--src/include/gnunet_crypto_lib.h2
-rw-r--r--src/include/gnunet_transport_communication_service.h8
-rw-r--r--src/reclaim/gnunet-reclaim.c2
-rw-r--r--src/reclaim/plugin_reclaim_credential_jwt.c2
-rw-r--r--src/seti/Makefile.am2
-rw-r--r--src/setu/Makefile.am2
-rw-r--r--src/setu/test_setu.conf32
-rw-r--r--src/transport/gnunet-communicator-tcp.c455
-rw-r--r--src/transport/test_communicator_basic.c24
-rw-r--r--src/transport/test_communicator_tcp_rekey_peer2.conf4
-rw-r--r--src/transport/test_communicator_unix_basic_peer1.conf2
-rw-r--r--src/transport/test_communicator_unix_basic_peer2.conf2
-rw-r--r--src/transport/transport-testing2.c154
-rw-r--r--src/transport/transport-testing2.h144
-rw-r--r--src/transport/transport_api2_communication.c15
-rw-r--r--src/util/crypto_hash.c2
-rw-r--r--src/util/gnunet-qr.c7
-rw-r--r--src/util/gnunet-uri.c2
-rw-r--r--src/util/mq.c6
36 files changed, 3027 insertions, 2501 deletions
diff --git a/.buildbot/firefly-x86_64-amdepyc_test_tng.sh b/.buildbot/firefly-x86_64-amdepyc_test_tng.sh
new file mode 100644
index 000000000..031615517
--- /dev/null
+++ b/.buildbot/firefly-x86_64-amdepyc_test_tng.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# echo "Skipped"
+
+pushd src/transport
+make check TESTS='test_communicator_basic-tcp test_communicator_rekey-tcp'
+pkill --signal 9 -U buildbot gnunet
+popd
diff --git a/ChangeLog b/ChangeLog
index 98b3b40b4..7b4dbad37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,48 @@
+Sun, 6 Sep 2020 13:33:31 +0200 (fa067384b)
+GNUnet 0.13.3 - Martin Schanzenbach
+
+Fri, 4 Sep 2020 20:12:00 +0200 (35d7c1f88)
+fix: depend on libsodium >=1.0.17. Fixes #6506 - Martin Schanzenbach
+
+Fri, 4 Sep 2020 04:07:46 +0200 (538277ed8)
+reclaim: fix cli parameter name for credential ID - Martin Schanzenbach
+
+Wed, 2 Sep 2020 19:26:37 +0200 (3ec73fc68)
+gnunet-qr/uri: Fix exit code handling; fix memory corruption - Martin Schanzenbach
+
+Fri, 28 Aug 2020 12:26:52 +0200 (bbf9540c9)
+fix order of namespaces in plugin_rest_identity GNUNET_REST_namespace_match() always matched to the first namespace for GET - jospaeth
+
+Wed, 26 Aug 2020 14:49:02 -0400 (49d74db2e)
+use (and "GNUnet-ify") libyuarel as a basepoint for uri parsing - Jonathan Buchanan
+
+Sun, 23 Aug 2020 16:52:26 +0200 (ef86866ce)
+add function GNUNET_CURL_extend_headers() - Christian Grothoff
+
+Wed, 19 Aug 2020 23:53:02 +0200 (a57d476ab)
+reclaim: Attestations now called credentials. Credentials are presented to third parties as presentations. - Martin Schanzenbach
+
+Wed, 19 Aug 2020 13:17:01 +0200 (6531e0387)
+break out chapters on SETI and SETUI from SET chapter - Christian Grothoff
+
+Wed, 19 Aug 2020 11:05:13 +0200 (6dabecce0)
+change scalarproduct to use seti service in lieu of deprecated set service - Christian Grothoff
+
+Wed, 19 Aug 2020 10:59:27 +0200 (2d010ea15)
+change revocation logic to use setu service in lieu of deprecated set service - Christian Grothoff
+
+Tue, 18 Aug 2020 13:35:24 +0200 (2cd052cb8)
+Update reclaimID handbook entry - Martin Schanzenbach
+
+Tue, 18 Aug 2020 00:09:59 +0200 (2bce42e5b)
+fix: build on openbsd - Martin Schanzenbach
+
+Mon, 17 Aug 2020 14:45:46 +0200 (6f2ee9eb3)
+clean up GNUNET_CRYPTO_pow_hash API - Christian Grothoff
+
+Sun, 16 Aug 2020 20:46:39 +0200 (be0475f2a)
+split of set union from set service (preliminary) - Christian Grothoff
+
Wed, 12 Aug 2020 09:36:33 +0200 (99f820453)
fix: GNUNET_is_zero(ptr) should return enum GNUNET_GenericReturnValue. Fixes #6475. - Martin Schanzenbach
diff --git a/README b/README
index d95022de2..e6ba9c07e 100644
--- a/README
+++ b/README
@@ -96,7 +96,7 @@ These are the direct dependencies for running GNUnet:
- which (contrib/apparmor(?), gnunet-bugreport,
and possibly more)
- zlib
-- libsodium >= 1.0.11 (for elliptic curve cryptography)
+- libsodium >= 1.0.17 (for elliptic curve cryptography)
These are the dependencies for GNUnet's testsuite:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/configure.ac b/configure.ac
index 3a83e31d2..5540d5aa4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,7 +21,7 @@
#
AC_PREREQ(2.61)
# Checks for programs.
-AC_INIT([gnunet], [0.13.2], [bug-gnunet@gnu.org])
+AC_INIT([gnunet], [0.13.3], [bug-gnunet@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
# check for legacy option that is no longer supported (#5627) and fail hard
@@ -1064,9 +1064,10 @@ AC_CHECK_LIB([kvm],[kvm_open])
AC_CHECK_LIB([kstat],[kstat_open])
libsodium=0
-# test for libsodium
+# test for libsodium >=1.017 (introduction of
+# crypto_scalarmult_ed25519_base_noclamp API)
AC_CHECK_HEADER([sodium.h],
- [AC_CHECK_LIB([sodium], [crypto_pwhash_argon2id],
+ [AC_CHECK_LIB([sodium], [crypto_scalarmult_ed25519_base_noclamp],
[libsodium=1])])
AS_IF([test x$libsodium = x0],
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2f37f5852..36d948d93 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
@@ -50,8 +50,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
@@ -67,15 +67,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
@@ -105,6 +105,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
@@ -113,7 +114,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
@@ -148,8 +148,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
@@ -169,9 +169,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
@@ -188,8 +188,8 @@ src/gnsrecord/gnunet-gnsrecord-tvg.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
@@ -214,8 +214,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
@@ -241,17 +241,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
@@ -272,13 +272,13 @@ src/reclaim/gnunet-service-reclaim_tickets.c
src/reclaim/json_reclaim.c
src/reclaim/oidc_helper.c
src/reclaim/plugin_gnsrecord_reclaim.c
-src/reclaim/plugin_reclaim_credential_jwt.c
src/reclaim/plugin_reclaim_attribute_basic.c
+src/reclaim/plugin_reclaim_credential_jwt.c
src/reclaim/plugin_rest_openid_connect.c
src/reclaim/plugin_rest_reclaim.c
src/reclaim/reclaim_api.c
-src/reclaim/reclaim_credential.c
src/reclaim/reclaim_attribute.c
+src/reclaim/reclaim_credential.c
src/regex/gnunet-daemon-regexprofiler.c
src/regex/gnunet-regex-profiler.c
src/regex/gnunet-regex-simulation-profiler.c
@@ -297,27 +297,27 @@ src/rest/gnunet-rest-server.c
src/rest/plugin_rest_config.c
src/rest/plugin_rest_copying.c
src/rest/rest.c
-src/revocation/gnunet-revocation-tvg.c
src/revocation/gnunet-revocation.c
+src/revocation/gnunet-revocation-tvg.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
@@ -331,13 +331,12 @@ src/set/gnunet-set-ibf-profiler.c
src/set/gnunet-set-profiler.c
src/set/ibf.c
src/set/ibf_sim.c
-src/set/plugin_block_set_test.c
-src/set/set_api.c
-src/seti/gnunet-service-set_intersection.c
src/seti/gnunet-service-seti.c
src/seti/gnunet-seti-profiler.c
src/seti/plugin_block_seti_test.c
-src/seti/setu_api.c
+src/seti/seti_api.c
+src/set/plugin_block_set_test.c
+src/set/set_api.c
src/setu/gnunet-service-setu.c
src/setu/gnunet-service-setu_strata_estimator.c
src/setu/gnunet-setu-ibf-profiler.c
@@ -356,16 +355,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
@@ -373,19 +371,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
@@ -397,40 +396,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
@@ -443,6 +436,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
@@ -457,8 +456,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
@@ -482,8 +481,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
@@ -516,12 +515,13 @@ src/util/speedup.c
src/util/strings.c
src/util/time.c
src/util/tun.c
+src/util/uri.c
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 9904529c6..b352a977e 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: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2015-03-08 16:16+0100\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -21,12 +21,12 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.7.4\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, fuzzy, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr "`%s': unbekannter Dienst: %s\n"
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr ""
@@ -38,107 +38,107 @@ msgstr ""
msgid "Failed to connect to namestore\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, fuzzy, c-format
msgid "Issuer public key not well-formed\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, fuzzy, c-format
msgid "ego required\n"
msgstr "Gültiger Typ ist erforderlich\n"
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
#, fuzzy
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr "Die Priorität des Inhalts angeben"
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
msgid "The public key of the authority to verify the credential against"
msgstr ""
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
msgid "The ego/zone name to use"
msgstr ""
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
#, fuzzy
msgid "GNUnet abd resolver tool"
msgstr "GNUnet Netzwerk Topologie tracen."
@@ -433,64 +433,64 @@ msgstr "»%s« konnte nicht aufgelöst werden: %s\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, fuzzy, c-format
msgid "Failed to start service `%s'\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, fuzzy, c-format
msgid "Starting service `%s'\n"
msgstr "Collection `%s' begonnen.\n"
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, fuzzy, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr "Fehler beim Anlegen des Benutzerkontos:"
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, fuzzy, c-format
msgid "Preparing to stop `%s'\n"
msgstr "Collection `%s' begonnen.\n"
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, c-format
msgid "Restarting service `%s'.\n"
msgstr "Dienst »%s« wird neu gestartet.\n"
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr "Signal"
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
msgid "unknown"
msgstr "Unbekannt"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr "Dienst »%s« benötigte %s zum Beenden\n"
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr "Dienst »%s« wurde normal beendet, wird jederzeit neu gestartet\n"
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -820,7 +820,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
msgid "number of values"
msgstr "Anzahl der Werte"
@@ -833,7 +836,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1373,153 +1377,153 @@ msgstr ""
msgid "Core service of `%s' ready.\n"
msgstr "Dienst »%s« wird neu gestartet.\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr "# Bytes verschlüsselt"
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr "# Bytes entschlüsselt"
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
msgid "# PAYLOAD dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
#, fuzzy
msgid "# PING messages transmitted"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
#, fuzzy
msgid "# duplicate ephemeral keys ignored"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
#, fuzzy
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
#, fuzzy
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
#, fuzzy
msgid "# PING messages received"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
#, fuzzy
msgid "# PING messages dropped (out of order)"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
#, fuzzy
msgid "# PONG messages created"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
msgid "# sessions terminated by timeout"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
#, fuzzy
msgid "# keepalive messages sent"
msgstr "# Klartext PING Nachrichten gesendet"
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
#, fuzzy
msgid "# PONG messages received"
msgstr "# verschlüsselter PONG Nachrichten empfangen"
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
msgid "# PONG messages dropped (connection down)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
#, fuzzy
msgid "# PONG messages dropped (out of order)"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
#, fuzzy
msgid "# PONG messages decrypted"
msgstr "# PING Nachrichten erstellt"
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
#, fuzzy
msgid "# session keys confirmed via PONG"
msgstr "# Knotenankündigungen empfangen"
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
#, fuzzy
msgid "# timeouts prevented via PONG"
msgstr "# Bytes empfangen über TCP"
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
#, fuzzy
msgid "# rekey operations confirmed via PONG"
msgstr "# Knotenankündigungen empfangen"
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
msgid "# DATA message dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
msgid "# sessions terminated by key expiration"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
#, fuzzy
msgid "# bytes dropped (duplicates)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
#, fuzzy
msgid "# bytes dropped (out of sequence)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
#, fuzzy
msgid "# bytes dropped (ancient message)"
msgstr "# Bytes verworfen von TCP (ausgehend)"
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
#, fuzzy
msgid "# bytes of payload decrypted"
msgstr "# Bytes entschlüsselt"
@@ -3134,18 +3138,18 @@ msgstr ""
msgid "Failed to load state: %s\n"
msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, fuzzy, c-format
msgid "Failed to save state to file %s\n"
msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, c-format
msgid "Publishing `%s'\n"
msgstr ""
@@ -3990,39 +3994,39 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Beschädigte Antwort auf `%s' von Knoten `%s' empfangen.\n"
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Unbekannte Anfrageart %d empfangen bei %s:%d\n"
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Keine Schlüsselwörter angegeben!\n"
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -4163,7 +4167,7 @@ msgstr "SQLite Datenbank konnte nicht initialisiert werden: %s.\n"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
#, fuzzy
msgid "Failed to pass client to MHD\n"
msgstr "Fehler beim Starten der Collection.\n"
@@ -4320,7 +4324,7 @@ msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
msgid "Unable to parse BOX record string `%s'\n"
msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
#, fuzzy
msgid "Gns REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -4519,7 +4523,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr "# Hellos per HTTP heruntergeladen"
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4570,7 +4574,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4601,51 +4605,51 @@ msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr ""
"`%s' konnte nicht aufgelöst werden, um unsere IP-Adresse zu ermitteln: %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, fuzzy, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr ""
"Datei `%s' konnte nicht zu `%s' umbenannt werden: Datei existiert bereits\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, fuzzy, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4771,48 +4775,48 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
msgid "Failed to set default ego: %s\n"
msgstr "Fehler beim Parsen der Gerätedaten von `%s' bei %s:%d.\n"
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
#, fuzzy
msgid "reduce output"
msgstr "Ausführliche Ausgabe"
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
msgid "display private keys as well"
msgstr ""
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4863,7 +4867,7 @@ msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n"
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
msgid "Identity REST API initialized\n"
msgstr ""
@@ -4912,7 +4916,7 @@ msgstr "Ungültiger Parameter: `%s'\n"
msgid "You must specify a name\n"
msgstr "Sie müssen einen Empfänger angeben!\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -4921,7 +4925,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr "Die Priorität des Inhalts angeben"
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
#, fuzzy
msgid "GNUnet zone manipulation tool"
msgstr "GNUnet Konfiguration"
@@ -5030,10 +5034,10 @@ msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n"
msgid "No options given\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, fuzzy, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr "Unbekannte Operation `%s'\n"
@@ -5047,53 +5051,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, fuzzy, c-format
msgid "Unsupported type `%s'\n"
msgstr "Kommando `%s' wird nicht unterstützt. Vorgang wird abgebrochen.\n"
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, fuzzy, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr "%s: Symbolwert `%s' ist ungültig für %s\n"
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, fuzzy, c-format
msgid "Invalid time format `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -5101,99 +5105,99 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, fuzzy, c-format
msgid "Cannot connect to identity service\n"
msgstr "Verbindung zu %u.%u.%u.%u:%u fehlgeschlagen: %s\n"
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, fuzzy, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n"
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Unbekannter Befehl »%s«\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "Ungültiges Format für IP: »%s«\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
msgid "set the desired nick name for the zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
msgid "monitor changes in the namestore"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
msgid "determine our name for the given PKEY"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
msgid "name of the ego controlling the zone"
msgstr ""
@@ -5293,7 +5297,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr "Sqlite-Datenbank läuft\n"
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -5568,7 +5572,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, fuzzy, c-format
msgid "Failed to start %s\n"
msgstr "Fehler beim Starten der Collection.\n"
@@ -5578,7 +5582,7 @@ msgstr "Fehler beim Starten der Collection.\n"
msgid "`external-ip' command not found\n"
msgstr "Kommando `%s' wurde nicht gefunden!\n"
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
#, fuzzy
msgid "`upnpc' command not found\n"
msgstr "Kommando `%s' wurde nicht gefunden!\n"
@@ -5611,8 +5615,8 @@ msgstr ""
msgid "Measure quality and performance of the NSE service."
msgstr ""
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
msgid "Value is too large.\n"
msgstr ""
@@ -5684,7 +5688,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "Adresse des Knotens `%s' konnte nicht ermittelt werden.\n"
@@ -5764,7 +5768,7 @@ msgstr "Teste Transport(e) %s\n"
msgid "Failed to load transport plugin for `%s'\n"
msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n"
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
#, fuzzy
msgid "Peerinfo REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -5878,96 +5882,100 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, fuzzy, c-format
msgid "Ego is required\n"
msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, fuzzy, c-format
msgid "Requesting party key is required!\n"
msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n"
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
msgid "The EGO to use"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
#, fuzzy
msgid "Identity Provider REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n"
@@ -6056,17 +6064,17 @@ msgstr ""
msgid "Search string `%s' is too long!\n"
msgstr "Dienst »%s« läuft nicht\n"
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
#, fuzzy
msgid "GNUnet REST server"
msgstr "GNUnet Netzwerk Topologie tracen."
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
#, fuzzy
msgid "CONFIG REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
#, fuzzy
msgid "COPYING REST API initialized\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -6199,26 +6207,26 @@ msgstr ""
msgid "# revocation messages received via set union"
msgstr "# verschlüsselter PING Nachrichten empfangen"
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
#, fuzzy
msgid "# revocation set unions failed"
msgstr " Verbindung fehlgeschlagen\n"
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
#, fuzzy
msgid "# revocation set unions completed"
msgstr "# Klartext PONG Nachrichten empfangen"
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
#, fuzzy
msgid "Could not open revocation database file!"
msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
@@ -6307,10 +6315,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
#, fuzzy
msgid "Connect to CADET failed\n"
msgstr " Verbindung fehlgeschlagen\n"
@@ -6335,53 +6343,64 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "Verbindung zum %s-Dienst ist fehlgeschlagen!\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
#, fuzzy
msgid "number of element in set A-B"
msgstr "Anzahl an Durchläufen"
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
#, fuzzy
msgid "number of element in set B-A"
msgstr "Anzahl an Durchläufen"
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr ""
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6397,12 +6416,12 @@ msgid "Failed to reset sqlite statement with error: %s\n"
msgstr ""
"`%s' konnte die Methode '%s%s' nicht auflösen. Ort: %s:%d. Fehler: %s\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, fuzzy, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr "Dateien aus dem GNUnet herunterladen."
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, fuzzy, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr "Dateien aus dem GNUnet herunterladen."
@@ -6584,7 +6603,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6843,57 +6862,57 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, c-format
msgid "Key number %u does not exist\n"
msgstr ""
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, fuzzy, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n"
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr ""
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr ""
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, fuzzy, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr "Konfigurationsdatei `%s' konnte nicht geöffnet werden.\n"
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, fuzzy, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr "Datei wurde als `%s' gespeichert.\n"
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, fuzzy, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, c-format
msgid "Failed to start `%s': %s\n"
msgstr "»%s« konnte nicht gestartet werden: %s\n"
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, c-format
msgid "Failed to load configuration from %s\n"
msgstr "Konfiguration konnte nicht aus %s geladen werden\n"
@@ -6969,39 +6988,39 @@ msgstr "# HELLO-Meldungen empfangen"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
#, fuzzy
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr "Maximale Anzahl der Verbindungen ist %u\n"
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
#, fuzzy
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet Konfiguration"
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, c-format
msgid "Cannot create path to `%s'\n"
msgstr "Pfad zu »%s« kann nicht erstellt werden\n"
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -8066,7 +8085,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, fuzzy, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -8109,7 +8128,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr "Ungültiges Befehlszeilenargument »%s«\n"
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -8128,7 +8147,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -8142,25 +8161,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Konfigurationsdatei `%s' konnte nicht geöffnet werden.\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, fuzzy, c-format
msgid "Invalid handle type while writing `%s'"
msgstr "Ungültiger Parameter: `%s'\n"
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
@@ -8654,15 +8673,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8674,28 +8693,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, fuzzy, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "Das Parsen des Hello von `%s' schlug fehl.\n"
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
msgid "Manipulate GNUnet proof of work files"
msgstr ""
@@ -8708,7 +8727,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8722,7 +8741,7 @@ msgstr "Fehler beim Lesen von »%s«: %s\n"
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr "Fehler beim Parsen der Gerätedaten von `%s' bei %s:%d.\n"
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, fuzzy, c-format
msgid "Error writing to `%s': %s\n"
msgstr "Verbindung zu %u.%u.%u.%u:%u fehlgeschlagen: %s\n"
@@ -8854,116 +8873,116 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "b"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr "µs"
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr ""
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr "0 ms"
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "s"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "m"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "h"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
msgid "day"
msgstr "Tag"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
msgid "days"
msgstr "Tage"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr "IPv6-Adresse beginnt nicht mit »[«\n"
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr "IPv6-Adresse enthält kein »:« zur Abtrennung der Portnummer\n"
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr "IPv6-Adresse enthält kein »]« vor »:« zur Abtrennung der Portnummer\n"
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr "IPv6-Adresse enthält keine gültige Portnummer nach dem letzten »:«\n"
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ungültige Antwort auf `%s' von `%s'\n"
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr "Port außerhalb des Bereichs\n"
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, c-format
msgid "Malformed port policy `%s'\n"
msgstr ""
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Ungültiges Format für IP: »%s«\n"
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ungültige Netzwerk-Notation ('/%d ist nicht gültig in IPv4 CIDR)."
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Ungültiges Format für IP: `%s'\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ungültige Netzwerk-Notation (endet nicht mit »;«: »%s«)\n"
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Falsches Format `%s' für Netzmaske: %s\n"
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Falsches Format `%s' für Netzwerk: %s\n"
diff --git a/po/es.po b/po/es.po
index 49c190edd..646ae9c81 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.9.5a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2013-02-23 17:50+0100\n"
"Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -18,12 +18,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, fuzzy, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr "'%s': servicio desconocido: %s\n"
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, fuzzy, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr "El bloque del tipo %u está mal formado\n"
@@ -35,109 +35,109 @@ msgstr "El bloque del tipo %u está mal formado\n"
msgid "Failed to connect to namestore\n"
msgstr "Se produjo un fallo al conectar con el almacén de nombres\n"
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, fuzzy, c-format
msgid "Issuer public key not well-formed\n"
msgstr "El bloque del tipo %u está mal formado\n"
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Se produjo un fallo al conectar con GNS\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, fuzzy, c-format
msgid "ego required\n"
msgstr "Tipo requerido\n"
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, fuzzy, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr "El bloque del tipo %u está mal formado\n"
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
#, fuzzy
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr "Especificar el tipo del registro a buscar"
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
#, fuzzy
msgid "The public key of the authority to verify the credential against"
msgstr "Especificar el tipo del registro a buscar"
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
#, fuzzy
msgid "The ego/zone name to use"
msgstr "tamaño del mensaje"
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
#, fuzzy
msgid "GNUnet abd resolver tool"
msgstr "Herramienta de acceso GNUnet GNS"
@@ -452,23 +452,23 @@ msgstr "Se produjo un fallo al resolver «%s»: %s\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr "No se encontró la dirección %s para «%s».\n"
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, c-format
msgid "Failed to start service `%s'\n"
msgstr "Se produjo un fallo al iniciar el servicio «%s»\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, c-format
msgid "Starting service `%s'\n"
msgstr "Iniciando el servicio «%s»\n"
# Miguel: ¿Alguna idea para "socket"?
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr "Imposible crear un «socket» para el servicio «%s»: %s\n"
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
@@ -479,44 +479,44 @@ msgstr ""
# no es exactamente lo mismo que el texto en inglés, pero
# es fiel a la realidad puesto que el ARM reinicia
# las conexiones cuando se caen.
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr "El ARM ahora gestiona las conexiones del servicio «%s» en «%s»\n"
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, c-format
msgid "Preparing to stop `%s'\n"
msgstr "Preparando para parar «%s»\n"
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, c-format
msgid "Restarting service `%s'.\n"
msgstr "Reiniciando el servicio «%s»\n"
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr "salida"
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr "señal"
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
msgid "unknown"
msgstr "desconocido"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr "El servicio «%s» tardó %s en finalizar\n"
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, fuzzy, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr "El servicio «%s» finalizó con estado %s/%d, se reiniciará en %llu ms\n"
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, fuzzy, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr "El servicio «%s» finalizó con estado %s/%d, se reiniciará en %llu ms\n"
@@ -877,7 +877,10 @@ msgstr "¿cuántos pares reciben un valor?"
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
msgid "number of values"
msgstr "número de valores"
@@ -892,7 +895,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
#, fuzzy
msgid "write statistics to file"
msgstr "imprime el valor de las estadísticas"
@@ -1450,147 +1454,147 @@ msgstr ""
msgid "Core service of `%s' ready.\n"
msgstr "El servicio principal de «%4s» está listo.\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr "# bytes cifrados"
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr "# bytes descifrados"
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
#, fuzzy
msgid "# PAYLOAD dropped (out of order)"
msgstr "# bytes omitidos (fuera de secuencia)"
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr "# intercambio de claves iniciados"
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr "# intercambio de claves parados"
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
#, fuzzy
msgid "# PING messages transmitted"
msgstr "# mensajes PONG creados"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
#, fuzzy
msgid "# duplicate ephemeral keys ignored"
msgstr "# mapas de tipos recibidos"
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
#, fuzzy
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr "# mensajes «SET_KEY» descifrados"
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
#, fuzzy
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr "# mensajes «SET_KEY» descifrados"
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "# mapas de tipos recibidos"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
msgid "# PING messages received"
msgstr "# mensajes PING recibidos"
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
#, fuzzy
msgid "# PING messages dropped (out of order)"
msgstr "# Mensajes P2P omitidos debido a saturación de la cola"
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
msgid "# PONG messages created"
msgstr "# mensajes PONG creados"
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
msgid "# sessions terminated by timeout"
msgstr "# sesiones terminadas por plazo de expiración"
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
msgid "# keepalive messages sent"
msgstr "# mensajes «keepalive» enviados"
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
msgid "# PONG messages received"
msgstr "# mensajes PONG recibidos"
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
#, fuzzy
msgid "# PONG messages dropped (connection down)"
msgstr "# mensajes PONG recibidos"
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
#, fuzzy
msgid "# PONG messages dropped (out of order)"
msgstr "# Mensajes P2P omitidos debido a saturación de la cola"
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
msgid "# PONG messages decrypted"
msgstr "# mensajes PONG descifrados"
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
msgid "# session keys confirmed via PONG"
msgstr "# claves de sesión confirmadas vía PONG"
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
#, fuzzy
msgid "# timeouts prevented via PONG"
msgstr "# bytes recibidos vía TCP"
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
msgid "# rekey operations confirmed via PONG"
msgstr "# operaciones de cambio de clave confirmadas vía PONG"
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
#, fuzzy
msgid "# DATA message dropped (out of order)"
msgstr "# bytes omitidos (fuera de secuencia)"
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
#, fuzzy
msgid "# sessions terminated by key expiration"
msgstr "# sesiones terminadas por plazo de expiración"
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
msgid "# bytes dropped (duplicates)"
msgstr "# bytes omitidos (duplicados)"
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
msgid "# bytes dropped (out of sequence)"
msgstr "# bytes omitidos (fuera de secuencia)"
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
msgid "# bytes dropped (ancient message)"
msgstr "# bytes omitidos (mensaje antiguo)"
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
msgid "# bytes of payload decrypted"
msgstr "# bytes de «payload» descifrados"
@@ -3254,18 +3258,18 @@ msgstr "¡Número de comillas dobles no balanceado!\n"
msgid "Failed to load state: %s\n"
msgstr "Se produjo un fallo al cargar el estado: %s\n"
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, c-format
msgid "Failed to save state to file %s\n"
msgstr "Se produjo un fallo al guardar el estado en el fichero %s\n"
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr "Publicación de «%s» finalizada\n"
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, c-format
msgid "Publishing `%s'\n"
msgstr "Publicando «%s»\n"
@@ -4111,43 +4115,43 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr ""
"¡Se produjo un fallo al empaquetar una respuesta DNS en un paquete UDP!\n"
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr "No se puede procesar la petición DNS de %s\n"
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Recibida petición DNS mal formada de %s\n"
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Recibida petición DNS no soportada de %s\n"
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "¡Ninguna palabra clave especificada!\n"
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr "IP del resolvedor recursivo DNS a usar (requerido)"
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
#, fuzzy
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
"Puerto UDP en el que escuchar para peticiones DNS entrantes; predeterminado: "
"53"
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr "Pasarela GNUnet DNS-a-GNS (un servidor DNS)"
@@ -4290,7 +4294,7 @@ msgstr "No se pudo importar el certificado %s\n"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr "Se produjo un fallo al iniciar el servidor HTTP\n"
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
#, fuzzy
msgid "Failed to pass client to MHD\n"
msgstr "Se produjo un fallo al conectar con GNS\n"
@@ -4448,7 +4452,7 @@ msgstr "No se pudo procesar la cadena de registro VPN «%s»\n"
msgid "Unable to parse BOX record string `%s'\n"
msgstr "No se pudo procesar la cadena de registro VPN «%s»\n"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
#, fuzzy
msgid "Gns REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -4666,7 +4670,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr "# «HELLO» válidos descargados de servidores de listas de máquinas"
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr "# URI de listas de máquinas anunciadas"
@@ -4720,7 +4724,7 @@ msgid "# hostlist downloads initiated"
msgstr "# descargas de listas de máquinas iniciadas"
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr "# milisegundos entre descargas de listas de máquinas"
@@ -4752,52 +4756,52 @@ msgstr ""
"No se pudo abrir el fichero «%s» en modo lectura para cargar las listas de "
"máquinas: %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr "%u URI de listas de máquinas cargadas del fichero\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr "# URI de listas de máquinas leídas de fichero"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr ""
"No se pudo abrir el fichero «%s» en modo escritura para almacenar las listas "
"de máquinas: %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr "Escribiendo %u URI de listas de máquinas a «%s»\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr "Error escribiendo URI de listas de máquinas al fichero «%s»\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr "# URI de listas de máquinas escritas a fichero"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr "El aprendizaje está habilitado en este par\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr "El aprendizaje no está habilitado en este par\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4930,31 +4934,31 @@ msgstr "Se produjo un fallo al crear la página para «%s»\n"
msgid "Failed to set default ego: %s\n"
msgstr "Se produjo un fallo al crear la página para «%s»\n"
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
#, fuzzy
msgid "delete ego NAME "
msgstr "borrar un nombre de espacio de nombres (NAME)"
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
#, fuzzy
msgid "display all egos"
msgstr "mostrar registros"
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
#, fuzzy
msgid "reduce output"
msgstr "Sin salida innecesaria"
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
@@ -4962,21 +4966,21 @@ msgstr ""
# Miguel: Aquí he dejado monitorización porque esto es
# del servicio de traducción de direcciones.
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
#, fuzzy
msgid "run in monitor mode egos"
msgstr "modo de monitorización"
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
msgid "display private keys as well"
msgstr ""
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -5029,7 +5033,7 @@ msgstr "Se produjo un fallo al borrar el fichero de configuración %s\n"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Se produjo un fallo al leer el directorio «%s»\n"
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
#, fuzzy
msgid "Identity REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -5079,7 +5083,7 @@ msgstr "Parámetro no válido «%s»\n"
msgid "You must specify a name\n"
msgstr "¡Debes especificar un receptor!\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr "nombre del registro a añadir/borrar/mostrar"
@@ -5088,7 +5092,7 @@ msgstr "nombre del registro a añadir/borrar/mostrar"
msgid "specifies the public key of the zone to look in"
msgstr "Especificar el tipo del registro a buscar"
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
msgid "GNUnet zone manipulation tool"
msgstr "Herramienta de manipulación de zona de GNUnet"
@@ -5198,10 +5202,10 @@ msgstr "Se produjo un fallo al procesar la petición DNS. Omitiendo.\n"
msgid "No options given\n"
msgstr "No se han proporcionado opciones\n"
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr "Falta la opción «%s» para la operación «%s»\n"
@@ -5215,53 +5219,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr "URI no válida: «%s»\n"
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr "añadir"
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, c-format
msgid "Unsupported type `%s'\n"
msgstr "Tipo no soportado «%s»\n"
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr "Valor «%s» no válido para el tipo de registro «%s»\n"
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, c-format
msgid "Invalid time format `%s'\n"
msgstr "Formato de tiempo no válido «%s»\n"
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr "borrar"
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, fuzzy, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr "Parámetro no válido «%s»\n"
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, c-format
msgid "Invalid URI `%s'\n"
msgstr "URI no válida: «%s»\n"
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -5269,104 +5273,104 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, fuzzy, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr "Argumentos superfluos (ignorados).\n"
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, fuzzy, c-format
msgid "Cannot connect to identity service\n"
msgstr "¡No se pudo conectar al servicio %s!\n"
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, fuzzy, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr "Se produjo un fallo al cargar el módulo del transporte para «%s»\n"
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Comando desconocido «%s»\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "Formato no válido para la IP: «%s»\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr "añadir registro"
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr "borrar registro"
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr "mostrar registros"
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
"tiempo de expiración del registro a usar (únicamente para añadir), nunca "
"(\"never\") es posible"
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
#, fuzzy
msgid "set the desired nick name for the zone"
msgstr "establece el nivel LEVEL deseado de replicación"
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
#, fuzzy
msgid "monitor changes in the namestore"
msgstr "¡Se produjo un fallo al conectar con el almacén de nombres!\n"
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
#, fuzzy
msgid "determine our name for the given PKEY"
msgstr "establece las preferencias para el par dado"
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr "tipo del registro a añadir/borrar/mostrar"
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr "URI a importar a nuestra zona"
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr "valor del registro a añadir/borrar"
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr "crear o listar registros públicos"
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
#, fuzzy
msgid "name of the ego controlling the zone"
msgstr "nombre de la sección a la que acceder"
@@ -5469,7 +5473,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr "Base de datos de plantilla ejecutándose\n"
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -5756,7 +5760,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr "«gnunet-helper-nat-server» generó la dirección mal formada «%s»\n"
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, c-format
msgid "Failed to start %s\n"
msgstr "Se produjo un fallo al arrancar %s\n"
@@ -5765,7 +5769,7 @@ msgstr "Se produjo un fallo al arrancar %s\n"
msgid "`external-ip' command not found\n"
msgstr "comando «external-ip» no encontrado\n"
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr "comando «upnpc» no encontrado\n"
@@ -5799,8 +5803,8 @@ msgstr "retraso entre rondas"
msgid "Measure quality and performance of the NSE service."
msgstr "Medir la calidad y rendimiento del servicio NSE."
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
msgid "Value is too large.\n"
msgstr ""
@@ -5874,7 +5878,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "Se produjo un fallo al resolver la dirección para el par «%s»\n"
@@ -5953,7 +5957,7 @@ msgstr "Cargando el módulo de transporte «%s»\n"
msgid "Failed to load transport plugin for `%s'\n"
msgstr "Se produjo un fallo al cargar el módulo del transporte para «%s»\n"
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
#, fuzzy
msgid "Peerinfo REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -6062,97 +6066,101 @@ msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
"Demonio a ejecutar para realizar la traducción de protocolo IP a GNUnet"
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, fuzzy, c-format
msgid "Ego is required\n"
msgstr "Las opción «%s» o «%s» es necesaria.\n"
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, fuzzy, c-format
msgid "Requesting party key is required!\n"
msgstr "el parámetro --section es necesario\n"
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
#, fuzzy
msgid "The EGO to use"
msgstr "tamaño del mensaje"
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr "Conexión fallida\n"
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
#, fuzzy
msgid "Identity Provider REST API initialized\n"
msgstr "Conexión fallida\n"
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "El almacén de nombres no pudo añadir el registro\n"
@@ -6252,17 +6260,17 @@ msgstr "El servicio «%s» no está ejecutandose\n"
msgid "Search string `%s' is too long!\n"
msgstr "El servicio «%s» no está ejecutandose\n"
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
#, fuzzy
msgid "GNUnet REST server"
msgstr "Herramienta de acceso GNUnet GNS"
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
#, fuzzy
msgid "CONFIG REST API initialized\n"
msgstr "Conexión fallida\n"
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
#, fuzzy
msgid "COPYING REST API initialized\n"
msgstr "Conexión fallida\n"
@@ -6401,26 +6409,26 @@ msgstr "Opciones de paquete IPv4 recibidas. Ignoradas.\n"
msgid "# revocation messages received via set union"
msgstr "# mensajes «DATA» recibidos vía WLAN"
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
#, fuzzy
msgid "# revocation set unions failed"
msgstr "# sesiones wlan creadas"
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
#, fuzzy
msgid "# revocation set unions completed"
msgstr "# transmisiones de fragmentos completadas"
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
#, fuzzy
msgid "Could not open revocation database file!"
msgstr "No se pudo conectar con el almacén de datos."
@@ -6513,10 +6521,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
#, fuzzy
msgid "Connect to CADET failed\n"
msgstr "Conexión fallida (¿bug?)\n"
@@ -6541,54 +6549,65 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "¡No se pudo conectar al servicio %s!\n"
# Miguel: Conjunto resta.
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
msgid "number of element in set A-B"
msgstr "número de elementos en el conjunto A-B"
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
msgid "number of element in set B-A"
msgstr "número de elementos en el conjunto B-A"
# Miguel: Conjunto unión.
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr "número de elementos comunes en A y B"
# Miguel: "hash" me tiene un poco frito. ¿Existe alguna traducción buena?
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr "número de hash"
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr "tamaño ibf"
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6603,12 +6622,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "«%s» falló al resolver el método «%s» con error: %s\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr "Escritos %llu bytes de estadísticas a «%s»\n"
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr "Cargando %llu bytes de estadísticas de «%s»\n"
@@ -6791,7 +6810,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr "El fichero de máquinas no tiene el formato correcto: %s\n"
@@ -7061,19 +7080,19 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr "crea «COUNT» número de pares"
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr "El fichero de máquinas no fue encontrado: %s\n"
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, c-format
msgid "Key number %u does not exist\n"
msgstr "El número de clave %u no existe\n"
# Miguel: "testbed" lo he traducido como batería de pruebas, pero
# no es una traducción muy literal.
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
@@ -7082,47 +7101,47 @@ msgstr ""
"Se ha intentado crear una batería de pruebas con más de %u máquinas. Por "
"favor, pre-compute más claves de máquinas primero.\n"
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr ""
"Se produjo un fallo al inicializar la clave de la máquina desde el par %u\n"
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
#, fuzzy
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr "¡Falta la opción «%s» en la sección «%s» de la configuración!\n"
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr ""
"Se produjo un fallo al crear la configuración para el par (¿no hay "
"suficientes puertos libres?)\n"
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, fuzzy, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr "No se pudo abrir el fichero de claves de máquina: %s\n"
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr ""
"Se produjo un fallo al escribir la clave de la máquina para el par %u: %s\n"
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr ""
"Se produjo un fallo al escribir el fichero de configuración «%s» para el par "
"%u: %s\n"
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, c-format
msgid "Failed to start `%s': %s\n"
msgstr "Se produjo un fallo al arrancar «%s»: %s\n"
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, c-format
msgid "Failed to load configuration from %s\n"
msgstr "Se produjo un fallo al cargar la configuración de %s\n"
@@ -7206,9 +7225,9 @@ msgstr "# mensajes «HELLO» recibidos"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
@@ -7216,35 +7235,35 @@ msgstr ""
"El servicio de transporte carece de opciones de configuración de clave. "
"Saliendo.\n"
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
#, fuzzy
msgid "GNUnet TCP communicator"
msgstr "Configurador Gtk de GNUnet"
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
#, fuzzy
msgid "GNUnet UDP communicator"
msgstr "Configurador Gtk de GNUnet"
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
#, fuzzy
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr "El número máximo de conexiones es %u\n"
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
#, fuzzy
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr ""
"El servicio NSE carece de opciones de configuración de clave. Saliendo.\n"
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, fuzzy, c-format
msgid "Cannot create path to `%s'\n"
msgstr "Se produjo un fallo al crear la página para «%s»\n"
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -8371,7 +8390,7 @@ msgid "do daemonize (detach from terminal)"
msgstr "demonizar (desasociar del terminal)"
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, fuzzy, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -8414,7 +8433,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr "Parámetro no válido «%s» en la línea de comandos\n"
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -8433,7 +8452,7 @@ msgstr "Se produjo un error leyendo la cadena «%s»"
msgid "String `%s' longer than allowed (%u > %u)"
msgstr "La cadena «%s» es mayor de lo permitido (%u > %u)"
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -8447,25 +8466,25 @@ msgstr "Los metadatos serializados «%s» son mayores de lo permitido (%u>%u)"
msgid "Failed to deserialize metadata `%s'"
msgstr "Se produjo un fallo al serializar metadatos"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Error decodificando clave %u\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, fuzzy, c-format
msgid "Invalid handle type while writing `%s'"
msgstr "Formato de tiempo no válido «%s»\n"
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Se produjo un fallo al serializar metadatos"
@@ -8964,15 +8983,15 @@ msgstr "URI no válida: falla al especificar el subsistema\n"
msgid "No handler known for subsystem `%s'\n"
msgstr "No hay un manejador conocido para el subsistema «%s»\n"
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8984,28 +9003,28 @@ msgstr "realizar una búsqueda inversa"
msgid "Use build-in GNUnet stub resolver"
msgstr "Utilizar el resolvedor interno para pruebas de GNUnet"
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "La carga de la clave de la máquina desde «%s» ha fallado.\n"
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
#, fuzzy
msgid "Manipulate GNUnet proof of work files"
msgstr "Manipular los ficheros de clave privada ECC de GNUnet"
@@ -9019,7 +9038,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr "No se ha especificado una URI en la línea de comandos. Saliendo.\n"
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr "Realizar las acciones predeterminadas para URI de GNUnet"
@@ -9035,7 +9054,7 @@ msgstr ""
"Se produjo un fallo al procesar el mensaje interno del programa auxiliar "
"«%s»\n"
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, c-format
msgid "Error writing to `%s': %s\n"
msgstr "Error escribiendo a «%s»: %s\n"
@@ -9175,122 +9194,122 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "b"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr "Los conjuntos de caracteres pedidos fueron «%s»->«%s»\n"
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
"Se produjo un fallo al expandir «$HOME»: variable de entorno «HOME» no "
"establecida"
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr ""
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr "para siempre"
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr "0 ms"
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "s"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "m"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "h"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
msgid "day"
msgstr "día"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
msgid "days"
msgstr "días"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr "fin del plazo"
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr "La dirección IPv6 no empezaba con «[»\n"
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr "La dirección IPv6 contenía «:» para separar el número de puerto\n"
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
"La dirección IPv6 contenía «]» antes de «:» para separar el número de "
"puerto\n"
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
"La dirección IPv6 contenía un número de puerto válido después del último "
"«:»\n"
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Dirección IPv6 «%s» no válida: %s\n"
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Se produjo un fallo al iniciar el servicio «%s»\n"
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Formato no válido para la IP: «%s»\n"
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Notación de red no válida («/%d» no es válido en IPv4 CIDR)."
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Formato de tiempo no válido «%s»\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Notación de red no válida (no termina con «;»: «%s»)\n"
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Formato «%s» erroneo para máscara de red\n"
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Formato «%s» erroneo para red\n"
diff --git a/po/fr.po b/po/fr.po
index 79a26dc73..1ffa44998 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.10.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2015-12-24 01:20+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -16,12 +16,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr ""
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr ""
@@ -33,106 +33,106 @@ msgstr ""
msgid "Failed to connect to namestore\n"
msgstr ""
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, c-format
msgid "Issuer public key not well-formed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Impossible d’ouvrir « %s ».\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, c-format
msgid "ego required\n"
msgstr ""
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr ""
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
msgid "The public key of the authority to verify the credential against"
msgstr ""
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
msgid "The ego/zone name to use"
msgstr ""
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
msgid "GNUnet abd resolver tool"
msgstr ""
@@ -425,64 +425,64 @@ msgstr "Résolution de « %s » échouée : %s\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, c-format
msgid "Failed to start service `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, c-format
msgid "Starting service `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, c-format
msgid "Preparing to stop `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, c-format
msgid "Restarting service `%s'.\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr "exit"
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr "signal"
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
msgid "unknown"
msgstr "inconnu"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -804,7 +804,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
msgid "number of values"
msgstr "nombre de valeurs"
@@ -817,7 +820,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1348,135 +1352,135 @@ msgstr ""
msgid "Core service of `%s' ready.\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
msgid "# PAYLOAD dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
msgid "# PING messages transmitted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
msgid "# duplicate ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
msgid "# valid ephemeral keys received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
msgid "# PING messages received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
msgid "# PING messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
msgid "# PONG messages created"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
msgid "# sessions terminated by timeout"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
msgid "# keepalive messages sent"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
msgid "# PONG messages received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
msgid "# PONG messages dropped (connection down)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
msgid "# PONG messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
msgid "# PONG messages decrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
msgid "# session keys confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
msgid "# timeouts prevented via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
msgid "# rekey operations confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
msgid "# DATA message dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
msgid "# sessions terminated by key expiration"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
msgid "# bytes dropped (duplicates)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
msgid "# bytes dropped (out of sequence)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
msgid "# bytes dropped (ancient message)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
msgid "# bytes of payload decrypted"
msgstr ""
@@ -3010,18 +3014,18 @@ msgstr ""
msgid "Failed to load state: %s\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, c-format
msgid "Failed to save state to file %s\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr "Publication de « %s » terminée\n"
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, c-format
msgid "Publishing `%s'\n"
msgstr "Publication de « %s »\n"
@@ -3809,38 +3813,38 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -3978,7 +3982,7 @@ msgstr ""
msgid "Failed to start HTTPS server for `%s'\n"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
msgid "Failed to pass client to MHD\n"
msgstr ""
@@ -4128,7 +4132,7 @@ msgstr ""
msgid "Unable to parse BOX record string `%s'\n"
msgstr ""
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
msgid "Gns REST API initialized\n"
msgstr ""
@@ -4321,7 +4325,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4372,7 +4376,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4401,50 +4405,50 @@ msgstr ""
msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4566,48 +4570,48 @@ msgstr ""
msgid "Failed to set default ego: %s\n"
msgstr ""
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
#, fuzzy
msgid "reduce output"
msgstr "sortie verbeuse"
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
msgid "display private keys as well"
msgstr ""
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4658,7 +4662,7 @@ msgstr ""
msgid "Failed to create directory `%s' for storing egos\n"
msgstr ""
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
msgid "Identity REST API initialized\n"
msgstr ""
@@ -4707,7 +4711,7 @@ msgstr "fornat invalide : « %s »\n"
msgid "You must specify a name\n"
msgstr ""
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -4715,7 +4719,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr ""
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
msgid "GNUnet zone manipulation tool"
msgstr ""
@@ -4821,10 +4825,10 @@ msgstr "Résolution de « %s » échouée : %s\n"
msgid "No options given\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr ""
@@ -4838,53 +4842,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr "ajouter"
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, c-format
msgid "Unsupported type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, c-format
msgid "Invalid time format `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr "supprimer"
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, c-format
msgid "Invalid URI `%s'\n"
msgstr "URI invalide « %s »\n"
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -4892,99 +4896,99 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, c-format
msgid "Cannot connect to identity service\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Commande « %s » inconnue\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "fornat invalide : « %s »\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr "ajouter un enregistrement"
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr "suprimer un enregistrement"
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr "afficher les enregistrements"
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
msgid "set the desired nick name for the zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
msgid "monitor changes in the namestore"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
msgid "determine our name for the given PKEY"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
msgid "name of the ego controlling the zone"
msgstr ""
@@ -5081,7 +5085,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5343,7 +5347,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, c-format
msgid "Failed to start %s\n"
msgstr "Échec du démarrage de %s\n"
@@ -5352,7 +5356,7 @@ msgstr "Échec du démarrage de %s\n"
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr ""
@@ -5384,8 +5388,8 @@ msgstr ""
msgid "Measure quality and performance of the NSE service."
msgstr ""
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
msgid "Value is too large.\n"
msgstr ""
@@ -5454,7 +5458,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr ""
@@ -5533,7 +5537,7 @@ msgstr ""
msgid "Failed to load transport plugin for `%s'\n"
msgstr ""
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
msgid "Peerinfo REST API initialized\n"
msgstr ""
@@ -5637,94 +5641,98 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, c-format
msgid "Ego is required\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, c-format
msgid "Requesting party key is required!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
msgid "The EGO to use"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
msgid "OpenID Connect REST API initialized\n"
msgstr ""
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
msgid "Identity Provider REST API initialized\n"
msgstr ""
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "Échec du démarrage de %s\n"
@@ -5813,15 +5821,15 @@ msgstr ""
msgid "Search string `%s' is too long!\n"
msgstr ""
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
msgid "GNUnet REST server"
msgstr ""
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
msgid "CONFIG REST API initialized\n"
msgstr ""
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
msgid "COPYING REST API initialized\n"
msgstr ""
@@ -5951,24 +5959,24 @@ msgstr ""
msgid "# revocation messages received via set union"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
msgid "# revocation set unions failed"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
msgid "# revocation set unions completed"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
msgid "Could not open revocation database file!"
msgstr ""
@@ -6055,10 +6063,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
msgid "Connect to CADET failed\n"
msgstr ""
@@ -6082,51 +6090,62 @@ msgstr "threshold"
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "Impossible d’ouvrir « %s ».\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
msgid "number of element in set A-B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
msgid "number of element in set B-A"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr "numéro de hash"
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr "taille ibz"
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6141,12 +6160,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "Échec du démarrage de %s\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr ""
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr ""
@@ -6326,7 +6345,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6579,57 +6598,57 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, c-format
msgid "Key number %u does not exist\n"
msgstr ""
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr ""
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr ""
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr ""
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr ""
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr ""
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr ""
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, c-format
msgid "Failed to start `%s': %s\n"
msgstr ""
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, c-format
msgid "Failed to load configuration from %s\n"
msgstr ""
@@ -6703,37 +6722,37 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, c-format
msgid "Cannot create path to `%s'\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -7756,7 +7775,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -7798,7 +7817,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr ""
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -7817,7 +7836,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -7831,25 +7850,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "Résolution de « %s » échouée\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Erreur de lecture : « %s » : %s"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, c-format
msgid "Invalid handle type while writing `%s'"
msgstr ""
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Échec du démarrage de %s\n"
@@ -8331,15 +8350,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8351,28 +8370,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
msgid "Manipulate GNUnet proof of work files"
msgstr ""
@@ -8385,7 +8404,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8399,7 +8418,7 @@ msgstr ""
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr ""
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, c-format
msgid "Error writing to `%s': %s\n"
msgstr ""
@@ -8526,116 +8545,116 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "o"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr "µs"
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr "perpetuel"
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr "0 ms"
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "s"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "m"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "h"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
msgid "day"
msgstr "jour"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
msgid "days"
msgstr "jours"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr "fin du temps"
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr ""
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, c-format
msgid "Malformed port policy `%s'\n"
msgstr ""
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr ""
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr ""
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, c-format
msgid "Invalid format: `%s'\n"
msgstr "fornat invalide : « %s »\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr ""
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr ""
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr ""
diff --git a/po/it.po b/po/it.po
index 92b63e39c..278ad6e57 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: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2019-10-16 11:00+0200\n"
"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -20,12 +20,12 @@ msgstr ""
"X-Generator: Poedit 2.2.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr ""
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr ""
@@ -37,106 +37,106 @@ msgstr ""
msgid "Failed to connect to namestore\n"
msgstr ""
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, c-format
msgid "Issuer public key not well-formed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Impossibile avviare il servizio.\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, c-format
msgid "ego required\n"
msgstr ""
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr ""
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
msgid "The public key of the authority to verify the credential against"
msgstr ""
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
msgid "The ego/zone name to use"
msgstr ""
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
msgid "GNUnet abd resolver tool"
msgstr ""
@@ -426,64 +426,64 @@ msgstr ""
msgid "Failed to find %saddress for `%s'.\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, c-format
msgid "Failed to start service `%s'\n"
msgstr "Impossibile avviare il servizio ' %s'\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, c-format
msgid "Starting service `%s'\n"
msgstr "Avvio del servizio '%s' in corso\n"
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, c-format
msgid "Preparing to stop `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, c-format
msgid "Restarting service `%s'.\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr "uscita"
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
msgid "unknown"
msgstr "sconosciuto"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -806,7 +806,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
msgid "number of values"
msgstr ""
@@ -819,7 +822,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1351,139 +1355,139 @@ msgstr ""
msgid "Core service of `%s' ready.\n"
msgstr "Avvio del servizio '%s' in corso\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr "# byte crittografati"
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr "# byte decrittati"
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
msgid "# PAYLOAD dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
msgid "# PING messages transmitted"
msgstr "# Messaggi PING trasmessi"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
#, fuzzy
msgid "# duplicate ephemeral keys ignored"
msgstr "# messaggi PONG ricevuti"
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
#, fuzzy
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr "# messaggi SYN ricevuti"
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
#, fuzzy
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr "# messaggi SYN ricevuti"
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "# messaggi PONG ricevuti"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
msgid "# PING messages received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
msgid "# PING messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
msgid "# PONG messages created"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
msgid "# sessions terminated by timeout"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
msgid "# keepalive messages sent"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
msgid "# PONG messages received"
msgstr "# messaggi PONG ricevuti"
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
msgid "# PONG messages dropped (connection down)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
msgid "# PONG messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
msgid "# PONG messages decrypted"
msgstr "# messaggi PONG decrittati"
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
msgid "# session keys confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
msgid "# timeouts prevented via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
msgid "# rekey operations confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
msgid "# DATA message dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
msgid "# sessions terminated by key expiration"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
msgid "# bytes dropped (duplicates)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
msgid "# bytes dropped (out of sequence)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
msgid "# bytes dropped (ancient message)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
msgid "# bytes of payload decrypted"
msgstr ""
@@ -3026,18 +3030,18 @@ msgstr ""
msgid "Failed to load state: %s\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, c-format
msgid "Failed to save state to file %s\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, c-format
msgid "Publishing `%s'\n"
msgstr ""
@@ -3834,38 +3838,38 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -4003,7 +4007,7 @@ msgstr "Generazione statistiche fallita\n"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr ""
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
msgid "Failed to pass client to MHD\n"
msgstr ""
@@ -4154,7 +4158,7 @@ msgstr ""
msgid "Unable to parse BOX record string `%s'\n"
msgstr "Impossibile avviare il servizio ' %s'\n"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
msgid "Gns REST API initialized\n"
msgstr ""
@@ -4347,7 +4351,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4398,7 +4402,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4427,50 +4431,50 @@ msgstr ""
msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4594,47 +4598,47 @@ msgstr ""
msgid "Failed to set default ego: %s\n"
msgstr ""
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
msgid "reduce output"
msgstr ""
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
msgid "display private keys as well"
msgstr ""
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4685,7 +4689,7 @@ msgstr ""
msgid "Failed to create directory `%s' for storing egos\n"
msgstr ""
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
msgid "Identity REST API initialized\n"
msgstr ""
@@ -4734,7 +4738,7 @@ msgstr "# messaggi PONG ricevuti"
msgid "You must specify a name\n"
msgstr "È necessario specificare un nome\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -4742,7 +4746,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr ""
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
msgid "GNUnet zone manipulation tool"
msgstr ""
@@ -4848,10 +4852,10 @@ msgstr "Impossibile avviare il servizio ' %s'\n"
msgid "No options given\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr ""
@@ -4865,53 +4869,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, c-format
msgid "Unsupported type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, c-format
msgid "Invalid time format `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, c-format
msgid "Invalid URI `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -4919,99 +4923,99 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, c-format
msgid "Cannot connect to identity service\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Comando `%s' sconosciuto.\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "Indirizzo IPv6 non valido: `%s'\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
msgid "set the desired nick name for the zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
msgid "monitor changes in the namestore"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
msgid "determine our name for the given PKEY"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
msgid "name of the ego controlling the zone"
msgstr ""
@@ -5108,7 +5112,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5370,7 +5374,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, c-format
msgid "Failed to start %s\n"
msgstr ""
@@ -5379,7 +5383,7 @@ msgstr ""
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr ""
@@ -5411,8 +5415,8 @@ msgstr ""
msgid "Measure quality and performance of the NSE service."
msgstr ""
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
msgid "Value is too large.\n"
msgstr ""
@@ -5481,7 +5485,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "Impossibile avviare il servizio ' %s'\n"
@@ -5560,7 +5564,7 @@ msgstr ""
msgid "Failed to load transport plugin for `%s'\n"
msgstr ""
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
msgid "Peerinfo REST API initialized\n"
msgstr ""
@@ -5664,94 +5668,98 @@ msgstr ""
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, c-format
msgid "Ego is required\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, c-format
msgid "Requesting party key is required!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
msgid "The EGO to use"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
msgid "OpenID Connect REST API initialized\n"
msgstr ""
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
msgid "Identity Provider REST API initialized\n"
msgstr ""
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "Impossibile avviare il servizio.\n"
@@ -5840,15 +5848,15 @@ msgstr ""
msgid "Search string `%s' is too long!\n"
msgstr ""
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
msgid "GNUnet REST server"
msgstr ""
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
msgid "CONFIG REST API initialized\n"
msgstr ""
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
msgid "COPYING REST API initialized\n"
msgstr ""
@@ -5978,24 +5986,24 @@ msgstr ""
msgid "# revocation messages received via set union"
msgstr "# messaggi PONG ricevuti"
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
msgid "# revocation set unions failed"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
msgid "# revocation set unions completed"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
msgid "Could not open revocation database file!"
msgstr ""
@@ -6081,10 +6089,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
msgid "Connect to CADET failed\n"
msgstr ""
@@ -6108,51 +6116,62 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "Impossibile avviare il servizio.\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
msgid "number of element in set A-B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
msgid "number of element in set B-A"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr ""
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6167,12 +6186,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "Impossibile avviare il servizio ' %s'\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr ""
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr ""
@@ -6353,7 +6372,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6606,57 +6625,57 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, c-format
msgid "Key number %u does not exist\n"
msgstr ""
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr ""
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr ""
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr ""
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr ""
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr ""
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr ""
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, c-format
msgid "Failed to start `%s': %s\n"
msgstr ""
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, c-format
msgid "Failed to load configuration from %s\n"
msgstr ""
@@ -6730,37 +6749,37 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, c-format
msgid "Cannot create path to `%s'\n"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -7805,7 +7824,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -7847,7 +7866,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr ""
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -7866,7 +7885,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -7880,25 +7899,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "Impossibile avviare il servizio ' %s'\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Errore di lettura del file `%s'\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, c-format
msgid "Invalid handle type while writing `%s'"
msgstr ""
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Impossibile avviare il servizio ' %s'\n"
@@ -8379,15 +8398,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8399,28 +8418,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
msgid "Manipulate GNUnet proof of work files"
msgstr ""
@@ -8433,7 +8452,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8447,7 +8466,7 @@ msgstr "Errore di lettura da '%s': %s\n"
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr ""
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, c-format
msgid "Error writing to `%s': %s\n"
msgstr ""
@@ -8573,116 +8592,116 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr ""
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr "µs"
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr "per sempre"
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr "0 ms"
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "s"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr ""
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "o"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
msgid "day"
msgstr "giorno"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
msgid "days"
msgstr "giorni"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr ""
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, c-format
msgid "Malformed port policy `%s'\n"
msgstr ""
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr ""
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr ""
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, c-format
msgid "Invalid format: `%s'\n"
msgstr ""
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr ""
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr ""
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 355616dc9..25812f069 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNUnet 0.7.0b\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2006-01-21 17:16+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -16,12 +16,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, fuzzy, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr "\"%s\": okänd tjänst: %s\n"
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, fuzzy, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr "Ogiltigt argument: \"%s\"\n"
@@ -33,109 +33,109 @@ msgstr "Ogiltigt argument: \"%s\"\n"
msgid "Failed to connect to namestore\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, fuzzy, c-format
msgid "Issuer public key not well-formed\n"
msgstr "Ogiltigt argument: \"%s\"\n"
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, c-format
msgid "ego required\n"
msgstr ""
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, fuzzy, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr "Ogiltigt argument: \"%s\"\n"
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
#, fuzzy
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr "ange prioritet för innehållet"
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
#, fuzzy
msgid "The public key of the authority to verify the credential against"
msgstr "ange prioritet för innehållet"
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
#, fuzzy
msgid "The ego/zone name to use"
msgstr "meddelandestorlek"
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
#, fuzzy
msgid "GNUnet abd resolver tool"
msgstr "Spåra GNUnets nätverkstopologi."
@@ -435,65 +435,65 @@ msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, fuzzy, c-format
msgid "Failed to start service `%s'\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, fuzzy, c-format
msgid "Starting service `%s'\n"
msgstr "Startade samling \"%s\".\n"
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, fuzzy, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr "Kunde inte skapa användarkonto:"
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, fuzzy, c-format
msgid "Preparing to stop `%s'\n"
msgstr "Startade samling \"%s\".\n"
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, fuzzy, c-format
msgid "Restarting service `%s'.\n"
msgstr "Startade samling \"%s\".\n"
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
#, fuzzy
msgid "unknown"
msgstr "Okänt fel"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, fuzzy, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr "Tjänst borttagen.\n"
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -829,7 +829,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
#, fuzzy
msgid "number of values"
msgstr "antal iterationer"
@@ -844,7 +847,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1396,158 +1400,158 @@ msgstr "GNUnet-konfiguration"
msgid "Core service of `%s' ready.\n"
msgstr "\"%s\" är inte en fil.\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr "# byte krypterade"
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr "# byte dekrypterade"
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
#, fuzzy
msgid "# PAYLOAD dropped (out of order)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
#, fuzzy
msgid "# PING messages transmitted"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
#, fuzzy
msgid "# duplicate ephemeral keys ignored"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
#, fuzzy
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
#, fuzzy
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
#, fuzzy
msgid "# PING messages received"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
#, fuzzy
msgid "# PING messages dropped (out of order)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
#, fuzzy
msgid "# PONG messages created"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
#, fuzzy
msgid "# sessions terminated by timeout"
msgstr "# byte kastade via TCP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
#, fuzzy
msgid "# keepalive messages sent"
msgstr "# PING-meddelanden i klartext skickade"
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
#, fuzzy
msgid "# PONG messages received"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
#, fuzzy
msgid "# PONG messages dropped (connection down)"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
#, fuzzy
msgid "# PONG messages dropped (out of order)"
msgstr "Nätverksannonsering avstängd i konfigurationen!\n"
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
#, fuzzy
msgid "# PONG messages decrypted"
msgstr "# PING-meddelanden skapade"
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
#, fuzzy
msgid "# session keys confirmed via PONG"
msgstr "# sessionnycklar vägrade"
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
#, fuzzy
msgid "# timeouts prevented via PONG"
msgstr "# byte mottogs via TCP"
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
#, fuzzy
msgid "# rekey operations confirmed via PONG"
msgstr "# sessionnycklar vägrade"
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
#, fuzzy
msgid "# DATA message dropped (out of order)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
#, fuzzy
msgid "# sessions terminated by key expiration"
msgstr "# byte kastade via TCP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
#, fuzzy
msgid "# bytes dropped (duplicates)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
#, fuzzy
msgid "# bytes dropped (out of sequence)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
#, fuzzy
msgid "# bytes dropped (ancient message)"
msgstr "# byte kastade via UDP (utgående)"
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
#, fuzzy
msgid "# bytes of payload decrypted"
msgstr "# byte dekrypterade"
@@ -3175,18 +3179,18 @@ msgstr ""
msgid "Failed to load state: %s\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, fuzzy, c-format
msgid "Failed to save state to file %s\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, fuzzy, c-format
msgid "Publishing `%s'\n"
msgstr ""
@@ -4020,40 +4024,40 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
#, fuzzy
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, fuzzy, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Mottog ogiltig \"%s\" begäran (storlek %d)\n"
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Mottog okänd typ av begäran %d vid %s:%d\n"
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Inga nyckelord angivna!\n"
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -4194,7 +4198,7 @@ msgstr "Kunde inte spara konfigurationsfil \"%s\":"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
#, fuzzy
msgid "Failed to pass client to MHD\n"
msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -4350,7 +4354,7 @@ msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
msgid "Unable to parse BOX record string `%s'\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
#, fuzzy
msgid "Gns REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -4548,7 +4552,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4601,7 +4605,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4631,50 +4635,50 @@ msgstr "antal meddelanden att använda per iteration"
msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr "Kunde inte slå upp \"%s\": %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, fuzzy, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr "Kunde inte slå upp \"%s\": %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, fuzzy, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4800,47 +4804,47 @@ msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
msgid "Failed to set default ego: %s\n"
msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
msgid "reduce output"
msgstr ""
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
msgid "display private keys as well"
msgstr ""
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4891,7 +4895,7 @@ msgstr "Kunde inte spara konfigurationsfil \"%s\":"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
#, fuzzy
msgid "Identity REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -4941,7 +4945,7 @@ msgstr "Ogiltigt argument: \"%s\"\n"
msgid "You must specify a name\n"
msgstr "Du måste ange en mottagare!\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -4950,7 +4954,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr "ange prioritet för innehållet"
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
#, fuzzy
msgid "GNUnet zone manipulation tool"
msgstr "GNUnet-konfiguration"
@@ -5064,10 +5068,10 @@ msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
msgid "No options given\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, fuzzy, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr "Konfigurationsfil \"%s\" skapad.\n"
@@ -5081,53 +5085,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr "Ogiltiga argument: "
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, fuzzy, c-format
msgid "Unsupported type `%s'\n"
msgstr "Kommando \"%s\" stöds ej. Avbryter.\n"
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, fuzzy, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr "%s: symbolvärde \"%s\" ogiltigt för %s\n"
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, fuzzy, c-format
msgid "Invalid time format `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, fuzzy, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr "Ogiltigt argument: \"%s\"\n"
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Ogiltiga argument: "
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -5135,102 +5139,102 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, fuzzy, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr "Onödiga argument (ignorerade).\n"
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, fuzzy, c-format
msgid "Cannot connect to identity service\n"
msgstr "Kunde inte ansluta till gnunetd.\n"
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, fuzzy, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr "Kunde inte slå upp \"%s\": %s\n"
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Okänd operation \"%s\"\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
#, fuzzy
msgid "set the desired nick name for the zone"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
#, fuzzy
msgid "monitor changes in the namestore"
msgstr "Misslyckades att ansluta till gnunetd.\n"
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
#, fuzzy
msgid "determine our name for the given PKEY"
msgstr "Skriv ut information om GNUnets motparter."
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
#, fuzzy
msgid "name of the ego controlling the zone"
msgstr "Visa värde av alternativet"
@@ -5330,7 +5334,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr ""
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -5608,7 +5612,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, fuzzy, c-format
msgid "Failed to start %s\n"
msgstr "Misslyckades att starta samling.\n"
@@ -5617,7 +5621,7 @@ msgstr "Misslyckades att starta samling.\n"
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr ""
@@ -5652,8 +5656,8 @@ msgstr ""
msgid "Measure quality and performance of the NSE service."
msgstr "Kan inte tillgå tjänsten"
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
msgid "Value is too large.\n"
msgstr ""
@@ -5723,7 +5727,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "Misslyckades att binda till UDP-port %d.\n"
@@ -5803,7 +5807,7 @@ msgstr "Testar transport(er) %s\n"
msgid "Failed to load transport plugin for `%s'\n"
msgstr "Kunde inte slå upp \"%s\": %s\n"
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
#, fuzzy
msgid "Peerinfo REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -5919,97 +5923,101 @@ msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, fuzzy, c-format
msgid "Ego is required\n"
msgstr "%s: flagga \"%s\" är tvetydig\n"
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, fuzzy, c-format
msgid "Requesting party key is required!\n"
msgstr "%s: flagga \"%s\" är tvetydig\n"
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
#, fuzzy
msgid "The EGO to use"
msgstr "meddelandestorlek"
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr " Anslutning misslyckades\n"
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
#, fuzzy
msgid "Identity Provider REST API initialized\n"
msgstr " Anslutning misslyckades\n"
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "Misslyckades att starta samling.\n"
@@ -6104,17 +6112,17 @@ msgstr "\"%s\" är inte en fil.\n"
msgid "Search string `%s' is too long!\n"
msgstr "\"%s\" är inte en fil.\n"
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
#, fuzzy
msgid "GNUnet REST server"
msgstr "Spåra GNUnets nätverkstopologi."
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
#, fuzzy
msgid "CONFIG REST API initialized\n"
msgstr " Anslutning misslyckades\n"
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
#, fuzzy
msgid "COPYING REST API initialized\n"
msgstr " Anslutning misslyckades\n"
@@ -6251,26 +6259,26 @@ msgstr "# byte mottogs via TCP"
msgid "# revocation messages received via set union"
msgstr "# krypterade PONG-meddelanden mottagna"
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
#, fuzzy
msgid "# revocation set unions failed"
msgstr "# sessionsnycklar accepterade"
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
#, fuzzy
msgid "# revocation set unions completed"
msgstr "# klartext PONG-meddelanden mottagna"
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
#, fuzzy
msgid "Could not open revocation database file!"
msgstr "Kunde inte ansluta till gnunetd.\n"
@@ -6361,10 +6369,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
#, fuzzy
msgid "Connect to CADET failed\n"
msgstr " Anslutning misslyckades (fel?)\n"
@@ -6389,53 +6397,64 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "Kunde inte ansluta till gnunetd.\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
#, fuzzy
msgid "number of element in set A-B"
msgstr "antal iterationer"
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
#, fuzzy
msgid "number of element in set B-A"
msgstr "antal iterationer"
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr ""
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6450,12 +6469,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "\"%s\" misslyckades för fil \"%s\" vid %s:%d med fel: %s\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, fuzzy, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr "Ladda ner filer från GNUnet."
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, fuzzy, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr "Ladda ner filer från GNUnet."
@@ -6638,7 +6657,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6895,59 +6914,59 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, fuzzy, c-format
msgid "Key number %u does not exist\n"
msgstr "antal meddelanden att använda per iteration"
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, fuzzy, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr "Misslyckades att initiera tjänsten \"%s\".\n"
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
#, fuzzy
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr "Inga applikationer definierade i konfiguration!\n"
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
#, fuzzy
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr "Kunde inte komma åt namnrymdsinformation.\n"
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, fuzzy, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr "Kunde inte skapa värdnyckel!\n"
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, fuzzy, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr "Kunde inte skapa användarkonto:"
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, fuzzy, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr "Kunde inte spara konfigurationsfil \"%s\":"
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, fuzzy, c-format
msgid "Failed to start `%s': %s\n"
msgstr "Fel vid %s:%d.\n"
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, fuzzy, c-format
msgid "Failed to load configuration from %s\n"
msgstr "Kunde inte spara konfigurationsfil \"%s\":"
@@ -7025,40 +7044,40 @@ msgstr "# krypterade PONG-meddelanden mottagna"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet-konfiguration"
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
#, fuzzy
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr "Maximalt antal chattklienter uppnått.\n"
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
#, fuzzy
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr "GNUnet-konfiguration"
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, fuzzy, c-format
msgid "Cannot create path to `%s'\n"
msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -8165,7 +8184,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, fuzzy, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -8209,7 +8228,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr "Ogiltiga kommandoradsargument:\n"
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -8228,7 +8247,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -8242,25 +8261,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Fel vid nedladdning: %s\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, fuzzy, c-format
msgid "Invalid handle type while writing `%s'"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
@@ -8748,15 +8767,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8768,28 +8787,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, fuzzy, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr "Tolkning av HTTP-svar för URL \"%s\" misslyckades.\n"
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
#, fuzzy
msgid "Manipulate GNUnet proof of work files"
msgstr "skriv ut ett värde från konfigurationsfilen till standard ut"
@@ -8803,7 +8822,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8817,7 +8836,7 @@ msgstr "Fel vid skapandet av användare"
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, fuzzy, c-format
msgid "Error writing to `%s': %s\n"
msgstr "Fel vid skapandet av användare"
@@ -8947,118 +8966,118 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "b"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr ""
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr ""
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "ms"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "s"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "m"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "h"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
#, fuzzy
msgid "day"
msgstr " dagar"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
#, fuzzy
msgid "days"
msgstr " dagar"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Ogiltigt svar på \"%s\".\n"
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Misslyckades att starta samling.\n"
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ogiltig nätverksnotation (\"/%d\" är inte giltig i IPv4 CIDR)."
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Ogiltigt format för IP: \"%s\"\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ogiltig nätverksnotation (slutar inte med \";\": \"%s\")\n"
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Fel format \"%s\" för nätmask: %s\n"
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Fel format \"%s\" för nätverk: %s\n"
diff --git a/po/vi.po b/po/vi.po
index c8d75014d..732d1d432 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet 0.8.0a\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2008-09-10 22:05+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -19,12 +19,12 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.7b3\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr ""
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, fuzzy, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
@@ -36,109 +36,109 @@ msgstr "Đối số không hợp lệ cho « %s ».\n"
msgid "Failed to connect to namestore\n"
msgstr "Không kết nối được đến trình nền gnunetd."
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, fuzzy, c-format
msgid "Issuer public key not well-formed\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, c-format
msgid "ego required\n"
msgstr ""
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, fuzzy, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
#, fuzzy
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr "xác định mức ưu tiên của nội dung"
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
#, fuzzy
msgid "The public key of the authority to verify the credential against"
msgstr "xác định mức ưu tiên của nội dung"
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
#, fuzzy
msgid "The ego/zone name to use"
msgstr "kích cỡ tin nhắn"
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
#, fuzzy
msgid "GNUnet abd resolver tool"
msgstr "Bản ghi lỗi GNUnet"
@@ -442,65 +442,65 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, fuzzy, c-format
msgid "Failed to start service `%s'\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, fuzzy, c-format
msgid "Starting service `%s'\n"
msgstr "Đang bắt đầu tài về « %s »\n"
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, fuzzy, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr "Không thể tạo tài khoản người dùng:"
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, fuzzy, c-format
msgid "Preparing to stop `%s'\n"
msgstr "Đang bắt đầu tài lên « %s ».\n"
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, fuzzy, c-format
msgid "Restarting service `%s'.\n"
msgstr "Đang nạp và khởi động dùng « %s ».\n"
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
#, fuzzy
msgid "unknown"
msgstr "Lỗi không rõ"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, fuzzy, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr "Dịch vụ đã bị xoá.\n"
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -838,7 +838,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
#, fuzzy
msgid "number of values"
msgstr "số lần lặp lại"
@@ -853,7 +856,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1404,158 +1408,158 @@ msgstr "Lưu cấu hình ngay bây giờ không?"
msgid "Core service of `%s' ready.\n"
msgstr "Không gian tên « %s » có đánh giá %d.\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr "# các byte đã mã hoá"
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr "# các byte đã giải mã"
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
#, fuzzy
msgid "# PAYLOAD dropped (out of order)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
#, fuzzy
msgid "# PING messages transmitted"
msgstr "# các thông báo PING được tạo"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
#, fuzzy
msgid "# duplicate ephemeral keys ignored"
msgstr "# các thông báo phát hiện dht được nhận"
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
#, fuzzy
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr "# các thông báo được chắp liền"
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
#, fuzzy
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr "# các thông báo được chắp liền"
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "# các thông báo phát hiện dht được nhận"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
#, fuzzy
msgid "# PING messages received"
msgstr "# các thông báo PING được tạo"
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
#, fuzzy
msgid "# PING messages dropped (out of order)"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
#, fuzzy
msgid "# PONG messages created"
msgstr "# các thông báo PING được tạo"
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
#, fuzzy
msgid "# sessions terminated by timeout"
msgstr "# các byte loại đi bởi TCP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
#, fuzzy
msgid "# keepalive messages sent"
msgstr "# các thông báo PING nhập thô được gửi"
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
#, fuzzy
msgid "# PONG messages received"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
#, fuzzy
msgid "# PONG messages dropped (connection down)"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
#, fuzzy
msgid "# PONG messages dropped (out of order)"
msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải"
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
#, fuzzy
msgid "# PONG messages decrypted"
msgstr "# các thông báo PING được tạo"
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
#, fuzzy
msgid "# session keys confirmed via PONG"
msgstr "# Các quảng cáo đồng đẳng được xác nhận qua PONG"
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
#, fuzzy
msgid "# timeouts prevented via PONG"
msgstr "# các byte đã nhận qua TCP"
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
#, fuzzy
msgid "# rekey operations confirmed via PONG"
msgstr "# Các quảng cáo đồng đẳng được xác nhận qua PONG"
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
#, fuzzy
msgid "# DATA message dropped (out of order)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
#, fuzzy
msgid "# sessions terminated by key expiration"
msgstr "# các byte loại đi bởi TCP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
#, fuzzy
msgid "# bytes dropped (duplicates)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
#, fuzzy
msgid "# bytes dropped (out of sequence)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
#, fuzzy
msgid "# bytes dropped (ancient message)"
msgstr "# các byte loại bỏ bởi UDP (đi ra)"
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
#, fuzzy
msgid "# bytes of payload decrypted"
msgstr "# các byte đã giải mã"
@@ -3196,18 +3200,18 @@ msgstr "Có dấu nháy kép thừa hay thiếu.\n"
msgid "Failed to load state: %s\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, fuzzy, c-format
msgid "Failed to save state to file %s\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, fuzzy, c-format
msgid "Publishing `%s'\n"
msgstr "Gặp lỗi khi tải lên tập tin: %s\n"
@@ -4067,40 +4071,40 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
#, fuzzy
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, fuzzy, c-format
msgid "Received malformed DNS request from %s\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, fuzzy, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr "Nhận yêu cầu định tuyến\n"
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
#, fuzzy
msgid "No DNS server specified!\n"
msgstr "Chưa ghi rõ từ khoá.\n"
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -4241,7 +4245,7 @@ msgstr "Không thể lưu tập tin cấu hình « %s »:"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
#, fuzzy
msgid "Failed to pass client to MHD\n"
msgstr "Lỗi kết nối đến gnunetd.\n"
@@ -4398,7 +4402,7 @@ msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
msgid "Unable to parse BOX record string `%s'\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
#, fuzzy
msgid "Gns REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -4602,7 +4606,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr "# các HELLO tải xuống qua HTTP"
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4653,7 +4657,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4683,52 +4687,52 @@ msgstr "Khoá phiên chạy từ đồng đẳng « %s » không thể được
msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr "Lỗi mở tập tin theo dõi « %s »: %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
#, fuzzy
msgid "# hostlist URIs read from file"
msgstr "# các byte danh sách máy được trả về"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, fuzzy, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr "Lỗi mở tập tin theo dõi « %s »: %s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, fuzzy, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr "Đang thử tải danh sách các máy xuống « %s »\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
#, fuzzy
msgid "# hostlist URIs written to file"
msgstr "# các byte danh sách máy được trả về"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4860,48 +4864,48 @@ msgstr "Không thể tạo miền tên.\n"
msgid "Failed to set default ego: %s\n"
msgstr "Không thể tạo miền tên.\n"
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
msgid "reduce output"
msgstr ""
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
#, fuzzy
msgid "display private keys as well"
msgstr "hiển thị giá trị tổng kiểm của tập tin"
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4952,7 +4956,7 @@ msgstr "Không thể lưu tập tin cấu hình « %s »:"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
#, fuzzy
msgid "Identity REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -5002,7 +5006,7 @@ msgstr "Đối số không hợp lệ cho « %s ».\n"
msgid "You must specify a name\n"
msgstr "Phải ghi rõ tên hiệu\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -5011,7 +5015,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr "xác định mức ưu tiên của nội dung"
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
#, fuzzy
msgid "GNUnet zone manipulation tool"
msgstr "Cấu hình GNUnet"
@@ -5120,10 +5124,10 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
msgid "No options given\n"
msgstr "chưa đưa ra tên"
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, fuzzy, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
@@ -5137,53 +5141,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr "Dữ liệu nhập không hợp lệ.\n"
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, fuzzy, c-format
msgid "Unsupported type `%s'\n"
msgstr "Lệnh không được hỗ trợ « %s ». Đang hủy bỏ.\n"
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, fuzzy, c-format
msgid "Invalid time format `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, fuzzy, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "Dữ liệu nhập không hợp lệ.\n"
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -5191,102 +5195,102 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, fuzzy, c-format
msgid "Cannot connect to identity service\n"
msgstr "Không thể kết nối tới %s:%u: %s\n"
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, fuzzy, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "Không rõ câu lệnh « %s ».\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
#, fuzzy
msgid "set the desired nick name for the zone"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
#, fuzzy
msgid "monitor changes in the namestore"
msgstr "Không kết nối được đến trình nền gnunetd."
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
#, fuzzy
msgid "determine our name for the given PKEY"
msgstr "In ra thông tin về các đồng đẳng GNUnet."
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
msgid "name of the ego controlling the zone"
msgstr ""
@@ -5386,7 +5390,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr "kho dữ liệu sqlite"
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
#, fuzzy
msgid "Namestore REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -5660,7 +5664,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, fuzzy, c-format
msgid "Failed to start %s\n"
msgstr "Lỗi bắt đầu thu thập.\n"
@@ -5669,7 +5673,7 @@ msgstr "Lỗi bắt đầu thu thập.\n"
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr ""
@@ -5704,8 +5708,8 @@ msgstr ""
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:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
#, fuzzy
msgid "Value is too large.\n"
msgstr "Giá trị không nằm trong phạm vi được phép."
@@ -5780,7 +5784,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "Lỗi đóng kết đến cổng %s %d.\n"
@@ -5861,7 +5865,7 @@ msgstr "Đang nạp các truyền tải « %s »\n"
msgid "Failed to load transport plugin for `%s'\n"
msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
#, fuzzy
msgid "Peerinfo REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -5976,97 +5980,101 @@ msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, fuzzy, c-format
msgid "Ego is required\n"
msgstr "Bị từ chối đặt tùy chọn « %s » trong phần « %s » thành « %s ».\n"
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, fuzzy, c-format
msgid "Requesting party key is required!\n"
msgstr "đặt tên hiệu cần dùng (cần thiết)"
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
#, fuzzy
msgid "The EGO to use"
msgstr "kích cỡ tin nhắn"
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
#, fuzzy
msgid "OpenID Connect REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
#, fuzzy
msgid "Identity Provider REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "Lỗi bắt đầu thu thập.\n"
@@ -6160,17 +6168,17 @@ msgstr "« %s » không phải là một tập tin.\n"
msgid "Search string `%s' is too long!\n"
msgstr "« %s » không phải là một tập tin.\n"
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
#, fuzzy
msgid "GNUnet REST server"
msgstr "Bản ghi lỗi GNUnet"
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
#, fuzzy
msgid "CONFIG REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
#, fuzzy
msgid "COPYING REST API initialized\n"
msgstr "Lỗi sơ khởi lõi.\n"
@@ -6307,26 +6315,26 @@ msgstr "# các yêu cầu danh sách máy được nhận"
msgid "# revocation messages received via set union"
msgstr "# các thông báo PONG đã mật mã được nhận"
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
#, fuzzy
msgid "# revocation set unions failed"
msgstr "# các khoá phiên chạy được chấp nhận"
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
#, fuzzy
msgid "# revocation set unions completed"
msgstr "# các sự truyền PONG bị lỗi"
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
#, fuzzy
msgid "Could not open revocation database file!"
msgstr "« %s »: Không thể kết nối.\n"
@@ -6417,10 +6425,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
#, fuzzy
msgid "Connect to CADET failed\n"
msgstr " Không kết nối được (lỗi ?)\n"
@@ -6445,53 +6453,64 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "Không thể kết nối tới %s:%u: %s\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
#, fuzzy
msgid "number of element in set A-B"
msgstr "số lần lặp lại"
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
#, fuzzy
msgid "number of element in set B-A"
msgstr "số lần lặp lại"
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr ""
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6506,12 +6525,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "« %s » không giải quyết được phương pháp « %s », với lỗi: %s\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, fuzzy, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr "Đã tải %llu byte xuống « %s ».\n"
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, fuzzy, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr "Đã tải %llu byte xuống « %s ».\n"
@@ -6694,7 +6713,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6951,58 +6970,58 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, fuzzy, c-format
msgid "Key number %u does not exist\n"
msgstr "đặt số trình nền cần khởi chạy"
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, fuzzy, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr "Lỗi sơ khởi dịch vụ « %s ».\n"
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr ""
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
#, fuzzy
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr "Không thể truy cập đến thông tin về không gian tên.\n"
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, fuzzy, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr "Không thể đọc danh sách bạn bè « %s »\n"
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, fuzzy, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr "Lỗi tạo thư mục tạm thời."
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, fuzzy, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr "Không thể lưu tập tin cấu hình « %s »:"
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, fuzzy, c-format
msgid "Failed to start `%s': %s\n"
msgstr "Lỗi chạy %s: %s %d\n"
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, fuzzy, c-format
msgid "Failed to load configuration from %s\n"
msgstr "Không thể lưu tập tin cấu hình « %s »:"
@@ -7087,40 +7106,40 @@ msgstr "# các thông báo PONG đã mật mã được nhận"
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "Lưu cấu hình ngay bây giờ không?"
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
#, fuzzy
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr "tăng sổ tối đa các kết nối TCP/IP"
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
#, fuzzy
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr "Lưu cấu hình ngay bây giờ không?"
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, fuzzy, c-format
msgid "Cannot create path to `%s'\n"
msgstr "Không thể tạo miền tên.\n"
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -8221,7 +8240,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, fuzzy, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -8264,7 +8283,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr "Đối số không hợp lệ cho « %s ».\n"
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -8283,7 +8302,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -8297,25 +8316,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "Lỗi lấy thông kê về truyền tải.\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "Gặp lỗi khi tải xuống: %s\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, fuzzy, c-format
msgid "Invalid handle type while writing `%s'"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "Lỗi lấy thông kê về truyền tải.\n"
@@ -8808,15 +8827,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8828,28 +8847,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
#, fuzzy
msgid "Manipulate GNUnet proof of work files"
msgstr "cập nhật một giá trị trong tập tin cấu hình"
@@ -8863,7 +8882,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8877,7 +8896,7 @@ msgstr "Gặp lỗi khi tạo người dùng"
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, fuzzy, c-format
msgid "Error writing to `%s': %s\n"
msgstr "Gặp lỗi khi tạo người dùng"
@@ -9005,119 +9024,119 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "b"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr ""
"Lỗi mở rộng biến môi trường « $HOME »: chưa đặt biến môi trường « HOME »"
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr ""
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr ""
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "mg"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "g"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "p"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "g"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
#, fuzzy
msgid "day"
msgstr " ngày"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
#, fuzzy
msgid "days"
msgstr " ngày"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n"
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "Lỗi bắt đầu thu thập.\n"
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "Ký hiệu mạng sai (« /%d » không hợp lệ trong CIDR IPv4)."
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "Địa chỉ IP định dạng sai: %s\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "Ký hiệu mạng sai (không kết thúc với « ; »: « %s »)\n"
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, fuzzy, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "Mặt nạ mạng có định dạng sai « %s »: %s\n"
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, fuzzy, c-format
msgid "Wrong format `%s' for network\n"
msgstr "Mạng có định dạng sai « %s »: %s\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c944b5cb7..dec62e27f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnunet-0.8.1\n"
"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
-"POT-Creation-Date: 2020-07-07 12:22+0200\n"
+"POT-Creation-Date: 2020-09-06 10:07+0200\n"
"PO-Revision-Date: 2011-07-09 12:12+0800\n"
"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -16,12 +16,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1302
+#: src/abd/gnunet-abd.c:397 src/namestore/gnunet-namestore.c:1303
#, c-format
msgid "Ego `%s' not known to identity service\n"
msgstr ""
-#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:896
+#: src/abd/gnunet-abd.c:413 src/abd/gnunet-abd.c:901
#, fuzzy, c-format
msgid "Issuer public key `%s' is not well-formed\n"
msgstr "“%s”的参数无效。\n"
@@ -33,107 +33,107 @@ msgstr "“%s”的参数无效。\n"
msgid "Failed to connect to namestore\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/abd/gnunet-abd.c:835 src/abd/gnunet-abd.c:886
+#: src/abd/gnunet-abd.c:840 src/abd/gnunet-abd.c:891
#, fuzzy, c-format
msgid "Issuer public key not well-formed\n"
msgstr "“%s”的参数无效。\n"
-#: src/abd/gnunet-abd.c:844 src/abd/gnunet-abd.c:905
+#: src/abd/gnunet-abd.c:849 src/abd/gnunet-abd.c:910
#, fuzzy, c-format
msgid "Failed to connect to ABD\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/abd/gnunet-abd.c:850
+#: src/abd/gnunet-abd.c:855
#, c-format
msgid "You must provide issuer the attribute\n"
msgstr ""
-#: src/abd/gnunet-abd.c:857
+#: src/abd/gnunet-abd.c:862
#, c-format
msgid "ego required\n"
msgstr ""
-#: src/abd/gnunet-abd.c:867
+#: src/abd/gnunet-abd.c:872
#, c-format
msgid "Subject public key needed\n"
msgstr ""
-#: src/abd/gnunet-abd.c:876
+#: src/abd/gnunet-abd.c:881
#, fuzzy, c-format
msgid "Subject public key `%s' is not well-formed\n"
msgstr "“%s”的参数无效。\n"
-#: src/abd/gnunet-abd.c:911
+#: src/abd/gnunet-abd.c:916
#, c-format
msgid "You must provide issuer and subject attributes\n"
msgstr ""
-#: src/abd/gnunet-abd.c:970
+#: src/abd/gnunet-abd.c:975
#, c-format
msgid "Please specify name to lookup, subject key and issuer key!\n"
msgstr ""
-#: src/abd/gnunet-abd.c:991
+#: src/abd/gnunet-abd.c:996
msgid "verify credential against attribute"
msgstr ""
-#: src/abd/gnunet-abd.c:998
+#: src/abd/gnunet-abd.c:1003
msgid ""
"The public key of the subject to lookup thecredential for, or for issuer "
"side storage: subject and its attributes"
msgstr ""
-#: src/abd/gnunet-abd.c:1005
+#: src/abd/gnunet-abd.c:1010
msgid "The private, signed delegate presented by the subject"
msgstr ""
-#: src/abd/gnunet-abd.c:1012
+#: src/abd/gnunet-abd.c:1017
msgid "The public key of the authority to verify the credential against"
msgstr ""
-#: src/abd/gnunet-abd.c:1017
+#: src/abd/gnunet-abd.c:1022
#, fuzzy
msgid "The ego/zone name to use"
msgstr "消息尺寸"
-#: src/abd/gnunet-abd.c:1023
+#: src/abd/gnunet-abd.c:1028
msgid "The issuer attribute to verify against or to issue"
msgstr ""
-#: src/abd/gnunet-abd.c:1029
+#: src/abd/gnunet-abd.c:1034
msgid ""
"The time to live for the credential.e.g. 5m, 6h, \"1990-12-30 12:00:00\""
msgstr ""
-#: src/abd/gnunet-abd.c:1034
+#: src/abd/gnunet-abd.c:1039
msgid "collect credentials"
msgstr ""
-#: src/abd/gnunet-abd.c:1039
+#: src/abd/gnunet-abd.c:1044
msgid "Create and issue a credential issuer side."
msgstr ""
-#: src/abd/gnunet-abd.c:1044
+#: src/abd/gnunet-abd.c:1049
msgid "Issue a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1049
+#: src/abd/gnunet-abd.c:1054
msgid "Create, sign and return a credential subject side."
msgstr ""
-#: src/abd/gnunet-abd.c:1056
+#: src/abd/gnunet-abd.c:1061
msgid "Import signed credentials that should be issued to a zone/ego"
msgstr ""
-#: src/abd/gnunet-abd.c:1060
+#: src/abd/gnunet-abd.c:1065
msgid "Create private record entry."
msgstr ""
-#: src/abd/gnunet-abd.c:1066 src/abd/gnunet-abd.c:1072
+#: src/abd/gnunet-abd.c:1071 src/abd/gnunet-abd.c:1077
msgid "Indicates that the collect/verify process is done via forward search."
msgstr ""
-#: src/abd/gnunet-abd.c:1085
+#: src/abd/gnunet-abd.c:1090
#, fuzzy
msgid "GNUnet abd resolver tool"
msgstr "GNUnet 错误日志"
@@ -427,65 +427,65 @@ msgstr "打开日志文件“%s”失败:%s\n"
msgid "Failed to find %saddress for `%s'.\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/arm/gnunet-service-arm.c:933
+#: src/arm/gnunet-service-arm.c:951
#, fuzzy, c-format
msgid "Failed to start service `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/arm/gnunet-service-arm.c:944
+#: src/arm/gnunet-service-arm.c:962
#, c-format
msgid "Starting service `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1044
+#: src/arm/gnunet-service-arm.c:1062
#, fuzzy, c-format
msgid "Unable to create socket for service `%s': %s\n"
msgstr "无法创建用户账户:"
-#: src/arm/gnunet-service-arm.c:1075
+#: src/arm/gnunet-service-arm.c:1093
#, c-format
msgid "Unable to bind listening socket for service `%s' to address `%s': %s\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1106
+#: src/arm/gnunet-service-arm.c:1124
#, c-format
msgid "ARM now monitors connections to service `%s' at `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1254
+#: src/arm/gnunet-service-arm.c:1272
#, c-format
msgid "Preparing to stop `%s'\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1586
+#: src/arm/gnunet-service-arm.c:1604
#, c-format
msgid "Restarting service `%s'.\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1737
+#: src/arm/gnunet-service-arm.c:1755
msgid "exit"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1742
+#: src/arm/gnunet-service-arm.c:1760
msgid "signal"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1747
+#: src/arm/gnunet-service-arm.c:1765
#, fuzzy
msgid "unknown"
msgstr "未知错误"
-#: src/arm/gnunet-service-arm.c:1753
+#: src/arm/gnunet-service-arm.c:1771
#, fuzzy, c-format
msgid "Service `%s' took %s to terminate\n"
msgstr "服务已删除。\n"
-#: src/arm/gnunet-service-arm.c:1780
+#: src/arm/gnunet-service-arm.c:1798
#, c-format
msgid "Service `%s' terminated normally, will restart at any time\n"
msgstr ""
-#: src/arm/gnunet-service-arm.c:1797
+#: src/arm/gnunet-service-arm.c:1815
#, c-format
msgid "Service `%s' terminated with status %s/%d, will restart in %s\n"
msgstr ""
@@ -819,7 +819,10 @@ msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:543
#: src/set/gnunet-set-profiler.c:451 src/set/gnunet-set-profiler.c:457
-#: src/set/gnunet-set-profiler.c:480
+#: src/set/gnunet-set-profiler.c:480 src/seti/gnunet-seti-profiler.c:441
+#: src/seti/gnunet-seti-profiler.c:446 src/seti/gnunet-seti-profiler.c:451
+#: src/setu/gnunet-setu-profiler.c:442 src/setu/gnunet-setu-profiler.c:448
+#: src/setu/gnunet-setu-profiler.c:471
#, fuzzy
msgid "number of values"
msgstr "迭代次数"
@@ -833,7 +836,8 @@ msgid "delay until consensus starts"
msgstr ""
#: src/consensus/gnunet-consensus-profiler.c:563
-#: src/set/gnunet-set-profiler.c:498
+#: src/set/gnunet-set-profiler.c:498 src/seti/gnunet-seti-profiler.c:467
+#: src/setu/gnunet-setu-profiler.c:489
msgid "write statistics to file"
msgstr ""
@@ -1375,137 +1379,137 @@ msgstr "立即保存配置?"
msgid "Core service of `%s' ready.\n"
msgstr "服务已删除。\n"
-#: src/core/gnunet-service-core_kx.c:625
+#: src/core/gnunet-service-core_kx.c:512
msgid "# bytes encrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:683
+#: src/core/gnunet-service-core_kx.c:570
msgid "# bytes decrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:780
+#: src/core/gnunet-service-core_kx.c:667
msgid "# PAYLOAD dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:832
+#: src/core/gnunet-service-core_kx.c:719
msgid "# key exchanges initiated"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:888
+#: src/core/gnunet-service-core_kx.c:775
msgid "# key exchanges stopped"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:920
+#: src/core/gnunet-service-core_kx.c:807
#, fuzzy
msgid "# PING messages transmitted"
msgstr "消息尺寸"
-#: src/core/gnunet-service-core_kx.c:979
+#: src/core/gnunet-service-core_kx.c:866
msgid "# old ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:993
+#: src/core/gnunet-service-core_kx.c:880
msgid "# duplicate ephemeral keys ignored"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1028
+#: src/core/gnunet-service-core_kx.c:915
msgid "# EPHEMERAL_KEYs rejected (bad signature)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1046
+#: src/core/gnunet-service-core_kx.c:933
#, c-format
msgid ""
"EPHEMERAL_KEY from peer `%s' rejected as its validity range does not match "
"our system time (%llu not in [%llu,%llu]).\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1053
+#: src/core/gnunet-service-core_kx.c:940
msgid "# EPHEMERAL_KEY messages rejected due to time"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1071
+#: src/core/gnunet-service-core_kx.c:958
#, fuzzy
msgid "# valid ephemeral keys received"
msgstr "保存配置失败。"
-#: src/core/gnunet-service-core_kx.c:1180
+#: src/core/gnunet-service-core_kx.c:1067
#: src/transport/gnunet-service-transport_validation.c:1133
msgid "# PING messages received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1190
+#: src/core/gnunet-service-core_kx.c:1077
msgid "# PING messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1239
+#: src/core/gnunet-service-core_kx.c:1126
msgid "# PONG messages created"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1264
+#: src/core/gnunet-service-core_kx.c:1151
msgid "# sessions terminated by timeout"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1277
+#: src/core/gnunet-service-core_kx.c:1164
msgid "# keepalive messages sent"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1334
+#: src/core/gnunet-service-core_kx.c:1221
#: src/transport/gnunet-service-transport_validation.c:1476
msgid "# PONG messages received"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1342
+#: src/core/gnunet-service-core_kx.c:1229
msgid "# PONG messages dropped (connection down)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1350
+#: src/core/gnunet-service-core_kx.c:1237
msgid "# PONG messages dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1389
+#: src/core/gnunet-service-core_kx.c:1276
msgid "# PONG messages decrypted"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1429
+#: src/core/gnunet-service-core_kx.c:1316
msgid "# session keys confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1441
+#: src/core/gnunet-service-core_kx.c:1328
msgid "# timeouts prevented via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1450
+#: src/core/gnunet-service-core_kx.c:1337
msgid "# rekey operations confirmed via PONG"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1626
+#: src/core/gnunet-service-core_kx.c:1513
msgid "# DATA message dropped (out of order)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1637
+#: src/core/gnunet-service-core_kx.c:1524
#, c-format
msgid ""
"Session to peer `%s' went down due to key expiration (should not happen)\n"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1641
+#: src/core/gnunet-service-core_kx.c:1528
msgid "# sessions terminated by key expiration"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1719
-#: src/core/gnunet-service-core_kx.c:1746
+#: src/core/gnunet-service-core_kx.c:1606
+#: src/core/gnunet-service-core_kx.c:1633
msgid "# bytes dropped (duplicates)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1732
+#: src/core/gnunet-service-core_kx.c:1619
msgid "# bytes dropped (out of sequence)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1777
+#: src/core/gnunet-service-core_kx.c:1664
msgid "# bytes dropped (ancient message)"
msgstr ""
-#: src/core/gnunet-service-core_kx.c:1786
+#: src/core/gnunet-service-core_kx.c:1673
msgid "# bytes of payload decrypted"
msgstr ""
@@ -3063,18 +3067,18 @@ msgstr ""
msgid "Failed to load state: %s\n"
msgstr "运行 %s失败:%s %d\n"
-#: src/fs/gnunet-auto-share.c:286 src/fs/gnunet-auto-share.c:295
-#: src/fs/gnunet-auto-share.c:303
+#: src/fs/gnunet-auto-share.c:287 src/fs/gnunet-auto-share.c:296
+#: src/fs/gnunet-auto-share.c:304
#, fuzzy, c-format
msgid "Failed to save state to file %s\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/fs/gnunet-auto-share.c:400
+#: src/fs/gnunet-auto-share.c:401
#, c-format
msgid "Publication of `%s' done\n"
msgstr ""
-#: src/fs/gnunet-auto-share.c:479
+#: src/fs/gnunet-auto-share.c:480
#, c-format
msgid "Publishing `%s'\n"
msgstr ""
@@ -3874,39 +3878,39 @@ msgstr ""
msgid "GNUnet HTTP server to create business cards"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:239
+#: src/gns/gnunet-dns2gns.c:241
#, fuzzy
msgid "Failed to pack DNS response into UDP packet!\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/gns/gnunet-dns2gns.c:442
+#: src/gns/gnunet-dns2gns.c:444
#, c-format
msgid "Cannot parse DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:458
+#: src/gns/gnunet-dns2gns.c:460
#, c-format
msgid "Received malformed DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:466
+#: src/gns/gnunet-dns2gns.c:468
#, c-format
msgid "Received unsupported DNS request from %s\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:627
+#: src/gns/gnunet-dns2gns.c:629
msgid "No DNS server specified!\n"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:776
+#: src/gns/gnunet-dns2gns.c:778
msgid "IP of recursive DNS resolver to use (required)"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:782
+#: src/gns/gnunet-dns2gns.c:784
msgid "UDP port to listen on for inbound DNS requests; default: 2853"
msgstr ""
-#: src/gns/gnunet-dns2gns.c:799
+#: src/gns/gnunet-dns2gns.c:801
msgid "GNUnet DNS-to-GNS proxy (a DNS server)"
msgstr ""
@@ -4045,7 +4049,7 @@ msgstr "无法保存配置文件“%s”:"
msgid "Failed to start HTTPS server for `%s'\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:713
+#: src/gns/gnunet-gns-proxy.c:2922 src/rest/gnunet-rest-server.c:917
#, fuzzy
msgid "Failed to pass client to MHD\n"
msgstr "初始化“%s”服务失败。\n"
@@ -4201,7 +4205,7 @@ msgstr "解析配置文件“%s”失败\n"
msgid "Unable to parse BOX record string `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/gns/plugin_rest_gns.c:445
+#: src/gns/plugin_rest_gns.c:447
msgid "Gns REST API initialized\n"
msgstr ""
@@ -4397,7 +4401,7 @@ msgid "# valid HELLOs downloaded from hostlist servers"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:677
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1459
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1460
msgid "# advertised hostlist URIs"
msgstr ""
@@ -4448,7 +4452,7 @@ msgid "# hostlist downloads initiated"
msgstr ""
#: src/hostlist/gnunet-daemon-hostlist_client.c:1144
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1726
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1728
msgid "# milliseconds between hostlist downloads"
msgstr ""
@@ -4477,50 +4481,50 @@ msgstr ""
msgid "Could not open file `%s' for reading to load hostlists: %s\n"
msgstr "无法解析“%s”来确定已方的 IP 地址:%s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1452
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1453
#, c-format
msgid "%u hostlist URIs loaded from file\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1455
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1456
msgid "# hostlist URIs read from file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1506
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1507
#, fuzzy, c-format
msgid "Could not open file `%s' for writing to save hostlists: %s\n"
msgstr "无法解析“%s”来确定已方的 IP 地址:%s\n"
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1513
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1514
#, c-format
msgid "Writing %u hostlist URIs to `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1545
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1564
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1547
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1566
#, c-format
msgid "Error writing hostlist URIs to file `%s'\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1558
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1560
msgid "# hostlist URIs written to file"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1655
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1657
#: src/transport/plugin_transport_http_client.c:2301
#, c-format
msgid "Invalid proxy type: `%s', disabling proxy! Check configuration!\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1684
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1686
msgid "Learning is enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1697
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1699
msgid "Learning is not enabled on this peer\n"
msgstr ""
-#: src/hostlist/gnunet-daemon-hostlist_client.c:1711
+#: src/hostlist/gnunet-daemon-hostlist_client.c:1713
#, c-format
msgid ""
"Since learning is not enabled on this peer, hostlist file `%s' was removed\n"
@@ -4644,48 +4648,48 @@ msgstr "发送消息失败。\n"
msgid "Failed to set default ego: %s\n"
msgstr "发送消息失败。\n"
-#: src/identity/gnunet-identity.c:445
+#: src/identity/gnunet-identity.c:446
msgid "create ego NAME"
msgstr ""
-#: src/identity/gnunet-identity.c:450
+#: src/identity/gnunet-identity.c:451
msgid "delete ego NAME "
msgstr ""
-#: src/identity/gnunet-identity.c:455
+#: src/identity/gnunet-identity.c:457
msgid ""
"set the private key for the identity to PRIVATE_KEY (use together with -C)"
msgstr ""
-#: src/identity/gnunet-identity.c:459
+#: src/identity/gnunet-identity.c:461
msgid "display all egos"
msgstr ""
-#: src/identity/gnunet-identity.c:463
+#: src/identity/gnunet-identity.c:465
msgid "reduce output"
msgstr ""
-#: src/identity/gnunet-identity.c:470
+#: src/identity/gnunet-identity.c:472
msgid ""
"set default identity to NAME for a subsystem SUBSYSTEM (use together with -"
"s) or restrict results to NAME (use together with -d)"
msgstr ""
-#: src/identity/gnunet-identity.c:474
+#: src/identity/gnunet-identity.c:476
msgid "run in monitor mode egos"
msgstr ""
-#: src/identity/gnunet-identity.c:478
+#: src/identity/gnunet-identity.c:480
#, fuzzy
msgid "display private keys as well"
msgstr "显示一个文件的散列值"
-#: src/identity/gnunet-identity.c:485
+#: src/identity/gnunet-identity.c:487
msgid ""
"set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"
msgstr ""
-#: src/identity/gnunet-identity.c:500
+#: src/identity/gnunet-identity.c:502
msgid "Maintain egos"
msgstr ""
@@ -4736,7 +4740,7 @@ msgstr "解析配置文件“%s”失败\n"
msgid "Failed to create directory `%s' for storing egos\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/identity/plugin_rest_identity.c:1406
+#: src/identity/plugin_rest_identity.c:1384
msgid "Identity REST API initialized\n"
msgstr ""
@@ -4785,7 +4789,7 @@ msgstr "“%s”的参数无效。\n"
msgid "You must specify a name\n"
msgstr "您必须指定一个接收方!\n"
-#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1639
+#: src/namecache/gnunet-namecache.c:214 src/namestore/gnunet-namestore.c:1640
msgid "name of the record to add/delete/display"
msgstr ""
@@ -4793,7 +4797,7 @@ msgstr ""
msgid "specifies the public key of the zone to look in"
msgstr ""
-#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1700
+#: src/namecache/gnunet-namecache.c:233 src/namestore/gnunet-namestore.c:1701
#, fuzzy
msgid "GNUnet zone manipulation tool"
msgstr "GNUnet 配置"
@@ -4902,10 +4906,10 @@ msgstr "打开日志文件“%s”失败:%s\n"
msgid "No options given\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1065
-#: src/namestore/gnunet-namestore.c:1075 src/namestore/gnunet-namestore.c:1104
-#: src/namestore/gnunet-namestore.c:1125 src/namestore/gnunet-namestore.c:1152
-#: src/namestore/gnunet-namestore.c:1228
+#: src/namestore/gnunet-namestore.c:1014 src/namestore/gnunet-namestore.c:1066
+#: src/namestore/gnunet-namestore.c:1076 src/namestore/gnunet-namestore.c:1105
+#: src/namestore/gnunet-namestore.c:1126 src/namestore/gnunet-namestore.c:1153
+#: src/namestore/gnunet-namestore.c:1229
#, fuzzy, c-format
msgid "Missing option `%s' for operation `%s'\n"
msgstr "配置文件“%s”已写入。\n"
@@ -4919,53 +4923,53 @@ msgstr ""
msgid "Invalid nick `%s'\n"
msgstr "无效条目。\n"
-#: src/namestore/gnunet-namestore.c:1067 src/namestore/gnunet-namestore.c:1077
-#: src/namestore/gnunet-namestore.c:1106 src/namestore/gnunet-namestore.c:1127
-#: src/namestore/gnunet-namestore.c:1230
+#: src/namestore/gnunet-namestore.c:1068 src/namestore/gnunet-namestore.c:1078
+#: src/namestore/gnunet-namestore.c:1107 src/namestore/gnunet-namestore.c:1128
+#: src/namestore/gnunet-namestore.c:1231
msgid "add"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1085
+#: src/namestore/gnunet-namestore.c:1086
#, fuzzy, c-format
msgid "Unsupported type `%s'\n"
msgstr "未知的命令“%s”。\n"
-#: src/namestore/gnunet-namestore.c:1095
+#: src/namestore/gnunet-namestore.c:1096
#, c-format
msgid "For DNS record types `SRV', `TLSA' and `OPENPGPKEY'"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1115
+#: src/namestore/gnunet-namestore.c:1116
#, c-format
msgid "Value `%s' invalid for record type `%s'\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1134 src/namestore/gnunet-namestore.c:1237
+#: src/namestore/gnunet-namestore.c:1135 src/namestore/gnunet-namestore.c:1238
#, fuzzy, c-format
msgid "Invalid time format `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/namestore/gnunet-namestore.c:1154
+#: src/namestore/gnunet-namestore.c:1155
msgid "del"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1197
+#: src/namestore/gnunet-namestore.c:1198
#, fuzzy, c-format
msgid "Invalid public key for reverse lookup `%s'\n"
msgstr "“%s”的参数无效。\n"
-#: src/namestore/gnunet-namestore.c:1220
+#: src/namestore/gnunet-namestore.c:1221
#: src/peerinfo-tool/gnunet-peerinfo.c:736
#, fuzzy, c-format
msgid "Invalid URI `%s'\n"
msgstr "无效条目。\n"
-#: src/namestore/gnunet-namestore.c:1290
+#: src/namestore/gnunet-namestore.c:1291
#, c-format
msgid "Label `%s' contains `.' which is not allowed\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1340
+#: src/namestore/gnunet-namestore.c:1341
#, c-format
msgid ""
"No default identity configured for `namestore' subsystem\n"
@@ -4973,102 +4977,102 @@ msgid ""
"Run gnunet-identity -d to get a list of choices for $NAME\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1405
+#: src/namestore/gnunet-namestore.c:1406
#, c-format
msgid "Superfluous command line arguments (starting with `%s') ignored\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1434
+#: src/namestore/gnunet-namestore.c:1435
#, fuzzy, c-format
msgid "Cannot connect to identity service\n"
msgstr "无法连接到 %s:%u:%s\n"
-#: src/namestore/gnunet-namestore.c:1481
+#: src/namestore/gnunet-namestore.c:1482
msgid "Empty record line argument is not allowed.\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1493
+#: src/namestore/gnunet-namestore.c:1494
#, c-format
msgid "Invalid expiration time `%s' (must be without unit)\n"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1505 src/namestore/gnunet-namestore.c:1521
-#: src/namestore/gnunet-namestore.c:1538
+#: src/namestore/gnunet-namestore.c:1506 src/namestore/gnunet-namestore.c:1522
+#: src/namestore/gnunet-namestore.c:1539
#, fuzzy, c-format
msgid "Missing entries in record line `%s'.\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/namestore/gnunet-namestore.c:1513
+#: src/namestore/gnunet-namestore.c:1514
#, fuzzy, c-format
msgid "Unknown record type `%s'\n"
msgstr "未知的命令“%s”。\n"
-#: src/namestore/gnunet-namestore.c:1551
+#: src/namestore/gnunet-namestore.c:1552
#, fuzzy, c-format
msgid "Invalid record data for type %s: `%s'.\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/namestore/gnunet-namestore.c:1608
+#: src/namestore/gnunet-namestore.c:1609
msgid "add record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1611
+#: src/namestore/gnunet-namestore.c:1612
msgid "delete record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1615
+#: src/namestore/gnunet-namestore.c:1616
msgid "display records"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1622
+#: src/namestore/gnunet-namestore.c:1623
msgid ""
"expiration time for record to use (for adding only), \"never\" is possible"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1628
+#: src/namestore/gnunet-namestore.c:1629
#, fuzzy
msgid "set the desired nick name for the zone"
msgstr "无法获取有关用户“%s”的信息:%s\n"
-#: src/namestore/gnunet-namestore.c:1633
+#: src/namestore/gnunet-namestore.c:1634
#, fuzzy
msgid "monitor changes in the namestore"
msgstr "初始化“%s”服务失败。\n"
-#: src/namestore/gnunet-namestore.c:1645
+#: src/namestore/gnunet-namestore.c:1646
#, fuzzy
msgid "determine our name for the given PKEY"
msgstr "无法获取有关用户“%s”的信息:%s\n"
-#: src/namestore/gnunet-namestore.c:1652
+#: src/namestore/gnunet-namestore.c:1653
msgid ""
"set record set to values given by (possibly multiple) RECORDLINES; can be "
"specified multiple times"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1658
+#: src/namestore/gnunet-namestore.c:1659
msgid "type of the record to add/delete/display"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1663
+#: src/namestore/gnunet-namestore.c:1664
msgid "URI to import into our zone"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1669
+#: src/namestore/gnunet-namestore.c:1670
msgid "value of the record to add/delete"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1673
+#: src/namestore/gnunet-namestore.c:1674
msgid "create or list public record"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1679
+#: src/namestore/gnunet-namestore.c:1680
msgid ""
"create shadow record (only valid if all other records of the same type have "
"expired"
msgstr ""
-#: src/namestore/gnunet-namestore.c:1685
+#: src/namestore/gnunet-namestore.c:1686
msgid "name of the ego controlling the zone"
msgstr ""
@@ -5168,7 +5172,7 @@ msgstr ""
msgid "Flat file database running\n"
msgstr "sqlite 数据仓库"
-#: src/namestore/plugin_rest_namestore.c:1093
+#: src/namestore/plugin_rest_namestore.c:1103
msgid "Namestore REST API initialized\n"
msgstr ""
@@ -5438,7 +5442,7 @@ msgstr ""
msgid "gnunet-helper-nat-server generated malformed address `%s'\n"
msgstr ""
-#: src/nat/gnunet-service-nat_helper.c:250
+#: src/nat/gnunet-service-nat_helper.c:249
#, fuzzy, c-format
msgid "Failed to start %s\n"
msgstr "运行 %s失败:%s %d\n"
@@ -5447,7 +5451,7 @@ msgstr "运行 %s失败:%s %d\n"
msgid "`external-ip' command not found\n"
msgstr ""
-#: src/nat/gnunet-service-nat_mini.c:608
+#: src/nat/gnunet-service-nat_mini.c:607
msgid "`upnpc' command not found\n"
msgstr ""
@@ -5480,8 +5484,8 @@ msgstr ""
msgid "Measure quality and performance of the NSE service."
msgstr "无法访问该服务"
-#: src/nse/gnunet-service-nse.c:1438
-#: src/revocation/gnunet-service-revocation.c:842 src/util/gnunet-scrypt.c:250
+#: src/nse/gnunet-service-nse.c:1443
+#: src/revocation/gnunet-service-revocation.c:834 src/util/gnunet-scrypt.c:257
#, fuzzy
msgid "Value is too large.\n"
msgstr "值不在合法范围内。"
@@ -5551,7 +5555,7 @@ msgid "\tExpires: %s \t %s\n"
msgstr ""
#: src/peerinfo-tool/gnunet-peerinfo.c:292
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:501
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:523
#, fuzzy, c-format
msgid "Failure: Cannot convert address to string for peer `%s'\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
@@ -5632,7 +5636,7 @@ msgstr ""
msgid "Failed to load transport plugin for `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/peerinfo-tool/plugin_rest_peerinfo.c:797
+#: src/peerinfo-tool/plugin_rest_peerinfo.c:809
msgid "Peerinfo REST API initialized\n"
msgstr ""
@@ -5738,95 +5742,99 @@ msgstr "初始化“%s”服务失败。\n"
msgid "Daemon to run to perform IP protocol translation to GNUnet"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:799
+#: src/reclaim/gnunet-reclaim.c:801
#, fuzzy, c-format
msgid "Ego is required\n"
msgstr "%s:选项“%s”有歧义\n"
-#: src/reclaim/gnunet-reclaim.c:806
+#: src/reclaim/gnunet-reclaim.c:808
#, c-format
msgid "Attribute value missing!\n"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:813
+#: src/reclaim/gnunet-reclaim.c:815
#, fuzzy, c-format
msgid "Requesting party key is required!\n"
msgstr "设置要使用的昵称(必须)"
-#: src/reclaim/gnunet-reclaim.c:831
+#: src/reclaim/gnunet-reclaim.c:833
msgid "Add an attribute NAME"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:836
+#: src/reclaim/gnunet-reclaim.c:838
msgid "Delete the attribute with ID"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:841
+#: src/reclaim/gnunet-reclaim.c:843
msgid "The attribute VALUE"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:846
+#: src/reclaim/gnunet-reclaim.c:848
#, fuzzy
msgid "The EGO to use"
msgstr "消息尺寸"
-#: src/reclaim/gnunet-reclaim.c:852
+#: src/reclaim/gnunet-reclaim.c:854
msgid "Specify the relying party for issue"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:856
+#: src/reclaim/gnunet-reclaim.c:858
msgid "List attributes for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:860
-msgid "List attestations for EGO"
+#: src/reclaim/gnunet-reclaim.c:862
+msgid "List credentials for EGO"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:866
-msgid "Attestation to use for attribute"
+#: src/reclaim/gnunet-reclaim.c:868
+msgid "Credential to use for attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:871
-msgid "Attestation name"
+#: src/reclaim/gnunet-reclaim.c:873
+msgid "Credential name"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:877
+#: src/reclaim/gnunet-reclaim.c:879
msgid "Issue a ticket for a set of attributes separated by comma"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:882
+#: src/reclaim/gnunet-reclaim.c:884
msgid "Consume a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:887
+#: src/reclaim/gnunet-reclaim.c:889
msgid "Revoke a ticket"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:892
+#: src/reclaim/gnunet-reclaim.c:894
msgid "Type of attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:896
+#: src/reclaim/gnunet-reclaim.c:899
+msgid "Type of credential"
+msgstr ""
+
+#: src/reclaim/gnunet-reclaim.c:903
msgid "List tickets of ego"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:902
+#: src/reclaim/gnunet-reclaim.c:909
msgid "Expiration interval of the attribute"
msgstr ""
-#: src/reclaim/gnunet-reclaim.c:910
+#: src/reclaim/gnunet-reclaim.c:917
msgid "re:claimID command line tool"
msgstr ""
-#: src/reclaim/plugin_rest_openid_connect.c:2481
+#: src/reclaim/plugin_rest_openid_connect.c:2618
msgid "OpenID Connect REST API initialized\n"
msgstr ""
-#: src/reclaim/plugin_rest_reclaim.c:1476
+#: src/reclaim/plugin_rest_reclaim.c:1502
msgid "Identity Provider REST API initialized\n"
msgstr ""
-#: src/reclaim/reclaim_api.c:540
+#: src/reclaim/reclaim_api.c:545
#, fuzzy
msgid "failed to store record\n"
msgstr "运行 %s失败:%s %d\n"
@@ -5919,16 +5927,16 @@ msgstr "服务已删除。\n"
msgid "Search string `%s' is too long!\n"
msgstr "服务已删除。\n"
-#: src/rest/gnunet-rest-server.c:1051
+#: src/rest/gnunet-rest-server.c:1266
#, fuzzy
msgid "GNUnet REST server"
msgstr "GNUnet 错误日志"
-#: src/rest/plugin_rest_config.c:402
+#: src/rest/plugin_rest_config.c:427
msgid "CONFIG REST API initialized\n"
msgstr ""
-#: src/rest/plugin_rest_copying.c:209
+#: src/rest/plugin_rest_copying.c:211
msgid "COPYING REST API initialized\n"
msgstr ""
@@ -6061,27 +6069,27 @@ msgstr ""
msgid "# revocation messages received via set union"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:470
+#: src/revocation/gnunet-service-revocation.c:469
#, c-format
msgid "Error computing revocation set union with %s\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:474
+#: src/revocation/gnunet-service-revocation.c:473
#, fuzzy
msgid "# revocation set unions failed"
msgstr ""
"\n"
"按任意键继续\n"
-#: src/revocation/gnunet-service-revocation.c:486
+#: src/revocation/gnunet-service-revocation.c:481
msgid "# revocation set unions completed"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:526
+#: src/revocation/gnunet-service-revocation.c:519
msgid "SET service crashed, terminating revocation service\n"
msgstr ""
-#: src/revocation/gnunet-service-revocation.c:881
+#: src/revocation/gnunet-service-revocation.c:871
#, fuzzy
msgid "Could not open revocation database file!"
msgstr "无法连接到 %s:%u:%s\n"
@@ -6171,10 +6179,10 @@ msgstr ""
msgid "Calculate the Vectorproduct with a GNUnet peer."
msgstr ""
-#: 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
+#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1358
+#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1355
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1118
+#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1063
#, fuzzy
msgid "Connect to CADET failed\n"
msgstr "“%s”已连接到“%s”。\n"
@@ -6199,53 +6207,64 @@ msgstr ""
msgid "also profile decryption"
msgstr ""
-#: src/set/gnunet-service-set.c:1916
+#: src/set/gnunet-service-set.c:1916 src/seti/gnunet-service-seti.c:2467
+#: src/setu/gnunet-service-setu.c:3635
#, fuzzy
msgid "Could not connect to CADET service\n"
msgstr "无法连接到 %s:%u:%s\n"
#: src/set/gnunet-set-ibf-profiler.c:268
+#: src/setu/gnunet-setu-ibf-profiler.c:268
#, fuzzy
msgid "number of element in set A-B"
msgstr "迭代次数"
#: src/set/gnunet-set-ibf-profiler.c:274
+#: src/setu/gnunet-setu-ibf-profiler.c:274
#, fuzzy
msgid "number of element in set B-A"
msgstr "迭代次数"
#: src/set/gnunet-set-ibf-profiler.c:281
+#: src/setu/gnunet-setu-ibf-profiler.c:281
msgid "number of common elements in A and B"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:287
+#: src/setu/gnunet-setu-ibf-profiler.c:287
msgid "hash num"
msgstr ""
#: src/set/gnunet-set-ibf-profiler.c:293
+#: src/setu/gnunet-setu-ibf-profiler.c:293
msgid "ibf size"
msgstr ""
-#: src/set/gnunet-set-profiler.c:462
+#: src/set/gnunet-set-profiler.c:462 src/setu/gnunet-setu-profiler.c:453
msgid "use byzantine mode"
msgstr ""
-#: src/set/gnunet-set-profiler.c:468
+#: src/set/gnunet-set-profiler.c:468 src/setu/gnunet-setu-profiler.c:459
msgid "force sending full set"
msgstr ""
-#: src/set/gnunet-set-profiler.c:474
+#: src/set/gnunet-set-profiler.c:474 src/setu/gnunet-setu-profiler.c:465
msgid "number delta operation"
msgstr ""
-#: src/set/gnunet-set-profiler.c:486
+#: src/set/gnunet-set-profiler.c:486 src/setu/gnunet-setu-profiler.c:477
msgid "operation to execute"
msgstr ""
-#: src/set/gnunet-set-profiler.c:492
+#: src/set/gnunet-set-profiler.c:492 src/seti/gnunet-seti-profiler.c:462
+#: src/setu/gnunet-setu-profiler.c:483
msgid "element size"
msgstr ""
+#: src/seti/gnunet-seti-profiler.c:457
+msgid "return intersection instead of delta"
+msgstr ""
+
#: src/sq/sq.c:54
#, c-format
msgid "Failure to bind %u-th SQL parameter\n"
@@ -6260,12 +6279,12 @@ msgstr ""
msgid "Failed to reset sqlite statement with error: %s\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/statistics/gnunet-service-statistics.c:318
+#: src/statistics/gnunet-service-statistics.c:319
#, c-format
msgid "Wrote %llu bytes of statistics to `%s'\n"
msgstr ""
-#: src/statistics/gnunet-service-statistics.c:983
+#: src/statistics/gnunet-service-statistics.c:984
#, c-format
msgid "Loading %llu bytes of statistics from `%s'\n"
msgstr ""
@@ -6448,7 +6467,7 @@ msgid ""
msgstr ""
#: src/testbed/gnunet-daemon-testbed-underlay.c:234 src/testing/list-keys.c:47
-#: src/testing/testing.c:284 src/util/gnunet-ecc.c:318
+#: src/testing/testing.c:278 src/util/gnunet-ecc.c:318
#, c-format
msgid "Incorrect hostkey file format: %s\n"
msgstr ""
@@ -6704,58 +6723,58 @@ msgstr ""
msgid "list COUNT number of keys"
msgstr ""
-#: src/testing/testing.c:267
+#: src/testing/testing.c:261
#, c-format
msgid "Hostkeys file not found: %s\n"
msgstr ""
-#: src/testing/testing.c:721
+#: src/testing/testing.c:714
#, c-format
msgid "Key number %u does not exist\n"
msgstr ""
-#: src/testing/testing.c:1195
+#: src/testing/testing.c:1188
#, c-format
msgid ""
"You attempted to create a testbed with more than %u hosts. Please "
"precompute more hostkeys first.\n"
msgstr ""
-#: src/testing/testing.c:1204
+#: src/testing/testing.c:1197
#, fuzzy, c-format
msgid "Failed to initialize hostkey for peer %u\n"
msgstr "初始化“%s”服务失败。\n"
-#: src/testing/testing.c:1214
+#: src/testing/testing.c:1207
msgid "PRIVATE_KEY option in PEER section missing in configuration\n"
msgstr ""
-#: src/testing/testing.c:1227
+#: src/testing/testing.c:1220
#, fuzzy
msgid "Failed to create configuration for peer (not enough free ports?)\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/testing/testing.c:1243
+#: src/testing/testing.c:1236
#, fuzzy, c-format
msgid "Cannot open hostkey file `%s': %s\n"
msgstr "找不到接口“%s”的一个 IP 地址。\n"
-#: src/testing/testing.c:1257
+#: src/testing/testing.c:1250
#, fuzzy, c-format
msgid "Failed to write hostkey file for peer %u: %s\n"
msgstr "发送消息失败。\n"
-#: src/testing/testing.c:1285
+#: src/testing/testing.c:1278
#, fuzzy, c-format
msgid "Failed to write configuration file `%s' for peer %u: %s\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/testing/testing.c:1392
+#: src/testing/testing.c:1384
#, fuzzy, c-format
msgid "Failed to start `%s': %s\n"
msgstr "运行 %s失败:%s %d\n"
-#: src/testing/testing.c:1691
+#: src/testing/testing.c:1683
#, fuzzy, c-format
msgid "Failed to load configuration from %s\n"
msgstr "解析配置文件“%s”失败\n"
@@ -6834,40 +6853,40 @@ msgstr ""
msgid "GNUnet topology control"
msgstr ""
-#: src/transport/gnunet-communicator-tcp.c:2458
-#: src/transport/gnunet-communicator-udp.c:2825
-#: src/transport/gnunet-service-tng.c:10027
+#: src/transport/gnunet-communicator-tcp.c:3189
+#: src/transport/gnunet-communicator-udp.c:2826
+#: src/transport/gnunet-service-tng.c:10014
#: src/transport/gnunet-service-transport.c:2624
#, fuzzy
msgid "Transport service is lacking key configuration settings. Exiting.\n"
msgstr "立即保存配置?"
-#: src/transport/gnunet-communicator-tcp.c:2754
+#: src/transport/gnunet-communicator-tcp.c:3494
msgid "GNUnet TCP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-udp.c:2897
+#: src/transport/gnunet-communicator-udp.c:2898
msgid "GNUnet UDP communicator"
msgstr ""
-#: src/transport/gnunet-communicator-unix.c:788
+#: src/transport/gnunet-communicator-unix.c:789
#, fuzzy
msgid ""
"Maximum number of UNIX connections exceeded, dropping incoming message\n"
msgstr "增加 TCP/IP 的最大连接数"
-#: src/transport/gnunet-communicator-unix.c:1015
+#: src/transport/gnunet-communicator-unix.c:1016
#, fuzzy
msgid "UNIX communicator is lacking key configuration settings. Exiting.\n"
msgstr "立即保存配置?"
-#: src/transport/gnunet-communicator-unix.c:1060
+#: src/transport/gnunet-communicator-unix.c:1061
#: src/transport/plugin_transport_unix.c:1383
#, fuzzy, c-format
msgid "Cannot create path to `%s'\n"
msgstr "发送消息失败。\n"
-#: src/transport/gnunet-communicator-unix.c:1138
+#: src/transport/gnunet-communicator-unix.c:1139
msgid "GNUnet UNIX domain socket communicator"
msgstr ""
@@ -7915,7 +7934,7 @@ msgid "do daemonize (detach from terminal)"
msgstr ""
#: src/transport/tcp_service_legacy.c:1397
-#: src/transport/transport-testing2.c:1061 src/util/service.c:2072
+#: src/transport/transport-testing2.c:1116 src/util/service.c:2072
#: src/util/service.c:2084
#, fuzzy, c-format
msgid "Malformed configuration file `%s', exit ...\n"
@@ -7958,7 +7977,7 @@ msgstr ""
msgid "Invalid handle type while reading `%s'"
msgstr "“%s”的参数无效。\n"
-#: src/util/bio.c:335 src/util/bio.c:838
+#: src/util/bio.c:335 src/util/bio.c:839
msgid "string length"
msgstr ""
@@ -7977,7 +7996,7 @@ msgstr ""
msgid "String `%s' longer than allowed (%u > %u)"
msgstr ""
-#: src/util/bio.c:398 src/util/bio.c:863 src/util/bio.c:880
+#: src/util/bio.c:398 src/util/bio.c:864 src/util/bio.c:881
msgid "metadata length"
msgstr ""
@@ -7991,25 +8010,25 @@ msgstr ""
msgid "Failed to deserialize metadata `%s'"
msgstr "发送消息失败。\n"
-#: src/util/bio.c:667
+#: src/util/bio.c:668
msgid "Unable to flush buffer to file"
msgstr ""
-#: src/util/bio.c:729 src/util/bio.c:750
+#: src/util/bio.c:730 src/util/bio.c:751
#, fuzzy, c-format
msgid "Error while writing `%s' to file: %s"
msgstr "解析 dscl 输出时出错。\n"
-#: src/util/bio.c:731
+#: src/util/bio.c:732
msgid "No associated file"
msgstr ""
-#: src/util/bio.c:815
+#: src/util/bio.c:816
#, fuzzy, c-format
msgid "Invalid handle type while writing `%s'"
msgstr "IP 格式无效:“%s”\n"
-#: src/util/bio.c:875
+#: src/util/bio.c:876
#, fuzzy, c-format
msgid "Failed to serialize metadata `%s'"
msgstr "发送消息失败。\n"
@@ -8494,15 +8513,15 @@ msgstr ""
msgid "No handler known for subsystem `%s'\n"
msgstr ""
-#: src/util/gnunet-qr.c:358
+#: src/util/gnunet-qr.c:357
msgid "use video-device DEVICE (default: /dev/video0"
msgstr ""
-#: src/util/gnunet-qr.c:363
+#: src/util/gnunet-qr.c:362
msgid "do not show preview windows"
msgstr ""
-#: src/util/gnunet-qr.c:373
+#: src/util/gnunet-qr.c:372
msgid "Scan a QR code using a video device and import the uri read"
msgstr ""
@@ -8514,28 +8533,28 @@ msgstr ""
msgid "Use build-in GNUnet stub resolver"
msgstr ""
-#: src/util/gnunet-scrypt.c:222
+#: src/util/gnunet-scrypt.c:229
#, c-format
msgid "Loading hostkey from `%s' failed.\n"
msgstr ""
-#: src/util/gnunet-scrypt.c:288
+#: src/util/gnunet-scrypt.c:295
msgid "number of bits to require for the proof of work"
msgstr ""
-#: src/util/gnunet-scrypt.c:294
+#: src/util/gnunet-scrypt.c:301
msgid "file with private key, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:300
+#: src/util/gnunet-scrypt.c:307
msgid "file with proof of work, otherwise default is used"
msgstr ""
-#: src/util/gnunet-scrypt.c:306
+#: src/util/gnunet-scrypt.c:313
msgid "time to wait between calculations"
msgstr ""
-#: src/util/gnunet-scrypt.c:319
+#: src/util/gnunet-scrypt.c:326
#, fuzzy
msgid "Manipulate GNUnet proof of work files"
msgstr "更改配置文件中的一个值"
@@ -8549,7 +8568,7 @@ msgstr ""
msgid "No URI specified on command line\n"
msgstr ""
-#: src/util/gnunet-uri.c:179
+#: src/util/gnunet-uri.c:178
msgid "Perform default-actions for GNUnet URIs"
msgstr ""
@@ -8563,7 +8582,7 @@ msgstr "创建用户出错"
msgid "Failed to parse inbound message from helper `%s'\n"
msgstr "打开日志文件“%s”失败:%s\n"
-#: src/util/helper.c:600
+#: src/util/helper.c:602
#, fuzzy, c-format
msgid "Error writing to `%s': %s\n"
msgstr "创建用户出错"
@@ -8691,118 +8710,118 @@ msgstr ""
msgid "Attempting to proxy service `%s' to invalid port %d or hostname.\n"
msgstr ""
-#: src/util/strings.c:178
+#: src/util/strings.c:179
msgid "b"
msgstr "b"
-#: src/util/strings.c:502
+#: src/util/strings.c:503
#, c-format
msgid "Character sets requested were `%s'->`%s'\n"
msgstr ""
-#: src/util/strings.c:636
+#: src/util/strings.c:637
msgid "Failed to expand `$HOME': environment variable `HOME' not set"
msgstr "扩展“$HOME”失败:没有设置环境变量“HOME”"
-#: src/util/strings.c:705
+#: src/util/strings.c:706
msgid "µs"
msgstr ""
-#: src/util/strings.c:709
+#: src/util/strings.c:710
msgid "forever"
msgstr ""
-#: src/util/strings.c:711
+#: src/util/strings.c:712
msgid "0 ms"
msgstr ""
-#: src/util/strings.c:715
+#: src/util/strings.c:716
msgid "ms"
msgstr "毫秒"
-#: src/util/strings.c:719
+#: src/util/strings.c:720
msgid "s"
msgstr "秒"
-#: src/util/strings.c:723
+#: src/util/strings.c:724
msgid "m"
msgstr "分"
-#: src/util/strings.c:727
+#: src/util/strings.c:728
msgid "h"
msgstr "时"
-#: src/util/strings.c:733
+#: src/util/strings.c:734
#, fuzzy
msgid "day"
msgstr " 天"
-#: src/util/strings.c:735
+#: src/util/strings.c:736
#, fuzzy
msgid "days"
msgstr " 天"
-#: src/util/strings.c:763
+#: src/util/strings.c:764
msgid "end of time"
msgstr ""
-#: src/util/strings.c:1239
+#: src/util/strings.c:1240
msgid "IPv6 address did not start with `['\n"
msgstr ""
-#: src/util/strings.c:1247
+#: src/util/strings.c:1248
msgid "IPv6 address did contain ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1254
+#: src/util/strings.c:1255
msgid "IPv6 address did contain ']' before ':' to separate port number\n"
msgstr ""
-#: src/util/strings.c:1262
+#: src/util/strings.c:1263
msgid "IPv6 address did contain a valid port number after the last ':'\n"
msgstr ""
-#: src/util/strings.c:1271
+#: src/util/strings.c:1272
#, fuzzy, c-format
msgid "Invalid IPv6 address `%s': %s\n"
msgstr "无效的进程优先级“%s”\n"
-#: src/util/strings.c:1498 src/util/strings.c:1509
+#: src/util/strings.c:1499 src/util/strings.c:1510
msgid "Port not in range\n"
msgstr ""
-#: src/util/strings.c:1518
+#: src/util/strings.c:1519
#, fuzzy, c-format
msgid "Malformed port policy `%s'\n"
msgstr "解析配置文件“%s”失败\n"
-#: src/util/strings.c:1601 src/util/strings.c:1630 src/util/strings.c:1677
-#: src/util/strings.c:1697
+#: src/util/strings.c:1602 src/util/strings.c:1631 src/util/strings.c:1678
+#: src/util/strings.c:1698
#, c-format
msgid "Invalid format for IP: `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/util/strings.c:1655
+#: src/util/strings.c:1656
#, c-format
msgid "Invalid network notation ('/%d' is not legal in IPv4 CIDR)."
msgstr "网络表示法无效(“/%d” 在 IPv4 CIDR 中是非法的)。"
-#: src/util/strings.c:1706
+#: src/util/strings.c:1707
#, fuzzy, c-format
msgid "Invalid format: `%s'\n"
msgstr "IP 格式无效:“%s”\n"
-#: src/util/strings.c:1759
+#: src/util/strings.c:1760
#, c-format
msgid "Invalid network notation (does not end with ';': `%s')\n"
msgstr "无效的网络表示法(没有以“;”结尾:“%s”)\n"
-#: src/util/strings.c:1809
+#: src/util/strings.c:1810
#, c-format
msgid "Wrong format `%s' for netmask\n"
msgstr "网络掩码的格式“%s”错误\n"
-#: src/util/strings.c:1840
+#: src/util/strings.c:1841
#, c-format
msgid "Wrong format `%s' for network\n"
msgstr "网络的格式“%s”错误\n"
diff --git a/src/consensus/consensus_protocol.h b/src/consensus/consensus_protocol.h
index a40162fb8..0afd56b27 100644
--- a/src/consensus/consensus_protocol.h
+++ b/src/consensus/consensus_protocol.h
@@ -124,6 +124,7 @@ struct ConsensusSizeElement
uint8_t sender_index;
};
+
struct ConsensusStuffedElement
{
struct ConsensusElement ce;
diff --git a/src/consensus/gnunet-service-consensus.c b/src/consensus/gnunet-service-consensus.c
index 13fa0d0e7..371b7f67f 100644
--- a/src/consensus/gnunet-service-consensus.c
+++ b/src/consensus/gnunet-service-consensus.c
@@ -1,6 +1,6 @@
/*
This file is part of GNUnet
- Copyright (C) 2012, 2013, 2017 GNUnet e.V.
+ Copyright (C) 2012, 2013, 2017, 2020 GNUnet e.V.
GNUnet is free software: you can redistribute it and/or modify it
under the terms of the GNU Affero General Public License as published
@@ -17,13 +17,11 @@
SPDX-License-Identifier: AGPL3.0-or-later
*/
-
/**
* @file consensus/gnunet-service-consensus.c
* @brief multi-peer set reconciliation
* @author Florian Dold <flo@dold.me>
*/
-
#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_block_lib.h"
@@ -62,11 +60,57 @@ enum EarlyStoppingPhase
};
+enum PhaseKind
+{
+ PHASE_KIND_ALL_TO_ALL,
+ PHASE_KIND_ALL_TO_ALL_2,
+ PHASE_KIND_GRADECAST_LEADER,
+ PHASE_KIND_GRADECAST_ECHO,
+ PHASE_KIND_GRADECAST_ECHO_GRADE,
+ PHASE_KIND_GRADECAST_CONFIRM,
+ PHASE_KIND_GRADECAST_CONFIRM_GRADE,
+ /**
+ * Apply a repetition of the all-to-all
+ * gradecast to the current set.
+ */
+ PHASE_KIND_APPLY_REP,
+ PHASE_KIND_FINISH,
+};
+
+
+enum SetKind
+{
+ SET_KIND_NONE = 0,
+ SET_KIND_CURRENT,
+ /**
+ * Last result set from a gradecast
+ */
+ SET_KIND_LAST_GRADECAST,
+ SET_KIND_LEADER_PROPOSAL,
+ SET_KIND_ECHO_RESULT,
+};
+
+enum DiffKind
+{
+ DIFF_KIND_NONE = 0,
+ DIFF_KIND_LEADER_PROPOSAL,
+ DIFF_KIND_LEADER_CONSENSUS,
+ DIFF_KIND_GRADECAST_RESULT,
+};
+
+enum RfnKind
+{
+ RFN_KIND_NONE = 0,
+ RFN_KIND_ECHO,
+ RFN_KIND_CONFIRM,
+ RFN_KIND_GRADECAST_RESULT
+};
+
+
GNUNET_NETWORK_STRUCT_BEGIN
/**
- * Tuple of integers that together
- * identify a task uniquely.
+ * Tuple of integers that together identify a task uniquely.
*/
struct TaskKey
{
@@ -102,8 +146,14 @@ struct TaskKey
struct SetKey
{
- int set_kind GNUNET_PACKED;
+ enum SetKind set_kind GNUNET_PACKED;
+ /**
+ * Repetition counter.
+ */
int k1 GNUNET_PACKED;
+ /**
+ * Leader (or 0).
+ */
int k2 GNUNET_PACKED;
};
@@ -112,9 +162,9 @@ struct SetEntry
{
struct SetKey key;
struct GNUNET_SET_Handle *h;
+
/**
- * GNUNET_YES if the set resulted
- * from applying a referendum with contested
+ * #GNUNET_YES if the set resulted from applying a referendum with contested
* elements.
*/
int is_contested;
@@ -123,14 +173,16 @@ struct SetEntry
struct DiffKey
{
- int diff_kind GNUNET_PACKED;
+ enum DiffKind diff_kind GNUNET_PACKED;
+
int k1 GNUNET_PACKED;
+
int k2 GNUNET_PACKED;
};
struct RfnKey
{
- int rfn_kind GNUNET_PACKED;
+ enum RfnKind rfn_kind GNUNET_PACKED;
int k1 GNUNET_PACKED;
int k2 GNUNET_PACKED;
};
@@ -138,52 +190,6 @@ struct RfnKey
GNUNET_NETWORK_STRUCT_END
-enum PhaseKind
-{
- PHASE_KIND_ALL_TO_ALL,
- PHASE_KIND_ALL_TO_ALL_2,
- PHASE_KIND_GRADECAST_LEADER,
- PHASE_KIND_GRADECAST_ECHO,
- PHASE_KIND_GRADECAST_ECHO_GRADE,
- PHASE_KIND_GRADECAST_CONFIRM,
- PHASE_KIND_GRADECAST_CONFIRM_GRADE,
- /**
- * Apply a repetition of the all-to-all
- * gradecast to the current set.
- */
- PHASE_KIND_APPLY_REP,
- PHASE_KIND_FINISH,
-};
-
-
-enum SetKind
-{
- SET_KIND_NONE = 0,
- SET_KIND_CURRENT,
- /**
- * Last result set from a gradecast
- */
- SET_KIND_LAST_GRADECAST,
- SET_KIND_LEADER_PROPOSAL,
- SET_KIND_ECHO_RESULT,
-};
-
-enum DiffKind
-{
- DIFF_KIND_NONE = 0,
- DIFF_KIND_LEADER_PROPOSAL,
- DIFF_KIND_LEADER_CONSENSUS,
- DIFF_KIND_GRADECAST_RESULT,
-};
-
-enum RfnKind
-{
- RFN_KIND_NONE = 0,
- RFN_KIND_ECHO,
- RFN_KIND_CONFIRM,
- RFN_KIND_GRADECAST_RESULT
-};
-
struct SetOpCls
{
@@ -216,9 +222,13 @@ union TaskFuncCls
struct FinishCls finish;
};
+
struct TaskEntry;
-typedef void (*TaskFunc) (struct TaskEntry *task);
+
+typedef void
+(*TaskFunc) (struct TaskEntry *task);
+
/*
* Node in the consensus task graph.
@@ -277,14 +287,12 @@ struct Step
unsigned int subordinates_cap;
/**
- * Counter for the prerequisites of
- * this step.
+ * Counter for the prerequisites of this step.
*/
size_t pending_prereq;
- /*
- * Task that will run this step despite
- * any pending prerequisites.
+ /**
+ * Task that will run this step despite any pending prerequisites.
*/
struct GNUNET_SCHEDULER_Task *timeout_task;
@@ -292,28 +300,23 @@ struct Step
unsigned int is_finished;
- /*
- * Synchrony round of the task.
- * Determines the deadline for the task.
+ /**
+ * Synchrony round of the task. Determines the deadline for the task.
*/
unsigned int round;
/**
- * Human-readable name for
- * the task, used for debugging.
+ * Human-readable name for the task, used for debugging.
*/
char *debug_name;
/**
- * When we're doing an early finish, how should this step be
- * treated?
- * If GNUNET_YES, the step will be marked as finished
- * without actually running its tasks.
- * Otherwise, the step will still be run even after
- * an early finish.
+ * When we're doing an early finish, how should this step be treated? If
+ * #GNUNET_YES, the step will be marked as finished without actually running
+ * its tasks. Otherwise, the step will still be run even after an early
+ * finish.
*
- * Note that a task may never be finished early if
- * it is already running.
+ * Note that a task may never be finished early if it is already running.
*/
int early_finishable;
};
@@ -323,14 +326,13 @@ struct RfnElementInfo
{
const struct GNUNET_SET_Element *element;
- /*
- * GNUNET_YES if the peer votes for the proposal.
+ /**
+ * #GNUNET_YES if the peer votes for the proposal.
*/
int *votes;
/**
- * Proposal for this element,
- * can only be VOTE_ADD or VOTE_REMOVE.
+ * Proposal for this element, can only be #VOTE_ADD or #VOTE_REMOVE.
*/
enum ReferendumVote proposal;
};
@@ -638,7 +640,7 @@ debug_str_element (const struct GNUNET_SET_Element *el)
static const char *
-debug_str_task_key (struct TaskKey *tk)
+debug_str_task_key (const struct TaskKey *tk)
{
static char buf[256];
@@ -652,7 +654,7 @@ debug_str_task_key (struct TaskKey *tk)
static const char *
-debug_str_diff_key (struct DiffKey *dk)
+debug_str_diff_key (const struct DiffKey *dk)
{
static char buf[256];
@@ -671,8 +673,9 @@ debug_str_set_key (const struct SetKey *sk)
snprintf (buf, sizeof(buf),
"SetKey kind=%s, k1=%d, k2=%d",
- setname (sk->set_kind), sk->k1, sk->k2);
-
+ setname (sk->set_kind),
+ sk->k1,
+ sk->k2);
return buf;
}
@@ -684,8 +687,9 @@ debug_str_rfn_key (const struct RfnKey *rk)
snprintf (buf, sizeof(buf),
"RfnKey kind=%s, k1=%d, k2=%d",
- rfnname (rk->rfn_kind), rk->k1, rk->k2);
-
+ rfnname (rk->rfn_kind),
+ rk->k1,
+ rk->k2);
return buf;
}
@@ -730,13 +734,15 @@ send_to_client_iter (void *cls,
session->local_peer_idx,
debug_str_element (element));
- ev = GNUNET_MQ_msg_extra (m, element->size - sizeof(struct
- ConsensusElement),
+ ev = GNUNET_MQ_msg_extra (m,
+ element->size - sizeof(struct ConsensusElement),
GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT);
m->element_type = ce->payload_type;
- GNUNET_memcpy (&m[1], &ce[1], element->size - sizeof(struct
- ConsensusElement));
- GNUNET_MQ_send (session->client_mq, ev);
+ GNUNET_memcpy (&m[1],
+ &ce[1],
+ element->size - sizeof(struct ConsensusElement));
+ GNUNET_MQ_send (session->client_mq,
+ ev);
}
else
{
@@ -745,14 +751,16 @@ send_to_client_iter (void *cls,
session->local_peer_idx);
ev = GNUNET_MQ_msg_header (
GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE);
- GNUNET_MQ_send (session->client_mq, ev);
+ GNUNET_MQ_send (session->client_mq,
+ ev);
}
return GNUNET_YES;
}
static struct SetEntry *
-lookup_set (struct ConsensusSession *session, struct SetKey *key)
+lookup_set (struct ConsensusSession *session,
+ const struct SetKey *key)
{
struct GNUNET_HashCode hash;
@@ -762,13 +770,17 @@ lookup_set (struct ConsensusSession *session, struct SetKey *key)
debug_str_set_key (key));
GNUNET_assert (SET_KIND_NONE != key->set_kind);
- GNUNET_CRYPTO_hash (key, sizeof(struct SetKey), &hash);
- return GNUNET_CONTAINER_multihashmap_get (session->setmap, &hash);
+ GNUNET_CRYPTO_hash (key,
+ sizeof(struct SetKey),
+ &hash);
+ return GNUNET_CONTAINER_multihashmap_get (session->setmap,
+ &hash);
}
static struct DiffEntry *
-lookup_diff (struct ConsensusSession *session, struct DiffKey *key)
+lookup_diff (struct ConsensusSession *session,
+ const struct DiffKey *key)
{
struct GNUNET_HashCode hash;
@@ -776,15 +788,18 @@ lookup_diff (struct ConsensusSession *session, struct DiffKey *key)
"P%u: looking up diff {%s}\n",
session->local_peer_idx,
debug_str_diff_key (key));
-
GNUNET_assert (DIFF_KIND_NONE != key->diff_kind);
- GNUNET_CRYPTO_hash (key, sizeof(struct DiffKey), &hash);
- return GNUNET_CONTAINER_multihashmap_get (session->diffmap, &hash);
+ GNUNET_CRYPTO_hash (key,
+ sizeof(struct DiffKey),
+ &hash);
+ return GNUNET_CONTAINER_multihashmap_get (session->diffmap,
+ &hash);
}
static struct ReferendumEntry *
-lookup_rfn (struct ConsensusSession *session, struct RfnKey *key)
+lookup_rfn (struct ConsensusSession *session,
+ const struct RfnKey *key)
{
struct GNUNET_HashCode hash;
@@ -792,10 +807,12 @@ lookup_rfn (struct ConsensusSession *session, struct RfnKey *key)
"P%u: looking up rfn {%s}\n",
session->local_peer_idx,
debug_str_rfn_key (key));
-
GNUNET_assert (RFN_KIND_NONE != key->rfn_kind);
- GNUNET_CRYPTO_hash (key, sizeof(struct RfnKey), &hash);
- return GNUNET_CONTAINER_multihashmap_get (session->rfnmap, &hash);
+ GNUNET_CRYPTO_hash (key,
+ sizeof(struct RfnKey),
+ &hash);
+ return GNUNET_CONTAINER_multihashmap_get (session->rfnmap,
+ &hash);
}
@@ -829,7 +846,8 @@ diff_insert (struct DiffEntry *diff,
di->element = GNUNET_SET_element_dup (element);
GNUNET_assert (GNUNET_OK ==
GNUNET_CONTAINER_multihashmap_put (diff->changes,
- &hash, di,
+ &hash,
+ di,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST));
}
@@ -860,11 +878,10 @@ rfn_contest (struct ReferendumEntry *rfn,
static uint16_t
rfn_noncontested (struct ReferendumEntry *rfn)
{
- uint16_t i;
uint16_t ret;
ret = 0;
- for (i = 0; i < rfn->num_peers; i++)
+ for (uint16_t i = 0; i < rfn->num_peers; i++)
if ((GNUNET_YES == rfn->peer_commited[i]) && (GNUNET_NO ==
rfn->peer_contested[i]))
ret++;
@@ -993,7 +1010,8 @@ set_result_cb (void *cls,
if (SET_KIND_NONE != setop->output_set.set_kind)
{
- output_set = lookup_set (session, &setop->output_set);
+ output_set = lookup_set (session,
+ &setop->output_set);
GNUNET_assert (NULL != output_set);
}
@@ -1226,8 +1244,8 @@ struct Evilness
static int
-parse_evilness_cram_subtype (const char *evil_subtype_str, struct
- Evilness *evil)
+parse_evilness_cram_subtype (const char *evil_subtype_str,
+ struct Evilness *evil)
{
if (0 == strcmp ("replace", evil_subtype_str))
{
@@ -1360,8 +1378,7 @@ cleanup:
/**
- * Commit the appropriate set for a
- * task.
+ * Commit the appropriate set for a task.
*/
static void
commit_set (struct ConsensusSession *session,
@@ -1379,6 +1396,7 @@ commit_set (struct ConsensusSession *session,
{
struct GNUNET_SET_Element element;
struct ConsensusElement ce = { 0 };
+
ce.marker = CONSENSUS_MARKER_CONTESTED;
element.data = &ce;
element.size = sizeof(struct ConsensusElement);
@@ -1405,7 +1423,6 @@ commit_set (struct ConsensusSession *session,
#ifdef EVIL
{
- unsigned int i;
struct Evilness evil;
get_evilness (session, &evil);
@@ -1444,7 +1461,7 @@ commit_set (struct ConsensusSession *session,
GNUNET_SET_commit (setop->op, set->h);
break;
}
- for (i = 0; i < evil.num; i++)
+ for (unsigned int i = 0; i < evil.num; i++)
{
struct GNUNET_SET_Element element;
struct ConsensusStuffedElement se = {
@@ -1504,12 +1521,14 @@ commit_set (struct ConsensusSession *session,
}
else
{
- GNUNET_SET_commit (setop->op, set->h);
+ GNUNET_SET_commit (setop->op,
+ set->h);
}
break;
case EVILNESS_NONE:
- GNUNET_SET_commit (setop->op, set->h);
+ GNUNET_SET_commit (setop->op,
+ set->h);
break;
}
}
@@ -1536,11 +1555,12 @@ put_diff (struct ConsensusSession *session,
{
struct GNUNET_HashCode hash;
- GNUNET_assert (NULL != diff);
-
- GNUNET_CRYPTO_hash (&diff->key, sizeof(struct DiffKey), &hash);
+ GNUNET_CRYPTO_hash (&diff->key,
+ sizeof(struct DiffKey),
+ &hash);
GNUNET_assert (GNUNET_OK ==
- GNUNET_CONTAINER_multihashmap_put (session->diffmap, &hash,
+ GNUNET_CONTAINER_multihashmap_put (session->diffmap,
+ &hash,
diff,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
}
@@ -1553,14 +1573,16 @@ put_set (struct ConsensusSession *session,
struct GNUNET_HashCode hash;
GNUNET_assert (NULL != set->h);
-
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Putting set %s\n",
debug_str_set_key (&set->key));
-
- GNUNET_CRYPTO_hash (&set->key, sizeof(struct SetKey), &hash);
+ GNUNET_CRYPTO_hash (&set->key,
+ sizeof(struct SetKey),
+ &hash);
GNUNET_assert (GNUNET_SYSERR !=
- GNUNET_CONTAINER_multihashmap_put (session->setmap, &hash, set,
+ GNUNET_CONTAINER_multihashmap_put (session->setmap,
+ &hash,
+ set,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE));
}
@@ -1573,7 +1595,9 @@ put_rfn (struct ConsensusSession *session,
GNUNET_CRYPTO_hash (&rfn->key, sizeof(struct RfnKey), &hash);
GNUNET_assert (GNUNET_OK ==
- GNUNET_CONTAINER_multihashmap_put (session->rfnmap, &hash, rfn,
+ GNUNET_CONTAINER_multihashmap_put (session->rfnmap,
+ &hash,
+ rfn,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
}
@@ -1616,18 +1640,20 @@ apply_diff_to_rfn (struct DiffEntry *diff,
}
-struct DiffEntry *
-diff_create ()
+static struct DiffEntry *
+diff_create (void)
{
struct DiffEntry *d = GNUNET_new (struct DiffEntry);
- d->changes = GNUNET_CONTAINER_multihashmap_create (8, GNUNET_NO);
+ d->changes = GNUNET_CONTAINER_multihashmap_create (8,
+ GNUNET_NO);
return d;
}
-struct DiffEntry *
+#if 0
+static struct DiffEntry *
diff_compose (struct DiffEntry *diff_1,
struct DiffEntry *diff_2)
{
@@ -1638,22 +1664,26 @@ diff_compose (struct DiffEntry *diff_1,
diff_new = diff_create ();
iter = GNUNET_CONTAINER_multihashmap_iterator_create (diff_1->changes);
- while (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL,
- (const
- void **) &
- di))
+ while (GNUNET_YES ==
+ GNUNET_CONTAINER_multihashmap_iterator_next (iter,
+ NULL,
+ (const void **) &di))
{
- diff_insert (diff_new, di->weight, di->element);
+ diff_insert (diff_new,
+ di->weight,
+ di->element);
}
GNUNET_CONTAINER_multihashmap_iterator_destroy (iter);
iter = GNUNET_CONTAINER_multihashmap_iterator_create (diff_2->changes);
- while (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL,
- (const
- void **) &
- di))
+ while (GNUNET_YES ==
+ GNUNET_CONTAINER_multihashmap_iterator_next (iter,
+ NULL,
+ (const void **) &di))
{
- diff_insert (diff_new, di->weight, di->element);
+ diff_insert (diff_new,
+ di->weight,
+ di->element);
}
GNUNET_CONTAINER_multihashmap_iterator_destroy (iter);
@@ -1661,6 +1691,9 @@ diff_compose (struct DiffEntry *diff_1,
}
+#endif
+
+
struct ReferendumEntry *
rfn_create (uint16_t size)
{
@@ -1701,14 +1734,13 @@ rfn_majority (const struct ReferendumEntry *rfn,
{
uint16_t votes_yes = 0;
uint16_t num_commited = 0;
- uint16_t i;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Computing rfn majority for element %s of rfn {%s}\n",
debug_str_element (ri->element),
debug_str_rfn_key (&rfn->key));
- for (i = 0; i < rfn->num_peers; i++)
+ for (uint16_t i = 0; i < rfn->num_peers; i++)
{
if (GNUNET_NO == rfn->peer_commited[i])
continue;
@@ -1739,7 +1771,8 @@ struct SetCopyCls
static void
-set_copy_cb (void *cls, struct GNUNET_SET_Handle *copy)
+set_copy_cb (void *cls,
+ struct GNUNET_SET_Handle *copy)
{
struct SetCopyCls *scc = cls;
struct TaskEntry *task = scc->task;
@@ -1821,8 +1854,6 @@ set_mutation_done (void *cls)
static void
try_finish_step_early (struct Step *step)
{
- unsigned int i;
-
if (GNUNET_YES == step->is_running)
return;
if (GNUNET_YES == step->is_finished)
@@ -1838,7 +1869,7 @@ try_finish_step_early (struct Step *step)
step->debug_name);
#endif
- for (i = 0; i < step->subordinates_len; i++)
+ for (unsigned int i = 0; i < step->subordinates_len; i++)
{
GNUNET_assert (step->subordinates[i]->pending_prereq > 0);
step->subordinates[i]->pending_prereq--;
@@ -1859,8 +1890,6 @@ try_finish_step_early (struct Step *step)
static void
finish_step (struct Step *step)
{
- unsigned int i;
-
GNUNET_assert (step->finished_tasks == step->tasks_len);
GNUNET_assert (GNUNET_YES == step->is_running);
GNUNET_assert (GNUNET_NO == step->is_finished);
@@ -1872,7 +1901,7 @@ finish_step (struct Step *step)
step->subordinates_len);
#endif
- for (i = 0; i < step->subordinates_len; i++)
+ for (unsigned int i = 0; i < step->subordinates_len; i++)
{
GNUNET_assert (step->subordinates[i]->pending_prereq > 0);
step->subordinates[i]->pending_prereq--;
@@ -1918,7 +1947,9 @@ task_start_apply_round (struct TaskEntry *task)
set_out = lookup_set (session, &sk_out);
if (NULL == set_out)
{
- create_set_copy_for_task (task, &sk_in, &sk_out);
+ create_set_copy_for_task (task,
+ &sk_in,
+ &sk_out);
return;
}
@@ -2162,7 +2193,9 @@ task_start_reconcile (struct TaskEntry *task)
we clone the input set. */
if (NULL == lookup_set (session, &setop->output_set))
{
- create_set_copy_for_task (task, &setop->input_set, &setop->output_set);
+ create_set_copy_for_task (task,
+ &setop->input_set,
+ &setop->output_set);
return;
}
}
@@ -2212,11 +2245,8 @@ task_start_reconcile (struct TaskEntry *task)
"P%u: Looking up set {%s} to run remote union\n",
session->local_peer_idx,
debug_str_set_key (&setop->input_set));
-
rcm.header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT);
- rcm.header.size = htons (sizeof(struct
- GNUNET_CONSENSUS_RoundContextMessage));
-
+ rcm.header.size = htons (sizeof(rcm));
rcm.kind = htons (task->key.kind);
rcm.peer1 = htons (task->key.peer1);
rcm.peer2 = htons (task->key.peer2);
@@ -2227,8 +2257,9 @@ task_start_reconcile (struct TaskEntry *task)
GNUNET_assert (NULL == setop->op);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"P%u: initiating set op with P%u, our set is %s\n",
- session->local_peer_idx, task->key.peer2, debug_str_set_key (
- &setop->input_set));
+ session->local_peer_idx,
+ task->key.peer2,
+ debug_str_set_key (&setop->input_set));
struct GNUNET_SET_Option opts[] = {
{ GNUNET_SET_OPTION_BYZANTINE, { .num = session->lower_bound } },
@@ -2286,15 +2317,17 @@ task_start_eval_echo (struct TaskEntry *task)
output_set = lookup_set (session, &sk_out);
if (NULL == output_set)
{
- create_set_copy_for_task (task, &sk_in, &sk_out);
+ create_set_copy_for_task (task,
+ &sk_in,
+ &sk_out);
return;
}
-
{
// FIXME: should be marked as a shallow copy, so
// we can destroy everything correctly
struct SetEntry *last_set = GNUNET_new (struct SetEntry);
+
last_set->h = output_set->h;
last_set->key = (struct SetKey) { SET_KIND_LAST_GRADECAST };
put_set (session, last_set);
@@ -2306,13 +2339,10 @@ task_start_eval_echo (struct TaskEntry *task)
progress_cls = GNUNET_new (struct SetMutationProgressCls);
progress_cls->task = task;
-
rk_in = (struct RfnKey) { RFN_KIND_ECHO, task->key.repetition,
task->key.leader };
input_rfn = lookup_rfn (session, &rk_in);
-
GNUNET_assert (NULL != input_rfn);
-
iter = GNUNET_CONTAINER_multihashmap_iterator_create (
input_rfn->rfn_elements);
GNUNET_assert (NULL != iter);
@@ -2334,7 +2364,8 @@ task_start_eval_echo (struct TaskEntry *task)
can't simply send "nothing" for the value. Thus we mark our 'confirm'
reconciliation as contested. Other peers might not know that the
leader is faulty, thus we still re-distribute in the confirmation
- round. */output_set->is_contested = GNUNET_YES;
+ round. *///
+ output_set->is_contested = GNUNET_YES;
}
switch (majority_vote)
@@ -2384,29 +2415,27 @@ task_start_finish (struct TaskEntry *task)
struct SetEntry *final_set;
struct ConsensusSession *session = task->step->session;
- final_set = lookup_set (session, &task->cls.finish.input_set);
-
+ final_set = lookup_set (session,
+ &task->cls.finish.input_set);
GNUNET_assert (NULL != final_set);
-
-
GNUNET_SET_iterate (final_set->h,
- send_to_client_iter,
+ &send_to_client_iter,
task);
}
static void
-start_task (struct ConsensusSession *session, struct TaskEntry *task)
+start_task (struct ConsensusSession *session,
+ struct TaskEntry *task)
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: starting task {%s}\n",
- session->local_peer_idx, debug_str_task_key (&task->key));
-
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "P%u: starting task {%s}\n",
+ session->local_peer_idx,
+ debug_str_task_key (&task->key));
GNUNET_assert (GNUNET_NO == task->is_started);
GNUNET_assert (GNUNET_NO == task->is_finished);
GNUNET_assert (NULL != task->start);
-
task->start (task);
-
task->is_started = GNUNET_YES;
}
@@ -2427,8 +2456,6 @@ run_ready_steps (struct ConsensusSession *session)
if ((GNUNET_NO == step->is_running) && (0 == step->pending_prereq) &&
(GNUNET_NO == step->is_finished))
{
- size_t i;
-
GNUNET_assert (0 == step->finished_tasks);
#ifdef GNUNET_EXTRA_LOGGING
@@ -2440,7 +2467,7 @@ run_ready_steps (struct ConsensusSession *session)
#endif
step->is_running = GNUNET_YES;
- for (i = 0; i < step->tasks_len; i++)
+ for (size_t i = 0; i < step->tasks_len; i++)
start_task (session, step->tasks[i]);
/* Sometimes there is no task to trigger finishing the step, so we have to do it here. */
@@ -2463,9 +2490,7 @@ finish_task (struct TaskEntry *task)
{
GNUNET_assert (GNUNET_NO == task->is_finished);
task->is_finished = GNUNET_YES;
-
task->step->finished_tasks++;
-
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"P%u: Finishing Task {%s} (now %u/%u tasks finished in step)\n",
task->step->session->local_peer_idx,
@@ -2486,12 +2511,10 @@ finish_task (struct TaskEntry *task)
* @return index of peer, -1 if peer is not in session
*/
static int
-get_peer_idx (const struct GNUNET_PeerIdentity *peer, const struct
- ConsensusSession *session)
+get_peer_idx (const struct GNUNET_PeerIdentity *peer,
+ const struct ConsensusSession *session)
{
- int i;
-
- for (i = 0; i < session->num_peers; i++)
+ for (int i = 0; i < session->num_peers; i++)
if (0 == GNUNET_memcmp (peer, &session->peers[i]))
return i;
return -1;
@@ -2528,14 +2551,15 @@ compute_global_id (struct ConsensusSession *session,
/**
- * Compare two peer identities.
+ * Compare two peer identities (for qsort()).
*
* @param h1 some peer identity
* @param h2 some peer identity
* @return 1 if h1 > h2, -1 if h1 < h2 and 0 if h1 == h2.
*/
static int
-peer_id_cmp (const void *h1, const void *h2)
+peer_id_cmp (const void *h1,
+ const void *h2)
{
return memcmp (h1, h2, sizeof(struct GNUNET_PeerIdentity));
}
@@ -2549,9 +2573,9 @@ peer_id_cmp (const void *h1, const void *h2)
* @param join_msg join message with the list of peers participating at the end
*/
static void
-initialize_session_peer_list (struct ConsensusSession *session,
- const struct
- GNUNET_CONSENSUS_JoinMessage *join_msg)
+initialize_session_peer_list (
+ struct ConsensusSession *session,
+ const struct GNUNET_CONSENSUS_JoinMessage *join_msg)
{
const struct GNUNET_PeerIdentity *msg_peers
= (const struct GNUNET_PeerIdentity *) &join_msg[1];
@@ -2578,29 +2602,31 @@ initialize_session_peer_list (struct ConsensusSession *session,
struct GNUNET_PeerIdentity);
if (GNUNET_NO == local_peer_in_list)
session->peers[session->num_peers - 1] = my_peer;
-
GNUNET_memcpy (session->peers,
msg_peers,
- ntohl (join_msg->num_peers) * sizeof(struct
- GNUNET_PeerIdentity));
+ ntohl (join_msg->num_peers)
+ * sizeof(struct GNUNET_PeerIdentity));
qsort (session->peers,
session->num_peers,
- sizeof(struct GNUNET_PeerIdentity),
+ sizeof (struct GNUNET_PeerIdentity),
&peer_id_cmp);
}
static struct TaskEntry *
-lookup_task (struct ConsensusSession *session,
- struct TaskKey *key)
+lookup_task (const struct ConsensusSession *session,
+ const struct TaskKey *key)
{
struct GNUNET_HashCode hash;
-
- GNUNET_CRYPTO_hash (key, sizeof(struct TaskKey), &hash);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Looking up task hash %s\n",
+ GNUNET_CRYPTO_hash (key,
+ sizeof(struct TaskKey),
+ &hash);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Looking up task hash %s\n",
GNUNET_h2s (&hash));
- return GNUNET_CONTAINER_multihashmap_get (session->taskmap, &hash);
+ return GNUNET_CONTAINER_multihashmap_get (session->taskmap,
+ &hash);
}
@@ -2695,7 +2721,7 @@ set_listen_cb (void *cls,
task->cls.setop.op = GNUNET_SET_accept (request,
GNUNET_SET_RESULT_SYMMETRIC,
opts,
- set_result_cb,
+ &set_result_cb,
task);
/* If the task hasn't been started yet,
@@ -2716,11 +2742,8 @@ put_task (struct GNUNET_CONTAINER_MultiHashMap *taskmap,
struct Step *s;
GNUNET_assert (NULL != t->step);
-
t = GNUNET_memdup (t, sizeof(struct TaskEntry));
-
s = t->step;
-
if (s->tasks_len == s->tasks_cap)
{
unsigned int target_size = 3 * (s->tasks_cap + 1) / 2;
@@ -2739,9 +2762,13 @@ put_task (struct GNUNET_CONTAINER_MultiHashMap *taskmap,
s->tasks[s->tasks_len] = t;
s->tasks_len++;
- GNUNET_CRYPTO_hash (&t->key, sizeof(struct TaskKey), &round_hash);
+ GNUNET_CRYPTO_hash (&t->key,
+ sizeof(struct TaskKey),
+ &round_hash);
GNUNET_assert (GNUNET_OK ==
- GNUNET_CONTAINER_multihashmap_put (taskmap, &round_hash, t,
+ GNUNET_CONTAINER_multihashmap_put (taskmap,
+ &round_hash,
+ t,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
}
@@ -2762,7 +2789,9 @@ install_step_timeouts (struct ConsensusSession *session)
* Arrange two peers in some canonical order.
*/
static void
-arrange_peers (uint16_t *p1, uint16_t *p2, uint16_t n)
+arrange_peers (uint16_t *p1,
+ uint16_t *p2,
+ uint16_t n)
{
uint16_t a;
uint16_t b;
@@ -2800,7 +2829,8 @@ arrange_peers (uint16_t *p1, uint16_t *p2, uint16_t n)
* Record @a dep as a dependency of @a step.
*/
static void
-step_depend_on (struct Step *step, struct Step *dep)
+step_depend_on (struct Step *step,
+ struct Step *dep)
{
/* We're not checking for cyclic dependencies,
but this is a cheap sanity check. */
@@ -2839,7 +2869,9 @@ step_depend_on (struct Step *step, struct Step *dep)
static struct Step *
-create_step (struct ConsensusSession *session, int round, int early_finishable)
+create_step (struct ConsensusSession *session,
+ int round,
+ int early_finishable)
{
struct Step *step;
@@ -2855,8 +2887,7 @@ create_step (struct ConsensusSession *session, int round, int early_finishable)
/**
- * Construct the task graph for a single
- * gradecast.
+ * Construct the task graph for a single gradecast.
*/
static void
construct_task_graph_gradecast (struct ConsensusSession *session,
@@ -2867,35 +2898,32 @@ construct_task_graph_gradecast (struct ConsensusSession *session,
{
uint16_t n = session->num_peers;
uint16_t me = session->local_peer_idx;
-
uint16_t p1;
uint16_t p2;
-
/* The task we're currently setting up. */
struct TaskEntry task;
-
struct Step *step;
struct Step *prev_step;
-
uint16_t round;
- unsigned int k;
-
round = step_before->round + 1;
/* gcast step 1: leader disseminates */
-
- step = create_step (session, round, GNUNET_YES);
-
+ step = create_step (session,
+ round,
+ GNUNET_YES);
#ifdef GNUNET_EXTRA_LOGGING
- GNUNET_asprintf (&step->debug_name, "disseminate leader %u rep %u", lead,
+ GNUNET_asprintf (&step->debug_name,
+ "disseminate leader %u rep %u",
+ lead,
rep);
#endif
- step_depend_on (step, step_before);
+ step_depend_on (step,
+ step_before);
if (lead == me)
{
- for (k = 0; k < n; k++)
+ for (unsigned int k = 0; k < n; k++)
{
if (k == me)
continue;
@@ -2952,13 +2980,19 @@ construct_task_graph_gradecast (struct ConsensusSession *session,
/* gcast phase 2: echo */
prev_step = step;
round += 1;
- step = create_step (session, round, GNUNET_YES);
+ step = create_step (session,
+ round,
+ GNUNET_YES);
#ifdef GNUNET_EXTRA_LOGGING
- GNUNET_asprintf (&step->debug_name, "echo leader %u rep %u", lead, rep);
+ GNUNET_asprintf (&step->debug_name,
+ "echo leader %u rep %u",
+ lead,
+ rep);
#endif
- step_depend_on (step, prev_step);
+ step_depend_on (step,
+ prev_step);
- for (k = 0; k < n; k++)
+ for (unsigned int k = 0; k < n; k++)
{
p1 = k;
p2 = me;
@@ -3001,7 +3035,7 @@ construct_task_graph_gradecast (struct ConsensusSession *session,
step_depend_on (step, prev_step);
/* gcast phase 3: confirmation and grading */
- for (k = 0; k < n; k++)
+ for (unsigned int k = 0; k < n; k++)
{
p1 = k;
p2 = me;
@@ -3050,22 +3084,15 @@ construct_task_graph (struct ConsensusSession *session)
{
uint16_t n = session->num_peers;
uint16_t t = n / 3;
-
uint16_t me = session->local_peer_idx;
-
/* The task we're currently setting up. */
struct TaskEntry task;
-
/* Current leader */
unsigned int lead;
-
struct Step *step;
struct Step *prev_step;
-
unsigned int round = 0;
- unsigned int i;
-
// XXX: introduce first step,
// where we wait for all insert acks
// from the set service
@@ -3082,7 +3109,7 @@ construct_task_graph (struct ConsensusSession *session)
step->debug_name = GNUNET_strdup ("all to all");
#endif
- for (i = 0; i < n; i++)
+ for (unsigned int i = 0; i < n; i++)
{
uint16_t p1;
uint16_t p2;
@@ -3111,7 +3138,7 @@ construct_task_graph (struct ConsensusSession *session)
step_depend_on (step, prev_step);
- for (i = 0; i < n; i++)
+ for (unsigned int i = 0; i < n; i++)
{
uint16_t p1;
uint16_t p2;
@@ -3140,7 +3167,7 @@ construct_task_graph (struct ConsensusSession *session)
/* Byzantine union */
/* sequential repetitions of the gradecasts */
- for (i = 0; i < t + 1; i++)
+ for (unsigned int i = 0; i < t + 1; i++)
{
struct Step *step_rep_start;
struct Step *step_rep_end;
@@ -3243,9 +3270,9 @@ handle_client_join (void *cls,
NULL != other_session;
other_session = other_session->next)
{
- if ((other_session != session) &&
- (0 == GNUNET_CRYPTO_hash_cmp (&session->global_id,
- &other_session->global_id)))
+ if ( (other_session != session) &&
+ (0 == GNUNET_CRYPTO_hash_cmp (&session->global_id,
+ &other_session->global_id)) )
break;
}
@@ -3262,9 +3289,9 @@ handle_client_join (void *cls,
GNUNET_h2s (&m->session_id),
session->num_peers,
session->local_peer_idx,
- GNUNET_STRINGS_relative_time_to_string
- (GNUNET_TIME_absolute_get_difference (session->conclude_start,
- session->conclude_deadline),
+ GNUNET_STRINGS_relative_time_to_string (
+ GNUNET_TIME_absolute_get_difference (session->conclude_start,
+ session->conclude_deadline),
GNUNET_YES));
session->set_listener
@@ -3309,13 +3336,6 @@ handle_client_join (void *cls,
}
-static void
-client_insert_done (void *cls)
-{
- // FIXME: implement
-}
-
-
/**
* Called when a client performs an insert operation.
*
@@ -3352,19 +3372,13 @@ handle_client_insert (void *cls,
GNUNET_SERVICE_client_drop (session->client);
return;
}
-
- element_size = ntohs (msg->header.size) - sizeof(struct
- GNUNET_CONSENSUS_ElementMessage);
+ element_size = ntohs (msg->header.size) - sizeof(*msg);
ce = GNUNET_malloc (sizeof(struct ConsensusElement) + element_size);
- GNUNET_memcpy (&ce[1], &msg[1], element_size);
+ GNUNET_memcpy (&ce[1],
+ &msg[1],
+ element_size);
ce->payload_type = msg->element_type;
- struct GNUNET_SET_Element element = {
- .element_type = GNUNET_BLOCK_TYPE_CONSENSUS_ELEMENT,
- .size = sizeof(struct ConsensusElement) + element_size,
- .data = ce,
- };
-
{
struct SetKey key = { SET_KIND_CURRENT, 0, 0 };
struct SetEntry *entry;
@@ -3376,19 +3390,25 @@ handle_client_insert (void *cls,
}
session->num_client_insert_pending++;
- GNUNET_SET_add_element (initial_set,
- &element,
- &client_insert_done,
- session);
-#ifdef GNUNET_EXTRA_LOGGING
{
+ struct GNUNET_SET_Element element = {
+ .element_type = GNUNET_BLOCK_TYPE_CONSENSUS_ELEMENT,
+ .size = sizeof(struct ConsensusElement) + element_size,
+ .data = ce,
+ };
+
+ GNUNET_SET_add_element (initial_set,
+ &element,
+ NULL,
+ NULL);
+#ifdef GNUNET_EXTRA_LOGGING
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"P%u: element %s added\n",
session->local_peer_idx,
debug_str_element (&element));
- }
#endif
+ }
GNUNET_free (ce);
GNUNET_SERVICE_client_continue (session->client);
}
@@ -3513,10 +3533,10 @@ client_disconnect_cb (void *cls,
GNUNET_CONTAINER_DLL_remove (sessions_head,
sessions_tail,
session);
-
while (session->set_handles_head)
{
struct SetHandle *sh = session->set_handles_head;
+
session->set_handles_head = sh->next;
GNUNET_SET_destroy (sh->h);
GNUNET_free (sh);
@@ -3528,8 +3548,8 @@ client_disconnect_cb (void *cls,
/**
* Define "main" method using service macro.
*/
-GNUNET_SERVICE_MAIN
- ("consensus",
+GNUNET_SERVICE_MAIN (
+ "consensus",
GNUNET_SERVICE_OPTION_NONE,
&run,
&client_connect_cb,
diff --git a/src/consensus/plugin_block_consensus.c b/src/consensus/plugin_block_consensus.c
index fb6da5bcd..cdac12ed5 100644
--- a/src/consensus/plugin_block_consensus.c
+++ b/src/consensus/plugin_block_consensus.c
@@ -58,13 +58,12 @@ block_plugin_consensus_evaluate (void *cls,
const void *reply_block,
size_t reply_block_size)
{
- if (reply_block_size < sizeof(struct ConsensusElement))
- return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
-
const struct ConsensusElement *ce = reply_block;
- if ((0 != ce->marker) ||
- (0 == ce->payload_type))
+ if (reply_block_size < sizeof(struct ConsensusElement))
+ return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
+ if ( (0 != ce->marker) ||
+ (0 == ce->payload_type) )
return GNUNET_BLOCK_EVALUATION_OK_MORE;
return GNUNET_BLOCK_evaluate (ctx,
@@ -75,8 +74,8 @@ block_plugin_consensus_evaluate (void *cls,
xquery,
xquery_size,
&ce[1],
- reply_block_size - sizeof(struct
- ConsensusElement));
+ reply_block_size
+ - sizeof(struct ConsensusElement));
}
diff --git a/src/gns/test_gns_proxy.c b/src/gns/test_gns_proxy.c
index 13764d520..579de774f 100644
--- a/src/gns/test_gns_proxy.c
+++ b/src/gns/test_gns_proxy.c
@@ -189,7 +189,7 @@ copy_buffer (void *ptr, size_t size, size_t nmemb, void *ctx)
}
-static int
+static enum MHD_Result
mhd_ahc (void *cls,
struct MHD_Connection *connection,
const char *url,
@@ -528,8 +528,6 @@ run (void *cls,
int
main (int argc, char *const *argv)
{
- char *tmp_argv;
-
struct GNUNET_GETOPT_CommandLineOption options[] = {
GNUNET_GETOPT_option_uint16 ('p',
"port",
@@ -559,7 +557,7 @@ main (int argc, char *const *argv)
}
if (GNUNET_OK !=
GNUNET_STRINGS_get_utf8_args (argc, argv,
- &argc, &tmp_argv))
+ &argc, &argv))
return 2;
GNUNET_log_setup ("gnunet-gns-proxy-test",
"WARNING",
@@ -570,7 +568,7 @@ main (int argc, char *const *argv)
options,
&run, NULL))
return 1;
- GNUNET_free (tmp_argv);
+ GNUNET_free_nz ((void*) argv);
return global_ret;
}
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index e542038d3..202abb7ac 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -99,6 +99,8 @@ gnunetinclude_HEADERS = \
gnunet_secretsharing_service.h \
gnunet_service_lib.h \
gnunet_set_service.h \
+ gnunet_seti_service.h \
+ gnunet_setu_service.h \
gnunet_signal_lib.h \
gnunet_signatures.h \
gnunet_socks.h \
diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h
index efd696b36..085d7187f 100644
--- a/src/include/gnunet_crypto_lib.h
+++ b/src/include/gnunet_crypto_lib.h
@@ -619,7 +619,7 @@ GNUNET_CRYPTO_hash_to_enc (const struct GNUNET_HashCode *block,
* @param result where to store the hash code
* @return #GNUNET_OK on success, #GNUNET_SYSERR if result has the wrong encoding
*/
-int
+enum GNUNET_GenericReturnValue
GNUNET_CRYPTO_hash_from_string2 (const char *enc,
size_t enclen,
struct GNUNET_HashCode *result);
diff --git a/src/include/gnunet_transport_communication_service.h b/src/include/gnunet_transport_communication_service.h
index ea6b95e2d..431b9a671 100644
--- a/src/include/gnunet_transport_communication_service.h
+++ b/src/include/gnunet_transport_communication_service.h
@@ -336,6 +336,14 @@ void
GNUNET_TRANSPORT_communicator_address_remove (
struct GNUNET_TRANSPORT_AddressIdentifier *ai);
+/**
+ * Notify transport service that this communicator no longer provides all its addresses for this peer.
+ *
+ * @param ch The communicator handle.
+ */
+void
+GNUNET_TRANSPORT_communicator_address_remove_all (
+ struct GNUNET_TRANSPORT_CommunicatorHandle *ch);
/**
* The communicator asks the transport service to route a message via
diff --git a/src/reclaim/gnunet-reclaim.c b/src/reclaim/gnunet-reclaim.c
index ab281a645..b9306b802 100644
--- a/src/reclaim/gnunet-reclaim.c
+++ b/src/reclaim/gnunet-reclaim.c
@@ -862,7 +862,7 @@ main (int argc, char *const argv[])
gettext_noop ("List credentials for EGO"),
&list_credentials),
GNUNET_GETOPT_option_string ('I',
- "Credential ID",
+ "credential-id",
"CREDENTIAL_ID",
gettext_noop (
"Credential to use for attribute"),
diff --git a/src/reclaim/plugin_reclaim_credential_jwt.c b/src/reclaim/plugin_reclaim_credential_jwt.c
index 148865223..6f52f3a4e 100644
--- a/src/reclaim/plugin_reclaim_credential_jwt.c
+++ b/src/reclaim/plugin_reclaim_credential_jwt.c
@@ -177,6 +177,8 @@ jwt_parse_attributes (void *cls,
json_object_foreach (json_val, key, value) {
if (0 == strcmp ("iss", key))
continue;
+ if (0 == strcmp ("jti", key))
+ continue;
if (0 == strcmp ("exp", key))
continue;
if (0 == strcmp ("iat", key))
diff --git a/src/seti/Makefile.am b/src/seti/Makefile.am
index b4980b670..522f33ece 100644
--- a/src/seti/Makefile.am
+++ b/src/seti/Makefile.am
@@ -37,7 +37,7 @@ gnunet_seti_profiler_LDADD = \
gnunet_service_seti_SOURCES = \
gnunet-service-seti.c \
- gnunet-service-set_protocol.h
+ gnunet-service-seti_protocol.h
gnunet_service_seti_LDADD = \
$(top_builddir)/src/util/libgnunetutil.la \
$(top_builddir)/src/statistics/libgnunetstatistics.la \
diff --git a/src/setu/Makefile.am b/src/setu/Makefile.am
index b37ceba51..cc7711462 100644
--- a/src/setu/Makefile.am
+++ b/src/setu/Makefile.am
@@ -46,7 +46,7 @@ gnunet_setu_ibf_profiler_LDADD = \
$(GN_LIBINTL)
gnunet_service_setu_SOURCES = \
- gnunet-service-setu.c gnunet-service-setu.h \
+ gnunet-service-setu.c gnunet-service-setu_protocol.h \
ibf.c ibf.h \
gnunet-service-setu_strata_estimator.c gnunet-service-setu_strata_estimator.h \
gnunet-service-setu_protocol.h
diff --git a/src/setu/test_setu.conf b/src/setu/test_setu.conf
new file mode 100644
index 000000000..4eaf3f0c0
--- /dev/null
+++ b/src/setu/test_setu.conf
@@ -0,0 +1,32 @@
+@INLINE@ ../../contrib/conf/gnunet/no_forcestart.conf
+
+[PATHS]
+GNUNET_TEST_HOME = $GNUNET_TMP/test-gnunet-set/
+
+[setu]
+START_ON_DEMAND = YES
+#PREFIX = valgrind --leak-check=full
+#PREFIX = gdbserver :1234
+OPTIONS = -L INFO
+
+[transport]
+PLUGINS = unix
+OPTIONS = -LERROR
+
+[nat]
+RETURN_LOCAL_ADDRESSES = YES
+DISABLEV6 = YES
+USE_LOCALADDR = YES
+
+[peerinfo]
+NO_IO = YES
+
+[nat]
+# Use addresses from the local network interfaces (inluding loopback, but also others)
+USE_LOCALADDR = YES
+
+# Disable IPv6 support
+DISABLEV6 = NO
+
+# Do we use addresses from localhost address ranges? (::1, 127.0.0.0/8)
+RETURN_LOCAL_ADDRESSES = YES
diff --git a/src/transport/gnunet-communicator-tcp.c b/src/transport/gnunet-communicator-tcp.c
index 880145424..59f42496a 100644
--- a/src/transport/gnunet-communicator-tcp.c
+++ b/src/transport/gnunet-communicator-tcp.c
@@ -308,6 +308,38 @@ struct TCPRekey
struct GNUNET_TIME_AbsoluteNBO monotonic_time;
};
+/**
+ * Signature we use to verify that the ephemeral key was really chosen by
+ * the specified sender.
+ */
+struct TcpRekeySignature
+{
+ /**
+ * Purpose must be #GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+ /**
+ * Identity of the inititor of the TCP connection (TCP client).
+ */
+ struct GNUNET_PeerIdentity sender;
+
+ /**
+ * Presumed identity of the target of the TCP connection (TCP server)
+ */
+ struct GNUNET_PeerIdentity receiver;
+
+ /**
+ * Ephemeral key used by the @e sender.
+ */
+ struct GNUNET_CRYPTO_EcdhePublicKey ephemeral;
+
+ /**
+ * Monotonic time of @e sender, to possibly help detect replay attacks
+ * (if receiver persists times by sender).
+ */
+ struct GNUNET_TIME_AbsoluteNBO monotonic_time;
+};
/**
* TCP finish. Sender asks for the connection to be closed.
@@ -362,11 +394,6 @@ struct Queue
struct GNUNET_PeerIdentity target;
/**
- * ID of listen task
- */
- struct GNUNET_SCHEDULER_Task *listen_task;
-
- /**
* Listen socket.
*/
struct GNUNET_NETWORK_Handle *listen_sock;
@@ -606,11 +633,6 @@ struct ProtoQueue
struct ProtoQueue *prev;
/**
- * ID of listen task
- */
- struct GNUNET_SCHEDULER_Task *listen_task;
-
- /**
* Listen socket.
*/
struct GNUNET_NETWORK_Handle *listen_sock;
@@ -729,6 +751,11 @@ static struct GNUNET_TRANSPORT_CommunicatorHandle *ch;
static struct GNUNET_CONTAINER_MultiPeerMap *queue_map;
/**
+ * ListenTasks (map from socket to `struct ListenTask`)
+ */
+static struct GNUNET_CONTAINER_MultiHashMap *lt_map;
+
+/**
* Our public key.
*/
static struct GNUNET_PeerIdentity my_identity;
@@ -784,6 +811,16 @@ struct Addresses *addrs_head;
struct Addresses *addrs_tail;
/**
+ * Head of DLL with ListenTasks.
+ */
+struct ListenTask *lts_head;
+
+/**
+ * Head of DLL with ListenTask.
+ */
+struct ListenTask *lts_tail;
+
+/**
* Number of addresses in the DLL for register at NAT service.
*/
int addrs_lens;
@@ -799,6 +836,16 @@ size_t unverified_size;
static struct GNUNET_PEERSTORE_Handle *peerstore;
/**
+ * A flag indicating we are already doing a shutdown.
+ */
+int shutdown_running = GNUNET_NO;
+
+/**
+ * The port the communicator should be assigned to.
+ */
+unsigned int bind_port;
+
+/**
* We have been notified that our listen socket has something to
* read. Do the read and reschedule this function to be called again
* once more is available.
@@ -808,7 +855,6 @@ static struct GNUNET_PEERSTORE_Handle *peerstore;
static void
listen_cb (void *cls);
-
/**
* Functions with this signature are called whenever we need
* to close a queue due to a disconnect or failure to
@@ -819,11 +865,14 @@ listen_cb (void *cls);
static void
queue_destroy (struct Queue *queue)
{
- struct GNUNET_MQ_Handle *mq;
- struct ListenTask *lt;
- lt = GNUNET_new (struct ListenTask);
- lt->listen_sock = queue->listen_sock;
- lt->listen_task = queue->listen_task;
+ struct ListenTask *lt = NULL;
+ struct GNUNET_HashCode h_sock;
+
+ GNUNET_CRYPTO_hash (queue->listen_sock,
+ sizeof(queue->listen_sock),
+ &h_sock);
+
+ lt = GNUNET_CONTAINER_multihashmap_get (lt_map, &h_sock);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Disconnecting queue for peer `%s'\n",
@@ -858,11 +907,6 @@ queue_destroy (struct Queue *queue)
GNUNET_PEERSTORE_iterate_cancel (queue->handshake_ack_monotime_get);
queue->handshake_ack_monotime_get = NULL;
}
- if (NULL != (mq = queue->mq))
- {
- queue->mq = NULL;
- GNUNET_MQ_destroy (mq);
- }
if (NULL != queue->qh)
{
GNUNET_TRANSPORT_communicator_mq_del (queue->qh);
@@ -885,7 +929,11 @@ queue_destroy (struct Queue *queue)
GNUNET_SCHEDULER_cancel (queue->write_task);
queue->write_task = NULL;
}
- GNUNET_NETWORK_socket_close (queue->sock);
+ if (GNUNET_SYSERR == GNUNET_NETWORK_socket_close (queue->sock))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "closing socket failed\n");
+ }
gcry_cipher_close (queue->in_cipher);
gcry_cipher_close (queue->out_cipher);
GNUNET_free (queue->address);
@@ -894,12 +942,18 @@ queue_destroy (struct Queue *queue)
else
GNUNET_free (queue);
- if (NULL == lt->listen_task)
+ if ((! shutdown_running) && (NULL == lt->listen_task))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "add read net listen\n");
lt->listen_task = GNUNET_SCHEDULER_add_read_net (
GNUNET_TIME_UNIT_FOREVER_REL,
lt->listen_sock,
&listen_cb,
lt);
+ }
+ else
+ GNUNET_free (lt);
}
@@ -1001,6 +1055,13 @@ core_read_finished_cb (void *cls, int success)
"# messages lost in communicator API towards CORE",
1,
GNUNET_NO);
+ if (NULL == queue)
+ return;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "backpressure %u\n",
+ queue->backpressure);
+
queue->backpressure--;
/* handle deferred queue destruction */
if ((queue->destroyed) && (0 == queue->backpressure))
@@ -1008,15 +1069,18 @@ core_read_finished_cb (void *cls, int success)
GNUNET_free (queue);
return;
}
- reschedule_queue_timeout (queue);
- /* possibly unchoke reading, now that CORE made progress */
- if (NULL == queue->read_task)
- queue->read_task =
- GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_absolute_get_remaining (
- queue->timeout),
- queue->sock,
- &queue_read,
- queue);
+ else if (GNUNET_YES != queue->destroyed)
+ {
+ reschedule_queue_timeout (queue);
+ /* possibly unchoke reading, now that CORE made progress */
+ if (NULL == queue->read_task)
+ queue->read_task =
+ GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_absolute_get_remaining (
+ queue->timeout),
+ queue->sock,
+ &queue_read,
+ queue);
+ }
}
@@ -1219,13 +1283,34 @@ rekey_monotime_cb (void *cls,
static void
do_rekey (struct Queue *queue, const struct TCPRekey *rekey)
{
- struct TcpHandshakeSignature thp;
+ struct TcpRekeySignature thp;
+
thp.purpose.purpose = htonl (GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY);
thp.purpose.size = htonl (sizeof(thp));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "do_rekey size %u\n",
+ thp.purpose.size);
thp.sender = queue->target;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "sender %s\n",
+ GNUNET_p2s (&thp.sender.public_key));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "sender %s\n",
+ GNUNET_p2s (&queue->target.public_key));
thp.receiver = my_identity;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "receiver %s\n",
+ GNUNET_p2s (&thp.receiver.public_key));
thp.ephemeral = rekey->ephemeral;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "ephemeral %s\n",
+ GNUNET_e2s (&thp.ephemeral));
thp.monotonic_time = rekey->monotonic_time;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "time %s\n",
+ GNUNET_STRINGS_absolute_time_to_string (
+ GNUNET_TIME_absolute_ntoh (thp.monotonic_time)));
+ GNUNET_assert (ntohl ((&thp)->purpose.size) == sizeof (*(&thp)));
if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY,
&thp,
@@ -1359,7 +1444,7 @@ try_handle_plaintext (struct Queue *queue)
if ((-1 != unverified_size) && (unverified_size > INITIAL_CORE_KX_SIZE))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Already received data of size %u bigger than KX size %u!\n",
+ "Already received data of size %lu bigger than KX size %lu!\n",
unverified_size,
INITIAL_CORE_KX_SIZE);
GNUNET_break_op (0);
@@ -1636,6 +1721,8 @@ tcp_address_to_sockaddr_numeric_v6 (socklen_t *sock_len, struct sockaddr_in6 v6,
#if HAVE_SOCKADDR_IN_SIN_LEN
v6.sin6_len = sizeof(sizeof(struct sockaddr_in6));
#endif
+ v6.sin6_flowinfo = 0;
+ v6.sin6_scope_id = 0;
in = GNUNET_memdup (&v6, sizeof(v6));
*sock_len = sizeof(struct sockaddr_in6);
@@ -1739,11 +1826,19 @@ extract_address (const char *bindto)
char *cp;
char *rest = NULL;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "extract address with bindto %s\n",
+ bindto);
+
if (NULL == bindto)
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"bindto is NULL\n");
cp = GNUNET_strdup (bindto);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "extract address 2\n");
+
start = cp;
if (('[' == *cp) && (']' == cp[strlen (cp) - 1]))
{
@@ -1763,7 +1858,11 @@ extract_address (const char *bindto)
}
}
- GNUNET_free (cp);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "extract address 3\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "extract address with start %s\n",
+ start);
return start;
}
@@ -1865,10 +1964,25 @@ tcp_address_to_sockaddr (const char *bindto, socklen_t *sock_len)
// cp = GNUNET_strdup (bindto);
start = extract_address (bindto);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "start %s\n",
+ start);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "!bindto %s\n",
+ bindto);
+
+
+
if (1 == inet_pton (AF_INET, start, &v4.sin_addr))
{
// colon = strrchr (cp, ':');
port = extract_port (bindto);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "port %u\n",
+ port);
+
in = tcp_address_to_sockaddr_numeric_v4 (sock_len, v4, port);
}
else if (1 == inet_pton (AF_INET6, start, &v6.sin6_addr))
@@ -1877,6 +1991,11 @@ tcp_address_to_sockaddr (const char *bindto, socklen_t *sock_len)
port = extract_port (bindto);
in = tcp_address_to_sockaddr_numeric_v6 (sock_len, v6, port);
}
+ else{
+ GNUNET_assert (0);
+ }
+
+ // GNUNET_free (start);
return in;
}
@@ -1913,7 +2032,7 @@ static void
inject_rekey (struct Queue *queue)
{
struct TCPRekey rekey;
- struct TcpHandshakeSignature thp;
+ struct TcpRekeySignature thp;
GNUNET_assert (0 == queue->pwrite_off);
memset (&rekey, 0, sizeof(rekey));
@@ -1925,10 +2044,26 @@ inject_rekey (struct Queue *queue)
GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get_monotonic (cfg));
thp.purpose.purpose = htonl (GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY);
thp.purpose.size = htonl (sizeof(thp));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "inject_rekey size %u\n",
+ thp.purpose.size);
thp.sender = my_identity;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "sender %s\n",
+ GNUNET_p2s (&thp.sender.public_key));
thp.receiver = queue->target;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "receiver %s\n",
+ GNUNET_p2s (&thp.receiver.public_key));
thp.ephemeral = rekey.ephemeral;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "ephemeral %s\n",
+ GNUNET_e2s (&thp.ephemeral));
thp.monotonic_time = rekey.monotonic_time;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "time %s\n",
+ GNUNET_STRINGS_absolute_time_to_string (
+ GNUNET_TIME_absolute_ntoh (thp.monotonic_time)));
GNUNET_CRYPTO_eddsa_sign (my_private_key,
&thp,
&rekey.sender_sig);
@@ -2004,10 +2139,11 @@ queue_write (void *cls)
queue->cwrite_off += queue->pwrite_off;
queue->pwrite_off = 0;
}
- if ((0 == queue->pwrite_off) &&
- ((0 == queue->rekey_left_bytes) ||
- (0 ==
- GNUNET_TIME_absolute_get_remaining (queue->rekey_time).rel_value_us)))
+ if ((-1 != unverified_size)&& ((0 == queue->pwrite_off) &&
+ ((0 == queue->rekey_left_bytes) ||
+ (0 ==
+ GNUNET_TIME_absolute_get_remaining (
+ queue->rekey_time).rel_value_us))))
{
inject_rekey (queue);
}
@@ -2403,11 +2539,6 @@ decrypt_and_check_tc (struct Queue *queue,
static void
free_proto_queue (struct ProtoQueue *pq)
{
- if (NULL != pq->listen_task)
- {
- GNUNET_SCHEDULER_cancel (pq->listen_task);
- pq->listen_task = NULL;
- }
if (NULL != pq->listen_sock)
{
GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (pq->listen_sock));
@@ -2526,7 +2657,6 @@ proto_read_kx (void *cls)
queue->address = pq->address; /* steals reference */
queue->address_len = pq->address_len;
queue->target = tc.sender;
- queue->listen_task = pq->listen_task;
queue->listen_sock = pq->listen_sock;
queue->sock = pq->sock;
@@ -2569,6 +2699,9 @@ listen_cb (void *cls)
struct ProtoQueue *pq;
struct ListenTask *lt;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "listen_cb\n");
+
lt = cls;
lt->listen_task = NULL;
@@ -2707,7 +2840,7 @@ mq_init (void *cls, const struct GNUNET_PeerIdentity *peer, const char *address)
struct Queue *queue;
const char *path;
struct sockaddr *in;
- socklen_t in_len;
+ socklen_t in_len = 0;
struct GNUNET_NETWORK_Handle *sock;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -2729,6 +2862,10 @@ mq_init (void *cls, const struct GNUNET_PeerIdentity *peer, const char *address)
return GNUNET_SYSERR;
}
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "in %s\n",
+ GNUNET_a2s (in, in_len));
+
sock = GNUNET_NETWORK_socket_create (in->sa_family, SOCK_STREAM, IPPROTO_TCP);
if (NULL == sock)
{
@@ -2778,6 +2915,36 @@ mq_init (void *cls, const struct GNUNET_PeerIdentity *peer, const char *address)
}
/**
+ * Iterator over all ListenTasks to clean up.
+ *
+ * @param cls NULL
+ * @param key unused
+ * @param value the ListenTask to cancel.
+ * @return #GNUNET_OK to continue to iterate
+ */
+static int
+get_lt_delete_it (void *cls,
+ const struct GNUNET_HashCode *key,
+ void *value)
+{
+ struct ListenTask *lt = value;
+
+ (void) cls;
+ (void) key;
+ if (NULL != lt->listen_task)
+ {
+ GNUNET_SCHEDULER_cancel (lt->listen_task);
+ lt->listen_task = NULL;
+ }
+ if (NULL != lt->listen_sock)
+ {
+ GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (lt->listen_sock));
+ lt->listen_sock = NULL;
+ }
+ return GNUNET_OK;
+}
+
+/**
* Iterator over all message queues to clean up.
*
* @param cls NULL
@@ -2798,7 +2965,6 @@ get_queue_delete_it (void *cls,
return GNUNET_OK;
}
-
/**
* Shutdown the UNIX communicator.
*
@@ -2807,6 +2973,15 @@ get_queue_delete_it (void *cls,
static void
do_shutdown (void *cls)
{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Shutdown %s!\n",
+ shutdown_running ? "running" : "not running");
+
+ if (GNUNET_YES == shutdown_running)
+ return;
+ else
+ shutdown_running = GNUNET_YES;
+
while (NULL != proto_head)
free_proto_queue (proto_head);
if (NULL != nat)
@@ -2814,8 +2989,10 @@ do_shutdown (void *cls)
GNUNET_NAT_unregister (nat);
nat = NULL;
}
+ GNUNET_CONTAINER_multihashmap_iterate (lt_map, &get_lt_delete_it, NULL);
GNUNET_CONTAINER_multipeermap_iterate (queue_map, &get_queue_delete_it, NULL);
GNUNET_CONTAINER_multipeermap_destroy (queue_map);
+ GNUNET_TRANSPORT_communicator_address_remove_all (ch);
if (NULL != ch)
{
GNUNET_TRANSPORT_communicator_disconnect (ch);
@@ -2836,6 +3013,18 @@ do_shutdown (void *cls)
GNUNET_NT_scanner_done (is);
is = NULL;
}
+ if (NULL != peerstore)
+ {
+ GNUNET_PEERSTORE_disconnect (peerstore, GNUNET_NO);
+ peerstore = NULL;
+ }
+ if (NULL != resolve_request_handle)
+ {
+ GNUNET_RESOLVER_request_cancel (resolve_request_handle);
+ resolve_request_handle = NULL;
+ }
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Shutdown done!\n");
}
@@ -2886,6 +3075,11 @@ nat_address_cb (void *cls,
char *my_addr;
struct GNUNET_TRANSPORT_AddressIdentifier *ai;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "nat address cb %s %s\n",
+ add_remove ? "add" : "remove",
+ GNUNET_a2s (addr, addrlen));
+
if (GNUNET_YES == add_remove)
{
enum GNUNET_NetworkType nt;
@@ -2912,6 +3106,35 @@ nat_address_cb (void *cls,
}
/**
+ * This method adds addresses to the DLL, that are later register at the NAT service.
+ */
+static void
+add_addr (struct sockaddr *in, socklen_t in_len)
+{
+
+ struct Addresses *saddrs;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "add address %s\n",
+ GNUNET_a2s (in, in_len));
+
+ saddrs = GNUNET_new (struct Addresses);
+ saddrs->addr = in;
+ saddrs->addr_len = in_len;
+ GNUNET_CONTAINER_DLL_insert (addrs_head, addrs_tail, saddrs);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "after add address %s\n",
+ GNUNET_a2s (in, in_len));
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "add address %s\n",
+ GNUNET_a2s (saddrs->addr, saddrs->addr_len));
+
+ addrs_lens++;
+}
+
+/**
* This method launch network interactions for each address we like to bind to.
*
* @param addr The address we will listen to.
@@ -2919,13 +3142,14 @@ nat_address_cb (void *cls,
* @return GNUNET_SYSERR in case of error. GNUNET_OK in case we are successfully listen to the address.
*/
static int
-init_socket (const struct sockaddr *addr,
+init_socket (struct sockaddr *addr,
socklen_t in_len)
{
struct sockaddr_storage in_sto;
socklen_t sto_len;
struct GNUNET_NETWORK_Handle *listen_sock;
struct ListenTask *lt;
+ struct GNUNET_HashCode h_sock;
if (NULL == addr)
{
@@ -2977,13 +3201,12 @@ init_socket (const struct sockaddr *addr,
sto_len = in_len;
}
- addr = (struct sockaddr *) &in_sto;
+ // addr = (struct sockaddr *) &in_sto;
in_len = sto_len;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Bound to `%s'\n",
GNUNET_a2s ((const struct sockaddr *) &in_sto, sto_len));
stats = GNUNET_STATISTICS_create ("C-TCP", cfg);
- GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
if (NULL == is)
is = GNUNET_NT_scanner_init ();
@@ -3012,6 +3235,27 @@ init_socket (const struct sockaddr *addr,
&listen_cb,
lt);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "creating hash\n");
+ GNUNET_CRYPTO_hash (lt->listen_sock,
+ sizeof(lt->listen_sock),
+ &h_sock);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "creating map\n");
+ if (NULL == lt_map)
+ lt_map = GNUNET_CONTAINER_multihashmap_create (2, GNUNET_NO);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "creating map entry\n");
+ GNUNET_CONTAINER_multihashmap_put (lt_map,
+ &h_sock,
+ lt,
+ GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "map entry created\n");
+
if (NULL == queue_map)
queue_map = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO);
@@ -3034,6 +3278,7 @@ init_socket (const struct sockaddr *addr,
return GNUNET_SYSERR;
}
+ add_addr (addr, in_len);
return GNUNET_OK;
}
@@ -3050,6 +3295,10 @@ nat_register ()
int i;
struct Addresses *pos;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "starting nat register!\n");
+
i = 0;
saddrs = GNUNET_malloc ((addrs_lens + 1) * sizeof(struct sockaddr *));
@@ -3058,9 +3307,12 @@ nat_register ()
for (pos = addrs_head; NULL != pos; pos = pos->next)
{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "registering address %s\n",
+ GNUNET_a2s (addrs_head->addr, addrs_head->addr_len));
+
saddr_lens[i] = addrs_head->addr_len;
- saddrs[i] = GNUNET_malloc (saddr_lens[i]);
- saddrs[i] = addrs_head->addr;
+ saddrs[i] = GNUNET_memdup (addrs_head->addr, saddr_lens[i]);
i++;
@@ -3078,8 +3330,8 @@ nat_register ()
i = 0;
- /*for (i = addrs_lens - 1; i >= 0; i--)
- GNUNET_free (saddrs[i]);*/
+ for (i = addrs_lens - 1; i >= 0; i--)
+ GNUNET_free (saddrs[i]);
GNUNET_free (saddrs);
GNUNET_free (saddr_lens);
@@ -3093,22 +3345,6 @@ nat_register ()
}
/**
- * This method adds addresses to the DLL, that are later register at the NAT service.
- */
-static void
-add_addr (struct sockaddr *in, socklen_t in_len)
-{
-
- struct Addresses *saddrs;
-
- saddrs = GNUNET_new (struct Addresses);
- saddrs->addr = in;
- saddrs->addr_len = in_len;
- GNUNET_CONTAINER_DLL_insert (addrs_head, addrs_tail, saddrs);
- addrs_lens++;
-}
-
-/**
* This method is the callback called by the resolver API, and wraps method init_socket.
*
* @param cls The port we will bind to.
@@ -3123,22 +3359,19 @@ init_socket_resolv (void *cls,
struct sockaddr_in *v4;
struct sockaddr_in6 *v6;
struct sockaddr *in;
- unsigned int *port;
- port = cls;
+ (void) cls;
if (NULL != addr)
{
if (AF_INET == addr->sa_family)
{
v4 = (struct sockaddr_in *) addr;
- in = tcp_address_to_sockaddr_numeric_v4 (&in_len, *v4, *port);// _global);
- add_addr (in, in_len);
+ in = tcp_address_to_sockaddr_numeric_v4 (&in_len, *v4, bind_port);// _global);
}
else if (AF_INET6 == addr->sa_family)
{
v6 = (struct sockaddr_in6 *) addr;
- in = tcp_address_to_sockaddr_numeric_v6 (&in_len, *v6, *port);// _global);
- add_addr (in, in_len);
+ in = tcp_address_to_sockaddr_numeric_v6 (&in_len, *v6, bind_port);// _global);
}
else
{
@@ -3149,14 +3382,20 @@ init_socket_resolv (void *cls,
AF_INET6);
return;
}
- init_socket (in,
- in_len);
+ init_socket (in, in_len);
}
else
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Address is NULL. This might be an error or the resolver finished resolving.\n");
+ if (NULL == addrs_head)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "Resolver finished resolving, but we do not listen to an address!.\n");
+ return;
+ }
nat_register ();
+
}
}
@@ -3221,12 +3460,11 @@ run (void *cls,
return;
}
- // cp = GNUNET_strdup (bindto);
- start = extract_address (bindto);
+ GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
- if (1 == sscanf (bindto, "%u%1s", &port, dummy))
+ if (1 == sscanf (bindto, "%u%1s", &bind_port, dummy))
{
- po = tcp_address_to_sockaddr_port_only (bindto, &port);
+ po = tcp_address_to_sockaddr_port_only (bindto, &bind_port);
addr_len_ipv4 = po->addr_len_ipv4;
@@ -3238,46 +3476,55 @@ run (void *cls,
if (NULL != po->addr_ipv4)
{
init_socket (po->addr_ipv4, addr_len_ipv4);
- add_addr (po->addr_ipv4, addr_len_ipv4);
}
if (NULL != po->addr_ipv6)
{
addr_len_ipv6 = po->addr_len_ipv6;
init_socket (po->addr_ipv6, addr_len_ipv6);
- add_addr (po->addr_ipv6, addr_len_ipv6);
}
+ GNUNET_free (po);
nat_register ();
+ GNUNET_free (bindto);
+
+ return;
}
- else if (1 == inet_pton (AF_INET, start, &v4.sin_addr))
+
+ start = extract_address (bindto);
+
+ if (1 == inet_pton (AF_INET, start, &v4.sin_addr))
{
- port = extract_port (bindto);
+ bind_port = extract_port (bindto);
- in = tcp_address_to_sockaddr_numeric_v4 (&in_len, v4, port);
+ in = tcp_address_to_sockaddr_numeric_v4 (&in_len, v4, bind_port);
init_socket (in, in_len);
- add_addr (in, in_len);
nat_register ();
+ GNUNET_free (bindto);
+
+ return;
}
- else if (1 == inet_pton (AF_INET6, start, &v6.sin6_addr))
+
+ if (1 == inet_pton (AF_INET6, start, &v6.sin6_addr))
{
- port = extract_port (bindto);
- in = tcp_address_to_sockaddr_numeric_v6 (&in_len, v6, port);
+ bind_port = extract_port (bindto);
+ in = tcp_address_to_sockaddr_numeric_v6 (&in_len, v6, bind_port);
init_socket (in, in_len);
- add_addr (in, in_len);
nat_register ();
- }
- else
- {
- port = extract_port (bindto);
+ GNUNET_free (bindto);
- resolve_request_handle = GNUNET_RESOLVER_ip_get (strtok_r (bindto, ":",
- &rest),
- AF_UNSPEC,
- GNUNET_TIME_UNIT_MINUTES,
- &init_socket_resolv,
- &port);
+ return;
}
+
+
+ bind_port = extract_port (bindto);
+
+ resolve_request_handle = GNUNET_RESOLVER_ip_get (strtok_r (bindto, ":",
+ &rest),
+ AF_UNSPEC,
+ GNUNET_TIME_UNIT_MINUTES,
+ &init_socket_resolv,
+ &port);
GNUNET_free (bindto);
}
diff --git a/src/transport/test_communicator_basic.c b/src/transport/test_communicator_basic.c
index e2d2eb73c..aa02bda93 100644
--- a/src/transport/test_communicator_basic.c
+++ b/src/transport/test_communicator_basic.c
@@ -124,6 +124,25 @@ communicator_available_cb (void *cls,
address_prefix);
}
+static void
+open_queue (void *cls)
+{
+ char *address = cls;
+
+ if (NULL != tc_hs[PEER_A]->c_mq)
+ {
+ queue_est = GNUNET_YES;
+ GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue (tc_hs[PEER_A],
+ &peer_id[PEER_B],
+ address);
+ }
+ else
+ {
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+ &open_queue,
+ address);
+ }
+}
static void
add_address_cb (void *cls,
@@ -144,10 +163,7 @@ add_address_cb (void *cls,
if ((0 == strcmp ((char*) cls, cfg_peers_name[PEER_B])) &&
(GNUNET_NO == queue_est))
{
- queue_est = GNUNET_YES;
- GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue (tc_hs[PEER_A],
- &peer_id[PEER_B],
- address);
+ open_queue (address);
}
}
diff --git a/src/transport/test_communicator_tcp_rekey_peer2.conf b/src/transport/test_communicator_tcp_rekey_peer2.conf
index 138650a3b..643b037b2 100644
--- a/src/transport/test_communicator_tcp_rekey_peer2.conf
+++ b/src/transport/test_communicator_tcp_rekey_peer2.conf
@@ -31,10 +31,10 @@ UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-resolver_test_2.sock
UNIXPATH = $GNUNET_RUNTIME_DIR/test_gnunet-communicator-unix_2.sock
[communicator-tcp]
-#PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args
+#PREFIX = xterm -geometry 100x85 -T peer2 -e gdb --args
#PREFIX = valgrind --leak-check=full --track-origins=yes
BINDTO = 60003
-DISABLE_V6 = YES
+DISABLE_V6 = NO
REKEY_INTERVAL = 100ms
[communicator-udp]
diff --git a/src/transport/test_communicator_unix_basic_peer1.conf b/src/transport/test_communicator_unix_basic_peer1.conf
index 71283e381..8e9700108 100644
--- a/src/transport/test_communicator_unix_basic_peer1.conf
+++ b/src/transport/test_communicator_unix_basic_peer1.conf
@@ -28,6 +28,8 @@ PORT = 62089
UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-resolver_test_1.sock
[communicator-unix]
+#PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args
+#PREFIX = valgrind --leak-check=full --track-origins=yes
UNIXPATH = $GNUNET_RUNTIME_DIR/communicator-unix-1.sock
[communicator-tcp]
diff --git a/src/transport/test_communicator_unix_basic_peer2.conf b/src/transport/test_communicator_unix_basic_peer2.conf
index ac95845b2..c12cc9111 100644
--- a/src/transport/test_communicator_unix_basic_peer2.conf
+++ b/src/transport/test_communicator_unix_basic_peer2.conf
@@ -28,6 +28,8 @@ PORT = 62090
UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-resolver_test_2.sock
[communicator-unix]
+#PREFIX = xterm -geometry 100x85 -T peer2 -e gdb --args
+#PREFIX = valgrind --leak-check=full --track-origins=yes
UNIXPATH = $GNUNET_RUNTIME_DIR/communicator-unix-2.sock
[communicator-tcp]
diff --git a/src/transport/transport-testing2.c b/src/transport/transport-testing2.c
index 13944e9f0..98cfd5e29 100644
--- a/src/transport/transport-testing2.c
+++ b/src/transport/transport-testing2.c
@@ -59,145 +59,6 @@ struct MyClient
};
/**
- * @brief Handle to a transport communicator
- */
-struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle
-{
- /**
- * Clients
- */
- struct MyClient *client_head;
- struct MyClient *client_tail;
-
- /**
- * @brief Handle to the client
- */
- struct GNUNET_MQ_Handle *c_mq;
-
- /**
- * @brief Handle to the configuration
- */
- struct GNUNET_CONFIGURATION_Handle *cfg;
-
- /**
- * @brief File name of configuration file
- */
- char *cfg_filename;
-
- struct GNUNET_PeerIdentity peer_id;
-
- /**
- * @brief Handle to the transport service
- */
- struct GNUNET_SERVICE_Handle *tsh;
-
- /**
- * @brief Task that will be run on shutdown to stop and clean transport
- * service
- */
- struct GNUNET_SCHEDULER_Task *ts_shutdown_task;
-
-
- /**
- * @brief Process of the communicator
- */
- struct GNUNET_OS_Process *c_proc;
-
- /**
- * NAT process
- */
- struct GNUNET_OS_Process *nat_proc;
-
- /**
- * resolver service process
- */
- struct GNUNET_OS_Process *resolver_proc;
-
- /**
- * peerstore service process
- */
- struct GNUNET_OS_Process *ps_proc;
-
- /**
- * @brief Task that will be run on shutdown to stop and clean communicator
- */
- struct GNUNET_SCHEDULER_Task *c_shutdown_task;
-
- /**
- * @brief Characteristics of the communicator
- */
- enum GNUNET_TRANSPORT_CommunicatorCharacteristics c_characteristics;
-
- /**
- * @brief Specifies supported addresses
- */
- char *c_addr_prefix;
-
- /**
- * @brief Specifies supported addresses
- */
- char *c_address;
-
- /**
- * @brief Head of the DLL of queues associated with this communicator
- */
- struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *queue_head;
-
- /**
- * @brief Tail of the DLL of queues associated with this communicator
- */
- struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *queue_tail;
-
- /* Callbacks + Closures */
- /**
- * @brief Callback called when a new communicator connects
- */
- GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback
- communicator_available_cb;
-
- /**
- * @brief Callback called when a new communicator connects
- */
- GNUNET_TRANSPORT_TESTING_AddAddressCallback add_address_cb;
-
- /**
- * @brief Callback called when a new communicator connects
- */
- GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback queue_create_reply_cb;
-
- /**
- * @brief Callback called when a new communicator connects
- */
- GNUNET_TRANSPORT_TESTING_AddQueueCallback add_queue_cb;
-
- /**
- * @brief Callback called when a new communicator connects
- */
- GNUNET_TRANSPORT_TESTING_IncomingMessageCallback incoming_msg_cb;
-
- /**
- * @brief Backchannel callback
- */
- GNUNET_TRANSPORT_TESTING_BackchannelCallback bc_cb;
-
- /**
- * Our service handle
- */
- struct GNUNET_SERVICE_Handle *sh;
-
- /**
- * @brief Closure to the callback
- */
- void *cb_cls;
-
- /**
- * Backchannel supported
- */
- int bc_enabled;
-};
-
-
-/**
* @brief Queue of a communicator and some context
*/
struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue
@@ -707,6 +568,9 @@ shutdown_service (void *cls)
{
struct GNUNET_SERVICE_Handle *h = cls;
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Shutting down service!\n");
+
GNUNET_SERVICE_stop (h);
}
@@ -897,7 +761,6 @@ shutdown_process (struct GNUNET_OS_Process *proc)
GNUNET_OS_process_destroy (proc);
}
-
static void
shutdown_peerstore (void *cls)
{
@@ -905,7 +768,6 @@ shutdown_peerstore (void *cls)
shutdown_process (proc);
}
-
static void
shutdown_communicator (void *cls)
{
@@ -941,8 +803,7 @@ communicator_start (
binary = GNUNET_OS_get_libexec_binary_path (binary_name);
- tc_h->c_proc = GNUNET_OS_start_process_s (GNUNET_OS_USE_PIPE_CONTROL
- | GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+ tc_h->c_proc = GNUNET_OS_start_process_s (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
NULL,
loprefix,
binary,
@@ -1026,10 +887,8 @@ peerstore_start (
{
char *binary;
- LOG (GNUNET_ERROR_TYPE_DEBUG, "peerstore_start\n");
binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-peerstore");
- tc_h->ps_proc = GNUNET_OS_start_process (GNUNET_OS_USE_PIPE_CONTROL
- | GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+ tc_h->ps_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
NULL,
NULL,
NULL,
@@ -1047,7 +906,6 @@ peerstore_start (
GNUNET_free (binary);
}
-
/**
* @brief Start NAT
*
@@ -1208,6 +1066,8 @@ GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue (
memcpy (&msg[1], address, alen);
if (NULL != tc_h->c_mq)
{
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Sending queue create immediately\n");
GNUNET_MQ_send (tc_h->c_mq, env);
}
else
diff --git a/src/transport/transport-testing2.h b/src/transport/transport-testing2.h
index b77125e82..04f75fc88 100644
--- a/src/transport/transport-testing2.h
+++ b/src/transport/transport-testing2.h
@@ -29,13 +29,6 @@
#include "gnunet_ats_transport_service.h"
#include "transport.h"
-
-/**
- * @brief Handle to a transport communicator
- */
-struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle;
-
-
/**
* @brief Queue of a communicator and some context
*/
@@ -151,6 +144,143 @@ typedef void
const char*payload,
size_t payload_len);
+/**
+ * @brief Handle to a transport communicator
+ */
+struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle
+{
+ /**
+ * Clients
+ */
+ struct MyClient *client_head;
+ struct MyClient *client_tail;
+
+ /**
+ * @brief Handle to the client
+ */
+ struct GNUNET_MQ_Handle *c_mq;
+
+ /**
+ * @brief Handle to the configuration
+ */
+ struct GNUNET_CONFIGURATION_Handle *cfg;
+
+ /**
+ * @brief File name of configuration file
+ */
+ char *cfg_filename;
+
+ struct GNUNET_PeerIdentity peer_id;
+
+ /**
+ * @brief Handle to the transport service
+ */
+ struct GNUNET_SERVICE_Handle *tsh;
+
+ /**
+ * @brief Task that will be run on shutdown to stop and clean transport
+ * service
+ */
+ struct GNUNET_SCHEDULER_Task *ts_shutdown_task;
+
+
+ /**
+ * @brief Process of the communicator
+ */
+ struct GNUNET_OS_Process *c_proc;
+
+ /**
+ * NAT process
+ */
+ struct GNUNET_OS_Process *nat_proc;
+
+ /**
+ * resolver service process
+ */
+ struct GNUNET_OS_Process *resolver_proc;
+
+ /**
+ * peerstore service process
+ */
+ struct GNUNET_OS_Process *ps_proc;
+
+ /**
+ * @brief Task that will be run on shutdown to stop and clean communicator
+ */
+ struct GNUNET_SCHEDULER_Task *c_shutdown_task;
+
+ /**
+ * @brief Characteristics of the communicator
+ */
+ enum GNUNET_TRANSPORT_CommunicatorCharacteristics c_characteristics;
+
+ /**
+ * @brief Specifies supported addresses
+ */
+ char *c_addr_prefix;
+
+ /**
+ * @brief Specifies supported addresses
+ */
+ char *c_address;
+
+ /**
+ * @brief Head of the DLL of queues associated with this communicator
+ */
+ struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *queue_head;
+
+ /**
+ * @brief Tail of the DLL of queues associated with this communicator
+ */
+ struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *queue_tail;
+
+ /* Callbacks + Closures */
+ /**
+ * @brief Callback called when a new communicator connects
+ */
+ GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback
+ communicator_available_cb;
+
+ /**
+ * @brief Callback called when a new communicator connects
+ */
+ GNUNET_TRANSPORT_TESTING_AddAddressCallback add_address_cb;
+
+ /**
+ * @brief Callback called when a new communicator connects
+ */
+ GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback queue_create_reply_cb;
+
+ /**
+ * @brief Callback called when a new communicator connects
+ */
+ GNUNET_TRANSPORT_TESTING_AddQueueCallback add_queue_cb;
+
+ /**
+ * @brief Callback called when a new communicator connects
+ */
+ GNUNET_TRANSPORT_TESTING_IncomingMessageCallback incoming_msg_cb;
+
+ /**
+ * @brief Backchannel callback
+ */
+ GNUNET_TRANSPORT_TESTING_BackchannelCallback bc_cb;
+
+ /**
+ * Our service handle
+ */
+ struct GNUNET_SERVICE_Handle *sh;
+
+ /**
+ * @brief Closure to the callback
+ */
+ void *cb_cls;
+
+ /**
+ * Backchannel supported
+ */
+ int bc_enabled;
+};
/**
* @brief Start communicator part of transport service and communicator
diff --git a/src/transport/transport_api2_communication.c b/src/transport/transport_api2_communication.c
index d1e28cc36..b048ad851 100644
--- a/src/transport/transport_api2_communication.c
+++ b/src/transport/transport_api2_communication.c
@@ -1081,7 +1081,6 @@ GNUNET_TRANSPORT_communicator_address_add (
return ai;
}
-
/**
* Notify transport service about an address that this communicator no
* longer provides for this peer.
@@ -1100,6 +1099,20 @@ GNUNET_TRANSPORT_communicator_address_remove (
GNUNET_free (ai);
}
+/**
+ * Notify transport service that this communicator no longer provides all its addresses for this peer.
+ *
+ * @param ch The communicator handle.
+ */
+void
+GNUNET_TRANSPORT_communicator_address_remove_all (
+ struct GNUNET_TRANSPORT_CommunicatorHandle *ch)
+{
+ for (struct GNUNET_TRANSPORT_AddressIdentifier *ai = ch->ai_head; NULL != ai;
+ ai = ai->next)
+ GNUNET_TRANSPORT_communicator_address_remove (ai);
+}
+
/* ************************* Backchannel *************************** */
diff --git a/src/util/crypto_hash.c b/src/util/crypto_hash.c
index 0dbe9dbe8..94b6f5099 100644
--- a/src/util/crypto_hash.c
+++ b/src/util/crypto_hash.c
@@ -94,7 +94,7 @@ GNUNET_CRYPTO_hash_to_enc (const struct GNUNET_HashCode *block,
* @param result where to store the hash code
* @return #GNUNET_OK on success, #GNUNET_SYSERR if result has the wrong encoding
*/
-int
+enum GNUNET_GenericReturnValue
GNUNET_CRYPTO_hash_from_string2 (const char *enc,
size_t enclen,
struct GNUNET_HashCode *result)
diff --git a/src/util/gnunet-qr.c b/src/util/gnunet-qr.c
index 83b2af2fc..451d61d40 100644
--- a/src/util/gnunet-qr.c
+++ b/src/util/gnunet-qr.c
@@ -36,7 +36,7 @@
/**
* Video device to capture from. Sane default for GNU/Linux systems.
*/
-static char *device = "/dev/video0";
+static char *device;
/**
* --verbose option
@@ -51,7 +51,7 @@ static int silent = false;
/**
* Handler exit code
*/
-static long unsigned int exit_code = 1;
+static long unsigned int exit_code = 0;
/**
* Helper process we started.
@@ -228,6 +228,8 @@ get_symbol (zbar_processor_t *proc)
}
/* initialize the Processor */
+ if (NULL == device)
+ device = GNUNET_strdup ("/dev/video0");
if (0 != (rc = zbar_processor_init (proc, device, 1)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -306,6 +308,7 @@ run_zbar ()
ret = GNUNET_strdup (data);
/* clean up */
zbar_processor_destroy (proc);
+ GNUNET_free (device);
return ret;
}
diff --git a/src/util/gnunet-uri.c b/src/util/gnunet-uri.c
index 9443c9120..de0ff1f92 100644
--- a/src/util/gnunet-uri.c
+++ b/src/util/gnunet-uri.c
@@ -29,7 +29,7 @@
/**
* Handler exit code
*/
-static long unsigned int exit_code = 1;
+static long unsigned int exit_code = 0;
/**
* Helper process we started.
diff --git a/src/util/mq.c b/src/util/mq.c
index 302b310de..29ead02a4 100644
--- a/src/util/mq.c
+++ b/src/util/mq.c
@@ -273,7 +273,7 @@ GNUNET_MQ_handle_message (const struct GNUNET_MQ_MessageHandler *handlers,
break;
}
}
-done:
+ done:
if (GNUNET_NO == handled)
{
LOG (GNUNET_ERROR_TYPE_INFO,
@@ -355,6 +355,10 @@ void
GNUNET_MQ_send (struct GNUNET_MQ_Handle *mq,
struct GNUNET_MQ_Envelope *ev)
{
+ if (NULL == mq)
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "mq is NUll when sending message of type %u\n",
+ (unsigned int) ntohs (ev->mh->type));
GNUNET_assert (NULL != mq);
GNUNET_assert (NULL == ev->parent_queue);