aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Wimbauer <anna.wimbauer@gmx.de>2020-04-27 09:28:53 +0200
committerAnna Wimbauer <anna.wimbauer@gmx.de>2020-04-27 09:28:53 +0200
commite5bc04c4a1499a472f3b6f0bd41c275a8537071f (patch)
tree29fa88bb7336ac5c148f3c6304304a2b904f02c5
parent9a91e41070e368e929e7534c047c8360e60d1901 (diff)
parent91fd7860cba14c27d52850f91b17060790855145 (diff)
downloadgnunet-e5bc04c4a1499a472f3b6f0bd41c275a8537071f.tar.gz
gnunet-e5bc04c4a1499a472f3b6f0bd41c275a8537071f.zip
Merge branch 'master' of ssh://gnunet.org/gnunet
-rw-r--r--README2
-rw-r--r--configure.ac9
-rw-r--r--doc/man/gnunet-revocation.13
-rw-r--r--po/POTFILES.in96
-rw-r--r--po/de.po998
-rw-r--r--po/it.po966
-rw-r--r--po/sv.po1002
-rw-r--r--po/vi.po1010
-rw-r--r--po/zh_CN.po984
-rw-r--r--src/Makefile.am2
-rw-r--r--src/abd/gnunet-abd.c2
-rw-r--r--src/arm/gnunet-arm.c4
-rw-r--r--src/ats-tool/gnunet-ats.c2
-rw-r--r--src/auction/gnunet-auction-create.c2
-rw-r--r--src/auction/gnunet-auction-info.c2
-rw-r--r--src/auction/gnunet-auction-join.c2
-rw-r--r--src/cadet/gnunet-cadet.c2
-rw-r--r--src/conversation/gnunet-conversation-test.c2
-rw-r--r--src/conversation/gnunet-conversation.c2
-rw-r--r--src/core/gnunet-core.c2
-rw-r--r--src/curl/Makefile.am2
-rw-r--r--src/curl/curl.c58
-rw-r--r--src/datastore/gnunet-datastore.c2
-rw-r--r--src/dns/gnunet-dns-monitor.c2
-rw-r--r--src/dns/gnunet-dns-redirector.c2
-rw-r--r--src/fs/gnunet-auto-share.c2
-rw-r--r--src/fs/gnunet-directory.c2
-rw-r--r--src/fs/gnunet-download.c2
-rw-r--r--src/fs/gnunet-fs-profiler.c2
-rw-r--r--src/fs/gnunet-fs.c2
-rw-r--r--src/fs/gnunet-publish.c2
-rw-r--r--src/fs/gnunet-search.c2
-rw-r--r--src/fs/gnunet-unindex.c2
-rw-r--r--src/gns/gnunet-bcd.c2
-rw-r--r--src/gns/gnunet-dns2gns.c2
-rw-r--r--src/gns/gnunet-gns-benchmark.c2
-rw-r--r--src/gns/gnunet-gns-import.c2
-rw-r--r--src/gns/gnunet-gns.c2
-rw-r--r--src/gnsrecord/perf_gnsrecord_crypto.c2
-rw-r--r--src/gnsrecord/test_gnsrecord_serialization.c2
-rw-r--r--src/hostlist/gnunet-daemon-hostlist.c2
-rw-r--r--src/identity/gnunet-identity.c2
-rw-r--r--src/include/gnunet_common.h63
-rw-r--r--src/include/gnunet_json_lib.h11
-rw-r--r--src/include/gnunet_revocation_service.h142
-rw-r--r--src/json/Makefile.am1
-rw-r--r--src/json/json_gnsrecord.c4
-rw-r--r--src/json/json_helper.c54
-rw-r--r--src/json/test_json_mhd.c3
-rw-r--r--src/namecache/gnunet-namecache.c4
-rw-r--r--src/namecache/test_namecache_api_cache_block.c19
-rw-r--r--src/namestore/gnunet-namestore-fcfsd.c2
-rw-r--r--src/namestore/gnunet-namestore.c4
-rw-r--r--src/namestore/gnunet-zoneimport.c2
-rw-r--r--src/namestore/plugin_rest_namestore.c2
-rw-r--r--src/namestore/test_namestore_api_lookup_private.c2
-rw-r--r--src/namestore/test_namestore_api_lookup_public.c2
-rw-r--r--src/namestore/test_namestore_api_lookup_shadow.c2
-rw-r--r--src/namestore/test_namestore_api_lookup_shadow_filter.c4
-rw-r--r--src/namestore/test_namestore_api_monitoring.c6
-rw-r--r--src/namestore/test_namestore_api_monitoring_existing.c6
-rw-r--r--src/namestore/test_namestore_api_remove.c2
-rw-r--r--src/namestore/test_namestore_api_store.c2
-rw-r--r--src/namestore/test_namestore_api_store_update.c2
-rw-r--r--src/namestore/test_namestore_api_zone_iteration.c42
-rw-r--r--src/namestore/test_namestore_api_zone_iteration_nick.c6
-rw-r--r--src/namestore/test_namestore_api_zone_iteration_specific_zone.c6
-rw-r--r--src/namestore/test_namestore_api_zone_iteration_stop.c45
-rw-r--r--src/nat-auto/gnunet-nat-auto.c2
-rw-r--r--src/nat/gnunet-nat.c2
-rw-r--r--src/peerinfo-tool/gnunet-peerinfo.c2
-rw-r--r--src/peerinfo-tool/plugin_rest_peerinfo.c2
-rw-r--r--src/pt/gnunet-daemon-pt.c2
-rw-r--r--src/pt/test_gns_vpn.c5
-rw-r--r--src/pt/test_gnunet_vpn.c3
-rw-r--r--src/regex/gnunet-daemon-regexprofiler.c2
-rw-r--r--src/revocation/gnunet-revocation.c212
-rw-r--r--src/revocation/gnunet-service-revocation.c39
-rw-r--r--src/revocation/plugin_block_revocation.c30
-rw-r--r--src/revocation/revocation.conf.in1
-rw-r--r--src/revocation/revocation.h19
-rw-r--r--src/revocation/revocation_api.c360
-rw-r--r--src/revocation/test_revocation.c27
-rw-r--r--src/revocation/test_revocation.conf1
-rw-r--r--src/statistics/gnunet-statistics.c2
-rw-r--r--src/template/gnunet-template.c2
-rw-r--r--src/testbed/gnunet-daemon-latency-logger.c2
-rw-r--r--src/testbed/gnunet-daemon-testbed-blacklist.c2
-rw-r--r--src/testbed/gnunet-daemon-testbed-underlay.c2
-rw-r--r--src/testbed/gnunet-testbed-profiler.c2
-rw-r--r--src/testing/gnunet-testing.c2
-rw-r--r--src/testing/testing.c2
-rw-r--r--src/topology/gnunet-daemon-topology.c2
-rw-r--r--src/transport/gnunet-communicator-tcp.c2
-rw-r--r--src/transport/gnunet-communicator-udp.c2
-rw-r--r--src/transport/gnunet-communicator-unix.c2
-rw-r--r--src/transport/gnunet-transport-profiler.c2
-rw-r--r--src/transport/gnunet-transport.c2
-rw-r--r--src/transport/tcp_service_legacy.c4
-rw-r--r--src/transport/test_plugin_transport.c14
-rw-r--r--src/util/Makefile.am1
-rw-r--r--src/util/buffer.c2
-rw-r--r--src/util/crypto_pow.c86
-rw-r--r--src/util/gnunet-config.c2
-rw-r--r--src/util/gnunet-ecc.c2
-rw-r--r--src/util/gnunet-resolver.c12
-rw-r--r--src/util/gnunet-scrypt.c2
-rw-r--r--src/util/gnunet-uri.c2
-rw-r--r--src/util/os_priority.c2
-rw-r--r--src/util/scheduler.c10
-rw-r--r--src/util/test_common_allocation.c26
-rw-r--r--src/vpn/gnunet-vpn.c2
112 files changed, 3545 insertions, 2991 deletions
diff --git a/README b/README
index f8fd811f8..5c4648b8e 100644
--- a/README
+++ b/README
@@ -96,6 +96,8 @@ These are the direct dependencies for running GNUnet:
96- which (contrib/apparmor(?), gnunet-bugreport, 96- which (contrib/apparmor(?), gnunet-bugreport,
97 and possibly more) 97 and possibly more)
98- zlib 98- zlib
99- argon2 >= 20190702 (for proof-of-work calculations in
100 revocation)
99 101
100These are the dependencies for GNUnet's testsuite: 102These are the dependencies for GNUnet's testsuite:
101~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/configure.ac b/configure.ac
index 3b3c9cbe9..bfaf8cf14 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1033,6 +1033,15 @@ AS_IF([test x$nss = xfalse],
1033AC_CHECK_LIB([kvm],[kvm_open]) 1033AC_CHECK_LIB([kvm],[kvm_open])
1034AC_CHECK_LIB([kstat],[kstat_open]) 1034AC_CHECK_LIB([kstat],[kstat_open])
1035 1035
1036argon=0
1037# test for argon2 (for POW)
1038AC_CHECK_LIB([argon2],[argon2d_hash_raw], argon=1, argon=0)
1039AS_IF([test x$argon = x1],
1040[
1041 AC_MSG_RESULT([argon2 found])
1042],[
1043 AC_MSG_ERROR([GNUnet requires argon2.])
1044])
1036 1045
1037# test for libextractor 1046# test for libextractor
1038extractor=0 1047extractor=0
diff --git a/doc/man/gnunet-revocation.1 b/doc/man/gnunet-revocation.1
index 0c447a94f..05d80178a 100644
--- a/doc/man/gnunet-revocation.1
+++ b/doc/man/gnunet-revocation.1
@@ -30,6 +30,7 @@
30.Sh SYNOPSIS 30.Sh SYNOPSIS
31.Nm 31.Nm
32.Op Fl t Ar KEY | Fl -test= Ns Ar KEY 32.Op Fl t Ar KEY | Fl -test= Ns Ar KEY
33.Op Fl e Ar EPOCHS | Fl -epochs= Ns Ar EPOCHS
33.Op Fl R Ar NAME | Fl -revoke= Ns Ar NAME 34.Op Fl R Ar NAME | Fl -revoke= Ns Ar NAME
34.Op Fl p | -perform 35.Op Fl p | -perform
35.Op Fl f Ar NAME | Fl -filename= Ns Ar NAME 36.Op Fl f Ar NAME | Fl -filename= Ns Ar NAME
@@ -50,6 +51,8 @@ Depending on your CPU, the calculation can take days or weeks.
50.Bl -tag -width indent 51.Bl -tag -width indent
51.It Fl t Ar KEY | Fl -test= Ns Ar KEY 52.It Fl t Ar KEY | Fl -test= Ns Ar KEY
52Check if the given KEY (ASCII-encoded public key required) has been revoked. 53Check if the given KEY (ASCII-encoded public key required) has been revoked.
54.It Fl e Ar EPOCHS | Fl -epochs= Ns Ar EPOCHS
55Number of epochs for which the revocation should be valid (default: 1)
53.It Fl R Ar NAME | Fl -revoke= Ns Ar NAME 56.It Fl R Ar NAME | Fl -revoke= Ns Ar NAME
54Calculate or perform revocation for the ego with the given NAME. 57Calculate or perform revocation for the ego with the given NAME.
55.It Fl p | -perform 58.It Fl p | -perform
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ed9991796..813ebc222 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,21 +10,13 @@ src/arm/arm_monitor_api.c
10src/arm/gnunet-arm.c 10src/arm/gnunet-arm.c
11src/arm/gnunet-service-arm.c 11src/arm/gnunet-service-arm.c
12src/arm/mockup-service.c 12src/arm/mockup-service.c
13src/ats-tests/ats-testing-experiment.c
14src/ats-tests/ats-testing-log.c
15src/ats-tests/ats-testing-preferences.c
16src/ats-tests/ats-testing-traffic.c
17src/ats-tests/ats-testing.c
18src/ats-tests/gnunet-ats-sim.c
19src/ats-tests/gnunet-solver-eval.c
20src/ats-tool/gnunet-ats.c
21src/ats/ats_api_connectivity.c 13src/ats/ats_api_connectivity.c
22src/ats/ats_api_performance.c 14src/ats/ats_api_performance.c
23src/ats/ats_api_scanner.c 15src/ats/ats_api_scanner.c
24src/ats/ats_api_scheduling.c 16src/ats/ats_api_scheduling.c
25src/ats/gnunet-ats-solver-eval.c 17src/ats/gnunet-ats-solver-eval.c
26src/ats/gnunet-service-ats.c
27src/ats/gnunet-service-ats_addresses.c 18src/ats/gnunet-service-ats_addresses.c
19src/ats/gnunet-service-ats.c
28src/ats/gnunet-service-ats_connectivity.c 20src/ats/gnunet-service-ats_connectivity.c
29src/ats/gnunet-service-ats_normalization.c 21src/ats/gnunet-service-ats_normalization.c
30src/ats/gnunet-service-ats_performance.c 22src/ats/gnunet-service-ats_performance.c
@@ -33,6 +25,14 @@ src/ats/gnunet-service-ats_preferences.c
33src/ats/gnunet-service-ats_reservations.c 25src/ats/gnunet-service-ats_reservations.c
34src/ats/gnunet-service-ats_scheduling.c 26src/ats/gnunet-service-ats_scheduling.c
35src/ats/plugin_ats_proportional.c 27src/ats/plugin_ats_proportional.c
28src/ats-tests/ats-testing.c
29src/ats-tests/ats-testing-experiment.c
30src/ats-tests/ats-testing-log.c
31src/ats-tests/ats-testing-preferences.c
32src/ats-tests/ats-testing-traffic.c
33src/ats-tests/gnunet-ats-sim.c
34src/ats-tests/gnunet-solver-eval.c
35src/ats-tool/gnunet-ats.c
36src/auction/gnunet-auction-create.c 36src/auction/gnunet-auction-create.c
37src/auction/gnunet-auction-info.c 37src/auction/gnunet-auction-info.c
38src/auction/gnunet-auction-join.c 38src/auction/gnunet-auction-join.c
@@ -49,8 +49,8 @@ src/cadet/cadet_api_list_peers.c
49src/cadet/cadet_api_list_tunnels.c 49src/cadet/cadet_api_list_tunnels.c
50src/cadet/cadet_test_lib.c 50src/cadet/cadet_test_lib.c
51src/cadet/desirability_table.c 51src/cadet/desirability_table.c
52src/cadet/gnunet-cadet-profiler.c
53src/cadet/gnunet-cadet.c 52src/cadet/gnunet-cadet.c
53src/cadet/gnunet-cadet-profiler.c
54src/cadet/gnunet-service-cadet.c 54src/cadet/gnunet-service-cadet.c
55src/cadet/gnunet-service-cadet_channel.c 55src/cadet/gnunet-service-cadet_channel.c
56src/cadet/gnunet-service-cadet_connection.c 56src/cadet/gnunet-service-cadet_connection.c
@@ -66,15 +66,15 @@ src/consensus/gnunet-service-consensus.c
66src/consensus/plugin_block_consensus.c 66src/consensus/plugin_block_consensus.c
67src/conversation/conversation_api.c 67src/conversation/conversation_api.c
68src/conversation/conversation_api_call.c 68src/conversation/conversation_api_call.c
69src/conversation/gnunet-conversation-test.c
70src/conversation/gnunet-conversation.c 69src/conversation/gnunet-conversation.c
71src/conversation/gnunet-helper-audio-playback-gst.c 70src/conversation/gnunet-conversation-test.c
71src/conversation/gnunet_gst.c
72src/conversation/gnunet_gst_test.c
72src/conversation/gnunet-helper-audio-playback.c 73src/conversation/gnunet-helper-audio-playback.c
73src/conversation/gnunet-helper-audio-record-gst.c 74src/conversation/gnunet-helper-audio-playback-gst.c
74src/conversation/gnunet-helper-audio-record.c 75src/conversation/gnunet-helper-audio-record.c
76src/conversation/gnunet-helper-audio-record-gst.c
75src/conversation/gnunet-service-conversation.c 77src/conversation/gnunet-service-conversation.c
76src/conversation/gnunet_gst.c
77src/conversation/gnunet_gst_test.c
78src/conversation/microphone.c 78src/conversation/microphone.c
79src/conversation/plugin_gnsrecord_conversation.c 79src/conversation/plugin_gnsrecord_conversation.c
80src/conversation/speaker.c 80src/conversation/speaker.c
@@ -104,6 +104,7 @@ src/dht/dht_api.c
104src/dht/dht_test_lib.c 104src/dht/dht_test_lib.c
105src/dht/gnunet-dht-get.c 105src/dht/gnunet-dht-get.c
106src/dht/gnunet-dht-monitor.c 106src/dht/gnunet-dht-monitor.c
107src/dht/gnunet_dht_profiler.c
107src/dht/gnunet-dht-put.c 108src/dht/gnunet-dht-put.c
108src/dht/gnunet-service-dht.c 109src/dht/gnunet-service-dht.c
109src/dht/gnunet-service-dht_clients.c 110src/dht/gnunet-service-dht_clients.c
@@ -112,7 +113,6 @@ src/dht/gnunet-service-dht_hello.c
112src/dht/gnunet-service-dht_neighbours.c 113src/dht/gnunet-service-dht_neighbours.c
113src/dht/gnunet-service-dht_nse.c 114src/dht/gnunet-service-dht_nse.c
114src/dht/gnunet-service-dht_routing.c 115src/dht/gnunet-service-dht_routing.c
115src/dht/gnunet_dht_profiler.c
116src/dht/plugin_block_dht.c 116src/dht/plugin_block_dht.c
117src/dns/dns_api.c 117src/dns/dns_api.c
118src/dns/gnunet-dns-monitor.c 118src/dns/gnunet-dns-monitor.c
@@ -147,8 +147,8 @@ src/fs/gnunet-auto-share.c
147src/fs/gnunet-daemon-fsprofiler.c 147src/fs/gnunet-daemon-fsprofiler.c
148src/fs/gnunet-directory.c 148src/fs/gnunet-directory.c
149src/fs/gnunet-download.c 149src/fs/gnunet-download.c
150src/fs/gnunet-fs-profiler.c
151src/fs/gnunet-fs.c 150src/fs/gnunet-fs.c
151src/fs/gnunet-fs-profiler.c
152src/fs/gnunet-helper-fs-publish.c 152src/fs/gnunet-helper-fs-publish.c
153src/fs/gnunet-publish.c 153src/fs/gnunet-publish.c
154src/fs/gnunet-search.c 154src/fs/gnunet-search.c
@@ -168,9 +168,9 @@ src/gns/gns_tld_api.c
168src/gns/gnunet-bcd.c 168src/gns/gnunet-bcd.c
169src/gns/gnunet-dns2gns.c 169src/gns/gnunet-dns2gns.c
170src/gns/gnunet-gns-benchmark.c 170src/gns/gnunet-gns-benchmark.c
171src/gns/gnunet-gns.c
171src/gns/gnunet-gns-import.c 172src/gns/gnunet-gns-import.c
172src/gns/gnunet-gns-proxy.c 173src/gns/gnunet-gns-proxy.c
173src/gns/gnunet-gns.c
174src/gns/gnunet-service-gns.c 174src/gns/gnunet-service-gns.c
175src/gns/gnunet-service-gns_interceptor.c 175src/gns/gnunet-service-gns_interceptor.c
176src/gns/gnunet-service-gns_resolver.c 176src/gns/gnunet-service-gns_resolver.c
@@ -186,8 +186,8 @@ src/gnsrecord/gnsrecord_serialization.c
186src/gnsrecord/plugin_gnsrecord_dns.c 186src/gnsrecord/plugin_gnsrecord_dns.c
187src/hello/address.c 187src/hello/address.c
188src/hello/gnunet-hello.c 188src/hello/gnunet-hello.c
189src/hello/hello-ng.c
190src/hello/hello.c 189src/hello/hello.c
190src/hello/hello-ng.c
191src/hostlist/gnunet-daemon-hostlist.c 191src/hostlist/gnunet-daemon-hostlist.c
192src/hostlist/gnunet-daemon-hostlist_client.c 192src/hostlist/gnunet-daemon-hostlist_client.c
193src/hostlist/gnunet-daemon-hostlist_server.c 193src/hostlist/gnunet-daemon-hostlist_server.c
@@ -212,8 +212,8 @@ src/namecache/namecache_api.c
212src/namecache/plugin_namecache_flat.c 212src/namecache/plugin_namecache_flat.c
213src/namecache/plugin_namecache_postgres.c 213src/namecache/plugin_namecache_postgres.c
214src/namecache/plugin_namecache_sqlite.c 214src/namecache/plugin_namecache_sqlite.c
215src/namestore/gnunet-namestore-fcfsd.c
216src/namestore/gnunet-namestore.c 215src/namestore/gnunet-namestore.c
216src/namestore/gnunet-namestore-fcfsd.c
217src/namestore/gnunet-service-namestore.c 217src/namestore/gnunet-service-namestore.c
218src/namestore/gnunet-zoneimport.c 218src/namestore/gnunet-zoneimport.c
219src/namestore/namestore_api.c 219src/namestore/namestore_api.c
@@ -239,17 +239,17 @@ src/nat/gnunet-service-nat_mini.c
239src/nat/gnunet-service-nat_stun.c 239src/nat/gnunet-service-nat_stun.c
240src/nat/nat_api.c 240src/nat/nat_api.c
241src/nat/nat_api_stun.c 241src/nat/nat_api_stun.c
242src/nse/gnunet-nse-profiler.c
243src/nse/gnunet-nse.c 242src/nse/gnunet-nse.c
243src/nse/gnunet-nse-profiler.c
244src/nse/gnunet-service-nse.c 244src/nse/gnunet-service-nse.c
245src/nse/nse_api.c 245src/nse/nse_api.c
246src/nt/nt.c 246src/nt/nt.c
247src/peerinfo-tool/gnunet-peerinfo.c
248src/peerinfo-tool/gnunet-peerinfo_plugins.c
249src/peerinfo-tool/plugin_rest_peerinfo.c
250src/peerinfo/gnunet-service-peerinfo.c 247src/peerinfo/gnunet-service-peerinfo.c
251src/peerinfo/peerinfo_api.c 248src/peerinfo/peerinfo_api.c
252src/peerinfo/peerinfo_api_notify.c 249src/peerinfo/peerinfo_api_notify.c
250src/peerinfo-tool/gnunet-peerinfo.c
251src/peerinfo-tool/gnunet-peerinfo_plugins.c
252src/peerinfo-tool/plugin_rest_peerinfo.c
253src/peerstore/gnunet-peerstore.c 253src/peerstore/gnunet-peerstore.c
254src/peerstore/gnunet-service-peerstore.c 254src/peerstore/gnunet-service-peerstore.c
255src/peerstore/peerstore_api.c 255src/peerstore/peerstore_api.c
@@ -299,22 +299,22 @@ src/revocation/gnunet-revocation.c
299src/revocation/gnunet-service-revocation.c 299src/revocation/gnunet-service-revocation.c
300src/revocation/plugin_block_revocation.c 300src/revocation/plugin_block_revocation.c
301src/revocation/revocation_api.c 301src/revocation/revocation_api.c
302src/rps/gnunet-rps-profiler.c
303src/rps/gnunet-rps.c 302src/rps/gnunet-rps.c
303src/rps/gnunet-rps-profiler.c
304src/rps/gnunet-service-rps.c 304src/rps/gnunet-service-rps.c
305src/rps/gnunet-service-rps_custommap.c 305src/rps/gnunet-service-rps_custommap.c
306src/rps/gnunet-service-rps_sampler.c 306src/rps/gnunet-service-rps_sampler.c
307src/rps/gnunet-service-rps_sampler_elem.c 307src/rps/gnunet-service-rps_sampler_elem.c
308src/rps/gnunet-service-rps_view.c 308src/rps/gnunet-service-rps_view.c
309src/rps/rps_api.c
309src/rps/rps-sampler_client.c 310src/rps/rps-sampler_client.c
310src/rps/rps-sampler_common.c 311src/rps/rps-sampler_common.c
311src/rps/rps-test_util.c 312src/rps/rps-test_util.c
312src/rps/rps_api.c
313src/scalarproduct/gnunet-scalarproduct.c 313src/scalarproduct/gnunet-scalarproduct.c
314src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
315src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
316src/scalarproduct/gnunet-service-scalarproduct_alice.c 314src/scalarproduct/gnunet-service-scalarproduct_alice.c
317src/scalarproduct/gnunet-service-scalarproduct_bob.c 315src/scalarproduct/gnunet-service-scalarproduct_bob.c
316src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
317src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
318src/scalarproduct/scalarproduct_api.c 318src/scalarproduct/scalarproduct_api.c
319src/secretsharing/gnunet-secretsharing-profiler.c 319src/secretsharing/gnunet-secretsharing-profiler.c
320src/secretsharing/gnunet-service-secretsharing.c 320src/secretsharing/gnunet-service-secretsharing.c
@@ -340,16 +340,15 @@ src/statistics/gnunet-statistics.c
340src/statistics/statistics_api.c 340src/statistics/statistics_api.c
341src/template/gnunet-service-template.c 341src/template/gnunet-service-template.c
342src/template/gnunet-template.c 342src/template/gnunet-template.c
343src/testbed-logger/gnunet-service-testbed-logger.c
344src/testbed-logger/testbed_logger_api.c
345src/testbed/generate-underlay-topology.c 343src/testbed/generate-underlay-topology.c
346src/testbed/gnunet-daemon-latency-logger.c 344src/testbed/gnunet-daemon-latency-logger.c
347src/testbed/gnunet-daemon-testbed-blacklist.c 345src/testbed/gnunet-daemon-testbed-blacklist.c
348src/testbed/gnunet-daemon-testbed-underlay.c 346src/testbed/gnunet-daemon-testbed-underlay.c
349src/testbed/gnunet-helper-testbed.c 347src/testbed/gnunet-helper-testbed.c
348src/testbed/gnunet_mpi_test.c
350src/testbed/gnunet-service-test-barriers.c 349src/testbed/gnunet-service-test-barriers.c
351src/testbed/gnunet-service-testbed.c
352src/testbed/gnunet-service-testbed_barriers.c 350src/testbed/gnunet-service-testbed_barriers.c
351src/testbed/gnunet-service-testbed.c
353src/testbed/gnunet-service-testbed_cache.c 352src/testbed/gnunet-service-testbed_cache.c
354src/testbed/gnunet-service-testbed_connectionpool.c 353src/testbed/gnunet-service-testbed_connectionpool.c
355src/testbed/gnunet-service-testbed_cpustatus.c 354src/testbed/gnunet-service-testbed_cpustatus.c
@@ -357,19 +356,20 @@ src/testbed/gnunet-service-testbed_links.c
357src/testbed/gnunet-service-testbed_meminfo.c 356src/testbed/gnunet-service-testbed_meminfo.c
358src/testbed/gnunet-service-testbed_oc.c 357src/testbed/gnunet-service-testbed_oc.c
359src/testbed/gnunet-service-testbed_peers.c 358src/testbed/gnunet-service-testbed_peers.c
360src/testbed/gnunet-testbed-profiler.c
361src/testbed/gnunet_mpi_test.c
362src/testbed/gnunet_testbed_mpi_spawn.c 359src/testbed/gnunet_testbed_mpi_spawn.c
363src/testbed/testbed_api.c 360src/testbed/gnunet-testbed-profiler.c
361src/testbed-logger/gnunet-service-testbed-logger.c
362src/testbed-logger/testbed_logger_api.c
364src/testbed/testbed_api_barriers.c 363src/testbed/testbed_api_barriers.c
364src/testbed/testbed_api.c
365src/testbed/testbed_api_hosts.c 365src/testbed/testbed_api_hosts.c
366src/testbed/testbed_api_operations.c 366src/testbed/testbed_api_operations.c
367src/testbed/testbed_api_peers.c 367src/testbed/testbed_api_peers.c
368src/testbed/testbed_api_sd.c 368src/testbed/testbed_api_sd.c
369src/testbed/testbed_api_services.c 369src/testbed/testbed_api_services.c
370src/testbed/testbed_api_statistics.c 370src/testbed/testbed_api_statistics.c
371src/testbed/testbed_api_test.c
372src/testbed/testbed_api_testbed.c 371src/testbed/testbed_api_testbed.c
372src/testbed/testbed_api_test.c
373src/testbed/testbed_api_topology.c 373src/testbed/testbed_api_topology.c
374src/testbed/testbed_api_underlay.c 374src/testbed/testbed_api_underlay.c
375src/testing/gnunet-testing.c 375src/testing/gnunet-testing.c
@@ -381,40 +381,34 @@ src/transport/gnunet-communicator-tcp.c
381src/transport/gnunet-communicator-udp.c 381src/transport/gnunet-communicator-udp.c
382src/transport/gnunet-communicator-unix.c 382src/transport/gnunet-communicator-unix.c
383src/transport/gnunet-helper-transport-bluetooth.c 383src/transport/gnunet-helper-transport-bluetooth.c
384src/transport/gnunet-helper-transport-wlan-dummy.c
385src/transport/gnunet-helper-transport-wlan.c 384src/transport/gnunet-helper-transport-wlan.c
385src/transport/gnunet-helper-transport-wlan-dummy.c
386src/transport/gnunet-service-tng.c 386src/transport/gnunet-service-tng.c
387src/transport/gnunet-service-transport.c
388src/transport/gnunet-service-transport_ats.c 387src/transport/gnunet-service-transport_ats.c
388src/transport/gnunet-service-transport.c
389src/transport/gnunet-service-transport_hello.c 389src/transport/gnunet-service-transport_hello.c
390src/transport/gnunet-service-transport_manipulation.c 390src/transport/gnunet-service-transport_manipulation.c
391src/transport/gnunet-service-transport_neighbours.c 391src/transport/gnunet-service-transport_neighbours.c
392src/transport/gnunet-service-transport_plugins.c 392src/transport/gnunet-service-transport_plugins.c
393src/transport/gnunet-service-transport_validation.c 393src/transport/gnunet-service-transport_validation.c
394src/transport/gnunet-transport.c
394src/transport/gnunet-transport-profiler.c 395src/transport/gnunet-transport-profiler.c
395src/transport/gnunet-transport-wlan-receiver.c 396src/transport/gnunet-transport-wlan-receiver.c
396src/transport/gnunet-transport-wlan-sender.c 397src/transport/gnunet-transport-wlan-sender.c
397src/transport/gnunet-transport.c
398src/transport/plugin_transport_http_client.c 398src/transport/plugin_transport_http_client.c
399src/transport/plugin_transport_http_common.c 399src/transport/plugin_transport_http_common.c
400src/transport/plugin_transport_http_server.c 400src/transport/plugin_transport_http_server.c
401src/transport/plugin_transport_smtp.c 401src/transport/plugin_transport_smtp.c
402src/transport/plugin_transport_tcp.c 402src/transport/plugin_transport_tcp.c
403src/transport/plugin_transport_template.c 403src/transport/plugin_transport_template.c
404src/transport/plugin_transport_udp.c
405src/transport/plugin_transport_udp_broadcasting.c 404src/transport/plugin_transport_udp_broadcasting.c
405src/transport/plugin_transport_udp.c
406src/transport/plugin_transport_unix.c 406src/transport/plugin_transport_unix.c
407src/transport/plugin_transport_wlan.c 407src/transport/plugin_transport_wlan.c
408src/transport/tcp_connection_legacy.c 408src/transport/tcp_connection_legacy.c
409src/transport/tcp_server_legacy.c 409src/transport/tcp_server_legacy.c
410src/transport/tcp_server_mst_legacy.c 410src/transport/tcp_server_mst_legacy.c
411src/transport/tcp_service_legacy.c 411src/transport/tcp_service_legacy.c
412src/transport/transport-testing-filenames.c
413src/transport/transport-testing-loggers.c
414src/transport/transport-testing-main.c
415src/transport/transport-testing-send.c
416src/transport/transport-testing.c
417src/transport/transport-testing2.c
418src/transport/transport_api2_application.c 412src/transport/transport_api2_application.c
419src/transport/transport_api2_communication.c 413src/transport/transport_api2_communication.c
420src/transport/transport_api2_core.c 414src/transport/transport_api2_core.c
@@ -427,6 +421,12 @@ src/transport/transport_api_manipulation.c
427src/transport/transport_api_monitor_peers.c 421src/transport/transport_api_monitor_peers.c
428src/transport/transport_api_monitor_plugins.c 422src/transport/transport_api_monitor_plugins.c
429src/transport/transport_api_offer_hello.c 423src/transport/transport_api_offer_hello.c
424src/transport/transport-testing2.c
425src/transport/transport-testing.c
426src/transport/transport-testing-filenames.c
427src/transport/transport-testing-loggers.c
428src/transport/transport-testing-main.c
429src/transport/transport-testing-send.c
430src/util/bandwidth.c 430src/util/bandwidth.c
431src/util/benchmark.c 431src/util/benchmark.c
432src/util/bio.c 432src/util/bio.c
@@ -441,8 +441,8 @@ src/util/consttime_memcmp.c
441src/util/container_bloomfilter.c 441src/util/container_bloomfilter.c
442src/util/container_heap.c 442src/util/container_heap.c
443src/util/container_meta_data.c 443src/util/container_meta_data.c
444src/util/container_multihashmap.c
445src/util/container_multihashmap32.c 444src/util/container_multihashmap32.c
445src/util/container_multihashmap.c
446src/util/container_multipeermap.c 446src/util/container_multipeermap.c
447src/util/container_multishortmap.c 447src/util/container_multishortmap.c
448src/util/container_multiuuidmap.c 448src/util/container_multiuuidmap.c
@@ -466,8 +466,8 @@ src/util/dnsparser.c
466src/util/dnsstub.c 466src/util/dnsstub.c
467src/util/getopt.c 467src/util/getopt.c
468src/util/getopt_helpers.c 468src/util/getopt_helpers.c
469src/util/gnunet-config-diff.c
470src/util/gnunet-config.c 469src/util/gnunet-config.c
470src/util/gnunet-config-diff.c
471src/util/gnunet-crypto-tvg.c 471src/util/gnunet-crypto-tvg.c
472src/util/gnunet-ecc.c 472src/util/gnunet-ecc.c
473src/util/gnunet-qr.c 473src/util/gnunet-qr.c
@@ -505,8 +505,8 @@ src/vpn/gnunet-helper-vpn.c
505src/vpn/gnunet-service-vpn.c 505src/vpn/gnunet-service-vpn.c
506src/vpn/gnunet-vpn.c 506src/vpn/gnunet-vpn.c
507src/vpn/vpn_api.c 507src/vpn/vpn_api.c
508src/zonemaster/gnunet-service-zonemaster-monitor.c
509src/zonemaster/gnunet-service-zonemaster.c 508src/zonemaster/gnunet-service-zonemaster.c
509src/zonemaster/gnunet-service-zonemaster-monitor.c
510src/fs/fs_api.h 510src/fs/fs_api.h
511src/testbed/testbed_api.h 511src/testbed/testbed_api.h
512src/testbed/testbed_api_operations.h 512src/testbed/testbed_api_operations.h
diff --git a/po/de.po b/po/de.po
index 216f67f68..0257436d6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
10msgstr "" 10msgstr ""
11"Project-Id-Version: gnunet 0.10.1\n" 11"Project-Id-Version: gnunet 0.10.1\n"
12"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 12"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
13"POT-Creation-Date: 2020-01-13 14:01+0000\n" 13"POT-Creation-Date: 2020-02-13 20:41+0100\n"
14"PO-Revision-Date: 2015-03-08 16:16+0100\n" 14"PO-Revision-Date: 2015-03-08 16:16+0100\n"
15"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" 15"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
16"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" 16"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -32,8 +32,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
32msgstr "" 32msgstr ""
33 33
34#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747 34#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
35#: src/namestore/gnunet-namestore-fcfsd.c:1153
36#: src/namestore/gnunet-namestore.c:1001 35#: src/namestore/gnunet-namestore.c:1001
36#: src/namestore/gnunet-namestore-fcfsd.c:1153
37#, fuzzy, c-format 37#, fuzzy, c-format
38msgid "Failed to connect to namestore\n" 38msgid "Failed to connect to namestore\n"
39msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 39msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
@@ -143,7 +143,7 @@ msgstr ""
143msgid "GNUnet abd resolver tool" 143msgid "GNUnet abd resolver tool"
144msgstr "GNUnet Netzwerk Topologie tracen." 144msgstr "GNUnet Netzwerk Topologie tracen."
145 145
146#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288 146#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
147#, fuzzy, c-format 147#, fuzzy, c-format
148msgid "Failed to connect to GNS\n" 148msgid "Failed to connect to GNS\n"
149msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 149msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
@@ -383,28 +383,28 @@ msgstr ""
383#: src/transport/plugin_transport_tcp.c:1129 383#: src/transport/plugin_transport_tcp.c:1129
384#: src/transport/plugin_transport_tcp.c:3706 384#: src/transport/plugin_transport_tcp.c:3706
385#: src/transport/tcp_service_legacy.c:594 385#: src/transport/tcp_service_legacy.c:594
386#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094 386#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
387#: src/util/service.c:1100 387#: src/util/service.c:1097
388#, c-format 388#, c-format
389msgid "Require valid port number for service `%s' in configuration!\n" 389msgid "Require valid port number for service `%s' in configuration!\n"
390msgstr "" 390msgstr ""
391 391
392#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163 392#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
393#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519 393#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
394#: src/util/service.c:1133 394#: src/util/service.c:1130
395#, c-format 395#, c-format
396msgid "UNIXPATH `%s' too long, maximum length is %llu\n" 396msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
397msgstr "" 397msgstr ""
398 398
399#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167 399#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
400#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524 400#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
401#: src/util/service.c:1137 401#: src/util/service.c:1134
402#, c-format 402#, c-format
403msgid "Using `%s' instead\n" 403msgid "Using `%s' instead\n"
404msgstr "" 404msgstr ""
405 405
406#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195 406#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
407#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157 407#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
408#, c-format 408#, c-format
409msgid "" 409msgid ""
410"Disabling UNIX domain socket support for service `%s', failed to create UNIX " 410"Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -412,7 +412,7 @@ msgid ""
412msgstr "" 412msgstr ""
413 413
414#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213 414#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
415#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175 415#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
416#, c-format 416#, c-format
417msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n" 417msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
418msgstr "" 418msgstr ""
@@ -420,7 +420,7 @@ msgstr ""
420#: src/arm/gnunet-service-arm.c:536 420#: src/arm/gnunet-service-arm.c:536
421#: src/transport/plugin_transport_http_server.c:2718 421#: src/transport/plugin_transport_http_server.c:2718
422#: src/transport/plugin_transport_tcp.c:1244 422#: src/transport/plugin_transport_tcp.c:1244
423#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206 423#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
424#, c-format 424#, c-format
425msgid "Failed to resolve `%s': %s\n" 425msgid "Failed to resolve `%s': %s\n"
426msgstr "»%s« konnte nicht aufgelöst werden: %s\n" 426msgstr "»%s« konnte nicht aufgelöst werden: %s\n"
@@ -428,7 +428,7 @@ msgstr "»%s« konnte nicht aufgelöst werden: %s\n"
428#: src/arm/gnunet-service-arm.c:555 428#: src/arm/gnunet-service-arm.c:555
429#: src/transport/plugin_transport_http_server.c:2736 429#: src/transport/plugin_transport_http_server.c:2736
430#: src/transport/plugin_transport_tcp.c:1263 430#: src/transport/plugin_transport_tcp.c:1263
431#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225 431#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
432#, fuzzy, c-format 432#, fuzzy, c-format
433msgid "Failed to find %saddress for `%s'.\n" 433msgid "Failed to find %saddress for `%s'.\n"
434msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" 434msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
@@ -499,14 +499,81 @@ msgstr ""
499msgid "Initiating shutdown as requested by client.\n" 499msgid "Initiating shutdown as requested by client.\n"
500msgstr "" 500msgstr ""
501 501
502#: src/ats-tests/ats-testing-log.c:896 502#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
503msgid "Stop logging\n" 503#, c-format
504msgstr "Protokollierung stoppen\n" 504msgid ""
505"Could not load quota for network `%s': `%s', assigning default bandwidth "
506"%llu\n"
507msgstr ""
505 508
506#: src/ats-tests/ats-testing-log.c:952 509#: src/ats/gnunet-ats-solver-eval.c:3011
510#, c-format
511msgid ""
512"No outbound quota configured for network `%s', assigning default bandwidth "
513"%llu\n"
514msgstr ""
515
516#: src/ats/gnunet-ats-solver-eval.c:3063
517#, c-format
518msgid ""
519"No outbound quota configure for network `%s', assigning default bandwidth "
520"%llu\n"
521msgstr ""
522
523#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
524msgid "solver to use"
525msgstr ""
526
527#: src/ats/gnunet-ats-solver-eval.c:3557
528#: src/ats-tests/gnunet-solver-eval.c:1003
529#: src/ats-tests/gnunet-solver-eval.c:1008
530msgid "experiment to use"
531msgstr ""
532
533#: src/ats/gnunet-ats-solver-eval.c:3564
534msgid "print logging"
535msgstr ""
536
537#: src/ats/gnunet-ats-solver-eval.c:3569
538msgid "save logging to disk"
539msgstr ""
540
541#: src/ats/gnunet-ats-solver-eval.c:3574
542msgid "disable normalization"
543msgstr ""
544
545#: src/ats/gnunet-service-ats_plugins.c:326
546#, c-format
547msgid ""
548"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
549"%llu\n"
550msgstr ""
551
552#: src/ats/gnunet-service-ats_plugins.c:336
553#, c-format
554msgid "%s quota configured for network `%s' is %llu\n"
555msgstr ""
556
557#: src/ats/gnunet-service-ats_plugins.c:382
558#, c-format
559msgid ""
560"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
561msgstr ""
562
563#: src/ats/gnunet-service-ats_plugins.c:474
507#, fuzzy, c-format 564#, fuzzy, c-format
508msgid "Start logging `%s'\n" 565msgid "Failed to initialize solver `%s'!\n"
509msgstr "Collection `%s' begonnen.\n" 566msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n"
567
568#: src/ats/plugin_ats_proportional.c:1140
569#, fuzzy, c-format
570msgid "Invalid %s configuration %f \n"
571msgstr "Konfiguration konnte nicht aus %s geladen werden\n"
572
573#: src/ats/plugin_ats_proportional.c:1163
574#, fuzzy, c-format
575msgid "Invalid %s configuration %f\n"
576msgstr " gconfig\tGTK Konfiguration\n"
510 577
511#: src/ats-tests/ats-testing.c:420 578#: src/ats-tests/ats-testing.c:420
512#, c-format 579#, c-format
@@ -518,6 +585,15 @@ msgstr ""
518msgid "Failed to connect master peer [%u] with slave [%u]\n" 585msgid "Failed to connect master peer [%u] with slave [%u]\n"
519msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 586msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
520 587
588#: src/ats-tests/ats-testing-log.c:896
589msgid "Stop logging\n"
590msgstr "Protokollierung stoppen\n"
591
592#: src/ats-tests/ats-testing-log.c:952
593#, fuzzy, c-format
594msgid "Start logging `%s'\n"
595msgstr "Collection `%s' begonnen.\n"
596
521#: src/ats-tests/gnunet-ats-sim.c:92 597#: src/ats-tests/gnunet-ats-sim.c:92
522#, c-format 598#, c-format
523msgid "" 599msgid ""
@@ -525,16 +601,6 @@ msgid ""
525"= %u KiB/s\n" 601"= %u KiB/s\n"
526msgstr "" 602msgstr ""
527 603
528#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
529msgid "solver to use"
530msgstr ""
531
532#: src/ats-tests/gnunet-solver-eval.c:1003
533#: src/ats-tests/gnunet-solver-eval.c:1008
534#: src/ats/gnunet-ats-solver-eval.c:3557
535msgid "experiment to use"
536msgstr ""
537
538#: src/ats-tool/gnunet-ats.c:299 604#: src/ats-tool/gnunet-ats.c:299
539#, c-format 605#, c-format
540msgid "%u address resolutions had a timeout\n" 606msgid "%u address resolutions had a timeout\n"
@@ -652,72 +718,6 @@ msgstr ""
652msgid "Print information about ATS state" 718msgid "Print information about ATS state"
653msgstr "Informationen über andere GNUnet Knoten ausgeben." 719msgstr "Informationen über andere GNUnet Knoten ausgeben."
654 720
655#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
656#, c-format
657msgid ""
658"Could not load quota for network `%s': `%s', assigning default bandwidth "
659"%llu\n"
660msgstr ""
661
662#: src/ats/gnunet-ats-solver-eval.c:3011
663#, c-format
664msgid ""
665"No outbound quota configured for network `%s', assigning default bandwidth "
666"%llu\n"
667msgstr ""
668
669#: src/ats/gnunet-ats-solver-eval.c:3063
670#, c-format
671msgid ""
672"No outbound quota configure for network `%s', assigning default bandwidth "
673"%llu\n"
674msgstr ""
675
676#: src/ats/gnunet-ats-solver-eval.c:3564
677msgid "print logging"
678msgstr ""
679
680#: src/ats/gnunet-ats-solver-eval.c:3569
681msgid "save logging to disk"
682msgstr ""
683
684#: src/ats/gnunet-ats-solver-eval.c:3574
685msgid "disable normalization"
686msgstr ""
687
688#: src/ats/gnunet-service-ats_plugins.c:326
689#, c-format
690msgid ""
691"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
692"%llu\n"
693msgstr ""
694
695#: src/ats/gnunet-service-ats_plugins.c:336
696#, c-format
697msgid "%s quota configured for network `%s' is %llu\n"
698msgstr ""
699
700#: src/ats/gnunet-service-ats_plugins.c:382
701#, c-format
702msgid ""
703"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
704msgstr ""
705
706#: src/ats/gnunet-service-ats_plugins.c:474
707#, fuzzy, c-format
708msgid "Failed to initialize solver `%s'!\n"
709msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n"
710
711#: src/ats/plugin_ats_proportional.c:1140
712#, fuzzy, c-format
713msgid "Invalid %s configuration %f \n"
714msgstr "Konfiguration konnte nicht aus %s geladen werden\n"
715
716#: src/ats/plugin_ats_proportional.c:1163
717#, fuzzy, c-format
718msgid "Invalid %s configuration %f\n"
719msgstr " gconfig\tGTK Konfiguration\n"
720
721#: src/auction/gnunet-auction-create.c:163 721#: src/auction/gnunet-auction-create.c:163
722msgid "description of the item to be sold" 722msgid "description of the item to be sold"
723msgstr "" 723msgstr ""
@@ -850,28 +850,6 @@ msgstr "Ausführlicherer Modus (empfangene Werte ausgeben)"
850msgid "Connection to conversation service lost, trying to reconnect\n" 850msgid "Connection to conversation service lost, trying to reconnect\n"
851msgstr "" 851msgstr ""
852 852
853#: src/conversation/gnunet-conversation-test.c:120
854#, c-format
855msgid ""
856"\n"
857"End of transmission. Have a GNU day.\n"
858msgstr ""
859
860#: src/conversation/gnunet-conversation-test.c:146
861#, c-format
862msgid ""
863"\n"
864"We are now playing your recording back. If you can hear it, your audio "
865"settings are working..."
866msgstr ""
867
868#: src/conversation/gnunet-conversation-test.c:218
869#, c-format
870msgid ""
871"We will now be recording you for %s. After that time, the recording will be "
872"played back to you..."
873msgstr ""
874
875#: src/conversation/gnunet-conversation.c:264 853#: src/conversation/gnunet-conversation.c:264
876#, c-format 854#, c-format
877msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n" 855msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1131,8 +1109,30 @@ msgstr ""
1131msgid "Enables having a conversation with other GNUnet users." 1109msgid "Enables having a conversation with other GNUnet users."
1132msgstr "" 1110msgstr ""
1133 1111
1134#: src/conversation/gnunet-helper-audio-playback-gst.c:363 1112#: src/conversation/gnunet-conversation-test.c:120
1113#, c-format
1114msgid ""
1115"\n"
1116"End of transmission. Have a GNU day.\n"
1117msgstr ""
1118
1119#: src/conversation/gnunet-conversation-test.c:146
1120#, c-format
1121msgid ""
1122"\n"
1123"We are now playing your recording back. If you can hear it, your audio "
1124"settings are working..."
1125msgstr ""
1126
1127#: src/conversation/gnunet-conversation-test.c:218
1128#, c-format
1129msgid ""
1130"We will now be recording you for %s. After that time, the recording will be "
1131"played back to you..."
1132msgstr ""
1133
1135#: src/conversation/gnunet_gst.c:664 1134#: src/conversation/gnunet_gst.c:664
1135#: src/conversation/gnunet-helper-audio-playback-gst.c:363
1136#, c-format 1136#, c-format
1137msgid "Read error from STDIN: %d %s\n" 1137msgid "Read error from STDIN: %d %s\n"
1138msgstr "Fehler beim Lesen aus STDIN: %d %s\n" 1138msgstr "Fehler beim Lesen aus STDIN: %d %s\n"
@@ -1938,17 +1938,17 @@ msgstr "`%s' an `%s' schlug fehl bei %s:%d mit dem Fehler: %s\n"
1938msgid "Mysql database running\n" 1938msgid "Mysql database running\n"
1939msgstr "MySQL-Datenbank läuft\n" 1939msgstr "MySQL-Datenbank läuft\n"
1940 1940
1941#: src/datastore/plugin_datastore_postgres.c:277 1941#: src/datastore/plugin_datastore_postgres.c:278
1942#: src/datastore/plugin_datastore_postgres.c:890 1942#: src/datastore/plugin_datastore_postgres.c:891
1943msgid "Postgress exec failure" 1943msgid "Postgress exec failure"
1944msgstr "" 1944msgstr ""
1945 1945
1946#: src/datastore/plugin_datastore_postgres.c:851 1946#: src/datastore/plugin_datastore_postgres.c:852
1947#, fuzzy 1947#, fuzzy
1948msgid "Failed to drop table from database.\n" 1948msgid "Failed to drop table from database.\n"
1949msgstr "Fehler beim Binden an UDP Port %d.\n" 1949msgstr "Fehler beim Binden an UDP Port %d.\n"
1950 1950
1951#: src/datastore/plugin_datastore_postgres.c:949 1951#: src/datastore/plugin_datastore_postgres.c:950
1952msgid "Postgres database running\n" 1952msgid "Postgres database running\n"
1953msgstr "PostgreSQL-Datenbank läuft\n" 1953msgstr "PostgreSQL-Datenbank läuft\n"
1954 1954
@@ -2055,6 +2055,53 @@ msgstr ""
2055msgid "Prints all packets that go through the DHT." 2055msgid "Prints all packets that go through the DHT."
2056msgstr "" 2056msgstr ""
2057 2057
2058#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2059#, c-format
2060msgid "Exiting as the number of peers is %u\n"
2061msgstr ""
2062
2063#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2064#, fuzzy
2065msgid "number of peers to start"
2066msgstr "Anzahl an Durchläufen"
2067
2068#: src/dht/gnunet_dht_profiler.c:961
2069msgid "number of PUTs to perform per peer"
2070msgstr ""
2071
2072#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2073#: src/testbed/gnunet-testbed-profiler.c:305
2074msgid "name of the file with the login information for the testbed"
2075msgstr ""
2076
2077#: src/dht/gnunet_dht_profiler.c:973
2078msgid "delay between rounds for collecting statistics (default: 30 sec)"
2079msgstr ""
2080
2081#: src/dht/gnunet_dht_profiler.c:979
2082msgid "delay to start doing PUTs (default: 1 sec)"
2083msgstr ""
2084
2085#: src/dht/gnunet_dht_profiler.c:985
2086msgid "delay to start doing GETs (default: 5 min)"
2087msgstr ""
2088
2089#: src/dht/gnunet_dht_profiler.c:990
2090msgid "replication degree for DHT PUTs"
2091msgstr ""
2092
2093#: src/dht/gnunet_dht_profiler.c:996
2094msgid "chance that a peer is selected at random for PUTs"
2095msgstr ""
2096
2097#: src/dht/gnunet_dht_profiler.c:1002
2098msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2099msgstr ""
2100
2101#: src/dht/gnunet_dht_profiler.c:1023
2102msgid "Measure quality and performance of the DHT service."
2103msgstr ""
2104
2058#: src/dht/gnunet-dht-put.c:133 2105#: src/dht/gnunet-dht-put.c:133
2059msgid "Must provide KEY and DATA for DHT put!\n" 2106msgid "Must provide KEY and DATA for DHT put!\n"
2060msgstr "" 2107msgstr ""
@@ -2319,53 +2366,6 @@ msgstr ""
2319msgid "# DHT requests combined" 2366msgid "# DHT requests combined"
2320msgstr "# dht Anfragen weitergeleitet" 2367msgstr "# dht Anfragen weitergeleitet"
2321 2368
2322#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2323#, c-format
2324msgid "Exiting as the number of peers is %u\n"
2325msgstr ""
2326
2327#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2328#, fuzzy
2329msgid "number of peers to start"
2330msgstr "Anzahl an Durchläufen"
2331
2332#: src/dht/gnunet_dht_profiler.c:961
2333msgid "number of PUTs to perform per peer"
2334msgstr ""
2335
2336#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2337#: src/testbed/gnunet-testbed-profiler.c:305
2338msgid "name of the file with the login information for the testbed"
2339msgstr ""
2340
2341#: src/dht/gnunet_dht_profiler.c:973
2342msgid "delay between rounds for collecting statistics (default: 30 sec)"
2343msgstr ""
2344
2345#: src/dht/gnunet_dht_profiler.c:979
2346msgid "delay to start doing PUTs (default: 1 sec)"
2347msgstr ""
2348
2349#: src/dht/gnunet_dht_profiler.c:985
2350msgid "delay to start doing GETs (default: 5 min)"
2351msgstr ""
2352
2353#: src/dht/gnunet_dht_profiler.c:990
2354msgid "replication degree for DHT PUTs"
2355msgstr ""
2356
2357#: src/dht/gnunet_dht_profiler.c:996
2358msgid "chance that a peer is selected at random for PUTs"
2359msgstr ""
2360
2361#: src/dht/gnunet_dht_profiler.c:1002
2362msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2363msgstr ""
2364
2365#: src/dht/gnunet_dht_profiler.c:1023
2366msgid "Measure quality and performance of the DHT service."
2367msgstr ""
2368
2369#: src/dht/plugin_block_dht.c:189 2369#: src/dht/plugin_block_dht.c:189
2370#, fuzzy, c-format 2370#, fuzzy, c-format
2371msgid "Block not of type %u\n" 2371msgid "Block not of type %u\n"
@@ -3315,6 +3315,15 @@ msgid ""
3315"chk/...)" 3315"chk/...)"
3316msgstr "" 3316msgstr ""
3317 3317
3318#: src/fs/gnunet-fs.c:128
3319msgid "print a list of all indexed files"
3320msgstr ""
3321
3322#: src/fs/gnunet-fs.c:141
3323#, fuzzy
3324msgid "Special file-sharing operations"
3325msgstr "Alle Optionen anzeigen"
3326
3318#: src/fs/gnunet-fs-profiler.c:211 3327#: src/fs/gnunet-fs-profiler.c:211
3319msgid "run the experiment with COUNT peers" 3328msgid "run the experiment with COUNT peers"
3320msgstr "" 3329msgstr ""
@@ -3331,15 +3340,6 @@ msgstr ""
3331msgid "run a testbed to measure file-sharing performance" 3340msgid "run a testbed to measure file-sharing performance"
3332msgstr "" 3341msgstr ""
3333 3342
3334#: src/fs/gnunet-fs.c:128
3335msgid "print a list of all indexed files"
3336msgstr ""
3337
3338#: src/fs/gnunet-fs.c:141
3339#, fuzzy
3340msgid "Special file-sharing operations"
3341msgstr "Alle Optionen anzeigen"
3342
3343#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234 3343#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
3344#, c-format 3344#, c-format
3345msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" 3345msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4038,6 +4038,52 @@ msgstr ""
4038msgid "look for GNS2DNS records instead of ANY" 4038msgid "look for GNS2DNS records instead of ANY"
4039msgstr "" 4039msgstr ""
4040 4040
4041#: src/gns/gnunet-gns.c:257
4042#, fuzzy, c-format
4043msgid "`%s' is not a valid DNS domain name\n"
4044msgstr "»%s« ist keine gültige IP-Adresse.\n"
4045
4046#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
4047#, c-format
4048msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4049msgstr ""
4050
4051#: src/gns/gnunet-gns.c:281
4052msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4053msgstr ""
4054
4055#: src/gns/gnunet-gns.c:305
4056#, c-format
4057msgid "Invalid typename specified, assuming `ANY'\n"
4058msgstr ""
4059
4060#: src/gns/gnunet-gns.c:340
4061msgid "Lookup a record for the given name"
4062msgstr ""
4063
4064#: src/gns/gnunet-gns.c:346
4065#, fuzzy
4066msgid "Specify the type of the record to lookup"
4067msgstr "Die Priorität des Inhalts angeben"
4068
4069#: src/gns/gnunet-gns.c:352
4070#, fuzzy
4071msgid "Specify a timeout for the lookup"
4072msgstr "Die Priorität des Inhalts angeben"
4073
4074#: src/gns/gnunet-gns.c:356
4075msgid "No unneeded output"
4076msgstr ""
4077
4078#: src/gns/gnunet-gns.c:361
4079msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4080msgstr ""
4081
4082#: src/gns/gnunet-gns.c:375
4083#, fuzzy
4084msgid "GNUnet GNS resolver tool"
4085msgstr "GNUnet Netzwerk Topologie tracen."
4086
4041#: src/gns/gnunet-gns-import.c:486 4087#: src/gns/gnunet-gns-import.c:486
4042msgid "This program will import some GNS authorities into your GNS namestore." 4088msgid "This program will import some GNS authorities into your GNS namestore."
4043msgstr "" 4089msgstr ""
@@ -4158,52 +4204,6 @@ msgstr ""
4158msgid "GNUnet GNS proxy" 4204msgid "GNUnet GNS proxy"
4159msgstr "" 4205msgstr ""
4160 4206
4161#: src/gns/gnunet-gns.c:253
4162#, fuzzy, c-format
4163msgid "`%s' is not a valid DNS domain name\n"
4164msgstr "»%s« ist keine gültige IP-Adresse.\n"
4165
4166#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
4167#, c-format
4168msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4169msgstr ""
4170
4171#: src/gns/gnunet-gns.c:277
4172msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4173msgstr ""
4174
4175#: src/gns/gnunet-gns.c:301
4176#, c-format
4177msgid "Invalid typename specified, assuming `ANY'\n"
4178msgstr ""
4179
4180#: src/gns/gnunet-gns.c:336
4181msgid "Lookup a record for the given name"
4182msgstr ""
4183
4184#: src/gns/gnunet-gns.c:342
4185#, fuzzy
4186msgid "Specify the type of the record to lookup"
4187msgstr "Die Priorität des Inhalts angeben"
4188
4189#: src/gns/gnunet-gns.c:348
4190#, fuzzy
4191msgid "Specify a timeout for the lookup"
4192msgstr "Die Priorität des Inhalts angeben"
4193
4194#: src/gns/gnunet-gns.c:352
4195msgid "No unneeded output"
4196msgstr ""
4197
4198#: src/gns/gnunet-gns.c:357
4199msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4200msgstr ""
4201
4202#: src/gns/gnunet-gns.c:371
4203#, fuzzy
4204msgid "GNUnet GNS resolver tool"
4205msgstr "GNUnet Netzwerk Topologie tracen."
4206
4207#: src/gns/gnunet-service-gns.c:505 4207#: src/gns/gnunet-service-gns.c:505
4208#, fuzzy 4208#, fuzzy
4209msgid "Properly base32-encoded public key required" 4209msgid "Properly base32-encoded public key required"
@@ -4215,8 +4215,8 @@ msgid "Failed to connect to the namecache!\n"
4215msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 4215msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
4216 4216
4217#: src/gns/gnunet-service-gns.c:560 4217#: src/gns/gnunet-service-gns.c:560
4218#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4219#: src/zonemaster/gnunet-service-zonemaster.c:887 4218#: src/zonemaster/gnunet-service-zonemaster.c:887
4219#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4220#, fuzzy 4220#, fuzzy
4221msgid "Could not connect to DHT!\n" 4221msgid "Could not connect to DHT!\n"
4222msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" 4222msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n"
@@ -4276,21 +4276,21 @@ msgstr ""
4276msgid "GNS lookup failed (zero records found for `%s')\n" 4276msgid "GNS lookup failed (zero records found for `%s')\n"
4277msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n" 4277msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
4278 4278
4279#: src/gns/gnunet-service-gns_resolver.c:2376 4279#: src/gns/gnunet-service-gns_resolver.c:2372
4280msgid "GNS lookup recursion failed (no delegation record found)\n" 4280msgid "GNS lookup recursion failed (no delegation record found)\n"
4281msgstr "" 4281msgstr ""
4282 4282
4283#: src/gns/gnunet-service-gns_resolver.c:2399 4283#: src/gns/gnunet-service-gns_resolver.c:2395
4284#, fuzzy, c-format 4284#, fuzzy, c-format
4285msgid "Failed to cache GNS resolution: %s\n" 4285msgid "Failed to cache GNS resolution: %s\n"
4286msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 4286msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
4287 4287
4288#: src/gns/gnunet-service-gns_resolver.c:2567 4288#: src/gns/gnunet-service-gns_resolver.c:2563
4289#, c-format 4289#, c-format
4290msgid "GNS namecache returned empty result for `%s'\n" 4290msgid "GNS namecache returned empty result for `%s'\n"
4291msgstr "" 4291msgstr ""
4292 4292
4293#: src/gns/gnunet-service-gns_resolver.c:2707 4293#: src/gns/gnunet-service-gns_resolver.c:2703
4294#, c-format 4294#, c-format
4295msgid "Zone %s was revoked, resolution fails\n" 4295msgid "Zone %s was revoked, resolution fails\n"
4296msgstr "" 4296msgstr ""
@@ -4966,70 +4966,6 @@ msgstr "Sqlite-Datenbank läuft\n"
4966msgid "Failed to setup database at `%s'\n" 4966msgid "Failed to setup database at `%s'\n"
4967msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 4967msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
4968 4968
4969#: src/namestore/gnunet-namestore-fcfsd.c:551
4970#, fuzzy, c-format
4971msgid "Unsupported form value `%s'\n"
4972msgstr "Kommando `%s' wird nicht unterstützt. Vorgang wird abgebrochen.\n"
4973
4974#: src/namestore/gnunet-namestore-fcfsd.c:578
4975#, fuzzy, c-format
4976msgid "Failed to create record for domain `%s': %s\n"
4977msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
4978
4979#: src/namestore/gnunet-namestore-fcfsd.c:599
4980msgid "Error when mapping zone to name\n"
4981msgstr ""
4982
4983#: src/namestore/gnunet-namestore-fcfsd.c:631
4984#, c-format
4985msgid "Found existing name `%s' for the given key\n"
4986msgstr ""
4987
4988#: src/namestore/gnunet-namestore-fcfsd.c:693
4989#, c-format
4990msgid "Found %u existing records for domain `%s'\n"
4991msgstr ""
4992
4993#: src/namestore/gnunet-namestore-fcfsd.c:783
4994#, fuzzy, c-format
4995msgid "Failed to create page for `%s'\n"
4996msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
4997
4998#: src/namestore/gnunet-namestore-fcfsd.c:802
4999#, fuzzy, c-format
5000msgid "Failed to setup post processor for `%s'\n"
5001msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
5002
5003#: src/namestore/gnunet-namestore-fcfsd.c:839
5004msgid "Domain name must not contain `.'\n"
5005msgstr ""
5006
5007#: src/namestore/gnunet-namestore-fcfsd.c:848
5008msgid "Domain name must not contain `+'\n"
5009msgstr ""
5010
5011#: src/namestore/gnunet-namestore-fcfsd.c:1083
5012msgid "No ego configured for `fcfsd` subsystem\n"
5013msgstr ""
5014
5015#: src/namestore/gnunet-namestore-fcfsd.c:1114
5016#, fuzzy
5017msgid "Failed to start HTTP server\n"
5018msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n"
5019
5020#: src/namestore/gnunet-namestore-fcfsd.c:1162
5021#, fuzzy
5022msgid "Failed to connect to identity\n"
5023msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
5024
5025#: src/namestore/gnunet-namestore-fcfsd.c:1189
5026msgid "name of the zone that is to be managed by FCFSD"
5027msgstr ""
5028
5029#: src/namestore/gnunet-namestore-fcfsd.c:1209
5030msgid "GNU Name System First Come First Serve name registration service"
5031msgstr ""
5032
5033#: src/namestore/gnunet-namestore.c:334 4969#: src/namestore/gnunet-namestore.c:334
5034#, c-format 4970#, c-format
5035msgid "Adding record failed: %s\n" 4971msgid "Adding record failed: %s\n"
@@ -5249,7 +5185,71 @@ msgstr ""
5249msgid "name of the ego controlling the zone" 5185msgid "name of the ego controlling the zone"
5250msgstr "" 5186msgstr ""
5251 5187
5252#: src/namestore/gnunet-service-namestore.c:864 5188#: src/namestore/gnunet-namestore-fcfsd.c:551
5189#, fuzzy, c-format
5190msgid "Unsupported form value `%s'\n"
5191msgstr "Kommando `%s' wird nicht unterstützt. Vorgang wird abgebrochen.\n"
5192
5193#: src/namestore/gnunet-namestore-fcfsd.c:578
5194#, fuzzy, c-format
5195msgid "Failed to create record for domain `%s': %s\n"
5196msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n"
5197
5198#: src/namestore/gnunet-namestore-fcfsd.c:599
5199msgid "Error when mapping zone to name\n"
5200msgstr ""
5201
5202#: src/namestore/gnunet-namestore-fcfsd.c:631
5203#, c-format
5204msgid "Found existing name `%s' for the given key\n"
5205msgstr ""
5206
5207#: src/namestore/gnunet-namestore-fcfsd.c:693
5208#, c-format
5209msgid "Found %u existing records for domain `%s'\n"
5210msgstr ""
5211
5212#: src/namestore/gnunet-namestore-fcfsd.c:783
5213#, fuzzy, c-format
5214msgid "Failed to create page for `%s'\n"
5215msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
5216
5217#: src/namestore/gnunet-namestore-fcfsd.c:802
5218#, fuzzy, c-format
5219msgid "Failed to setup post processor for `%s'\n"
5220msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n"
5221
5222#: src/namestore/gnunet-namestore-fcfsd.c:839
5223msgid "Domain name must not contain `.'\n"
5224msgstr ""
5225
5226#: src/namestore/gnunet-namestore-fcfsd.c:848
5227msgid "Domain name must not contain `+'\n"
5228msgstr ""
5229
5230#: src/namestore/gnunet-namestore-fcfsd.c:1083
5231msgid "No ego configured for `fcfsd` subsystem\n"
5232msgstr ""
5233
5234#: src/namestore/gnunet-namestore-fcfsd.c:1114
5235#, fuzzy
5236msgid "Failed to start HTTP server\n"
5237msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n"
5238
5239#: src/namestore/gnunet-namestore-fcfsd.c:1162
5240#, fuzzy
5241msgid "Failed to connect to identity\n"
5242msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
5243
5244#: src/namestore/gnunet-namestore-fcfsd.c:1189
5245msgid "name of the zone that is to be managed by FCFSD"
5246msgstr ""
5247
5248#: src/namestore/gnunet-namestore-fcfsd.c:1209
5249msgid "GNU Name System First Come First Serve name registration service"
5250msgstr ""
5251
5252#: src/namestore/gnunet-service-namestore.c:866
5253#, c-format 5253#, c-format
5254msgid "Failed to replicate block in namecache: %s\n" 5254msgid "Failed to replicate block in namecache: %s\n"
5255msgstr "" 5255msgstr ""
@@ -5571,6 +5571,10 @@ msgstr "Kommando `%s' wurde nicht gefunden!\n"
5571msgid "`upnpc' command not found\n" 5571msgid "`upnpc' command not found\n"
5572msgstr "Kommando `%s' wurde nicht gefunden!\n" 5572msgstr "Kommando `%s' wurde nicht gefunden!\n"
5573 5573
5574#: src/nse/gnunet-nse.c:124
5575msgid "Show network size estimates from NSE service."
5576msgstr ""
5577
5574#: src/nse/gnunet-nse-profiler.c:857 5578#: src/nse/gnunet-nse-profiler.c:857
5575msgid "limit to the number of connections to NSE services, 0 for none" 5579msgid "limit to the number of connections to NSE services, 0 for none"
5576msgstr "" 5580msgstr ""
@@ -5595,15 +5599,68 @@ msgstr ""
5595msgid "Measure quality and performance of the NSE service." 5599msgid "Measure quality and performance of the NSE service."
5596msgstr "" 5600msgstr ""
5597 5601
5598#: src/nse/gnunet-nse.c:124
5599msgid "Show network size estimates from NSE service."
5600msgstr ""
5601
5602#: src/nse/gnunet-service-nse.c:1437 5602#: src/nse/gnunet-service-nse.c:1437
5603#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247 5603#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
5604msgid "Value is too large.\n" 5604msgid "Value is too large.\n"
5605msgstr "" 5605msgstr ""
5606 5606
5607#: src/peerinfo/gnunet-service-peerinfo.c:175
5608#, fuzzy, c-format
5609msgid "Removing expired address of transport `%s'\n"
5610msgstr "Verfügbare(r) Transport(e): %s\n"
5611
5612#: src/peerinfo/gnunet-service-peerinfo.c:306
5613#, fuzzy, c-format
5614msgid "Failed to parse HELLO in file `%s': %s\n"
5615msgstr "Datei wurde als `%s' gespeichert.\n"
5616
5617#: src/peerinfo/gnunet-service-peerinfo.c:323
5618#: src/peerinfo/gnunet-service-peerinfo.c:348
5619#, fuzzy, c-format
5620msgid "Failed to parse HELLO in file `%s'\n"
5621msgstr "Datei wurde als `%s' gespeichert.\n"
5622
5623#: src/peerinfo/gnunet-service-peerinfo.c:426
5624msgid "# peers known"
5625msgstr ""
5626
5627#: src/peerinfo/gnunet-service-peerinfo.c:468
5628#, c-format
5629msgid ""
5630"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5631msgstr ""
5632"Die Datei »%s« im Verzeichnis »%s« entspricht nicht der Namenskonvention. "
5633"Die Datei wurde entfernt.\n"
5634
5635#: src/peerinfo/gnunet-service-peerinfo.c:624
5636#, fuzzy, c-format
5637msgid "Scanning directory `%s'\n"
5638msgstr "==> Verzeichnis `%s':\n"
5639
5640#: src/peerinfo/gnunet-service-peerinfo.c:631
5641#, fuzzy, c-format
5642msgid "Still no peers found in `%s'!\n"
5643msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
5644
5645#: src/peerinfo/gnunet-service-peerinfo.c:1024
5646#, fuzzy, c-format
5647msgid "Cleaning up directory `%s'\n"
5648msgstr "==> Verzeichnis `%s':\n"
5649
5650#: src/peerinfo/gnunet-service-peerinfo.c:1319
5651#, c-format
5652msgid "Importing HELLOs from `%s'\n"
5653msgstr ""
5654
5655#: src/peerinfo/gnunet-service-peerinfo.c:1332
5656msgid "Skipping import of included HELLOs\n"
5657msgstr ""
5658
5659#: src/peerinfo/peerinfo_api.c:217
5660#, fuzzy
5661msgid "Failed to receive response from `PEERINFO' service."
5662msgstr "Fehler beim Empfangen der Antwort von gnunetd auf die `%s' Nachricht\n"
5663
5607#: src/peerinfo-tool/gnunet-peerinfo.c:237 5664#: src/peerinfo-tool/gnunet-peerinfo.c:237
5608#, fuzzy, c-format 5665#, fuzzy, c-format
5609msgid "%sPeer `%s'\n" 5666msgid "%sPeer `%s'\n"
@@ -5700,63 +5757,6 @@ msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n"
5700msgid "Peerinfo REST API initialized\n" 5757msgid "Peerinfo REST API initialized\n"
5701msgstr " Verbindung fehlgeschlagen\n" 5758msgstr " Verbindung fehlgeschlagen\n"
5702 5759
5703#: src/peerinfo/gnunet-service-peerinfo.c:175
5704#, fuzzy, c-format
5705msgid "Removing expired address of transport `%s'\n"
5706msgstr "Verfügbare(r) Transport(e): %s\n"
5707
5708#: src/peerinfo/gnunet-service-peerinfo.c:306
5709#, fuzzy, c-format
5710msgid "Failed to parse HELLO in file `%s': %s\n"
5711msgstr "Datei wurde als `%s' gespeichert.\n"
5712
5713#: src/peerinfo/gnunet-service-peerinfo.c:323
5714#: src/peerinfo/gnunet-service-peerinfo.c:348
5715#, fuzzy, c-format
5716msgid "Failed to parse HELLO in file `%s'\n"
5717msgstr "Datei wurde als `%s' gespeichert.\n"
5718
5719#: src/peerinfo/gnunet-service-peerinfo.c:426
5720msgid "# peers known"
5721msgstr ""
5722
5723#: src/peerinfo/gnunet-service-peerinfo.c:468
5724#, c-format
5725msgid ""
5726"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5727msgstr ""
5728"Die Datei »%s« im Verzeichnis »%s« entspricht nicht der Namenskonvention. "
5729"Die Datei wurde entfernt.\n"
5730
5731#: src/peerinfo/gnunet-service-peerinfo.c:624
5732#, fuzzy, c-format
5733msgid "Scanning directory `%s'\n"
5734msgstr "==> Verzeichnis `%s':\n"
5735
5736#: src/peerinfo/gnunet-service-peerinfo.c:631
5737#, fuzzy, c-format
5738msgid "Still no peers found in `%s'!\n"
5739msgstr "Dienst `%s' konnte nicht ordentlich entladen werden!\n"
5740
5741#: src/peerinfo/gnunet-service-peerinfo.c:1024
5742#, fuzzy, c-format
5743msgid "Cleaning up directory `%s'\n"
5744msgstr "==> Verzeichnis `%s':\n"
5745
5746#: src/peerinfo/gnunet-service-peerinfo.c:1319
5747#, c-format
5748msgid "Importing HELLOs from `%s'\n"
5749msgstr ""
5750
5751#: src/peerinfo/gnunet-service-peerinfo.c:1332
5752msgid "Skipping import of included HELLOs\n"
5753msgstr ""
5754
5755#: src/peerinfo/peerinfo_api.c:217
5756#, fuzzy
5757msgid "Failed to receive response from `PEERINFO' service."
5758msgstr "Fehler beim Empfangen der Antwort von gnunetd auf die `%s' Nachricht\n"
5759
5760#: src/peerstore/gnunet-peerstore.c:92 5760#: src/peerstore/gnunet-peerstore.c:92
5761msgid "peerstore" 5761msgid "peerstore"
5762msgstr "" 5762msgstr ""
@@ -6181,6 +6181,18 @@ msgstr ""
6181msgid "Could not open revocation database file!" 6181msgid "Could not open revocation database file!"
6182msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n" 6182msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n"
6183 6183
6184#: src/rps/gnunet-rps.c:270
6185msgid "Seed a PeerID"
6186msgstr ""
6187
6188#: src/rps/gnunet-rps.c:275
6189msgid "Get updates of view (0 for infinite updates)"
6190msgstr ""
6191
6192#: src/rps/gnunet-rps.c:279
6193msgid "Get peers from biased stream"
6194msgstr ""
6195
6184#: src/rps/gnunet-rps-profiler.c:3200 6196#: src/rps/gnunet-rps-profiler.c:3200
6185msgid "duration of the profiling" 6197msgid "duration of the profiling"
6186msgstr "" 6198msgstr ""
@@ -6198,18 +6210,6 @@ msgstr "Anzahl an Durchläufen"
6198msgid "Measure quality and performance of the RPS service." 6210msgid "Measure quality and performance of the RPS service."
6199msgstr "" 6211msgstr ""
6200 6212
6201#: src/rps/gnunet-rps.c:270
6202msgid "Seed a PeerID"
6203msgstr ""
6204
6205#: src/rps/gnunet-rps.c:275
6206msgid "Get updates of view (0 for infinite updates)"
6207msgstr ""
6208
6209#: src/rps/gnunet-rps.c:279
6210msgid "Get peers from biased stream"
6211msgstr ""
6212
6213#: src/scalarproduct/gnunet-scalarproduct.c:229 6213#: src/scalarproduct/gnunet-scalarproduct.c:229
6214#, fuzzy 6214#, fuzzy
6215msgid "You must specify at least one message ID to check!\n" 6215msgid "You must specify at least one message ID to check!\n"
@@ -6265,10 +6265,10 @@ msgstr ""
6265msgid "Calculate the Vectorproduct with a GNUnet peer." 6265msgid "Calculate the Vectorproduct with a GNUnet peer."
6266msgstr "" 6266msgstr ""
6267 6267
6268#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6269#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6270#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363 6268#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
6271#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366 6269#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
6270#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6271#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6272#, fuzzy 6272#, fuzzy
6273msgid "Connect to CADET failed\n" 6273msgid "Connect to CADET failed\n"
6274msgstr " Verbindung fehlgeschlagen\n" 6274msgstr " Verbindung fehlgeschlagen\n"
@@ -6612,17 +6612,6 @@ msgstr ""
6612msgid "%.s Unknown result code." 6612msgid "%.s Unknown result code."
6613msgstr "" 6613msgstr ""
6614 6614
6615#: src/testbed/gnunet-testbed-profiler.c:290
6616msgid "tolerate COUNT number of continious timeout failures"
6617msgstr ""
6618
6619#: src/testbed/gnunet-testbed-profiler.c:295
6620msgid ""
6621"run profiler in non-interactive mode where upon testbed setup the profiler "
6622"does not wait for a keystroke but continues to run until a termination "
6623"signal is received"
6624msgstr ""
6625
6626#: src/testbed/gnunet_testbed_mpi_spawn.c:119 6615#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6627#, fuzzy 6616#, fuzzy
6628msgid "Waiting for child to exit.\n" 6617msgid "Waiting for child to exit.\n"
@@ -6635,6 +6624,17 @@ msgstr ""
6635msgid "Spawning process `%s'\n" 6624msgid "Spawning process `%s'\n"
6636msgstr "Ungültige Antwort auf `%s'.\n" 6625msgstr "Ungültige Antwort auf `%s'.\n"
6637 6626
6627#: src/testbed/gnunet-testbed-profiler.c:290
6628msgid "tolerate COUNT number of continious timeout failures"
6629msgstr ""
6630
6631#: src/testbed/gnunet-testbed-profiler.c:295
6632msgid ""
6633"run profiler in non-interactive mode where upon testbed setup the profiler "
6634"does not wait for a keystroke but continues to run until a termination "
6635"signal is received"
6636msgstr ""
6637
6638#: src/testbed/testbed_api.c:399 6638#: src/testbed/testbed_api.c:399
6639#, fuzzy, c-format 6639#, fuzzy, c-format
6640msgid "Adding host %u failed with error: %s\n" 6640msgid "Adding host %u failed with error: %s\n"
@@ -6963,6 +6963,10 @@ msgstr "Pfad zu »%s« kann nicht erstellt werden\n"
6963msgid "GNUnet UNIX domain socket communicator" 6963msgid "GNUnet UNIX domain socket communicator"
6964msgstr "" 6964msgstr ""
6965 6965
6966#: src/transport/gnunet-service-transport_ats.c:137
6967msgid "# Addresses given to ATS"
6968msgstr ""
6969
6966#: src/transport/gnunet-service-transport.c:445 6970#: src/transport/gnunet-service-transport.c:445
6967msgid "# messages dropped due to slow client" 6971msgid "# messages dropped due to slow client"
6968msgstr "" 6972msgstr ""
@@ -7003,10 +7007,6 @@ msgstr ""
7003msgid "Adding blacklisting entry for peer `%s':`%s'\n" 7007msgid "Adding blacklisting entry for peer `%s':`%s'\n"
7004msgstr "" 7008msgstr ""
7005 7009
7006#: src/transport/gnunet-service-transport_ats.c:137
7007msgid "# Addresses given to ATS"
7008msgstr ""
7009
7010#: src/transport/gnunet-service-transport_hello.c:195 7010#: src/transport/gnunet-service-transport_hello.c:195
7011msgid "# refreshed my HELLO" 7011msgid "# refreshed my HELLO"
7012msgstr "" 7012msgstr ""
@@ -7332,43 +7332,6 @@ msgstr ""
7332msgid "# HELLOs given to peerinfo" 7332msgid "# HELLOs given to peerinfo"
7333msgstr "" 7333msgstr ""
7334 7334
7335#: src/transport/gnunet-transport-profiler.c:220
7336#, c-format
7337msgid "%llu B in %llu ms == %.2f KB/s!\n"
7338msgstr ""
7339
7340#: src/transport/gnunet-transport-profiler.c:577
7341msgid "send data to peer"
7342msgstr ""
7343
7344#: src/transport/gnunet-transport-profiler.c:581
7345#, fuzzy
7346msgid "receive data from peer"
7347msgstr "# Bytes des Typs %d empfangen"
7348
7349#: src/transport/gnunet-transport-profiler.c:586
7350msgid "iterations"
7351msgstr ""
7352
7353#: src/transport/gnunet-transport-profiler.c:591
7354#, fuzzy
7355msgid "number of messages to send"
7356msgstr "Anzahl an Durchläufen"
7357
7358#: src/transport/gnunet-transport-profiler.c:596
7359msgid "message size to use"
7360msgstr ""
7361
7362#: src/transport/gnunet-transport-profiler.c:601
7363#: src/transport/gnunet-transport.c:1404
7364msgid "peer identity"
7365msgstr ""
7366
7367#: src/transport/gnunet-transport-profiler.c:614
7368#: src/transport/gnunet-transport.c:1426
7369msgid "Direct access to transport service."
7370msgstr "Direkter Zugriff auf den Transportdienst"
7371
7372#: src/transport/gnunet-transport.c:406 7335#: src/transport/gnunet-transport.c:406
7373#, c-format 7336#, c-format
7374msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n" 7337msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7501,6 +7464,11 @@ msgstr ""
7501msgid "do not resolve hostnames" 7464msgid "do not resolve hostnames"
7502msgstr "Keine Rechnernamen auflösen" 7465msgstr "Keine Rechnernamen auflösen"
7503 7466
7467#: src/transport/gnunet-transport.c:1404
7468#: src/transport/gnunet-transport-profiler.c:601
7469msgid "peer identity"
7470msgstr ""
7471
7504#: src/transport/gnunet-transport.c:1408 7472#: src/transport/gnunet-transport.c:1408
7505msgid "monitor plugin sessions" 7473msgid "monitor plugin sessions"
7506msgstr "" 7474msgstr ""
@@ -7509,6 +7477,38 @@ msgstr ""
7509msgid "send data for benchmarking to the other peer (until CTRL-C)" 7477msgid "send data for benchmarking to the other peer (until CTRL-C)"
7510msgstr "" 7478msgstr ""
7511 7479
7480#: src/transport/gnunet-transport.c:1426
7481#: src/transport/gnunet-transport-profiler.c:614
7482msgid "Direct access to transport service."
7483msgstr "Direkter Zugriff auf den Transportdienst"
7484
7485#: src/transport/gnunet-transport-profiler.c:220
7486#, c-format
7487msgid "%llu B in %llu ms == %.2f KB/s!\n"
7488msgstr ""
7489
7490#: src/transport/gnunet-transport-profiler.c:577
7491msgid "send data to peer"
7492msgstr ""
7493
7494#: src/transport/gnunet-transport-profiler.c:581
7495#, fuzzy
7496msgid "receive data from peer"
7497msgstr "# Bytes des Typs %d empfangen"
7498
7499#: src/transport/gnunet-transport-profiler.c:586
7500msgid "iterations"
7501msgstr ""
7502
7503#: src/transport/gnunet-transport-profiler.c:591
7504#, fuzzy
7505msgid "number of messages to send"
7506msgstr "Anzahl an Durchläufen"
7507
7508#: src/transport/gnunet-transport-profiler.c:596
7509msgid "message size to use"
7510msgstr ""
7511
7512#: src/transport/plugin_transport_http_client.c:1489 7512#: src/transport/plugin_transport_http_client.c:1489
7513#: src/transport/plugin_transport_http_server.c:2331 7513#: src/transport/plugin_transport_http_server.c:2331
7514#: src/transport/plugin_transport_http_server.c:3562 7514#: src/transport/plugin_transport_http_server.c:3562
@@ -7781,6 +7781,21 @@ msgstr ""
7781msgid "TCP transport advertises itself as being on port %llu\n" 7781msgid "TCP transport advertises itself as being on port %llu\n"
7782msgstr "" 7782msgstr ""
7783 7783
7784#: src/transport/plugin_transport_udp_broadcasting.c:169
7785#, fuzzy
7786msgid "# Multicast HELLO beacons received via UDP"
7787msgstr "# Bytes empfangen über TCP"
7788
7789#: src/transport/plugin_transport_udp_broadcasting.c:553
7790msgid ""
7791"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7792msgstr ""
7793
7794#: src/transport/plugin_transport_udp_broadcasting.c:571
7795#, fuzzy, c-format
7796msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7797msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
7798
7784#: src/transport/plugin_transport_udp.c:3169 7799#: src/transport/plugin_transport_udp.c:3169
7785#, c-format 7800#, c-format
7786msgid "" 7801msgid ""
@@ -7828,21 +7843,6 @@ msgstr "»%s« ist keine gültige IP-Adresse.\n"
7828msgid "Failed to create UDP network sockets\n" 7843msgid "Failed to create UDP network sockets\n"
7829msgstr "UDP-Sockets können nicht geöffnet werden\n" 7844msgstr "UDP-Sockets können nicht geöffnet werden\n"
7830 7845
7831#: src/transport/plugin_transport_udp_broadcasting.c:169
7832#, fuzzy
7833msgid "# Multicast HELLO beacons received via UDP"
7834msgstr "# Bytes empfangen über TCP"
7835
7836#: src/transport/plugin_transport_udp_broadcasting.c:553
7837msgid ""
7838"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7839msgstr ""
7840
7841#: src/transport/plugin_transport_udp_broadcasting.c:571
7842#, fuzzy, c-format
7843msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7844msgstr "Der Transportdienst auf Port %d konnte nicht gestartet werden.\n"
7845
7846#: src/transport/plugin_transport_unix.c:1396 7846#: src/transport/plugin_transport_unix.c:1396
7847#, fuzzy, c-format 7847#, fuzzy, c-format
7848msgid "Cannot bind to `%s'\n" 7848msgid "Cannot bind to `%s'\n"
@@ -7929,17 +7929,17 @@ msgstr "Zugriff verweigert auf »%s«\n"
7929msgid "Accepting connection from `%s': %p\n" 7929msgid "Accepting connection from `%s': %p\n"
7930msgstr "" 7930msgstr ""
7931 7931
7932#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400 7932#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
7933#, fuzzy, c-format 7933#, fuzzy, c-format
7934msgid "`%s' failed for port %d (%s).\n" 7934msgid "`%s' failed for port %d (%s).\n"
7935msgstr "`%s' fehlgeschlagen für Laufwerk %s: %u\n" 7935msgstr "`%s' fehlgeschlagen für Laufwerk %s: %u\n"
7936 7936
7937#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412 7937#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
7938#, fuzzy, c-format 7938#, fuzzy, c-format
7939msgid "`%s' failed for port %d (%s): address already in use\n" 7939msgid "`%s' failed for port %d (%s): address already in use\n"
7940msgstr "`%s' schlug fehl für Port %d: %s. Läuft gnunetd bereits?\n" 7940msgstr "`%s' schlug fehl für Port %d: %s. Läuft gnunetd bereits?\n"
7941 7941
7942#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419 7942#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
7943#, fuzzy, c-format 7943#, fuzzy, c-format
7944msgid "`%s' failed for `%s': address already in use\n" 7944msgid "`%s' failed for `%s': address already in use\n"
7945msgstr "%s schlug fehl, Nachrichten Typ %d ist bereits in Verwendung.\n" 7945msgstr "%s schlug fehl, Nachrichten Typ %d ist bereits in Verwendung.\n"
@@ -7951,7 +7951,7 @@ msgid ""
7951"`GNUNET_SERVER_receive_done' after %s\n" 7951"`GNUNET_SERVER_receive_done' after %s\n"
7952msgstr "" 7952msgstr ""
7953 7953
7954#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837 7954#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
7955#, c-format 7955#, c-format
7956msgid "Unknown address family %d\n" 7956msgid "Unknown address family %d\n"
7957msgstr "" 7957msgstr ""
@@ -7961,23 +7961,23 @@ msgstr ""
7961msgid "Access from `%s' denied to service `%s'\n" 7961msgid "Access from `%s' denied to service `%s'\n"
7962msgstr "" 7962msgstr ""
7963 7963
7964#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950 7964#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
7965#, c-format 7965#, c-format
7966msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n" 7966msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
7967msgstr "" 7967msgstr ""
7968 7968
7969#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991 7969#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
7970#, c-format 7970#, c-format
7971msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n" 7971msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
7972msgstr "" 7972msgstr ""
7973 7973
7974#: src/transport/tcp_service_legacy.c:890 7974#: src/transport/tcp_service_legacy.c:890
7975#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480 7975#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
7976#, c-format 7976#, c-format
7977msgid "Specified value for `%s' of service `%s' is invalid\n" 7977msgid "Specified value for `%s' of service `%s' is invalid\n"
7978msgstr "" 7978msgstr ""
7979 7979
7980#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504 7980#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
7981#, c-format 7981#, c-format
7982msgid "Could not access pre-bound socket %u, will try to bind myself\n" 7982msgid "Could not access pre-bound socket %u, will try to bind myself\n"
7983msgstr "" 7983msgstr ""
@@ -7992,45 +7992,45 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
7992msgid "Service `%s' runs at %s\n" 7992msgid "Service `%s' runs at %s\n"
7993msgstr "Dienst »%s« läuft auf %s\n" 7993msgstr "Dienst »%s« läuft auf %s\n"
7994 7994
7995#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750 7995#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
7996msgid "Service process failed to initialize\n" 7996msgid "Service process failed to initialize\n"
7997msgstr "" 7997msgstr ""
7998 7998
7999#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755 7999#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
8000msgid "Service process could not initialize server function\n" 8000msgid "Service process could not initialize server function\n"
8001msgstr "" 8001msgstr ""
8002 8002
8003#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760 8003#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
8004msgid "Service process failed to report status\n" 8004msgid "Service process failed to report status\n"
8005msgstr "" 8005msgstr ""
8006 8006
8007#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177 8007#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
8008#: src/util/service.c:1641 8008#: src/util/service.c:1638
8009#, fuzzy, c-format 8009#, fuzzy, c-format
8010msgid "Cannot obtain information about user `%s': %s\n" 8010msgid "Cannot obtain information about user `%s': %s\n"
8011msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n" 8011msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n"
8012 8012
8013#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643 8013#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
8014msgid "No such user" 8014msgid "No such user"
8015msgstr "" 8015msgstr ""
8016 8016
8017#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657 8017#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
8018#, c-format 8018#, c-format
8019msgid "Cannot change user/group to `%s': %s\n" 8019msgid "Cannot change user/group to `%s': %s\n"
8020msgstr "Benutzer/Gruppe kann nicht zu »%s« geändert werden: %s\n" 8020msgstr "Benutzer/Gruppe kann nicht zu »%s« geändert werden: %s\n"
8021 8021
8022#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999 8022#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
8023msgid "do daemonize (detach from terminal)" 8023msgid "do daemonize (detach from terminal)"
8024msgstr "" 8024msgstr ""
8025 8025
8026#: src/transport/tcp_service_legacy.c:1397 8026#: src/transport/tcp_service_legacy.c:1397
8027#: src/transport/transport-testing2.c:906 src/util/service.c:2073 8027#: src/transport/transport-testing2.c:906 src/util/service.c:2070
8028#: src/util/service.c:2085 8028#: src/util/service.c:2082
8029#, fuzzy, c-format 8029#, fuzzy, c-format
8030msgid "Malformed configuration file `%s', exit ...\n" 8030msgid "Malformed configuration file `%s', exit ...\n"
8031msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n" 8031msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
8032 8032
8033#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095 8033#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
8034#, fuzzy 8034#, fuzzy
8035msgid "Malformed configuration, exit ...\n" 8035msgid "Malformed configuration, exit ...\n"
8036msgstr "GNUnet Konfiguration" 8036msgstr "GNUnet Konfiguration"
@@ -8073,69 +8073,69 @@ msgstr ""
8073msgid "Metadata `%s' failed to deserialize" 8073msgid "Metadata `%s' failed to deserialize"
8074msgstr "" 8074msgstr ""
8075 8075
8076#: src/util/client.c:739 src/util/client.c:931 8076#: src/util/client.c:747 src/util/client.c:937
8077msgid "not a valid filename" 8077msgid "not a valid filename"
8078msgstr "" 8078msgstr ""
8079 8079
8080#: src/util/client.c:1097 8080#: src/util/client.c:1103
8081#, c-format 8081#, c-format
8082msgid "Need a non-empty hostname for service `%s'.\n" 8082msgid "Need a non-empty hostname for service `%s'.\n"
8083msgstr "" 8083msgstr ""
8084 8084
8085#: src/util/common_logging.c:259 src/util/common_logging.c:1116 8085#: src/util/common_logging.c:259 src/util/common_logging.c:1112
8086msgid "DEBUG" 8086msgid "DEBUG"
8087msgstr "DEBUG" 8087msgstr "DEBUG"
8088 8088
8089#: src/util/common_logging.c:261 src/util/common_logging.c:1114 8089#: src/util/common_logging.c:261 src/util/common_logging.c:1110
8090msgid "INFO" 8090msgid "INFO"
8091msgstr "INFO" 8091msgstr "INFO"
8092 8092
8093#: src/util/common_logging.c:263 src/util/common_logging.c:1112 8093#: src/util/common_logging.c:263 src/util/common_logging.c:1108
8094msgid "MESSAGE" 8094msgid "MESSAGE"
8095msgstr "" 8095msgstr ""
8096 8096
8097#: src/util/common_logging.c:265 src/util/common_logging.c:1110 8097#: src/util/common_logging.c:265 src/util/common_logging.c:1106
8098msgid "WARNING" 8098msgid "WARNING"
8099msgstr "WARNUNG" 8099msgstr "WARNUNG"
8100 8100
8101#: src/util/common_logging.c:267 src/util/common_logging.c:1108 8101#: src/util/common_logging.c:267 src/util/common_logging.c:1104
8102msgid "ERROR" 8102msgid "ERROR"
8103msgstr "FEHLER" 8103msgstr "FEHLER"
8104 8104
8105#: src/util/common_logging.c:269 src/util/common_logging.c:1118 8105#: src/util/common_logging.c:269 src/util/common_logging.c:1114
8106msgid "NONE" 8106msgid "NONE"
8107msgstr "" 8107msgstr ""
8108 8108
8109#: src/util/common_logging.c:630 src/util/common_logging.c:669 8109#: src/util/common_logging.c:626 src/util/common_logging.c:665
8110#, c-format 8110#, c-format
8111msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n" 8111msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
8112msgstr "" 8112msgstr ""
8113 8113
8114#: src/util/common_logging.c:906 8114#: src/util/common_logging.c:902
8115#, c-format 8115#, c-format
8116msgid "Message `%.*s' repeated %u times in the last %s\n" 8116msgid "Message `%.*s' repeated %u times in the last %s\n"
8117msgstr "" 8117msgstr ""
8118 8118
8119#: src/util/common_logging.c:1119 8119#: src/util/common_logging.c:1115
8120msgid "INVALID" 8120msgid "INVALID"
8121msgstr "" 8121msgstr ""
8122 8122
8123#: src/util/common_logging.c:1400 8123#: src/util/common_logging.c:1396
8124msgid "unknown address" 8124msgid "unknown address"
8125msgstr "Unbekannte Adresse" 8125msgstr "Unbekannte Adresse"
8126 8126
8127#: src/util/common_logging.c:1445 8127#: src/util/common_logging.c:1441
8128msgid "invalid address" 8128msgid "invalid address"
8129msgstr "Ungültige Adresse" 8129msgstr "Ungültige Adresse"
8130 8130
8131#: src/util/common_logging.c:1464 8131#: src/util/common_logging.c:1460
8132#, fuzzy, c-format 8132#, fuzzy, c-format
8133msgid "Configuration fails to specify option `%s' in section `%s'!\n" 8133msgid "Configuration fails to specify option `%s' in section `%s'!\n"
8134msgstr "" 8134msgstr ""
8135"Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis " 8135"Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis "
8136"angeben, in dem FS Daten gespeichert werden.\n" 8136"angeben, in dem FS Daten gespeichert werden.\n"
8137 8137
8138#: src/util/common_logging.c:1487 8138#: src/util/common_logging.c:1483
8139#, fuzzy, c-format 8139#, fuzzy, c-format
8140msgid "" 8140msgid ""
8141"Configuration specifies invalid value for option `%s' in section `%s': %s\n" 8141"Configuration specifies invalid value for option `%s' in section `%s': %s\n"
@@ -8143,38 +8143,38 @@ msgstr ""
8143"Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis " 8143"Die Konfigurationsdatei muss in der Sektion `%s' unter `%s' ein Verzeichnis "
8144"angeben, in dem FS Daten gespeichert werden.\n" 8144"angeben, in dem FS Daten gespeichert werden.\n"
8145 8145
8146#: src/util/configuration.c:325 8146#: src/util/configuration.c:402
8147#, fuzzy, c-format 8147#, fuzzy, c-format
8148msgid "Syntax error while deserializing in line %u\n" 8148msgid "Syntax error while deserializing in line %u\n"
8149msgstr "Syntaxfehler in Konfigurationsdatei `%s' in Zeile %d.\n" 8149msgstr "Syntaxfehler in Konfigurationsdatei `%s' in Zeile %d.\n"
8150 8150
8151#: src/util/configuration.c:383 8151#: src/util/configuration.c:460
8152#, fuzzy, c-format 8152#, fuzzy, c-format
8153msgid "Error while reading file `%s'\n" 8153msgid "Error while reading file `%s'\n"
8154msgstr "Konfigurationsdatei `%s' konnte nicht geöffnet werden.\n" 8154msgstr "Konfigurationsdatei `%s' konnte nicht geöffnet werden.\n"
8155 8155
8156#: src/util/configuration.c:986 8156#: src/util/configuration.c:1063
8157msgid "Not a valid relative time specification" 8157msgid "Not a valid relative time specification"
8158msgstr "" 8158msgstr ""
8159 8159
8160#: src/util/configuration.c:1077 8160#: src/util/configuration.c:1154
8161#, c-format 8161#, c-format
8162msgid "" 8162msgid ""
8163"Configuration value '%s' for '%s' in section '%s' is not in set of legal " 8163"Configuration value '%s' for '%s' in section '%s' is not in set of legal "
8164"choices\n" 8164"choices\n"
8165msgstr "" 8165msgstr ""
8166 8166
8167#: src/util/configuration.c:1192 8167#: src/util/configuration.c:1269
8168#, c-format 8168#, c-format
8169msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n" 8169msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
8170msgstr "" 8170msgstr ""
8171 8171
8172#: src/util/configuration.c:1224 8172#: src/util/configuration.c:1301
8173#, c-format 8173#, c-format
8174msgid "Missing closing `%s' in option `%s'\n" 8174msgid "Missing closing `%s' in option `%s'\n"
8175msgstr "" 8175msgstr ""
8176 8176
8177#: src/util/configuration.c:1290 8177#: src/util/configuration.c:1367
8178#, c-format 8178#, c-format
8179msgid "" 8179msgid ""
8180"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined " 8180"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8239,7 +8239,7 @@ msgstr ""
8239msgid "RSA signing failed at %s:%d: %s\n" 8239msgid "RSA signing failed at %s:%d: %s\n"
8240msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n" 8240msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n"
8241 8241
8242#: src/util/crypto_rsa.c:1313 8242#: src/util/crypto_rsa.c:1314
8243#, fuzzy, c-format 8243#, fuzzy, c-format
8244msgid "RSA signature verification failed at %s:%d: %s\n" 8244msgid "RSA signature verification failed at %s:%d: %s\n"
8245msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n" 8245msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n"
@@ -8344,11 +8344,11 @@ msgstr "Die Option »%s« ergibt keinen Sinn ohne die Option »%s«.\n"
8344msgid "Missing mandatory option `%s'.\n" 8344msgid "Missing mandatory option `%s'.\n"
8345msgstr "Unbekannte Operation `%s'\n" 8345msgstr "Unbekannte Operation `%s'\n"
8346 8346
8347#: src/util/getopt_helpers.c:68 8347#: src/util/getopt_helpers.c:69
8348msgid "print the version number" 8348msgid "print the version number"
8349msgstr "" 8349msgstr ""
8350 8350
8351#: src/util/getopt_helpers.c:114 8351#: src/util/getopt_helpers.c:116
8352#, c-format 8352#, c-format
8353msgid "" 8353msgid ""
8354"Arguments mandatory for long options are also mandatory for short options.\n" 8354"Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8356,55 +8356,63 @@ msgstr ""
8356"Argumente, die für lange Optionen zwingend sind, sind auch für kurze " 8356"Argumente, die für lange Optionen zwingend sind, sind auch für kurze "
8357"Optionen zwingend.\n" 8357"Optionen zwingend.\n"
8358 8358
8359#: src/util/getopt_helpers.c:205 8359#: src/util/getopt_helpers.c:208
8360msgid "print this help" 8360msgid "print this help"
8361msgstr "" 8361msgstr ""
8362 8362
8363#: src/util/getopt_helpers.c:281 8363#: src/util/getopt_helpers.c:288
8364msgid "be verbose" 8364msgid "be verbose"
8365msgstr "" 8365msgstr ""
8366 8366
8367#: src/util/getopt_helpers.c:417 8367#: src/util/getopt_helpers.c:429
8368msgid "configure logging to use LOGLEVEL" 8368msgid "configure logging to use LOGLEVEL"
8369msgstr "" 8369msgstr ""
8370 8370
8371#: src/util/getopt_helpers.c:495 8371#: src/util/getopt_helpers.c:510
8372msgid "configure logging to write logs to FILENAME" 8372msgid "configure logging to write logs to FILENAME"
8373msgstr "" 8373msgstr ""
8374 8374
8375#: src/util/getopt_helpers.c:516 8375#: src/util/getopt_helpers.c:532
8376#, fuzzy 8376#, fuzzy
8377msgid "use configuration file FILENAME" 8377msgid "use configuration file FILENAME"
8378msgstr "" 8378msgstr ""
8379"Einen Wert aus der Konfigurationsdatei auf der Standardausgabe ausgeben" 8379"Einen Wert aus der Konfigurationsdatei auf der Standardausgabe ausgeben"
8380 8380
8381#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747 8381#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
8382#: src/util/getopt_helpers.c:810 8382#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
8383#, c-format 8383#, c-format
8384msgid "You must pass a number to the `%s' option.\n" 8384msgid "You must pass a number to the `%s' option.\n"
8385msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n" 8385msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n"
8386 8386
8387#: src/util/getopt_helpers.c:612 8387#: src/util/getopt_helpers.c:659
8388msgid "[+/-]MICROSECONDS"
8389msgstr ""
8390
8391#: src/util/getopt_helpers.c:661
8392msgid "modify system time by given offset (for debugging/testing only)"
8393msgstr ""
8394
8395#: src/util/getopt_helpers.c:696
8388#, c-format 8396#, c-format
8389msgid "You must pass relative time to the `%s' option.\n" 8397msgid "You must pass relative time to the `%s' option.\n"
8390msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n" 8398msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n"
8391 8399
8392#: src/util/getopt_helpers.c:675 8400#: src/util/getopt_helpers.c:761
8393#, fuzzy, c-format 8401#, fuzzy, c-format
8394msgid "You must pass absolute time to the `%s' option.\n" 8402msgid "You must pass absolute time to the `%s' option.\n"
8395msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n" 8403msgstr "Sie müssen eine relative Zeit zu der Option »%s« übergeben.\n"
8396 8404
8397#: src/util/getopt_helpers.c:740 8405#: src/util/getopt_helpers.c:828
8398#, c-format 8406#, c-format
8399msgid "Your input for the '%s' option has to be a non negative number \n" 8407msgid "Your input for the '%s' option has to be a non negative number\n"
8400msgstr "" 8408msgstr ""
8401 8409
8402#: src/util/getopt_helpers.c:817 8410#: src/util/getopt_helpers.c:907
8403#, fuzzy, c-format 8411#, fuzzy, c-format
8404msgid "You must pass a number below %u to the `%s' option.\n" 8412msgid "You must pass a number below %u to the `%s' option.\n"
8405msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n" 8413msgstr "Sie müssen für die Option »%s« zusätzlich eine Zahl angeben.\n"
8406 8414
8407#: src/util/getopt_helpers.c:902 8415#: src/util/getopt_helpers.c:994
8408#, c-format 8416#, c-format
8409msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n" 8417msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
8410msgstr "" 8418msgstr ""
@@ -8746,14 +8754,14 @@ msgstr "Standarddienst »%s« ist nicht korrekt eingerichtet!\n"
8746msgid "Could not resolve our FQDN: %s\n" 8754msgid "Could not resolve our FQDN: %s\n"
8747msgstr "`%s' konnte nicht aufgelöst werden: %s\n" 8755msgstr "`%s' konnte nicht aufgelöst werden: %s\n"
8748 8756
8749#: src/util/service.c:657 8757#: src/util/service.c:654
8750#, c-format 8758#, c-format
8751msgid "" 8759msgid ""
8752"Processing code for message of type %u did not call " 8760"Processing code for message of type %u did not call "
8753"`GNUNET_SERVICE_client_continue' after %s\n" 8761"`GNUNET_SERVICE_client_continue' after %s\n"
8754msgstr "" 8762msgstr ""
8755 8763
8756#: src/util/service.c:1572 8764#: src/util/service.c:1569
8757msgid "" 8765msgid ""
8758"Could not bind to any of the ports I was supposed to, refusing to run!\n" 8766"Could not bind to any of the ports I was supposed to, refusing to run!\n"
8759msgstr "" 8767msgstr ""
@@ -9067,8 +9075,8 @@ msgstr "Dienst wird über UDP angeboten"
9067msgid "Setup tunnels via VPN." 9075msgid "Setup tunnels via VPN."
9068msgstr "Tunnel über VPN einrichten." 9076msgstr "Tunnel über VPN einrichten."
9069 9077
9070#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9071#: src/zonemaster/gnunet-service-zonemaster.c:849 9078#: src/zonemaster/gnunet-service-zonemaster.c:849
9079#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9072#, fuzzy 9080#, fuzzy
9073msgid "Failed to connect to the namestore!\n" 9081msgid "Failed to connect to the namestore!\n"
9074msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" 9082msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n"
diff --git a/po/it.po b/po/it.po
index 58c8b81ac..986bc8b64 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: gnunet 0.10.1\n" 9"Project-Id-Version: gnunet 0.10.1\n"
10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
11"POT-Creation-Date: 2020-01-13 14:01+0000\n" 11"POT-Creation-Date: 2020-02-13 20:41+0100\n"
12"PO-Revision-Date: 2019-10-16 11:00+0200\n" 12"PO-Revision-Date: 2019-10-16 11:00+0200\n"
13"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n" 13"Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n"
14"Language-Team: Italian <tp@lists.linux.it>\n" 14"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -31,8 +31,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
31msgstr "" 31msgstr ""
32 32
33#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747 33#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
34#: src/namestore/gnunet-namestore-fcfsd.c:1153
35#: src/namestore/gnunet-namestore.c:1001 34#: src/namestore/gnunet-namestore.c:1001
35#: src/namestore/gnunet-namestore-fcfsd.c:1153
36#, c-format 36#, c-format
37msgid "Failed to connect to namestore\n" 37msgid "Failed to connect to namestore\n"
38msgstr "" 38msgstr ""
@@ -140,7 +140,7 @@ msgstr ""
140msgid "GNUnet abd resolver tool" 140msgid "GNUnet abd resolver tool"
141msgstr "" 141msgstr ""
142 142
143#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288 143#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
144#, c-format 144#, c-format
145msgid "Failed to connect to GNS\n" 145msgid "Failed to connect to GNS\n"
146msgstr "" 146msgstr ""
@@ -376,28 +376,28 @@ msgstr ""
376#: src/transport/plugin_transport_tcp.c:1129 376#: src/transport/plugin_transport_tcp.c:1129
377#: src/transport/plugin_transport_tcp.c:3706 377#: src/transport/plugin_transport_tcp.c:3706
378#: src/transport/tcp_service_legacy.c:594 378#: src/transport/tcp_service_legacy.c:594
379#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094 379#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
380#: src/util/service.c:1100 380#: src/util/service.c:1097
381#, c-format 381#, c-format
382msgid "Require valid port number for service `%s' in configuration!\n" 382msgid "Require valid port number for service `%s' in configuration!\n"
383msgstr "" 383msgstr ""
384 384
385#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163 385#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
386#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519 386#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
387#: src/util/service.c:1133 387#: src/util/service.c:1130
388#, c-format 388#, c-format
389msgid "UNIXPATH `%s' too long, maximum length is %llu\n" 389msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
390msgstr "" 390msgstr ""
391 391
392#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167 392#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
393#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524 393#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
394#: src/util/service.c:1137 394#: src/util/service.c:1134
395#, c-format 395#, c-format
396msgid "Using `%s' instead\n" 396msgid "Using `%s' instead\n"
397msgstr "" 397msgstr ""
398 398
399#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195 399#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
400#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157 400#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
401#, c-format 401#, c-format
402msgid "" 402msgid ""
403"Disabling UNIX domain socket support for service `%s', failed to create UNIX " 403"Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -405,7 +405,7 @@ msgid ""
405msgstr "" 405msgstr ""
406 406
407#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213 407#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
408#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175 408#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
409#, c-format 409#, c-format
410msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n" 410msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
411msgstr "" 411msgstr ""
@@ -413,7 +413,7 @@ msgstr ""
413#: src/arm/gnunet-service-arm.c:536 413#: src/arm/gnunet-service-arm.c:536
414#: src/transport/plugin_transport_http_server.c:2718 414#: src/transport/plugin_transport_http_server.c:2718
415#: src/transport/plugin_transport_tcp.c:1244 415#: src/transport/plugin_transport_tcp.c:1244
416#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206 416#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
417#, c-format 417#, c-format
418msgid "Failed to resolve `%s': %s\n" 418msgid "Failed to resolve `%s': %s\n"
419msgstr "" 419msgstr ""
@@ -421,7 +421,7 @@ msgstr ""
421#: src/arm/gnunet-service-arm.c:555 421#: src/arm/gnunet-service-arm.c:555
422#: src/transport/plugin_transport_http_server.c:2736 422#: src/transport/plugin_transport_http_server.c:2736
423#: src/transport/plugin_transport_tcp.c:1263 423#: src/transport/plugin_transport_tcp.c:1263
424#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225 424#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
425#, c-format 425#, c-format
426msgid "Failed to find %saddress for `%s'.\n" 426msgid "Failed to find %saddress for `%s'.\n"
427msgstr "" 427msgstr ""
@@ -492,13 +492,80 @@ msgstr ""
492msgid "Initiating shutdown as requested by client.\n" 492msgid "Initiating shutdown as requested by client.\n"
493msgstr "" 493msgstr ""
494 494
495#: src/ats-tests/ats-testing-log.c:896 495#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
496msgid "Stop logging\n" 496#, c-format
497msgid ""
498"Could not load quota for network `%s': `%s', assigning default bandwidth "
499"%llu\n"
497msgstr "" 500msgstr ""
498 501
499#: src/ats-tests/ats-testing-log.c:952 502#: src/ats/gnunet-ats-solver-eval.c:3011
500#, c-format 503#, c-format
501msgid "Start logging `%s'\n" 504msgid ""
505"No outbound quota configured for network `%s', assigning default bandwidth "
506"%llu\n"
507msgstr ""
508
509#: src/ats/gnunet-ats-solver-eval.c:3063
510#, c-format
511msgid ""
512"No outbound quota configure for network `%s', assigning default bandwidth "
513"%llu\n"
514msgstr ""
515
516#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
517msgid "solver to use"
518msgstr ""
519
520#: src/ats/gnunet-ats-solver-eval.c:3557
521#: src/ats-tests/gnunet-solver-eval.c:1003
522#: src/ats-tests/gnunet-solver-eval.c:1008
523msgid "experiment to use"
524msgstr ""
525
526#: src/ats/gnunet-ats-solver-eval.c:3564
527msgid "print logging"
528msgstr ""
529
530#: src/ats/gnunet-ats-solver-eval.c:3569
531msgid "save logging to disk"
532msgstr ""
533
534#: src/ats/gnunet-ats-solver-eval.c:3574
535msgid "disable normalization"
536msgstr ""
537
538#: src/ats/gnunet-service-ats_plugins.c:326
539#, c-format
540msgid ""
541"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
542"%llu\n"
543msgstr ""
544
545#: src/ats/gnunet-service-ats_plugins.c:336
546#, c-format
547msgid "%s quota configured for network `%s' is %llu\n"
548msgstr ""
549
550#: src/ats/gnunet-service-ats_plugins.c:382
551#, c-format
552msgid ""
553"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
554msgstr ""
555
556#: src/ats/gnunet-service-ats_plugins.c:474
557#, c-format
558msgid "Failed to initialize solver `%s'!\n"
559msgstr ""
560
561#: src/ats/plugin_ats_proportional.c:1140
562#, c-format
563msgid "Invalid %s configuration %f \n"
564msgstr ""
565
566#: src/ats/plugin_ats_proportional.c:1163
567#, c-format
568msgid "Invalid %s configuration %f\n"
502msgstr "" 569msgstr ""
503 570
504#: src/ats-tests/ats-testing.c:420 571#: src/ats-tests/ats-testing.c:420
@@ -511,6 +578,15 @@ msgstr ""
511msgid "Failed to connect master peer [%u] with slave [%u]\n" 578msgid "Failed to connect master peer [%u] with slave [%u]\n"
512msgstr "" 579msgstr ""
513 580
581#: src/ats-tests/ats-testing-log.c:896
582msgid "Stop logging\n"
583msgstr ""
584
585#: src/ats-tests/ats-testing-log.c:952
586#, c-format
587msgid "Start logging `%s'\n"
588msgstr ""
589
514#: src/ats-tests/gnunet-ats-sim.c:92 590#: src/ats-tests/gnunet-ats-sim.c:92
515#, c-format 591#, c-format
516msgid "" 592msgid ""
@@ -518,16 +594,6 @@ msgid ""
518"= %u KiB/s\n" 594"= %u KiB/s\n"
519msgstr "" 595msgstr ""
520 596
521#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
522msgid "solver to use"
523msgstr ""
524
525#: src/ats-tests/gnunet-solver-eval.c:1003
526#: src/ats-tests/gnunet-solver-eval.c:1008
527#: src/ats/gnunet-ats-solver-eval.c:3557
528msgid "experiment to use"
529msgstr ""
530
531#: src/ats-tool/gnunet-ats.c:299 597#: src/ats-tool/gnunet-ats.c:299
532#, c-format 598#, c-format
533msgid "%u address resolutions had a timeout\n" 599msgid "%u address resolutions had a timeout\n"
@@ -644,72 +710,6 @@ msgstr ""
644msgid "Print information about ATS state" 710msgid "Print information about ATS state"
645msgstr "" 711msgstr ""
646 712
647#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
648#, c-format
649msgid ""
650"Could not load quota for network `%s': `%s', assigning default bandwidth "
651"%llu\n"
652msgstr ""
653
654#: src/ats/gnunet-ats-solver-eval.c:3011
655#, c-format
656msgid ""
657"No outbound quota configured for network `%s', assigning default bandwidth "
658"%llu\n"
659msgstr ""
660
661#: src/ats/gnunet-ats-solver-eval.c:3063
662#, c-format
663msgid ""
664"No outbound quota configure for network `%s', assigning default bandwidth "
665"%llu\n"
666msgstr ""
667
668#: src/ats/gnunet-ats-solver-eval.c:3564
669msgid "print logging"
670msgstr ""
671
672#: src/ats/gnunet-ats-solver-eval.c:3569
673msgid "save logging to disk"
674msgstr ""
675
676#: src/ats/gnunet-ats-solver-eval.c:3574
677msgid "disable normalization"
678msgstr ""
679
680#: src/ats/gnunet-service-ats_plugins.c:326
681#, c-format
682msgid ""
683"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
684"%llu\n"
685msgstr ""
686
687#: src/ats/gnunet-service-ats_plugins.c:336
688#, c-format
689msgid "%s quota configured for network `%s' is %llu\n"
690msgstr ""
691
692#: src/ats/gnunet-service-ats_plugins.c:382
693#, c-format
694msgid ""
695"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
696msgstr ""
697
698#: src/ats/gnunet-service-ats_plugins.c:474
699#, c-format
700msgid "Failed to initialize solver `%s'!\n"
701msgstr ""
702
703#: src/ats/plugin_ats_proportional.c:1140
704#, c-format
705msgid "Invalid %s configuration %f \n"
706msgstr ""
707
708#: src/ats/plugin_ats_proportional.c:1163
709#, c-format
710msgid "Invalid %s configuration %f\n"
711msgstr ""
712
713#: src/auction/gnunet-auction-create.c:163 713#: src/auction/gnunet-auction-create.c:163
714msgid "description of the item to be sold" 714msgid "description of the item to be sold"
715msgstr "" 715msgstr ""
@@ -836,28 +836,6 @@ msgstr ""
836msgid "Connection to conversation service lost, trying to reconnect\n" 836msgid "Connection to conversation service lost, trying to reconnect\n"
837msgstr "" 837msgstr ""
838 838
839#: src/conversation/gnunet-conversation-test.c:120
840#, c-format
841msgid ""
842"\n"
843"End of transmission. Have a GNU day.\n"
844msgstr ""
845
846#: src/conversation/gnunet-conversation-test.c:146
847#, c-format
848msgid ""
849"\n"
850"We are now playing your recording back. If you can hear it, your audio "
851"settings are working..."
852msgstr ""
853
854#: src/conversation/gnunet-conversation-test.c:218
855#, c-format
856msgid ""
857"We will now be recording you for %s. After that time, the recording will be "
858"played back to you..."
859msgstr ""
860
861#: src/conversation/gnunet-conversation.c:264 839#: src/conversation/gnunet-conversation.c:264
862#, c-format 840#, c-format
863msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n" 841msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1114,8 +1092,30 @@ msgstr ""
1114msgid "Enables having a conversation with other GNUnet users." 1092msgid "Enables having a conversation with other GNUnet users."
1115msgstr "" 1093msgstr ""
1116 1094
1117#: src/conversation/gnunet-helper-audio-playback-gst.c:363 1095#: src/conversation/gnunet-conversation-test.c:120
1096#, c-format
1097msgid ""
1098"\n"
1099"End of transmission. Have a GNU day.\n"
1100msgstr ""
1101
1102#: src/conversation/gnunet-conversation-test.c:146
1103#, c-format
1104msgid ""
1105"\n"
1106"We are now playing your recording back. If you can hear it, your audio "
1107"settings are working..."
1108msgstr ""
1109
1110#: src/conversation/gnunet-conversation-test.c:218
1111#, c-format
1112msgid ""
1113"We will now be recording you for %s. After that time, the recording will be "
1114"played back to you..."
1115msgstr ""
1116
1118#: src/conversation/gnunet_gst.c:664 1117#: src/conversation/gnunet_gst.c:664
1118#: src/conversation/gnunet-helper-audio-playback-gst.c:363
1119#, c-format 1119#, c-format
1120msgid "Read error from STDIN: %d %s\n" 1120msgid "Read error from STDIN: %d %s\n"
1121msgstr "" 1121msgstr ""
@@ -1887,16 +1887,16 @@ msgstr ""
1887msgid "Mysql database running\n" 1887msgid "Mysql database running\n"
1888msgstr "" 1888msgstr ""
1889 1889
1890#: src/datastore/plugin_datastore_postgres.c:277 1890#: src/datastore/plugin_datastore_postgres.c:278
1891#: src/datastore/plugin_datastore_postgres.c:890 1891#: src/datastore/plugin_datastore_postgres.c:891
1892msgid "Postgress exec failure" 1892msgid "Postgress exec failure"
1893msgstr "" 1893msgstr ""
1894 1894
1895#: src/datastore/plugin_datastore_postgres.c:851 1895#: src/datastore/plugin_datastore_postgres.c:852
1896msgid "Failed to drop table from database.\n" 1896msgid "Failed to drop table from database.\n"
1897msgstr "" 1897msgstr ""
1898 1898
1899#: src/datastore/plugin_datastore_postgres.c:949 1899#: src/datastore/plugin_datastore_postgres.c:950
1900msgid "Postgres database running\n" 1900msgid "Postgres database running\n"
1901msgstr "" 1901msgstr ""
1902 1902
@@ -2003,6 +2003,52 @@ msgstr ""
2003msgid "Prints all packets that go through the DHT." 2003msgid "Prints all packets that go through the DHT."
2004msgstr "" 2004msgstr ""
2005 2005
2006#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2007#, c-format
2008msgid "Exiting as the number of peers is %u\n"
2009msgstr ""
2010
2011#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2012msgid "number of peers to start"
2013msgstr ""
2014
2015#: src/dht/gnunet_dht_profiler.c:961
2016msgid "number of PUTs to perform per peer"
2017msgstr ""
2018
2019#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2020#: src/testbed/gnunet-testbed-profiler.c:305
2021msgid "name of the file with the login information for the testbed"
2022msgstr ""
2023
2024#: src/dht/gnunet_dht_profiler.c:973
2025msgid "delay between rounds for collecting statistics (default: 30 sec)"
2026msgstr ""
2027
2028#: src/dht/gnunet_dht_profiler.c:979
2029msgid "delay to start doing PUTs (default: 1 sec)"
2030msgstr ""
2031
2032#: src/dht/gnunet_dht_profiler.c:985
2033msgid "delay to start doing GETs (default: 5 min)"
2034msgstr ""
2035
2036#: src/dht/gnunet_dht_profiler.c:990
2037msgid "replication degree for DHT PUTs"
2038msgstr ""
2039
2040#: src/dht/gnunet_dht_profiler.c:996
2041msgid "chance that a peer is selected at random for PUTs"
2042msgstr ""
2043
2044#: src/dht/gnunet_dht_profiler.c:1002
2045msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2046msgstr ""
2047
2048#: src/dht/gnunet_dht_profiler.c:1023
2049msgid "Measure quality and performance of the DHT service."
2050msgstr ""
2051
2006#: src/dht/gnunet-dht-put.c:133 2052#: src/dht/gnunet-dht-put.c:133
2007msgid "Must provide KEY and DATA for DHT put!\n" 2053msgid "Must provide KEY and DATA for DHT put!\n"
2008msgstr "" 2054msgstr ""
@@ -2248,52 +2294,6 @@ msgstr ""
2248msgid "# DHT requests combined" 2294msgid "# DHT requests combined"
2249msgstr "" 2295msgstr ""
2250 2296
2251#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2252#, c-format
2253msgid "Exiting as the number of peers is %u\n"
2254msgstr ""
2255
2256#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2257msgid "number of peers to start"
2258msgstr ""
2259
2260#: src/dht/gnunet_dht_profiler.c:961
2261msgid "number of PUTs to perform per peer"
2262msgstr ""
2263
2264#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2265#: src/testbed/gnunet-testbed-profiler.c:305
2266msgid "name of the file with the login information for the testbed"
2267msgstr ""
2268
2269#: src/dht/gnunet_dht_profiler.c:973
2270msgid "delay between rounds for collecting statistics (default: 30 sec)"
2271msgstr ""
2272
2273#: src/dht/gnunet_dht_profiler.c:979
2274msgid "delay to start doing PUTs (default: 1 sec)"
2275msgstr ""
2276
2277#: src/dht/gnunet_dht_profiler.c:985
2278msgid "delay to start doing GETs (default: 5 min)"
2279msgstr ""
2280
2281#: src/dht/gnunet_dht_profiler.c:990
2282msgid "replication degree for DHT PUTs"
2283msgstr ""
2284
2285#: src/dht/gnunet_dht_profiler.c:996
2286msgid "chance that a peer is selected at random for PUTs"
2287msgstr ""
2288
2289#: src/dht/gnunet_dht_profiler.c:1002
2290msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2291msgstr ""
2292
2293#: src/dht/gnunet_dht_profiler.c:1023
2294msgid "Measure quality and performance of the DHT service."
2295msgstr ""
2296
2297#: src/dht/plugin_block_dht.c:189 2297#: src/dht/plugin_block_dht.c:189
2298#, c-format 2298#, c-format
2299msgid "Block not of type %u\n" 2299msgid "Block not of type %u\n"
@@ -3203,6 +3203,14 @@ msgid ""
3203"chk/...)" 3203"chk/...)"
3204msgstr "" 3204msgstr ""
3205 3205
3206#: src/fs/gnunet-fs.c:128
3207msgid "print a list of all indexed files"
3208msgstr ""
3209
3210#: src/fs/gnunet-fs.c:141
3211msgid "Special file-sharing operations"
3212msgstr ""
3213
3206#: src/fs/gnunet-fs-profiler.c:211 3214#: src/fs/gnunet-fs-profiler.c:211
3207msgid "run the experiment with COUNT peers" 3215msgid "run the experiment with COUNT peers"
3208msgstr "" 3216msgstr ""
@@ -3219,14 +3227,6 @@ msgstr ""
3219msgid "run a testbed to measure file-sharing performance" 3227msgid "run a testbed to measure file-sharing performance"
3220msgstr "" 3228msgstr ""
3221 3229
3222#: src/fs/gnunet-fs.c:128
3223msgid "print a list of all indexed files"
3224msgstr ""
3225
3226#: src/fs/gnunet-fs.c:141
3227msgid "Special file-sharing operations"
3228msgstr ""
3229
3230#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234 3230#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
3231#, c-format 3231#, c-format
3232msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" 3232msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -3881,6 +3881,49 @@ msgstr ""
3881msgid "look for GNS2DNS records instead of ANY" 3881msgid "look for GNS2DNS records instead of ANY"
3882msgstr "" 3882msgstr ""
3883 3883
3884#: src/gns/gnunet-gns.c:257
3885#, fuzzy, c-format
3886msgid "`%s' is not a valid DNS domain name\n"
3887msgstr "`%s' non è un indirizzo IP valido.\n"
3888
3889#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
3890#, c-format
3891msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
3892msgstr ""
3893
3894#: src/gns/gnunet-gns.c:281
3895msgid "Cannot resolve using GNS: GNUnet peer not running\n"
3896msgstr ""
3897
3898#: src/gns/gnunet-gns.c:305
3899#, c-format
3900msgid "Invalid typename specified, assuming `ANY'\n"
3901msgstr ""
3902
3903#: src/gns/gnunet-gns.c:340
3904msgid "Lookup a record for the given name"
3905msgstr ""
3906
3907#: src/gns/gnunet-gns.c:346
3908msgid "Specify the type of the record to lookup"
3909msgstr ""
3910
3911#: src/gns/gnunet-gns.c:352
3912msgid "Specify a timeout for the lookup"
3913msgstr ""
3914
3915#: src/gns/gnunet-gns.c:356
3916msgid "No unneeded output"
3917msgstr ""
3918
3919#: src/gns/gnunet-gns.c:361
3920msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
3921msgstr ""
3922
3923#: src/gns/gnunet-gns.c:375
3924msgid "GNUnet GNS resolver tool"
3925msgstr ""
3926
3884#: src/gns/gnunet-gns-import.c:486 3927#: src/gns/gnunet-gns-import.c:486
3885msgid "This program will import some GNS authorities into your GNS namestore." 3928msgid "This program will import some GNS authorities into your GNS namestore."
3886msgstr "" 3929msgstr ""
@@ -4000,49 +4043,6 @@ msgstr ""
4000msgid "GNUnet GNS proxy" 4043msgid "GNUnet GNS proxy"
4001msgstr "" 4044msgstr ""
4002 4045
4003#: src/gns/gnunet-gns.c:253
4004#, fuzzy, c-format
4005msgid "`%s' is not a valid DNS domain name\n"
4006msgstr "`%s' non è un indirizzo IP valido.\n"
4007
4008#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
4009#, c-format
4010msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4011msgstr ""
4012
4013#: src/gns/gnunet-gns.c:277
4014msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4015msgstr ""
4016
4017#: src/gns/gnunet-gns.c:301
4018#, c-format
4019msgid "Invalid typename specified, assuming `ANY'\n"
4020msgstr ""
4021
4022#: src/gns/gnunet-gns.c:336
4023msgid "Lookup a record for the given name"
4024msgstr ""
4025
4026#: src/gns/gnunet-gns.c:342
4027msgid "Specify the type of the record to lookup"
4028msgstr ""
4029
4030#: src/gns/gnunet-gns.c:348
4031msgid "Specify a timeout for the lookup"
4032msgstr ""
4033
4034#: src/gns/gnunet-gns.c:352
4035msgid "No unneeded output"
4036msgstr ""
4037
4038#: src/gns/gnunet-gns.c:357
4039msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4040msgstr ""
4041
4042#: src/gns/gnunet-gns.c:371
4043msgid "GNUnet GNS resolver tool"
4044msgstr ""
4045
4046#: src/gns/gnunet-service-gns.c:505 4046#: src/gns/gnunet-service-gns.c:505
4047#, fuzzy 4047#, fuzzy
4048msgid "Properly base32-encoded public key required" 4048msgid "Properly base32-encoded public key required"
@@ -4053,8 +4053,8 @@ msgid "Failed to connect to the namecache!\n"
4053msgstr "" 4053msgstr ""
4054 4054
4055#: src/gns/gnunet-service-gns.c:560 4055#: src/gns/gnunet-service-gns.c:560
4056#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4057#: src/zonemaster/gnunet-service-zonemaster.c:887 4056#: src/zonemaster/gnunet-service-zonemaster.c:887
4057#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4058msgid "Could not connect to DHT!\n" 4058msgid "Could not connect to DHT!\n"
4059msgstr "" 4059msgstr ""
4060 4060
@@ -4110,21 +4110,21 @@ msgstr ""
4110msgid "GNS lookup failed (zero records found for `%s')\n" 4110msgid "GNS lookup failed (zero records found for `%s')\n"
4111msgstr "" 4111msgstr ""
4112 4112
4113#: src/gns/gnunet-service-gns_resolver.c:2376 4113#: src/gns/gnunet-service-gns_resolver.c:2372
4114msgid "GNS lookup recursion failed (no delegation record found)\n" 4114msgid "GNS lookup recursion failed (no delegation record found)\n"
4115msgstr "" 4115msgstr ""
4116 4116
4117#: src/gns/gnunet-service-gns_resolver.c:2399 4117#: src/gns/gnunet-service-gns_resolver.c:2395
4118#, c-format 4118#, c-format
4119msgid "Failed to cache GNS resolution: %s\n" 4119msgid "Failed to cache GNS resolution: %s\n"
4120msgstr "" 4120msgstr ""
4121 4121
4122#: src/gns/gnunet-service-gns_resolver.c:2567 4122#: src/gns/gnunet-service-gns_resolver.c:2563
4123#, c-format 4123#, c-format
4124msgid "GNS namecache returned empty result for `%s'\n" 4124msgid "GNS namecache returned empty result for `%s'\n"
4125msgstr "" 4125msgstr ""
4126 4126
4127#: src/gns/gnunet-service-gns_resolver.c:2707 4127#: src/gns/gnunet-service-gns_resolver.c:2703
4128#, c-format 4128#, c-format
4129msgid "Zone %s was revoked, resolution fails\n" 4129msgid "Zone %s was revoked, resolution fails\n"
4130msgstr "" 4130msgstr ""
@@ -4784,68 +4784,6 @@ msgstr ""
4784msgid "Failed to setup database at `%s'\n" 4784msgid "Failed to setup database at `%s'\n"
4785msgstr "Impossibile avviare il servizio ' %s'\n" 4785msgstr "Impossibile avviare il servizio ' %s'\n"
4786 4786
4787#: src/namestore/gnunet-namestore-fcfsd.c:551
4788#, c-format
4789msgid "Unsupported form value `%s'\n"
4790msgstr ""
4791
4792#: src/namestore/gnunet-namestore-fcfsd.c:578
4793#, c-format
4794msgid "Failed to create record for domain `%s': %s\n"
4795msgstr ""
4796
4797#: src/namestore/gnunet-namestore-fcfsd.c:599
4798msgid "Error when mapping zone to name\n"
4799msgstr ""
4800
4801#: src/namestore/gnunet-namestore-fcfsd.c:631
4802#, c-format
4803msgid "Found existing name `%s' for the given key\n"
4804msgstr ""
4805
4806#: src/namestore/gnunet-namestore-fcfsd.c:693
4807#, c-format
4808msgid "Found %u existing records for domain `%s'\n"
4809msgstr ""
4810
4811#: src/namestore/gnunet-namestore-fcfsd.c:783
4812#, c-format
4813msgid "Failed to create page for `%s'\n"
4814msgstr ""
4815
4816#: src/namestore/gnunet-namestore-fcfsd.c:802
4817#, c-format
4818msgid "Failed to setup post processor for `%s'\n"
4819msgstr ""
4820
4821#: src/namestore/gnunet-namestore-fcfsd.c:839
4822msgid "Domain name must not contain `.'\n"
4823msgstr ""
4824
4825#: src/namestore/gnunet-namestore-fcfsd.c:848
4826msgid "Domain name must not contain `+'\n"
4827msgstr ""
4828
4829#: src/namestore/gnunet-namestore-fcfsd.c:1083
4830msgid "No ego configured for `fcfsd` subsystem\n"
4831msgstr ""
4832
4833#: src/namestore/gnunet-namestore-fcfsd.c:1114
4834msgid "Failed to start HTTP server\n"
4835msgstr "Impossibile avviare il server HTTP\n"
4836
4837#: src/namestore/gnunet-namestore-fcfsd.c:1162
4838msgid "Failed to connect to identity\n"
4839msgstr ""
4840
4841#: src/namestore/gnunet-namestore-fcfsd.c:1189
4842msgid "name of the zone that is to be managed by FCFSD"
4843msgstr ""
4844
4845#: src/namestore/gnunet-namestore-fcfsd.c:1209
4846msgid "GNU Name System First Come First Serve name registration service"
4847msgstr ""
4848
4849#: src/namestore/gnunet-namestore.c:334 4787#: src/namestore/gnunet-namestore.c:334
4850#, c-format 4788#, c-format
4851msgid "Adding record failed: %s\n" 4789msgid "Adding record failed: %s\n"
@@ -5065,7 +5003,69 @@ msgstr ""
5065msgid "name of the ego controlling the zone" 5003msgid "name of the ego controlling the zone"
5066msgstr "" 5004msgstr ""
5067 5005
5068#: src/namestore/gnunet-service-namestore.c:864 5006#: src/namestore/gnunet-namestore-fcfsd.c:551
5007#, c-format
5008msgid "Unsupported form value `%s'\n"
5009msgstr ""
5010
5011#: src/namestore/gnunet-namestore-fcfsd.c:578
5012#, c-format
5013msgid "Failed to create record for domain `%s': %s\n"
5014msgstr ""
5015
5016#: src/namestore/gnunet-namestore-fcfsd.c:599
5017msgid "Error when mapping zone to name\n"
5018msgstr ""
5019
5020#: src/namestore/gnunet-namestore-fcfsd.c:631
5021#, c-format
5022msgid "Found existing name `%s' for the given key\n"
5023msgstr ""
5024
5025#: src/namestore/gnunet-namestore-fcfsd.c:693
5026#, c-format
5027msgid "Found %u existing records for domain `%s'\n"
5028msgstr ""
5029
5030#: src/namestore/gnunet-namestore-fcfsd.c:783
5031#, c-format
5032msgid "Failed to create page for `%s'\n"
5033msgstr ""
5034
5035#: src/namestore/gnunet-namestore-fcfsd.c:802
5036#, c-format
5037msgid "Failed to setup post processor for `%s'\n"
5038msgstr ""
5039
5040#: src/namestore/gnunet-namestore-fcfsd.c:839
5041msgid "Domain name must not contain `.'\n"
5042msgstr ""
5043
5044#: src/namestore/gnunet-namestore-fcfsd.c:848
5045msgid "Domain name must not contain `+'\n"
5046msgstr ""
5047
5048#: src/namestore/gnunet-namestore-fcfsd.c:1083
5049msgid "No ego configured for `fcfsd` subsystem\n"
5050msgstr ""
5051
5052#: src/namestore/gnunet-namestore-fcfsd.c:1114
5053msgid "Failed to start HTTP server\n"
5054msgstr "Impossibile avviare il server HTTP\n"
5055
5056#: src/namestore/gnunet-namestore-fcfsd.c:1162
5057msgid "Failed to connect to identity\n"
5058msgstr ""
5059
5060#: src/namestore/gnunet-namestore-fcfsd.c:1189
5061msgid "name of the zone that is to be managed by FCFSD"
5062msgstr ""
5063
5064#: src/namestore/gnunet-namestore-fcfsd.c:1209
5065msgid "GNU Name System First Come First Serve name registration service"
5066msgstr ""
5067
5068#: src/namestore/gnunet-service-namestore.c:866
5069#, c-format 5069#, c-format
5070msgid "Failed to replicate block in namecache: %s\n" 5070msgid "Failed to replicate block in namecache: %s\n"
5071msgstr "" 5071msgstr ""
@@ -5371,6 +5371,10 @@ msgstr ""
5371msgid "`upnpc' command not found\n" 5371msgid "`upnpc' command not found\n"
5372msgstr "" 5372msgstr ""
5373 5373
5374#: src/nse/gnunet-nse.c:124
5375msgid "Show network size estimates from NSE service."
5376msgstr ""
5377
5374#: src/nse/gnunet-nse-profiler.c:857 5378#: src/nse/gnunet-nse-profiler.c:857
5375msgid "limit to the number of connections to NSE services, 0 for none" 5379msgid "limit to the number of connections to NSE services, 0 for none"
5376msgstr "" 5380msgstr ""
@@ -5395,15 +5399,65 @@ msgstr ""
5395msgid "Measure quality and performance of the NSE service." 5399msgid "Measure quality and performance of the NSE service."
5396msgstr "" 5400msgstr ""
5397 5401
5398#: src/nse/gnunet-nse.c:124
5399msgid "Show network size estimates from NSE service."
5400msgstr ""
5401
5402#: src/nse/gnunet-service-nse.c:1437 5402#: src/nse/gnunet-service-nse.c:1437
5403#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247 5403#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
5404msgid "Value is too large.\n" 5404msgid "Value is too large.\n"
5405msgstr "" 5405msgstr ""
5406 5406
5407#: src/peerinfo/gnunet-service-peerinfo.c:175
5408#, c-format
5409msgid "Removing expired address of transport `%s'\n"
5410msgstr ""
5411
5412#: src/peerinfo/gnunet-service-peerinfo.c:306
5413#, c-format
5414msgid "Failed to parse HELLO in file `%s': %s\n"
5415msgstr ""
5416
5417#: src/peerinfo/gnunet-service-peerinfo.c:323
5418#: src/peerinfo/gnunet-service-peerinfo.c:348
5419#, c-format
5420msgid "Failed to parse HELLO in file `%s'\n"
5421msgstr ""
5422
5423#: src/peerinfo/gnunet-service-peerinfo.c:426
5424msgid "# peers known"
5425msgstr "# peer conosciuti"
5426
5427#: src/peerinfo/gnunet-service-peerinfo.c:468
5428#, c-format
5429msgid ""
5430"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5431msgstr ""
5432
5433#: src/peerinfo/gnunet-service-peerinfo.c:624
5434#, c-format
5435msgid "Scanning directory `%s'\n"
5436msgstr ""
5437
5438#: src/peerinfo/gnunet-service-peerinfo.c:631
5439#, c-format
5440msgid "Still no peers found in `%s'!\n"
5441msgstr ""
5442
5443#: src/peerinfo/gnunet-service-peerinfo.c:1024
5444#, c-format
5445msgid "Cleaning up directory `%s'\n"
5446msgstr ""
5447
5448#: src/peerinfo/gnunet-service-peerinfo.c:1319
5449#, c-format
5450msgid "Importing HELLOs from `%s'\n"
5451msgstr ""
5452
5453#: src/peerinfo/gnunet-service-peerinfo.c:1332
5454msgid "Skipping import of included HELLOs\n"
5455msgstr ""
5456
5457#: src/peerinfo/peerinfo_api.c:217
5458msgid "Failed to receive response from `PEERINFO' service."
5459msgstr ""
5460
5407#: src/peerinfo-tool/gnunet-peerinfo.c:237 5461#: src/peerinfo-tool/gnunet-peerinfo.c:237
5408#, c-format 5462#, c-format
5409msgid "%sPeer `%s'\n" 5463msgid "%sPeer `%s'\n"
@@ -5498,60 +5552,6 @@ msgstr ""
5498msgid "Peerinfo REST API initialized\n" 5552msgid "Peerinfo REST API initialized\n"
5499msgstr "" 5553msgstr ""
5500 5554
5501#: src/peerinfo/gnunet-service-peerinfo.c:175
5502#, c-format
5503msgid "Removing expired address of transport `%s'\n"
5504msgstr ""
5505
5506#: src/peerinfo/gnunet-service-peerinfo.c:306
5507#, c-format
5508msgid "Failed to parse HELLO in file `%s': %s\n"
5509msgstr ""
5510
5511#: src/peerinfo/gnunet-service-peerinfo.c:323
5512#: src/peerinfo/gnunet-service-peerinfo.c:348
5513#, c-format
5514msgid "Failed to parse HELLO in file `%s'\n"
5515msgstr ""
5516
5517#: src/peerinfo/gnunet-service-peerinfo.c:426
5518msgid "# peers known"
5519msgstr "# peer conosciuti"
5520
5521#: src/peerinfo/gnunet-service-peerinfo.c:468
5522#, c-format
5523msgid ""
5524"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5525msgstr ""
5526
5527#: src/peerinfo/gnunet-service-peerinfo.c:624
5528#, c-format
5529msgid "Scanning directory `%s'\n"
5530msgstr ""
5531
5532#: src/peerinfo/gnunet-service-peerinfo.c:631
5533#, c-format
5534msgid "Still no peers found in `%s'!\n"
5535msgstr ""
5536
5537#: src/peerinfo/gnunet-service-peerinfo.c:1024
5538#, c-format
5539msgid "Cleaning up directory `%s'\n"
5540msgstr ""
5541
5542#: src/peerinfo/gnunet-service-peerinfo.c:1319
5543#, c-format
5544msgid "Importing HELLOs from `%s'\n"
5545msgstr ""
5546
5547#: src/peerinfo/gnunet-service-peerinfo.c:1332
5548msgid "Skipping import of included HELLOs\n"
5549msgstr ""
5550
5551#: src/peerinfo/peerinfo_api.c:217
5552msgid "Failed to receive response from `PEERINFO' service."
5553msgstr ""
5554
5555#: src/peerstore/gnunet-peerstore.c:92 5555#: src/peerstore/gnunet-peerstore.c:92
5556msgid "peerstore" 5556msgid "peerstore"
5557msgstr "" 5557msgstr ""
@@ -5958,6 +5958,18 @@ msgstr ""
5958msgid "Could not open revocation database file!" 5958msgid "Could not open revocation database file!"
5959msgstr "" 5959msgstr ""
5960 5960
5961#: src/rps/gnunet-rps.c:270
5962msgid "Seed a PeerID"
5963msgstr ""
5964
5965#: src/rps/gnunet-rps.c:275
5966msgid "Get updates of view (0 for infinite updates)"
5967msgstr ""
5968
5969#: src/rps/gnunet-rps.c:279
5970msgid "Get peers from biased stream"
5971msgstr ""
5972
5961#: src/rps/gnunet-rps-profiler.c:3200 5973#: src/rps/gnunet-rps-profiler.c:3200
5962msgid "duration of the profiling" 5974msgid "duration of the profiling"
5963msgstr "" 5975msgstr ""
@@ -5974,18 +5986,6 @@ msgstr ""
5974msgid "Measure quality and performance of the RPS service." 5986msgid "Measure quality and performance of the RPS service."
5975msgstr "" 5987msgstr ""
5976 5988
5977#: src/rps/gnunet-rps.c:270
5978msgid "Seed a PeerID"
5979msgstr ""
5980
5981#: src/rps/gnunet-rps.c:275
5982msgid "Get updates of view (0 for infinite updates)"
5983msgstr ""
5984
5985#: src/rps/gnunet-rps.c:279
5986msgid "Get peers from biased stream"
5987msgstr ""
5988
5989#: src/scalarproduct/gnunet-scalarproduct.c:229 5989#: src/scalarproduct/gnunet-scalarproduct.c:229
5990msgid "You must specify at least one message ID to check!\n" 5990msgid "You must specify at least one message ID to check!\n"
5991msgstr "" 5991msgstr ""
@@ -6040,10 +6040,10 @@ msgstr ""
6040msgid "Calculate the Vectorproduct with a GNUnet peer." 6040msgid "Calculate the Vectorproduct with a GNUnet peer."
6041msgstr "" 6041msgstr ""
6042 6042
6043#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6044#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6045#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363 6043#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
6046#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366 6044#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
6045#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6046#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6047msgid "Connect to CADET failed\n" 6047msgid "Connect to CADET failed\n"
6048msgstr "" 6048msgstr ""
6049 6049
@@ -6382,6 +6382,15 @@ msgstr ""
6382msgid "%.s Unknown result code." 6382msgid "%.s Unknown result code."
6383msgstr "" 6383msgstr ""
6384 6384
6385#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6386msgid "Waiting for child to exit.\n"
6387msgstr ""
6388
6389#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6390#, c-format
6391msgid "Spawning process `%s'\n"
6392msgstr ""
6393
6385#: src/testbed/gnunet-testbed-profiler.c:290 6394#: src/testbed/gnunet-testbed-profiler.c:290
6386msgid "tolerate COUNT number of continious timeout failures" 6395msgid "tolerate COUNT number of continious timeout failures"
6387msgstr "" 6396msgstr ""
@@ -6393,15 +6402,6 @@ msgid ""
6393"signal is received" 6402"signal is received"
6394msgstr "" 6403msgstr ""
6395 6404
6396#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6397msgid "Waiting for child to exit.\n"
6398msgstr ""
6399
6400#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6401#, c-format
6402msgid "Spawning process `%s'\n"
6403msgstr ""
6404
6405#: src/testbed/testbed_api.c:399 6405#: src/testbed/testbed_api.c:399
6406#, c-format 6406#, c-format
6407msgid "Adding host %u failed with error: %s\n" 6407msgid "Adding host %u failed with error: %s\n"
@@ -6723,6 +6723,10 @@ msgstr ""
6723msgid "GNUnet UNIX domain socket communicator" 6723msgid "GNUnet UNIX domain socket communicator"
6724msgstr "" 6724msgstr ""
6725 6725
6726#: src/transport/gnunet-service-transport_ats.c:137
6727msgid "# Addresses given to ATS"
6728msgstr ""
6729
6726#: src/transport/gnunet-service-transport.c:445 6730#: src/transport/gnunet-service-transport.c:445
6727msgid "# messages dropped due to slow client" 6731msgid "# messages dropped due to slow client"
6728msgstr "" 6732msgstr ""
@@ -6763,10 +6767,6 @@ msgstr ""
6763msgid "Adding blacklisting entry for peer `%s':`%s'\n" 6767msgid "Adding blacklisting entry for peer `%s':`%s'\n"
6764msgstr "" 6768msgstr ""
6765 6769
6766#: src/transport/gnunet-service-transport_ats.c:137
6767msgid "# Addresses given to ATS"
6768msgstr ""
6769
6770#: src/transport/gnunet-service-transport_hello.c:195 6770#: src/transport/gnunet-service-transport_hello.c:195
6771msgid "# refreshed my HELLO" 6771msgid "# refreshed my HELLO"
6772msgstr "" 6772msgstr ""
@@ -7084,41 +7084,6 @@ msgstr ""
7084msgid "# HELLOs given to peerinfo" 7084msgid "# HELLOs given to peerinfo"
7085msgstr "" 7085msgstr ""
7086 7086
7087#: src/transport/gnunet-transport-profiler.c:220
7088#, c-format
7089msgid "%llu B in %llu ms == %.2f KB/s!\n"
7090msgstr ""
7091
7092#: src/transport/gnunet-transport-profiler.c:577
7093msgid "send data to peer"
7094msgstr ""
7095
7096#: src/transport/gnunet-transport-profiler.c:581
7097msgid "receive data from peer"
7098msgstr ""
7099
7100#: src/transport/gnunet-transport-profiler.c:586
7101msgid "iterations"
7102msgstr ""
7103
7104#: src/transport/gnunet-transport-profiler.c:591
7105msgid "number of messages to send"
7106msgstr ""
7107
7108#: src/transport/gnunet-transport-profiler.c:596
7109msgid "message size to use"
7110msgstr ""
7111
7112#: src/transport/gnunet-transport-profiler.c:601
7113#: src/transport/gnunet-transport.c:1404
7114msgid "peer identity"
7115msgstr ""
7116
7117#: src/transport/gnunet-transport-profiler.c:614
7118#: src/transport/gnunet-transport.c:1426
7119msgid "Direct access to transport service."
7120msgstr ""
7121
7122#: src/transport/gnunet-transport.c:406 7087#: src/transport/gnunet-transport.c:406
7123#, c-format 7088#, c-format
7124msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n" 7089msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7251,6 +7216,11 @@ msgstr ""
7251msgid "do not resolve hostnames" 7216msgid "do not resolve hostnames"
7252msgstr "" 7217msgstr ""
7253 7218
7219#: src/transport/gnunet-transport.c:1404
7220#: src/transport/gnunet-transport-profiler.c:601
7221msgid "peer identity"
7222msgstr ""
7223
7254#: src/transport/gnunet-transport.c:1408 7224#: src/transport/gnunet-transport.c:1408
7255msgid "monitor plugin sessions" 7225msgid "monitor plugin sessions"
7256msgstr "" 7226msgstr ""
@@ -7259,6 +7229,36 @@ msgstr ""
7259msgid "send data for benchmarking to the other peer (until CTRL-C)" 7229msgid "send data for benchmarking to the other peer (until CTRL-C)"
7260msgstr "" 7230msgstr ""
7261 7231
7232#: src/transport/gnunet-transport.c:1426
7233#: src/transport/gnunet-transport-profiler.c:614
7234msgid "Direct access to transport service."
7235msgstr ""
7236
7237#: src/transport/gnunet-transport-profiler.c:220
7238#, c-format
7239msgid "%llu B in %llu ms == %.2f KB/s!\n"
7240msgstr ""
7241
7242#: src/transport/gnunet-transport-profiler.c:577
7243msgid "send data to peer"
7244msgstr ""
7245
7246#: src/transport/gnunet-transport-profiler.c:581
7247msgid "receive data from peer"
7248msgstr ""
7249
7250#: src/transport/gnunet-transport-profiler.c:586
7251msgid "iterations"
7252msgstr ""
7253
7254#: src/transport/gnunet-transport-profiler.c:591
7255msgid "number of messages to send"
7256msgstr ""
7257
7258#: src/transport/gnunet-transport-profiler.c:596
7259msgid "message size to use"
7260msgstr ""
7261
7262#: src/transport/plugin_transport_http_client.c:1489 7262#: src/transport/plugin_transport_http_client.c:1489
7263#: src/transport/plugin_transport_http_server.c:2331 7263#: src/transport/plugin_transport_http_server.c:2331
7264#: src/transport/plugin_transport_http_server.c:3562 7264#: src/transport/plugin_transport_http_server.c:3562
@@ -7525,6 +7525,21 @@ msgstr ""
7525msgid "TCP transport advertises itself as being on port %llu\n" 7525msgid "TCP transport advertises itself as being on port %llu\n"
7526msgstr "" 7526msgstr ""
7527 7527
7528#: src/transport/plugin_transport_udp_broadcasting.c:169
7529#, fuzzy
7530msgid "# Multicast HELLO beacons received via UDP"
7531msgstr "# messaggi PONG ricevuti"
7532
7533#: src/transport/plugin_transport_udp_broadcasting.c:553
7534msgid ""
7535"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7536msgstr ""
7537
7538#: src/transport/plugin_transport_udp_broadcasting.c:571
7539#, c-format
7540msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7541msgstr ""
7542
7528#: src/transport/plugin_transport_udp.c:3169 7543#: src/transport/plugin_transport_udp.c:3169
7529#, c-format 7544#, c-format
7530msgid "" 7545msgid ""
@@ -7571,21 +7586,6 @@ msgstr "deve essere un indirizzo IPv4 valido"
7571msgid "Failed to create UDP network sockets\n" 7586msgid "Failed to create UDP network sockets\n"
7572msgstr "Generazione statistiche fallita\n" 7587msgstr "Generazione statistiche fallita\n"
7573 7588
7574#: src/transport/plugin_transport_udp_broadcasting.c:169
7575#, fuzzy
7576msgid "# Multicast HELLO beacons received via UDP"
7577msgstr "# messaggi PONG ricevuti"
7578
7579#: src/transport/plugin_transport_udp_broadcasting.c:553
7580msgid ""
7581"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7582msgstr ""
7583
7584#: src/transport/plugin_transport_udp_broadcasting.c:571
7585#, c-format
7586msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7587msgstr ""
7588
7589#: src/transport/plugin_transport_unix.c:1396 7589#: src/transport/plugin_transport_unix.c:1396
7590#, fuzzy, c-format 7590#, fuzzy, c-format
7591msgid "Cannot bind to `%s'\n" 7591msgid "Cannot bind to `%s'\n"
@@ -7669,17 +7669,17 @@ msgstr ""
7669msgid "Accepting connection from `%s': %p\n" 7669msgid "Accepting connection from `%s': %p\n"
7670msgstr "" 7670msgstr ""
7671 7671
7672#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400 7672#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
7673#, c-format 7673#, c-format
7674msgid "`%s' failed for port %d (%s).\n" 7674msgid "`%s' failed for port %d (%s).\n"
7675msgstr "" 7675msgstr ""
7676 7676
7677#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412 7677#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
7678#, c-format 7678#, c-format
7679msgid "`%s' failed for port %d (%s): address already in use\n" 7679msgid "`%s' failed for port %d (%s): address already in use\n"
7680msgstr "" 7680msgstr ""
7681 7681
7682#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419 7682#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
7683#, c-format 7683#, c-format
7684msgid "`%s' failed for `%s': address already in use\n" 7684msgid "`%s' failed for `%s': address already in use\n"
7685msgstr "" 7685msgstr ""
@@ -7691,7 +7691,7 @@ msgid ""
7691"`GNUNET_SERVER_receive_done' after %s\n" 7691"`GNUNET_SERVER_receive_done' after %s\n"
7692msgstr "" 7692msgstr ""
7693 7693
7694#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837 7694#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
7695#, c-format 7695#, c-format
7696msgid "Unknown address family %d\n" 7696msgid "Unknown address family %d\n"
7697msgstr "" 7697msgstr ""
@@ -7701,23 +7701,23 @@ msgstr ""
7701msgid "Access from `%s' denied to service `%s'\n" 7701msgid "Access from `%s' denied to service `%s'\n"
7702msgstr "" 7702msgstr ""
7703 7703
7704#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950 7704#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
7705#, c-format 7705#, c-format
7706msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n" 7706msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
7707msgstr "" 7707msgstr ""
7708 7708
7709#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991 7709#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
7710#, c-format 7710#, c-format
7711msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n" 7711msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
7712msgstr "" 7712msgstr ""
7713 7713
7714#: src/transport/tcp_service_legacy.c:890 7714#: src/transport/tcp_service_legacy.c:890
7715#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480 7715#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
7716#, c-format 7716#, c-format
7717msgid "Specified value for `%s' of service `%s' is invalid\n" 7717msgid "Specified value for `%s' of service `%s' is invalid\n"
7718msgstr "" 7718msgstr ""
7719 7719
7720#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504 7720#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
7721#, c-format 7721#, c-format
7722msgid "Could not access pre-bound socket %u, will try to bind myself\n" 7722msgid "Could not access pre-bound socket %u, will try to bind myself\n"
7723msgstr "" 7723msgstr ""
@@ -7732,45 +7732,45 @@ msgstr ""
7732msgid "Service `%s' runs at %s\n" 7732msgid "Service `%s' runs at %s\n"
7733msgstr "" 7733msgstr ""
7734 7734
7735#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750 7735#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
7736msgid "Service process failed to initialize\n" 7736msgid "Service process failed to initialize\n"
7737msgstr "" 7737msgstr ""
7738 7738
7739#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755 7739#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
7740msgid "Service process could not initialize server function\n" 7740msgid "Service process could not initialize server function\n"
7741msgstr "" 7741msgstr ""
7742 7742
7743#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760 7743#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
7744msgid "Service process failed to report status\n" 7744msgid "Service process failed to report status\n"
7745msgstr "" 7745msgstr ""
7746 7746
7747#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177 7747#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
7748#: src/util/service.c:1641 7748#: src/util/service.c:1638
7749#, c-format 7749#, c-format
7750msgid "Cannot obtain information about user `%s': %s\n" 7750msgid "Cannot obtain information about user `%s': %s\n"
7751msgstr "" 7751msgstr ""
7752 7752
7753#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643 7753#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
7754msgid "No such user" 7754msgid "No such user"
7755msgstr "" 7755msgstr ""
7756 7756
7757#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657 7757#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
7758#, c-format 7758#, c-format
7759msgid "Cannot change user/group to `%s': %s\n" 7759msgid "Cannot change user/group to `%s': %s\n"
7760msgstr "" 7760msgstr ""
7761 7761
7762#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999 7762#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
7763msgid "do daemonize (detach from terminal)" 7763msgid "do daemonize (detach from terminal)"
7764msgstr "" 7764msgstr ""
7765 7765
7766#: src/transport/tcp_service_legacy.c:1397 7766#: src/transport/tcp_service_legacy.c:1397
7767#: src/transport/transport-testing2.c:906 src/util/service.c:2073 7767#: src/transport/transport-testing2.c:906 src/util/service.c:2070
7768#: src/util/service.c:2085 7768#: src/util/service.c:2082
7769#, c-format 7769#, c-format
7770msgid "Malformed configuration file `%s', exit ...\n" 7770msgid "Malformed configuration file `%s', exit ...\n"
7771msgstr "" 7771msgstr ""
7772 7772
7773#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095 7773#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
7774msgid "Malformed configuration, exit ...\n" 7774msgid "Malformed configuration, exit ...\n"
7775msgstr "" 7775msgstr ""
7776 7776
@@ -7812,104 +7812,104 @@ msgstr ""
7812msgid "Metadata `%s' failed to deserialize" 7812msgid "Metadata `%s' failed to deserialize"
7813msgstr "" 7813msgstr ""
7814 7814
7815#: src/util/client.c:739 src/util/client.c:931 7815#: src/util/client.c:747 src/util/client.c:937
7816msgid "not a valid filename" 7816msgid "not a valid filename"
7817msgstr "" 7817msgstr ""
7818 7818
7819#: src/util/client.c:1097 7819#: src/util/client.c:1103
7820#, c-format 7820#, c-format
7821msgid "Need a non-empty hostname for service `%s'.\n" 7821msgid "Need a non-empty hostname for service `%s'.\n"
7822msgstr "" 7822msgstr ""
7823 7823
7824#: src/util/common_logging.c:259 src/util/common_logging.c:1116 7824#: src/util/common_logging.c:259 src/util/common_logging.c:1112
7825msgid "DEBUG" 7825msgid "DEBUG"
7826msgstr "DEBUG" 7826msgstr "DEBUG"
7827 7827
7828#: src/util/common_logging.c:261 src/util/common_logging.c:1114 7828#: src/util/common_logging.c:261 src/util/common_logging.c:1110
7829msgid "INFO" 7829msgid "INFO"
7830msgstr "INFO" 7830msgstr "INFO"
7831 7831
7832#: src/util/common_logging.c:263 src/util/common_logging.c:1112 7832#: src/util/common_logging.c:263 src/util/common_logging.c:1108
7833msgid "MESSAGE" 7833msgid "MESSAGE"
7834msgstr "" 7834msgstr ""
7835 7835
7836#: src/util/common_logging.c:265 src/util/common_logging.c:1110 7836#: src/util/common_logging.c:265 src/util/common_logging.c:1106
7837msgid "WARNING" 7837msgid "WARNING"
7838msgstr "ATTENZIONE" 7838msgstr "ATTENZIONE"
7839 7839
7840#: src/util/common_logging.c:267 src/util/common_logging.c:1108 7840#: src/util/common_logging.c:267 src/util/common_logging.c:1104
7841msgid "ERROR" 7841msgid "ERROR"
7842msgstr "ERRORE" 7842msgstr "ERRORE"
7843 7843
7844#: src/util/common_logging.c:269 src/util/common_logging.c:1118 7844#: src/util/common_logging.c:269 src/util/common_logging.c:1114
7845msgid "NONE" 7845msgid "NONE"
7846msgstr "NESSUNA" 7846msgstr "NESSUNA"
7847 7847
7848#: src/util/common_logging.c:630 src/util/common_logging.c:669 7848#: src/util/common_logging.c:626 src/util/common_logging.c:665
7849#, c-format 7849#, c-format
7850msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n" 7850msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
7851msgstr "" 7851msgstr ""
7852 7852
7853#: src/util/common_logging.c:906 7853#: src/util/common_logging.c:902
7854#, c-format 7854#, c-format
7855msgid "Message `%.*s' repeated %u times in the last %s\n" 7855msgid "Message `%.*s' repeated %u times in the last %s\n"
7856msgstr "" 7856msgstr ""
7857 7857
7858#: src/util/common_logging.c:1119 7858#: src/util/common_logging.c:1115
7859msgid "INVALID" 7859msgid "INVALID"
7860msgstr "NON VALIDO" 7860msgstr "NON VALIDO"
7861 7861
7862#: src/util/common_logging.c:1400 7862#: src/util/common_logging.c:1396
7863msgid "unknown address" 7863msgid "unknown address"
7864msgstr "indirizzo sconosciuto" 7864msgstr "indirizzo sconosciuto"
7865 7865
7866#: src/util/common_logging.c:1445 7866#: src/util/common_logging.c:1441
7867msgid "invalid address" 7867msgid "invalid address"
7868msgstr "indirizzo non valido" 7868msgstr "indirizzo non valido"
7869 7869
7870#: src/util/common_logging.c:1464 7870#: src/util/common_logging.c:1460
7871#, c-format 7871#, c-format
7872msgid "Configuration fails to specify option `%s' in section `%s'!\n" 7872msgid "Configuration fails to specify option `%s' in section `%s'!\n"
7873msgstr "" 7873msgstr ""
7874 7874
7875#: src/util/common_logging.c:1487 7875#: src/util/common_logging.c:1483
7876#, c-format 7876#, c-format
7877msgid "" 7877msgid ""
7878"Configuration specifies invalid value for option `%s' in section `%s': %s\n" 7878"Configuration specifies invalid value for option `%s' in section `%s': %s\n"
7879msgstr "" 7879msgstr ""
7880 7880
7881#: src/util/configuration.c:325 7881#: src/util/configuration.c:402
7882#, c-format 7882#, c-format
7883msgid "Syntax error while deserializing in line %u\n" 7883msgid "Syntax error while deserializing in line %u\n"
7884msgstr "" 7884msgstr ""
7885 7885
7886#: src/util/configuration.c:383 7886#: src/util/configuration.c:460
7887#, c-format 7887#, c-format
7888msgid "Error while reading file `%s'\n" 7888msgid "Error while reading file `%s'\n"
7889msgstr "Errore di lettura del file `%s'\n" 7889msgstr "Errore di lettura del file `%s'\n"
7890 7890
7891#: src/util/configuration.c:986 7891#: src/util/configuration.c:1063
7892msgid "Not a valid relative time specification" 7892msgid "Not a valid relative time specification"
7893msgstr "" 7893msgstr ""
7894 7894
7895#: src/util/configuration.c:1077 7895#: src/util/configuration.c:1154
7896#, c-format 7896#, c-format
7897msgid "" 7897msgid ""
7898"Configuration value '%s' for '%s' in section '%s' is not in set of legal " 7898"Configuration value '%s' for '%s' in section '%s' is not in set of legal "
7899"choices\n" 7899"choices\n"
7900msgstr "" 7900msgstr ""
7901 7901
7902#: src/util/configuration.c:1192 7902#: src/util/configuration.c:1269
7903#, c-format 7903#, c-format
7904msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n" 7904msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
7905msgstr "" 7905msgstr ""
7906 7906
7907#: src/util/configuration.c:1224 7907#: src/util/configuration.c:1301
7908#, c-format 7908#, c-format
7909msgid "Missing closing `%s' in option `%s'\n" 7909msgid "Missing closing `%s' in option `%s'\n"
7910msgstr "" 7910msgstr ""
7911 7911
7912#: src/util/configuration.c:1290 7912#: src/util/configuration.c:1367
7913#, c-format 7913#, c-format
7914msgid "" 7914msgid ""
7915"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined " 7915"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -7971,7 +7971,7 @@ msgstr ""
7971msgid "RSA signing failed at %s:%d: %s\n" 7971msgid "RSA signing failed at %s:%d: %s\n"
7972msgstr "" 7972msgstr ""
7973 7973
7974#: src/util/crypto_rsa.c:1313 7974#: src/util/crypto_rsa.c:1314
7975#, c-format 7975#, c-format
7976msgid "RSA signature verification failed at %s:%d: %s\n" 7976msgid "RSA signature verification failed at %s:%d: %s\n"
7977msgstr "" 7977msgstr ""
@@ -8076,63 +8076,71 @@ msgstr ""
8076msgid "Missing mandatory option `%s'.\n" 8076msgid "Missing mandatory option `%s'.\n"
8077msgstr "" 8077msgstr ""
8078 8078
8079#: src/util/getopt_helpers.c:68 8079#: src/util/getopt_helpers.c:69
8080msgid "print the version number" 8080msgid "print the version number"
8081msgstr "" 8081msgstr ""
8082 8082
8083#: src/util/getopt_helpers.c:114 8083#: src/util/getopt_helpers.c:116
8084#, c-format 8084#, c-format
8085msgid "" 8085msgid ""
8086"Arguments mandatory for long options are also mandatory for short options.\n" 8086"Arguments mandatory for long options are also mandatory for short options.\n"
8087msgstr "" 8087msgstr ""
8088 8088
8089#: src/util/getopt_helpers.c:205 8089#: src/util/getopt_helpers.c:208
8090msgid "print this help" 8090msgid "print this help"
8091msgstr "" 8091msgstr ""
8092 8092
8093#: src/util/getopt_helpers.c:281 8093#: src/util/getopt_helpers.c:288
8094msgid "be verbose" 8094msgid "be verbose"
8095msgstr "" 8095msgstr ""
8096 8096
8097#: src/util/getopt_helpers.c:417 8097#: src/util/getopt_helpers.c:429
8098msgid "configure logging to use LOGLEVEL" 8098msgid "configure logging to use LOGLEVEL"
8099msgstr "" 8099msgstr ""
8100 8100
8101#: src/util/getopt_helpers.c:495 8101#: src/util/getopt_helpers.c:510
8102msgid "configure logging to write logs to FILENAME" 8102msgid "configure logging to write logs to FILENAME"
8103msgstr "" 8103msgstr ""
8104 8104
8105#: src/util/getopt_helpers.c:516 8105#: src/util/getopt_helpers.c:532
8106msgid "use configuration file FILENAME" 8106msgid "use configuration file FILENAME"
8107msgstr "" 8107msgstr ""
8108 8108
8109#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747 8109#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
8110#: src/util/getopt_helpers.c:810 8110#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
8111#, c-format 8111#, c-format
8112msgid "You must pass a number to the `%s' option.\n" 8112msgid "You must pass a number to the `%s' option.\n"
8113msgstr "" 8113msgstr ""
8114 8114
8115#: src/util/getopt_helpers.c:612 8115#: src/util/getopt_helpers.c:659
8116msgid "[+/-]MICROSECONDS"
8117msgstr ""
8118
8119#: src/util/getopt_helpers.c:661
8120msgid "modify system time by given offset (for debugging/testing only)"
8121msgstr ""
8122
8123#: src/util/getopt_helpers.c:696
8116#, c-format 8124#, c-format
8117msgid "You must pass relative time to the `%s' option.\n" 8125msgid "You must pass relative time to the `%s' option.\n"
8118msgstr "" 8126msgstr ""
8119 8127
8120#: src/util/getopt_helpers.c:675 8128#: src/util/getopt_helpers.c:761
8121#, c-format 8129#, c-format
8122msgid "You must pass absolute time to the `%s' option.\n" 8130msgid "You must pass absolute time to the `%s' option.\n"
8123msgstr "" 8131msgstr ""
8124 8132
8125#: src/util/getopt_helpers.c:740 8133#: src/util/getopt_helpers.c:828
8126#, c-format 8134#, c-format
8127msgid "Your input for the '%s' option has to be a non negative number \n" 8135msgid "Your input for the '%s' option has to be a non negative number\n"
8128msgstr "" 8136msgstr ""
8129 8137
8130#: src/util/getopt_helpers.c:817 8138#: src/util/getopt_helpers.c:907
8131#, c-format 8139#, c-format
8132msgid "You must pass a number below %u to the `%s' option.\n" 8140msgid "You must pass a number below %u to the `%s' option.\n"
8133msgstr "" 8141msgstr ""
8134 8142
8135#: src/util/getopt_helpers.c:902 8143#: src/util/getopt_helpers.c:994
8136#, c-format 8144#, c-format
8137msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n" 8145msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
8138msgstr "" 8146msgstr ""
@@ -8465,14 +8473,14 @@ msgstr ""
8465msgid "Could not resolve our FQDN: %s\n" 8473msgid "Could not resolve our FQDN: %s\n"
8466msgstr "" 8474msgstr ""
8467 8475
8468#: src/util/service.c:657 8476#: src/util/service.c:654
8469#, c-format 8477#, c-format
8470msgid "" 8478msgid ""
8471"Processing code for message of type %u did not call " 8479"Processing code for message of type %u did not call "
8472"`GNUNET_SERVICE_client_continue' after %s\n" 8480"`GNUNET_SERVICE_client_continue' after %s\n"
8473msgstr "" 8481msgstr ""
8474 8482
8475#: src/util/service.c:1572 8483#: src/util/service.c:1569
8476msgid "" 8484msgid ""
8477"Could not bind to any of the ports I was supposed to, refusing to run!\n" 8485"Could not bind to any of the ports I was supposed to, refusing to run!\n"
8478msgstr "" 8486msgstr ""
@@ -8780,8 +8788,8 @@ msgstr ""
8780msgid "Setup tunnels via VPN." 8788msgid "Setup tunnels via VPN."
8781msgstr "" 8789msgstr ""
8782 8790
8783#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
8784#: src/zonemaster/gnunet-service-zonemaster.c:849 8791#: src/zonemaster/gnunet-service-zonemaster.c:849
8792#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
8785msgid "Failed to connect to the namestore!\n" 8793msgid "Failed to connect to the namestore!\n"
8786msgstr "" 8794msgstr ""
8787 8795
diff --git a/po/sv.po b/po/sv.po
index 8631b6f13..804d41284 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: GNUnet 0.7.0b\n" 8"Project-Id-Version: GNUnet 0.7.0b\n"
9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
10"POT-Creation-Date: 2020-01-13 14:01+0000\n" 10"POT-Creation-Date: 2020-02-13 20:41+0100\n"
11"PO-Revision-Date: 2006-01-21 17:16+0100\n" 11"PO-Revision-Date: 2006-01-21 17:16+0100\n"
12"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" 12"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" 13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -27,8 +27,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
27msgstr "Ogiltigt argument: \"%s\"\n" 27msgstr "Ogiltigt argument: \"%s\"\n"
28 28
29#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747 29#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
30#: src/namestore/gnunet-namestore-fcfsd.c:1153
31#: src/namestore/gnunet-namestore.c:1001 30#: src/namestore/gnunet-namestore.c:1001
31#: src/namestore/gnunet-namestore-fcfsd.c:1153
32#, fuzzy, c-format 32#, fuzzy, c-format
33msgid "Failed to connect to namestore\n" 33msgid "Failed to connect to namestore\n"
34msgstr "Misslyckades att ansluta till gnunetd.\n" 34msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -140,7 +140,7 @@ msgstr ""
140msgid "GNUnet abd resolver tool" 140msgid "GNUnet abd resolver tool"
141msgstr "Spåra GNUnets nätverkstopologi." 141msgstr "Spåra GNUnets nätverkstopologi."
142 142
143#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288 143#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
144#, fuzzy, c-format 144#, fuzzy, c-format
145msgid "Failed to connect to GNS\n" 145msgid "Failed to connect to GNS\n"
146msgstr "Misslyckades att ansluta till gnunetd.\n" 146msgstr "Misslyckades att ansluta till gnunetd.\n"
@@ -385,28 +385,28 @@ msgstr ""
385#: src/transport/plugin_transport_tcp.c:1129 385#: src/transport/plugin_transport_tcp.c:1129
386#: src/transport/plugin_transport_tcp.c:3706 386#: src/transport/plugin_transport_tcp.c:3706
387#: src/transport/tcp_service_legacy.c:594 387#: src/transport/tcp_service_legacy.c:594
388#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094 388#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
389#: src/util/service.c:1100 389#: src/util/service.c:1097
390#, c-format 390#, c-format
391msgid "Require valid port number for service `%s' in configuration!\n" 391msgid "Require valid port number for service `%s' in configuration!\n"
392msgstr "" 392msgstr ""
393 393
394#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163 394#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
395#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519 395#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
396#: src/util/service.c:1133 396#: src/util/service.c:1130
397#, c-format 397#, c-format
398msgid "UNIXPATH `%s' too long, maximum length is %llu\n" 398msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
399msgstr "" 399msgstr ""
400 400
401#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167 401#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
402#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524 402#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
403#: src/util/service.c:1137 403#: src/util/service.c:1134
404#, fuzzy, c-format 404#, fuzzy, c-format
405msgid "Using `%s' instead\n" 405msgid "Using `%s' instead\n"
406msgstr "%s: flagga \"%s\" är tvetydig\n" 406msgstr "%s: flagga \"%s\" är tvetydig\n"
407 407
408#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195 408#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
409#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157 409#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
410#, c-format 410#, c-format
411msgid "" 411msgid ""
412"Disabling UNIX domain socket support for service `%s', failed to create UNIX " 412"Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -414,7 +414,7 @@ msgid ""
414msgstr "" 414msgstr ""
415 415
416#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213 416#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
417#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175 417#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
418#, c-format 418#, c-format
419msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n" 419msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
420msgstr "" 420msgstr ""
@@ -422,7 +422,7 @@ msgstr ""
422#: src/arm/gnunet-service-arm.c:536 422#: src/arm/gnunet-service-arm.c:536
423#: src/transport/plugin_transport_http_server.c:2718 423#: src/transport/plugin_transport_http_server.c:2718
424#: src/transport/plugin_transport_tcp.c:1244 424#: src/transport/plugin_transport_tcp.c:1244
425#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206 425#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
426#, fuzzy, c-format 426#, fuzzy, c-format
427msgid "Failed to resolve `%s': %s\n" 427msgid "Failed to resolve `%s': %s\n"
428msgstr "Misslyckades att leverera \"%s\" meddelande.\n" 428msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
@@ -430,7 +430,7 @@ msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
430#: src/arm/gnunet-service-arm.c:555 430#: src/arm/gnunet-service-arm.c:555
431#: src/transport/plugin_transport_http_server.c:2736 431#: src/transport/plugin_transport_http_server.c:2736
432#: src/transport/plugin_transport_tcp.c:1263 432#: src/transport/plugin_transport_tcp.c:1263
433#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225 433#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
434#, fuzzy, c-format 434#, fuzzy, c-format
435msgid "Failed to find %saddress for `%s'.\n" 435msgid "Failed to find %saddress for `%s'.\n"
436msgstr "Misslyckades att binda till UDP-port %d.\n" 436msgstr "Misslyckades att binda till UDP-port %d.\n"
@@ -502,15 +502,83 @@ msgstr ""
502msgid "Initiating shutdown as requested by client.\n" 502msgid "Initiating shutdown as requested by client.\n"
503msgstr "" 503msgstr ""
504 504
505#: src/ats-tests/ats-testing-log.c:896 505#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
506msgid "Stop logging\n" 506#, c-format
507msgid ""
508"Could not load quota for network `%s': `%s', assigning default bandwidth "
509"%llu\n"
507msgstr "" 510msgstr ""
508 511
509#: src/ats-tests/ats-testing-log.c:952 512#: src/ats/gnunet-ats-solver-eval.c:3011
510#, fuzzy, c-format 513#, c-format
511msgid "Start logging `%s'\n" 514msgid ""
515"No outbound quota configured for network `%s', assigning default bandwidth "
516"%llu\n"
517msgstr ""
518
519#: src/ats/gnunet-ats-solver-eval.c:3063
520#, c-format
521msgid ""
522"No outbound quota configure for network `%s', assigning default bandwidth "
523"%llu\n"
524msgstr ""
525
526#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
527msgid "solver to use"
528msgstr ""
529
530#: src/ats/gnunet-ats-solver-eval.c:3557
531#: src/ats-tests/gnunet-solver-eval.c:1003
532#: src/ats-tests/gnunet-solver-eval.c:1008
533msgid "experiment to use"
534msgstr ""
535
536#: src/ats/gnunet-ats-solver-eval.c:3564
537#, fuzzy
538msgid "print logging"
512msgstr "Startade samling \"%s\".\n" 539msgstr "Startade samling \"%s\".\n"
513 540
541#: src/ats/gnunet-ats-solver-eval.c:3569
542msgid "save logging to disk"
543msgstr ""
544
545#: src/ats/gnunet-ats-solver-eval.c:3574
546msgid "disable normalization"
547msgstr ""
548
549#: src/ats/gnunet-service-ats_plugins.c:326
550#, c-format
551msgid ""
552"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
553"%llu\n"
554msgstr ""
555
556#: src/ats/gnunet-service-ats_plugins.c:336
557#, c-format
558msgid "%s quota configured for network `%s' is %llu\n"
559msgstr ""
560
561#: src/ats/gnunet-service-ats_plugins.c:382
562#, c-format
563msgid ""
564"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
565msgstr ""
566
567#: src/ats/gnunet-service-ats_plugins.c:474
568#, fuzzy, c-format
569msgid "Failed to initialize solver `%s'!\n"
570msgstr "Kunde inte initiera SQLite.\n"
571
572#: src/ats/plugin_ats_proportional.c:1140
573#, fuzzy, c-format
574msgid "Invalid %s configuration %f \n"
575msgstr "Kunde inte spara konfigurationsfil \"%s\":"
576
577#: src/ats/plugin_ats_proportional.c:1163
578#, fuzzy, c-format
579msgid "Invalid %s configuration %f\n"
580msgstr "Kunde inte spara konfigurationsfil \"%s\":"
581
514#: src/ats-tests/ats-testing.c:420 582#: src/ats-tests/ats-testing.c:420
515#, c-format 583#, c-format
516msgid "Connected master [%u] with slave [%u]\n" 584msgid "Connected master [%u] with slave [%u]\n"
@@ -521,6 +589,15 @@ msgstr ""
521msgid "Failed to connect master peer [%u] with slave [%u]\n" 589msgid "Failed to connect master peer [%u] with slave [%u]\n"
522msgstr "Misslyckades att ansluta till gnunetd.\n" 590msgstr "Misslyckades att ansluta till gnunetd.\n"
523 591
592#: src/ats-tests/ats-testing-log.c:896
593msgid "Stop logging\n"
594msgstr ""
595
596#: src/ats-tests/ats-testing-log.c:952
597#, fuzzy, c-format
598msgid "Start logging `%s'\n"
599msgstr "Startade samling \"%s\".\n"
600
524#: src/ats-tests/gnunet-ats-sim.c:92 601#: src/ats-tests/gnunet-ats-sim.c:92
525#, c-format 602#, c-format
526msgid "" 603msgid ""
@@ -528,16 +605,6 @@ msgid ""
528"= %u KiB/s\n" 605"= %u KiB/s\n"
529msgstr "" 606msgstr ""
530 607
531#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
532msgid "solver to use"
533msgstr ""
534
535#: src/ats-tests/gnunet-solver-eval.c:1003
536#: src/ats-tests/gnunet-solver-eval.c:1008
537#: src/ats/gnunet-ats-solver-eval.c:3557
538msgid "experiment to use"
539msgstr ""
540
541#: src/ats-tool/gnunet-ats.c:299 608#: src/ats-tool/gnunet-ats.c:299
542#, c-format 609#, c-format
543msgid "%u address resolutions had a timeout\n" 610msgid "%u address resolutions had a timeout\n"
@@ -659,73 +726,6 @@ msgstr ""
659msgid "Print information about ATS state" 726msgid "Print information about ATS state"
660msgstr "Skriv ut information om GNUnets motparter." 727msgstr "Skriv ut information om GNUnets motparter."
661 728
662#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
663#, c-format
664msgid ""
665"Could not load quota for network `%s': `%s', assigning default bandwidth "
666"%llu\n"
667msgstr ""
668
669#: src/ats/gnunet-ats-solver-eval.c:3011
670#, c-format
671msgid ""
672"No outbound quota configured for network `%s', assigning default bandwidth "
673"%llu\n"
674msgstr ""
675
676#: src/ats/gnunet-ats-solver-eval.c:3063
677#, c-format
678msgid ""
679"No outbound quota configure for network `%s', assigning default bandwidth "
680"%llu\n"
681msgstr ""
682
683#: src/ats/gnunet-ats-solver-eval.c:3564
684#, fuzzy
685msgid "print logging"
686msgstr "Startade samling \"%s\".\n"
687
688#: src/ats/gnunet-ats-solver-eval.c:3569
689msgid "save logging to disk"
690msgstr ""
691
692#: src/ats/gnunet-ats-solver-eval.c:3574
693msgid "disable normalization"
694msgstr ""
695
696#: src/ats/gnunet-service-ats_plugins.c:326
697#, c-format
698msgid ""
699"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
700"%llu\n"
701msgstr ""
702
703#: src/ats/gnunet-service-ats_plugins.c:336
704#, c-format
705msgid "%s quota configured for network `%s' is %llu\n"
706msgstr ""
707
708#: src/ats/gnunet-service-ats_plugins.c:382
709#, c-format
710msgid ""
711"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
712msgstr ""
713
714#: src/ats/gnunet-service-ats_plugins.c:474
715#, fuzzy, c-format
716msgid "Failed to initialize solver `%s'!\n"
717msgstr "Kunde inte initiera SQLite.\n"
718
719#: src/ats/plugin_ats_proportional.c:1140
720#, fuzzy, c-format
721msgid "Invalid %s configuration %f \n"
722msgstr "Kunde inte spara konfigurationsfil \"%s\":"
723
724#: src/ats/plugin_ats_proportional.c:1163
725#, fuzzy, c-format
726msgid "Invalid %s configuration %f\n"
727msgstr "Kunde inte spara konfigurationsfil \"%s\":"
728
729#: src/auction/gnunet-auction-create.c:163 729#: src/auction/gnunet-auction-create.c:163
730msgid "description of the item to be sold" 730msgid "description of the item to be sold"
731msgstr "" 731msgstr ""
@@ -861,28 +861,6 @@ msgstr ""
861msgid "Connection to conversation service lost, trying to reconnect\n" 861msgid "Connection to conversation service lost, trying to reconnect\n"
862msgstr "" 862msgstr ""
863 863
864#: src/conversation/gnunet-conversation-test.c:120
865#, c-format
866msgid ""
867"\n"
868"End of transmission. Have a GNU day.\n"
869msgstr ""
870
871#: src/conversation/gnunet-conversation-test.c:146
872#, c-format
873msgid ""
874"\n"
875"We are now playing your recording back. If you can hear it, your audio "
876"settings are working..."
877msgstr ""
878
879#: src/conversation/gnunet-conversation-test.c:218
880#, c-format
881msgid ""
882"We will now be recording you for %s. After that time, the recording will be "
883"played back to you..."
884msgstr ""
885
886#: src/conversation/gnunet-conversation.c:264 864#: src/conversation/gnunet-conversation.c:264
887#, c-format 865#, c-format
888msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n" 866msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1142,8 +1120,30 @@ msgstr ""
1142msgid "Enables having a conversation with other GNUnet users." 1120msgid "Enables having a conversation with other GNUnet users."
1143msgstr "" 1121msgstr ""
1144 1122
1145#: src/conversation/gnunet-helper-audio-playback-gst.c:363 1123#: src/conversation/gnunet-conversation-test.c:120
1124#, c-format
1125msgid ""
1126"\n"
1127"End of transmission. Have a GNU day.\n"
1128msgstr ""
1129
1130#: src/conversation/gnunet-conversation-test.c:146
1131#, c-format
1132msgid ""
1133"\n"
1134"We are now playing your recording back. If you can hear it, your audio "
1135"settings are working..."
1136msgstr ""
1137
1138#: src/conversation/gnunet-conversation-test.c:218
1139#, c-format
1140msgid ""
1141"We will now be recording you for %s. After that time, the recording will be "
1142"played back to you..."
1143msgstr ""
1144
1146#: src/conversation/gnunet_gst.c:664 1145#: src/conversation/gnunet_gst.c:664
1146#: src/conversation/gnunet-helper-audio-playback-gst.c:363
1147#, c-format 1147#, c-format
1148msgid "Read error from STDIN: %d %s\n" 1148msgid "Read error from STDIN: %d %s\n"
1149msgstr "" 1149msgstr ""
@@ -1971,17 +1971,17 @@ msgstr "\"%s\" till \"%s\" misslyckades vid %s:%d med fel: %s\n"
1971msgid "Mysql database running\n" 1971msgid "Mysql database running\n"
1972msgstr "" 1972msgstr ""
1973 1973
1974#: src/datastore/plugin_datastore_postgres.c:277 1974#: src/datastore/plugin_datastore_postgres.c:278
1975#: src/datastore/plugin_datastore_postgres.c:890 1975#: src/datastore/plugin_datastore_postgres.c:891
1976msgid "Postgress exec failure" 1976msgid "Postgress exec failure"
1977msgstr "" 1977msgstr ""
1978 1978
1979#: src/datastore/plugin_datastore_postgres.c:851 1979#: src/datastore/plugin_datastore_postgres.c:852
1980#, fuzzy 1980#, fuzzy
1981msgid "Failed to drop table from database.\n" 1981msgid "Failed to drop table from database.\n"
1982msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n" 1982msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
1983 1983
1984#: src/datastore/plugin_datastore_postgres.c:949 1984#: src/datastore/plugin_datastore_postgres.c:950
1985msgid "Postgres database running\n" 1985msgid "Postgres database running\n"
1986msgstr "" 1986msgstr ""
1987 1987
@@ -2089,6 +2089,54 @@ msgstr ""
2089msgid "Prints all packets that go through the DHT." 2089msgid "Prints all packets that go through the DHT."
2090msgstr "" 2090msgstr ""
2091 2091
2092#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2093#, fuzzy, c-format
2094msgid "Exiting as the number of peers is %u\n"
2095msgstr "Maximalt antal chattklienter uppnått.\n"
2096
2097#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2098#, fuzzy
2099msgid "number of peers to start"
2100msgstr "antal iterationer"
2101
2102#: src/dht/gnunet_dht_profiler.c:961
2103msgid "number of PUTs to perform per peer"
2104msgstr ""
2105
2106#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2107#: src/testbed/gnunet-testbed-profiler.c:305
2108msgid "name of the file with the login information for the testbed"
2109msgstr ""
2110
2111#: src/dht/gnunet_dht_profiler.c:973
2112msgid "delay between rounds for collecting statistics (default: 30 sec)"
2113msgstr ""
2114
2115#: src/dht/gnunet_dht_profiler.c:979
2116msgid "delay to start doing PUTs (default: 1 sec)"
2117msgstr ""
2118
2119#: src/dht/gnunet_dht_profiler.c:985
2120msgid "delay to start doing GETs (default: 5 min)"
2121msgstr ""
2122
2123#: src/dht/gnunet_dht_profiler.c:990
2124msgid "replication degree for DHT PUTs"
2125msgstr ""
2126
2127#: src/dht/gnunet_dht_profiler.c:996
2128msgid "chance that a peer is selected at random for PUTs"
2129msgstr ""
2130
2131#: src/dht/gnunet_dht_profiler.c:1002
2132msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2133msgstr ""
2134
2135#: src/dht/gnunet_dht_profiler.c:1023
2136#, fuzzy
2137msgid "Measure quality and performance of the DHT service."
2138msgstr "Kan inte tillgå tjänsten"
2139
2092#: src/dht/gnunet-dht-put.c:133 2140#: src/dht/gnunet-dht-put.c:133
2093msgid "Must provide KEY and DATA for DHT put!\n" 2141msgid "Must provide KEY and DATA for DHT put!\n"
2094msgstr "" 2142msgstr ""
@@ -2359,54 +2407,6 @@ msgstr ""
2359msgid "# DHT requests combined" 2407msgid "# DHT requests combined"
2360msgstr "# byte mottogs via TCP" 2408msgstr "# byte mottogs via TCP"
2361 2409
2362#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2363#, fuzzy, c-format
2364msgid "Exiting as the number of peers is %u\n"
2365msgstr "Maximalt antal chattklienter uppnått.\n"
2366
2367#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2368#, fuzzy
2369msgid "number of peers to start"
2370msgstr "antal iterationer"
2371
2372#: src/dht/gnunet_dht_profiler.c:961
2373msgid "number of PUTs to perform per peer"
2374msgstr ""
2375
2376#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2377#: src/testbed/gnunet-testbed-profiler.c:305
2378msgid "name of the file with the login information for the testbed"
2379msgstr ""
2380
2381#: src/dht/gnunet_dht_profiler.c:973
2382msgid "delay between rounds for collecting statistics (default: 30 sec)"
2383msgstr ""
2384
2385#: src/dht/gnunet_dht_profiler.c:979
2386msgid "delay to start doing PUTs (default: 1 sec)"
2387msgstr ""
2388
2389#: src/dht/gnunet_dht_profiler.c:985
2390msgid "delay to start doing GETs (default: 5 min)"
2391msgstr ""
2392
2393#: src/dht/gnunet_dht_profiler.c:990
2394msgid "replication degree for DHT PUTs"
2395msgstr ""
2396
2397#: src/dht/gnunet_dht_profiler.c:996
2398msgid "chance that a peer is selected at random for PUTs"
2399msgstr ""
2400
2401#: src/dht/gnunet_dht_profiler.c:1002
2402msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2403msgstr ""
2404
2405#: src/dht/gnunet_dht_profiler.c:1023
2406#, fuzzy
2407msgid "Measure quality and performance of the DHT service."
2408msgstr "Kan inte tillgå tjänsten"
2409
2410#: src/dht/plugin_block_dht.c:189 2410#: src/dht/plugin_block_dht.c:189
2411#, fuzzy, c-format 2411#, fuzzy, c-format
2412msgid "Block not of type %u\n" 2412msgid "Block not of type %u\n"
@@ -3358,6 +3358,15 @@ msgid ""
3358"chk/...)" 3358"chk/...)"
3359msgstr "" 3359msgstr ""
3360 3360
3361#: src/fs/gnunet-fs.c:128
3362msgid "print a list of all indexed files"
3363msgstr ""
3364
3365#: src/fs/gnunet-fs.c:141
3366#, fuzzy
3367msgid "Special file-sharing operations"
3368msgstr "Visa alla alternativ"
3369
3361#: src/fs/gnunet-fs-profiler.c:211 3370#: src/fs/gnunet-fs-profiler.c:211
3362msgid "run the experiment with COUNT peers" 3371msgid "run the experiment with COUNT peers"
3363msgstr "" 3372msgstr ""
@@ -3374,15 +3383,6 @@ msgstr ""
3374msgid "run a testbed to measure file-sharing performance" 3383msgid "run a testbed to measure file-sharing performance"
3375msgstr "" 3384msgstr ""
3376 3385
3377#: src/fs/gnunet-fs.c:128
3378msgid "print a list of all indexed files"
3379msgstr ""
3380
3381#: src/fs/gnunet-fs.c:141
3382#, fuzzy
3383msgid "Special file-sharing operations"
3384msgstr "Visa alla alternativ"
3385
3386#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234 3386#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
3387#, c-format 3387#, c-format
3388msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" 3388msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4069,6 +4069,52 @@ msgstr ""
4069msgid "look for GNS2DNS records instead of ANY" 4069msgid "look for GNS2DNS records instead of ANY"
4070msgstr "" 4070msgstr ""
4071 4071
4072#: src/gns/gnunet-gns.c:257
4073#, fuzzy, c-format
4074msgid "`%s' is not a valid DNS domain name\n"
4075msgstr "\"%s\" är inte tillgänglig."
4076
4077#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
4078#, fuzzy, c-format
4079msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4080msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
4081
4082#: src/gns/gnunet-gns.c:281
4083msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4084msgstr ""
4085
4086#: src/gns/gnunet-gns.c:305
4087#, c-format
4088msgid "Invalid typename specified, assuming `ANY'\n"
4089msgstr ""
4090
4091#: src/gns/gnunet-gns.c:340
4092msgid "Lookup a record for the given name"
4093msgstr ""
4094
4095#: src/gns/gnunet-gns.c:346
4096#, fuzzy
4097msgid "Specify the type of the record to lookup"
4098msgstr "ange prioritet för innehållet"
4099
4100#: src/gns/gnunet-gns.c:352
4101#, fuzzy
4102msgid "Specify a timeout for the lookup"
4103msgstr "ange prioritet för innehållet"
4104
4105#: src/gns/gnunet-gns.c:356
4106msgid "No unneeded output"
4107msgstr ""
4108
4109#: src/gns/gnunet-gns.c:361
4110msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4111msgstr ""
4112
4113#: src/gns/gnunet-gns.c:375
4114#, fuzzy
4115msgid "GNUnet GNS resolver tool"
4116msgstr "Spåra GNUnets nätverkstopologi."
4117
4072#: src/gns/gnunet-gns-import.c:486 4118#: src/gns/gnunet-gns-import.c:486
4073msgid "This program will import some GNS authorities into your GNS namestore." 4119msgid "This program will import some GNS authorities into your GNS namestore."
4074msgstr "" 4120msgstr ""
@@ -4189,52 +4235,6 @@ msgstr ""
4189msgid "GNUnet GNS proxy" 4235msgid "GNUnet GNS proxy"
4190msgstr "" 4236msgstr ""
4191 4237
4192#: src/gns/gnunet-gns.c:253
4193#, fuzzy, c-format
4194msgid "`%s' is not a valid DNS domain name\n"
4195msgstr "\"%s\" är inte tillgänglig."
4196
4197#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
4198#, fuzzy, c-format
4199msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4200msgstr "Misslyckades att leverera \"%s\" meddelande.\n"
4201
4202#: src/gns/gnunet-gns.c:277
4203msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4204msgstr ""
4205
4206#: src/gns/gnunet-gns.c:301
4207#, c-format
4208msgid "Invalid typename specified, assuming `ANY'\n"
4209msgstr ""
4210
4211#: src/gns/gnunet-gns.c:336
4212msgid "Lookup a record for the given name"
4213msgstr ""
4214
4215#: src/gns/gnunet-gns.c:342
4216#, fuzzy
4217msgid "Specify the type of the record to lookup"
4218msgstr "ange prioritet för innehållet"
4219
4220#: src/gns/gnunet-gns.c:348
4221#, fuzzy
4222msgid "Specify a timeout for the lookup"
4223msgstr "ange prioritet för innehållet"
4224
4225#: src/gns/gnunet-gns.c:352
4226msgid "No unneeded output"
4227msgstr ""
4228
4229#: src/gns/gnunet-gns.c:357
4230msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4231msgstr ""
4232
4233#: src/gns/gnunet-gns.c:371
4234#, fuzzy
4235msgid "GNUnet GNS resolver tool"
4236msgstr "Spåra GNUnets nätverkstopologi."
4237
4238#: src/gns/gnunet-service-gns.c:505 4238#: src/gns/gnunet-service-gns.c:505
4239#, fuzzy 4239#, fuzzy
4240msgid "Properly base32-encoded public key required" 4240msgid "Properly base32-encoded public key required"
@@ -4246,8 +4246,8 @@ msgid "Failed to connect to the namecache!\n"
4246msgstr "Misslyckades att ansluta till gnunetd.\n" 4246msgstr "Misslyckades att ansluta till gnunetd.\n"
4247 4247
4248#: src/gns/gnunet-service-gns.c:560 4248#: src/gns/gnunet-service-gns.c:560
4249#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4250#: src/zonemaster/gnunet-service-zonemaster.c:887 4249#: src/zonemaster/gnunet-service-zonemaster.c:887
4250#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4251#, fuzzy 4251#, fuzzy
4252msgid "Could not connect to DHT!\n" 4252msgid "Could not connect to DHT!\n"
4253msgstr "Kunde inte ansluta till gnunetd.\n" 4253msgstr "Kunde inte ansluta till gnunetd.\n"
@@ -4306,21 +4306,21 @@ msgstr ""
4306msgid "GNS lookup failed (zero records found for `%s')\n" 4306msgid "GNS lookup failed (zero records found for `%s')\n"
4307msgstr "%d filer hittades i katalog.\n" 4307msgstr "%d filer hittades i katalog.\n"
4308 4308
4309#: src/gns/gnunet-service-gns_resolver.c:2376 4309#: src/gns/gnunet-service-gns_resolver.c:2372
4310msgid "GNS lookup recursion failed (no delegation record found)\n" 4310msgid "GNS lookup recursion failed (no delegation record found)\n"
4311msgstr "" 4311msgstr ""
4312 4312
4313#: src/gns/gnunet-service-gns_resolver.c:2399 4313#: src/gns/gnunet-service-gns_resolver.c:2395
4314#, fuzzy, c-format 4314#, fuzzy, c-format
4315msgid "Failed to cache GNS resolution: %s\n" 4315msgid "Failed to cache GNS resolution: %s\n"
4316msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" 4316msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n"
4317 4317
4318#: src/gns/gnunet-service-gns_resolver.c:2567 4318#: src/gns/gnunet-service-gns_resolver.c:2563
4319#, c-format 4319#, c-format
4320msgid "GNS namecache returned empty result for `%s'\n" 4320msgid "GNS namecache returned empty result for `%s'\n"
4321msgstr "" 4321msgstr ""
4322 4322
4323#: src/gns/gnunet-service-gns_resolver.c:2707 4323#: src/gns/gnunet-service-gns_resolver.c:2703
4324#, c-format 4324#, c-format
4325msgid "Zone %s was revoked, resolution fails\n" 4325msgid "Zone %s was revoked, resolution fails\n"
4326msgstr "" 4326msgstr ""
@@ -4994,70 +4994,6 @@ msgstr ""
4994msgid "Failed to setup database at `%s'\n" 4994msgid "Failed to setup database at `%s'\n"
4995msgstr "Fel vid %s:%d.\n" 4995msgstr "Fel vid %s:%d.\n"
4996 4996
4997#: src/namestore/gnunet-namestore-fcfsd.c:551
4998#, fuzzy, c-format
4999msgid "Unsupported form value `%s'\n"
5000msgstr "Kommando \"%s\" stöds ej. Avbryter.\n"
5001
5002#: src/namestore/gnunet-namestore-fcfsd.c:578
5003#, fuzzy, c-format
5004msgid "Failed to create record for domain `%s': %s\n"
5005msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
5006
5007#: src/namestore/gnunet-namestore-fcfsd.c:599
5008msgid "Error when mapping zone to name\n"
5009msgstr ""
5010
5011#: src/namestore/gnunet-namestore-fcfsd.c:631
5012#, c-format
5013msgid "Found existing name `%s' for the given key\n"
5014msgstr ""
5015
5016#: src/namestore/gnunet-namestore-fcfsd.c:693
5017#, c-format
5018msgid "Found %u existing records for domain `%s'\n"
5019msgstr ""
5020
5021#: src/namestore/gnunet-namestore-fcfsd.c:783
5022#, fuzzy, c-format
5023msgid "Failed to create page for `%s'\n"
5024msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
5025
5026#: src/namestore/gnunet-namestore-fcfsd.c:802
5027#, fuzzy, c-format
5028msgid "Failed to setup post processor for `%s'\n"
5029msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5030
5031#: src/namestore/gnunet-namestore-fcfsd.c:839
5032msgid "Domain name must not contain `.'\n"
5033msgstr ""
5034
5035#: src/namestore/gnunet-namestore-fcfsd.c:848
5036msgid "Domain name must not contain `+'\n"
5037msgstr ""
5038
5039#: src/namestore/gnunet-namestore-fcfsd.c:1083
5040msgid "No ego configured for `fcfsd` subsystem\n"
5041msgstr ""
5042
5043#: src/namestore/gnunet-namestore-fcfsd.c:1114
5044#, fuzzy
5045msgid "Failed to start HTTP server\n"
5046msgstr "Misslyckades att starta samling.\n"
5047
5048#: src/namestore/gnunet-namestore-fcfsd.c:1162
5049#, fuzzy
5050msgid "Failed to connect to identity\n"
5051msgstr "Misslyckades att ansluta till gnunetd.\n"
5052
5053#: src/namestore/gnunet-namestore-fcfsd.c:1189
5054msgid "name of the zone that is to be managed by FCFSD"
5055msgstr ""
5056
5057#: src/namestore/gnunet-namestore-fcfsd.c:1209
5058msgid "GNU Name System First Come First Serve name registration service"
5059msgstr ""
5060
5061#: src/namestore/gnunet-namestore.c:334 4997#: src/namestore/gnunet-namestore.c:334
5062#, fuzzy, c-format 4998#, fuzzy, c-format
5063msgid "Adding record failed: %s\n" 4999msgid "Adding record failed: %s\n"
@@ -5287,7 +5223,71 @@ msgstr ""
5287msgid "name of the ego controlling the zone" 5223msgid "name of the ego controlling the zone"
5288msgstr "Visa värde av alternativet" 5224msgstr "Visa värde av alternativet"
5289 5225
5290#: src/namestore/gnunet-service-namestore.c:864 5226#: src/namestore/gnunet-namestore-fcfsd.c:551
5227#, fuzzy, c-format
5228msgid "Unsupported form value `%s'\n"
5229msgstr "Kommando \"%s\" stöds ej. Avbryter.\n"
5230
5231#: src/namestore/gnunet-namestore-fcfsd.c:578
5232#, fuzzy, c-format
5233msgid "Failed to create record for domain `%s': %s\n"
5234msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n"
5235
5236#: src/namestore/gnunet-namestore-fcfsd.c:599
5237msgid "Error when mapping zone to name\n"
5238msgstr ""
5239
5240#: src/namestore/gnunet-namestore-fcfsd.c:631
5241#, c-format
5242msgid "Found existing name `%s' for the given key\n"
5243msgstr ""
5244
5245#: src/namestore/gnunet-namestore-fcfsd.c:693
5246#, c-format
5247msgid "Found %u existing records for domain `%s'\n"
5248msgstr ""
5249
5250#: src/namestore/gnunet-namestore-fcfsd.c:783
5251#, fuzzy, c-format
5252msgid "Failed to create page for `%s'\n"
5253msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
5254
5255#: src/namestore/gnunet-namestore-fcfsd.c:802
5256#, fuzzy, c-format
5257msgid "Failed to setup post processor for `%s'\n"
5258msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5259
5260#: src/namestore/gnunet-namestore-fcfsd.c:839
5261msgid "Domain name must not contain `.'\n"
5262msgstr ""
5263
5264#: src/namestore/gnunet-namestore-fcfsd.c:848
5265msgid "Domain name must not contain `+'\n"
5266msgstr ""
5267
5268#: src/namestore/gnunet-namestore-fcfsd.c:1083
5269msgid "No ego configured for `fcfsd` subsystem\n"
5270msgstr ""
5271
5272#: src/namestore/gnunet-namestore-fcfsd.c:1114
5273#, fuzzy
5274msgid "Failed to start HTTP server\n"
5275msgstr "Misslyckades att starta samling.\n"
5276
5277#: src/namestore/gnunet-namestore-fcfsd.c:1162
5278#, fuzzy
5279msgid "Failed to connect to identity\n"
5280msgstr "Misslyckades att ansluta till gnunetd.\n"
5281
5282#: src/namestore/gnunet-namestore-fcfsd.c:1189
5283msgid "name of the zone that is to be managed by FCFSD"
5284msgstr ""
5285
5286#: src/namestore/gnunet-namestore-fcfsd.c:1209
5287msgid "GNU Name System First Come First Serve name registration service"
5288msgstr ""
5289
5290#: src/namestore/gnunet-service-namestore.c:866
5291#, fuzzy, c-format 5291#, fuzzy, c-format
5292msgid "Failed to replicate block in namecache: %s\n" 5292msgid "Failed to replicate block in namecache: %s\n"
5293msgstr "Misslyckades att läsa kompislista från \"%s\"\n" 5293msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
@@ -5609,6 +5609,11 @@ msgstr ""
5609msgid "`upnpc' command not found\n" 5609msgid "`upnpc' command not found\n"
5610msgstr "" 5610msgstr ""
5611 5611
5612#: src/nse/gnunet-nse.c:124
5613#, fuzzy
5614msgid "Show network size estimates from NSE service."
5615msgstr "# byte mottogs via TCP"
5616
5612#: src/nse/gnunet-nse-profiler.c:857 5617#: src/nse/gnunet-nse-profiler.c:857
5613#, fuzzy 5618#, fuzzy
5614msgid "limit to the number of connections to NSE services, 0 for none" 5619msgid "limit to the number of connections to NSE services, 0 for none"
@@ -5635,16 +5640,66 @@ msgstr ""
5635msgid "Measure quality and performance of the NSE service." 5640msgid "Measure quality and performance of the NSE service."
5636msgstr "Kan inte tillgå tjänsten" 5641msgstr "Kan inte tillgå tjänsten"
5637 5642
5638#: src/nse/gnunet-nse.c:124
5639#, fuzzy
5640msgid "Show network size estimates from NSE service."
5641msgstr "# byte mottogs via TCP"
5642
5643#: src/nse/gnunet-service-nse.c:1437 5643#: src/nse/gnunet-service-nse.c:1437
5644#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247 5644#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
5645msgid "Value is too large.\n" 5645msgid "Value is too large.\n"
5646msgstr "" 5646msgstr ""
5647 5647
5648#: src/peerinfo/gnunet-service-peerinfo.c:175
5649#, fuzzy, c-format
5650msgid "Removing expired address of transport `%s'\n"
5651msgstr "Tillgängliga transport(er): %s\n"
5652
5653#: src/peerinfo/gnunet-service-peerinfo.c:306
5654#, fuzzy, c-format
5655msgid "Failed to parse HELLO in file `%s': %s\n"
5656msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5657
5658#: src/peerinfo/gnunet-service-peerinfo.c:323
5659#: src/peerinfo/gnunet-service-peerinfo.c:348
5660#, fuzzy, c-format
5661msgid "Failed to parse HELLO in file `%s'\n"
5662msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5663
5664#: src/peerinfo/gnunet-service-peerinfo.c:426
5665msgid "# peers known"
5666msgstr ""
5667
5668#: src/peerinfo/gnunet-service-peerinfo.c:468
5669#, c-format
5670msgid ""
5671"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5672msgstr ""
5673
5674#: src/peerinfo/gnunet-service-peerinfo.c:624
5675#, fuzzy, c-format
5676msgid "Scanning directory `%s'\n"
5677msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5678
5679#: src/peerinfo/gnunet-service-peerinfo.c:631
5680#, c-format
5681msgid "Still no peers found in `%s'!\n"
5682msgstr ""
5683
5684#: src/peerinfo/gnunet-service-peerinfo.c:1024
5685#, fuzzy, c-format
5686msgid "Cleaning up directory `%s'\n"
5687msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5688
5689#: src/peerinfo/gnunet-service-peerinfo.c:1319
5690#, c-format
5691msgid "Importing HELLOs from `%s'\n"
5692msgstr ""
5693
5694#: src/peerinfo/gnunet-service-peerinfo.c:1332
5695msgid "Skipping import of included HELLOs\n"
5696msgstr ""
5697
5698#: src/peerinfo/peerinfo_api.c:217
5699#, fuzzy
5700msgid "Failed to receive response from `PEERINFO' service."
5701msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
5702
5648#: src/peerinfo-tool/gnunet-peerinfo.c:237 5703#: src/peerinfo-tool/gnunet-peerinfo.c:237
5649#, fuzzy, c-format 5704#, fuzzy, c-format
5650msgid "%sPeer `%s'\n" 5705msgid "%sPeer `%s'\n"
@@ -5741,61 +5796,6 @@ msgstr "Kunde inte slå upp \"%s\": %s\n"
5741msgid "Peerinfo REST API initialized\n" 5796msgid "Peerinfo REST API initialized\n"
5742msgstr " Anslutning misslyckades\n" 5797msgstr " Anslutning misslyckades\n"
5743 5798
5744#: src/peerinfo/gnunet-service-peerinfo.c:175
5745#, fuzzy, c-format
5746msgid "Removing expired address of transport `%s'\n"
5747msgstr "Tillgängliga transport(er): %s\n"
5748
5749#: src/peerinfo/gnunet-service-peerinfo.c:306
5750#, fuzzy, c-format
5751msgid "Failed to parse HELLO in file `%s': %s\n"
5752msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5753
5754#: src/peerinfo/gnunet-service-peerinfo.c:323
5755#: src/peerinfo/gnunet-service-peerinfo.c:348
5756#, fuzzy, c-format
5757msgid "Failed to parse HELLO in file `%s'\n"
5758msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5759
5760#: src/peerinfo/gnunet-service-peerinfo.c:426
5761msgid "# peers known"
5762msgstr ""
5763
5764#: src/peerinfo/gnunet-service-peerinfo.c:468
5765#, c-format
5766msgid ""
5767"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5768msgstr ""
5769
5770#: src/peerinfo/gnunet-service-peerinfo.c:624
5771#, fuzzy, c-format
5772msgid "Scanning directory `%s'\n"
5773msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5774
5775#: src/peerinfo/gnunet-service-peerinfo.c:631
5776#, c-format
5777msgid "Still no peers found in `%s'!\n"
5778msgstr ""
5779
5780#: src/peerinfo/gnunet-service-peerinfo.c:1024
5781#, fuzzy, c-format
5782msgid "Cleaning up directory `%s'\n"
5783msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
5784
5785#: src/peerinfo/gnunet-service-peerinfo.c:1319
5786#, c-format
5787msgid "Importing HELLOs from `%s'\n"
5788msgstr ""
5789
5790#: src/peerinfo/gnunet-service-peerinfo.c:1332
5791msgid "Skipping import of included HELLOs\n"
5792msgstr ""
5793
5794#: src/peerinfo/peerinfo_api.c:217
5795#, fuzzy
5796msgid "Failed to receive response from `PEERINFO' service."
5797msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n"
5798
5799#: src/peerstore/gnunet-peerstore.c:92 5799#: src/peerstore/gnunet-peerstore.c:92
5800msgid "peerstore" 5800msgid "peerstore"
5801msgstr "" 5801msgstr ""
@@ -6233,6 +6233,18 @@ msgstr ""
6233msgid "Could not open revocation database file!" 6233msgid "Could not open revocation database file!"
6234msgstr "Kunde inte ansluta till gnunetd.\n" 6234msgstr "Kunde inte ansluta till gnunetd.\n"
6235 6235
6236#: src/rps/gnunet-rps.c:270
6237msgid "Seed a PeerID"
6238msgstr ""
6239
6240#: src/rps/gnunet-rps.c:275
6241msgid "Get updates of view (0 for infinite updates)"
6242msgstr ""
6243
6244#: src/rps/gnunet-rps.c:279
6245msgid "Get peers from biased stream"
6246msgstr ""
6247
6236#: src/rps/gnunet-rps-profiler.c:3200 6248#: src/rps/gnunet-rps-profiler.c:3200
6237msgid "duration of the profiling" 6249msgid "duration of the profiling"
6238msgstr "" 6250msgstr ""
@@ -6252,18 +6264,6 @@ msgstr "antal iterationer"
6252msgid "Measure quality and performance of the RPS service." 6264msgid "Measure quality and performance of the RPS service."
6253msgstr "Kan inte tillgå tjänsten" 6265msgstr "Kan inte tillgå tjänsten"
6254 6266
6255#: src/rps/gnunet-rps.c:270
6256msgid "Seed a PeerID"
6257msgstr ""
6258
6259#: src/rps/gnunet-rps.c:275
6260msgid "Get updates of view (0 for infinite updates)"
6261msgstr ""
6262
6263#: src/rps/gnunet-rps.c:279
6264msgid "Get peers from biased stream"
6265msgstr ""
6266
6267#: src/scalarproduct/gnunet-scalarproduct.c:229 6267#: src/scalarproduct/gnunet-scalarproduct.c:229
6268#, fuzzy 6268#, fuzzy
6269msgid "You must specify at least one message ID to check!\n" 6269msgid "You must specify at least one message ID to check!\n"
@@ -6319,10 +6319,10 @@ msgstr ""
6319msgid "Calculate the Vectorproduct with a GNUnet peer." 6319msgid "Calculate the Vectorproduct with a GNUnet peer."
6320msgstr "" 6320msgstr ""
6321 6321
6322#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6323#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6324#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363 6322#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
6325#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366 6323#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
6324#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6325#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6326#, fuzzy 6326#, fuzzy
6327msgid "Connect to CADET failed\n" 6327msgid "Connect to CADET failed\n"
6328msgstr " Anslutning misslyckades (fel?)\n" 6328msgstr " Anslutning misslyckades (fel?)\n"
@@ -6666,6 +6666,16 @@ msgstr ""
6666msgid "%.s Unknown result code." 6666msgid "%.s Unknown result code."
6667msgstr "" 6667msgstr ""
6668 6668
6669#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6670#, fuzzy
6671msgid "Waiting for child to exit.\n"
6672msgstr "Väntar på att motparter ska ansluta (%u iterationer kvar)...\n"
6673
6674#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6675#, fuzzy, c-format
6676msgid "Spawning process `%s'\n"
6677msgstr "Startade samling \"%s\".\n"
6678
6669#: src/testbed/gnunet-testbed-profiler.c:290 6679#: src/testbed/gnunet-testbed-profiler.c:290
6670msgid "tolerate COUNT number of continious timeout failures" 6680msgid "tolerate COUNT number of continious timeout failures"
6671msgstr "" 6681msgstr ""
@@ -6677,16 +6687,6 @@ msgid ""
6677"signal is received" 6687"signal is received"
6678msgstr "" 6688msgstr ""
6679 6689
6680#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6681#, fuzzy
6682msgid "Waiting for child to exit.\n"
6683msgstr "Väntar på att motparter ska ansluta (%u iterationer kvar)...\n"
6684
6685#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6686#, fuzzy, c-format
6687msgid "Spawning process `%s'\n"
6688msgstr "Startade samling \"%s\".\n"
6689
6690#: src/testbed/testbed_api.c:399 6690#: src/testbed/testbed_api.c:399
6691#, fuzzy, c-format 6691#, fuzzy, c-format
6692msgid "Adding host %u failed with error: %s\n" 6692msgid "Adding host %u failed with error: %s\n"
@@ -7020,6 +7020,10 @@ msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
7020msgid "GNUnet UNIX domain socket communicator" 7020msgid "GNUnet UNIX domain socket communicator"
7021msgstr "" 7021msgstr ""
7022 7022
7023#: src/transport/gnunet-service-transport_ats.c:137
7024msgid "# Addresses given to ATS"
7025msgstr ""
7026
7023#: src/transport/gnunet-service-transport.c:445 7027#: src/transport/gnunet-service-transport.c:445
7024msgid "# messages dropped due to slow client" 7028msgid "# messages dropped due to slow client"
7025msgstr "" 7029msgstr ""
@@ -7063,10 +7067,6 @@ msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
7063msgid "Adding blacklisting entry for peer `%s':`%s'\n" 7067msgid "Adding blacklisting entry for peer `%s':`%s'\n"
7064msgstr "" 7068msgstr ""
7065 7069
7066#: src/transport/gnunet-service-transport_ats.c:137
7067msgid "# Addresses given to ATS"
7068msgstr ""
7069
7070#: src/transport/gnunet-service-transport_hello.c:195 7070#: src/transport/gnunet-service-transport_hello.c:195
7071msgid "# refreshed my HELLO" 7071msgid "# refreshed my HELLO"
7072msgstr "" 7072msgstr ""
@@ -7403,46 +7403,6 @@ msgstr ""
7403msgid "# HELLOs given to peerinfo" 7403msgid "# HELLOs given to peerinfo"
7404msgstr "Meddelande mottaget från klient är ogiltig.\n" 7404msgstr "Meddelande mottaget från klient är ogiltig.\n"
7405 7405
7406#: src/transport/gnunet-transport-profiler.c:220
7407#, c-format
7408msgid "%llu B in %llu ms == %.2f KB/s!\n"
7409msgstr ""
7410
7411#: src/transport/gnunet-transport-profiler.c:577
7412msgid "send data to peer"
7413msgstr ""
7414
7415#: src/transport/gnunet-transport-profiler.c:581
7416#, fuzzy
7417msgid "receive data from peer"
7418msgstr "# byte mottagna av typen %d"
7419
7420#: src/transport/gnunet-transport-profiler.c:586
7421#, fuzzy
7422msgid "iterations"
7423msgstr "Visa alla alternativ"
7424
7425#: src/transport/gnunet-transport-profiler.c:591
7426#, fuzzy
7427msgid "number of messages to send"
7428msgstr "antal meddelanden att använda per iteration"
7429
7430#: src/transport/gnunet-transport-profiler.c:596
7431#, fuzzy
7432msgid "message size to use"
7433msgstr "meddelandestorlek"
7434
7435#: src/transport/gnunet-transport-profiler.c:601
7436#: src/transport/gnunet-transport.c:1404
7437msgid "peer identity"
7438msgstr ""
7439
7440#: src/transport/gnunet-transport-profiler.c:614
7441#: src/transport/gnunet-transport.c:1426
7442#, fuzzy
7443msgid "Direct access to transport service."
7444msgstr "Misslyckades att ansluta till gnunetd.\n"
7445
7446#: src/transport/gnunet-transport.c:406 7406#: src/transport/gnunet-transport.c:406
7447#, fuzzy, c-format 7407#, fuzzy, c-format
7448msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n" 7408msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7582,6 +7542,11 @@ msgstr "Skriv ut information om GNUnets motparter."
7582msgid "do not resolve hostnames" 7542msgid "do not resolve hostnames"
7583msgstr "Misslyckades att läsa kompislista från \"%s\"\n" 7543msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
7584 7544
7545#: src/transport/gnunet-transport.c:1404
7546#: src/transport/gnunet-transport-profiler.c:601
7547msgid "peer identity"
7548msgstr ""
7549
7585#: src/transport/gnunet-transport.c:1408 7550#: src/transport/gnunet-transport.c:1408
7586msgid "monitor plugin sessions" 7551msgid "monitor plugin sessions"
7587msgstr "" 7552msgstr ""
@@ -7590,6 +7555,41 @@ msgstr ""
7590msgid "send data for benchmarking to the other peer (until CTRL-C)" 7555msgid "send data for benchmarking to the other peer (until CTRL-C)"
7591msgstr "" 7556msgstr ""
7592 7557
7558#: src/transport/gnunet-transport.c:1426
7559#: src/transport/gnunet-transport-profiler.c:614
7560#, fuzzy
7561msgid "Direct access to transport service."
7562msgstr "Misslyckades att ansluta till gnunetd.\n"
7563
7564#: src/transport/gnunet-transport-profiler.c:220
7565#, c-format
7566msgid "%llu B in %llu ms == %.2f KB/s!\n"
7567msgstr ""
7568
7569#: src/transport/gnunet-transport-profiler.c:577
7570msgid "send data to peer"
7571msgstr ""
7572
7573#: src/transport/gnunet-transport-profiler.c:581
7574#, fuzzy
7575msgid "receive data from peer"
7576msgstr "# byte mottagna av typen %d"
7577
7578#: src/transport/gnunet-transport-profiler.c:586
7579#, fuzzy
7580msgid "iterations"
7581msgstr "Visa alla alternativ"
7582
7583#: src/transport/gnunet-transport-profiler.c:591
7584#, fuzzy
7585msgid "number of messages to send"
7586msgstr "antal meddelanden att använda per iteration"
7587
7588#: src/transport/gnunet-transport-profiler.c:596
7589#, fuzzy
7590msgid "message size to use"
7591msgstr "meddelandestorlek"
7592
7593#: src/transport/plugin_transport_http_client.c:1489 7593#: src/transport/plugin_transport_http_client.c:1489
7594#: src/transport/plugin_transport_http_server.c:2331 7594#: src/transport/plugin_transport_http_server.c:2331
7595#: src/transport/plugin_transport_http_server.c:3562 7595#: src/transport/plugin_transport_http_server.c:3562
@@ -7877,6 +7877,21 @@ msgstr ""
7877msgid "TCP transport advertises itself as being on port %llu\n" 7877msgid "TCP transport advertises itself as being on port %llu\n"
7878msgstr "" 7878msgstr ""
7879 7879
7880#: src/transport/plugin_transport_udp_broadcasting.c:169
7881#, fuzzy
7882msgid "# Multicast HELLO beacons received via UDP"
7883msgstr "# krypterade PONG-meddelanden mottagna"
7884
7885#: src/transport/plugin_transport_udp_broadcasting.c:553
7886msgid ""
7887"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7888msgstr ""
7889
7890#: src/transport/plugin_transport_udp_broadcasting.c:571
7891#, c-format
7892msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7893msgstr ""
7894
7880#: src/transport/plugin_transport_udp.c:3169 7895#: src/transport/plugin_transport_udp.c:3169
7881#, c-format 7896#, c-format
7882msgid "" 7897msgid ""
@@ -7925,21 +7940,6 @@ msgstr "\"%s\" är inte tillgänglig."
7925msgid "Failed to create UDP network sockets\n" 7940msgid "Failed to create UDP network sockets\n"
7926msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" 7941msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n"
7927 7942
7928#: src/transport/plugin_transport_udp_broadcasting.c:169
7929#, fuzzy
7930msgid "# Multicast HELLO beacons received via UDP"
7931msgstr "# krypterade PONG-meddelanden mottagna"
7932
7933#: src/transport/plugin_transport_udp_broadcasting.c:553
7934msgid ""
7935"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7936msgstr ""
7937
7938#: src/transport/plugin_transport_udp_broadcasting.c:571
7939#, c-format
7940msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7941msgstr ""
7942
7943#: src/transport/plugin_transport_unix.c:1396 7943#: src/transport/plugin_transport_unix.c:1396
7944#, fuzzy, c-format 7944#, fuzzy, c-format
7945msgid "Cannot bind to `%s'\n" 7945msgid "Cannot bind to `%s'\n"
@@ -8028,17 +8028,17 @@ msgid "Accepting connection from `%s': %p\n"
8028msgstr "" 8028msgstr ""
8029 8029
8030# drive = hard drive ? 8030# drive = hard drive ?
8031#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400 8031#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
8032#, fuzzy, c-format 8032#, fuzzy, c-format
8033msgid "`%s' failed for port %d (%s).\n" 8033msgid "`%s' failed for port %d (%s).\n"
8034msgstr "\"%s\" misslyckades för enhet %s: %u\n" 8034msgstr "\"%s\" misslyckades för enhet %s: %u\n"
8035 8035
8036#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412 8036#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
8037#, fuzzy, c-format 8037#, fuzzy, c-format
8038msgid "`%s' failed for port %d (%s): address already in use\n" 8038msgid "`%s' failed for port %d (%s): address already in use\n"
8039msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n" 8039msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n"
8040 8040
8041#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419 8041#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
8042#, fuzzy, c-format 8042#, fuzzy, c-format
8043msgid "`%s' failed for `%s': address already in use\n" 8043msgid "`%s' failed for `%s': address already in use\n"
8044msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n" 8044msgstr "\"%s\" misslyckades för port %d: %s. Körs verkligen gnunetd?\n"
@@ -8050,7 +8050,7 @@ msgid ""
8050"`GNUNET_SERVER_receive_done' after %s\n" 8050"`GNUNET_SERVER_receive_done' after %s\n"
8051msgstr "" 8051msgstr ""
8052 8052
8053#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837 8053#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
8054#, fuzzy, c-format 8054#, fuzzy, c-format
8055msgid "Unknown address family %d\n" 8055msgid "Unknown address family %d\n"
8056msgstr "Okänd operation \"%s\"\n" 8056msgstr "Okänd operation \"%s\"\n"
@@ -8060,23 +8060,23 @@ msgstr "Okänd operation \"%s\"\n"
8060msgid "Access from `%s' denied to service `%s'\n" 8060msgid "Access from `%s' denied to service `%s'\n"
8061msgstr "" 8061msgstr ""
8062 8062
8063#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950 8063#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
8064#, c-format 8064#, c-format
8065msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n" 8065msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
8066msgstr "" 8066msgstr ""
8067 8067
8068#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991 8068#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
8069#, c-format 8069#, c-format
8070msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n" 8070msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
8071msgstr "" 8071msgstr ""
8072 8072
8073#: src/transport/tcp_service_legacy.c:890 8073#: src/transport/tcp_service_legacy.c:890
8074#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480 8074#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
8075#, c-format 8075#, c-format
8076msgid "Specified value for `%s' of service `%s' is invalid\n" 8076msgid "Specified value for `%s' of service `%s' is invalid\n"
8077msgstr "" 8077msgstr ""
8078 8078
8079#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504 8079#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
8080#, c-format 8080#, c-format
8081msgid "Could not access pre-bound socket %u, will try to bind myself\n" 8081msgid "Could not access pre-bound socket %u, will try to bind myself\n"
8082msgstr "" 8082msgstr ""
@@ -8091,45 +8091,45 @@ msgstr "Fel vid %s:%d.\n"
8091msgid "Service `%s' runs at %s\n" 8091msgid "Service `%s' runs at %s\n"
8092msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n" 8092msgstr "Motpart \"%s\" med pålitlighet %8u och adress \"%s\"\n"
8093 8093
8094#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750 8094#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
8095msgid "Service process failed to initialize\n" 8095msgid "Service process failed to initialize\n"
8096msgstr "" 8096msgstr ""
8097 8097
8098#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755 8098#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
8099msgid "Service process could not initialize server function\n" 8099msgid "Service process could not initialize server function\n"
8100msgstr "" 8100msgstr ""
8101 8101
8102#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760 8102#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
8103msgid "Service process failed to report status\n" 8103msgid "Service process failed to report status\n"
8104msgstr "" 8104msgstr ""
8105 8105
8106#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177 8106#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
8107#: src/util/service.c:1641 8107#: src/util/service.c:1638
8108#, fuzzy, c-format 8108#, fuzzy, c-format
8109msgid "Cannot obtain information about user `%s': %s\n" 8109msgid "Cannot obtain information about user `%s': %s\n"
8110msgstr "Kan inte öppna konfigurationsfil \"%s\".\n" 8110msgstr "Kan inte öppna konfigurationsfil \"%s\".\n"
8111 8111
8112#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643 8112#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
8113msgid "No such user" 8113msgid "No such user"
8114msgstr "" 8114msgstr ""
8115 8115
8116#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657 8116#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
8117#, c-format 8117#, c-format
8118msgid "Cannot change user/group to `%s': %s\n" 8118msgid "Cannot change user/group to `%s': %s\n"
8119msgstr "Kan inte ändra användare/grupp till \"%s\": %s\n" 8119msgstr "Kan inte ändra användare/grupp till \"%s\": %s\n"
8120 8120
8121#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999 8121#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
8122msgid "do daemonize (detach from terminal)" 8122msgid "do daemonize (detach from terminal)"
8123msgstr "" 8123msgstr ""
8124 8124
8125#: src/transport/tcp_service_legacy.c:1397 8125#: src/transport/tcp_service_legacy.c:1397
8126#: src/transport/transport-testing2.c:906 src/util/service.c:2073 8126#: src/transport/transport-testing2.c:906 src/util/service.c:2070
8127#: src/util/service.c:2085 8127#: src/util/service.c:2082
8128#, fuzzy, c-format 8128#, fuzzy, c-format
8129msgid "Malformed configuration file `%s', exit ...\n" 8129msgid "Malformed configuration file `%s', exit ...\n"
8130msgstr "Kunde inte spara konfigurationsfil \"%s\":" 8130msgstr "Kunde inte spara konfigurationsfil \"%s\":"
8131 8131
8132#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095 8132#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
8133#, fuzzy 8133#, fuzzy
8134msgid "Malformed configuration, exit ...\n" 8134msgid "Malformed configuration, exit ...\n"
8135msgstr "Kunde inte spara konfigurationsfil \"%s\":" 8135msgstr "Kunde inte spara konfigurationsfil \"%s\":"
@@ -8173,105 +8173,105 @@ msgstr ""
8173msgid "Metadata `%s' failed to deserialize" 8173msgid "Metadata `%s' failed to deserialize"
8174msgstr "" 8174msgstr ""
8175 8175
8176#: src/util/client.c:739 src/util/client.c:931 8176#: src/util/client.c:747 src/util/client.c:937
8177msgid "not a valid filename" 8177msgid "not a valid filename"
8178msgstr "" 8178msgstr ""
8179 8179
8180#: src/util/client.c:1097 8180#: src/util/client.c:1103
8181#, c-format 8181#, c-format
8182msgid "Need a non-empty hostname for service `%s'.\n" 8182msgid "Need a non-empty hostname for service `%s'.\n"
8183msgstr "" 8183msgstr ""
8184 8184
8185#: src/util/common_logging.c:259 src/util/common_logging.c:1116 8185#: src/util/common_logging.c:259 src/util/common_logging.c:1112
8186msgid "DEBUG" 8186msgid "DEBUG"
8187msgstr "FELSÖKNING" 8187msgstr "FELSÖKNING"
8188 8188
8189#: src/util/common_logging.c:261 src/util/common_logging.c:1114 8189#: src/util/common_logging.c:261 src/util/common_logging.c:1110
8190msgid "INFO" 8190msgid "INFO"
8191msgstr "INFO" 8191msgstr "INFO"
8192 8192
8193#: src/util/common_logging.c:263 src/util/common_logging.c:1112 8193#: src/util/common_logging.c:263 src/util/common_logging.c:1108
8194msgid "MESSAGE" 8194msgid "MESSAGE"
8195msgstr "MEDDELANDE" 8195msgstr "MEDDELANDE"
8196 8196
8197#: src/util/common_logging.c:265 src/util/common_logging.c:1110 8197#: src/util/common_logging.c:265 src/util/common_logging.c:1106
8198msgid "WARNING" 8198msgid "WARNING"
8199msgstr "VARNING" 8199msgstr "VARNING"
8200 8200
8201#: src/util/common_logging.c:267 src/util/common_logging.c:1108 8201#: src/util/common_logging.c:267 src/util/common_logging.c:1104
8202msgid "ERROR" 8202msgid "ERROR"
8203msgstr "FEL" 8203msgstr "FEL"
8204 8204
8205#: src/util/common_logging.c:269 src/util/common_logging.c:1118 8205#: src/util/common_logging.c:269 src/util/common_logging.c:1114
8206msgid "NONE" 8206msgid "NONE"
8207msgstr "" 8207msgstr ""
8208 8208
8209#: src/util/common_logging.c:630 src/util/common_logging.c:669 8209#: src/util/common_logging.c:626 src/util/common_logging.c:665
8210#, c-format 8210#, c-format
8211msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n" 8211msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
8212msgstr "" 8212msgstr ""
8213 8213
8214#: src/util/common_logging.c:906 8214#: src/util/common_logging.c:902
8215#, c-format 8215#, c-format
8216msgid "Message `%.*s' repeated %u times in the last %s\n" 8216msgid "Message `%.*s' repeated %u times in the last %s\n"
8217msgstr "" 8217msgstr ""
8218 8218
8219#: src/util/common_logging.c:1119 8219#: src/util/common_logging.c:1115
8220msgid "INVALID" 8220msgid "INVALID"
8221msgstr "" 8221msgstr ""
8222 8222
8223#: src/util/common_logging.c:1400 8223#: src/util/common_logging.c:1396
8224msgid "unknown address" 8224msgid "unknown address"
8225msgstr "" 8225msgstr ""
8226 8226
8227#: src/util/common_logging.c:1445 8227#: src/util/common_logging.c:1441
8228msgid "invalid address" 8228msgid "invalid address"
8229msgstr "" 8229msgstr ""
8230 8230
8231#: src/util/common_logging.c:1464 8231#: src/util/common_logging.c:1460
8232#, fuzzy, c-format 8232#, fuzzy, c-format
8233msgid "Configuration fails to specify option `%s' in section `%s'!\n" 8233msgid "Configuration fails to specify option `%s' in section `%s'!\n"
8234msgstr "Konfigurationsfil \"%s\" skapad.\n" 8234msgstr "Konfigurationsfil \"%s\" skapad.\n"
8235 8235
8236#: src/util/common_logging.c:1487 8236#: src/util/common_logging.c:1483
8237#, fuzzy, c-format 8237#, fuzzy, c-format
8238msgid "" 8238msgid ""
8239"Configuration specifies invalid value for option `%s' in section `%s': %s\n" 8239"Configuration specifies invalid value for option `%s' in section `%s': %s\n"
8240msgstr "Konfigurationsfil \"%s\" hittades inte. Kör \"gnunet-setup -d\"!\n" 8240msgstr "Konfigurationsfil \"%s\" hittades inte. Kör \"gnunet-setup -d\"!\n"
8241 8241
8242#: src/util/configuration.c:325 8242#: src/util/configuration.c:402
8243#, fuzzy, c-format 8243#, fuzzy, c-format
8244msgid "Syntax error while deserializing in line %u\n" 8244msgid "Syntax error while deserializing in line %u\n"
8245msgstr "Syntaxfel i konfigurationsfil \"%s\" på rad %d.\n" 8245msgstr "Syntaxfel i konfigurationsfil \"%s\" på rad %d.\n"
8246 8246
8247#: src/util/configuration.c:383 8247#: src/util/configuration.c:460
8248#, fuzzy, c-format 8248#, fuzzy, c-format
8249msgid "Error while reading file `%s'\n" 8249msgid "Error while reading file `%s'\n"
8250msgstr "Fel vid nedladdning: %s\n" 8250msgstr "Fel vid nedladdning: %s\n"
8251 8251
8252#: src/util/configuration.c:986 8252#: src/util/configuration.c:1063
8253#, fuzzy 8253#, fuzzy
8254msgid "Not a valid relative time specification" 8254msgid "Not a valid relative time specification"
8255msgstr "Konfigurationsfil \"%s\" skapad.\n" 8255msgstr "Konfigurationsfil \"%s\" skapad.\n"
8256 8256
8257#: src/util/configuration.c:1077 8257#: src/util/configuration.c:1154
8258#, c-format 8258#, c-format
8259msgid "" 8259msgid ""
8260"Configuration value '%s' for '%s' in section '%s' is not in set of legal " 8260"Configuration value '%s' for '%s' in section '%s' is not in set of legal "
8261"choices\n" 8261"choices\n"
8262msgstr "" 8262msgstr ""
8263 8263
8264#: src/util/configuration.c:1192 8264#: src/util/configuration.c:1269
8265#, c-format 8265#, c-format
8266msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n" 8266msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
8267msgstr "" 8267msgstr ""
8268 8268
8269#: src/util/configuration.c:1224 8269#: src/util/configuration.c:1301
8270#, fuzzy, c-format 8270#, fuzzy, c-format
8271msgid "Missing closing `%s' in option `%s'\n" 8271msgid "Missing closing `%s' in option `%s'\n"
8272msgstr "Konfigurationsfil \"%s\" skapad.\n" 8272msgstr "Konfigurationsfil \"%s\" skapad.\n"
8273 8273
8274#: src/util/configuration.c:1290 8274#: src/util/configuration.c:1367
8275#, c-format 8275#, c-format
8276msgid "" 8276msgid ""
8277"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined " 8277"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8335,7 +8335,7 @@ msgstr "libgcrypt har inte den förväntande versionen (version %s krävs).\n"
8335msgid "RSA signing failed at %s:%d: %s\n" 8335msgid "RSA signing failed at %s:%d: %s\n"
8336msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" 8336msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
8337 8337
8338#: src/util/crypto_rsa.c:1313 8338#: src/util/crypto_rsa.c:1314
8339#, fuzzy, c-format 8339#, fuzzy, c-format
8340msgid "RSA signature verification failed at %s:%d: %s\n" 8340msgid "RSA signature verification failed at %s:%d: %s\n"
8341msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" 8341msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n"
@@ -8440,11 +8440,11 @@ msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n"
8440msgid "Missing mandatory option `%s'.\n" 8440msgid "Missing mandatory option `%s'.\n"
8441msgstr "Konfigurationsfil \"%s\" skapad.\n" 8441msgstr "Konfigurationsfil \"%s\" skapad.\n"
8442 8442
8443#: src/util/getopt_helpers.c:68 8443#: src/util/getopt_helpers.c:69
8444msgid "print the version number" 8444msgid "print the version number"
8445msgstr "skriv ut versionsnummer" 8445msgstr "skriv ut versionsnummer"
8446 8446
8447#: src/util/getopt_helpers.c:114 8447#: src/util/getopt_helpers.c:116
8448#, c-format 8448#, c-format
8449msgid "" 8449msgid ""
8450"Arguments mandatory for long options are also mandatory for short options.\n" 8450"Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8452,54 +8452,62 @@ msgstr ""
8452"Argument som är obligatoriska för långa flaggor är också obligatoriska för " 8452"Argument som är obligatoriska för långa flaggor är också obligatoriska för "
8453"korta flaggor.\n" 8453"korta flaggor.\n"
8454 8454
8455#: src/util/getopt_helpers.c:205 8455#: src/util/getopt_helpers.c:208
8456msgid "print this help" 8456msgid "print this help"
8457msgstr "skriv ut denna hjälp" 8457msgstr "skriv ut denna hjälp"
8458 8458
8459#: src/util/getopt_helpers.c:281 8459#: src/util/getopt_helpers.c:288
8460msgid "be verbose" 8460msgid "be verbose"
8461msgstr "var informativ" 8461msgstr "var informativ"
8462 8462
8463#: src/util/getopt_helpers.c:417 8463#: src/util/getopt_helpers.c:429
8464msgid "configure logging to use LOGLEVEL" 8464msgid "configure logging to use LOGLEVEL"
8465msgstr "" 8465msgstr ""
8466 8466
8467#: src/util/getopt_helpers.c:495 8467#: src/util/getopt_helpers.c:510
8468msgid "configure logging to write logs to FILENAME" 8468msgid "configure logging to write logs to FILENAME"
8469msgstr "" 8469msgstr ""
8470 8470
8471#: src/util/getopt_helpers.c:516 8471#: src/util/getopt_helpers.c:532
8472#, fuzzy 8472#, fuzzy
8473msgid "use configuration file FILENAME" 8473msgid "use configuration file FILENAME"
8474msgstr "skriv ut ett värde från konfigurationsfilen till standard ut" 8474msgstr "skriv ut ett värde från konfigurationsfilen till standard ut"
8475 8475
8476#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747 8476#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
8477#: src/util/getopt_helpers.c:810 8477#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
8478#, c-format 8478#, c-format
8479msgid "You must pass a number to the `%s' option.\n" 8479msgid "You must pass a number to the `%s' option.\n"
8480msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n" 8480msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
8481 8481
8482#: src/util/getopt_helpers.c:612 8482#: src/util/getopt_helpers.c:659
8483msgid "[+/-]MICROSECONDS"
8484msgstr ""
8485
8486#: src/util/getopt_helpers.c:661
8487msgid "modify system time by given offset (for debugging/testing only)"
8488msgstr ""
8489
8490#: src/util/getopt_helpers.c:696
8483#, fuzzy, c-format 8491#, fuzzy, c-format
8484msgid "You must pass relative time to the `%s' option.\n" 8492msgid "You must pass relative time to the `%s' option.\n"
8485msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n" 8493msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
8486 8494
8487#: src/util/getopt_helpers.c:675 8495#: src/util/getopt_helpers.c:761
8488#, fuzzy, c-format 8496#, fuzzy, c-format
8489msgid "You must pass absolute time to the `%s' option.\n" 8497msgid "You must pass absolute time to the `%s' option.\n"
8490msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n" 8498msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
8491 8499
8492#: src/util/getopt_helpers.c:740 8500#: src/util/getopt_helpers.c:828
8493#, c-format 8501#, c-format
8494msgid "Your input for the '%s' option has to be a non negative number \n" 8502msgid "Your input for the '%s' option has to be a non negative number\n"
8495msgstr "" 8503msgstr ""
8496 8504
8497#: src/util/getopt_helpers.c:817 8505#: src/util/getopt_helpers.c:907
8498#, fuzzy, c-format 8506#, fuzzy, c-format
8499msgid "You must pass a number below %u to the `%s' option.\n" 8507msgid "You must pass a number below %u to the `%s' option.\n"
8500msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n" 8508msgstr "Du måste skicka med ett nummer till flaggan \"%s\".\n"
8501 8509
8502#: src/util/getopt_helpers.c:902 8510#: src/util/getopt_helpers.c:994
8503#, c-format 8511#, c-format
8504msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n" 8512msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
8505msgstr "" 8513msgstr ""
@@ -8839,14 +8847,14 @@ msgstr ""
8839msgid "Could not resolve our FQDN: %s\n" 8847msgid "Could not resolve our FQDN: %s\n"
8840msgstr "Kunde inte slå upp \"%s\": %s\n" 8848msgstr "Kunde inte slå upp \"%s\": %s\n"
8841 8849
8842#: src/util/service.c:657 8850#: src/util/service.c:654
8843#, c-format 8851#, c-format
8844msgid "" 8852msgid ""
8845"Processing code for message of type %u did not call " 8853"Processing code for message of type %u did not call "
8846"`GNUNET_SERVICE_client_continue' after %s\n" 8854"`GNUNET_SERVICE_client_continue' after %s\n"
8847msgstr "" 8855msgstr ""
8848 8856
8849#: src/util/service.c:1572 8857#: src/util/service.c:1569
8850msgid "" 8858msgid ""
8851"Could not bind to any of the ports I was supposed to, refusing to run!\n" 8859"Could not bind to any of the ports I was supposed to, refusing to run!\n"
8852msgstr "" 8860msgstr ""
@@ -9166,8 +9174,8 @@ msgstr "# byte mottagna via UDP"
9166msgid "Setup tunnels via VPN." 9174msgid "Setup tunnels via VPN."
9167msgstr "" 9175msgstr ""
9168 9176
9169#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9170#: src/zonemaster/gnunet-service-zonemaster.c:849 9177#: src/zonemaster/gnunet-service-zonemaster.c:849
9178#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9171#, fuzzy 9179#, fuzzy
9172msgid "Failed to connect to the namestore!\n" 9180msgid "Failed to connect to the namestore!\n"
9173msgstr "Misslyckades att ansluta till gnunetd.\n" 9181msgstr "Misslyckades att ansluta till gnunetd.\n"
diff --git a/po/vi.po b/po/vi.po
index 4f14469f8..49888c476 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: gnunet 0.8.0a\n" 9"Project-Id-Version: gnunet 0.8.0a\n"
10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 10"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
11"POT-Creation-Date: 2020-01-13 14:01+0000\n" 11"POT-Creation-Date: 2020-02-13 20:41+0100\n"
12"PO-Revision-Date: 2008-09-10 22:05+0930\n" 12"PO-Revision-Date: 2008-09-10 22:05+0930\n"
13"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" 13"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
14"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" 14"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -30,8 +30,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
30msgstr "Đối số không hợp lệ cho « %s ».\n" 30msgstr "Đối số không hợp lệ cho « %s ».\n"
31 31
32#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747 32#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
33#: src/namestore/gnunet-namestore-fcfsd.c:1153
34#: src/namestore/gnunet-namestore.c:1001 33#: src/namestore/gnunet-namestore.c:1001
34#: src/namestore/gnunet-namestore-fcfsd.c:1153
35#, fuzzy, c-format 35#, fuzzy, c-format
36msgid "Failed to connect to namestore\n" 36msgid "Failed to connect to namestore\n"
37msgstr "Không kết nối được đến trình nền gnunetd." 37msgstr "Không kết nối được đến trình nền gnunetd."
@@ -143,7 +143,7 @@ msgstr ""
143msgid "GNUnet abd resolver tool" 143msgid "GNUnet abd resolver tool"
144msgstr "Bản ghi lỗi GNUnet" 144msgstr "Bản ghi lỗi GNUnet"
145 145
146#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288 146#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
147#, fuzzy, c-format 147#, fuzzy, c-format
148msgid "Failed to connect to GNS\n" 148msgid "Failed to connect to GNS\n"
149msgstr "Lỗi kết nối đến gnunetd.\n" 149msgstr "Lỗi kết nối đến gnunetd.\n"
@@ -392,28 +392,28 @@ msgstr ""
392#: src/transport/plugin_transport_tcp.c:1129 392#: src/transport/plugin_transport_tcp.c:1129
393#: src/transport/plugin_transport_tcp.c:3706 393#: src/transport/plugin_transport_tcp.c:3706
394#: src/transport/tcp_service_legacy.c:594 394#: src/transport/tcp_service_legacy.c:594
395#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094 395#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
396#: src/util/service.c:1100 396#: src/util/service.c:1097
397#, c-format 397#, c-format
398msgid "Require valid port number for service `%s' in configuration!\n" 398msgid "Require valid port number for service `%s' in configuration!\n"
399msgstr "" 399msgstr ""
400 400
401#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163 401#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
402#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519 402#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
403#: src/util/service.c:1133 403#: src/util/service.c:1130
404#, c-format 404#, c-format
405msgid "UNIXPATH `%s' too long, maximum length is %llu\n" 405msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
406msgstr "" 406msgstr ""
407 407
408#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167 408#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
409#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524 409#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
410#: src/util/service.c:1137 410#: src/util/service.c:1134
411#, fuzzy, c-format 411#, fuzzy, c-format
412msgid "Using `%s' instead\n" 412msgid "Using `%s' instead\n"
413msgstr "%s: tùy chọn « %s » là mơ hồ\n" 413msgstr "%s: tùy chọn « %s » là mơ hồ\n"
414 414
415#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195 415#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
416#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157 416#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
417#, c-format 417#, c-format
418msgid "" 418msgid ""
419"Disabling UNIX domain socket support for service `%s', failed to create UNIX " 419"Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -421,7 +421,7 @@ msgid ""
421msgstr "" 421msgstr ""
422 422
423#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213 423#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
424#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175 424#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
425#, c-format 425#, c-format
426msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n" 426msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
427msgstr "" 427msgstr ""
@@ -429,7 +429,7 @@ msgstr ""
429#: src/arm/gnunet-service-arm.c:536 429#: src/arm/gnunet-service-arm.c:536
430#: src/transport/plugin_transport_http_server.c:2718 430#: src/transport/plugin_transport_http_server.c:2718
431#: src/transport/plugin_transport_tcp.c:1244 431#: src/transport/plugin_transport_tcp.c:1244
432#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206 432#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
433#, fuzzy, c-format 433#, fuzzy, c-format
434msgid "Failed to resolve `%s': %s\n" 434msgid "Failed to resolve `%s': %s\n"
435msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n" 435msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
@@ -437,7 +437,7 @@ msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
437#: src/arm/gnunet-service-arm.c:555 437#: src/arm/gnunet-service-arm.c:555
438#: src/transport/plugin_transport_http_server.c:2736 438#: src/transport/plugin_transport_http_server.c:2736
439#: src/transport/plugin_transport_tcp.c:1263 439#: src/transport/plugin_transport_tcp.c:1263
440#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225 440#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
441#, fuzzy, c-format 441#, fuzzy, c-format
442msgid "Failed to find %saddress for `%s'.\n" 442msgid "Failed to find %saddress for `%s'.\n"
443msgstr "Lỗi đóng kết đến cổng %s %d.\n" 443msgstr "Lỗi đóng kết đến cổng %s %d.\n"
@@ -509,15 +509,82 @@ msgstr ""
509msgid "Initiating shutdown as requested by client.\n" 509msgid "Initiating shutdown as requested by client.\n"
510msgstr "" 510msgstr ""
511 511
512#: src/ats-tests/ats-testing-log.c:896 512#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
513#, c-format
514msgid ""
515"Could not load quota for network `%s': `%s', assigning default bandwidth "
516"%llu\n"
517msgstr ""
518
519#: src/ats/gnunet-ats-solver-eval.c:3011
520#, c-format
521msgid ""
522"No outbound quota configured for network `%s', assigning default bandwidth "
523"%llu\n"
524msgstr ""
525
526#: src/ats/gnunet-ats-solver-eval.c:3063
527#, c-format
528msgid ""
529"No outbound quota configure for network `%s', assigning default bandwidth "
530"%llu\n"
531msgstr ""
532
533#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
534msgid "solver to use"
535msgstr ""
536
537#: src/ats/gnunet-ats-solver-eval.c:3557
538#: src/ats-tests/gnunet-solver-eval.c:1003
539#: src/ats-tests/gnunet-solver-eval.c:1008
540msgid "experiment to use"
541msgstr ""
542
543#: src/ats/gnunet-ats-solver-eval.c:3564
513#, fuzzy 544#, fuzzy
514msgid "Stop logging\n" 545msgid "print logging"
515msgstr "Theo dõi" 546msgstr "Theo dõi"
516 547
517#: src/ats-tests/ats-testing-log.c:952 548#: src/ats/gnunet-ats-solver-eval.c:3569
549msgid "save logging to disk"
550msgstr ""
551
552#: src/ats/gnunet-ats-solver-eval.c:3574
553msgid "disable normalization"
554msgstr ""
555
556#: src/ats/gnunet-service-ats_plugins.c:326
557#, c-format
558msgid ""
559"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
560"%llu\n"
561msgstr ""
562
563#: src/ats/gnunet-service-ats_plugins.c:336
564#, c-format
565msgid "%s quota configured for network `%s' is %llu\n"
566msgstr ""
567
568#: src/ats/gnunet-service-ats_plugins.c:382
569#, c-format
570msgid ""
571"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
572msgstr ""
573
574#: src/ats/gnunet-service-ats_plugins.c:474
518#, fuzzy, c-format 575#, fuzzy, c-format
519msgid "Start logging `%s'\n" 576msgid "Failed to initialize solver `%s'!\n"
520msgstr "Đang bắt đầu tài về « %s »\n" 577msgstr "Không thể sơ khởi SQLite: %s.\n"
578
579#: src/ats/plugin_ats_proportional.c:1140
580#, fuzzy, c-format
581msgid "Invalid %s configuration %f \n"
582msgstr "Không thể lưu tập tin cấu hình « %s »:"
583
584#: src/ats/plugin_ats_proportional.c:1163
585#, fuzzy, c-format
586msgid "Invalid %s configuration %f\n"
587msgstr "Không thể lưu tập tin cấu hình « %s »:"
521 588
522#: src/ats-tests/ats-testing.c:420 589#: src/ats-tests/ats-testing.c:420
523#, c-format 590#, c-format
@@ -529,6 +596,16 @@ msgstr ""
529msgid "Failed to connect master peer [%u] with slave [%u]\n" 596msgid "Failed to connect master peer [%u] with slave [%u]\n"
530msgstr "Lỗi kết nối đến gnunetd.\n" 597msgstr "Lỗi kết nối đến gnunetd.\n"
531 598
599#: src/ats-tests/ats-testing-log.c:896
600#, fuzzy
601msgid "Stop logging\n"
602msgstr "Theo dõi"
603
604#: src/ats-tests/ats-testing-log.c:952
605#, fuzzy, c-format
606msgid "Start logging `%s'\n"
607msgstr "Đang bắt đầu tài về « %s »\n"
608
532#: src/ats-tests/gnunet-ats-sim.c:92 609#: src/ats-tests/gnunet-ats-sim.c:92
533#, c-format 610#, c-format
534msgid "" 611msgid ""
@@ -536,16 +613,6 @@ msgid ""
536"= %u KiB/s\n" 613"= %u KiB/s\n"
537msgstr "" 614msgstr ""
538 615
539#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
540msgid "solver to use"
541msgstr ""
542
543#: src/ats-tests/gnunet-solver-eval.c:1003
544#: src/ats-tests/gnunet-solver-eval.c:1008
545#: src/ats/gnunet-ats-solver-eval.c:3557
546msgid "experiment to use"
547msgstr ""
548
549#: src/ats-tool/gnunet-ats.c:299 616#: src/ats-tool/gnunet-ats.c:299
550#, c-format 617#, c-format
551msgid "%u address resolutions had a timeout\n" 618msgid "%u address resolutions had a timeout\n"
@@ -668,73 +735,6 @@ msgstr ""
668msgid "Print information about ATS state" 735msgid "Print information about ATS state"
669msgstr "In ra thông tin về các đồng đẳng GNUnet." 736msgstr "In ra thông tin về các đồng đẳng GNUnet."
670 737
671#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
672#, c-format
673msgid ""
674"Could not load quota for network `%s': `%s', assigning default bandwidth "
675"%llu\n"
676msgstr ""
677
678#: src/ats/gnunet-ats-solver-eval.c:3011
679#, c-format
680msgid ""
681"No outbound quota configured for network `%s', assigning default bandwidth "
682"%llu\n"
683msgstr ""
684
685#: src/ats/gnunet-ats-solver-eval.c:3063
686#, c-format
687msgid ""
688"No outbound quota configure for network `%s', assigning default bandwidth "
689"%llu\n"
690msgstr ""
691
692#: src/ats/gnunet-ats-solver-eval.c:3564
693#, fuzzy
694msgid "print logging"
695msgstr "Theo dõi"
696
697#: src/ats/gnunet-ats-solver-eval.c:3569
698msgid "save logging to disk"
699msgstr ""
700
701#: src/ats/gnunet-ats-solver-eval.c:3574
702msgid "disable normalization"
703msgstr ""
704
705#: src/ats/gnunet-service-ats_plugins.c:326
706#, c-format
707msgid ""
708"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
709"%llu\n"
710msgstr ""
711
712#: src/ats/gnunet-service-ats_plugins.c:336
713#, c-format
714msgid "%s quota configured for network `%s' is %llu\n"
715msgstr ""
716
717#: src/ats/gnunet-service-ats_plugins.c:382
718#, c-format
719msgid ""
720"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
721msgstr ""
722
723#: src/ats/gnunet-service-ats_plugins.c:474
724#, fuzzy, c-format
725msgid "Failed to initialize solver `%s'!\n"
726msgstr "Không thể sơ khởi SQLite: %s.\n"
727
728#: src/ats/plugin_ats_proportional.c:1140
729#, fuzzy, c-format
730msgid "Invalid %s configuration %f \n"
731msgstr "Không thể lưu tập tin cấu hình « %s »:"
732
733#: src/ats/plugin_ats_proportional.c:1163
734#, fuzzy, c-format
735msgid "Invalid %s configuration %f\n"
736msgstr "Không thể lưu tập tin cấu hình « %s »:"
737
738#: src/auction/gnunet-auction-create.c:163 738#: src/auction/gnunet-auction-create.c:163
739msgid "description of the item to be sold" 739msgid "description of the item to be sold"
740msgstr "" 740msgstr ""
@@ -870,28 +870,6 @@ msgstr ""
870msgid "Connection to conversation service lost, trying to reconnect\n" 870msgid "Connection to conversation service lost, trying to reconnect\n"
871msgstr "" 871msgstr ""
872 872
873#: src/conversation/gnunet-conversation-test.c:120
874#, c-format
875msgid ""
876"\n"
877"End of transmission. Have a GNU day.\n"
878msgstr ""
879
880#: src/conversation/gnunet-conversation-test.c:146
881#, c-format
882msgid ""
883"\n"
884"We are now playing your recording back. If you can hear it, your audio "
885"settings are working..."
886msgstr ""
887
888#: src/conversation/gnunet-conversation-test.c:218
889#, c-format
890msgid ""
891"We will now be recording you for %s. After that time, the recording will be "
892"played back to you..."
893msgstr ""
894
895#: src/conversation/gnunet-conversation.c:264 873#: src/conversation/gnunet-conversation.c:264
896#, c-format 874#, c-format
897msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n" 875msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1151,8 +1129,30 @@ msgstr ""
1151msgid "Enables having a conversation with other GNUnet users." 1129msgid "Enables having a conversation with other GNUnet users."
1152msgstr "" 1130msgstr ""
1153 1131
1154#: src/conversation/gnunet-helper-audio-playback-gst.c:363 1132#: src/conversation/gnunet-conversation-test.c:120
1133#, c-format
1134msgid ""
1135"\n"
1136"End of transmission. Have a GNU day.\n"
1137msgstr ""
1138
1139#: src/conversation/gnunet-conversation-test.c:146
1140#, c-format
1141msgid ""
1142"\n"
1143"We are now playing your recording back. If you can hear it, your audio "
1144"settings are working..."
1145msgstr ""
1146
1147#: src/conversation/gnunet-conversation-test.c:218
1148#, c-format
1149msgid ""
1150"We will now be recording you for %s. After that time, the recording will be "
1151"played back to you..."
1152msgstr ""
1153
1155#: src/conversation/gnunet_gst.c:664 1154#: src/conversation/gnunet_gst.c:664
1155#: src/conversation/gnunet-helper-audio-playback-gst.c:363
1156#, c-format 1156#, c-format
1157msgid "Read error from STDIN: %d %s\n" 1157msgid "Read error from STDIN: %d %s\n"
1158msgstr "" 1158msgstr ""
@@ -1990,19 +1990,19 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n"
1990msgid "Mysql database running\n" 1990msgid "Mysql database running\n"
1991msgstr "" 1991msgstr ""
1992 1992
1993#: src/datastore/plugin_datastore_postgres.c:277 1993#: src/datastore/plugin_datastore_postgres.c:278
1994#: src/datastore/plugin_datastore_postgres.c:890 1994#: src/datastore/plugin_datastore_postgres.c:891
1995msgid "Postgress exec failure" 1995msgid "Postgress exec failure"
1996msgstr "" 1996msgstr ""
1997 1997
1998#: src/datastore/plugin_datastore_postgres.c:851 1998#: src/datastore/plugin_datastore_postgres.c:852
1999#, fuzzy 1999#, fuzzy
2000msgid "Failed to drop table from database.\n" 2000msgid "Failed to drop table from database.\n"
2001msgstr "" 2001msgstr ""
2002"\n" 2002"\n"
2003"Không nhận được đáp ứng từ gnunetd.\n" 2003"Không nhận được đáp ứng từ gnunetd.\n"
2004 2004
2005#: src/datastore/plugin_datastore_postgres.c:949 2005#: src/datastore/plugin_datastore_postgres.c:950
2006msgid "Postgres database running\n" 2006msgid "Postgres database running\n"
2007msgstr "" 2007msgstr ""
2008 2008
@@ -2111,6 +2111,54 @@ msgstr ""
2111msgid "Prints all packets that go through the DHT." 2111msgid "Prints all packets that go through the DHT."
2112msgstr "" 2112msgstr ""
2113 2113
2114#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2115#, fuzzy, c-format
2116msgid "Exiting as the number of peers is %u\n"
2117msgstr "tăng sổ tối đa các kết nối TCP/IP"
2118
2119#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2120#, fuzzy
2121msgid "number of peers to start"
2122msgstr "số lần lặp lại"
2123
2124#: src/dht/gnunet_dht_profiler.c:961
2125msgid "number of PUTs to perform per peer"
2126msgstr ""
2127
2128#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2129#: src/testbed/gnunet-testbed-profiler.c:305
2130msgid "name of the file with the login information for the testbed"
2131msgstr ""
2132
2133#: src/dht/gnunet_dht_profiler.c:973
2134msgid "delay between rounds for collecting statistics (default: 30 sec)"
2135msgstr ""
2136
2137#: src/dht/gnunet_dht_profiler.c:979
2138msgid "delay to start doing PUTs (default: 1 sec)"
2139msgstr ""
2140
2141#: src/dht/gnunet_dht_profiler.c:985
2142msgid "delay to start doing GETs (default: 5 min)"
2143msgstr ""
2144
2145#: src/dht/gnunet_dht_profiler.c:990
2146msgid "replication degree for DHT PUTs"
2147msgstr ""
2148
2149#: src/dht/gnunet_dht_profiler.c:996
2150msgid "chance that a peer is selected at random for PUTs"
2151msgstr ""
2152
2153#: src/dht/gnunet_dht_profiler.c:1002
2154msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2155msgstr ""
2156
2157#: src/dht/gnunet_dht_profiler.c:1023
2158#, fuzzy
2159msgid "Measure quality and performance of the DHT service."
2160msgstr "Không thể truy cập đến dịch vụ"
2161
2114#: src/dht/gnunet-dht-put.c:133 2162#: src/dht/gnunet-dht-put.c:133
2115msgid "Must provide KEY and DATA for DHT put!\n" 2163msgid "Must provide KEY and DATA for DHT put!\n"
2116msgstr "" 2164msgstr ""
@@ -2382,54 +2430,6 @@ msgstr ""
2382msgid "# DHT requests combined" 2430msgid "# DHT requests combined"
2383msgstr "# các yêu cầu get (lấy) dht được nhận" 2431msgstr "# các yêu cầu get (lấy) dht được nhận"
2384 2432
2385#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2386#, fuzzy, c-format
2387msgid "Exiting as the number of peers is %u\n"
2388msgstr "tăng sổ tối đa các kết nối TCP/IP"
2389
2390#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2391#, fuzzy
2392msgid "number of peers to start"
2393msgstr "số lần lặp lại"
2394
2395#: src/dht/gnunet_dht_profiler.c:961
2396msgid "number of PUTs to perform per peer"
2397msgstr ""
2398
2399#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2400#: src/testbed/gnunet-testbed-profiler.c:305
2401msgid "name of the file with the login information for the testbed"
2402msgstr ""
2403
2404#: src/dht/gnunet_dht_profiler.c:973
2405msgid "delay between rounds for collecting statistics (default: 30 sec)"
2406msgstr ""
2407
2408#: src/dht/gnunet_dht_profiler.c:979
2409msgid "delay to start doing PUTs (default: 1 sec)"
2410msgstr ""
2411
2412#: src/dht/gnunet_dht_profiler.c:985
2413msgid "delay to start doing GETs (default: 5 min)"
2414msgstr ""
2415
2416#: src/dht/gnunet_dht_profiler.c:990
2417msgid "replication degree for DHT PUTs"
2418msgstr ""
2419
2420#: src/dht/gnunet_dht_profiler.c:996
2421msgid "chance that a peer is selected at random for PUTs"
2422msgstr ""
2423
2424#: src/dht/gnunet_dht_profiler.c:1002
2425msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2426msgstr ""
2427
2428#: src/dht/gnunet_dht_profiler.c:1023
2429#, fuzzy
2430msgid "Measure quality and performance of the DHT service."
2431msgstr "Không thể truy cập đến dịch vụ"
2432
2433#: src/dht/plugin_block_dht.c:189 2433#: src/dht/plugin_block_dht.c:189
2434#, fuzzy, c-format 2434#, fuzzy, c-format
2435msgid "Block not of type %u\n" 2435msgid "Block not of type %u\n"
@@ -3381,6 +3381,15 @@ msgid ""
3381"chk/...)" 3381"chk/...)"
3382msgstr "" 3382msgstr ""
3383 3383
3384#: src/fs/gnunet-fs.c:128
3385msgid "print a list of all indexed files"
3386msgstr ""
3387
3388#: src/fs/gnunet-fs.c:141
3389#, fuzzy
3390msgid "Special file-sharing operations"
3391msgstr "Tùy chọn chia sẻ tập tin"
3392
3384#: src/fs/gnunet-fs-profiler.c:211 3393#: src/fs/gnunet-fs-profiler.c:211
3385msgid "run the experiment with COUNT peers" 3394msgid "run the experiment with COUNT peers"
3386msgstr "" 3395msgstr ""
@@ -3397,15 +3406,6 @@ msgstr ""
3397msgid "run a testbed to measure file-sharing performance" 3406msgid "run a testbed to measure file-sharing performance"
3398msgstr "" 3407msgstr ""
3399 3408
3400#: src/fs/gnunet-fs.c:128
3401msgid "print a list of all indexed files"
3402msgstr ""
3403
3404#: src/fs/gnunet-fs.c:141
3405#, fuzzy
3406msgid "Special file-sharing operations"
3407msgstr "Tùy chọn chia sẻ tập tin"
3408
3409#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234 3409#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
3410#, c-format 3410#, c-format
3411msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" 3411msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -4116,6 +4116,52 @@ msgstr ""
4116msgid "look for GNS2DNS records instead of ANY" 4116msgid "look for GNS2DNS records instead of ANY"
4117msgstr "" 4117msgstr ""
4118 4118
4119#: src/gns/gnunet-gns.c:257
4120#, fuzzy, c-format
4121msgid "`%s' is not a valid DNS domain name\n"
4122msgstr "« %s » không sẵn sàng.\n"
4123
4124#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
4125#, fuzzy, c-format
4126msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4127msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
4128
4129#: src/gns/gnunet-gns.c:281
4130msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4131msgstr ""
4132
4133#: src/gns/gnunet-gns.c:305
4134#, c-format
4135msgid "Invalid typename specified, assuming `ANY'\n"
4136msgstr ""
4137
4138#: src/gns/gnunet-gns.c:340
4139msgid "Lookup a record for the given name"
4140msgstr ""
4141
4142#: src/gns/gnunet-gns.c:346
4143#, fuzzy
4144msgid "Specify the type of the record to lookup"
4145msgstr "xác định mức ưu tiên của nội dung"
4146
4147#: src/gns/gnunet-gns.c:352
4148#, fuzzy
4149msgid "Specify a timeout for the lookup"
4150msgstr "xác định mức ưu tiên của nội dung"
4151
4152#: src/gns/gnunet-gns.c:356
4153msgid "No unneeded output"
4154msgstr ""
4155
4156#: src/gns/gnunet-gns.c:361
4157msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4158msgstr ""
4159
4160#: src/gns/gnunet-gns.c:375
4161#, fuzzy
4162msgid "GNUnet GNS resolver tool"
4163msgstr "Bản ghi lỗi GNUnet"
4164
4119#: src/gns/gnunet-gns-import.c:486 4165#: src/gns/gnunet-gns-import.c:486
4120msgid "This program will import some GNS authorities into your GNS namestore." 4166msgid "This program will import some GNS authorities into your GNS namestore."
4121msgstr "" 4167msgstr ""
@@ -4236,52 +4282,6 @@ msgstr ""
4236msgid "GNUnet GNS proxy" 4282msgid "GNUnet GNS proxy"
4237msgstr "" 4283msgstr ""
4238 4284
4239#: src/gns/gnunet-gns.c:253
4240#, fuzzy, c-format
4241msgid "`%s' is not a valid DNS domain name\n"
4242msgstr "« %s » không sẵn sàng.\n"
4243
4244#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
4245#, fuzzy, c-format
4246msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4247msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
4248
4249#: src/gns/gnunet-gns.c:277
4250msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4251msgstr ""
4252
4253#: src/gns/gnunet-gns.c:301
4254#, c-format
4255msgid "Invalid typename specified, assuming `ANY'\n"
4256msgstr ""
4257
4258#: src/gns/gnunet-gns.c:336
4259msgid "Lookup a record for the given name"
4260msgstr ""
4261
4262#: src/gns/gnunet-gns.c:342
4263#, fuzzy
4264msgid "Specify the type of the record to lookup"
4265msgstr "xác định mức ưu tiên của nội dung"
4266
4267#: src/gns/gnunet-gns.c:348
4268#, fuzzy
4269msgid "Specify a timeout for the lookup"
4270msgstr "xác định mức ưu tiên của nội dung"
4271
4272#: src/gns/gnunet-gns.c:352
4273msgid "No unneeded output"
4274msgstr ""
4275
4276#: src/gns/gnunet-gns.c:357
4277msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4278msgstr ""
4279
4280#: src/gns/gnunet-gns.c:371
4281#, fuzzy
4282msgid "GNUnet GNS resolver tool"
4283msgstr "Bản ghi lỗi GNUnet"
4284
4285#: src/gns/gnunet-service-gns.c:505 4285#: src/gns/gnunet-service-gns.c:505
4286#, fuzzy 4286#, fuzzy
4287msgid "Properly base32-encoded public key required" 4287msgid "Properly base32-encoded public key required"
@@ -4293,8 +4293,8 @@ msgid "Failed to connect to the namecache!\n"
4293msgstr "Không kết nối được đến trình nền gnunetd." 4293msgstr "Không kết nối được đến trình nền gnunetd."
4294 4294
4295#: src/gns/gnunet-service-gns.c:560 4295#: src/gns/gnunet-service-gns.c:560
4296#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4297#: src/zonemaster/gnunet-service-zonemaster.c:887 4296#: src/zonemaster/gnunet-service-zonemaster.c:887
4297#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4298#, fuzzy 4298#, fuzzy
4299msgid "Could not connect to DHT!\n" 4299msgid "Could not connect to DHT!\n"
4300msgstr "Không thể kết nối tới %s:%u: %s\n" 4300msgstr "Không thể kết nối tới %s:%u: %s\n"
@@ -4354,21 +4354,21 @@ msgstr ""
4354msgid "GNS lookup failed (zero records found for `%s')\n" 4354msgid "GNS lookup failed (zero records found for `%s')\n"
4355msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n" 4355msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
4356 4356
4357#: src/gns/gnunet-service-gns_resolver.c:2376 4357#: src/gns/gnunet-service-gns_resolver.c:2372
4358msgid "GNS lookup recursion failed (no delegation record found)\n" 4358msgid "GNS lookup recursion failed (no delegation record found)\n"
4359msgstr "" 4359msgstr ""
4360 4360
4361#: src/gns/gnunet-service-gns_resolver.c:2399 4361#: src/gns/gnunet-service-gns_resolver.c:2395
4362#, fuzzy, c-format 4362#, fuzzy, c-format
4363msgid "Failed to cache GNS resolution: %s\n" 4363msgid "Failed to cache GNS resolution: %s\n"
4364msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n" 4364msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n"
4365 4365
4366#: src/gns/gnunet-service-gns_resolver.c:2567 4366#: src/gns/gnunet-service-gns_resolver.c:2563
4367#, c-format 4367#, c-format
4368msgid "GNS namecache returned empty result for `%s'\n" 4368msgid "GNS namecache returned empty result for `%s'\n"
4369msgstr "" 4369msgstr ""
4370 4370
4371#: src/gns/gnunet-service-gns_resolver.c:2707 4371#: src/gns/gnunet-service-gns_resolver.c:2703
4372#, c-format 4372#, c-format
4373msgid "Zone %s was revoked, resolution fails\n" 4373msgid "Zone %s was revoked, resolution fails\n"
4374msgstr "" 4374msgstr ""
@@ -5056,70 +5056,6 @@ msgstr "kho dữ liệu sqlite"
5056msgid "Failed to setup database at `%s'\n" 5056msgid "Failed to setup database at `%s'\n"
5057msgstr "Lỗi chạy %s: %s %d\n" 5057msgstr "Lỗi chạy %s: %s %d\n"
5058 5058
5059#: src/namestore/gnunet-namestore-fcfsd.c:551
5060#, fuzzy, c-format
5061msgid "Unsupported form value `%s'\n"
5062msgstr "Lệnh không được hỗ trợ « %s ». Đang hủy bỏ.\n"
5063
5064#: src/namestore/gnunet-namestore-fcfsd.c:578
5065#, fuzzy, c-format
5066msgid "Failed to create record for domain `%s': %s\n"
5067msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
5068
5069#: src/namestore/gnunet-namestore-fcfsd.c:599
5070msgid "Error when mapping zone to name\n"
5071msgstr ""
5072
5073#: src/namestore/gnunet-namestore-fcfsd.c:631
5074#, c-format
5075msgid "Found existing name `%s' for the given key\n"
5076msgstr ""
5077
5078#: src/namestore/gnunet-namestore-fcfsd.c:693
5079#, c-format
5080msgid "Found %u existing records for domain `%s'\n"
5081msgstr ""
5082
5083#: src/namestore/gnunet-namestore-fcfsd.c:783
5084#, fuzzy, c-format
5085msgid "Failed to create page for `%s'\n"
5086msgstr "Không thể tạo miền tên.\n"
5087
5088#: src/namestore/gnunet-namestore-fcfsd.c:802
5089#, fuzzy, c-format
5090msgid "Failed to setup post processor for `%s'\n"
5091msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
5092
5093#: src/namestore/gnunet-namestore-fcfsd.c:839
5094msgid "Domain name must not contain `.'\n"
5095msgstr ""
5096
5097#: src/namestore/gnunet-namestore-fcfsd.c:848
5098msgid "Domain name must not contain `+'\n"
5099msgstr ""
5100
5101#: src/namestore/gnunet-namestore-fcfsd.c:1083
5102msgid "No ego configured for `fcfsd` subsystem\n"
5103msgstr ""
5104
5105#: src/namestore/gnunet-namestore-fcfsd.c:1114
5106#, fuzzy
5107msgid "Failed to start HTTP server\n"
5108msgstr "Lỗi bắt đầu thu thập.\n"
5109
5110#: src/namestore/gnunet-namestore-fcfsd.c:1162
5111#, fuzzy
5112msgid "Failed to connect to identity\n"
5113msgstr "Lỗi kết nối đến gnunetd.\n"
5114
5115#: src/namestore/gnunet-namestore-fcfsd.c:1189
5116msgid "name of the zone that is to be managed by FCFSD"
5117msgstr ""
5118
5119#: src/namestore/gnunet-namestore-fcfsd.c:1209
5120msgid "GNU Name System First Come First Serve name registration service"
5121msgstr ""
5122
5123#: src/namestore/gnunet-namestore.c:334 5059#: src/namestore/gnunet-namestore.c:334
5124#, fuzzy, c-format 5060#, fuzzy, c-format
5125msgid "Adding record failed: %s\n" 5061msgid "Adding record failed: %s\n"
@@ -5342,7 +5278,71 @@ msgstr ""
5342msgid "name of the ego controlling the zone" 5278msgid "name of the ego controlling the zone"
5343msgstr "" 5279msgstr ""
5344 5280
5345#: src/namestore/gnunet-service-namestore.c:864 5281#: src/namestore/gnunet-namestore-fcfsd.c:551
5282#, fuzzy, c-format
5283msgid "Unsupported form value `%s'\n"
5284msgstr "Lệnh không được hỗ trợ « %s ». Đang hủy bỏ.\n"
5285
5286#: src/namestore/gnunet-namestore-fcfsd.c:578
5287#, fuzzy, c-format
5288msgid "Failed to create record for domain `%s': %s\n"
5289msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n"
5290
5291#: src/namestore/gnunet-namestore-fcfsd.c:599
5292msgid "Error when mapping zone to name\n"
5293msgstr ""
5294
5295#: src/namestore/gnunet-namestore-fcfsd.c:631
5296#, c-format
5297msgid "Found existing name `%s' for the given key\n"
5298msgstr ""
5299
5300#: src/namestore/gnunet-namestore-fcfsd.c:693
5301#, c-format
5302msgid "Found %u existing records for domain `%s'\n"
5303msgstr ""
5304
5305#: src/namestore/gnunet-namestore-fcfsd.c:783
5306#, fuzzy, c-format
5307msgid "Failed to create page for `%s'\n"
5308msgstr "Không thể tạo miền tên.\n"
5309
5310#: src/namestore/gnunet-namestore-fcfsd.c:802
5311#, fuzzy, c-format
5312msgid "Failed to setup post processor for `%s'\n"
5313msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
5314
5315#: src/namestore/gnunet-namestore-fcfsd.c:839
5316msgid "Domain name must not contain `.'\n"
5317msgstr ""
5318
5319#: src/namestore/gnunet-namestore-fcfsd.c:848
5320msgid "Domain name must not contain `+'\n"
5321msgstr ""
5322
5323#: src/namestore/gnunet-namestore-fcfsd.c:1083
5324msgid "No ego configured for `fcfsd` subsystem\n"
5325msgstr ""
5326
5327#: src/namestore/gnunet-namestore-fcfsd.c:1114
5328#, fuzzy
5329msgid "Failed to start HTTP server\n"
5330msgstr "Lỗi bắt đầu thu thập.\n"
5331
5332#: src/namestore/gnunet-namestore-fcfsd.c:1162
5333#, fuzzy
5334msgid "Failed to connect to identity\n"
5335msgstr "Lỗi kết nối đến gnunetd.\n"
5336
5337#: src/namestore/gnunet-namestore-fcfsd.c:1189
5338msgid "name of the zone that is to be managed by FCFSD"
5339msgstr ""
5340
5341#: src/namestore/gnunet-namestore-fcfsd.c:1209
5342msgid "GNU Name System First Come First Serve name registration service"
5343msgstr ""
5344
5345#: src/namestore/gnunet-service-namestore.c:866
5346#, fuzzy, c-format 5346#, fuzzy, c-format
5347msgid "Failed to replicate block in namecache: %s\n" 5347msgid "Failed to replicate block in namecache: %s\n"
5348msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n" 5348msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n"
@@ -5661,6 +5661,11 @@ msgstr ""
5661msgid "`upnpc' command not found\n" 5661msgid "`upnpc' command not found\n"
5662msgstr "" 5662msgstr ""
5663 5663
5664#: src/nse/gnunet-nse.c:124
5665#, fuzzy
5666msgid "Show network size estimates from NSE service."
5667msgstr "# các yêu cầu get (lấy) dht được nhận"
5668
5664#: src/nse/gnunet-nse-profiler.c:857 5669#: src/nse/gnunet-nse-profiler.c:857
5665#, fuzzy 5670#, fuzzy
5666msgid "limit to the number of connections to NSE services, 0 for none" 5671msgid "limit to the number of connections to NSE services, 0 for none"
@@ -5687,17 +5692,71 @@ msgstr ""
5687msgid "Measure quality and performance of the NSE service." 5692msgid "Measure quality and performance of the NSE service."
5688msgstr "Không thể truy cập đến dịch vụ" 5693msgstr "Không thể truy cập đến dịch vụ"
5689 5694
5690#: src/nse/gnunet-nse.c:124
5691#, fuzzy
5692msgid "Show network size estimates from NSE service."
5693msgstr "# các yêu cầu get (lấy) dht được nhận"
5694
5695#: src/nse/gnunet-service-nse.c:1437 5695#: src/nse/gnunet-service-nse.c:1437
5696#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247 5696#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
5697#, fuzzy 5697#, fuzzy
5698msgid "Value is too large.\n" 5698msgid "Value is too large.\n"
5699msgstr "Giá trị không nằm trong phạm vi được phép." 5699msgstr "Giá trị không nằm trong phạm vi được phép."
5700 5700
5701#: src/peerinfo/gnunet-service-peerinfo.c:175
5702#, fuzzy, c-format
5703msgid "Removing expired address of transport `%s'\n"
5704msgstr "Đã nạp truyền tải « %s »\n"
5705
5706#: src/peerinfo/gnunet-service-peerinfo.c:306
5707#, fuzzy, c-format
5708msgid "Failed to parse HELLO in file `%s': %s\n"
5709msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5710
5711#: src/peerinfo/gnunet-service-peerinfo.c:323
5712#: src/peerinfo/gnunet-service-peerinfo.c:348
5713#, fuzzy, c-format
5714msgid "Failed to parse HELLO in file `%s'\n"
5715msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5716
5717#: src/peerinfo/gnunet-service-peerinfo.c:426
5718msgid "# peers known"
5719msgstr ""
5720
5721#: src/peerinfo/gnunet-service-peerinfo.c:468
5722#, c-format
5723msgid ""
5724"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5725msgstr ""
5726"Tập tin « %s » trong thư mục « %s » không tùy theo quy ước đặt tên. Bị gỡ "
5727"bỏ.\n"
5728
5729#: src/peerinfo/gnunet-service-peerinfo.c:624
5730#, fuzzy, c-format
5731msgid "Scanning directory `%s'\n"
5732msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5733
5734#: src/peerinfo/gnunet-service-peerinfo.c:631
5735#, c-format
5736msgid "Still no peers found in `%s'!\n"
5737msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
5738
5739#: src/peerinfo/gnunet-service-peerinfo.c:1024
5740#, fuzzy, c-format
5741msgid "Cleaning up directory `%s'\n"
5742msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5743
5744#: src/peerinfo/gnunet-service-peerinfo.c:1319
5745#, c-format
5746msgid "Importing HELLOs from `%s'\n"
5747msgstr ""
5748
5749#: src/peerinfo/gnunet-service-peerinfo.c:1332
5750msgid "Skipping import of included HELLOs\n"
5751msgstr ""
5752
5753#: src/peerinfo/peerinfo_api.c:217
5754#, fuzzy
5755msgid "Failed to receive response from `PEERINFO' service."
5756msgstr ""
5757"\n"
5758"Không nhận được đáp ứng từ gnunetd.\n"
5759
5701#: src/peerinfo-tool/gnunet-peerinfo.c:237 5760#: src/peerinfo-tool/gnunet-peerinfo.c:237
5702#, fuzzy, c-format 5761#, fuzzy, c-format
5703msgid "%sPeer `%s'\n" 5762msgid "%sPeer `%s'\n"
@@ -5795,65 +5854,6 @@ msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n"
5795msgid "Peerinfo REST API initialized\n" 5854msgid "Peerinfo REST API initialized\n"
5796msgstr "Lỗi sơ khởi lõi.\n" 5855msgstr "Lỗi sơ khởi lõi.\n"
5797 5856
5798#: src/peerinfo/gnunet-service-peerinfo.c:175
5799#, fuzzy, c-format
5800msgid "Removing expired address of transport `%s'\n"
5801msgstr "Đã nạp truyền tải « %s »\n"
5802
5803#: src/peerinfo/gnunet-service-peerinfo.c:306
5804#, fuzzy, c-format
5805msgid "Failed to parse HELLO in file `%s': %s\n"
5806msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5807
5808#: src/peerinfo/gnunet-service-peerinfo.c:323
5809#: src/peerinfo/gnunet-service-peerinfo.c:348
5810#, fuzzy, c-format
5811msgid "Failed to parse HELLO in file `%s'\n"
5812msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5813
5814#: src/peerinfo/gnunet-service-peerinfo.c:426
5815msgid "# peers known"
5816msgstr ""
5817
5818#: src/peerinfo/gnunet-service-peerinfo.c:468
5819#, c-format
5820msgid ""
5821"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5822msgstr ""
5823"Tập tin « %s » trong thư mục « %s » không tùy theo quy ước đặt tên. Bị gỡ "
5824"bỏ.\n"
5825
5826#: src/peerinfo/gnunet-service-peerinfo.c:624
5827#, fuzzy, c-format
5828msgid "Scanning directory `%s'\n"
5829msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5830
5831#: src/peerinfo/gnunet-service-peerinfo.c:631
5832#, c-format
5833msgid "Still no peers found in `%s'!\n"
5834msgstr "Vẫn còn không tìm thấy đồng đẳng trong « %s ».\n"
5835
5836#: src/peerinfo/gnunet-service-peerinfo.c:1024
5837#, fuzzy, c-format
5838msgid "Cleaning up directory `%s'\n"
5839msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n"
5840
5841#: src/peerinfo/gnunet-service-peerinfo.c:1319
5842#, c-format
5843msgid "Importing HELLOs from `%s'\n"
5844msgstr ""
5845
5846#: src/peerinfo/gnunet-service-peerinfo.c:1332
5847msgid "Skipping import of included HELLOs\n"
5848msgstr ""
5849
5850#: src/peerinfo/peerinfo_api.c:217
5851#, fuzzy
5852msgid "Failed to receive response from `PEERINFO' service."
5853msgstr ""
5854"\n"
5855"Không nhận được đáp ứng từ gnunetd.\n"
5856
5857#: src/peerstore/gnunet-peerstore.c:92 5857#: src/peerstore/gnunet-peerstore.c:92
5858msgid "peerstore" 5858msgid "peerstore"
5859msgstr "" 5859msgstr ""
@@ -6289,6 +6289,18 @@ msgstr ""
6289msgid "Could not open revocation database file!" 6289msgid "Could not open revocation database file!"
6290msgstr "« %s »: Không thể kết nối.\n" 6290msgstr "« %s »: Không thể kết nối.\n"
6291 6291
6292#: src/rps/gnunet-rps.c:270
6293msgid "Seed a PeerID"
6294msgstr ""
6295
6296#: src/rps/gnunet-rps.c:275
6297msgid "Get updates of view (0 for infinite updates)"
6298msgstr ""
6299
6300#: src/rps/gnunet-rps.c:279
6301msgid "Get peers from biased stream"
6302msgstr ""
6303
6292#: src/rps/gnunet-rps-profiler.c:3200 6304#: src/rps/gnunet-rps-profiler.c:3200
6293msgid "duration of the profiling" 6305msgid "duration of the profiling"
6294msgstr "" 6306msgstr ""
@@ -6308,18 +6320,6 @@ msgstr "số lần lặp lại"
6308msgid "Measure quality and performance of the RPS service." 6320msgid "Measure quality and performance of the RPS service."
6309msgstr "Không thể truy cập đến dịch vụ" 6321msgstr "Không thể truy cập đến dịch vụ"
6310 6322
6311#: src/rps/gnunet-rps.c:270
6312msgid "Seed a PeerID"
6313msgstr ""
6314
6315#: src/rps/gnunet-rps.c:275
6316msgid "Get updates of view (0 for infinite updates)"
6317msgstr ""
6318
6319#: src/rps/gnunet-rps.c:279
6320msgid "Get peers from biased stream"
6321msgstr ""
6322
6323#: src/scalarproduct/gnunet-scalarproduct.c:229 6323#: src/scalarproduct/gnunet-scalarproduct.c:229
6324#, fuzzy 6324#, fuzzy
6325msgid "You must specify at least one message ID to check!\n" 6325msgid "You must specify at least one message ID to check!\n"
@@ -6375,10 +6375,10 @@ msgstr ""
6375msgid "Calculate the Vectorproduct with a GNUnet peer." 6375msgid "Calculate the Vectorproduct with a GNUnet peer."
6376msgstr "" 6376msgstr ""
6377 6377
6378#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6379#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6380#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363 6378#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
6381#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366 6379#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
6380#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6381#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6382#, fuzzy 6382#, fuzzy
6383msgid "Connect to CADET failed\n" 6383msgid "Connect to CADET failed\n"
6384msgstr " Không kết nối được (lỗi ?)\n" 6384msgstr " Không kết nối được (lỗi ?)\n"
@@ -6722,6 +6722,16 @@ msgstr "« %s » đang tắt.\n"
6722msgid "%.s Unknown result code." 6722msgid "%.s Unknown result code."
6723msgstr "" 6723msgstr ""
6724 6724
6725#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6726#, fuzzy
6727msgid "Waiting for child to exit.\n"
6728msgstr "Đang đợi các đồng đẳng kết nối"
6729
6730#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6731#, fuzzy, c-format
6732msgid "Spawning process `%s'\n"
6733msgstr "Đang bắt đầu tài về « %s »\n"
6734
6725#: src/testbed/gnunet-testbed-profiler.c:290 6735#: src/testbed/gnunet-testbed-profiler.c:290
6726msgid "tolerate COUNT number of continious timeout failures" 6736msgid "tolerate COUNT number of continious timeout failures"
6727msgstr "" 6737msgstr ""
@@ -6733,16 +6743,6 @@ msgid ""
6733"signal is received" 6743"signal is received"
6734msgstr "" 6744msgstr ""
6735 6745
6736#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6737#, fuzzy
6738msgid "Waiting for child to exit.\n"
6739msgstr "Đang đợi các đồng đẳng kết nối"
6740
6741#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6742#, fuzzy, c-format
6743msgid "Spawning process `%s'\n"
6744msgstr "Đang bắt đầu tài về « %s »\n"
6745
6746#: src/testbed/testbed_api.c:399 6746#: src/testbed/testbed_api.c:399
6747#, fuzzy, c-format 6747#, fuzzy, c-format
6748msgid "Adding host %u failed with error: %s\n" 6748msgid "Adding host %u failed with error: %s\n"
@@ -7082,6 +7082,10 @@ msgstr "Không thể tạo miền tên.\n"
7082msgid "GNUnet UNIX domain socket communicator" 7082msgid "GNUnet UNIX domain socket communicator"
7083msgstr "" 7083msgstr ""
7084 7084
7085#: src/transport/gnunet-service-transport_ats.c:137
7086msgid "# Addresses given to ATS"
7087msgstr ""
7088
7085#: src/transport/gnunet-service-transport.c:445 7089#: src/transport/gnunet-service-transport.c:445
7086#, fuzzy 7090#, fuzzy
7087msgid "# messages dropped due to slow client" 7091msgid "# messages dropped due to slow client"
@@ -7126,10 +7130,6 @@ msgstr "Không thể lấy địa chỉ của đồng đẳng « %s ».\n"
7126msgid "Adding blacklisting entry for peer `%s':`%s'\n" 7130msgid "Adding blacklisting entry for peer `%s':`%s'\n"
7127msgstr "" 7131msgstr ""
7128 7132
7129#: src/transport/gnunet-service-transport_ats.c:137
7130msgid "# Addresses given to ATS"
7131msgstr ""
7132
7133#: src/transport/gnunet-service-transport_hello.c:195 7133#: src/transport/gnunet-service-transport_hello.c:195
7134msgid "# refreshed my HELLO" 7134msgid "# refreshed my HELLO"
7135msgstr "" 7135msgstr ""
@@ -7469,46 +7469,6 @@ msgstr ""
7469msgid "# HELLOs given to peerinfo" 7469msgid "# HELLOs given to peerinfo"
7470msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n" 7470msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n"
7471 7471
7472#: src/transport/gnunet-transport-profiler.c:220
7473#, c-format
7474msgid "%llu B in %llu ms == %.2f KB/s!\n"
7475msgstr ""
7476
7477#: src/transport/gnunet-transport-profiler.c:577
7478msgid "send data to peer"
7479msgstr ""
7480
7481#: src/transport/gnunet-transport-profiler.c:581
7482#, fuzzy
7483msgid "receive data from peer"
7484msgstr "Yêu cầu cấp %d từ đồng đẳng %d\n"
7485
7486#: src/transport/gnunet-transport-profiler.c:586
7487#, fuzzy
7488msgid "iterations"
7489msgstr "Tùy chọn chung"
7490
7491#: src/transport/gnunet-transport-profiler.c:591
7492#, fuzzy
7493msgid "number of messages to send"
7494msgstr "số tin nhắn cần dùng mỗi lần lặp"
7495
7496#: src/transport/gnunet-transport-profiler.c:596
7497#, fuzzy
7498msgid "message size to use"
7499msgstr "kích cỡ tin nhắn"
7500
7501#: src/transport/gnunet-transport-profiler.c:601
7502#: src/transport/gnunet-transport.c:1404
7503msgid "peer identity"
7504msgstr ""
7505
7506#: src/transport/gnunet-transport-profiler.c:614
7507#: src/transport/gnunet-transport.c:1426
7508#, fuzzy
7509msgid "Direct access to transport service."
7510msgstr "Lỗi kết nối đến gnunetd.\n"
7511
7512#: src/transport/gnunet-transport.c:406 7472#: src/transport/gnunet-transport.c:406
7513#, fuzzy, c-format 7473#, fuzzy, c-format
7514msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n" 7474msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7648,6 +7608,11 @@ msgstr "In ra thông tin về các đồng đẳng GNUnet."
7648msgid "do not resolve hostnames" 7608msgid "do not resolve hostnames"
7649msgstr "không quyết định các tên máy" 7609msgstr "không quyết định các tên máy"
7650 7610
7611#: src/transport/gnunet-transport.c:1404
7612#: src/transport/gnunet-transport-profiler.c:601
7613msgid "peer identity"
7614msgstr ""
7615
7651#: src/transport/gnunet-transport.c:1408 7616#: src/transport/gnunet-transport.c:1408
7652msgid "monitor plugin sessions" 7617msgid "monitor plugin sessions"
7653msgstr "" 7618msgstr ""
@@ -7656,6 +7621,41 @@ msgstr ""
7656msgid "send data for benchmarking to the other peer (until CTRL-C)" 7621msgid "send data for benchmarking to the other peer (until CTRL-C)"
7657msgstr "" 7622msgstr ""
7658 7623
7624#: src/transport/gnunet-transport.c:1426
7625#: src/transport/gnunet-transport-profiler.c:614
7626#, fuzzy
7627msgid "Direct access to transport service."
7628msgstr "Lỗi kết nối đến gnunetd.\n"
7629
7630#: src/transport/gnunet-transport-profiler.c:220
7631#, c-format
7632msgid "%llu B in %llu ms == %.2f KB/s!\n"
7633msgstr ""
7634
7635#: src/transport/gnunet-transport-profiler.c:577
7636msgid "send data to peer"
7637msgstr ""
7638
7639#: src/transport/gnunet-transport-profiler.c:581
7640#, fuzzy
7641msgid "receive data from peer"
7642msgstr "Yêu cầu cấp %d từ đồng đẳng %d\n"
7643
7644#: src/transport/gnunet-transport-profiler.c:586
7645#, fuzzy
7646msgid "iterations"
7647msgstr "Tùy chọn chung"
7648
7649#: src/transport/gnunet-transport-profiler.c:591
7650#, fuzzy
7651msgid "number of messages to send"
7652msgstr "số tin nhắn cần dùng mỗi lần lặp"
7653
7654#: src/transport/gnunet-transport-profiler.c:596
7655#, fuzzy
7656msgid "message size to use"
7657msgstr "kích cỡ tin nhắn"
7658
7659#: src/transport/plugin_transport_http_client.c:1489 7659#: src/transport/plugin_transport_http_client.c:1489
7660#: src/transport/plugin_transport_http_server.c:2331 7660#: src/transport/plugin_transport_http_server.c:2331
7661#: src/transport/plugin_transport_http_server.c:3562 7661#: src/transport/plugin_transport_http_server.c:3562
@@ -7934,6 +7934,21 @@ msgstr ""
7934msgid "TCP transport advertises itself as being on port %llu\n" 7934msgid "TCP transport advertises itself as being on port %llu\n"
7935msgstr "" 7935msgstr ""
7936 7936
7937#: src/transport/plugin_transport_udp_broadcasting.c:169
7938#, fuzzy
7939msgid "# Multicast HELLO beacons received via UDP"
7940msgstr "# các thông báo PONG đã mật mã được nhận"
7941
7942#: src/transport/plugin_transport_udp_broadcasting.c:553
7943msgid ""
7944"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7945msgstr ""
7946
7947#: src/transport/plugin_transport_udp_broadcasting.c:571
7948#, c-format
7949msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7950msgstr ""
7951
7937#: src/transport/plugin_transport_udp.c:3169 7952#: src/transport/plugin_transport_udp.c:3169
7938#, c-format 7953#, c-format
7939msgid "" 7954msgid ""
@@ -7982,21 +7997,6 @@ msgstr "« %s » không sẵn sàng.\n"
7982msgid "Failed to create UDP network sockets\n" 7997msgid "Failed to create UDP network sockets\n"
7983msgstr "Không thể tạo miền tên.\n" 7998msgstr "Không thể tạo miền tên.\n"
7984 7999
7985#: src/transport/plugin_transport_udp_broadcasting.c:169
7986#, fuzzy
7987msgid "# Multicast HELLO beacons received via UDP"
7988msgstr "# các thông báo PONG đã mật mã được nhận"
7989
7990#: src/transport/plugin_transport_udp_broadcasting.c:553
7991msgid ""
7992"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7993msgstr ""
7994
7995#: src/transport/plugin_transport_udp_broadcasting.c:571
7996#, c-format
7997msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7998msgstr ""
7999
8000#: src/transport/plugin_transport_unix.c:1396 8000#: src/transport/plugin_transport_unix.c:1396
8001#, fuzzy, c-format 8001#, fuzzy, c-format
8002msgid "Cannot bind to `%s'\n" 8002msgid "Cannot bind to `%s'\n"
@@ -8084,17 +8084,17 @@ msgstr "Không đủ quyền cho « %s ».\n"
8084msgid "Accepting connection from `%s': %p\n" 8084msgid "Accepting connection from `%s': %p\n"
8085msgstr "" 8085msgstr ""
8086 8086
8087#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400 8087#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
8088#, fuzzy, c-format 8088#, fuzzy, c-format
8089msgid "`%s' failed for port %d (%s).\n" 8089msgid "`%s' failed for port %d (%s).\n"
8090msgstr "« %s » thất bại cho ổ đĩa « %s »: %u\n" 8090msgstr "« %s » thất bại cho ổ đĩa « %s »: %u\n"
8091 8091
8092#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412 8092#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
8093#, fuzzy, c-format 8093#, fuzzy, c-format
8094msgid "`%s' failed for port %d (%s): address already in use\n" 8094msgid "`%s' failed for port %d (%s): address already in use\n"
8095msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n" 8095msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n"
8096 8096
8097#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419 8097#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
8098#, fuzzy, c-format 8098#, fuzzy, c-format
8099msgid "`%s' failed for `%s': address already in use\n" 8099msgid "`%s' failed for `%s': address already in use\n"
8100msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n" 8100msgstr "« %s » bị lỗi cho cổng %d. Trình gnunetd có chạy chưa?\n"
@@ -8106,7 +8106,7 @@ msgid ""
8106"`GNUNET_SERVER_receive_done' after %s\n" 8106"`GNUNET_SERVER_receive_done' after %s\n"
8107msgstr "" 8107msgstr ""
8108 8108
8109#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837 8109#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
8110#, fuzzy, c-format 8110#, fuzzy, c-format
8111msgid "Unknown address family %d\n" 8111msgid "Unknown address family %d\n"
8112msgstr "\tKhông rõ miền tên « %s »\n" 8112msgstr "\tKhông rõ miền tên « %s »\n"
@@ -8116,23 +8116,23 @@ msgstr "\tKhông rõ miền tên « %s »\n"
8116msgid "Access from `%s' denied to service `%s'\n" 8116msgid "Access from `%s' denied to service `%s'\n"
8117msgstr "" 8117msgstr ""
8118 8118
8119#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950 8119#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
8120#, c-format 8120#, c-format
8121msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n" 8121msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
8122msgstr "" 8122msgstr ""
8123 8123
8124#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991 8124#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
8125#, c-format 8125#, c-format
8126msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n" 8126msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
8127msgstr "" 8127msgstr ""
8128 8128
8129#: src/transport/tcp_service_legacy.c:890 8129#: src/transport/tcp_service_legacy.c:890
8130#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480 8130#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
8131#, c-format 8131#, c-format
8132msgid "Specified value for `%s' of service `%s' is invalid\n" 8132msgid "Specified value for `%s' of service `%s' is invalid\n"
8133msgstr "" 8133msgstr ""
8134 8134
8135#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504 8135#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
8136#, c-format 8136#, c-format
8137msgid "Could not access pre-bound socket %u, will try to bind myself\n" 8137msgid "Could not access pre-bound socket %u, will try to bind myself\n"
8138msgstr "" 8138msgstr ""
@@ -8147,45 +8147,45 @@ msgstr "Lỗi chạy %s: %s %d\n"
8147msgid "Service `%s' runs at %s\n" 8147msgid "Service `%s' runs at %s\n"
8148msgstr "Đồng đẳng « %s » có mức tin cậy %8u\n" 8148msgstr "Đồng đẳng « %s » có mức tin cậy %8u\n"
8149 8149
8150#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750 8150#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
8151msgid "Service process failed to initialize\n" 8151msgid "Service process failed to initialize\n"
8152msgstr "" 8152msgstr ""
8153 8153
8154#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755 8154#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
8155msgid "Service process could not initialize server function\n" 8155msgid "Service process could not initialize server function\n"
8156msgstr "" 8156msgstr ""
8157 8157
8158#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760 8158#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
8159msgid "Service process failed to report status\n" 8159msgid "Service process failed to report status\n"
8160msgstr "" 8160msgstr ""
8161 8161
8162#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177 8162#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
8163#: src/util/service.c:1641 8163#: src/util/service.c:1638
8164#, c-format 8164#, c-format
8165msgid "Cannot obtain information about user `%s': %s\n" 8165msgid "Cannot obtain information about user `%s': %s\n"
8166msgstr "Không thể lấy thông tin về người dùng « %s »: %s\n" 8166msgstr "Không thể lấy thông tin về người dùng « %s »: %s\n"
8167 8167
8168#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643 8168#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
8169msgid "No such user" 8169msgid "No such user"
8170msgstr "Không có người dùng như vậy" 8170msgstr "Không có người dùng như vậy"
8171 8171
8172#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657 8172#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
8173#, c-format 8173#, c-format
8174msgid "Cannot change user/group to `%s': %s\n" 8174msgid "Cannot change user/group to `%s': %s\n"
8175msgstr "Không thể thay đổi người dùng/nhóm thành « %s »: %s\n" 8175msgstr "Không thể thay đổi người dùng/nhóm thành « %s »: %s\n"
8176 8176
8177#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999 8177#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
8178msgid "do daemonize (detach from terminal)" 8178msgid "do daemonize (detach from terminal)"
8179msgstr "" 8179msgstr ""
8180 8180
8181#: src/transport/tcp_service_legacy.c:1397 8181#: src/transport/tcp_service_legacy.c:1397
8182#: src/transport/transport-testing2.c:906 src/util/service.c:2073 8182#: src/transport/transport-testing2.c:906 src/util/service.c:2070
8183#: src/util/service.c:2085 8183#: src/util/service.c:2082
8184#, fuzzy, c-format 8184#, fuzzy, c-format
8185msgid "Malformed configuration file `%s', exit ...\n" 8185msgid "Malformed configuration file `%s', exit ...\n"
8186msgstr "Không thể lưu tập tin cấu hình « %s »:" 8186msgstr "Không thể lưu tập tin cấu hình « %s »:"
8187 8187
8188#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095 8188#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
8189#, fuzzy 8189#, fuzzy
8190msgid "Malformed configuration, exit ...\n" 8190msgid "Malformed configuration, exit ...\n"
8191msgstr "Không thể lưu tập tin cấu hình « %s »:" 8191msgstr "Không thể lưu tập tin cấu hình « %s »:"
@@ -8228,90 +8228,90 @@ msgstr ""
8228msgid "Metadata `%s' failed to deserialize" 8228msgid "Metadata `%s' failed to deserialize"
8229msgstr "" 8229msgstr ""
8230 8230
8231#: src/util/client.c:739 src/util/client.c:931 8231#: src/util/client.c:747 src/util/client.c:937
8232msgid "not a valid filename" 8232msgid "not a valid filename"
8233msgstr "" 8233msgstr ""
8234 8234
8235#: src/util/client.c:1097 8235#: src/util/client.c:1103
8236#, c-format 8236#, c-format
8237msgid "Need a non-empty hostname for service `%s'.\n" 8237msgid "Need a non-empty hostname for service `%s'.\n"
8238msgstr "" 8238msgstr ""
8239 8239
8240#: src/util/common_logging.c:259 src/util/common_logging.c:1116 8240#: src/util/common_logging.c:259 src/util/common_logging.c:1112
8241msgid "DEBUG" 8241msgid "DEBUG"
8242msgstr "GỠ LỖI" 8242msgstr "GỠ LỖI"
8243 8243
8244#: src/util/common_logging.c:261 src/util/common_logging.c:1114 8244#: src/util/common_logging.c:261 src/util/common_logging.c:1110
8245msgid "INFO" 8245msgid "INFO"
8246msgstr "TIN" 8246msgstr "TIN"
8247 8247
8248#: src/util/common_logging.c:263 src/util/common_logging.c:1112 8248#: src/util/common_logging.c:263 src/util/common_logging.c:1108
8249msgid "MESSAGE" 8249msgid "MESSAGE"
8250msgstr "" 8250msgstr ""
8251 8251
8252#: src/util/common_logging.c:265 src/util/common_logging.c:1110 8252#: src/util/common_logging.c:265 src/util/common_logging.c:1106
8253msgid "WARNING" 8253msgid "WARNING"
8254msgstr "CẢNH BÁO" 8254msgstr "CẢNH BÁO"
8255 8255
8256#: src/util/common_logging.c:267 src/util/common_logging.c:1108 8256#: src/util/common_logging.c:267 src/util/common_logging.c:1104
8257msgid "ERROR" 8257msgid "ERROR"
8258msgstr "LỖI" 8258msgstr "LỖI"
8259 8259
8260#: src/util/common_logging.c:269 src/util/common_logging.c:1118 8260#: src/util/common_logging.c:269 src/util/common_logging.c:1114
8261msgid "NONE" 8261msgid "NONE"
8262msgstr "" 8262msgstr ""
8263 8263
8264#: src/util/common_logging.c:630 src/util/common_logging.c:669 8264#: src/util/common_logging.c:626 src/util/common_logging.c:665
8265#, c-format 8265#, c-format
8266msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n" 8266msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
8267msgstr "" 8267msgstr ""
8268 8268
8269#: src/util/common_logging.c:906 8269#: src/util/common_logging.c:902
8270#, fuzzy, c-format 8270#, fuzzy, c-format
8271msgid "Message `%.*s' repeated %u times in the last %s\n" 8271msgid "Message `%.*s' repeated %u times in the last %s\n"
8272msgstr "Thông điệp « %.*s » đã lặp lại %u lần trong %llu giây trước\n" 8272msgstr "Thông điệp « %.*s » đã lặp lại %u lần trong %llu giây trước\n"
8273 8273
8274#: src/util/common_logging.c:1119 8274#: src/util/common_logging.c:1115
8275msgid "INVALID" 8275msgid "INVALID"
8276msgstr "" 8276msgstr ""
8277 8277
8278#: src/util/common_logging.c:1400 8278#: src/util/common_logging.c:1396
8279msgid "unknown address" 8279msgid "unknown address"
8280msgstr "" 8280msgstr ""
8281 8281
8282#: src/util/common_logging.c:1445 8282#: src/util/common_logging.c:1441
8283msgid "invalid address" 8283msgid "invalid address"
8284msgstr "" 8284msgstr ""
8285 8285
8286#: src/util/common_logging.c:1464 8286#: src/util/common_logging.c:1460
8287#, fuzzy, c-format 8287#, fuzzy, c-format
8288msgid "Configuration fails to specify option `%s' in section `%s'!\n" 8288msgid "Configuration fails to specify option `%s' in section `%s'!\n"
8289msgstr "" 8289msgstr ""
8290"Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n" 8290"Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n"
8291 8291
8292#: src/util/common_logging.c:1487 8292#: src/util/common_logging.c:1483
8293#, fuzzy, c-format 8293#, fuzzy, c-format
8294msgid "" 8294msgid ""
8295"Configuration specifies invalid value for option `%s' in section `%s': %s\n" 8295"Configuration specifies invalid value for option `%s' in section `%s': %s\n"
8296msgstr "" 8296msgstr ""
8297"Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n" 8297"Cấu hình không thỏa mãn các ràng buộc của tập tin đặc tả cấu hình « %s ».\n"
8298 8298
8299#: src/util/configuration.c:325 8299#: src/util/configuration.c:402
8300#, fuzzy, c-format 8300#, fuzzy, c-format
8301msgid "Syntax error while deserializing in line %u\n" 8301msgid "Syntax error while deserializing in line %u\n"
8302msgstr "Gặp lỗi cú pháp trong tập tin cấu hình « %s » tại dòng %d.\n" 8302msgstr "Gặp lỗi cú pháp trong tập tin cấu hình « %s » tại dòng %d.\n"
8303 8303
8304#: src/util/configuration.c:383 8304#: src/util/configuration.c:460
8305#, fuzzy, c-format 8305#, fuzzy, c-format
8306msgid "Error while reading file `%s'\n" 8306msgid "Error while reading file `%s'\n"
8307msgstr "Gặp lỗi khi tải xuống: %s\n" 8307msgstr "Gặp lỗi khi tải xuống: %s\n"
8308 8308
8309#: src/util/configuration.c:986 8309#: src/util/configuration.c:1063
8310#, fuzzy 8310#, fuzzy
8311msgid "Not a valid relative time specification" 8311msgid "Not a valid relative time specification"
8312msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n" 8312msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
8313 8313
8314#: src/util/configuration.c:1077 8314#: src/util/configuration.c:1154
8315#, c-format 8315#, c-format
8316msgid "" 8316msgid ""
8317"Configuration value '%s' for '%s' in section '%s' is not in set of legal " 8317"Configuration value '%s' for '%s' in section '%s' is not in set of legal "
@@ -8320,17 +8320,17 @@ msgstr ""
8320"Giá trị cấu hình « %s » cho « %s » trong phần « %s » không phải nằm trong " 8320"Giá trị cấu hình « %s » cho « %s » trong phần « %s » không phải nằm trong "
8321"tập hợp các sự chọn được phép\n" 8321"tập hợp các sự chọn được phép\n"
8322 8322
8323#: src/util/configuration.c:1192 8323#: src/util/configuration.c:1269
8324#, c-format 8324#, c-format
8325msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n" 8325msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
8326msgstr "" 8326msgstr ""
8327 8327
8328#: src/util/configuration.c:1224 8328#: src/util/configuration.c:1301
8329#, fuzzy, c-format 8329#, fuzzy, c-format
8330msgid "Missing closing `%s' in option `%s'\n" 8330msgid "Missing closing `%s' in option `%s'\n"
8331msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n" 8331msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
8332 8332
8333#: src/util/configuration.c:1290 8333#: src/util/configuration.c:1367
8334#, c-format 8334#, c-format
8335msgid "" 8335msgid ""
8336"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined " 8336"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8394,7 +8394,7 @@ msgstr "libgcrypt không có phiên bản mong đợi (yêu cầu phiên bản %
8394msgid "RSA signing failed at %s:%d: %s\n" 8394msgid "RSA signing failed at %s:%d: %s\n"
8395msgstr "%s bị lỗi tại %s:%d: « %s »\n" 8395msgstr "%s bị lỗi tại %s:%d: « %s »\n"
8396 8396
8397#: src/util/crypto_rsa.c:1313 8397#: src/util/crypto_rsa.c:1314
8398#, c-format 8398#, c-format
8399msgid "RSA signature verification failed at %s:%d: %s\n" 8399msgid "RSA signature verification failed at %s:%d: %s\n"
8400msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n" 8400msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n"
@@ -8500,11 +8500,11 @@ msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy chọn « %s
8500msgid "Missing mandatory option `%s'.\n" 8500msgid "Missing mandatory option `%s'.\n"
8501msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n" 8501msgstr "Giá trị cấu hình « %s » cho « %s » trong phần « %s » nên là con số\n"
8502 8502
8503#: src/util/getopt_helpers.c:68 8503#: src/util/getopt_helpers.c:69
8504msgid "print the version number" 8504msgid "print the version number"
8505msgstr "hiển thị số thứ tự phiên bản" 8505msgstr "hiển thị số thứ tự phiên bản"
8506 8506
8507#: src/util/getopt_helpers.c:114 8507#: src/util/getopt_helpers.c:116
8508#, c-format 8508#, c-format
8509msgid "" 8509msgid ""
8510"Arguments mandatory for long options are also mandatory for short options.\n" 8510"Arguments mandatory for long options are also mandatory for short options.\n"
@@ -8512,55 +8512,63 @@ msgstr ""
8512"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn " 8512"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn "
8513"ngắn.\n" 8513"ngắn.\n"
8514 8514
8515#: src/util/getopt_helpers.c:205 8515#: src/util/getopt_helpers.c:208
8516msgid "print this help" 8516msgid "print this help"
8517msgstr "hiển thị trợ giúp này" 8517msgstr "hiển thị trợ giúp này"
8518 8518
8519#: src/util/getopt_helpers.c:281 8519#: src/util/getopt_helpers.c:288
8520msgid "be verbose" 8520msgid "be verbose"
8521msgstr "xuất chi tiết" 8521msgstr "xuất chi tiết"
8522 8522
8523#: src/util/getopt_helpers.c:417 8523#: src/util/getopt_helpers.c:429
8524msgid "configure logging to use LOGLEVEL" 8524msgid "configure logging to use LOGLEVEL"
8525msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU" 8525msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU"
8526 8526
8527#: src/util/getopt_helpers.c:495 8527#: src/util/getopt_helpers.c:510
8528#, fuzzy 8528#, fuzzy
8529msgid "configure logging to write logs to FILENAME" 8529msgid "configure logging to write logs to FILENAME"
8530msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU" 8530msgstr "cấu hình chức năng ghi sự kiện để dùng CẤP_GHI_LƯU"
8531 8531
8532#: src/util/getopt_helpers.c:516 8532#: src/util/getopt_helpers.c:532
8533#, fuzzy 8533#, fuzzy
8534msgid "use configuration file FILENAME" 8534msgid "use configuration file FILENAME"
8535msgstr "cập nhật một giá trị trong tập tin cấu hình" 8535msgstr "cập nhật một giá trị trong tập tin cấu hình"
8536 8536
8537#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747 8537#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
8538#: src/util/getopt_helpers.c:810 8538#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
8539#, c-format 8539#, c-format
8540msgid "You must pass a number to the `%s' option.\n" 8540msgid "You must pass a number to the `%s' option.\n"
8541msgstr "Phải gửi một con số cho tùy chọn « %s ».\n" 8541msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
8542 8542
8543#: src/util/getopt_helpers.c:612 8543#: src/util/getopt_helpers.c:659
8544msgid "[+/-]MICROSECONDS"
8545msgstr ""
8546
8547#: src/util/getopt_helpers.c:661
8548msgid "modify system time by given offset (for debugging/testing only)"
8549msgstr ""
8550
8551#: src/util/getopt_helpers.c:696
8544#, fuzzy, c-format 8552#, fuzzy, c-format
8545msgid "You must pass relative time to the `%s' option.\n" 8553msgid "You must pass relative time to the `%s' option.\n"
8546msgstr "Phải gửi một con số cho tùy chọn « %s ».\n" 8554msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
8547 8555
8548#: src/util/getopt_helpers.c:675 8556#: src/util/getopt_helpers.c:761
8549#, fuzzy, c-format 8557#, fuzzy, c-format
8550msgid "You must pass absolute time to the `%s' option.\n" 8558msgid "You must pass absolute time to the `%s' option.\n"
8551msgstr "Phải gửi một con số cho tùy chọn « %s ».\n" 8559msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
8552 8560
8553#: src/util/getopt_helpers.c:740 8561#: src/util/getopt_helpers.c:828
8554#, c-format 8562#, c-format
8555msgid "Your input for the '%s' option has to be a non negative number \n" 8563msgid "Your input for the '%s' option has to be a non negative number\n"
8556msgstr "" 8564msgstr ""
8557 8565
8558#: src/util/getopt_helpers.c:817 8566#: src/util/getopt_helpers.c:907
8559#, fuzzy, c-format 8567#, fuzzy, c-format
8560msgid "You must pass a number below %u to the `%s' option.\n" 8568msgid "You must pass a number below %u to the `%s' option.\n"
8561msgstr "Phải gửi một con số cho tùy chọn « %s ».\n" 8569msgstr "Phải gửi một con số cho tùy chọn « %s ».\n"
8562 8570
8563#: src/util/getopt_helpers.c:902 8571#: src/util/getopt_helpers.c:994
8564#, c-format 8572#, c-format
8565msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n" 8573msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
8566msgstr "" 8574msgstr ""
@@ -8897,14 +8905,14 @@ msgstr ""
8897msgid "Could not resolve our FQDN: %s\n" 8905msgid "Could not resolve our FQDN: %s\n"
8898msgstr "Không thể giải quyết « %s » (%s): %s\n" 8906msgstr "Không thể giải quyết « %s » (%s): %s\n"
8899 8907
8900#: src/util/service.c:657 8908#: src/util/service.c:654
8901#, c-format 8909#, c-format
8902msgid "" 8910msgid ""
8903"Processing code for message of type %u did not call " 8911"Processing code for message of type %u did not call "
8904"`GNUNET_SERVICE_client_continue' after %s\n" 8912"`GNUNET_SERVICE_client_continue' after %s\n"
8905msgstr "" 8913msgstr ""
8906 8914
8907#: src/util/service.c:1572 8915#: src/util/service.c:1569
8908msgid "" 8916msgid ""
8909"Could not bind to any of the ports I was supposed to, refusing to run!\n" 8917"Could not bind to any of the ports I was supposed to, refusing to run!\n"
8910msgstr "" 8918msgstr ""
@@ -9225,8 +9233,8 @@ msgstr "# các byte đã nhận qua UDP"
9225msgid "Setup tunnels via VPN." 9233msgid "Setup tunnels via VPN."
9226msgstr "" 9234msgstr ""
9227 9235
9228#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9229#: src/zonemaster/gnunet-service-zonemaster.c:849 9236#: src/zonemaster/gnunet-service-zonemaster.c:849
9237#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
9230#, fuzzy 9238#, fuzzy
9231msgid "Failed to connect to the namestore!\n" 9239msgid "Failed to connect to the namestore!\n"
9232msgstr "Không kết nối được đến trình nền gnunetd." 9240msgstr "Không kết nối được đến trình nền gnunetd."
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f2889d502..66c21260f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: gnunet-0.8.1\n" 8"Project-Id-Version: gnunet-0.8.1\n"
9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" 9"Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n"
10"POT-Creation-Date: 2020-01-13 14:01+0000\n" 10"POT-Creation-Date: 2020-02-13 20:41+0100\n"
11"PO-Revision-Date: 2011-07-09 12:12+0800\n" 11"PO-Revision-Date: 2011-07-09 12:12+0800\n"
12"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" 12"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
13"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" 13"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -27,8 +27,8 @@ msgid "Issuer public key `%s' is not well-formed\n"
27msgstr "“%s”的参数无效。\n" 27msgstr "“%s”的参数无效。\n"
28 28
29#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747 29#: src/abd/gnunet-abd.c:558 src/abd/gnunet-service-abd.c:1747
30#: src/namestore/gnunet-namestore-fcfsd.c:1153
31#: src/namestore/gnunet-namestore.c:1001 30#: src/namestore/gnunet-namestore.c:1001
31#: src/namestore/gnunet-namestore-fcfsd.c:1153
32#, fuzzy, c-format 32#, fuzzy, c-format
33msgid "Failed to connect to namestore\n" 33msgid "Failed to connect to namestore\n"
34msgstr "初始化“%s”服务失败。\n" 34msgstr "初始化“%s”服务失败。\n"
@@ -138,7 +138,7 @@ msgstr ""
138msgid "GNUnet abd resolver tool" 138msgid "GNUnet abd resolver tool"
139msgstr "GNUnet 错误日志" 139msgstr "GNUnet 错误日志"
140 140
141#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:288 141#: src/abd/gnunet-service-abd.c:1742 src/gns/gnunet-gns.c:292
142#, fuzzy, c-format 142#, fuzzy, c-format
143msgid "Failed to connect to GNS\n" 143msgid "Failed to connect to GNS\n"
144msgstr "初始化“%s”服务失败。\n" 144msgstr "初始化“%s”服务失败。\n"
@@ -377,28 +377,28 @@ msgstr ""
377#: src/transport/plugin_transport_tcp.c:1129 377#: src/transport/plugin_transport_tcp.c:1129
378#: src/transport/plugin_transport_tcp.c:3706 378#: src/transport/plugin_transport_tcp.c:3706
379#: src/transport/tcp_service_legacy.c:594 379#: src/transport/tcp_service_legacy.c:594
380#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1094 380#: src/transport/tcp_service_legacy.c:600 src/util/service.c:1091
381#: src/util/service.c:1100 381#: src/util/service.c:1097
382#, c-format 382#, c-format
383msgid "Require valid port number for service `%s' in configuration!\n" 383msgid "Require valid port number for service `%s' in configuration!\n"
384msgstr "" 384msgstr ""
385 385
386#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163 386#: src/arm/gnunet-service-arm.c:452 src/transport/plugin_transport_tcp.c:1163
387#: src/transport/tcp_service_legacy.c:634 src/util/client.c:519 387#: src/transport/tcp_service_legacy.c:634 src/util/client.c:527
388#: src/util/service.c:1133 388#: src/util/service.c:1130
389#, c-format 389#, c-format
390msgid "UNIXPATH `%s' too long, maximum length is %llu\n" 390msgid "UNIXPATH `%s' too long, maximum length is %llu\n"
391msgstr "" 391msgstr ""
392 392
393#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167 393#: src/arm/gnunet-service-arm.c:456 src/transport/plugin_transport_tcp.c:1167
394#: src/transport/tcp_service_legacy.c:638 src/util/client.c:524 394#: src/transport/tcp_service_legacy.c:638 src/util/client.c:532
395#: src/util/service.c:1137 395#: src/util/service.c:1134
396#, fuzzy, c-format 396#, fuzzy, c-format
397msgid "Using `%s' instead\n" 397msgid "Using `%s' instead\n"
398msgstr "%s:选项“%s”有歧义\n" 398msgstr "%s:选项“%s”有歧义\n"
399 399
400#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195 400#: src/arm/gnunet-service-arm.c:484 src/transport/plugin_transport_tcp.c:1195
401#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1157 401#: src/transport/tcp_service_legacy.c:666 src/util/service.c:1154
402#, c-format 402#, c-format
403msgid "" 403msgid ""
404"Disabling UNIX domain socket support for service `%s', failed to create UNIX " 404"Disabling UNIX domain socket support for service `%s', failed to create UNIX "
@@ -406,7 +406,7 @@ msgid ""
406msgstr "" 406msgstr ""
407 407
408#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213 408#: src/arm/gnunet-service-arm.c:505 src/transport/plugin_transport_tcp.c:1213
409#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1175 409#: src/transport/tcp_service_legacy.c:684 src/util/service.c:1172
410#, c-format 410#, c-format
411msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n" 411msgid "Have neither PORT nor UNIXPATH for service `%s', but one is required\n"
412msgstr "" 412msgstr ""
@@ -414,7 +414,7 @@ msgstr ""
414#: src/arm/gnunet-service-arm.c:536 414#: src/arm/gnunet-service-arm.c:536
415#: src/transport/plugin_transport_http_server.c:2718 415#: src/transport/plugin_transport_http_server.c:2718
416#: src/transport/plugin_transport_tcp.c:1244 416#: src/transport/plugin_transport_tcp.c:1244
417#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1206 417#: src/transport/tcp_service_legacy.c:715 src/util/service.c:1203
418#, fuzzy, c-format 418#, fuzzy, c-format
419msgid "Failed to resolve `%s': %s\n" 419msgid "Failed to resolve `%s': %s\n"
420msgstr "打开日志文件“%s”失败:%s\n" 420msgstr "打开日志文件“%s”失败:%s\n"
@@ -422,7 +422,7 @@ msgstr "打开日志文件“%s”失败:%s\n"
422#: src/arm/gnunet-service-arm.c:555 422#: src/arm/gnunet-service-arm.c:555
423#: src/transport/plugin_transport_http_server.c:2736 423#: src/transport/plugin_transport_http_server.c:2736
424#: src/transport/plugin_transport_tcp.c:1263 424#: src/transport/plugin_transport_tcp.c:1263
425#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1225 425#: src/transport/tcp_service_legacy.c:734 src/util/service.c:1222
426#, fuzzy, c-format 426#, fuzzy, c-format
427msgid "Failed to find %saddress for `%s'.\n" 427msgid "Failed to find %saddress for `%s'.\n"
428msgstr "找不到接口“%s”的一个 IP 地址。\n" 428msgstr "找不到接口“%s”的一个 IP 地址。\n"
@@ -494,15 +494,83 @@ msgstr ""
494msgid "Initiating shutdown as requested by client.\n" 494msgid "Initiating shutdown as requested by client.\n"
495msgstr "" 495msgstr ""
496 496
497#: src/ats-tests/ats-testing-log.c:896 497#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
498msgid "Stop logging\n" 498#, c-format
499msgid ""
500"Could not load quota for network `%s': `%s', assigning default bandwidth "
501"%llu\n"
499msgstr "" 502msgstr ""
500 503
501#: src/ats-tests/ats-testing-log.c:952 504#: src/ats/gnunet-ats-solver-eval.c:3011
502#, fuzzy, c-format 505#, c-format
503msgid "Start logging `%s'\n" 506msgid ""
507"No outbound quota configured for network `%s', assigning default bandwidth "
508"%llu\n"
509msgstr ""
510
511#: src/ats/gnunet-ats-solver-eval.c:3063
512#, c-format
513msgid ""
514"No outbound quota configure for network `%s', assigning default bandwidth "
515"%llu\n"
516msgstr ""
517
518#: src/ats/gnunet-ats-solver-eval.c:3552 src/ats-tests/gnunet-solver-eval.c:997
519msgid "solver to use"
520msgstr ""
521
522#: src/ats/gnunet-ats-solver-eval.c:3557
523#: src/ats-tests/gnunet-solver-eval.c:1003
524#: src/ats-tests/gnunet-solver-eval.c:1008
525msgid "experiment to use"
526msgstr ""
527
528#: src/ats/gnunet-ats-solver-eval.c:3564
529#, fuzzy
530msgid "print logging"
504msgstr "未知的命令“%s”。\n" 531msgstr "未知的命令“%s”。\n"
505 532
533#: src/ats/gnunet-ats-solver-eval.c:3569
534msgid "save logging to disk"
535msgstr ""
536
537#: src/ats/gnunet-ats-solver-eval.c:3574
538msgid "disable normalization"
539msgstr ""
540
541#: src/ats/gnunet-service-ats_plugins.c:326
542#, c-format
543msgid ""
544"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
545"%llu\n"
546msgstr ""
547
548#: src/ats/gnunet-service-ats_plugins.c:336
549#, c-format
550msgid "%s quota configured for network `%s' is %llu\n"
551msgstr ""
552
553#: src/ats/gnunet-service-ats_plugins.c:382
554#, c-format
555msgid ""
556"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
557msgstr ""
558
559#: src/ats/gnunet-service-ats_plugins.c:474
560#, fuzzy, c-format
561msgid "Failed to initialize solver `%s'!\n"
562msgstr "无法初始化 SQLite:%s。\n"
563
564#: src/ats/plugin_ats_proportional.c:1140
565#, fuzzy, c-format
566msgid "Invalid %s configuration %f \n"
567msgstr "解析配置文件“%s”失败\n"
568
569#: src/ats/plugin_ats_proportional.c:1163
570#, fuzzy, c-format
571msgid "Invalid %s configuration %f\n"
572msgstr "解析配置文件“%s”失败\n"
573
506#: src/ats-tests/ats-testing.c:420 574#: src/ats-tests/ats-testing.c:420
507#, c-format 575#, c-format
508msgid "Connected master [%u] with slave [%u]\n" 576msgid "Connected master [%u] with slave [%u]\n"
@@ -513,6 +581,15 @@ msgstr ""
513msgid "Failed to connect master peer [%u] with slave [%u]\n" 581msgid "Failed to connect master peer [%u] with slave [%u]\n"
514msgstr "初始化“%s”服务失败。\n" 582msgstr "初始化“%s”服务失败。\n"
515 583
584#: src/ats-tests/ats-testing-log.c:896
585msgid "Stop logging\n"
586msgstr ""
587
588#: src/ats-tests/ats-testing-log.c:952
589#, fuzzy, c-format
590msgid "Start logging `%s'\n"
591msgstr "未知的命令“%s”。\n"
592
516#: src/ats-tests/gnunet-ats-sim.c:92 593#: src/ats-tests/gnunet-ats-sim.c:92
517#, c-format 594#, c-format
518msgid "" 595msgid ""
@@ -520,16 +597,6 @@ msgid ""
520"= %u KiB/s\n" 597"= %u KiB/s\n"
521msgstr "" 598msgstr ""
522 599
523#: src/ats-tests/gnunet-solver-eval.c:997 src/ats/gnunet-ats-solver-eval.c:3552
524msgid "solver to use"
525msgstr ""
526
527#: src/ats-tests/gnunet-solver-eval.c:1003
528#: src/ats-tests/gnunet-solver-eval.c:1008
529#: src/ats/gnunet-ats-solver-eval.c:3557
530msgid "experiment to use"
531msgstr ""
532
533#: src/ats-tool/gnunet-ats.c:299 600#: src/ats-tool/gnunet-ats.c:299
534#, c-format 601#, c-format
535msgid "%u address resolutions had a timeout\n" 602msgid "%u address resolutions had a timeout\n"
@@ -651,73 +718,6 @@ msgstr ""
651msgid "Print information about ATS state" 718msgid "Print information about ATS state"
652msgstr "无法获取有关用户“%s”的信息:%s\n" 719msgstr "无法获取有关用户“%s”的信息:%s\n"
653 720
654#: src/ats/gnunet-ats-solver-eval.c:2992 src/ats/gnunet-ats-solver-eval.c:3044
655#, c-format
656msgid ""
657"Could not load quota for network `%s': `%s', assigning default bandwidth "
658"%llu\n"
659msgstr ""
660
661#: src/ats/gnunet-ats-solver-eval.c:3011
662#, c-format
663msgid ""
664"No outbound quota configured for network `%s', assigning default bandwidth "
665"%llu\n"
666msgstr ""
667
668#: src/ats/gnunet-ats-solver-eval.c:3063
669#, c-format
670msgid ""
671"No outbound quota configure for network `%s', assigning default bandwidth "
672"%llu\n"
673msgstr ""
674
675#: src/ats/gnunet-ats-solver-eval.c:3564
676#, fuzzy
677msgid "print logging"
678msgstr "未知的命令“%s”。\n"
679
680#: src/ats/gnunet-ats-solver-eval.c:3569
681msgid "save logging to disk"
682msgstr ""
683
684#: src/ats/gnunet-ats-solver-eval.c:3574
685msgid "disable normalization"
686msgstr ""
687
688#: src/ats/gnunet-service-ats_plugins.c:326
689#, c-format
690msgid ""
691"Could not load %s quota for network `%s': `%s', assigning default bandwidth "
692"%llu\n"
693msgstr ""
694
695#: src/ats/gnunet-service-ats_plugins.c:336
696#, c-format
697msgid "%s quota configured for network `%s' is %llu\n"
698msgstr ""
699
700#: src/ats/gnunet-service-ats_plugins.c:382
701#, c-format
702msgid ""
703"No %s-quota configured for network `%s', assigning default bandwidth %llu\n"
704msgstr ""
705
706#: src/ats/gnunet-service-ats_plugins.c:474
707#, fuzzy, c-format
708msgid "Failed to initialize solver `%s'!\n"
709msgstr "无法初始化 SQLite:%s。\n"
710
711#: src/ats/plugin_ats_proportional.c:1140
712#, fuzzy, c-format
713msgid "Invalid %s configuration %f \n"
714msgstr "解析配置文件“%s”失败\n"
715
716#: src/ats/plugin_ats_proportional.c:1163
717#, fuzzy, c-format
718msgid "Invalid %s configuration %f\n"
719msgstr "解析配置文件“%s”失败\n"
720
721#: src/auction/gnunet-auction-create.c:163 721#: src/auction/gnunet-auction-create.c:163
722msgid "description of the item to be sold" 722msgid "description of the item to be sold"
723msgstr "" 723msgstr ""
@@ -850,28 +850,6 @@ msgstr ""
850msgid "Connection to conversation service lost, trying to reconnect\n" 850msgid "Connection to conversation service lost, trying to reconnect\n"
851msgstr "" 851msgstr ""
852 852
853#: src/conversation/gnunet-conversation-test.c:120
854#, c-format
855msgid ""
856"\n"
857"End of transmission. Have a GNU day.\n"
858msgstr ""
859
860#: src/conversation/gnunet-conversation-test.c:146
861#, c-format
862msgid ""
863"\n"
864"We are now playing your recording back. If you can hear it, your audio "
865"settings are working..."
866msgstr ""
867
868#: src/conversation/gnunet-conversation-test.c:218
869#, c-format
870msgid ""
871"We will now be recording you for %s. After that time, the recording will be "
872"played back to you..."
873msgstr ""
874
875#: src/conversation/gnunet-conversation.c:264 853#: src/conversation/gnunet-conversation.c:264
876#, c-format 854#, c-format
877msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n" 855msgid "Incoming call from `%s'. Please /accept %u or /cancel %u the call.\n"
@@ -1130,8 +1108,30 @@ msgstr ""
1130msgid "Enables having a conversation with other GNUnet users." 1108msgid "Enables having a conversation with other GNUnet users."
1131msgstr "" 1109msgstr ""
1132 1110
1133#: src/conversation/gnunet-helper-audio-playback-gst.c:363 1111#: src/conversation/gnunet-conversation-test.c:120
1112#, c-format
1113msgid ""
1114"\n"
1115"End of transmission. Have a GNU day.\n"
1116msgstr ""
1117
1118#: src/conversation/gnunet-conversation-test.c:146
1119#, c-format
1120msgid ""
1121"\n"
1122"We are now playing your recording back. If you can hear it, your audio "
1123"settings are working..."
1124msgstr ""
1125
1126#: src/conversation/gnunet-conversation-test.c:218
1127#, c-format
1128msgid ""
1129"We will now be recording you for %s. After that time, the recording will be "
1130"played back to you..."
1131msgstr ""
1132
1134#: src/conversation/gnunet_gst.c:664 1133#: src/conversation/gnunet_gst.c:664
1134#: src/conversation/gnunet-helper-audio-playback-gst.c:363
1135#, c-format 1135#, c-format
1136msgid "Read error from STDIN: %d %s\n" 1136msgid "Read error from STDIN: %d %s\n"
1137msgstr "" 1137msgstr ""
@@ -1913,17 +1913,17 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n"
1913msgid "Mysql database running\n" 1913msgid "Mysql database running\n"
1914msgstr "" 1914msgstr ""
1915 1915
1916#: src/datastore/plugin_datastore_postgres.c:277 1916#: src/datastore/plugin_datastore_postgres.c:278
1917#: src/datastore/plugin_datastore_postgres.c:890 1917#: src/datastore/plugin_datastore_postgres.c:891
1918msgid "Postgress exec failure" 1918msgid "Postgress exec failure"
1919msgstr "" 1919msgstr ""
1920 1920
1921#: src/datastore/plugin_datastore_postgres.c:851 1921#: src/datastore/plugin_datastore_postgres.c:852
1922#, fuzzy 1922#, fuzzy
1923msgid "Failed to drop table from database.\n" 1923msgid "Failed to drop table from database.\n"
1924msgstr "发送消息失败。\n" 1924msgstr "发送消息失败。\n"
1925 1925
1926#: src/datastore/plugin_datastore_postgres.c:949 1926#: src/datastore/plugin_datastore_postgres.c:950
1927msgid "Postgres database running\n" 1927msgid "Postgres database running\n"
1928msgstr "" 1928msgstr ""
1929 1929
@@ -2032,6 +2032,54 @@ msgstr ""
2032msgid "Prints all packets that go through the DHT." 2032msgid "Prints all packets that go through the DHT."
2033msgstr "" 2033msgstr ""
2034 2034
2035#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2036#, fuzzy, c-format
2037msgid "Exiting as the number of peers is %u\n"
2038msgstr "增加 TCP/IP 的最大连接数"
2039
2040#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2041#, fuzzy
2042msgid "number of peers to start"
2043msgstr "迭代次数"
2044
2045#: src/dht/gnunet_dht_profiler.c:961
2046msgid "number of PUTs to perform per peer"
2047msgstr ""
2048
2049#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2050#: src/testbed/gnunet-testbed-profiler.c:305
2051msgid "name of the file with the login information for the testbed"
2052msgstr ""
2053
2054#: src/dht/gnunet_dht_profiler.c:973
2055msgid "delay between rounds for collecting statistics (default: 30 sec)"
2056msgstr ""
2057
2058#: src/dht/gnunet_dht_profiler.c:979
2059msgid "delay to start doing PUTs (default: 1 sec)"
2060msgstr ""
2061
2062#: src/dht/gnunet_dht_profiler.c:985
2063msgid "delay to start doing GETs (default: 5 min)"
2064msgstr ""
2065
2066#: src/dht/gnunet_dht_profiler.c:990
2067msgid "replication degree for DHT PUTs"
2068msgstr ""
2069
2070#: src/dht/gnunet_dht_profiler.c:996
2071msgid "chance that a peer is selected at random for PUTs"
2072msgstr ""
2073
2074#: src/dht/gnunet_dht_profiler.c:1002
2075msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2076msgstr ""
2077
2078#: src/dht/gnunet_dht_profiler.c:1023
2079#, fuzzy
2080msgid "Measure quality and performance of the DHT service."
2081msgstr "无法访问该服务"
2082
2035#: src/dht/gnunet-dht-put.c:133 2083#: src/dht/gnunet-dht-put.c:133
2036msgid "Must provide KEY and DATA for DHT put!\n" 2084msgid "Must provide KEY and DATA for DHT put!\n"
2037msgstr "" 2085msgstr ""
@@ -2277,54 +2325,6 @@ msgstr ""
2277msgid "# DHT requests combined" 2325msgid "# DHT requests combined"
2278msgstr "" 2326msgstr ""
2279 2327
2280#: src/dht/gnunet_dht_profiler.c:922 src/testbed/gnunet-testbed-profiler.c:255
2281#, fuzzy, c-format
2282msgid "Exiting as the number of peers is %u\n"
2283msgstr "增加 TCP/IP 的最大连接数"
2284
2285#: src/dht/gnunet_dht_profiler.c:955 src/rps/gnunet-rps-profiler.c:3194
2286#, fuzzy
2287msgid "number of peers to start"
2288msgstr "迭代次数"
2289
2290#: src/dht/gnunet_dht_profiler.c:961
2291msgid "number of PUTs to perform per peer"
2292msgstr ""
2293
2294#: src/dht/gnunet_dht_profiler.c:967 src/nse/gnunet-nse-profiler.c:872
2295#: src/testbed/gnunet-testbed-profiler.c:305
2296msgid "name of the file with the login information for the testbed"
2297msgstr ""
2298
2299#: src/dht/gnunet_dht_profiler.c:973
2300msgid "delay between rounds for collecting statistics (default: 30 sec)"
2301msgstr ""
2302
2303#: src/dht/gnunet_dht_profiler.c:979
2304msgid "delay to start doing PUTs (default: 1 sec)"
2305msgstr ""
2306
2307#: src/dht/gnunet_dht_profiler.c:985
2308msgid "delay to start doing GETs (default: 5 min)"
2309msgstr ""
2310
2311#: src/dht/gnunet_dht_profiler.c:990
2312msgid "replication degree for DHT PUTs"
2313msgstr ""
2314
2315#: src/dht/gnunet_dht_profiler.c:996
2316msgid "chance that a peer is selected at random for PUTs"
2317msgstr ""
2318
2319#: src/dht/gnunet_dht_profiler.c:1002
2320msgid "timeout for DHT PUT and GET requests (default: 1 min)"
2321msgstr ""
2322
2323#: src/dht/gnunet_dht_profiler.c:1023
2324#, fuzzy
2325msgid "Measure quality and performance of the DHT service."
2326msgstr "无法访问该服务"
2327
2328#: src/dht/plugin_block_dht.c:189 2328#: src/dht/plugin_block_dht.c:189
2329#, c-format 2329#, c-format
2330msgid "Block not of type %u\n" 2330msgid "Block not of type %u\n"
@@ -3244,6 +3244,14 @@ msgid ""
3244"chk/...)" 3244"chk/...)"
3245msgstr "" 3245msgstr ""
3246 3246
3247#: src/fs/gnunet-fs.c:128
3248msgid "print a list of all indexed files"
3249msgstr ""
3250
3251#: src/fs/gnunet-fs.c:141
3252msgid "Special file-sharing operations"
3253msgstr ""
3254
3247#: src/fs/gnunet-fs-profiler.c:211 3255#: src/fs/gnunet-fs-profiler.c:211
3248msgid "run the experiment with COUNT peers" 3256msgid "run the experiment with COUNT peers"
3249msgstr "" 3257msgstr ""
@@ -3260,14 +3268,6 @@ msgstr ""
3260msgid "run a testbed to measure file-sharing performance" 3268msgid "run a testbed to measure file-sharing performance"
3261msgstr "" 3269msgstr ""
3262 3270
3263#: src/fs/gnunet-fs.c:128
3264msgid "print a list of all indexed files"
3265msgstr ""
3266
3267#: src/fs/gnunet-fs.c:141
3268msgid "Special file-sharing operations"
3269msgstr ""
3270
3271#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234 3271#: src/fs/gnunet-publish.c:219 src/fs/gnunet-publish.c:234
3272#, c-format 3272#, c-format
3273msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" 3273msgid "Publishing `%s' at %llu/%llu (%s remaining)\n"
@@ -3922,6 +3922,50 @@ msgstr ""
3922msgid "look for GNS2DNS records instead of ANY" 3922msgid "look for GNS2DNS records instead of ANY"
3923msgstr "" 3923msgstr ""
3924 3924
3925#: src/gns/gnunet-gns.c:257
3926#, fuzzy, c-format
3927msgid "`%s' is not a valid DNS domain name\n"
3928msgstr "“%s”不可用。\n"
3929
3930#: src/gns/gnunet-gns.c:267 src/util/dnsparser.c:254
3931#, fuzzy, c-format
3932msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
3933msgstr "打开日志文件“%s”失败:%s\n"
3934
3935#: src/gns/gnunet-gns.c:281
3936msgid "Cannot resolve using GNS: GNUnet peer not running\n"
3937msgstr ""
3938
3939#: src/gns/gnunet-gns.c:305
3940#, c-format
3941msgid "Invalid typename specified, assuming `ANY'\n"
3942msgstr ""
3943
3944#: src/gns/gnunet-gns.c:340
3945msgid "Lookup a record for the given name"
3946msgstr ""
3947
3948#: src/gns/gnunet-gns.c:346
3949msgid "Specify the type of the record to lookup"
3950msgstr ""
3951
3952#: src/gns/gnunet-gns.c:352
3953msgid "Specify a timeout for the lookup"
3954msgstr ""
3955
3956#: src/gns/gnunet-gns.c:356
3957msgid "No unneeded output"
3958msgstr ""
3959
3960#: src/gns/gnunet-gns.c:361
3961msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
3962msgstr ""
3963
3964#: src/gns/gnunet-gns.c:375
3965#, fuzzy
3966msgid "GNUnet GNS resolver tool"
3967msgstr "GNUnet 错误日志"
3968
3925#: src/gns/gnunet-gns-import.c:486 3969#: src/gns/gnunet-gns-import.c:486
3926msgid "This program will import some GNS authorities into your GNS namestore." 3970msgid "This program will import some GNS authorities into your GNS namestore."
3927msgstr "" 3971msgstr ""
@@ -4042,50 +4086,6 @@ msgstr ""
4042msgid "GNUnet GNS proxy" 4086msgid "GNUnet GNS proxy"
4043msgstr "" 4087msgstr ""
4044 4088
4045#: src/gns/gnunet-gns.c:253
4046#, fuzzy, c-format
4047msgid "`%s' is not a valid DNS domain name\n"
4048msgstr "“%s”不可用。\n"
4049
4050#: src/gns/gnunet-gns.c:263 src/util/dnsparser.c:254
4051#, fuzzy, c-format
4052msgid "Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"
4053msgstr "打开日志文件“%s”失败:%s\n"
4054
4055#: src/gns/gnunet-gns.c:277
4056msgid "Cannot resolve using GNS: GNUnet peer not running\n"
4057msgstr ""
4058
4059#: src/gns/gnunet-gns.c:301
4060#, c-format
4061msgid "Invalid typename specified, assuming `ANY'\n"
4062msgstr ""
4063
4064#: src/gns/gnunet-gns.c:336
4065msgid "Lookup a record for the given name"
4066msgstr ""
4067
4068#: src/gns/gnunet-gns.c:342
4069msgid "Specify the type of the record to lookup"
4070msgstr ""
4071
4072#: src/gns/gnunet-gns.c:348
4073msgid "Specify a timeout for the lookup"
4074msgstr ""
4075
4076#: src/gns/gnunet-gns.c:352
4077msgid "No unneeded output"
4078msgstr ""
4079
4080#: src/gns/gnunet-gns.c:357
4081msgid "DNS Compatibility: Name is passed in IDNA instead of UTF-8"
4082msgstr ""
4083
4084#: src/gns/gnunet-gns.c:371
4085#, fuzzy
4086msgid "GNUnet GNS resolver tool"
4087msgstr "GNUnet 错误日志"
4088
4089#: src/gns/gnunet-service-gns.c:505 4089#: src/gns/gnunet-service-gns.c:505
4090#, fuzzy 4090#, fuzzy
4091msgid "Properly base32-encoded public key required" 4091msgid "Properly base32-encoded public key required"
@@ -4097,8 +4097,8 @@ msgid "Failed to connect to the namecache!\n"
4097msgstr "初始化“%s”服务失败。\n" 4097msgstr "初始化“%s”服务失败。\n"
4098 4098
4099#: src/gns/gnunet-service-gns.c:560 4099#: src/gns/gnunet-service-gns.c:560
4100#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4101#: src/zonemaster/gnunet-service-zonemaster.c:887 4100#: src/zonemaster/gnunet-service-zonemaster.c:887
4101#: src/zonemaster/gnunet-service-zonemaster-monitor.c:444
4102#, fuzzy 4102#, fuzzy
4103msgid "Could not connect to DHT!\n" 4103msgid "Could not connect to DHT!\n"
4104msgstr "无法连接到 %s:%u:%s\n" 4104msgstr "无法连接到 %s:%u:%s\n"
@@ -4157,21 +4157,21 @@ msgstr ""
4157msgid "GNS lookup failed (zero records found for `%s')\n" 4157msgid "GNS lookup failed (zero records found for `%s')\n"
4158msgstr "运行 %s失败:%s %d\n" 4158msgstr "运行 %s失败:%s %d\n"
4159 4159
4160#: src/gns/gnunet-service-gns_resolver.c:2376 4160#: src/gns/gnunet-service-gns_resolver.c:2372
4161msgid "GNS lookup recursion failed (no delegation record found)\n" 4161msgid "GNS lookup recursion failed (no delegation record found)\n"
4162msgstr "" 4162msgstr ""
4163 4163
4164#: src/gns/gnunet-service-gns_resolver.c:2399 4164#: src/gns/gnunet-service-gns_resolver.c:2395
4165#, fuzzy, c-format 4165#, fuzzy, c-format
4166msgid "Failed to cache GNS resolution: %s\n" 4166msgid "Failed to cache GNS resolution: %s\n"
4167msgstr "打开日志文件“%s”失败:%s\n" 4167msgstr "打开日志文件“%s”失败:%s\n"
4168 4168
4169#: src/gns/gnunet-service-gns_resolver.c:2567 4169#: src/gns/gnunet-service-gns_resolver.c:2563
4170#, c-format 4170#, c-format
4171msgid "GNS namecache returned empty result for `%s'\n" 4171msgid "GNS namecache returned empty result for `%s'\n"
4172msgstr "" 4172msgstr ""
4173 4173
4174#: src/gns/gnunet-service-gns_resolver.c:2707 4174#: src/gns/gnunet-service-gns_resolver.c:2703
4175#, c-format 4175#, c-format
4176msgid "Zone %s was revoked, resolution fails\n" 4176msgid "Zone %s was revoked, resolution fails\n"
4177msgstr "" 4177msgstr ""
@@ -4838,70 +4838,6 @@ msgstr "sqlite 数据仓库"
4838msgid "Failed to setup database at `%s'\n" 4838msgid "Failed to setup database at `%s'\n"
4839msgstr "运行 %s失败:%s %d\n" 4839msgstr "运行 %s失败:%s %d\n"
4840 4840
4841#: src/namestore/gnunet-namestore-fcfsd.c:551
4842#, fuzzy, c-format
4843msgid "Unsupported form value `%s'\n"
4844msgstr "未知的命令“%s”。\n"
4845
4846#: src/namestore/gnunet-namestore-fcfsd.c:578
4847#, fuzzy, c-format
4848msgid "Failed to create record for domain `%s': %s\n"
4849msgstr "解析配置文件“%s”失败\n"
4850
4851#: src/namestore/gnunet-namestore-fcfsd.c:599
4852msgid "Error when mapping zone to name\n"
4853msgstr ""
4854
4855#: src/namestore/gnunet-namestore-fcfsd.c:631
4856#, c-format
4857msgid "Found existing name `%s' for the given key\n"
4858msgstr ""
4859
4860#: src/namestore/gnunet-namestore-fcfsd.c:693
4861#, c-format
4862msgid "Found %u existing records for domain `%s'\n"
4863msgstr ""
4864
4865#: src/namestore/gnunet-namestore-fcfsd.c:783
4866#, fuzzy, c-format
4867msgid "Failed to create page for `%s'\n"
4868msgstr "发送消息失败。\n"
4869
4870#: src/namestore/gnunet-namestore-fcfsd.c:802
4871#, fuzzy, c-format
4872msgid "Failed to setup post processor for `%s'\n"
4873msgstr "解析配置文件“%s”失败\n"
4874
4875#: src/namestore/gnunet-namestore-fcfsd.c:839
4876msgid "Domain name must not contain `.'\n"
4877msgstr ""
4878
4879#: src/namestore/gnunet-namestore-fcfsd.c:848
4880msgid "Domain name must not contain `+'\n"
4881msgstr ""
4882
4883#: src/namestore/gnunet-namestore-fcfsd.c:1083
4884msgid "No ego configured for `fcfsd` subsystem\n"
4885msgstr ""
4886
4887#: src/namestore/gnunet-namestore-fcfsd.c:1114
4888#, fuzzy
4889msgid "Failed to start HTTP server\n"
4890msgstr "初始化“%s”服务失败。\n"
4891
4892#: src/namestore/gnunet-namestore-fcfsd.c:1162
4893#, fuzzy
4894msgid "Failed to connect to identity\n"
4895msgstr "初始化“%s”服务失败。\n"
4896
4897#: src/namestore/gnunet-namestore-fcfsd.c:1189
4898msgid "name of the zone that is to be managed by FCFSD"
4899msgstr ""
4900
4901#: src/namestore/gnunet-namestore-fcfsd.c:1209
4902msgid "GNU Name System First Come First Serve name registration service"
4903msgstr ""
4904
4905#: src/namestore/gnunet-namestore.c:334 4841#: src/namestore/gnunet-namestore.c:334
4906#, c-format 4842#, c-format
4907msgid "Adding record failed: %s\n" 4843msgid "Adding record failed: %s\n"
@@ -5124,7 +5060,71 @@ msgstr ""
5124msgid "name of the ego controlling the zone" 5060msgid "name of the ego controlling the zone"
5125msgstr "" 5061msgstr ""
5126 5062
5127#: src/namestore/gnunet-service-namestore.c:864 5063#: src/namestore/gnunet-namestore-fcfsd.c:551
5064#, fuzzy, c-format
5065msgid "Unsupported form value `%s'\n"
5066msgstr "未知的命令“%s”。\n"
5067
5068#: src/namestore/gnunet-namestore-fcfsd.c:578
5069#, fuzzy, c-format
5070msgid "Failed to create record for domain `%s': %s\n"
5071msgstr "解析配置文件“%s”失败\n"
5072
5073#: src/namestore/gnunet-namestore-fcfsd.c:599
5074msgid "Error when mapping zone to name\n"
5075msgstr ""
5076
5077#: src/namestore/gnunet-namestore-fcfsd.c:631
5078#, c-format
5079msgid "Found existing name `%s' for the given key\n"
5080msgstr ""
5081
5082#: src/namestore/gnunet-namestore-fcfsd.c:693
5083#, c-format
5084msgid "Found %u existing records for domain `%s'\n"
5085msgstr ""
5086
5087#: src/namestore/gnunet-namestore-fcfsd.c:783
5088#, fuzzy, c-format
5089msgid "Failed to create page for `%s'\n"
5090msgstr "发送消息失败。\n"
5091
5092#: src/namestore/gnunet-namestore-fcfsd.c:802
5093#, fuzzy, c-format
5094msgid "Failed to setup post processor for `%s'\n"
5095msgstr "解析配置文件“%s”失败\n"
5096
5097#: src/namestore/gnunet-namestore-fcfsd.c:839
5098msgid "Domain name must not contain `.'\n"
5099msgstr ""
5100
5101#: src/namestore/gnunet-namestore-fcfsd.c:848
5102msgid "Domain name must not contain `+'\n"
5103msgstr ""
5104
5105#: src/namestore/gnunet-namestore-fcfsd.c:1083
5106msgid "No ego configured for `fcfsd` subsystem\n"
5107msgstr ""
5108
5109#: src/namestore/gnunet-namestore-fcfsd.c:1114
5110#, fuzzy
5111msgid "Failed to start HTTP server\n"
5112msgstr "初始化“%s”服务失败。\n"
5113
5114#: src/namestore/gnunet-namestore-fcfsd.c:1162
5115#, fuzzy
5116msgid "Failed to connect to identity\n"
5117msgstr "初始化“%s”服务失败。\n"
5118
5119#: src/namestore/gnunet-namestore-fcfsd.c:1189
5120msgid "name of the zone that is to be managed by FCFSD"
5121msgstr ""
5122
5123#: src/namestore/gnunet-namestore-fcfsd.c:1209
5124msgid "GNU Name System First Come First Serve name registration service"
5125msgstr ""
5126
5127#: src/namestore/gnunet-service-namestore.c:866
5128#, fuzzy, c-format 5128#, fuzzy, c-format
5129msgid "Failed to replicate block in namecache: %s\n" 5129msgid "Failed to replicate block in namecache: %s\n"
5130msgstr "发送消息失败。\n" 5130msgstr "发送消息失败。\n"
@@ -5439,6 +5439,10 @@ msgstr ""
5439msgid "`upnpc' command not found\n" 5439msgid "`upnpc' command not found\n"
5440msgstr "" 5440msgstr ""
5441 5441
5442#: src/nse/gnunet-nse.c:124
5443msgid "Show network size estimates from NSE service."
5444msgstr ""
5445
5442#: src/nse/gnunet-nse-profiler.c:857 5446#: src/nse/gnunet-nse-profiler.c:857
5443msgid "limit to the number of connections to NSE services, 0 for none" 5447msgid "limit to the number of connections to NSE services, 0 for none"
5444msgstr "" 5448msgstr ""
@@ -5464,16 +5468,66 @@ msgstr ""
5464msgid "Measure quality and performance of the NSE service." 5468msgid "Measure quality and performance of the NSE service."
5465msgstr "无法访问该服务" 5469msgstr "无法访问该服务"
5466 5470
5467#: src/nse/gnunet-nse.c:124
5468msgid "Show network size estimates from NSE service."
5469msgstr ""
5470
5471#: src/nse/gnunet-service-nse.c:1437 5471#: src/nse/gnunet-service-nse.c:1437
5472#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247 5472#: src/revocation/gnunet-service-revocation.c:846 src/util/gnunet-scrypt.c:247
5473#, fuzzy 5473#, fuzzy
5474msgid "Value is too large.\n" 5474msgid "Value is too large.\n"
5475msgstr "值不在合法范围内。" 5475msgstr "值不在合法范围内。"
5476 5476
5477#: src/peerinfo/gnunet-service-peerinfo.c:175
5478#, c-format
5479msgid "Removing expired address of transport `%s'\n"
5480msgstr ""
5481
5482#: src/peerinfo/gnunet-service-peerinfo.c:306
5483#, fuzzy, c-format
5484msgid "Failed to parse HELLO in file `%s': %s\n"
5485msgstr "解析配置文件“%s”失败\n"
5486
5487#: src/peerinfo/gnunet-service-peerinfo.c:323
5488#: src/peerinfo/gnunet-service-peerinfo.c:348
5489#, fuzzy, c-format
5490msgid "Failed to parse HELLO in file `%s'\n"
5491msgstr "解析配置文件“%s”失败\n"
5492
5493#: src/peerinfo/gnunet-service-peerinfo.c:426
5494msgid "# peers known"
5495msgstr ""
5496
5497#: src/peerinfo/gnunet-service-peerinfo.c:468
5498#, c-format
5499msgid ""
5500"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5501msgstr ""
5502
5503#: src/peerinfo/gnunet-service-peerinfo.c:624
5504#, fuzzy, c-format
5505msgid "Scanning directory `%s'\n"
5506msgstr "解析配置文件“%s”失败\n"
5507
5508#: src/peerinfo/gnunet-service-peerinfo.c:631
5509#, c-format
5510msgid "Still no peers found in `%s'!\n"
5511msgstr ""
5512
5513#: src/peerinfo/gnunet-service-peerinfo.c:1024
5514#, fuzzy, c-format
5515msgid "Cleaning up directory `%s'\n"
5516msgstr "解析配置文件“%s”失败\n"
5517
5518#: src/peerinfo/gnunet-service-peerinfo.c:1319
5519#, c-format
5520msgid "Importing HELLOs from `%s'\n"
5521msgstr ""
5522
5523#: src/peerinfo/gnunet-service-peerinfo.c:1332
5524msgid "Skipping import of included HELLOs\n"
5525msgstr ""
5526
5527#: src/peerinfo/peerinfo_api.c:217
5528msgid "Failed to receive response from `PEERINFO' service."
5529msgstr ""
5530
5477#: src/peerinfo-tool/gnunet-peerinfo.c:237 5531#: src/peerinfo-tool/gnunet-peerinfo.c:237
5478#, fuzzy, c-format 5532#, fuzzy, c-format
5479msgid "%sPeer `%s'\n" 5533msgid "%sPeer `%s'\n"
@@ -5570,60 +5624,6 @@ msgstr "解析配置文件“%s”失败\n"
5570msgid "Peerinfo REST API initialized\n" 5624msgid "Peerinfo REST API initialized\n"
5571msgstr "" 5625msgstr ""
5572 5626
5573#: src/peerinfo/gnunet-service-peerinfo.c:175
5574#, c-format
5575msgid "Removing expired address of transport `%s'\n"
5576msgstr ""
5577
5578#: src/peerinfo/gnunet-service-peerinfo.c:306
5579#, fuzzy, c-format
5580msgid "Failed to parse HELLO in file `%s': %s\n"
5581msgstr "解析配置文件“%s”失败\n"
5582
5583#: src/peerinfo/gnunet-service-peerinfo.c:323
5584#: src/peerinfo/gnunet-service-peerinfo.c:348
5585#, fuzzy, c-format
5586msgid "Failed to parse HELLO in file `%s'\n"
5587msgstr "解析配置文件“%s”失败\n"
5588
5589#: src/peerinfo/gnunet-service-peerinfo.c:426
5590msgid "# peers known"
5591msgstr ""
5592
5593#: src/peerinfo/gnunet-service-peerinfo.c:468
5594#, c-format
5595msgid ""
5596"File `%s' in directory `%s' does not match naming convention. Removed.\n"
5597msgstr ""
5598
5599#: src/peerinfo/gnunet-service-peerinfo.c:624
5600#, fuzzy, c-format
5601msgid "Scanning directory `%s'\n"
5602msgstr "解析配置文件“%s”失败\n"
5603
5604#: src/peerinfo/gnunet-service-peerinfo.c:631
5605#, c-format
5606msgid "Still no peers found in `%s'!\n"
5607msgstr ""
5608
5609#: src/peerinfo/gnunet-service-peerinfo.c:1024
5610#, fuzzy, c-format
5611msgid "Cleaning up directory `%s'\n"
5612msgstr "解析配置文件“%s”失败\n"
5613
5614#: src/peerinfo/gnunet-service-peerinfo.c:1319
5615#, c-format
5616msgid "Importing HELLOs from `%s'\n"
5617msgstr ""
5618
5619#: src/peerinfo/gnunet-service-peerinfo.c:1332
5620msgid "Skipping import of included HELLOs\n"
5621msgstr ""
5622
5623#: src/peerinfo/peerinfo_api.c:217
5624msgid "Failed to receive response from `PEERINFO' service."
5625msgstr ""
5626
5627#: src/peerstore/gnunet-peerstore.c:92 5627#: src/peerstore/gnunet-peerstore.c:92
5628msgid "peerstore" 5628msgid "peerstore"
5629msgstr "" 5629msgstr ""
@@ -6044,6 +6044,18 @@ msgstr ""
6044msgid "Could not open revocation database file!" 6044msgid "Could not open revocation database file!"
6045msgstr "无法连接到 %s:%u:%s\n" 6045msgstr "无法连接到 %s:%u:%s\n"
6046 6046
6047#: src/rps/gnunet-rps.c:270
6048msgid "Seed a PeerID"
6049msgstr ""
6050
6051#: src/rps/gnunet-rps.c:275
6052msgid "Get updates of view (0 for infinite updates)"
6053msgstr ""
6054
6055#: src/rps/gnunet-rps.c:279
6056msgid "Get peers from biased stream"
6057msgstr ""
6058
6047#: src/rps/gnunet-rps-profiler.c:3200 6059#: src/rps/gnunet-rps-profiler.c:3200
6048msgid "duration of the profiling" 6060msgid "duration of the profiling"
6049msgstr "" 6061msgstr ""
@@ -6062,18 +6074,6 @@ msgstr "迭代次数"
6062msgid "Measure quality and performance of the RPS service." 6074msgid "Measure quality and performance of the RPS service."
6063msgstr "无法访问该服务" 6075msgstr "无法访问该服务"
6064 6076
6065#: src/rps/gnunet-rps.c:270
6066msgid "Seed a PeerID"
6067msgstr ""
6068
6069#: src/rps/gnunet-rps.c:275
6070msgid "Get updates of view (0 for infinite updates)"
6071msgstr ""
6072
6073#: src/rps/gnunet-rps.c:279
6074msgid "Get peers from biased stream"
6075msgstr ""
6076
6077#: src/scalarproduct/gnunet-scalarproduct.c:229 6077#: src/scalarproduct/gnunet-scalarproduct.c:229
6078#, fuzzy 6078#, fuzzy
6079msgid "You must specify at least one message ID to check!\n" 6079msgid "You must specify at least one message ID to check!\n"
@@ -6129,10 +6129,10 @@ msgstr ""
6129msgid "Calculate the Vectorproduct with a GNUnet peer." 6129msgid "Calculate the Vectorproduct with a GNUnet peer."
6130msgstr "" 6130msgstr ""
6131 6131
6132#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6133#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6134#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363 6132#: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1363
6135#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366 6133#: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1366
6134#: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1127
6135#: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1073
6136#, fuzzy 6136#, fuzzy
6137msgid "Connect to CADET failed\n" 6137msgid "Connect to CADET failed\n"
6138msgstr "“%s”已连接到“%s”。\n" 6138msgstr "“%s”已连接到“%s”。\n"
@@ -6476,6 +6476,15 @@ msgstr ""
6476msgid "%.s Unknown result code." 6476msgid "%.s Unknown result code."
6477msgstr "" 6477msgstr ""
6478 6478
6479#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6480msgid "Waiting for child to exit.\n"
6481msgstr ""
6482
6483#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6484#, fuzzy, c-format
6485msgid "Spawning process `%s'\n"
6486msgstr "卸载 GNUnet 服务"
6487
6479#: src/testbed/gnunet-testbed-profiler.c:290 6488#: src/testbed/gnunet-testbed-profiler.c:290
6480msgid "tolerate COUNT number of continious timeout failures" 6489msgid "tolerate COUNT number of continious timeout failures"
6481msgstr "" 6490msgstr ""
@@ -6487,15 +6496,6 @@ msgid ""
6487"signal is received" 6496"signal is received"
6488msgstr "" 6497msgstr ""
6489 6498
6490#: src/testbed/gnunet_testbed_mpi_spawn.c:119
6491msgid "Waiting for child to exit.\n"
6492msgstr ""
6493
6494#: src/testbed/gnunet_testbed_mpi_spawn.c:242
6495#, fuzzy, c-format
6496msgid "Spawning process `%s'\n"
6497msgstr "卸载 GNUnet 服务"
6498
6499#: src/testbed/testbed_api.c:399 6499#: src/testbed/testbed_api.c:399
6500#, fuzzy, c-format 6500#, fuzzy, c-format
6501msgid "Adding host %u failed with error: %s\n" 6501msgid "Adding host %u failed with error: %s\n"
@@ -6829,6 +6829,10 @@ msgstr "发送消息失败。\n"
6829msgid "GNUnet UNIX domain socket communicator" 6829msgid "GNUnet UNIX domain socket communicator"
6830msgstr "" 6830msgstr ""
6831 6831
6832#: src/transport/gnunet-service-transport_ats.c:137
6833msgid "# Addresses given to ATS"
6834msgstr ""
6835
6832#: src/transport/gnunet-service-transport.c:445 6836#: src/transport/gnunet-service-transport.c:445
6833msgid "# messages dropped due to slow client" 6837msgid "# messages dropped due to slow client"
6834msgstr "" 6838msgstr ""
@@ -6869,10 +6873,6 @@ msgstr "卸载 GNUnet 服务"
6869msgid "Adding blacklisting entry for peer `%s':`%s'\n" 6873msgid "Adding blacklisting entry for peer `%s':`%s'\n"
6870msgstr "" 6874msgstr ""
6871 6875
6872#: src/transport/gnunet-service-transport_ats.c:137
6873msgid "# Addresses given to ATS"
6874msgstr ""
6875
6876#: src/transport/gnunet-service-transport_hello.c:195 6876#: src/transport/gnunet-service-transport_hello.c:195
6877msgid "# refreshed my HELLO" 6877msgid "# refreshed my HELLO"
6878msgstr "" 6878msgstr ""
@@ -7181,44 +7181,6 @@ msgstr ""
7181msgid "# HELLOs given to peerinfo" 7181msgid "# HELLOs given to peerinfo"
7182msgstr "" 7182msgstr ""
7183 7183
7184#: src/transport/gnunet-transport-profiler.c:220
7185#, c-format
7186msgid "%llu B in %llu ms == %.2f KB/s!\n"
7187msgstr ""
7188
7189#: src/transport/gnunet-transport-profiler.c:577
7190msgid "send data to peer"
7191msgstr ""
7192
7193#: src/transport/gnunet-transport-profiler.c:581
7194msgid "receive data from peer"
7195msgstr ""
7196
7197#: src/transport/gnunet-transport-profiler.c:586
7198msgid "iterations"
7199msgstr ""
7200
7201#: src/transport/gnunet-transport-profiler.c:591
7202#, fuzzy
7203msgid "number of messages to send"
7204msgstr "每次迭代所使用的消息数量"
7205
7206#: src/transport/gnunet-transport-profiler.c:596
7207#, fuzzy
7208msgid "message size to use"
7209msgstr "消息尺寸"
7210
7211#: src/transport/gnunet-transport-profiler.c:601
7212#: src/transport/gnunet-transport.c:1404
7213msgid "peer identity"
7214msgstr ""
7215
7216#: src/transport/gnunet-transport-profiler.c:614
7217#: src/transport/gnunet-transport.c:1426
7218#, fuzzy
7219msgid "Direct access to transport service."
7220msgstr "初始化“%s”服务失败。\n"
7221
7222#: src/transport/gnunet-transport.c:406 7184#: src/transport/gnunet-transport.c:406
7223#, c-format 7185#, c-format
7224msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n" 7186msgid "Transmitted %llu bytes/s (%llu bytes in %s)\n"
@@ -7355,6 +7317,11 @@ msgstr ""
7355msgid "do not resolve hostnames" 7317msgid "do not resolve hostnames"
7356msgstr "" 7318msgstr ""
7357 7319
7320#: src/transport/gnunet-transport.c:1404
7321#: src/transport/gnunet-transport-profiler.c:601
7322msgid "peer identity"
7323msgstr ""
7324
7358#: src/transport/gnunet-transport.c:1408 7325#: src/transport/gnunet-transport.c:1408
7359msgid "monitor plugin sessions" 7326msgid "monitor plugin sessions"
7360msgstr "" 7327msgstr ""
@@ -7363,6 +7330,39 @@ msgstr ""
7363msgid "send data for benchmarking to the other peer (until CTRL-C)" 7330msgid "send data for benchmarking to the other peer (until CTRL-C)"
7364msgstr "" 7331msgstr ""
7365 7332
7333#: src/transport/gnunet-transport.c:1426
7334#: src/transport/gnunet-transport-profiler.c:614
7335#, fuzzy
7336msgid "Direct access to transport service."
7337msgstr "初始化“%s”服务失败。\n"
7338
7339#: src/transport/gnunet-transport-profiler.c:220
7340#, c-format
7341msgid "%llu B in %llu ms == %.2f KB/s!\n"
7342msgstr ""
7343
7344#: src/transport/gnunet-transport-profiler.c:577
7345msgid "send data to peer"
7346msgstr ""
7347
7348#: src/transport/gnunet-transport-profiler.c:581
7349msgid "receive data from peer"
7350msgstr ""
7351
7352#: src/transport/gnunet-transport-profiler.c:586
7353msgid "iterations"
7354msgstr ""
7355
7356#: src/transport/gnunet-transport-profiler.c:591
7357#, fuzzy
7358msgid "number of messages to send"
7359msgstr "每次迭代所使用的消息数量"
7360
7361#: src/transport/gnunet-transport-profiler.c:596
7362#, fuzzy
7363msgid "message size to use"
7364msgstr "消息尺寸"
7365
7366#: src/transport/plugin_transport_http_client.c:1489 7366#: src/transport/plugin_transport_http_client.c:1489
7367#: src/transport/plugin_transport_http_server.c:2331 7367#: src/transport/plugin_transport_http_server.c:2331
7368#: src/transport/plugin_transport_http_server.c:3562 7368#: src/transport/plugin_transport_http_server.c:3562
@@ -7639,6 +7639,20 @@ msgstr ""
7639msgid "TCP transport advertises itself as being on port %llu\n" 7639msgid "TCP transport advertises itself as being on port %llu\n"
7640msgstr "" 7640msgstr ""
7641 7641
7642#: src/transport/plugin_transport_udp_broadcasting.c:169
7643msgid "# Multicast HELLO beacons received via UDP"
7644msgstr ""
7645
7646#: src/transport/plugin_transport_udp_broadcasting.c:553
7647msgid ""
7648"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7649msgstr ""
7650
7651#: src/transport/plugin_transport_udp_broadcasting.c:571
7652#, c-format
7653msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7654msgstr ""
7655
7642#: src/transport/plugin_transport_udp.c:3169 7656#: src/transport/plugin_transport_udp.c:3169
7643#, c-format 7657#, c-format
7644msgid "" 7658msgid ""
@@ -7687,20 +7701,6 @@ msgstr "“%s”不可用。\n"
7687msgid "Failed to create UDP network sockets\n" 7701msgid "Failed to create UDP network sockets\n"
7688msgstr "发送消息失败。\n" 7702msgstr "发送消息失败。\n"
7689 7703
7690#: src/transport/plugin_transport_udp_broadcasting.c:169
7691msgid "# Multicast HELLO beacons received via UDP"
7692msgstr ""
7693
7694#: src/transport/plugin_transport_udp_broadcasting.c:553
7695msgid ""
7696"Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"
7697msgstr ""
7698
7699#: src/transport/plugin_transport_udp_broadcasting.c:571
7700#, c-format
7701msgid "Failed to set IPv4 broadcast option for broadcast socket on port %d\n"
7702msgstr ""
7703
7704#: src/transport/plugin_transport_unix.c:1396 7704#: src/transport/plugin_transport_unix.c:1396
7705#, fuzzy, c-format 7705#, fuzzy, c-format
7706msgid "Cannot bind to `%s'\n" 7706msgid "Cannot bind to `%s'\n"
@@ -7778,17 +7778,17 @@ msgstr "“%s”已连接到“%s”。\n"
7778msgid "Accepting connection from `%s': %p\n" 7778msgid "Accepting connection from `%s': %p\n"
7779msgstr "" 7779msgstr ""
7780 7780
7781#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1400 7781#: src/transport/tcp_server_legacy.c:478 src/util/service.c:1397
7782#, fuzzy, c-format 7782#, fuzzy, c-format
7783msgid "`%s' failed for port %d (%s).\n" 7783msgid "`%s' failed for port %d (%s).\n"
7784msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" 7784msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
7785 7785
7786#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1412 7786#: src/transport/tcp_server_legacy.c:488 src/util/service.c:1409
7787#, c-format 7787#, c-format
7788msgid "`%s' failed for port %d (%s): address already in use\n" 7788msgid "`%s' failed for port %d (%s): address already in use\n"
7789msgstr "" 7789msgstr ""
7790 7790
7791#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1419 7791#: src/transport/tcp_server_legacy.c:494 src/util/service.c:1416
7792#, fuzzy, c-format 7792#, fuzzy, c-format
7793msgid "`%s' failed for `%s': address already in use\n" 7793msgid "`%s' failed for `%s': address already in use\n"
7794msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" 7794msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
@@ -7800,7 +7800,7 @@ msgid ""
7800"`GNUNET_SERVER_receive_done' after %s\n" 7800"`GNUNET_SERVER_receive_done' after %s\n"
7801msgstr "" 7801msgstr ""
7802 7802
7803#: src/transport/tcp_service_legacy.c:345 src/util/service.c:837 7803#: src/transport/tcp_service_legacy.c:345 src/util/service.c:834
7804#, c-format 7804#, c-format
7805msgid "Unknown address family %d\n" 7805msgid "Unknown address family %d\n"
7806msgstr "" 7806msgstr ""
@@ -7810,23 +7810,23 @@ msgstr ""
7810msgid "Access from `%s' denied to service `%s'\n" 7810msgid "Access from `%s' denied to service `%s'\n"
7811msgstr "" 7811msgstr ""
7812 7812
7813#: src/transport/tcp_service_legacy.c:410 src/util/service.c:950 7813#: src/transport/tcp_service_legacy.c:410 src/util/service.c:947
7814#, c-format 7814#, c-format
7815msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n" 7815msgid "Could not parse IPv4 network specification `%s' for `%s:%s'\n"
7816msgstr "" 7816msgstr ""
7817 7817
7818#: src/transport/tcp_service_legacy.c:451 src/util/service.c:991 7818#: src/transport/tcp_service_legacy.c:451 src/util/service.c:988
7819#, c-format 7819#, c-format
7820msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n" 7820msgid "Could not parse IPv6 network specification `%s' for `%s:%s'\n"
7821msgstr "" 7821msgstr ""
7822 7822
7823#: src/transport/tcp_service_legacy.c:890 7823#: src/transport/tcp_service_legacy.c:890
7824#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1480 7824#: src/transport/tcp_service_legacy.c:910 src/util/service.c:1477
7825#, c-format 7825#, c-format
7826msgid "Specified value for `%s' of service `%s' is invalid\n" 7826msgid "Specified value for `%s' of service `%s' is invalid\n"
7827msgstr "" 7827msgstr ""
7828 7828
7829#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1504 7829#: src/transport/tcp_service_legacy.c:935 src/util/service.c:1501
7830#, c-format 7830#, c-format
7831msgid "Could not access pre-bound socket %u, will try to bind myself\n" 7831msgid "Could not access pre-bound socket %u, will try to bind myself\n"
7832msgstr "" 7832msgstr ""
@@ -7841,45 +7841,45 @@ msgstr "运行 %s失败:%s %d\n"
7841msgid "Service `%s' runs at %s\n" 7841msgid "Service `%s' runs at %s\n"
7842msgstr "" 7842msgstr ""
7843 7843
7844#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1750 7844#: src/transport/tcp_service_legacy.c:1193 src/util/service.c:1747
7845msgid "Service process failed to initialize\n" 7845msgid "Service process failed to initialize\n"
7846msgstr "" 7846msgstr ""
7847 7847
7848#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1755 7848#: src/transport/tcp_service_legacy.c:1198 src/util/service.c:1752
7849msgid "Service process could not initialize server function\n" 7849msgid "Service process could not initialize server function\n"
7850msgstr "" 7850msgstr ""
7851 7851
7852#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1760 7852#: src/transport/tcp_service_legacy.c:1203 src/util/service.c:1757
7853msgid "Service process failed to report status\n" 7853msgid "Service process failed to report status\n"
7854msgstr "" 7854msgstr ""
7855 7855
7856#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177 7856#: src/transport/tcp_service_legacy.c:1253 src/util/disk.c:1177
7857#: src/util/service.c:1641 7857#: src/util/service.c:1638
7858#, c-format 7858#, c-format
7859msgid "Cannot obtain information about user `%s': %s\n" 7859msgid "Cannot obtain information about user `%s': %s\n"
7860msgstr "无法获取有关用户“%s”的信息:%s\n" 7860msgstr "无法获取有关用户“%s”的信息:%s\n"
7861 7861
7862#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1643 7862#: src/transport/tcp_service_legacy.c:1255 src/util/service.c:1640
7863msgid "No such user" 7863msgid "No such user"
7864msgstr "无此用户" 7864msgstr "无此用户"
7865 7865
7866#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1657 7866#: src/transport/tcp_service_legacy.c:1269 src/util/service.c:1654
7867#, c-format 7867#, c-format
7868msgid "Cannot change user/group to `%s': %s\n" 7868msgid "Cannot change user/group to `%s': %s\n"
7869msgstr "无法更改用户/组为“%s”:%s\n" 7869msgstr "无法更改用户/组为“%s”:%s\n"
7870 7870
7871#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1999 7871#: src/transport/tcp_service_legacy.c:1348 src/util/service.c:1996
7872msgid "do daemonize (detach from terminal)" 7872msgid "do daemonize (detach from terminal)"
7873msgstr "" 7873msgstr ""
7874 7874
7875#: src/transport/tcp_service_legacy.c:1397 7875#: src/transport/tcp_service_legacy.c:1397
7876#: src/transport/transport-testing2.c:906 src/util/service.c:2073 7876#: src/transport/transport-testing2.c:906 src/util/service.c:2070
7877#: src/util/service.c:2085 7877#: src/util/service.c:2082
7878#, fuzzy, c-format 7878#, fuzzy, c-format
7879msgid "Malformed configuration file `%s', exit ...\n" 7879msgid "Malformed configuration file `%s', exit ...\n"
7880msgstr "解析配置文件“%s”失败\n" 7880msgstr "解析配置文件“%s”失败\n"
7881 7881
7882#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2095 7882#: src/transport/tcp_service_legacy.c:1407 src/util/service.c:2092
7883#, fuzzy 7883#, fuzzy
7884msgid "Malformed configuration, exit ...\n" 7884msgid "Malformed configuration, exit ...\n"
7885msgstr "解析配置文件“%s”失败\n" 7885msgstr "解析配置文件“%s”失败\n"
@@ -7922,105 +7922,105 @@ msgstr ""
7922msgid "Metadata `%s' failed to deserialize" 7922msgid "Metadata `%s' failed to deserialize"
7923msgstr "" 7923msgstr ""
7924 7924
7925#: src/util/client.c:739 src/util/client.c:931 7925#: src/util/client.c:747 src/util/client.c:937
7926msgid "not a valid filename" 7926msgid "not a valid filename"
7927msgstr "" 7927msgstr ""
7928 7928
7929#: src/util/client.c:1097 7929#: src/util/client.c:1103
7930#, c-format 7930#, c-format
7931msgid "Need a non-empty hostname for service `%s'.\n" 7931msgid "Need a non-empty hostname for service `%s'.\n"
7932msgstr "" 7932msgstr ""
7933 7933
7934#: src/util/common_logging.c:259 src/util/common_logging.c:1116 7934#: src/util/common_logging.c:259 src/util/common_logging.c:1112
7935msgid "DEBUG" 7935msgid "DEBUG"
7936msgstr "调试" 7936msgstr "调试"
7937 7937
7938#: src/util/common_logging.c:261 src/util/common_logging.c:1114 7938#: src/util/common_logging.c:261 src/util/common_logging.c:1110
7939msgid "INFO" 7939msgid "INFO"
7940msgstr "信息" 7940msgstr "信息"
7941 7941
7942#: src/util/common_logging.c:263 src/util/common_logging.c:1112 7942#: src/util/common_logging.c:263 src/util/common_logging.c:1108
7943msgid "MESSAGE" 7943msgid "MESSAGE"
7944msgstr "" 7944msgstr ""
7945 7945
7946#: src/util/common_logging.c:265 src/util/common_logging.c:1110 7946#: src/util/common_logging.c:265 src/util/common_logging.c:1106
7947msgid "WARNING" 7947msgid "WARNING"
7948msgstr "警告" 7948msgstr "警告"
7949 7949
7950#: src/util/common_logging.c:267 src/util/common_logging.c:1108 7950#: src/util/common_logging.c:267 src/util/common_logging.c:1104
7951msgid "ERROR" 7951msgid "ERROR"
7952msgstr "错误" 7952msgstr "错误"
7953 7953
7954#: src/util/common_logging.c:269 src/util/common_logging.c:1118 7954#: src/util/common_logging.c:269 src/util/common_logging.c:1114
7955msgid "NONE" 7955msgid "NONE"
7956msgstr "" 7956msgstr ""
7957 7957
7958#: src/util/common_logging.c:630 src/util/common_logging.c:669 7958#: src/util/common_logging.c:626 src/util/common_logging.c:665
7959#, c-format 7959#, c-format
7960msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n" 7960msgid "ERROR: Unable to parse log definition: Syntax error at `%s'.\n"
7961msgstr "" 7961msgstr ""
7962 7962
7963#: src/util/common_logging.c:906 7963#: src/util/common_logging.c:902
7964#, fuzzy, c-format 7964#, fuzzy, c-format
7965msgid "Message `%.*s' repeated %u times in the last %s\n" 7965msgid "Message `%.*s' repeated %u times in the last %s\n"
7966msgstr "消息“%.*s”重复了 %u 次,在最近 %llu 秒内\n" 7966msgstr "消息“%.*s”重复了 %u 次,在最近 %llu 秒内\n"
7967 7967
7968#: src/util/common_logging.c:1119 7968#: src/util/common_logging.c:1115
7969msgid "INVALID" 7969msgid "INVALID"
7970msgstr "" 7970msgstr ""
7971 7971
7972#: src/util/common_logging.c:1400 7972#: src/util/common_logging.c:1396
7973msgid "unknown address" 7973msgid "unknown address"
7974msgstr "" 7974msgstr ""
7975 7975
7976#: src/util/common_logging.c:1445 7976#: src/util/common_logging.c:1441
7977msgid "invalid address" 7977msgid "invalid address"
7978msgstr "" 7978msgstr ""
7979 7979
7980#: src/util/common_logging.c:1464 7980#: src/util/common_logging.c:1460
7981#, fuzzy, c-format 7981#, fuzzy, c-format
7982msgid "Configuration fails to specify option `%s' in section `%s'!\n" 7982msgid "Configuration fails to specify option `%s' in section `%s'!\n"
7983msgstr "配置不满足配置规范文件“%s”的约束!\n" 7983msgstr "配置不满足配置规范文件“%s”的约束!\n"
7984 7984
7985#: src/util/common_logging.c:1487 7985#: src/util/common_logging.c:1483
7986#, fuzzy, c-format 7986#, fuzzy, c-format
7987msgid "" 7987msgid ""
7988"Configuration specifies invalid value for option `%s' in section `%s': %s\n" 7988"Configuration specifies invalid value for option `%s' in section `%s': %s\n"
7989msgstr "配置不满足配置规范文件“%s”的约束!\n" 7989msgstr "配置不满足配置规范文件“%s”的约束!\n"
7990 7990
7991#: src/util/configuration.c:325 7991#: src/util/configuration.c:402
7992#, fuzzy, c-format 7992#, fuzzy, c-format
7993msgid "Syntax error while deserializing in line %u\n" 7993msgid "Syntax error while deserializing in line %u\n"
7994msgstr "配置文件“%s”第 %d 行有语法错误。\n" 7994msgstr "配置文件“%s”第 %d 行有语法错误。\n"
7995 7995
7996#: src/util/configuration.c:383 7996#: src/util/configuration.c:460
7997#, fuzzy, c-format 7997#, fuzzy, c-format
7998msgid "Error while reading file `%s'\n" 7998msgid "Error while reading file `%s'\n"
7999msgstr "解析 dscl 输出时出错。\n" 7999msgstr "解析 dscl 输出时出错。\n"
8000 8000
8001#: src/util/configuration.c:986 8001#: src/util/configuration.c:1063
8002#, fuzzy 8002#, fuzzy
8003msgid "Not a valid relative time specification" 8003msgid "Not a valid relative time specification"
8004msgstr "配置文件“%s”已写入。\n" 8004msgstr "配置文件“%s”已写入。\n"
8005 8005
8006#: src/util/configuration.c:1077 8006#: src/util/configuration.c:1154
8007#, c-format 8007#, c-format
8008msgid "" 8008msgid ""
8009"Configuration value '%s' for '%s' in section '%s' is not in set of legal " 8009"Configuration value '%s' for '%s' in section '%s' is not in set of legal "
8010"choices\n" 8010"choices\n"
8011msgstr "" 8011msgstr ""
8012 8012
8013#: src/util/configuration.c:1192 8013#: src/util/configuration.c:1269
8014#, c-format 8014#, c-format
8015msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n" 8015msgid "Recursive expansion suspected, aborting $-expansion for term `%s'\n"
8016msgstr "" 8016msgstr ""
8017 8017
8018#: src/util/configuration.c:1224 8018#: src/util/configuration.c:1301
8019#, fuzzy, c-format 8019#, fuzzy, c-format
8020msgid "Missing closing `%s' in option `%s'\n" 8020msgid "Missing closing `%s' in option `%s'\n"
8021msgstr "配置文件“%s”已写入。\n" 8021msgstr "配置文件“%s”已写入。\n"
8022 8022
8023#: src/util/configuration.c:1290 8023#: src/util/configuration.c:1367
8024#, c-format 8024#, c-format
8025msgid "" 8025msgid ""
8026"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined " 8026"Failed to expand `%s' in `%s' as it is neither found in [PATHS] nor defined "
@@ -8084,7 +8084,7 @@ msgstr "libgcrypt 的版本不符合预期(要求版本 %s)。\n"
8084msgid "RSA signing failed at %s:%d: %s\n" 8084msgid "RSA signing failed at %s:%d: %s\n"
8085msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" 8085msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
8086 8086
8087#: src/util/crypto_rsa.c:1313 8087#: src/util/crypto_rsa.c:1314
8088#, fuzzy, c-format 8088#, fuzzy, c-format
8089msgid "RSA signature verification failed at %s:%d: %s\n" 8089msgid "RSA signature verification failed at %s:%d: %s\n"
8090msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" 8090msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n"
@@ -8189,64 +8189,72 @@ msgstr ""
8189msgid "Missing mandatory option `%s'.\n" 8189msgid "Missing mandatory option `%s'.\n"
8190msgstr "配置文件“%s”已写入。\n" 8190msgstr "配置文件“%s”已写入。\n"
8191 8191
8192#: src/util/getopt_helpers.c:68 8192#: src/util/getopt_helpers.c:69
8193msgid "print the version number" 8193msgid "print the version number"
8194msgstr "" 8194msgstr ""
8195 8195
8196#: src/util/getopt_helpers.c:114 8196#: src/util/getopt_helpers.c:116
8197#, c-format 8197#, c-format
8198msgid "" 8198msgid ""
8199"Arguments mandatory for long options are also mandatory for short options.\n" 8199"Arguments mandatory for long options are also mandatory for short options.\n"
8200msgstr "长选项的必选参数对短选项也是必选的。\n" 8200msgstr "长选项的必选参数对短选项也是必选的。\n"
8201 8201
8202#: src/util/getopt_helpers.c:205 8202#: src/util/getopt_helpers.c:208
8203msgid "print this help" 8203msgid "print this help"
8204msgstr "" 8204msgstr ""
8205 8205
8206#: src/util/getopt_helpers.c:281 8206#: src/util/getopt_helpers.c:288
8207msgid "be verbose" 8207msgid "be verbose"
8208msgstr "" 8208msgstr ""
8209 8209
8210#: src/util/getopt_helpers.c:417 8210#: src/util/getopt_helpers.c:429
8211msgid "configure logging to use LOGLEVEL" 8211msgid "configure logging to use LOGLEVEL"
8212msgstr "" 8212msgstr ""
8213 8213
8214#: src/util/getopt_helpers.c:495 8214#: src/util/getopt_helpers.c:510
8215msgid "configure logging to write logs to FILENAME" 8215msgid "configure logging to write logs to FILENAME"
8216msgstr "" 8216msgstr ""
8217 8217
8218#: src/util/getopt_helpers.c:516 8218#: src/util/getopt_helpers.c:532
8219#, fuzzy 8219#, fuzzy
8220msgid "use configuration file FILENAME" 8220msgid "use configuration file FILENAME"
8221msgstr "更改配置文件中的一个值" 8221msgstr "更改配置文件中的一个值"
8222 8222
8223#: src/util/getopt_helpers.c:551 src/util/getopt_helpers.c:747 8223#: src/util/getopt_helpers.c:568 src/util/getopt_helpers.c:634
8224#: src/util/getopt_helpers.c:810 8224#: src/util/getopt_helpers.c:835 src/util/getopt_helpers.c:900
8225#, c-format 8225#, c-format
8226msgid "You must pass a number to the `%s' option.\n" 8226msgid "You must pass a number to the `%s' option.\n"
8227msgstr "您必须向“%s”选项传递一个数字。\n" 8227msgstr "您必须向“%s”选项传递一个数字。\n"
8228 8228
8229#: src/util/getopt_helpers.c:612 8229#: src/util/getopt_helpers.c:659
8230msgid "[+/-]MICROSECONDS"
8231msgstr ""
8232
8233#: src/util/getopt_helpers.c:661
8234msgid "modify system time by given offset (for debugging/testing only)"
8235msgstr ""
8236
8237#: src/util/getopt_helpers.c:696
8230#, fuzzy, c-format 8238#, fuzzy, c-format
8231msgid "You must pass relative time to the `%s' option.\n" 8239msgid "You must pass relative time to the `%s' option.\n"
8232msgstr "您必须向“%s”选项传递一个数字。\n" 8240msgstr "您必须向“%s”选项传递一个数字。\n"
8233 8241
8234#: src/util/getopt_helpers.c:675 8242#: src/util/getopt_helpers.c:761
8235#, fuzzy, c-format 8243#, fuzzy, c-format
8236msgid "You must pass absolute time to the `%s' option.\n" 8244msgid "You must pass absolute time to the `%s' option.\n"
8237msgstr "您必须向“%s”选项传递一个数字。\n" 8245msgstr "您必须向“%s”选项传递一个数字。\n"
8238 8246
8239#: src/util/getopt_helpers.c:740 8247#: src/util/getopt_helpers.c:828
8240#, c-format 8248#, c-format
8241msgid "Your input for the '%s' option has to be a non negative number \n" 8249msgid "Your input for the '%s' option has to be a non negative number\n"
8242msgstr "" 8250msgstr ""
8243 8251
8244#: src/util/getopt_helpers.c:817 8252#: src/util/getopt_helpers.c:907
8245#, fuzzy, c-format 8253#, fuzzy, c-format
8246msgid "You must pass a number below %u to the `%s' option.\n" 8254msgid "You must pass a number below %u to the `%s' option.\n"
8247msgstr "您必须向“%s”选项传递一个数字。\n" 8255msgstr "您必须向“%s”选项传递一个数字。\n"
8248 8256
8249#: src/util/getopt_helpers.c:902 8257#: src/util/getopt_helpers.c:994
8250#, c-format 8258#, c-format
8251msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n" 8259msgid "Argument `%s' malformed. Expected base32 (Crockford) encoded value.\n"
8252msgstr "" 8260msgstr ""
@@ -8583,14 +8591,14 @@ msgstr ""
8583msgid "Could not resolve our FQDN: %s\n" 8591msgid "Could not resolve our FQDN: %s\n"
8584msgstr "无法解析“%s”(%s):%s\n" 8592msgstr "无法解析“%s”(%s):%s\n"
8585 8593
8586#: src/util/service.c:657 8594#: src/util/service.c:654
8587#, c-format 8595#, c-format
8588msgid "" 8596msgid ""
8589"Processing code for message of type %u did not call " 8597"Processing code for message of type %u did not call "
8590"`GNUNET_SERVICE_client_continue' after %s\n" 8598"`GNUNET_SERVICE_client_continue' after %s\n"
8591msgstr "" 8599msgstr ""
8592 8600
8593#: src/util/service.c:1572 8601#: src/util/service.c:1569
8594msgid "" 8602msgid ""
8595"Could not bind to any of the ports I was supposed to, refusing to run!\n" 8603"Could not bind to any of the ports I was supposed to, refusing to run!\n"
8596msgstr "" 8604msgstr ""
@@ -8902,8 +8910,8 @@ msgstr ""
8902msgid "Setup tunnels via VPN." 8910msgid "Setup tunnels via VPN."
8903msgstr "" 8911msgstr ""
8904 8912
8905#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
8906#: src/zonemaster/gnunet-service-zonemaster.c:849 8913#: src/zonemaster/gnunet-service-zonemaster.c:849
8914#: src/zonemaster/gnunet-service-zonemaster-monitor.c:420
8907#, fuzzy 8915#, fuzzy
8908msgid "Failed to connect to the namestore!\n" 8916msgid "Failed to connect to the namestore!\n"
8909msgstr "初始化“%s”服务失败。\n" 8917msgstr "初始化“%s”服务失败。\n"
diff --git a/src/Makefile.am b/src/Makefile.am
index e1d73ab01..16df77fb4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,6 +28,7 @@ if HAVE_MHD
28 JSON_DIR = json 28 JSON_DIR = json
29endif 29endif
30endif 30endif
31if HAVE_MHD
31if HAVE_LIBGNURL 32if HAVE_LIBGNURL
32 CURL_DIR = curl 33 CURL_DIR = curl
33else 34else
@@ -35,6 +36,7 @@ if HAVE_LIBCURL
35 CURL_DIR = curl 36 CURL_DIR = curl
36endif 37endif
37endif 38endif
39endif
38 40
39if BUILD_PULSE_HELPERS 41if BUILD_PULSE_HELPERS
40CONVERSATION_DIR = conversation 42CONVERSATION_DIR = conversation
diff --git a/src/abd/gnunet-abd.c b/src/abd/gnunet-abd.c
index a5d32c3dd..eb3e29e23 100644
--- a/src/abd/gnunet-abd.c
+++ b/src/abd/gnunet-abd.c
@@ -1074,7 +1074,7 @@ main (int argc, char *const *argv)
1074 &run, 1074 &run,
1075 NULL)) 1075 NULL))
1076 ret = 1; 1076 ret = 1;
1077 GNUNET_free ((void *) argv); 1077 GNUNET_free_nz ((void *) argv);
1078 return ret; 1078 return ret;
1079} 1079}
1080 1080
diff --git a/src/arm/gnunet-arm.c b/src/arm/gnunet-arm.c
index 3b4e770b0..ea3a012ab 100644
--- a/src/arm/gnunet-arm.c
+++ b/src/arm/gnunet-arm.c
@@ -1054,10 +1054,10 @@ main (int argc, char *const *argv)
1054 &run, 1054 &run,
1055 NULL))) 1055 NULL)))
1056 { 1056 {
1057 GNUNET_free ((void *) argv); 1057 GNUNET_free_nz ((void *) argv);
1058 return ret; 1058 return ret;
1059 } 1059 }
1060 GNUNET_free ((void *) argv); 1060 GNUNET_free_nz ((void *) argv);
1061 return lret; 1061 return lret;
1062} 1062}
1063 1063
diff --git a/src/ats-tool/gnunet-ats.c b/src/ats-tool/gnunet-ats.c
index 16636e505..947ed7798 100644
--- a/src/ats-tool/gnunet-ats.c
+++ b/src/ats-tool/gnunet-ats.c
@@ -980,7 +980,7 @@ main (int argc, char *const *argv)
980 NULL); 980 NULL);
981 GNUNET_free_non_null (opt_pid_str); 981 GNUNET_free_non_null (opt_pid_str);
982 GNUNET_free_non_null (opt_type_str); 982 GNUNET_free_non_null (opt_type_str);
983 GNUNET_free ((void *) argv); 983 GNUNET_free_nz ((void *) argv);
984 984
985 if (GNUNET_OK == res) 985 if (GNUNET_OK == res)
986 return ret; 986 return ret;
diff --git a/src/auction/gnunet-auction-create.c b/src/auction/gnunet-auction-create.c
index 79106d8e8..93947b89c 100644
--- a/src/auction/gnunet-auction-create.c
+++ b/src/auction/gnunet-auction-create.c
@@ -214,6 +214,6 @@ main (int argc, char *const *argv)
214 options, 214 options,
215 &run, 215 &run,
216 NULL)) ? ret : 1; 216 NULL)) ? ret : 1;
217 GNUNET_free ((void *) argv); 217 GNUNET_free_nz ((void *) argv);
218 return ret; 218 return ret;
219} 219}
diff --git a/src/auction/gnunet-auction-info.c b/src/auction/gnunet-auction-info.c
index f20565835..dded45ce6 100644
--- a/src/auction/gnunet-auction-info.c
+++ b/src/auction/gnunet-auction-info.c
@@ -78,7 +78,7 @@ main (int argc, char *const *argv)
78 options, 78 options,
79 &run, 79 &run,
80 NULL)) ? ret : 1; 80 NULL)) ? ret : 1;
81 GNUNET_free ((void *) argv); 81 GNUNET_free_nz ((void *) argv);
82 return ret; 82 return ret;
83} 83}
84 84
diff --git a/src/auction/gnunet-auction-join.c b/src/auction/gnunet-auction-join.c
index f20565835..dded45ce6 100644
--- a/src/auction/gnunet-auction-join.c
+++ b/src/auction/gnunet-auction-join.c
@@ -78,7 +78,7 @@ main (int argc, char *const *argv)
78 options, 78 options,
79 &run, 79 &run,
80 NULL)) ? ret : 1; 80 NULL)) ? ret : 1;
81 GNUNET_free ((void *) argv); 81 GNUNET_free_nz ((void *) argv);
82 return ret; 82 return ret;
83} 83}
84 84
diff --git a/src/cadet/gnunet-cadet.c b/src/cadet/gnunet-cadet.c
index f3ccd9883..9b7538ae7 100644
--- a/src/cadet/gnunet-cadet.c
+++ b/src/cadet/gnunet-cadet.c
@@ -840,7 +840,7 @@ main (int argc, char *const *argv)
840 &run, 840 &run,
841 NULL); 841 NULL);
842 842
843 GNUNET_free ((void *) argv); 843 GNUNET_free_nz ((void *) argv);
844 844
845 if (GNUNET_OK == res) 845 if (GNUNET_OK == res)
846 return 0; 846 return 0;
diff --git a/src/conversation/gnunet-conversation-test.c b/src/conversation/gnunet-conversation-test.c
index 2e6772d92..9f8e54033 100644
--- a/src/conversation/gnunet-conversation-test.c
+++ b/src/conversation/gnunet-conversation-test.c
@@ -257,7 +257,7 @@ main (int argc,
257 options, 257 options,
258 &run, 258 &run,
259 NULL)) ? ret : 1; 259 NULL)) ? ret : 1;
260 GNUNET_free ((void *) argv); 260 GNUNET_free_nz ((void *) argv);
261 return ret; 261 return ret;
262} 262}
263 263
diff --git a/src/conversation/gnunet-conversation.c b/src/conversation/gnunet-conversation.c
index 6c0a6e42f..b908cd82c 100644
--- a/src/conversation/gnunet-conversation.c
+++ b/src/conversation/gnunet-conversation.c
@@ -1219,7 +1219,7 @@ main (int argc, char *const *argv)
1219 options, 1219 options,
1220 &run, 1220 &run,
1221 NULL); 1221 NULL);
1222 GNUNET_free ((void *) argv); 1222 GNUNET_free_nz ((void *) argv);
1223 if (NULL != cfg) 1223 if (NULL != cfg)
1224 { 1224 {
1225 GNUNET_CONFIGURATION_destroy (cfg); 1225 GNUNET_CONFIGURATION_destroy (cfg);
diff --git a/src/core/gnunet-core.c b/src/core/gnunet-core.c
index 90777a7a8..d90c8e1f5 100644
--- a/src/core/gnunet-core.c
+++ b/src/core/gnunet-core.c
@@ -198,7 +198,7 @@ main (int argc, char *const *argv)
198 &run, 198 &run,
199 NULL); 199 NULL);
200 200
201 GNUNET_free ((void *) argv); 201 GNUNET_free_nz ((void *) argv);
202 if (GNUNET_OK == res) 202 if (GNUNET_OK == res)
203 return 0; 203 return 0;
204 return 1; 204 return 1;
diff --git a/src/curl/Makefile.am b/src/curl/Makefile.am
index ed5819dee..c6b350bc7 100644
--- a/src/curl/Makefile.am
+++ b/src/curl/Makefile.am
@@ -32,7 +32,7 @@ libgnunetcurl_la_LIBADD = \
32 $(LIB_GNURL) \ 32 $(LIB_GNURL) \
33 $(XLIB) 33 $(XLIB)
34libgnunetcurl_la_CPPFLAGS = \ 34libgnunetcurl_la_CPPFLAGS = \
35 $(CPP_GNURL) $(AM_CPPFLAGS) 35 $(CPP_GNURL) $(AM_CPPFLAGS) $(MHD_CFLAGS)
36 36
37#check_PROGRAMS = \ 37#check_PROGRAMS = \
38# test_curl 38# test_curl
diff --git a/src/curl/curl.c b/src/curl/curl.c
index da486ecc1..b7452330f 100644
--- a/src/curl/curl.c
+++ b/src/curl/curl.c
@@ -25,6 +25,7 @@
25 */ 25 */
26#include "platform.h" 26#include "platform.h"
27#include <jansson.h> 27#include <jansson.h>
28#include <microhttpd.h>
28#include "gnunet_curl_lib.h" 29#include "gnunet_curl_lib.h"
29 30
30#if ENABLE_BENCHMARK 31#if ENABLE_BENCHMARK
@@ -181,7 +182,8 @@ struct GNUNET_CURL_Context
181 * @return library context 182 * @return library context
182 */ 183 */
183struct GNUNET_CURL_Context * 184struct GNUNET_CURL_Context *
184GNUNET_CURL_init (GNUNET_CURL_RescheduleCallback cb, void *cb_cls) 185GNUNET_CURL_init (GNUNET_CURL_RescheduleCallback cb,
186 void *cb_cls)
185{ 187{
186 struct GNUNET_CURL_Context *ctx; 188 struct GNUNET_CURL_Context *ctx;
187 CURLM *multi; 189 CURLM *multi;
@@ -263,7 +265,10 @@ GNUNET_CURL_is_valid_scope_id (const char *scope_id)
263 * @return number of bytes processed from @a bufptr 265 * @return number of bytes processed from @a bufptr
264 */ 266 */
265static size_t 267static size_t
266download_cb (char *bufptr, size_t size, size_t nitems, void *cls) 268download_cb (char *bufptr,
269 size_t size,
270 size_t nitems,
271 void *cls)
267{ 272{
268 struct GNUNET_CURL_DownloadBuffer *db = cls; 273 struct GNUNET_CURL_DownloadBuffer *db = cls;
269 size_t msize; 274 size_t msize;
@@ -376,7 +381,9 @@ setup_job (CURL *eh,
376 } 381 }
377 job->easy_handle = eh; 382 job->easy_handle = eh;
378 job->ctx = ctx; 383 job->ctx = ctx;
379 GNUNET_CONTAINER_DLL_insert (ctx->jobs_head, ctx->jobs_tail, job); 384 GNUNET_CONTAINER_DLL_insert (ctx->jobs_head,
385 ctx->jobs_tail,
386 job);
380 return job; 387 return job;
381} 388}
382 389
@@ -497,7 +504,11 @@ GNUNET_CURL_job_add (struct GNUNET_CURL_Context *ctx,
497 curl_slist_append (NULL, "Content-Type: application/json"))); 504 curl_slist_append (NULL, "Content-Type: application/json")));
498 } 505 }
499 506
500 job = GNUNET_CURL_job_add2 (ctx, eh, job_headers, jcc, jcc_cls); 507 job = GNUNET_CURL_job_add2 (ctx,
508 eh,
509 job_headers,
510 jcc,
511 jcc_cls);
501 curl_slist_free_all (job_headers); 512 curl_slist_free_all (job_headers);
502 return job; 513 return job;
503} 514}
@@ -526,6 +537,40 @@ GNUNET_CURL_job_cancel (struct GNUNET_CURL_Job *job)
526 537
527 538
528/** 539/**
540 * Test if the given content type @a ct is JSON
541 *
542 * @param ct a content type, i.e. "application/json; charset=UTF-8"
543 * @return true if @a ct denotes JSON
544 */
545static bool
546is_json (const char *ct)
547{
548 const char *semi;
549
550 /* check for "application/json" exact match */
551 if (0 == strcasecmp (ct,
552 "application/json"))
553 return true;
554 /* check for "application/json;[ANYTHING]" */
555 semi = strchr (ct,
556 ';');
557 /* also allow "application/json [ANYTHING]" (note the space!) */
558 if (NULL == semi)
559 semi = strchr (ct,
560 ' ');
561 if (NULL == semi)
562 return false; /* no delimiter we accept, forget it */
563 if (semi - ct != strlen ("application/json"))
564 return false; /* delimiter past desired length, forget it */
565 if (0 == strncasecmp (ct,
566 "application/json",
567 strlen ("application/json")))
568 return true; /* OK */
569 return false;
570}
571
572
573/**
529 * Obtain information about the final result about the 574 * Obtain information about the final result about the
530 * HTTP download. If the download was successful, parses 575 * HTTP download. If the download was successful, parses
531 * the JSON in the @a db and returns it. Also returns 576 * the JSON in the @a db and returns it. Also returns
@@ -562,8 +607,7 @@ GNUNET_CURL_download_get_result_ (struct GNUNET_CURL_DownloadBuffer *db,
562 CURLINFO_CONTENT_TYPE, 607 CURLINFO_CONTENT_TYPE,
563 &ct)) || 608 &ct)) ||
564 (NULL == ct) || 609 (NULL == ct) ||
565 (0 != strcasecmp (ct, 610 (! is_json (ct)))
566 "application/json")))
567 { 611 {
568 /* No content type or explicitly not JSON, refuse to parse 612 /* No content type or explicitly not JSON, refuse to parse
569 (but keep response code) */ 613 (but keep response code) */
@@ -583,6 +627,8 @@ GNUNET_CURL_download_get_result_ (struct GNUNET_CURL_DownloadBuffer *db,
583 (const char *) db->buf); 627 (const char *) db->buf);
584 return NULL; 628 return NULL;
585 } 629 }
630 if (MHD_HTTP_NO_CONTENT == *response_code)
631 return NULL;
586 json = NULL; 632 json = NULL;
587 if (0 == db->eno) 633 if (0 == db->eno)
588 { 634 {
diff --git a/src/datastore/gnunet-datastore.c b/src/datastore/gnunet-datastore.c
index 54d087bc4..5901cce54 100644
--- a/src/datastore/gnunet-datastore.c
+++ b/src/datastore/gnunet-datastore.c
@@ -500,7 +500,7 @@ main (int argc, char *const *argv)
500 &run, 500 &run,
501 NULL)) 501 NULL))
502 ret = 1; 502 ret = 1;
503 GNUNET_free ((void *) argv); 503 GNUNET_free_nz ((void *) argv);
504 return ret; 504 return ret;
505} 505}
506 506
diff --git a/src/dns/gnunet-dns-monitor.c b/src/dns/gnunet-dns-monitor.c
index 7be792fc5..f6c0d0660 100644
--- a/src/dns/gnunet-dns-monitor.c
+++ b/src/dns/gnunet-dns-monitor.c
@@ -387,7 +387,7 @@ main (int argc, char *const *argv)
387 gettext_noop 387 gettext_noop
388 ("Monitor DNS queries."), options, 388 ("Monitor DNS queries."), options,
389 &run, NULL)) ? ret : 1; 389 &run, NULL)) ? ret : 1;
390 GNUNET_free ((void *) argv); 390 GNUNET_free_nz ((void *) argv);
391 return ret; 391 return ret;
392} 392}
393 393
diff --git a/src/dns/gnunet-dns-redirector.c b/src/dns/gnunet-dns-redirector.c
index f7051f70b..606864c8a 100644
--- a/src/dns/gnunet-dns-redirector.c
+++ b/src/dns/gnunet-dns-redirector.c
@@ -260,7 +260,7 @@ main (int argc, char *const *argv)
260 ("Change DNS replies to point elsewhere."), 260 ("Change DNS replies to point elsewhere."),
261 options, 261 options,
262 &run, NULL)) ? ret : 1; 262 &run, NULL)) ? ret : 1;
263 GNUNET_free ((void *) argv); 263 GNUNET_free_nz ((void *) argv);
264 return ret; 264 return ret;
265} 265}
266 266
diff --git a/src/fs/gnunet-auto-share.c b/src/fs/gnunet-auto-share.c
index 53c64ab04..13bc908e8 100644
--- a/src/fs/gnunet-auto-share.c
+++ b/src/fs/gnunet-auto-share.c
@@ -775,7 +775,7 @@ main (int argc, char *const *argv)
775 sigpipe = NULL; 775 sigpipe = NULL;
776 GNUNET_free_non_null (cfg_filename); 776 GNUNET_free_non_null (cfg_filename);
777 cfg_filename = NULL; 777 cfg_filename = NULL;
778 GNUNET_free ((void *) argv); 778 GNUNET_free_nz ((void *) argv);
779 return ok; 779 return ok;
780} 780}
781 781
diff --git a/src/fs/gnunet-directory.c b/src/fs/gnunet-directory.c
index 58950bceb..10a09f73b 100644
--- a/src/fs/gnunet-directory.c
+++ b/src/fs/gnunet-directory.c
@@ -203,7 +203,7 @@ main (int argc, char *const *argv)
203 NULL)) 203 NULL))
204 ? ret 204 ? ret
205 : 1; 205 : 1;
206 GNUNET_free ((void *) argv); 206 GNUNET_free_nz ((void *) argv);
207 return ret; 207 return ret;
208} 208}
209 209
diff --git a/src/fs/gnunet-download.c b/src/fs/gnunet-download.c
index 63bb02958..eebf8e993 100644
--- a/src/fs/gnunet-download.c
+++ b/src/fs/gnunet-download.c
@@ -376,7 +376,7 @@ main (int argc, char *const *argv)
376 NULL)) 376 NULL))
377 ? ret 377 ? ret
378 : 1; 378 : 1;
379 GNUNET_free ((void *) argv); 379 GNUNET_free_nz ((void *) argv);
380 return ret; 380 return ret;
381} 381}
382 382
diff --git a/src/fs/gnunet-fs-profiler.c b/src/fs/gnunet-fs-profiler.c
index fe86cf21f..62da46834 100644
--- a/src/fs/gnunet-fs-profiler.c
+++ b/src/fs/gnunet-fs-profiler.c
@@ -237,7 +237,7 @@ main (int argc, char *const *argv)
237 "run a testbed to measure file-sharing performance"), 237 "run a testbed to measure file-sharing performance"),
238 options, &run, 238 options, &run,
239 NULL)) ? ret : 1; 239 NULL)) ? ret : 1;
240 GNUNET_free ((void *) argv); 240 GNUNET_free_nz ((void *) argv);
241 return ret; 241 return ret;
242} 242}
243 243
diff --git a/src/fs/gnunet-fs.c b/src/fs/gnunet-fs.c
index 35d410d37..70a0034a0 100644
--- a/src/fs/gnunet-fs.c
+++ b/src/fs/gnunet-fs.c
@@ -144,7 +144,7 @@ main (int argc, char *const *argv)
144 NULL)) 144 NULL))
145 ? ret 145 ? ret
146 : 1; 146 : 1;
147 GNUNET_free ((void *) argv); 147 GNUNET_free_nz ((void *) argv);
148 return ret; 148 return ret;
149} 149}
150 150
diff --git a/src/fs/gnunet-publish.c b/src/fs/gnunet-publish.c
index ac310b785..b10e6163c 100644
--- a/src/fs/gnunet-publish.c
+++ b/src/fs/gnunet-publish.c
@@ -992,7 +992,7 @@ main (int argc, char *const *argv)
992 NULL)) 992 NULL))
993 ? ret 993 ? ret
994 : 1; 994 : 1;
995 GNUNET_free ((void *) argv); 995 GNUNET_free_nz ((void *) argv);
996 return ret; 996 return ret;
997} 997}
998 998
diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c
index e0b9a31fd..098633379 100644
--- a/src/fs/gnunet-search.c
+++ b/src/fs/gnunet-search.c
@@ -371,7 +371,7 @@ main (int argc, char *const *argv)
371 NULL)) 371 NULL))
372 ? ret 372 ? ret
373 : 1; 373 : 1;
374 GNUNET_free ((void *) argv); 374 GNUNET_free_nz ((void *) argv);
375 return ret; 375 return ret;
376} 376}
377 377
diff --git a/src/fs/gnunet-unindex.c b/src/fs/gnunet-unindex.c
index bf32de812..afc547127 100644
--- a/src/fs/gnunet-unindex.c
+++ b/src/fs/gnunet-unindex.c
@@ -197,7 +197,7 @@ main (int argc, char *const *argv)
197 NULL)) 197 NULL))
198 ? ret 198 ? ret
199 : 1; 199 : 1;
200 GNUNET_free ((void *) argv); 200 GNUNET_free_nz ((void *) argv);
201 return ret; 201 return ret;
202} 202}
203 203
diff --git a/src/gns/gnunet-bcd.c b/src/gns/gnunet-bcd.c
index 6ceff4a9a..f71f477ef 100644
--- a/src/gns/gnunet-bcd.c
+++ b/src/gns/gnunet-bcd.c
@@ -525,7 +525,7 @@ main (int argc, char *const *argv)
525 NULL)) 525 NULL))
526 ? 0 526 ? 0
527 : 1; 527 : 1;
528 GNUNET_free ((void *) argv); 528 GNUNET_free_nz ((void *) argv);
529 return ret; 529 return ret;
530} 530}
531 531
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c
index 8ec1f1cdb..eb9996b36 100644
--- a/src/gns/gnunet-dns2gns.c
+++ b/src/gns/gnunet-dns2gns.c
@@ -775,7 +775,7 @@ main (int argc,
775 _ ("GNUnet DNS-to-GNS proxy (a DNS server)"), 775 _ ("GNUnet DNS-to-GNS proxy (a DNS server)"),
776 options, 776 options,
777 &run, NULL)) ? 0 : 1; 777 &run, NULL)) ? 0 : 1;
778 GNUNET_free ((void *) argv); 778 GNUNET_free_nz ((void *) argv);
779 return ret; 779 return ret;
780} 780}
781 781
diff --git a/src/gns/gnunet-gns-benchmark.c b/src/gns/gnunet-gns-benchmark.c
index 0dcff7566..b36a83f21 100644
--- a/src/gns/gnunet-gns-benchmark.c
+++ b/src/gns/gnunet-gns-benchmark.c
@@ -610,7 +610,7 @@ main (int argc,
610 &run, 610 &run,
611 NULL)) 611 NULL))
612 ret = 1; 612 ret = 1;
613 GNUNET_free ((void *) argv); 613 GNUNET_free_nz ((void *) argv);
614 return ret; 614 return ret;
615} 615}
616 616
diff --git a/src/gns/gnunet-gns-import.c b/src/gns/gnunet-gns-import.c
index 0c104ee0d..2c7c56411 100644
--- a/src/gns/gnunet-gns-import.c
+++ b/src/gns/gnunet-gns-import.c
@@ -486,7 +486,7 @@ main (int argc, char *const *argv)
486 "This program will import some GNS authorities into your GNS namestore."), 486 "This program will import some GNS authorities into your GNS namestore."),
487 options, 487 options,
488 &run, NULL); 488 &run, NULL);
489 GNUNET_free ((void *) argv); 489 GNUNET_free_nz ((void *) argv);
490 return GNUNET_OK == r ? ret : 1; 490 return GNUNET_OK == r ? ret : 1;
491} 491}
492 492
diff --git a/src/gns/gnunet-gns.c b/src/gns/gnunet-gns.c
index d52761ef8..eb1d4f23f 100644
--- a/src/gns/gnunet-gns.c
+++ b/src/gns/gnunet-gns.c
@@ -376,7 +376,7 @@ main (int argc, char *const *argv)
376 options, 376 options,
377 &run, 377 &run,
378 NULL); 378 NULL);
379 GNUNET_free ((void *) argv); 379 GNUNET_free_nz ((void *) argv);
380 if (GNUNET_OK != ret) 380 if (GNUNET_OK != ret)
381 return 1; 381 return 1;
382 return global_ret; 382 return global_ret;
diff --git a/src/gnsrecord/perf_gnsrecord_crypto.c b/src/gnsrecord/perf_gnsrecord_crypto.c
index b2614eb77..eb4633f75 100644
--- a/src/gnsrecord/perf_gnsrecord_crypto.c
+++ b/src/gnsrecord/perf_gnsrecord_crypto.c
@@ -107,7 +107,7 @@ run (void *cls,
107 GNUNET_YES), 107 GNUNET_YES),
108 ROUNDS); 108 ROUNDS);
109 for (unsigned int i = 0; i < RECORDS; i++) 109 for (unsigned int i = 0; i < RECORDS; i++)
110 GNUNET_free ((void *) s_rd[i].data); 110 GNUNET_free_nz ((void *) s_rd[i].data);
111 GNUNET_free (s_rd); 111 GNUNET_free (s_rd);
112} 112}
113 113
diff --git a/src/gnsrecord/test_gnsrecord_serialization.c b/src/gnsrecord/test_gnsrecord_serialization.c
index 22d9f8396..d268cb7f3 100644
--- a/src/gnsrecord/test_gnsrecord_serialization.c
+++ b/src/gnsrecord/test_gnsrecord_serialization.c
@@ -132,7 +132,7 @@ run (void *cls,
132 132
133 for (c = 0; c < rd_count; c++) 133 for (c = 0; c < rd_count; c++)
134 { 134 {
135 GNUNET_free ((void *) src[c].data); 135 GNUNET_free_nz ((void *) src[c].data);
136 } 136 }
137} 137}
138 138
diff --git a/src/hostlist/gnunet-daemon-hostlist.c b/src/hostlist/gnunet-daemon-hostlist.c
index ca77545cd..704c796b4 100644
--- a/src/hostlist/gnunet-daemon-hostlist.c
+++ b/src/hostlist/gnunet-daemon-hostlist.c
@@ -409,7 +409,7 @@ main (int argc, char *const *argv)
409 _ ("GNUnet hostlist server and client"), 409 _ ("GNUnet hostlist server and client"),
410 options, 410 options,
411 &run, NULL)) ? 0 : 1; 411 &run, NULL)) ? 0 : 1;
412 GNUNET_free ((void *) argv); 412 GNUNET_free_nz ((void *) argv);
413 return ret; 413 return ret;
414} 414}
415 415
diff --git a/src/identity/gnunet-identity.c b/src/identity/gnunet-identity.c
index 1350376d9..8445a0ee5 100644
--- a/src/identity/gnunet-identity.c
+++ b/src/identity/gnunet-identity.c
@@ -439,7 +439,7 @@ main (int argc, char *const *argv)
439 options, 439 options,
440 &run, 440 &run,
441 NULL); 441 NULL);
442 GNUNET_free ((void *) argv); 442 GNUNET_free_nz ((void *) argv);
443 443
444 if (GNUNET_OK != res) 444 if (GNUNET_OK != res)
445 return 3; 445 return 3;
diff --git a/src/include/gnunet_common.h b/src/include/gnunet_common.h
index 78aeb3de7..033a68894 100644
--- a/src/include/gnunet_common.h
+++ b/src/include/gnunet_common.h
@@ -1209,7 +1209,10 @@ GNUNET_is_zero_ (const void *a,
1209 * @param n number of elements in the array 1209 * @param n number of elements in the array
1210 * @param type name of the struct or union, i.e. pass 'struct Foo'. 1210 * @param type name of the struct or union, i.e. pass 'struct Foo'.
1211 */ 1211 */
1212#define GNUNET_new_array(n, type) (type *) GNUNET_malloc ((n) * sizeof(type)) 1212#define GNUNET_new_array(n, type) ({ \
1213 GNUNET_assert (SIZE_MAX / sizeof (type) >= n); \
1214 (type *) GNUNET_malloc ((n) * sizeof(type)); \
1215 })
1213 1216
1214/** 1217/**
1215 * @ingroup memory 1218 * @ingroup memory
@@ -1284,23 +1287,23 @@ GNUNET_is_zero_ (const void *a,
1284 * @ingroup memory 1287 * @ingroup memory
1285 * Wrapper around free. Frees the memory referred to by ptr. 1288 * Wrapper around free. Frees the memory referred to by ptr.
1286 * Note that it is generally better to free memory that was 1289 * Note that it is generally better to free memory that was
1287 * allocated with #GNUNET_array_grow using #GNUNET_array_grow(mem, size, 0) instead of #GNUNET_free. 1290 * allocated with #GNUNET_array_grow using #GNUNET_array_grow(mem, size, 0) instead of #GNUNET_free_nz.
1288 * 1291 *
1289 * @param ptr location where to free the memory. ptr must have 1292 * @param ptr location where to free the memory. ptr must have
1290 * been returned by #GNUNET_strdup, #GNUNET_strndup, #GNUNET_malloc or #GNUNET_array_grow earlier. 1293 * been returned by #GNUNET_strdup, #GNUNET_strndup, #GNUNET_malloc or #GNUNET_array_grow earlier.
1291 */ 1294 */
1292#define GNUNET_free(ptr) GNUNET_xfree_ (ptr, __FILE__, __LINE__) 1295#define GNUNET_free_nz(ptr) GNUNET_xfree_ (ptr, __FILE__, __LINE__)
1293 1296
1294/** 1297/**
1295 * @ingroup memory 1298 * @ingroup memory
1296 * Wrapper around free. Frees the memory referred to by ptr and sets ptr to NULL. 1299 * Wrapper around free. Frees the memory referred to by ptr and sets ptr to NULL.
1297 * Note that it is generally better to free memory that was 1300 * Note that it is generally better to free memory that was
1298 * allocated with #GNUNET_array_grow using #GNUNET_array_grow(mem, size, 0) instead of #GNUNET_freez. 1301 * allocated with #GNUNET_array_grow using #GNUNET_array_grow(mem, size, 0) instead of #GNUNET_free.
1299 * 1302 *
1300 * @param ptr location where to free the memory. ptr must have 1303 * @param ptr location where to free the memory. ptr must have
1301 * been returned by #GNUNET_strdup, #GNUNET_strndup, #GNUNET_malloc or #GNUNET_array_grow earlier. 1304 * been returned by #GNUNET_strdup, #GNUNET_strndup, #GNUNET_malloc or #GNUNET_array_grow earlier.
1302 */ 1305 */
1303#define GNUNET_freez(ptr) do { \ 1306#define GNUNET_free(ptr) do { \
1304 GNUNET_xfree_ (ptr, __FILE__, __LINE__); \ 1307 GNUNET_xfree_ (ptr, __FILE__, __LINE__); \
1305 ptr = NULL; \ 1308 ptr = NULL; \
1306} while (0) 1309} while (0)
@@ -1389,22 +1392,58 @@ GNUNET_is_zero_ (const void *a,
1389 1392
1390/** 1393/**
1391 * @ingroup memory 1394 * @ingroup memory
1392 * Append an element to a list (growing the list by one). 1395 * Append an element to an array (growing the array by one).
1393 * 1396 *
1394 * @param arr base-pointer of the vector, may be NULL if size is 0; 1397 * @param arr base-pointer of the vector, may be NULL if @a len is 0;
1395 * will be updated to reflect the new address. The TYPE of 1398 * will be updated to reflect the new address. The TYPE of
1396 * arr is important since size is the number of elements and 1399 * arr is important since size is the number of elements and
1397 * not the size in bytes 1400 * not the size in bytes
1398 * @param size the number of elements in the existing vector (number 1401 * @param len the number of elements in the existing vector (number
1399 * of elements to copy over), will be updated with the new 1402 * of elements to copy over), will be updated with the new
1400 * array size 1403 * array length
1401 * @param element the element that will be appended to the array 1404 * @param element the element that will be appended to the array
1402 */ 1405 */
1403#define GNUNET_array_append(arr, size, element) \ 1406#define GNUNET_array_append(arr, len, element) \
1407 do \
1408 { \
1409 GNUNET_assert ((len) + 1 > (len)); \
1410 GNUNET_array_grow (arr, len, len + 1); \
1411 (arr) [len - 1] = element; \
1412 } while (0)
1413
1414
1415/**
1416 * @ingroup memory
1417 * Append @a arr2 to @a arr1 (growing @a arr1
1418 * as needed). The @a arr2 array is left unchanged. Naturally
1419 * this function performs a shallow copy. Both arrays must have
1420 * the same type for their elements.
1421 *
1422 * @param arr1 base-pointer of the vector, may be NULL if @a len is 0;
1423 * will be updated to reflect the new address. The TYPE of
1424 * arr is important since size is the number of elements and
1425 * not the size in bytes
1426 * @param len1 the number of elements in the existing vector (number
1427 * of elements to copy over), will be updated with the new
1428 * array size
1429 * @param arr2 base-pointer a second array to concatenate, may be NULL if @a len2 is 0;
1430 * will be updated to reflect the new address. The TYPE of
1431 * arr is important since size is the number of elements and
1432 * not the size in bytes
1433 * @param len the number of elements in the existing vector (number
1434 * of elements to copy over), will be updated with the new
1435 * array size
1436
1437 */
1438#define GNUNET_array_concatenate(arr1, len1, arr2, len2) \
1404 do \ 1439 do \
1405 { \ 1440 { \
1406 GNUNET_array_grow (arr, size, size + 1); \ 1441 const typeof (*arr2) * _a1 = (arr1); \
1407 (arr) [size - 1] = element; \ 1442 const typeof (*arr1) * _a2 = (arr2); \
1443 GNUNET_assert ((len1) + (len2) >= (len1)); \
1444 GNUNET_assert (SIZE_MAX / sizeof (*_a1) >= ((len1) + (len2))); \
1445 GNUNET_array_grow (arr1, len1, (len1) + (len2)); \
1446 memcpy (&(arr1) [(len1) - (len2)], _a2, (len2) * sizeof (*arr1)); \
1408 } while (0) 1447 } while (0)
1409 1448
1410/** 1449/**
diff --git a/src/include/gnunet_json_lib.h b/src/include/gnunet_json_lib.h
index f6cabd589..27996f18d 100644
--- a/src/include/gnunet_json_lib.h
+++ b/src/include/gnunet_json_lib.h
@@ -219,6 +219,17 @@ GNUNET_JSON_spec_json (const char *name, json_t **jsonp);
219 219
220 220
221/** 221/**
222 * boolean.
223 *
224 * @param name name of the JSON field
225 * @param[out] b where to store the boolean found under @a name
226 */
227struct GNUNET_JSON_Specification
228GNUNET_JSON_spec_bool (const char *name,
229 bool *b);
230
231
232/**
222 * 8-bit integer. 233 * 8-bit integer.
223 * 234 *
224 * @param name name of the JSON field 235 * @param name name of the JSON field
diff --git a/src/include/gnunet_revocation_service.h b/src/include/gnunet_revocation_service.h
index 7222cedc1..9a8918b43 100644
--- a/src/include/gnunet_revocation_service.h
+++ b/src/include/gnunet_revocation_service.h
@@ -51,6 +51,73 @@ extern "C"
51#define GNUNET_REVOCATION_VERSION 0x00000000 51#define GNUNET_REVOCATION_VERSION 0x00000000
52 52
53/** 53/**
54 * The proof-of-work narrowing factor.
55 * The number of PoWs that are calculates as part of revocation.
56 */
57#define POW_COUNT 32
58
59
60GNUNET_NETWORK_STRUCT_BEGIN
61
62struct GNUNET_REVOCATION_Pow
63{
64 /**
65 * The timestamp of the revocation
66 */
67 struct GNUNET_TIME_AbsoluteNBO timestamp;
68
69 /**
70 * The TTL of this revocation (purely informational)
71 */
72 struct GNUNET_TIME_RelativeNBO ttl;
73
74 /**
75 * The PoWs
76 */
77 uint64_t pow[POW_COUNT] GNUNET_PACKED;
78
79 /**
80 * The signature
81 */
82 struct GNUNET_CRYPTO_EcdsaSignature signature;
83
84 /**
85 * The revoked public key
86 */
87 struct GNUNET_CRYPTO_EcdsaPublicKey key;
88};
89
90
91/**
92 * The signature object we use for the PoW
93 */
94struct GNUNET_REVOCATION_SignaturePurpose
95{
96 /**
97 * The signature purpose
98 */
99 struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
100
101 /**
102 * The revoked public key
103 */
104 struct GNUNET_CRYPTO_EcdsaPublicKey key;
105
106 /**
107 * The timestamp of the revocation
108 */
109 struct GNUNET_TIME_AbsoluteNBO timestamp;
110};
111
112GNUNET_NETWORK_STRUCT_END
113
114
115/**
116 * Handle to a running proof-of-work calculation.
117 */
118struct GNUNET_REVOCATION_PowCalculationHandle;
119
120/**
54 * Handle for the key revocation query. 121 * Handle for the key revocation query.
55 */ 122 */
56struct GNUNET_REVOCATION_Query; 123struct GNUNET_REVOCATION_Query;
@@ -65,7 +132,8 @@ struct GNUNET_REVOCATION_Query;
65 * 132 *
66 */ 133 */
67typedef void (*GNUNET_REVOCATION_Callback) (void *cls, 134typedef void (*GNUNET_REVOCATION_Callback) (void *cls,
68 int is_valid); 135 enum GNUNET_GenericReturnValue
136 is_valid);
69 137
70 138
71/** 139/**
@@ -102,12 +170,9 @@ struct GNUNET_REVOCATION_Handle;
102 * Perform key revocation. 170 * Perform key revocation.
103 * 171 *
104 * @param cfg the configuration to use 172 * @param cfg the configuration to use
105 * @param key public key of the key to revoke
106 * @param sig signature to use on the revocation (should have been
107 * created using #GNUNET_REVOCATION_sign_revocation).
108 * @param pow proof of work to use (should have been created by 173 * @param pow proof of work to use (should have been created by
109 * iteratively calling #GNUNET_REVOCATION_check_pow) 174 * iteratively calling #GNUNET_REVOCATION_pow_round)
110 * @param func funtion to call with the result of the check 175 * @param func function to call with the result of the check
111 * (called with `is_valid` being #GNUNET_NO if 176 * (called with `is_valid` being #GNUNET_NO if
112 * the revocation worked). 177 * the revocation worked).
113 * @param func_cls closure to pass to @a func 178 * @param func_cls closure to pass to @a func
@@ -115,9 +180,7 @@ struct GNUNET_REVOCATION_Handle;
115 */ 180 */
116struct GNUNET_REVOCATION_Handle * 181struct GNUNET_REVOCATION_Handle *
117GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg, 182GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
118 const struct GNUNET_CRYPTO_EcdsaPublicKey *key, 183 const struct GNUNET_REVOCATION_Pow *pow,
119 const struct GNUNET_CRYPTO_EcdsaSignature *sig,
120 uint64_t pow,
121 GNUNET_REVOCATION_Callback func, void *func_cls); 184 GNUNET_REVOCATION_Callback func, void *func_cls);
122 185
123 186
@@ -131,31 +194,64 @@ GNUNET_REVOCATION_revoke_cancel (struct GNUNET_REVOCATION_Handle *h);
131 194
132 195
133/** 196/**
134 * Check if the given proof-of-work value 197 * Check if the given proof-of-work is valid.
135 * would be acceptable for revoking the given key.
136 * 198 *
137 * @param key key to check for 199 * @param pow proof of work
138 * @param pow proof of work value
139 * @param matching_bits how many bits must match (configuration) 200 * @param matching_bits how many bits must match (configuration)
201 * @param epoch_duration length of single epoch in configuration
140 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not 202 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
141 */ 203 */
142int 204enum GNUNET_GenericReturnValue
143GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EcdsaPublicKey *key, 205GNUNET_REVOCATION_check_pow (const struct GNUNET_REVOCATION_Pow *pow,
144 uint64_t pow, 206 unsigned int matching_bits,
145 unsigned int matching_bits); 207 struct GNUNET_TIME_Relative epoch_duration);
146 208
147 209
148/** 210/**
149 * Create a revocation signature. 211 * Initializes a fresh PoW computation.
150 * 212 *
151 * @param key private key of the key to revoke 213 * @param key the key to calculate the PoW for.
152 * @param sig where to write the revocation signature 214 * @param pow the pow object to work with in the calculation.
153 */ 215 */
154void 216void
155GNUNET_REVOCATION_sign_revocation (const struct 217GNUNET_REVOCATION_pow_init (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
156 GNUNET_CRYPTO_EcdsaPrivateKey *key, 218 struct GNUNET_REVOCATION_Pow *pow);
157 struct GNUNET_CRYPTO_EcdsaSignature *sig); 219
220
221/**
222 * Starts a proof-of-work calculation given the pow object as well as
223 * target epochs and difficulty.
224 *
225 * @param pow the PoW to based calculations on.
226 * @param epochs the number of epochs for which the PoW must be valid.
227 * @param difficulty the base difficulty of the PoW.
228 * @return a handle for use in PoW rounds
229 */
230struct GNUNET_REVOCATION_PowCalculationHandle*
231GNUNET_REVOCATION_pow_start (struct GNUNET_REVOCATION_Pow *pow,
232 int epochs,
233 unsigned int difficulty);
234
158 235
236/**
237 * Calculate a single round in the key revocation PoW.
238 *
239 * @param pc handle to the PoW, initially called with NULL.
240 * @return GNUNET_YES if the @a pow is acceptable, GNUNET_NO if not
241 */
242enum GNUNET_GenericReturnValue
243GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc);
244
245
246/**
247 * Stop a PoW calculation
248 *
249 * @param pc the calculation to clean up
250 * @return #GNUNET_YES if pow valid, #GNUNET_NO if pow was set but is not
251 * valid
252 */
253void
254GNUNET_REVOCATION_pow_stop (struct GNUNET_REVOCATION_PowCalculationHandle *pc);
159 255
160#if 0 /* keep Emacsens' auto-indent happy */ 256#if 0 /* keep Emacsens' auto-indent happy */
161{ 257{
diff --git a/src/json/Makefile.am b/src/json/Makefile.am
index 5968a3596..9cd80851c 100644
--- a/src/json/Makefile.am
+++ b/src/json/Makefile.am
@@ -37,6 +37,7 @@ TESTS = \
37 37
38test_json_SOURCES = \ 38test_json_SOURCES = \
39 test_json.c 39 test_json.c
40test_json_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
40test_json_LDADD = \ 41test_json_LDADD = \
41 libgnunetjson.la \ 42 libgnunetjson.la \
42 $(top_builddir)/src/util/libgnunetutil.la \ 43 $(top_builddir)/src/util/libgnunetutil.la \
diff --git a/src/json/json_gnsrecord.c b/src/json/json_gnsrecord.c
index bfbdd96ee..37f0c03da 100644
--- a/src/json/json_gnsrecord.c
+++ b/src/json/json_gnsrecord.c
@@ -50,10 +50,10 @@ cleanup_recordinfo (struct GnsRecordInfo *gnsrecord_info)
50{ 50{
51 if (NULL != *(gnsrecord_info->rd)) 51 if (NULL != *(gnsrecord_info->rd))
52 { 52 {
53 for (int i = 0; i < *(gnsrecord_info->rd_count); i++) 53 for (unsigned int i = 0; i < *(gnsrecord_info->rd_count); i++)
54 { 54 {
55 if (NULL != (*(gnsrecord_info->rd))[i].data) 55 if (NULL != (*(gnsrecord_info->rd))[i].data)
56 GNUNET_free ((char *) (*(gnsrecord_info->rd))[i].data); 56 GNUNET_free_nz ((char *) (*(gnsrecord_info->rd))[i].data);
57 } 57 }
58 GNUNET_free (*(gnsrecord_info->rd)); 58 GNUNET_free (*(gnsrecord_info->rd));
59 *(gnsrecord_info->rd) = NULL; 59 *(gnsrecord_info->rd) = NULL;
diff --git a/src/json/json_helper.c b/src/json/json_helper.c
index 74a92ce9f..02bd6bfab 100644
--- a/src/json/json_helper.c
+++ b/src/json/json_helper.c
@@ -327,6 +327,60 @@ GNUNET_JSON_spec_json (const char *name,
327 327
328 328
329/** 329/**
330 * Parse given JSON object to a bool.
331 *
332 * @param cls closure, NULL
333 * @param root the json object representing data
334 * @param[out] spec where to write the data
335 * @return #GNUNET_OK upon successful parsing; #GNUNET_SYSERR upon error
336 */
337static int
338parse_bool (void *cls,
339 json_t *root,
340 struct GNUNET_JSON_Specification *spec)
341{
342 bool *b = spec->ptr;
343
344 if (json_true () == root)
345 {
346 *b = true;
347 return GNUNET_OK;
348 }
349 if (json_false () == root)
350 {
351 *b = false;
352 return GNUNET_OK;
353 }
354 GNUNET_break_op (0);
355 return GNUNET_SYSERR;
356}
357
358
359/**
360 * boolean.
361 *
362 * @param name name of the JSON field
363 * @param[out] b where to store the boolean found under @a name
364 */
365struct GNUNET_JSON_Specification
366GNUNET_JSON_spec_bool (const char *name,
367 bool *b)
368{
369 struct GNUNET_JSON_Specification ret = {
370 .parser = &parse_bool,
371 .cleaner = NULL,
372 .cls = NULL,
373 .field = name,
374 .ptr = b,
375 .ptr_size = sizeof(bool),
376 .size_ptr = NULL
377 };
378
379 return ret;
380}
381
382
383/**
330 * Parse given JSON object to a uint8_t. 384 * Parse given JSON object to a uint8_t.
331 * 385 *
332 * @param cls closure, NULL 386 * @param cls closure, NULL
diff --git a/src/json/test_json_mhd.c b/src/json/test_json_mhd.c
index 5ab1b63ca..642715f25 100644
--- a/src/json/test_json_mhd.c
+++ b/src/json/test_json_mhd.c
@@ -27,6 +27,7 @@
27#include "gnunet_util_lib.h" 27#include "gnunet_util_lib.h"
28#include "gnunet_json_lib.h" 28#include "gnunet_json_lib.h"
29#include "gnunet_curl_lib.h" 29#include "gnunet_curl_lib.h"
30#include "gnunet_mhd_compat.h"
30#include <zlib.h> 31#include <zlib.h>
31 32
32#define MAX_SIZE 1024 * 1024 33#define MAX_SIZE 1024 * 1024
@@ -36,7 +37,7 @@ static json_t *bigj;
36static int global_ret; 37static int global_ret;
37 38
38 39
39static int 40static MHD_RESULT
40access_handler_cb (void *cls, 41access_handler_cb (void *cls,
41 struct MHD_Connection *connection, 42 struct MHD_Connection *connection,
42 const char *url, 43 const char *url,
diff --git a/src/namecache/gnunet-namecache.c b/src/namecache/gnunet-namecache.c
index 15a0c96ee..2e3c733e6 100644
--- a/src/namecache/gnunet-namecache.c
+++ b/src/namecache/gnunet-namecache.c
@@ -235,10 +235,10 @@ main (int argc, char *const *argv)
235 &run, 235 &run,
236 NULL)) 236 NULL))
237 { 237 {
238 GNUNET_free ((void *) argv); 238 GNUNET_free_nz ((void *) argv);
239 return 1; 239 return 1;
240 } 240 }
241 GNUNET_free ((void *) argv); 241 GNUNET_free_nz ((void *) argv);
242 return ret; 242 return ret;
243} 243}
244 244
diff --git a/src/namecache/test_namecache_api_cache_block.c b/src/namecache/test_namecache_api_cache_block.c
index 9b150c9d9..12b72d93b 100644
--- a/src/namecache/test_namecache_api_cache_block.c
+++ b/src/namecache/test_namecache_api_cache_block.c
@@ -39,7 +39,7 @@ static struct GNUNET_NAMECACHE_Handle *nsh;
39 39
40static struct GNUNET_SCHEDULER_Task *endbadly_task; 40static struct GNUNET_SCHEDULER_Task *endbadly_task;
41 41
42static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey; 42static struct GNUNET_CRYPTO_EcdsaPrivateKey privkey;
43 43
44static struct GNUNET_CRYPTO_EcdsaPublicKey pubkey; 44static struct GNUNET_CRYPTO_EcdsaPublicKey pubkey;
45 45
@@ -56,11 +56,6 @@ cleanup ()
56 GNUNET_NAMECACHE_disconnect (nsh); 56 GNUNET_NAMECACHE_disconnect (nsh);
57 nsh = NULL; 57 nsh = NULL;
58 } 58 }
59 if (NULL != privkey)
60 {
61 GNUNET_free (privkey);
62 privkey = NULL;
63 }
64 GNUNET_SCHEDULER_shutdown (); 59 GNUNET_SCHEDULER_shutdown ();
65} 60}
66 61
@@ -188,10 +183,12 @@ run (void *cls,
188 "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey"); 183 "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
189 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", 184 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n",
190 hostkey_file); 185 hostkey_file);
191 privkey = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); 186 GNUNET_assert (GNUNET_SYSERR !=
187 GNUNET_CRYPTO_ecdsa_key_from_file (hostkey_file,
188 GNUNET_YES,
189 &privkey));
192 GNUNET_free (hostkey_file); 190 GNUNET_free (hostkey_file);
193 GNUNET_assert (privkey != NULL); 191 GNUNET_CRYPTO_ecdsa_key_get_public (&privkey, &pubkey);
194 GNUNET_CRYPTO_ecdsa_key_get_public (privkey, &pubkey);
195 192
196 193
197 rd.expiration_time = GNUNET_TIME_absolute_get ().abs_value_us + 10000000000; 194 rd.expiration_time = GNUNET_TIME_absolute_get ().abs_value_us + 10000000000;
@@ -200,7 +197,7 @@ run (void *cls,
200 rd.data = GNUNET_malloc (TEST_RECORD_DATALEN); 197 rd.data = GNUNET_malloc (TEST_RECORD_DATALEN);
201 rd.flags = 0; 198 rd.flags = 0;
202 memset ((char *) rd.data, 'a', TEST_RECORD_DATALEN); 199 memset ((char *) rd.data, 'a', TEST_RECORD_DATALEN);
203 block = GNUNET_GNSRECORD_block_create (privkey, 200 block = GNUNET_GNSRECORD_block_create (&privkey,
204 GNUNET_TIME_UNIT_FOREVER_ABS, 201 GNUNET_TIME_UNIT_FOREVER_ABS,
205 name, &rd, 1); 202 name, &rd, 1);
206 if (NULL == block) 203 if (NULL == block)
@@ -232,7 +229,7 @@ run (void *cls,
232 _ ("Namecache cannot cache no block\n")); 229 _ ("Namecache cannot cache no block\n"));
233 } 230 }
234 GNUNET_free (block); 231 GNUNET_free (block);
235 GNUNET_free ((void *) rd.data); 232 GNUNET_free_nz ((void *) rd.data);
236} 233}
237 234
238 235
diff --git a/src/namestore/gnunet-namestore-fcfsd.c b/src/namestore/gnunet-namestore-fcfsd.c
index 67fc5bdf4..34641d22e 100644
--- a/src/namestore/gnunet-namestore-fcfsd.c
+++ b/src/namestore/gnunet-namestore-fcfsd.c
@@ -1210,7 +1210,7 @@ main (int argc,
1210 "GNU Name System First Come First Serve name registration service"), 1210 "GNU Name System First Come First Serve name registration service"),
1211 options, 1211 options,
1212 &run, NULL)) ? 0 : 1; 1212 &run, NULL)) ? 0 : 1;
1213 GNUNET_free ((void *) argv); 1213 GNUNET_free_nz ((void *) argv);
1214 GNUNET_CRYPTO_ecdsa_key_clear (&fcfs_zone_pkey); 1214 GNUNET_CRYPTO_ecdsa_key_clear (&fcfs_zone_pkey);
1215 return ret; 1215 return ret;
1216} 1216}
diff --git a/src/namestore/gnunet-namestore.c b/src/namestore/gnunet-namestore.c
index 25dfda59b..508566a49 100644
--- a/src/namestore/gnunet-namestore.c
+++ b/src/namestore/gnunet-namestore.c
@@ -1688,11 +1688,11 @@ main (int argc, char *const *argv)
1688 &run, 1688 &run,
1689 NULL))) 1689 NULL)))
1690 { 1690 {
1691 GNUNET_free ((void *) argv); 1691 GNUNET_free_nz ((void *) argv);
1692 GNUNET_CRYPTO_ecdsa_key_clear (&zone_pkey); 1692 GNUNET_CRYPTO_ecdsa_key_clear (&zone_pkey);
1693 return lret; 1693 return lret;
1694 } 1694 }
1695 GNUNET_free ((void *) argv); 1695 GNUNET_free_nz ((void *) argv);
1696 GNUNET_CRYPTO_ecdsa_key_clear (&zone_pkey); 1696 GNUNET_CRYPTO_ecdsa_key_clear (&zone_pkey);
1697 return ret; 1697 return ret;
1698} 1698}
diff --git a/src/namestore/gnunet-zoneimport.c b/src/namestore/gnunet-zoneimport.c
index eca02bdc3..5b4e41475 100644
--- a/src/namestore/gnunet-zoneimport.c
+++ b/src/namestore/gnunet-zoneimport.c
@@ -1866,7 +1866,7 @@ main (int argc, char *const *argv)
1866 &run, 1866 &run,
1867 NULL))) 1867 NULL)))
1868 return ret; 1868 return ret;
1869 GNUNET_free ((void *) argv); 1869 GNUNET_free_nz ((void *) argv);
1870 fprintf (stderr, 1870 fprintf (stderr,
1871 "Rejected %u names, had %u cached, did %u lookups, stored %u record sets\n" 1871 "Rejected %u names, had %u cached, did %u lookups, stored %u record sets\n"
1872 "Found %u records, %u lookups failed, %u/%u pending on shutdown\n", 1872 "Found %u records, %u lookups failed, %u/%u pending on shutdown\n",
diff --git a/src/namestore/plugin_rest_namestore.c b/src/namestore/plugin_rest_namestore.c
index d2a93a286..c0bf4b048 100644
--- a/src/namestore/plugin_rest_namestore.c
+++ b/src/namestore/plugin_rest_namestore.c
@@ -267,7 +267,7 @@ cleanup_handle (void *cls)
267 for (int i = 0; i < handle->rd_count; i++) 267 for (int i = 0; i < handle->rd_count; i++)
268 { 268 {
269 if (NULL != handle->rd[i].data) 269 if (NULL != handle->rd[i].data)
270 GNUNET_free ((void *) handle->rd[i].data); 270 GNUNET_free_nz ((void *) handle->rd[i].data);
271 } 271 }
272 GNUNET_free (handle->rd); 272 GNUNET_free (handle->rd);
273 } 273 }
diff --git a/src/namestore/test_namestore_api_lookup_private.c b/src/namestore/test_namestore_api_lookup_private.c
index 98fdb1b43..d0ad726cc 100644
--- a/src/namestore/test_namestore_api_lookup_private.c
+++ b/src/namestore/test_namestore_api_lookup_private.c
@@ -212,7 +212,7 @@ run (void *cls,
212 _ ("Namestore cannot store no block\n")); 212 _ ("Namestore cannot store no block\n"));
213 } 213 }
214 214
215 GNUNET_free ((void *) rd.data); 215 GNUNET_free_nz ((void *) rd.data);
216} 216}
217 217
218 218
diff --git a/src/namestore/test_namestore_api_lookup_public.c b/src/namestore/test_namestore_api_lookup_public.c
index 83a5a78f6..039c7cbf6 100644
--- a/src/namestore/test_namestore_api_lookup_public.c
+++ b/src/namestore/test_namestore_api_lookup_public.c
@@ -221,7 +221,7 @@ run (void *cls,
221 _ ("Namestore cannot store no block\n")); 221 _ ("Namestore cannot store no block\n"));
222 } 222 }
223 223
224 GNUNET_free ((void *) rd.data); 224 GNUNET_free_nz ((void *) rd.data);
225} 225}
226 226
227 227
diff --git a/src/namestore/test_namestore_api_lookup_shadow.c b/src/namestore/test_namestore_api_lookup_shadow.c
index 08c428731..d399d903a 100644
--- a/src/namestore/test_namestore_api_lookup_shadow.c
+++ b/src/namestore/test_namestore_api_lookup_shadow.c
@@ -254,7 +254,7 @@ run (void *cls,
254 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 254 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
255 _ ("Namestore cannot store no block\n")); 255 _ ("Namestore cannot store no block\n"));
256 } 256 }
257 GNUNET_free ((void *) rd.data); 257 GNUNET_free_nz ((void *) rd.data);
258} 258}
259 259
260 260
diff --git a/src/namestore/test_namestore_api_lookup_shadow_filter.c b/src/namestore/test_namestore_api_lookup_shadow_filter.c
index 634a6a3c4..40dbeb90f 100644
--- a/src/namestore/test_namestore_api_lookup_shadow_filter.c
+++ b/src/namestore/test_namestore_api_lookup_shadow_filter.c
@@ -336,8 +336,8 @@ run (void *cls,
336 _ ("Namestore cannot store no block\n")); 336 _ ("Namestore cannot store no block\n"));
337 } 337 }
338 338
339 GNUNET_free ((void *) records[0].data); 339 GNUNET_free_nz ((void *) records[0].data);
340 GNUNET_free ((void *) records[1].data); 340 GNUNET_free_nz ((void *) records[1].data);
341} 341}
342 342
343 343
diff --git a/src/namestore/test_namestore_api_monitoring.c b/src/namestore/test_namestore_api_monitoring.c
index d26492517..cc00adf44 100644
--- a/src/namestore/test_namestore_api_monitoring.c
+++ b/src/namestore/test_namestore_api_monitoring.c
@@ -94,17 +94,17 @@ do_shutdown ()
94 94
95 if (s_rd_1 != NULL) 95 if (s_rd_1 != NULL)
96 { 96 {
97 GNUNET_free ((void *) s_rd_1->data); 97 GNUNET_free_nz ((void *) s_rd_1->data);
98 GNUNET_free (s_rd_1); 98 GNUNET_free (s_rd_1);
99 } 99 }
100 if (s_rd_2 != NULL) 100 if (s_rd_2 != NULL)
101 { 101 {
102 GNUNET_free ((void *) s_rd_2->data); 102 GNUNET_free_nz ((void *) s_rd_2->data);
103 GNUNET_free (s_rd_2); 103 GNUNET_free (s_rd_2);
104 } 104 }
105 if (s_rd_3 != NULL) 105 if (s_rd_3 != NULL)
106 { 106 {
107 GNUNET_free ((void *) s_rd_3->data); 107 GNUNET_free_nz ((void *) s_rd_3->data);
108 GNUNET_free (s_rd_3); 108 GNUNET_free (s_rd_3);
109 } 109 }
110} 110}
diff --git a/src/namestore/test_namestore_api_monitoring_existing.c b/src/namestore/test_namestore_api_monitoring_existing.c
index 040a63f91..728fcc25e 100644
--- a/src/namestore/test_namestore_api_monitoring_existing.c
+++ b/src/namestore/test_namestore_api_monitoring_existing.c
@@ -111,17 +111,17 @@ end (void *cls)
111 } 111 }
112 if (NULL != s_rd_1) 112 if (NULL != s_rd_1)
113 { 113 {
114 GNUNET_free ((void *) s_rd_1->data); 114 GNUNET_free_nz ((void *) s_rd_1->data);
115 GNUNET_free (s_rd_1); 115 GNUNET_free (s_rd_1);
116 } 116 }
117 if (NULL != s_rd_2) 117 if (NULL != s_rd_2)
118 { 118 {
119 GNUNET_free ((void *) s_rd_2->data); 119 GNUNET_free_nz ((void *) s_rd_2->data);
120 GNUNET_free (s_rd_2); 120 GNUNET_free (s_rd_2);
121 } 121 }
122 if (NULL != s_rd_3) 122 if (NULL != s_rd_3)
123 { 123 {
124 GNUNET_free ((void *) s_rd_3->data); 124 GNUNET_free_nz ((void *) s_rd_3->data);
125 GNUNET_free (s_rd_3); 125 GNUNET_free (s_rd_3);
126 } 126 }
127} 127}
diff --git a/src/namestore/test_namestore_api_remove.c b/src/namestore/test_namestore_api_remove.c
index 3f0c4c123..e575821e8 100644
--- a/src/namestore/test_namestore_api_remove.c
+++ b/src/namestore/test_namestore_api_remove.c
@@ -187,7 +187,7 @@ run (void *cls,
187 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 187 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
188 _ ("Namestore cannot store no block\n")); 188 _ ("Namestore cannot store no block\n"));
189 } 189 }
190 GNUNET_free ((void *) rd.data); 190 GNUNET_free_nz ((void *) rd.data);
191} 191}
192 192
193 193
diff --git a/src/namestore/test_namestore_api_store.c b/src/namestore/test_namestore_api_store.c
index ab211aeae..9223b56a3 100644
--- a/src/namestore/test_namestore_api_store.c
+++ b/src/namestore/test_namestore_api_store.c
@@ -138,7 +138,7 @@ run (void *cls,
138 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 138 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
139 _ ("Namestore cannot store no block\n")); 139 _ ("Namestore cannot store no block\n"));
140 } 140 }
141 GNUNET_free ((void *) rd.data); 141 GNUNET_free_nz ((void *) rd.data);
142} 142}
143 143
144 144
diff --git a/src/namestore/test_namestore_api_store_update.c b/src/namestore/test_namestore_api_store_update.c
index 65dbdbd8c..7a5a69a6c 100644
--- a/src/namestore/test_namestore_api_store_update.c
+++ b/src/namestore/test_namestore_api_store_update.c
@@ -274,7 +274,7 @@ run (void *cls,
274 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 274 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
275 _ ("Namestore cannot store no block\n")); 275 _ ("Namestore cannot store no block\n"));
276 } 276 }
277 GNUNET_free ((void *) rd.data); 277 GNUNET_free_nz ((void *) rd.data);
278} 278}
279 279
280 280
diff --git a/src/namestore/test_namestore_api_zone_iteration.c b/src/namestore/test_namestore_api_zone_iteration.c
index d69b7cc62..a363ee28d 100644
--- a/src/namestore/test_namestore_api_zone_iteration.c
+++ b/src/namestore/test_namestore_api_zone_iteration.c
@@ -37,9 +37,9 @@ static struct GNUNET_NAMESTORE_Handle *nsh;
37 37
38static struct GNUNET_SCHEDULER_Task *endbadly_task; 38static struct GNUNET_SCHEDULER_Task *endbadly_task;
39 39
40static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey; 40static struct GNUNET_CRYPTO_EcdsaPrivateKey privkey;
41 41
42static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey2; 42static struct GNUNET_CRYPTO_EcdsaPrivateKey privkey2;
43 43
44static struct GNUNET_NAMESTORE_ZoneIterator *zi; 44static struct GNUNET_NAMESTORE_ZoneIterator *zi;
45 45
@@ -88,32 +88,22 @@ end (void *cls)
88 GNUNET_SCHEDULER_cancel (endbadly_task); 88 GNUNET_SCHEDULER_cancel (endbadly_task);
89 endbadly_task = NULL; 89 endbadly_task = NULL;
90 } 90 }
91 if (NULL != privkey)
92 {
93 GNUNET_free (privkey);
94 privkey = NULL;
95 }
96 if (NULL != privkey2)
97 {
98 GNUNET_free (privkey2);
99 privkey2 = NULL;
100 }
101 GNUNET_free_non_null (s_name_1); 91 GNUNET_free_non_null (s_name_1);
102 GNUNET_free_non_null (s_name_2); 92 GNUNET_free_non_null (s_name_2);
103 GNUNET_free_non_null (s_name_3); 93 GNUNET_free_non_null (s_name_3);
104 if (NULL != s_rd_1) 94 if (NULL != s_rd_1)
105 { 95 {
106 GNUNET_free ((void *) s_rd_1->data); 96 GNUNET_free_nz ((void *) s_rd_1->data);
107 GNUNET_free (s_rd_1); 97 GNUNET_free (s_rd_1);
108 } 98 }
109 if (NULL != s_rd_2) 99 if (NULL != s_rd_2)
110 { 100 {
111 GNUNET_free ((void *) s_rd_2->data); 101 GNUNET_free_nz ((void *) s_rd_2->data);
112 GNUNET_free (s_rd_2); 102 GNUNET_free (s_rd_2);
113 } 103 }
114 if (NULL != s_rd_3) 104 if (NULL != s_rd_3)
115 { 105 {
116 GNUNET_free ((void *) s_rd_3->data); 106 GNUNET_free_nz ((void *) s_rd_3->data);
117 GNUNET_free (s_rd_3); 107 GNUNET_free (s_rd_3);
118 } 108 }
119 if (NULL != nsh) 109 if (NULL != nsh)
@@ -161,7 +151,7 @@ zone_proc (void *cls,
161 151
162 GNUNET_assert (NULL != zone); 152 GNUNET_assert (NULL != zone);
163 if (0 == GNUNET_memcmp (zone, 153 if (0 == GNUNET_memcmp (zone,
164 privkey)) 154 &privkey))
165 { 155 {
166 if (0 == strcmp (label, s_name_1)) 156 if (0 == strcmp (label, s_name_1))
167 { 157 {
@@ -207,7 +197,7 @@ zone_proc (void *cls,
207 } 197 }
208 } 198 }
209 else if (0 == GNUNET_memcmp (zone, 199 else if (0 == GNUNET_memcmp (zone,
210 privkey2)) 200 &privkey2))
211 { 201 {
212 if (0 == strcmp (label, s_name_3)) 202 if (0 == strcmp (label, s_name_3))
213 { 203 {
@@ -382,9 +372,11 @@ empty_zone_end (void *cls)
382 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 372 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
383 "Using zonekey file `%s' \n", 373 "Using zonekey file `%s' \n",
384 hostkey_file); 374 hostkey_file);
385 privkey = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); 375 GNUNET_assert (GNUNET_SYSERR !=
376 GNUNET_CRYPTO_ecdsa_key_from_file (hostkey_file,
377 GNUNET_YES,
378 &privkey));
386 GNUNET_free (hostkey_file); 379 GNUNET_free (hostkey_file);
387 GNUNET_assert (privkey != NULL);
388 380
389 GNUNET_asprintf (&hostkey_file, 381 GNUNET_asprintf (&hostkey_file,
390 "zonefiles%s%s", 382 "zonefiles%s%s",
@@ -393,16 +385,18 @@ empty_zone_end (void *cls)
393 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 385 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
394 "Using zonekey file `%s' \n", 386 "Using zonekey file `%s' \n",
395 hostkey_file); 387 hostkey_file);
396 privkey2 = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); 388 GNUNET_assert (GNUNET_SYSERR !=
389 GNUNET_CRYPTO_ecdsa_key_from_file (hostkey_file,
390 GNUNET_YES,
391 &privkey2));
397 GNUNET_free (hostkey_file); 392 GNUNET_free (hostkey_file);
398 GNUNET_assert (privkey2 != NULL);
399 393
400 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 1\n"); 394 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 1\n");
401 395
402 GNUNET_asprintf (&s_name_1, "dummy1"); 396 GNUNET_asprintf (&s_name_1, "dummy1");
403 s_rd_1 = create_record (1); 397 s_rd_1 = create_record (1);
404 GNUNET_NAMESTORE_records_store (nsh, 398 GNUNET_NAMESTORE_records_store (nsh,
405 privkey, 399 &privkey,
406 s_name_1, 400 s_name_1,
407 1, s_rd_1, 401 1, s_rd_1,
408 &put_cont, 402 &put_cont,
@@ -412,7 +406,7 @@ empty_zone_end (void *cls)
412 GNUNET_asprintf (&s_name_2, "dummy2"); 406 GNUNET_asprintf (&s_name_2, "dummy2");
413 s_rd_2 = create_record (1); 407 s_rd_2 = create_record (1);
414 GNUNET_NAMESTORE_records_store (nsh, 408 GNUNET_NAMESTORE_records_store (nsh,
415 privkey, 409 &privkey,
416 s_name_2, 410 s_name_2,
417 1, s_rd_2, 411 1, s_rd_2,
418 &put_cont, 412 &put_cont,
@@ -423,7 +417,7 @@ empty_zone_end (void *cls)
423 GNUNET_asprintf (&s_name_3, "dummy3"); 417 GNUNET_asprintf (&s_name_3, "dummy3");
424 s_rd_3 = create_record (1); 418 s_rd_3 = create_record (1);
425 GNUNET_NAMESTORE_records_store (nsh, 419 GNUNET_NAMESTORE_records_store (nsh,
426 privkey2, 420 &privkey2,
427 s_name_3, 421 s_name_3,
428 1, 422 1,
429 s_rd_3, 423 s_rd_3,
diff --git a/src/namestore/test_namestore_api_zone_iteration_nick.c b/src/namestore/test_namestore_api_zone_iteration_nick.c
index f5ffe3899..b0c4c8211 100644
--- a/src/namestore/test_namestore_api_zone_iteration_nick.c
+++ b/src/namestore/test_namestore_api_zone_iteration_nick.c
@@ -87,17 +87,17 @@ end (void *cls)
87 87
88 if (s_rd_1 != NULL) 88 if (s_rd_1 != NULL)
89 { 89 {
90 GNUNET_free ((void *) s_rd_1->data); 90 GNUNET_free_nz ((void *) s_rd_1->data);
91 GNUNET_free (s_rd_1); 91 GNUNET_free (s_rd_1);
92 } 92 }
93 if (s_rd_2 != NULL) 93 if (s_rd_2 != NULL)
94 { 94 {
95 GNUNET_free ((void *) s_rd_2->data); 95 GNUNET_free_nz ((void *) s_rd_2->data);
96 GNUNET_free (s_rd_2); 96 GNUNET_free (s_rd_2);
97 } 97 }
98 if (s_rd_3 != NULL) 98 if (s_rd_3 != NULL)
99 { 99 {
100 GNUNET_free ((void *) s_rd_3->data); 100 GNUNET_free_nz ((void *) s_rd_3->data);
101 GNUNET_free (s_rd_3); 101 GNUNET_free (s_rd_3);
102 } 102 }
103} 103}
diff --git a/src/namestore/test_namestore_api_zone_iteration_specific_zone.c b/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
index 97093cb71..0534da001 100644
--- a/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
+++ b/src/namestore/test_namestore_api_zone_iteration_specific_zone.c
@@ -93,17 +93,17 @@ end (void *cls)
93 GNUNET_free_non_null (s_name_3); 93 GNUNET_free_non_null (s_name_3);
94 if (s_rd_1 != NULL) 94 if (s_rd_1 != NULL)
95 { 95 {
96 GNUNET_free ((void *) s_rd_1->data); 96 GNUNET_free_nz ((void *) s_rd_1->data);
97 GNUNET_free (s_rd_1); 97 GNUNET_free (s_rd_1);
98 } 98 }
99 if (s_rd_2 != NULL) 99 if (s_rd_2 != NULL)
100 { 100 {
101 GNUNET_free ((void *) s_rd_2->data); 101 GNUNET_free_nz ((void *) s_rd_2->data);
102 GNUNET_free (s_rd_2); 102 GNUNET_free (s_rd_2);
103 } 103 }
104 if (s_rd_3 != NULL) 104 if (s_rd_3 != NULL)
105 { 105 {
106 GNUNET_free ((void *) s_rd_3->data); 106 GNUNET_free_nz ((void *) s_rd_3->data);
107 GNUNET_free (s_rd_3); 107 GNUNET_free (s_rd_3);
108 } 108 }
109 if (nsh != NULL) 109 if (nsh != NULL)
diff --git a/src/namestore/test_namestore_api_zone_iteration_stop.c b/src/namestore/test_namestore_api_zone_iteration_stop.c
index 81fb4de7e..b71a8789c 100644
--- a/src/namestore/test_namestore_api_zone_iteration_stop.c
+++ b/src/namestore/test_namestore_api_zone_iteration_stop.c
@@ -34,9 +34,9 @@
34 34
35static struct GNUNET_NAMESTORE_Handle *nsh; 35static struct GNUNET_NAMESTORE_Handle *nsh;
36 36
37static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey; 37static struct GNUNET_CRYPTO_EcdsaPrivateKey privkey;
38 38
39static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey2; 39static struct GNUNET_CRYPTO_EcdsaPrivateKey privkey2;
40 40
41static struct GNUNET_NAMESTORE_ZoneIterator *zi; 41static struct GNUNET_NAMESTORE_ZoneIterator *zi;
42 42
@@ -80,29 +80,19 @@ end (void *cls)
80 GNUNET_free_non_null (s_name_3); 80 GNUNET_free_non_null (s_name_3);
81 if (s_rd_1 != NULL) 81 if (s_rd_1 != NULL)
82 { 82 {
83 GNUNET_free ((void *) s_rd_1->data); 83 GNUNET_free_nz ((void *) s_rd_1->data);
84 GNUNET_free (s_rd_1); 84 GNUNET_free (s_rd_1);
85 } 85 }
86 if (s_rd_2 != NULL) 86 if (s_rd_2 != NULL)
87 { 87 {
88 GNUNET_free ((void *) s_rd_2->data); 88 GNUNET_free_nz ((void *) s_rd_2->data);
89 GNUNET_free (s_rd_2); 89 GNUNET_free (s_rd_2);
90 } 90 }
91 if (s_rd_3 != NULL) 91 if (s_rd_3 != NULL)
92 { 92 {
93 GNUNET_free ((void *) s_rd_3->data); 93 GNUNET_free_nz ((void *) s_rd_3->data);
94 GNUNET_free (s_rd_3); 94 GNUNET_free (s_rd_3);
95 } 95 }
96 if (privkey != NULL)
97 {
98 GNUNET_free (privkey);
99 privkey = NULL;
100 }
101 if (privkey2 != NULL)
102 {
103 GNUNET_free (privkey2);
104 privkey2 = NULL;
105 }
106} 96}
107 97
108 98
@@ -130,7 +120,7 @@ zone_proc (void *cls,
130 int failed = GNUNET_NO; 120 int failed = GNUNET_NO;
131 121
132 GNUNET_assert (NULL != zone); 122 GNUNET_assert (NULL != zone);
133 if (0 == GNUNET_memcmp (zone, privkey)) 123 if (0 == GNUNET_memcmp (zone, &privkey))
134 { 124 {
135 if (0 == strcmp (label, s_name_1)) 125 if (0 == strcmp (label, s_name_1))
136 { 126 {
@@ -175,7 +165,7 @@ zone_proc (void *cls,
175 GNUNET_break (0); 165 GNUNET_break (0);
176 } 166 }
177 } 167 }
178 else if (0 == GNUNET_memcmp (zone, privkey2)) 168 else if (0 == GNUNET_memcmp (zone, &privkey2))
179 { 169 {
180 if (0 == strcmp (label, s_name_3)) 170 if (0 == strcmp (label, s_name_3))
181 { 171 {
@@ -368,10 +358,11 @@ empty_zone_proc_end (void *cls)
368 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 358 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
369 "Using zonekey file `%s' \n", 359 "Using zonekey file `%s' \n",
370 hostkey_file); 360 hostkey_file);
371 privkey = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); 361 GNUNET_assert (GNUNET_SYSERR
362 != GNUNET_CRYPTO_ecdsa_key_from_file (hostkey_file,
363 GNUNET_YES,
364 &privkey));
372 GNUNET_free (hostkey_file); 365 GNUNET_free (hostkey_file);
373 GNUNET_assert (privkey != NULL);
374
375 GNUNET_asprintf (&hostkey_file, 366 GNUNET_asprintf (&hostkey_file,
376 "zonefiles%s%s", 367 "zonefiles%s%s",
377 DIR_SEPARATOR_STR, 368 DIR_SEPARATOR_STR,
@@ -379,17 +370,19 @@ empty_zone_proc_end (void *cls)
379 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 370 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
380 "Using zonekey file `%s'\n", 371 "Using zonekey file `%s'\n",
381 hostkey_file); 372 hostkey_file);
382 privkey2 = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); 373 GNUNET_assert (GNUNET_SYSERR !=
374 GNUNET_CRYPTO_ecdsa_key_from_file (hostkey_file,
375 GNUNET_YES,
376 &privkey2));
383 GNUNET_free (hostkey_file); 377 GNUNET_free (hostkey_file);
384 GNUNET_assert (privkey2 != NULL);
385
386 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 378 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
387 "Created record 1\n"); 379 "Created record 1\n");
388 380
389 GNUNET_asprintf (&s_name_1, 381 GNUNET_asprintf (&s_name_1,
390 "dummy1"); 382 "dummy1");
391 s_rd_1 = create_record (1); 383 s_rd_1 = create_record (1);
392 GNUNET_NAMESTORE_records_store (nsh, privkey, s_name_1, 384 GNUNET_NAMESTORE_records_store (nsh,
385 &privkey, s_name_1,
393 1, s_rd_1, &put_cont, NULL); 386 1, s_rd_1, &put_cont, NULL);
394 387
395 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 388 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -398,7 +391,7 @@ empty_zone_proc_end (void *cls)
398 "dummy2"); 391 "dummy2");
399 s_rd_2 = create_record (1); 392 s_rd_2 = create_record (1);
400 GNUNET_NAMESTORE_records_store (nsh, 393 GNUNET_NAMESTORE_records_store (nsh,
401 privkey, 394 &privkey,
402 s_name_2, 395 s_name_2,
403 1, 396 1,
404 s_rd_2, 397 s_rd_2,
@@ -411,7 +404,7 @@ empty_zone_proc_end (void *cls)
411 GNUNET_asprintf (&s_name_3, "dummy3"); 404 GNUNET_asprintf (&s_name_3, "dummy3");
412 s_rd_3 = create_record (1); 405 s_rd_3 = create_record (1);
413 GNUNET_NAMESTORE_records_store (nsh, 406 GNUNET_NAMESTORE_records_store (nsh,
414 privkey2, 407 &privkey2,
415 s_name_3, 408 s_name_3,
416 1, 409 1,
417 s_rd_3, 410 s_rd_3,
diff --git a/src/nat-auto/gnunet-nat-auto.c b/src/nat-auto/gnunet-nat-auto.c
index d40f4ef32..95a7ced9e 100644
--- a/src/nat-auto/gnunet-nat-auto.c
+++ b/src/nat-auto/gnunet-nat-auto.c
@@ -359,7 +359,7 @@ main (int argc, char *const argv[])
359 { 359 {
360 global_ret = 1; 360 global_ret = 1;
361 } 361 }
362 GNUNET_free ((void *) argv); 362 GNUNET_free_nz ((void *) argv);
363 return global_ret; 363 return global_ret;
364} 364}
365 365
diff --git a/src/nat/gnunet-nat.c b/src/nat/gnunet-nat.c
index 857ce5093..5012d6455 100644
--- a/src/nat/gnunet-nat.c
+++ b/src/nat/gnunet-nat.c
@@ -468,7 +468,7 @@ main (int argc, char *const argv[])
468 { 468 {
469 global_ret = 1; 469 global_ret = 1;
470 } 470 }
471 GNUNET_free ((void *) argv); 471 GNUNET_free_nz ((void *) argv);
472 return global_ret; 472 return global_ret;
473} 473}
474 474
diff --git a/src/peerinfo-tool/gnunet-peerinfo.c b/src/peerinfo-tool/gnunet-peerinfo.c
index 4d4c4de33..df6c169b5 100644
--- a/src/peerinfo-tool/gnunet-peerinfo.c
+++ b/src/peerinfo-tool/gnunet-peerinfo.c
@@ -855,7 +855,7 @@ main (int argc, char *const *argv)
855 NULL)) 855 NULL))
856 ? 0 856 ? 0
857 : 1; 857 : 1;
858 GNUNET_free ((void *) argv); 858 GNUNET_free_nz ((void *) argv);
859 return ret; 859 return ret;
860} 860}
861 861
diff --git a/src/peerinfo-tool/plugin_rest_peerinfo.c b/src/peerinfo-tool/plugin_rest_peerinfo.c
index 14559a8cf..6e156569a 100644
--- a/src/peerinfo-tool/plugin_rest_peerinfo.c
+++ b/src/peerinfo-tool/plugin_rest_peerinfo.c
@@ -272,7 +272,7 @@ cleanup_handle (void *cls)
272 if (NULL != handle->emsg) 272 if (NULL != handle->emsg)
273 GNUNET_free (handle->emsg); 273 GNUNET_free (handle->emsg);
274 if (NULL != handle->address) 274 if (NULL != handle->address)
275 GNUNET_free ((char *) handle->address); 275 GNUNET_free_nz ((char *) handle->address);
276 if (NULL != handle->expiration_str) 276 if (NULL != handle->expiration_str)
277 GNUNET_free (handle->expiration_str); 277 GNUNET_free (handle->expiration_str);
278 if (NULL != handle->pubkey) 278 if (NULL != handle->pubkey)
diff --git a/src/pt/gnunet-daemon-pt.c b/src/pt/gnunet-daemon-pt.c
index f8765818b..bcc913bd2 100644
--- a/src/pt/gnunet-daemon-pt.c
+++ b/src/pt/gnunet-daemon-pt.c
@@ -1317,7 +1317,7 @@ main (int argc,
1317 NULL)) 1317 NULL))
1318 ? 0 1318 ? 0
1319 : 1; 1319 : 1;
1320 GNUNET_free ((void *) argv); 1320 GNUNET_free_nz ((void *) argv);
1321 return ret; 1321 return ret;
1322} 1322}
1323 1323
diff --git a/src/pt/test_gns_vpn.c b/src/pt/test_gns_vpn.c
index 9bf497b16..69afca789 100644
--- a/src/pt/test_gns_vpn.c
+++ b/src/pt/test_gns_vpn.c
@@ -45,6 +45,7 @@
45#include "gnunet_gnsrecord_lib.h" 45#include "gnunet_gnsrecord_lib.h"
46#include "gnunet_gns_service.h" 46#include "gnunet_gns_service.h"
47#include "gnunet_testing_lib.h" 47#include "gnunet_testing_lib.h"
48#include "gnunet_mhd_compat.h"
48 49
49#define PORT 8080 50#define PORT 8080
50#define TEST_DOMAIN "www.gnu" 51#define TEST_DOMAIN "www.gnu"
@@ -121,7 +122,7 @@ copy_buffer (void *ptr,
121} 122}
122 123
123 124
124static int 125static MHD_RESULT
125mhd_ahc (void *cls, 126mhd_ahc (void *cls,
126 struct MHD_Connection *connection, 127 struct MHD_Connection *connection,
127 const char *url, 128 const char *url,
@@ -611,7 +612,7 @@ identity_cb (void *cls,
611 1, &rd, 612 1, &rd,
612 &commence_testing, 613 &commence_testing,
613 NULL); 614 NULL);
614 GNUNET_free ((void **) rd.data); 615 GNUNET_free_nz ((void **) rd.data);
615 GNUNET_free (rd_string); 616 GNUNET_free (rd_string);
616} 617}
617 618
diff --git a/src/pt/test_gnunet_vpn.c b/src/pt/test_gnunet_vpn.c
index 42fd52c38..cb9bb61fe 100644
--- a/src/pt/test_gnunet_vpn.c
+++ b/src/pt/test_gnunet_vpn.c
@@ -29,6 +29,7 @@
29#include <microhttpd.h> 29#include <microhttpd.h>
30#include "gnunet_vpn_service.h" 30#include "gnunet_vpn_service.h"
31#include "gnunet_testing_lib.h" 31#include "gnunet_testing_lib.h"
32#include "gnunet_mhd_compat.h"
32 33
33#define PORT 48080 34#define PORT 48080
34 35
@@ -96,7 +97,7 @@ copy_buffer (void *ptr, size_t size, size_t nmemb, void *ctx)
96} 97}
97 98
98 99
99static int 100static MHD_RESULT
100mhd_ahc (void *cls, 101mhd_ahc (void *cls,
101 struct MHD_Connection *connection, 102 struct MHD_Connection *connection,
102 const char *url, 103 const char *url,
diff --git a/src/regex/gnunet-daemon-regexprofiler.c b/src/regex/gnunet-daemon-regexprofiler.c
index eda58fdd2..d94b5ae46 100644
--- a/src/regex/gnunet-daemon-regexprofiler.c
+++ b/src/regex/gnunet-daemon-regexprofiler.c
@@ -118,7 +118,7 @@ shutdown_task (void *cls)
118 } 118 }
119 if (NULL != reannounce_task) 119 if (NULL != reannounce_task)
120 { 120 {
121 GNUNET_free (GNUNET_SCHEDULER_cancel (reannounce_task)); 121 GNUNET_free_nz (GNUNET_SCHEDULER_cancel (reannounce_task));
122 reannounce_task = NULL; 122 reannounce_task = NULL;
123 } 123 }
124 if (NULL != dht_handle) 124 if (NULL != dht_handle)
diff --git a/src/revocation/gnunet-revocation.c b/src/revocation/gnunet-revocation.c
index f5aa2d17e..8b7cf33c6 100644
--- a/src/revocation/gnunet-revocation.c
+++ b/src/revocation/gnunet-revocation.c
@@ -28,6 +28,10 @@
28#include "gnunet_revocation_service.h" 28#include "gnunet_revocation_service.h"
29#include "gnunet_identity_service.h" 29#include "gnunet_identity_service.h"
30 30
31/**
32 * Pow passes
33 */
34static unsigned int pow_passes = 1;
31 35
32/** 36/**
33 * Final status code. 37 * Final status code.
@@ -55,6 +59,11 @@ static char *revoke_ego;
55static char *test_ego; 59static char *test_ego;
56 60
57/** 61/**
62 * -e option.
63 */
64static unsigned int epochs = 1;
65
66/**
58 * Handle for revocation query. 67 * Handle for revocation query.
59 */ 68 */
60static struct GNUNET_REVOCATION_Query *q; 69static struct GNUNET_REVOCATION_Query *q;
@@ -80,10 +89,19 @@ static const struct GNUNET_CONFIGURATION_Handle *cfg;
80static unsigned long long matching_bits; 89static unsigned long long matching_bits;
81 90
82/** 91/**
92 * Epoch length
93 */
94static struct GNUNET_TIME_Relative epoch_duration;
95
96/**
83 * Task used for proof-of-work calculation. 97 * Task used for proof-of-work calculation.
84 */ 98 */
85static struct GNUNET_SCHEDULER_Task *pow_task; 99static struct GNUNET_SCHEDULER_Task *pow_task;
86 100
101/**
102 * Proof-of-work object
103 */
104static struct GNUNET_REVOCATION_Pow proof_of_work;
87 105
88/** 106/**
89 * Function run if the user aborts with CTRL-C. 107 * Function run if the user aborts with CTRL-C.
@@ -93,6 +111,7 @@ static struct GNUNET_SCHEDULER_Task *pow_task;
93static void 111static void
94do_shutdown (void *cls) 112do_shutdown (void *cls)
95{ 113{
114 fprintf (stderr, "%s", _ ("Shutting down...\n"));
96 if (NULL != el) 115 if (NULL != el)
97 { 116 {
98 GNUNET_IDENTITY_ego_lookup_cancel (el); 117 GNUNET_IDENTITY_ego_lookup_cancel (el);
@@ -188,37 +207,13 @@ print_revocation_result (void *cls, int is_valid)
188 207
189 208
190/** 209/**
191 * Data needed to perform a revocation.
192 */
193struct RevocationData
194{
195 /**
196 * Public key.
197 */
198 struct GNUNET_CRYPTO_EcdsaPublicKey key;
199
200 /**
201 * Revocation signature data.
202 */
203 struct GNUNET_CRYPTO_EcdsaSignature sig;
204
205 /**
206 * Proof of work (in NBO).
207 */
208 uint64_t pow GNUNET_PACKED;
209};
210
211
212/**
213 * Perform the revocation. 210 * Perform the revocation.
214 */ 211 */
215static void 212static void
216perform_revocation (const struct RevocationData *rd) 213perform_revocation ()
217{ 214{
218 h = GNUNET_REVOCATION_revoke (cfg, 215 h = GNUNET_REVOCATION_revoke (cfg,
219 &rd->key, 216 &proof_of_work,
220 &rd->sig,
221 rd->pow,
222 &print_revocation_result, 217 &print_revocation_result,
223 NULL); 218 NULL);
224} 219}
@@ -231,13 +226,13 @@ perform_revocation (const struct RevocationData *rd)
231 * @param rd data to sync 226 * @param rd data to sync
232 */ 227 */
233static void 228static void
234sync_rd (const struct RevocationData *rd) 229sync_pow ()
235{ 230{
236 if ((NULL != filename) && 231 if ((NULL != filename) &&
237 (sizeof(struct RevocationData) == 232 (sizeof(struct GNUNET_REVOCATION_Pow) !=
238 GNUNET_DISK_fn_write (filename, 233 GNUNET_DISK_fn_write (filename,
239 &rd, 234 &proof_of_work,
240 sizeof(rd), 235 sizeof(struct GNUNET_REVOCATION_Pow),
241 GNUNET_DISK_PERM_USER_READ 236 GNUNET_DISK_PERM_USER_READ
242 | GNUNET_DISK_PERM_USER_WRITE))) 237 | GNUNET_DISK_PERM_USER_WRITE)))
243 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename); 238 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename);
@@ -252,15 +247,16 @@ sync_rd (const struct RevocationData *rd)
252static void 247static void
253calculate_pow_shutdown (void *cls) 248calculate_pow_shutdown (void *cls)
254{ 249{
255 struct RevocationData *rd = cls; 250 struct GNUNET_REVOCATION_PowCalculationHandle *ph = cls;
256 251 fprintf (stderr, "%s", _ ("Cancelling calculation.\n"));
252 sync_pow ();
257 if (NULL != pow_task) 253 if (NULL != pow_task)
258 { 254 {
259 GNUNET_SCHEDULER_cancel (pow_task); 255 GNUNET_SCHEDULER_cancel (pow_task);
260 pow_task = NULL; 256 pow_task = NULL;
261 } 257 }
262 sync_rd (rd); 258 if (NULL != ph)
263 GNUNET_free (rd); 259 GNUNET_REVOCATION_pow_stop (ph);
264} 260}
265 261
266 262
@@ -272,38 +268,26 @@ calculate_pow_shutdown (void *cls)
272static void 268static void
273calculate_pow (void *cls) 269calculate_pow (void *cls)
274{ 270{
275 struct RevocationData *rd = cls; 271 struct GNUNET_REVOCATION_PowCalculationHandle *ph = cls;
276 272
277 /* store temporary results */ 273 /* store temporary results */
278 pow_task = NULL; 274 pow_task = NULL;
279 if (0 == (rd->pow % 128)) 275 if (0 == (pow_passes % 128))
280 sync_rd (rd); 276 sync_pow ();
281 /* display progress estimate */
282 if ((0 == ((1 << matching_bits) / 100 / 50)) ||
283 (0 == (rd->pow % ((1 << matching_bits) / 100 / 50))))
284 fprintf (stderr, "%s", ".");
285 if ((0 != rd->pow) && ((0 == ((1 << matching_bits) / 100)) ||
286 (0 == (rd->pow % ((1 << matching_bits) / 100)))))
287 fprintf (stderr,
288 " - @ %3u%% (estimate)\n",
289 (unsigned int) (rd->pow * 100) / (1 << matching_bits));
290 /* actually do POW calculation */ 277 /* actually do POW calculation */
291 rd->pow++; 278 if (GNUNET_OK == GNUNET_REVOCATION_pow_round (ph))
292 if (GNUNET_OK == GNUNET_REVOCATION_check_pow (&rd->key,
293 rd->pow,
294 (unsigned int) matching_bits))
295 { 279 {
296 if ((NULL != filename) && 280 if ((NULL != filename) &&
297 (sizeof(struct RevocationData) != 281 (sizeof(struct GNUNET_REVOCATION_Pow) !=
298 GNUNET_DISK_fn_write (filename, 282 GNUNET_DISK_fn_write (filename,
299 rd, 283 &proof_of_work,
300 sizeof(struct RevocationData), 284 sizeof(struct GNUNET_REVOCATION_Pow),
301 GNUNET_DISK_PERM_USER_READ 285 GNUNET_DISK_PERM_USER_READ
302 | GNUNET_DISK_PERM_USER_WRITE))) 286 | GNUNET_DISK_PERM_USER_WRITE)))
303 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename); 287 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "write", filename);
304 if (perform) 288 if (perform)
305 { 289 {
306 perform_revocation (rd); 290 perform_revocation ();
307 } 291 }
308 else 292 else
309 { 293 {
@@ -316,7 +300,19 @@ calculate_pow (void *cls)
316 } 300 }
317 return; 301 return;
318 } 302 }
319 pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, rd); 303 pow_passes++;
304 /**
305 * Otherwise CTRL-C does not work
306 */
307 if (0 == pow_passes % 128)
308 pow_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MILLISECONDS,
309 &calculate_pow,
310 ph);
311 else
312 pow_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MILLISECONDS,
313 &calculate_pow,
314 ph);
315
320} 316}
321 317
322 318
@@ -329,8 +325,9 @@ calculate_pow (void *cls)
329static void 325static void
330ego_callback (void *cls, const struct GNUNET_IDENTITY_Ego *ego) 326ego_callback (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
331{ 327{
332 struct RevocationData *rd;
333 struct GNUNET_CRYPTO_EcdsaPublicKey key; 328 struct GNUNET_CRYPTO_EcdsaPublicKey key;
329 const struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
330 struct GNUNET_REVOCATION_PowCalculationHandle *ph = NULL;
334 331
335 el = NULL; 332 el = NULL;
336 if (NULL == ego) 333 if (NULL == ego)
@@ -340,44 +337,55 @@ ego_callback (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
340 return; 337 return;
341 } 338 }
342 GNUNET_IDENTITY_ego_get_public_key (ego, &key); 339 GNUNET_IDENTITY_ego_get_public_key (ego, &key);
343 rd = GNUNET_new (struct RevocationData); 340 privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
341 memset (&proof_of_work, 0, sizeof (proof_of_work));
344 if ((NULL != filename) && (GNUNET_YES == GNUNET_DISK_file_test (filename)) && 342 if ((NULL != filename) && (GNUNET_YES == GNUNET_DISK_file_test (filename)) &&
345 (sizeof(struct RevocationData) == 343 (sizeof(proof_of_work) ==
346 GNUNET_DISK_fn_read (filename, rd, sizeof(struct RevocationData)))) 344 GNUNET_DISK_fn_read (filename, &proof_of_work, sizeof(proof_of_work))))
347 { 345 {
348 if (0 != GNUNET_memcmp (&rd->key, &key)) 346 if (0 != GNUNET_memcmp (&proof_of_work.key, &key))
349 { 347 {
350 fprintf (stderr, 348 fprintf (stderr,
351 _ ("Error: revocation certificate in `%s' is not for `%s'\n"), 349 _ ("Error: revocation certificate in `%s' is not for `%s'\n"),
352 filename, 350 filename,
353 revoke_ego); 351 revoke_ego);
354 GNUNET_free (rd);
355 return; 352 return;
356 } 353 }
357 } 354 if (GNUNET_YES ==
358 else 355 GNUNET_REVOCATION_check_pow (&proof_of_work,
359 { 356 (unsigned int) matching_bits,
360 GNUNET_REVOCATION_sign_revocation (GNUNET_IDENTITY_ego_get_private_key ( 357 epoch_duration))
361 ego), 358 {
362 &rd->sig); 359 fprintf (stderr, "%s", _ ("Revocation certificate ready\n"));
363 rd->key = key; 360 if (perform)
364 } 361 perform_revocation ();
365 if (GNUNET_YES == 362 else
366 GNUNET_REVOCATION_check_pow (&key, rd->pow, (unsigned int) matching_bits)) 363 GNUNET_SCHEDULER_shutdown ();
367 { 364 return;
368 fprintf (stderr, "%s", _ ("Revocation certificate ready\n")); 365 }
369 if (perform) 366 /**
370 perform_revocation (rd); 367 * Certificate not yet ready
371 else 368 */
372 GNUNET_SCHEDULER_shutdown (); 369 fprintf (stderr,
373 GNUNET_free (rd); 370 "%s",
374 return; 371 _ ("Continuing calculation where left off...\n"));
372 ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
373 epochs,
374 matching_bits);
375 } 375 }
376 fprintf (stderr, 376 fprintf (stderr,
377 "%s", 377 "%s",
378 _ ("Revocation certificate not ready, calculating proof of work\n")); 378 _ ("Revocation certificate not ready, calculating proof of work\n"));
379 pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, rd); 379 if (NULL == ph)
380 GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, rd); 380 {
381 GNUNET_REVOCATION_pow_init (privkey,
382 &proof_of_work);
383 ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
384 epochs, /* Epochs */
385 matching_bits);
386 }
387 pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, ph);
388 GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, ph);
381} 389}
382 390
383 391
@@ -396,7 +404,6 @@ run (void *cls,
396 const struct GNUNET_CONFIGURATION_Handle *c) 404 const struct GNUNET_CONFIGURATION_Handle *c)
397{ 405{
398 struct GNUNET_CRYPTO_EcdsaPublicKey pk; 406 struct GNUNET_CRYPTO_EcdsaPublicKey pk;
399 struct RevocationData rd;
400 407
401 cfg = c; 408 cfg = c;
402 if (NULL != test_ego) 409 if (NULL != test_ego)
@@ -429,6 +436,17 @@ run (void *cls,
429 "WORKBITS"); 436 "WORKBITS");
430 return; 437 return;
431 } 438 }
439 if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_time (cfg,
440 "REVOCATION",
441 "EPOCH_DURATION",
442 &epoch_duration))
443 {
444 GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
445 "REVOCATION",
446 "EPOCH_DURATION");
447 return;
448 }
449
432 if (NULL != revoke_ego) 450 if (NULL != revoke_ego)
433 { 451 {
434 if (! perform && (NULL == filename)) 452 if (! perform && (NULL == filename))
@@ -445,7 +463,9 @@ run (void *cls,
445 } 463 }
446 if ((NULL != filename) && (perform)) 464 if ((NULL != filename) && (perform))
447 { 465 {
448 if (sizeof(rd) != GNUNET_DISK_fn_read (filename, &rd, sizeof(rd))) 466 if (sizeof(proof_of_work) != GNUNET_DISK_fn_read (filename,
467 &proof_of_work,
468 sizeof(proof_of_work)))
449 { 469 {
450 fprintf (stderr, 470 fprintf (stderr,
451 _ ("Failed to read revocation certificate from `%s'\n"), 471 _ ("Failed to read revocation certificate from `%s'\n"),
@@ -454,18 +474,20 @@ run (void *cls,
454 } 474 }
455 GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); 475 GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
456 if (GNUNET_YES != 476 if (GNUNET_YES !=
457 GNUNET_REVOCATION_check_pow (&rd.key, 477 GNUNET_REVOCATION_check_pow (&proof_of_work,
458 rd.pow, 478 (unsigned int) matching_bits,
459 (unsigned int) matching_bits)) 479 epoch_duration))
460 { 480 {
461 struct RevocationData *cp = GNUNET_new (struct RevocationData); 481 struct GNUNET_REVOCATION_PowCalculationHandle *ph;
482 ph = GNUNET_REVOCATION_pow_start (&proof_of_work,
483 epochs, /* Epochs */
484 matching_bits);
462 485
463 *cp = rd; 486 pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, ph);
464 pow_task = GNUNET_SCHEDULER_add_now (&calculate_pow, cp); 487 GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, ph);
465 GNUNET_SCHEDULER_add_shutdown (&calculate_pow_shutdown, cp);
466 return; 488 return;
467 } 489 }
468 perform_revocation (&rd); 490 perform_revocation ();
469 return; 491 return;
470 } 492 }
471 fprintf (stderr, "%s", _ ("No action specified. Nothing to do.\n")); 493 fprintf (stderr, "%s", _ ("No action specified. Nothing to do.\n"));
@@ -511,6 +533,12 @@ main (int argc, char *const *argv)
511 gettext_noop ( 533 gettext_noop (
512 "test if the public key KEY has been revoked"), 534 "test if the public key KEY has been revoked"),
513 &test_ego), 535 &test_ego),
536 GNUNET_GETOPT_option_uint ('e',
537 "epochs",
538 "EPOCHS",
539 gettext_noop (
540 "number of epochs to calculate for"),
541 &epochs),
514 542
515 GNUNET_GETOPT_OPTION_END 543 GNUNET_GETOPT_OPTION_END
516 }; 544 };
@@ -527,7 +555,7 @@ main (int argc, char *const *argv)
527 NULL)) 555 NULL))
528 ? ret 556 ? ret
529 : 1; 557 : 1;
530 GNUNET_free ((void *) argv); 558 GNUNET_free_nz ((void *) argv);
531 return ret; 559 return ret;
532} 560}
533 561
diff --git a/src/revocation/gnunet-service-revocation.c b/src/revocation/gnunet-service-revocation.c
index 3e811cd9a..3c08e8452 100644
--- a/src/revocation/gnunet-service-revocation.c
+++ b/src/revocation/gnunet-service-revocation.c
@@ -129,6 +129,11 @@ static struct GNUNET_SET_ListenHandle *revocation_union_listen_handle;
129static unsigned long long revocation_work_required; 129static unsigned long long revocation_work_required;
130 130
131/** 131/**
132 * Length of an expiration expoch
133 */
134static struct GNUNET_TIME_Relative epoch_duration;
135
136/**
132 * Our application ID for set union operations. Must be the 137 * Our application ID for set union operations. Must be the
133 * same for all (compatible) peers. 138 * same for all (compatible) peers.
134 */ 139 */
@@ -167,25 +172,15 @@ new_peer_entry (const struct GNUNET_PeerIdentity *peer)
167static int 172static int
168verify_revoke_message (const struct RevokeMessage *rm) 173verify_revoke_message (const struct RevokeMessage *rm)
169{ 174{
170 if (GNUNET_YES != 175 if (GNUNET_YES != GNUNET_REVOCATION_check_pow (&rm->proof_of_work,
171 GNUNET_REVOCATION_check_pow (&rm->public_key, 176 (unsigned int) revocation_work_required,
172 rm->proof_of_work, 177 epoch_duration))
173 (unsigned int) revocation_work_required))
174 { 178 {
175 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 179 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
176 "Proof of work invalid!\n"); 180 "Proof of work invalid!\n");
177 GNUNET_break_op (0); 181 GNUNET_break_op (0);
178 return GNUNET_NO; 182 return GNUNET_NO;
179 } 183 }
180 if (GNUNET_OK !=
181 GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
182 &rm->purpose,
183 &rm->signature,
184 &rm->public_key))
185 {
186 GNUNET_break_op (0);
187 return GNUNET_NO;
188 }
189 return GNUNET_YES; 184 return GNUNET_YES;
190} 185}
191 186
@@ -308,7 +303,7 @@ publicize_rm (const struct RevokeMessage *rm)
308 struct GNUNET_HashCode hc; 303 struct GNUNET_HashCode hc;
309 struct GNUNET_SET_Element e; 304 struct GNUNET_SET_Element e;
310 305
311 GNUNET_CRYPTO_hash (&rm->public_key, 306 GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
312 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey), 307 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
313 &hc); 308 &hc);
314 if (GNUNET_YES == 309 if (GNUNET_YES ==
@@ -848,6 +843,20 @@ run (void *cls,
848 GNUNET_free (fn); 843 GNUNET_free (fn);
849 return; 844 return;
850 } 845 }
846 if (GNUNET_OK !=
847 GNUNET_CONFIGURATION_get_value_time (cfg,
848 "REVOCATION",
849 "EPOCH_DURATION",
850 &epoch_duration))
851 {
852 GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
853 "REVOCATION",
854 "EPOCH_DURATION");
855 GNUNET_SCHEDULER_shutdown ();
856 GNUNET_free (fn);
857 return;
858 }
859
851 revocation_set = GNUNET_SET_create (cfg, 860 revocation_set = GNUNET_SET_create (cfg,
852 GNUNET_SET_OPERATION_UNION); 861 GNUNET_SET_OPERATION_UNION);
853 revocation_union_listen_handle 862 revocation_union_listen_handle
@@ -893,7 +902,7 @@ run (void *cls,
893 return; 902 return;
894 } 903 }
895 GNUNET_break (0 == ntohl (rm->reserved)); 904 GNUNET_break (0 == ntohl (rm->reserved));
896 GNUNET_CRYPTO_hash (&rm->public_key, 905 GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
897 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey), 906 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
898 &hc); 907 &hc);
899 GNUNET_break (GNUNET_OK == 908 GNUNET_break (GNUNET_OK ==
diff --git a/src/revocation/plugin_block_revocation.c b/src/revocation/plugin_block_revocation.c
index 8d16b8781..291c56f70 100644
--- a/src/revocation/plugin_block_revocation.c
+++ b/src/revocation/plugin_block_revocation.c
@@ -52,6 +52,7 @@
52struct InternalContext 52struct InternalContext
53{ 53{
54 unsigned int matching_bits; 54 unsigned int matching_bits;
55 struct GNUNET_TIME_Relative epoch_duration;
55}; 56};
56 57
57 58
@@ -142,24 +143,15 @@ block_plugin_revocation_evaluate (void *cls,
142 GNUNET_break_op (0); 143 GNUNET_break_op (0);
143 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID; 144 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
144 } 145 }
145 if (GNUNET_YES != 146 if (0 >=
146 GNUNET_REVOCATION_check_pow (&rm->public_key, 147 GNUNET_REVOCATION_check_pow (&rm->proof_of_work,
147 rm->proof_of_work, 148 ic->matching_bits,
148 ic->matching_bits)) 149 ic->epoch_duration))
149 { 150 {
150 GNUNET_break_op (0); 151 GNUNET_break_op (0);
151 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID; 152 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
152 } 153 }
153 if (GNUNET_OK != 154 GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
154 GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
155 &rm->purpose,
156 &rm->signature,
157 &rm->public_key))
158 {
159 GNUNET_break_op (0);
160 return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
161 }
162 GNUNET_CRYPTO_hash (&rm->public_key,
163 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey), 155 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
164 &chash); 156 &chash);
165 if (GNUNET_YES == 157 if (GNUNET_YES ==
@@ -195,7 +187,7 @@ block_plugin_revocation_get_key (void *cls,
195 GNUNET_break_op (0); 187 GNUNET_break_op (0);
196 return GNUNET_SYSERR; 188 return GNUNET_SYSERR;
197 } 189 }
198 GNUNET_CRYPTO_hash (&rm->public_key, 190 GNUNET_CRYPTO_hash (&rm->proof_of_work.key,
199 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey), 191 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey),
200 key); 192 key);
201 return GNUNET_OK; 193 return GNUNET_OK;
@@ -218,6 +210,7 @@ libgnunet_plugin_block_revocation_init (void *cls)
218 struct GNUNET_BLOCK_PluginFunctions *api; 210 struct GNUNET_BLOCK_PluginFunctions *api;
219 struct InternalContext *ic; 211 struct InternalContext *ic;
220 unsigned long long matching_bits; 212 unsigned long long matching_bits;
213 struct GNUNET_TIME_Relative epoch_duration;
221 214
222 if (GNUNET_OK != 215 if (GNUNET_OK !=
223 GNUNET_CONFIGURATION_get_value_number (cfg, 216 GNUNET_CONFIGURATION_get_value_number (cfg,
@@ -225,6 +218,12 @@ libgnunet_plugin_block_revocation_init (void *cls)
225 "WORKBITS", 218 "WORKBITS",
226 &matching_bits)) 219 &matching_bits))
227 return NULL; 220 return NULL;
221 if (GNUNET_OK !=
222 GNUNET_CONFIGURATION_get_value_time (cfg,
223 "REVOCATION",
224 "EPOCH_DURATION",
225 &epoch_duration))
226 return NULL;
228 227
229 api = GNUNET_new (struct GNUNET_BLOCK_PluginFunctions); 228 api = GNUNET_new (struct GNUNET_BLOCK_PluginFunctions);
230 api->evaluate = &block_plugin_revocation_evaluate; 229 api->evaluate = &block_plugin_revocation_evaluate;
@@ -233,6 +232,7 @@ libgnunet_plugin_block_revocation_init (void *cls)
233 api->types = types; 232 api->types = types;
234 ic = GNUNET_new (struct InternalContext); 233 ic = GNUNET_new (struct InternalContext);
235 ic->matching_bits = (unsigned int) matching_bits; 234 ic->matching_bits = (unsigned int) matching_bits;
235 ic->epoch_duration = epoch_duration;
236 api->cls = ic; 236 api->cls = ic;
237 return api; 237 return api;
238} 238}
diff --git a/src/revocation/revocation.conf.in b/src/revocation/revocation.conf.in
index 5ad41cd49..346168785 100644
--- a/src/revocation/revocation.conf.in
+++ b/src/revocation/revocation.conf.in
@@ -14,5 +14,6 @@ UNIX_MATCH_GID = YES
14# (using only a single-core) with SCRYPT. 14# (using only a single-core) with SCRYPT.
15# DO NOT CHANGE THIS VALUE, doing so will break the protocol! 15# DO NOT CHANGE THIS VALUE, doing so will break the protocol!
16WORKBITS = 25 16WORKBITS = 25
17EPOCH_DURATION = 356 d
17 18
18DATABASE = $GNUNET_DATA_HOME/revocation.dat 19DATABASE = $GNUNET_DATA_HOME/revocation.dat
diff --git a/src/revocation/revocation.h b/src/revocation/revocation.h
index b6e7a07ec..868c2b853 100644
--- a/src/revocation/revocation.h
+++ b/src/revocation/revocation.h
@@ -27,6 +27,7 @@
27#define REVOCATION_H 27#define REVOCATION_H
28 28
29#include "gnunet_util_lib.h" 29#include "gnunet_util_lib.h"
30#include "gnunet_revocation_service.h"
30 31
31GNUNET_NETWORK_STRUCT_BEGIN 32GNUNET_NETWORK_STRUCT_BEGIN
32 33
@@ -91,23 +92,7 @@ struct RevokeMessage
91 /** 92 /**
92 * Number that causes a hash collision with the @e public_key. 93 * Number that causes a hash collision with the @e public_key.
93 */ 94 */
94 uint64_t proof_of_work GNUNET_PACKED; 95 struct GNUNET_REVOCATION_Pow proof_of_work;
95
96 /**
97 * Signature confirming revocation.
98 */
99 struct GNUNET_CRYPTO_EcdsaSignature signature;
100
101 /**
102 * Must have purpose #GNUNET_SIGNATURE_PURPOSE_REVOCATION,
103 * size expands over the public key. (@deprecated)
104 */
105 struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
106
107 /**
108 * Key to revoke.
109 */
110 struct GNUNET_CRYPTO_EcdsaPublicKey public_key;
111}; 96};
112 97
113 98
diff --git a/src/revocation/revocation_api.c b/src/revocation/revocation_api.c
index 4755d4816..18a312ab8 100644
--- a/src/revocation/revocation_api.c
+++ b/src/revocation/revocation_api.c
@@ -27,8 +27,7 @@
27#include "gnunet_signatures.h" 27#include "gnunet_signatures.h"
28#include "gnunet_protocols.h" 28#include "gnunet_protocols.h"
29#include "revocation.h" 29#include "revocation.h"
30#include <gcrypt.h> 30#include <inttypes.h>
31
32 31
33/** 32/**
34 * Handle for the key revocation query. 33 * Handle for the key revocation query.
@@ -53,6 +52,58 @@ struct GNUNET_REVOCATION_Query
53 52
54 53
55/** 54/**
55 * Helper struct that holds a found pow nonce
56 * and the corresponding number of leading zeroes.
57 */
58struct BestPow
59{
60 /**
61 * PoW nonce
62 */
63 uint64_t pow;
64
65 /**
66 * Corresponding zero bits in hash
67 */
68 unsigned int bits;
69};
70
71
72/**
73 * The handle to a PoW calculation.
74 * Used in iterative PoW rounds.
75 */
76struct GNUNET_REVOCATION_PowCalculationHandle
77{
78 /**
79 * Current set of found PoWs
80 */
81 struct BestPow best[POW_COUNT];
82
83 /**
84 * The final PoW result data structure.
85 */
86 struct GNUNET_REVOCATION_Pow *pow;
87
88 /**
89 * The current nonce to try
90 */
91 uint64_t current_pow;
92
93 /**
94 * Epochs how long the PoW should be valid.
95 * This is added on top of the difficulty in the PoW.
96 */
97 unsigned int epochs;
98
99 /**
100 * The difficulty (leading zeros) to achieve.
101 */
102 unsigned int difficulty;
103
104};
105
106/**
56 * Generic error handler, called with the appropriate 107 * Generic error handler, called with the appropriate
57 * error code and the same closure specified at the creation of 108 * error code and the same closure specified at the creation of
58 * the message queue. 109 * the message queue.
@@ -235,6 +286,7 @@ handle_revocation_response (void *cls,
235 * @param key public key of the key to revoke 286 * @param key public key of the key to revoke
236 * @param sig signature to use on the revocation (should have been 287 * @param sig signature to use on the revocation (should have been
237 * created using #GNUNET_REVOCATION_sign_revocation). 288 * created using #GNUNET_REVOCATION_sign_revocation).
289 * @param ts revocation timestamp
238 * @param pow proof of work to use (should have been created by 290 * @param pow proof of work to use (should have been created by
239 * iteratively calling #GNUNET_REVOCATION_check_pow) 291 * iteratively calling #GNUNET_REVOCATION_check_pow)
240 * @param func funtion to call with the result of the check 292 * @param func funtion to call with the result of the check
@@ -245,9 +297,7 @@ handle_revocation_response (void *cls,
245 */ 297 */
246struct GNUNET_REVOCATION_Handle * 298struct GNUNET_REVOCATION_Handle *
247GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg, 299GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
248 const struct GNUNET_CRYPTO_EcdsaPublicKey *key, 300 const struct GNUNET_REVOCATION_Pow *pow,
249 const struct GNUNET_CRYPTO_EcdsaSignature *sig,
250 uint64_t pow,
251 GNUNET_REVOCATION_Callback func, 301 GNUNET_REVOCATION_Callback func,
252 void *func_cls) 302 void *func_cls)
253{ 303{
@@ -261,23 +311,39 @@ GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
261 GNUNET_MQ_handler_end () 311 GNUNET_MQ_handler_end ()
262 }; 312 };
263 unsigned long long matching_bits; 313 unsigned long long matching_bits;
314 struct GNUNET_TIME_Relative epoch_duration;
264 struct RevokeMessage *rm; 315 struct RevokeMessage *rm;
265 struct GNUNET_MQ_Envelope *env; 316 struct GNUNET_MQ_Envelope *env;
266 317
267 if ((GNUNET_OK == 318 if ((GNUNET_OK !=
268 GNUNET_CONFIGURATION_get_value_number (cfg, 319 GNUNET_CONFIGURATION_get_value_number (cfg,
269 "REVOCATION", 320 "REVOCATION",
270 "WORKBITS", 321 "WORKBITS",
271 &matching_bits)) && 322 &matching_bits)))
272 (GNUNET_YES != 323 {
273 GNUNET_REVOCATION_check_pow (key, 324 GNUNET_break (0);
274 pow, 325 GNUNET_free (h);
275 (unsigned int) matching_bits))) 326 return NULL;
327 }
328 if ((GNUNET_OK !=
329 GNUNET_CONFIGURATION_get_value_time (cfg,
330 "REVOCATION",
331 "EPOCH_DURATION",
332 &epoch_duration)))
276 { 333 {
277 GNUNET_break (0); 334 GNUNET_break (0);
278 GNUNET_free (h); 335 GNUNET_free (h);
279 return NULL; 336 return NULL;
280 } 337 }
338 if (GNUNET_YES != GNUNET_REVOCATION_check_pow (pow,
339 (unsigned int) matching_bits,
340 epoch_duration))
341 {
342 GNUNET_break (0);
343 GNUNET_free (h);
344 return NULL;
345 }
346
281 347
282 h->mq = GNUNET_CLIENT_connect (cfg, 348 h->mq = GNUNET_CLIENT_connect (cfg,
283 "revocation", 349 "revocation",
@@ -294,12 +360,7 @@ GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
294 env = GNUNET_MQ_msg (rm, 360 env = GNUNET_MQ_msg (rm,
295 GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE); 361 GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE);
296 rm->reserved = htonl (0); 362 rm->reserved = htonl (0);
297 rm->proof_of_work = pow; 363 rm->proof_of_work = *pow;
298 rm->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
299 rm->purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
300 + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
301 rm->public_key = *key;
302 rm->signature = *sig;
303 GNUNET_MQ_send (h->mq, 364 GNUNET_MQ_send (h->mq,
304 env); 365 env);
305 return h; 366 return h;
@@ -342,56 +403,263 @@ count_leading_zeroes (const struct GNUNET_HashCode *hash)
342 403
343 404
344/** 405/**
345 * Check if the given proof-of-work value 406 * Calculate the average zeros in the pows.
346 * would be acceptable for revoking the given key.
347 * 407 *
348 * @param key key to check for 408 * @param ph the PowHandle
349 * @param pow proof of work value 409 * @return the average number of zeroes.
410 */
411static unsigned int
412calculate_score (const struct GNUNET_REVOCATION_PowCalculationHandle *ph)
413{
414 double sum = 0.0;
415 for (unsigned int j = 0; j<POW_COUNT; j++)
416 sum += ph->best[j].bits;
417 double avg = sum / POW_COUNT;
418 return avg;
419}
420
421
422/**
423 * Check if the given proof-of-work is valid.
424 *
425 * @param pow proof of work
350 * @param matching_bits how many bits must match (configuration) 426 * @param matching_bits how many bits must match (configuration)
427 * @param epoch_duration length of single epoch in configuration
428 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
429 */
430enum GNUNET_GenericReturnValue
431GNUNET_REVOCATION_check_pow (const struct GNUNET_REVOCATION_Pow *pow,
432 unsigned int difficulty,
433 struct GNUNET_TIME_Relative epoch_duration)
434{
435 char buf[sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
436 + sizeof (struct GNUNET_TIME_AbsoluteNBO)
437 + sizeof (uint64_t)] GNUNET_ALIGN;
438 struct GNUNET_REVOCATION_SignaturePurpose spurp;
439 struct GNUNET_HashCode result;
440 struct GNUNET_TIME_Absolute ts;
441 struct GNUNET_TIME_Absolute exp;
442 struct GNUNET_TIME_Relative ttl;
443 struct GNUNET_TIME_Relative buffer;
444 unsigned int score = 0;
445 unsigned int tmp_score = 0;
446 unsigned int epochs;
447 uint64_t pow_val;
448
449 /**
450 * Check if signature valid
451 */
452 spurp.key = pow->key;
453 spurp.timestamp = pow->timestamp;
454 spurp.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
455 spurp.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
456 + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
457 + sizeof (struct GNUNET_TIME_AbsoluteNBO));
458 if (GNUNET_OK !=
459 GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_REVOCATION,
460 &spurp.purpose,
461 &pow->signature,
462 &pow->key))
463 {
464 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
465 "Proof of work signature invalid!\n");
466 return GNUNET_NO;
467 }
468
469 /**
470 * First, check if any duplicates are in the PoW set
471 */
472 for (unsigned int i = 0; i < POW_COUNT; i++)
473 {
474 for (unsigned int j = i + 1; j < POW_COUNT; j++)
475 {
476 if (pow->pow[i] == pow->pow[j])
477 return GNUNET_NO;
478 }
479 }
480 GNUNET_memcpy (&buf[sizeof(uint64_t)],
481 &pow->timestamp,
482 sizeof (uint64_t));
483 GNUNET_memcpy (&buf[sizeof(uint64_t) * 2],
484 &pow->key,
485 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
486 for (unsigned int i = 0; i < POW_COUNT; i++)
487 {
488 pow_val = GNUNET_ntohll (pow->pow[i]);
489 GNUNET_memcpy (buf, &pow_val, sizeof(uint64_t));
490 GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work",
491 buf,
492 sizeof(buf),
493 &result);
494 tmp_score = count_leading_zeroes (&result);
495 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
496 "Score %u with %" PRIu64 " (#%u)\n",
497 tmp_score, pow_val, i);
498 score += tmp_score;
499
500 }
501 score = score / POW_COUNT;
502 if (score < difficulty)
503 return GNUNET_NO;
504 epochs = score - difficulty;
505
506 /**
507 * Check expiration
508 */
509 ts = GNUNET_TIME_absolute_ntoh (pow->timestamp);
510 ttl = GNUNET_TIME_relative_multiply (epoch_duration,
511 epochs);
512 /**
513 * Extend by 10% for unsynchronized clocks
514 */
515 buffer = GNUNET_TIME_relative_divide (epoch_duration,
516 10);
517 exp = GNUNET_TIME_absolute_add (ts, ttl);
518 exp = GNUNET_TIME_absolute_add (exp,
519 buffer);
520
521 if (0 != GNUNET_TIME_absolute_get_remaining (ts).rel_value_us)
522 return GNUNET_NO; /* Not yet valid. */
523 /* Revert to actual start time */
524 ts = GNUNET_TIME_absolute_add (ts,
525 buffer);
526
527 if (0 == GNUNET_TIME_absolute_get_remaining (exp).rel_value_us)
528 return GNUNET_NO; /* expired */
529 return GNUNET_YES;
530}
531
532
533/**
534 * Initializes a fresh PoW computation.
535 *
536 * @param key the key to calculate the PoW for.
537 * @param[out] pow starting point for PoW calculation (not yet valid)
538 */
539void
540GNUNET_REVOCATION_pow_init (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
541 struct GNUNET_REVOCATION_Pow *pow)
542{
543 struct GNUNET_TIME_Absolute ts = GNUNET_TIME_absolute_get ();
544 struct GNUNET_REVOCATION_SignaturePurpose rp;
545
546 /**
547 * Predate the validity period to prevent rejections due to
548 * unsynchronized clocks
549 */
550 ts = GNUNET_TIME_absolute_subtract (ts,
551 GNUNET_TIME_UNIT_WEEKS);
552
553 pow->timestamp = GNUNET_TIME_absolute_hton (ts);
554 rp.timestamp = pow->timestamp;
555 rp.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
556 rp.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
557 + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
558 + sizeof (struct GNUNET_TIME_AbsoluteNBO));
559 GNUNET_CRYPTO_ecdsa_key_get_public (key, &pow->key);
560 rp.key = pow->key;
561 GNUNET_assert (GNUNET_OK ==
562 GNUNET_CRYPTO_ecdsa_sign_ (key,
563 &rp.purpose,
564 &pow->signature));
565}
566
567
568/**
569 * Starts a proof-of-work calculation given the pow object as well as
570 * target epochs and difficulty.
571 *
572 * @param pow the PoW to based calculations on.
573 * @param epochs the number of epochs for which the PoW must be valid.
574 * @param difficulty the base difficulty of the PoW.
575 * @return a handle for use in PoW rounds
576 */
577struct GNUNET_REVOCATION_PowCalculationHandle*
578GNUNET_REVOCATION_pow_start (struct GNUNET_REVOCATION_Pow *pow,
579 int epochs,
580 unsigned int difficulty)
581{
582 struct GNUNET_REVOCATION_PowCalculationHandle *pc;
583
584 pc = GNUNET_new (struct GNUNET_REVOCATION_PowCalculationHandle);
585 pc->pow = pow;
586 pc->current_pow = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK,
587 UINT64_MAX);
588 pc->difficulty = difficulty;
589 pc->epochs = epochs;
590 return pc;
591}
592
593
594/**
595 * Calculate a key revocation valid for broadcasting for a number
596 * of epochs.
597 *
598 * @param pc handle to the PoW, initially called with NULL.
599 * @param epochs number of epochs for which the revocation must be valid.
600 * @param pow current pow value to try
601 * @param difficulty current base difficulty to achieve
351 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not 602 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
352 */ 603 */
353int 604enum GNUNET_GenericReturnValue
354GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EcdsaPublicKey *key, 605GNUNET_REVOCATION_pow_round (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
355 uint64_t pow,
356 unsigned int matching_bits)
357{ 606{
358 char buf[sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey) 607 char buf[sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)
359 + sizeof(pow)] GNUNET_ALIGN; 608 + sizeof (uint64_t)
609 + sizeof (uint64_t)] GNUNET_ALIGN;
360 struct GNUNET_HashCode result; 610 struct GNUNET_HashCode result;
611 unsigned int zeros;
612
613 pc->current_pow++;
361 614
362 GNUNET_memcpy (buf, &pow, sizeof(pow)); 615 /**
363 GNUNET_memcpy (&buf[sizeof(pow)], key, 616 * Do not try duplicates
617 */
618 for (unsigned int i = 0; i < POW_COUNT; i++)
619 if (pc->current_pow == pc->best[i].pow)
620 return GNUNET_NO;
621
622 GNUNET_memcpy (buf, &pc->current_pow, sizeof(uint64_t));
623 GNUNET_memcpy (&buf[sizeof(uint64_t)],
624 &pc->pow->timestamp,
625 sizeof (uint64_t));
626 GNUNET_memcpy (&buf[sizeof(uint64_t) * 2],
627 &pc->pow->key,
364 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey)); 628 sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
365 GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work", 629 GNUNET_CRYPTO_pow_hash ("gnunet-revocation-proof-of-work",
366 buf, 630 buf,
367 sizeof(buf), 631 sizeof(buf),
368 &result); 632 &result);
369 return (count_leading_zeroes (&result) >= 633 zeros = count_leading_zeroes (&result);
370 matching_bits) ? GNUNET_YES : GNUNET_NO; 634 for (unsigned int i = 0; i < POW_COUNT; i++)
635 {
636 if (pc->best[i].bits < zeros)
637 {
638 pc->best[i].bits = zeros;
639 pc->best[i].pow = pc->current_pow;
640 pc->pow->pow[i] = GNUNET_htonll (pc->current_pow);
641 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
642 "New best score %u with %" PRIu64 " (#%u)\n",
643 zeros, pc->current_pow, i);
644 break;
645 }
646 }
647 return calculate_score (pc) >= pc->difficulty + pc->epochs ? GNUNET_YES :
648 GNUNET_NO;
371} 649}
372 650
373 651
374/** 652/**
375 * Create a revocation signature. 653 * Stop a PoW calculation
376 * 654 *
377 * @param key private key of the key to revoke 655 * @param pc the calculation to clean up
378 * @param sig where to write the revocation signature 656 * @return #GNUNET_YES if pow valid, #GNUNET_NO if pow was set but is not
657 * valid
379 */ 658 */
380void 659void
381GNUNET_REVOCATION_sign_revocation (const struct 660GNUNET_REVOCATION_pow_stop (struct GNUNET_REVOCATION_PowCalculationHandle *pc)
382 GNUNET_CRYPTO_EcdsaPrivateKey *key,
383 struct GNUNET_CRYPTO_EcdsaSignature *sig)
384{ 661{
385 struct RevokeMessage rm; 662 GNUNET_free (pc);
386
387 rm.purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_REVOCATION);
388 rm.purpose.size = htonl (sizeof(struct GNUNET_CRYPTO_EccSignaturePurpose)
389 + sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey));
390 GNUNET_CRYPTO_ecdsa_key_get_public (key, &rm.public_key);
391 GNUNET_assert (GNUNET_OK ==
392 GNUNET_CRYPTO_ecdsa_sign_ (key,
393 &rm.purpose,
394 sig));
395} 663}
396 664
397 665
diff --git a/src/revocation/test_revocation.c b/src/revocation/test_revocation.c
index 012bac09e..f193d5f6c 100644
--- a/src/revocation/test_revocation.c
+++ b/src/revocation/test_revocation.c
@@ -45,7 +45,7 @@ struct TestPeer
45 struct GNUNET_IDENTITY_EgoLookup *ego_lookup; 45 struct GNUNET_IDENTITY_EgoLookup *ego_lookup;
46 struct GNUNET_REVOCATION_Handle *revok_handle; 46 struct GNUNET_REVOCATION_Handle *revok_handle;
47 struct GNUNET_CORE_Handle *ch; 47 struct GNUNET_CORE_Handle *ch;
48 uint64_t pow; 48 struct GNUNET_REVOCATION_PowCalculationHandle *pow;
49}; 49};
50 50
51static struct TestPeer testpeers[2]; 51static struct TestPeer testpeers[2];
@@ -131,7 +131,7 @@ check_revocation (void *cls)
131 131
132 132
133static void 133static void
134revocation_cb (void *cls, int is_valid) 134revocation_cb (void *cls, enum GNUNET_GenericReturnValue is_valid)
135{ 135{
136 testpeers[1].revok_handle = NULL; 136 testpeers[1].revok_handle = NULL;
137 if (GNUNET_NO == is_valid) 137 if (GNUNET_NO == is_valid)
@@ -141,11 +141,14 @@ revocation_cb (void *cls, int is_valid)
141 } 141 }
142} 142}
143 143
144struct GNUNET_REVOCATION_Pow proof_of_work;
145
144 146
145static void 147static void
146ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego) 148ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
147{ 149{
148 static int completed = 0; 150 static int completed = 0;
151 const struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
149 152
150 if ((NULL != ego) && (cls == &testpeers[0])) 153 if ((NULL != ego) && (cls == &testpeers[0]))
151 { 154 {
@@ -159,17 +162,20 @@ ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
159 testpeers[1].ego_lookup = NULL; 162 testpeers[1].ego_lookup = NULL;
160 testpeers[1].privkey = GNUNET_IDENTITY_ego_get_private_key (ego); 163 testpeers[1].privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
161 GNUNET_IDENTITY_ego_get_public_key (ego, &testpeers[1].pubkey); 164 GNUNET_IDENTITY_ego_get_public_key (ego, &testpeers[1].pubkey);
162 GNUNET_REVOCATION_sign_revocation (testpeers[1].privkey, &testpeers[1].sig);
163
164 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Calculating proof of work...\n"); 165 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Calculating proof of work...\n");
165 testpeers[1].pow = 0; 166 privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
167 memset (&proof_of_work, 0, sizeof (proof_of_work));
168 GNUNET_REVOCATION_pow_init (privkey,
169 &proof_of_work);
170 testpeers[1].pow = GNUNET_REVOCATION_pow_start (&proof_of_work,
171 1,
172 5);
166 int res = 173 int res =
167 GNUNET_REVOCATION_check_pow (&testpeers[1].pubkey, testpeers[1].pow, 5); 174 GNUNET_REVOCATION_pow_round (testpeers[1].pow);
168 while (GNUNET_OK != res) 175 while (GNUNET_OK != res)
169 { 176 {
170 testpeers[1].pow++;
171 res = 177 res =
172 GNUNET_REVOCATION_check_pow (&testpeers[1].pubkey, testpeers[1].pow, 5); 178 GNUNET_REVOCATION_pow_round (testpeers[1].pow);
173 } 179 }
174 fprintf (stderr, "Done calculating proof of work\n"); 180 fprintf (stderr, "Done calculating proof of work\n");
175 completed++; 181 completed++;
@@ -178,11 +184,10 @@ ego_cb (void *cls, const struct GNUNET_IDENTITY_Ego *ego)
178 { 184 {
179 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Egos retrieved\n"); 185 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Egos retrieved\n");
180 testpeers[1].revok_handle = GNUNET_REVOCATION_revoke (testpeers[1].cfg, 186 testpeers[1].revok_handle = GNUNET_REVOCATION_revoke (testpeers[1].cfg,
181 &testpeers[1].pubkey, 187 &proof_of_work,
182 &testpeers[1].sig,
183 testpeers[1].pow,
184 &revocation_cb, 188 &revocation_cb,
185 NULL); 189 NULL);
190 GNUNET_REVOCATION_pow_stop (testpeers[1].pow);
186 } 191 }
187} 192}
188 193
diff --git a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
index 3b04150c1..66e2cdcc9 100644
--- a/src/revocation/test_revocation.conf
+++ b/src/revocation/test_revocation.conf
@@ -7,6 +7,7 @@ SERVICEHOME=$GNUNET_TMP/test-revocation-service
7[revocation] 7[revocation]
8WORKBITS = 3 8WORKBITS = 3
9IMMEDIATE_START = YES 9IMMEDIATE_START = YES
10EPOCH_DURATION = 365 d
10 11
11[identity] 12[identity]
12# Directory where we store information about our egos 13# Directory where we store information about our egos
diff --git a/src/statistics/gnunet-statistics.c b/src/statistics/gnunet-statistics.c
index 47bdbf2c1..63afde877 100644
--- a/src/statistics/gnunet-statistics.c
+++ b/src/statistics/gnunet-statistics.c
@@ -881,7 +881,7 @@ main (int argc, char *const *argv)
881 num_nodes, 881 num_nodes,
882 0); 882 0);
883 GNUNET_free_non_null (remote_host); 883 GNUNET_free_non_null (remote_host);
884 GNUNET_free ((void *) argv); 884 GNUNET_free_nz ((void *) argv);
885 return ret; 885 return ret;
886} 886}
887 887
diff --git a/src/template/gnunet-template.c b/src/template/gnunet-template.c
index b33cbcc64..5e250bbdf 100644
--- a/src/template/gnunet-template.c
+++ b/src/template/gnunet-template.c
@@ -78,7 +78,7 @@ main (int argc, char *const *argv)
78 NULL)) 78 NULL))
79 ? ret 79 ? ret
80 : 1; 80 : 1;
81 GNUNET_free ((void *) argv); 81 GNUNET_free_nz ((void *) argv);
82 return ret; 82 return ret;
83} 83}
84 84
diff --git a/src/testbed/gnunet-daemon-latency-logger.c b/src/testbed/gnunet-daemon-latency-logger.c
index 0af718a63..c13750db7 100644
--- a/src/testbed/gnunet-daemon-latency-logger.c
+++ b/src/testbed/gnunet-daemon-latency-logger.c
@@ -317,6 +317,6 @@ main (int argc, char *const *argv)
317 _ ( 317 _ (
318 "Daemon to log latency values of connections to neighbours"), 318 "Daemon to log latency values of connections to neighbours"),
319 options, &run, NULL)) ? 0 : 1; 319 options, &run, NULL)) ? 0 : 1;
320 GNUNET_free ((void *) argv); 320 GNUNET_free_nz ((void *) argv);
321 return ret; 321 return ret;
322} 322}
diff --git a/src/testbed/gnunet-daemon-testbed-blacklist.c b/src/testbed/gnunet-daemon-testbed-blacklist.c
index 070583941..c82f8075f 100644
--- a/src/testbed/gnunet-daemon-testbed-blacklist.c
+++ b/src/testbed/gnunet-daemon-testbed-blacklist.c
@@ -249,6 +249,6 @@ main (int argc, char *const *argv)
249 _ ( 249 _ (
250 "Daemon to restrict incoming transport layer connections during testbed deployments"), 250 "Daemon to restrict incoming transport layer connections during testbed deployments"),
251 options, &run, NULL)) ? 0 : 1; 251 options, &run, NULL)) ? 0 : 1;
252 GNUNET_free ((void *) argv); 252 GNUNET_free_nz ((void *) argv);
253 return ret; 253 return ret;
254} 254}
diff --git a/src/testbed/gnunet-daemon-testbed-underlay.c b/src/testbed/gnunet-daemon-testbed-underlay.c
index 09dfee5a6..2bff7cdd4 100644
--- a/src/testbed/gnunet-daemon-testbed-underlay.c
+++ b/src/testbed/gnunet-daemon-testbed-underlay.c
@@ -476,6 +476,6 @@ main (int argc, char *const *argv)
476 ( 476 (
477 "Daemon to restrict underlay network in testbed deployments"), 477 "Daemon to restrict underlay network in testbed deployments"),
478 options, &run, NULL)) ? 0 : 1; 478 options, &run, NULL)) ? 0 : 1;
479 GNUNET_free ((void *) argv); 479 GNUNET_free_nz ((void *) argv);
480 return ret; 480 return ret;
481} 481}
diff --git a/src/testbed/gnunet-testbed-profiler.c b/src/testbed/gnunet-testbed-profiler.c
index cfc6367fe..90813c8e5 100644
--- a/src/testbed/gnunet-testbed-profiler.c
+++ b/src/testbed/gnunet-testbed-profiler.c
@@ -318,7 +318,7 @@ main (int argc, char *const *argv)
318 ret = 318 ret =
319 GNUNET_PROGRAM_run (argc, argv, "gnunet-testbed-profiler", binaryHelp, 319 GNUNET_PROGRAM_run (argc, argv, "gnunet-testbed-profiler", binaryHelp,
320 options, &run, NULL); 320 options, &run, NULL);
321 GNUNET_free ((void *) argv); 321 GNUNET_free_nz ((void *) argv);
322 if (GNUNET_OK != ret) 322 if (GNUNET_OK != ret)
323 return ret; 323 return ret;
324 if (GNUNET_OK != result) 324 if (GNUNET_OK != result)
diff --git a/src/testing/gnunet-testing.c b/src/testing/gnunet-testing.c
index b850d6b13..a9e5042b2 100644
--- a/src/testing/gnunet-testing.c
+++ b/src/testing/gnunet-testing.c
@@ -436,7 +436,7 @@ main (int argc, char *const *argv)
436 GNUNET_YES)) 436 GNUNET_YES))
437 ? ret 437 ? ret
438 : 1; 438 : 1;
439 GNUNET_free ((void *) argv); 439 GNUNET_free_nz ((void *) argv);
440 return ret; 440 return ret;
441} 441}
442 442
diff --git a/src/testing/testing.c b/src/testing/testing.c
index 3e447e1ff..23bc40d7e 100644
--- a/src/testing/testing.c
+++ b/src/testing/testing.c
@@ -1343,7 +1343,7 @@ GNUNET_TESTING_peer_get_identity (struct GNUNET_TESTING_Peer *peer,
1343 return; 1343 return;
1344 } 1344 }
1345 peer->id = GNUNET_new (struct GNUNET_PeerIdentity); 1345 peer->id = GNUNET_new (struct GNUNET_PeerIdentity);
1346 GNUNET_free ( 1346 GNUNET_free_nz (
1347 GNUNET_TESTING_hostkey_get (peer->system, peer->key_number, peer->id)); 1347 GNUNET_TESTING_hostkey_get (peer->system, peer->key_number, peer->id));
1348 GNUNET_memcpy (id, peer->id, sizeof(struct GNUNET_PeerIdentity)); 1348 GNUNET_memcpy (id, peer->id, sizeof(struct GNUNET_PeerIdentity));
1349} 1349}
diff --git a/src/topology/gnunet-daemon-topology.c b/src/topology/gnunet-daemon-topology.c
index 261d825ea..c6f600df1 100644
--- a/src/topology/gnunet-daemon-topology.c
+++ b/src/topology/gnunet-daemon-topology.c
@@ -1130,7 +1130,7 @@ main (int argc, char *const *argv)
1130 NULL)) 1130 NULL))
1131 ? 0 1131 ? 0
1132 : 1; 1132 : 1;
1133 GNUNET_free ((void *) argv); 1133 GNUNET_free_nz ((void *) argv);
1134 return ret; 1134 return ret;
1135} 1135}
1136 1136
diff --git a/src/transport/gnunet-communicator-tcp.c b/src/transport/gnunet-communicator-tcp.c
index 82ee309a5..bbfacbffd 100644
--- a/src/transport/gnunet-communicator-tcp.c
+++ b/src/transport/gnunet-communicator-tcp.c
@@ -2285,7 +2285,7 @@ main (int argc, char *const *argv)
2285 NULL)) 2285 NULL))
2286 ? 0 2286 ? 0
2287 : 1; 2287 : 1;
2288 GNUNET_free ((void *) argv); 2288 GNUNET_free_nz ((void *) argv);
2289 return ret; 2289 return ret;
2290} 2290}
2291 2291
diff --git a/src/transport/gnunet-communicator-udp.c b/src/transport/gnunet-communicator-udp.c
index e0b14f669..72e84567a 100644
--- a/src/transport/gnunet-communicator-udp.c
+++ b/src/transport/gnunet-communicator-udp.c
@@ -2791,7 +2791,7 @@ main (int argc, char *const *argv)
2791 NULL)) 2791 NULL))
2792 ? 0 2792 ? 0
2793 : 1; 2793 : 1;
2794 GNUNET_free ((void *) argv); 2794 GNUNET_free_nz ((void *) argv);
2795 return ret; 2795 return ret;
2796} 2796}
2797 2797
diff --git a/src/transport/gnunet-communicator-unix.c b/src/transport/gnunet-communicator-unix.c
index 7d7f18a9c..31d2e4ed3 100644
--- a/src/transport/gnunet-communicator-unix.c
+++ b/src/transport/gnunet-communicator-unix.c
@@ -1135,7 +1135,7 @@ main (int argc, char *const *argv)
1135 NULL)) 1135 NULL))
1136 ? 0 1136 ? 0
1137 : 1; 1137 : 1;
1138 GNUNET_free ((void *) argv); 1138 GNUNET_free_nz ((void *) argv);
1139 return ret; 1139 return ret;
1140} 1140}
1141 1141
diff --git a/src/transport/gnunet-transport-profiler.c b/src/transport/gnunet-transport-profiler.c
index 6c13cf059..81678fa20 100644
--- a/src/transport/gnunet-transport-profiler.c
+++ b/src/transport/gnunet-transport-profiler.c
@@ -615,7 +615,7 @@ main (int argc, char *const *argv)
615 options, 615 options,
616 &run, 616 &run,
617 NULL); 617 NULL);
618 GNUNET_free ((void *) argv); 618 GNUNET_free_nz ((void *) argv);
619 if (GNUNET_OK == res) 619 if (GNUNET_OK == res)
620 return ret; 620 return ret;
621 return 1; 621 return 1;
diff --git a/src/transport/gnunet-transport.c b/src/transport/gnunet-transport.c
index 5a437b660..35da5ec10 100644
--- a/src/transport/gnunet-transport.c
+++ b/src/transport/gnunet-transport.c
@@ -1427,7 +1427,7 @@ main (int argc, char *const *argv)
1427 options, 1427 options,
1428 &run, 1428 &run,
1429 NULL); 1429 NULL);
1430 GNUNET_free ((void *) argv); 1430 GNUNET_free_nz ((void *) argv);
1431 if (GNUNET_OK == res) 1431 if (GNUNET_OK == res)
1432 return ret; 1432 return ret;
1433 return 1; 1433 return 1;
diff --git a/src/transport/tcp_service_legacy.c b/src/transport/tcp_service_legacy.c
index f207863f9..fb4e9c3c9 100644
--- a/src/transport/tcp_service_legacy.c
+++ b/src/transport/tcp_service_legacy.c
@@ -1474,7 +1474,7 @@ shutdown:
1474 i = 0; 1474 i = 0;
1475 if (NULL != sctx.addrs) 1475 if (NULL != sctx.addrs)
1476 while (NULL != sctx.addrs[i]) 1476 while (NULL != sctx.addrs[i])
1477 GNUNET_free (sctx.addrs[i++]); 1477 GNUNET_free_nz (sctx.addrs[i++]);
1478 GNUNET_free_non_null (sctx.addrs); 1478 GNUNET_free_non_null (sctx.addrs);
1479 GNUNET_free_non_null (sctx.addrlens); 1479 GNUNET_free_non_null (sctx.addrlens);
1480 GNUNET_free_non_null (logfile); 1480 GNUNET_free_non_null (logfile);
@@ -1631,7 +1631,7 @@ LEGACY_SERVICE_stop (struct LEGACY_SERVICE_Context *sctx)
1631 { 1631 {
1632 i = 0; 1632 i = 0;
1633 while (NULL != sctx->addrs[i]) 1633 while (NULL != sctx->addrs[i])
1634 GNUNET_free (sctx->addrs[i++]); 1634 GNUNET_free_nz (sctx->addrs[i++]);
1635 GNUNET_free (sctx->addrs); 1635 GNUNET_free (sctx->addrs);
1636 } 1636 }
1637 GNUNET_free_non_null (sctx->addrlens); 1637 GNUNET_free_non_null (sctx->addrlens);
diff --git a/src/transport/test_plugin_transport.c b/src/transport/test_plugin_transport.c
index 10e07dae5..04687d845 100644
--- a/src/transport/test_plugin_transport.c
+++ b/src/transport/test_plugin_transport.c
@@ -49,7 +49,7 @@ static struct GNUNET_PeerIdentity my_identity;
49/** 49/**
50 * Our private key. 50 * Our private key.
51 */ 51 */
52static struct GNUNET_CRYPTO_EddsaPrivateKey *my_private_key; 52static struct GNUNET_CRYPTO_EddsaPrivateKey my_private_key;
53 53
54/** 54/**
55 * Our configuration. 55 * Our configuration.
@@ -647,16 +647,20 @@ run (void *cls,
647 } 647 }
648 648
649 max_connect_per_transport = (uint32_t) tneigh; 649 max_connect_per_transport = (uint32_t) tneigh;
650 my_private_key = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); 650 if (GNUNET_SYSERR ==
651 GNUNET_free (keyfile); 651 GNUNET_CRYPTO_eddsa_key_from_file (keyfile,
652 if (NULL == my_private_key) 652 GNUNET_YES,
653 &my_private_key))
653 { 654 {
655 GNUNET_free (keyfile);
654 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 656 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
655 "Could not access hostkey. Exiting.\n"); 657 "Could not access hostkey. Exiting.\n");
656 end_badly_now (); 658 end_badly_now ();
657 return; 659 return;
658 } 660 }
659 GNUNET_CRYPTO_eddsa_key_get_public (my_private_key, &my_identity.public_key); 661 GNUNET_free (keyfile);
662 GNUNET_CRYPTO_eddsa_key_get_public (&my_private_key,
663 &my_identity.public_key);
660 664
661 hello = GNUNET_HELLO_create (&my_identity.public_key, NULL, NULL, GNUNET_NO); 665 hello = GNUNET_HELLO_create (&my_identity.public_key, NULL, NULL, GNUNET_NO);
662 666
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index ae72abb44..fed0dad79 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -133,6 +133,7 @@ libgnunetutil_la_LIBADD = \
133 $(LIBIDN) $(LIBIDN2) \ 133 $(LIBIDN) $(LIBIDN2) \
134 $(Z_LIBS) \ 134 $(Z_LIBS) \
135 -lunistring \ 135 -lunistring \
136 -largon2 \
136 $(XLIB) \ 137 $(XLIB) \
137 $(PTHREAD) 138 $(PTHREAD)
138 139
diff --git a/src/util/buffer.c b/src/util/buffer.c
index 8efb3e284..dabf630c7 100644
--- a/src/util/buffer.c
+++ b/src/util/buffer.c
@@ -56,6 +56,8 @@ GNUNET_buffer_ensure_remaining (struct GNUNET_Buffer *buf,
56{ 56{
57 size_t new_capacity = buf->position + n; 57 size_t new_capacity = buf->position + n;
58 58
59 /* guard against overflow */
60 GNUNET_assert (new_capacity >= buf->position);
59 if (new_capacity <= buf->capacity) 61 if (new_capacity <= buf->capacity)
60 return; 62 return;
61 /* warn if calculation of expected size was wrong */ 63 /* warn if calculation of expected size was wrong */
diff --git a/src/util/crypto_pow.c b/src/util/crypto_pow.c
index 9b20ab345..35511a130 100644
--- a/src/util/crypto_pow.c
+++ b/src/util/crypto_pow.c
@@ -25,7 +25,7 @@
25 */ 25 */
26#include "platform.h" 26#include "platform.h"
27#include "gnunet_crypto_lib.h" 27#include "gnunet_crypto_lib.h"
28#include <gcrypt.h> 28#include <argon2.h>
29 29
30/** 30/**
31 * Calculate the 'proof-of-work' hash (an expensive hash). 31 * Calculate the 'proof-of-work' hash (an expensive hash).
@@ -43,81 +43,17 @@ GNUNET_CRYPTO_pow_hash (const char *salt,
43 size_t buf_len, 43 size_t buf_len,
44 struct GNUNET_HashCode *result) 44 struct GNUNET_HashCode *result)
45{ 45{
46#ifdef LSD001 46 GNUNET_break (ARGON2_OK == argon2d_hash_raw (3, /* iterations */
47 char twofish_iv[128 / 8]; //128 bit IV 47 1024, /* memory (1 MiB) */
48 char twofish_key[256 / 8]; //256 bit Key 48 1, /* threads */
49 char rbuf[buf_len]; 49 buf,
50 int rc; 50 buf_len,
51 gcry_cipher_hd_t handle; 51 salt,
52 strlen (salt),
53 result,
54 sizeof (struct
55 GNUNET_HashCode)));
52 56
53 GNUNET_break (0 == gcry_kdf_derive (buf,
54 buf_len,
55 GCRY_KDF_SCRYPT,
56 1 /* subalgo */,
57 salt,
58 strlen (salt),
59 2 /* iterations; keep cost of individual op small */,
60 sizeof(twofish_key),
61 &twofish_key));
62
63 GNUNET_CRYPTO_kdf (twofish_iv,
64 sizeof (twofish_iv),
65 "gnunet-proof-of-work-iv",
66 strlen ("gnunet-proof-of-work-iv"),
67 twofish_key,
68 sizeof(twofish_key),
69 salt,
70 strlen (salt),
71 NULL, 0);
72 GNUNET_assert (0 ==
73 gcry_cipher_open (&handle, GCRY_CIPHER_TWOFISH,
74 GCRY_CIPHER_MODE_CFB, 0));
75 rc = gcry_cipher_setkey (handle,
76 twofish_key,
77 sizeof(twofish_key));
78 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
79 rc = gcry_cipher_setiv (handle,
80 twofish_iv,
81 sizeof(twofish_iv));
82 GNUNET_assert ((0 == rc) || ((char) rc == GPG_ERR_WEAK_KEY));
83 GNUNET_assert (0 == gcry_cipher_encrypt (handle, &rbuf, buf_len, buf, buf_len));
84 gcry_cipher_close (handle);
85#else
86 struct GNUNET_CRYPTO_SymmetricInitializationVector iv;
87 struct GNUNET_CRYPTO_SymmetricSessionKey skey;
88 char rbuf[buf_len];
89
90 GNUNET_break (0 == gcry_kdf_derive (buf,
91 buf_len,
92 GCRY_KDF_SCRYPT,
93 1 /* subalgo */,
94 salt,
95 strlen (salt),
96 2 /* iterations; keep cost of individual op small */,
97 sizeof(skey),
98 &skey));
99 GNUNET_CRYPTO_symmetric_derive_iv (&iv,
100 &skey,
101 "gnunet-proof-of-work-iv",
102 strlen ("gnunet-proof-of-work-iv"),
103 salt,
104 strlen (salt),
105 NULL, 0);
106 GNUNET_CRYPTO_symmetric_encrypt (buf,
107 buf_len,
108 &skey,
109 &iv,
110 &rbuf);
111#endif
112 GNUNET_break (0 == gcry_kdf_derive (rbuf,
113 buf_len,
114 GCRY_KDF_SCRYPT,
115 1 /* subalgo */,
116 salt,
117 strlen (salt),
118 2 /* iterations; keep cost of individual op small */,
119 sizeof(struct GNUNET_HashCode),
120 result));
121} 57}
122 58
123 59
diff --git a/src/util/gnunet-config.c b/src/util/gnunet-config.c
index f101e8b61..5883c1497 100644
--- a/src/util/gnunet-config.c
+++ b/src/util/gnunet-config.c
@@ -331,7 +331,7 @@ main (int argc, char *const *argv)
331 options, 331 options,
332 &run, 332 &run,
333 NULL); 333 NULL);
334 GNUNET_free ((void *) argv); 334 GNUNET_free_nz ((void *) argv);
335 if (GNUNET_OK == ret) 335 if (GNUNET_OK == ret)
336 return global_ret; 336 return global_ret;
337 return ret; 337 return ret;
diff --git a/src/util/gnunet-ecc.c b/src/util/gnunet-ecc.c
index 764a507b6..8e30ac416 100644
--- a/src/util/gnunet-ecc.c
+++ b/src/util/gnunet-ecc.c
@@ -501,7 +501,7 @@ main (int argc, char *const *argv)
501 NULL)) 501 NULL))
502 ? 0 502 ? 0
503 : 1; 503 : 1;
504 GNUNET_free ((void *) argv); 504 GNUNET_free_nz ((void *) argv);
505 return ret; 505 return ret;
506} 506}
507 507
diff --git a/src/util/gnunet-resolver.c b/src/util/gnunet-resolver.c
index 6a602c64e..8a6c7fbe9 100644
--- a/src/util/gnunet-resolver.c
+++ b/src/util/gnunet-resolver.c
@@ -171,14 +171,18 @@ main (int argc, char *const *argv)
171 }; 171 };
172 int ret; 172 int ret;
173 173
174 if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) 174 if (GNUNET_OK !=
175 GNUNET_STRINGS_get_utf8_args (argc, argv,
176 &argc, &argv))
175 return 2; 177 return 2;
176 178
177 ret = (GNUNET_OK == 179 ret = (GNUNET_OK ==
178 GNUNET_PROGRAM_run (argc, argv, "gnunet-resolver [hostname]", 180 GNUNET_PROGRAM_run (argc, argv,
181 "gnunet-resolver [hostname]",
179 gettext_noop ("Use build-in GNUnet stub resolver"), 182 gettext_noop ("Use build-in GNUnet stub resolver"),
180 options, &run, NULL)) ? 0 : 1; 183 options,
181 GNUNET_free ((void *) argv); 184 &run, NULL)) ? 0 : 1;
185 GNUNET_free_nz ((void *) argv);
182 return ret; 186 return ret;
183} 187}
184 188
diff --git a/src/util/gnunet-scrypt.c b/src/util/gnunet-scrypt.c
index 8c46136b9..70ba48d82 100644
--- a/src/util/gnunet-scrypt.c
+++ b/src/util/gnunet-scrypt.c
@@ -322,7 +322,7 @@ main (int argc, char *const *argv)
322 NULL)) 322 NULL))
323 ? 0 323 ? 0
324 : 1; 324 : 1;
325 GNUNET_free ((void *) argv); 325 GNUNET_free_nz ((void *) argv);
326 GNUNET_free_non_null (pwfn); 326 GNUNET_free_non_null (pwfn);
327 return ret; 327 return ret;
328} 328}
diff --git a/src/util/gnunet-uri.c b/src/util/gnunet-uri.c
index 84100ff56..48c46ee49 100644
--- a/src/util/gnunet-uri.c
+++ b/src/util/gnunet-uri.c
@@ -184,7 +184,7 @@ main (int argc, char *const *argv)
184 shc_chld = NULL; 184 shc_chld = NULL;
185 GNUNET_DISK_pipe_close (sigpipe); 185 GNUNET_DISK_pipe_close (sigpipe);
186 sigpipe = NULL; 186 sigpipe = NULL;
187 GNUNET_free ((void *) argv); 187 GNUNET_free_nz ((void *) argv);
188 return ((GNUNET_OK == ret) && (0 == exit_code)) ? 0 : 1; 188 return ((GNUNET_OK == ret) && (0 == exit_code)) ? 0 : 1;
189} 189}
190 190
diff --git a/src/util/os_priority.c b/src/util/os_priority.c
index 36f0d8e30..5799d893b 100644
--- a/src/util/os_priority.c
+++ b/src/util/os_priority.c
@@ -875,7 +875,7 @@ GNUNET_OS_start_process_s (int pipe_control,
875 binary_path, 875 binary_path,
876 argv); 876 argv);
877 while (argv_size > 0) 877 while (argv_size > 0)
878 GNUNET_free (argv[--argv_size]); 878 GNUNET_free_nz (argv[--argv_size]);
879 GNUNET_free (argv); 879 GNUNET_free (argv);
880 return proc; 880 return proc;
881} 881}
diff --git a/src/util/scheduler.c b/src/util/scheduler.c
index 45a6b61e5..93393bd7c 100644
--- a/src/util/scheduler.c
+++ b/src/util/scheduler.c
@@ -584,28 +584,26 @@ dump_backtrace (struct GNUNET_SCHEDULER_Task *t)
584static void 584static void
585destroy_task (struct GNUNET_SCHEDULER_Task *t) 585destroy_task (struct GNUNET_SCHEDULER_Task *t)
586{ 586{
587 unsigned int i;
588
589 LOG (GNUNET_ERROR_TYPE_DEBUG, 587 LOG (GNUNET_ERROR_TYPE_DEBUG,
590 "destroying task %p\n", 588 "destroying task %p\n",
591 t); 589 t);
592 590
593 if (GNUNET_YES == t->own_handles) 591 if (GNUNET_YES == t->own_handles)
594 { 592 {
595 for (i = 0; i != t->fds_len; ++i) 593 for (unsigned int i = 0; i != t->fds_len; ++i)
596 { 594 {
597 const struct GNUNET_NETWORK_Handle *fd = t->fds[i].fd; 595 const struct GNUNET_NETWORK_Handle *fd = t->fds[i].fd;
598 const struct GNUNET_DISK_FileHandle *fh = t->fds[i].fh; 596 const struct GNUNET_DISK_FileHandle *fh = t->fds[i].fh;
599 if (fd) 597 if (fd)
600 { 598 {
601 GNUNET_NETWORK_socket_free_memory_only_ ((struct 599 GNUNET_NETWORK_socket_free_memory_only_ (
602 GNUNET_NETWORK_Handle *) fd); 600 (struct GNUNET_NETWORK_Handle *) fd);
603 } 601 }
604 if (fh) 602 if (fh)
605 { 603 {
606 // FIXME: on WIN32 this is not enough! A function 604 // FIXME: on WIN32 this is not enough! A function
607 // GNUNET_DISK_file_free_memory_only would be nice 605 // GNUNET_DISK_file_free_memory_only would be nice
608 GNUNET_free ((void *) fh); 606 GNUNET_free_nz ((void *) fh);
609 } 607 }
610 } 608 }
611 } 609 }
diff --git a/src/util/test_common_allocation.c b/src/util/test_common_allocation.c
index e2fc29e82..a24af7124 100644
--- a/src/util/test_common_allocation.c
+++ b/src/util/test_common_allocation.c
@@ -27,7 +27,7 @@
27 27
28 28
29static int 29static int
30check () 30check (void)
31{ 31{
32#define MAX_TESTVAL 1024 32#define MAX_TESTVAL 1024
33 char *ptrs[MAX_TESTVAL]; 33 char *ptrs[MAX_TESTVAL];
@@ -134,6 +134,28 @@ check ()
134} 134}
135 135
136 136
137static int
138check2 (void)
139{
140 char *a1 = NULL;
141 unsigned int a1_len = 0;
142 const char *a2 = "test";
143
144 GNUNET_array_append (a1,
145 a1_len,
146 'x');
147 GNUNET_array_concatenate (a1,
148 a1_len,
149 a2,
150 4);
151 GNUNET_assert (0 == strncmp ("xtest",
152 a1,
153 5));
154 GNUNET_assert (5 == a1_len);
155 return 0;
156}
157
158
137int 159int
138main (int argc, char *argv[]) 160main (int argc, char *argv[])
139{ 161{
@@ -142,7 +164,7 @@ main (int argc, char *argv[])
142 GNUNET_log_setup ("test-common-allocation", 164 GNUNET_log_setup ("test-common-allocation",
143 "WARNING", 165 "WARNING",
144 NULL); 166 NULL);
145 ret = check (); 167 ret = check () | check2 ();
146 if (ret != 0) 168 if (ret != 0)
147 fprintf (stderr, 169 fprintf (stderr,
148 "ERROR %d.\n", 170 "ERROR %d.\n",
diff --git a/src/vpn/gnunet-vpn.c b/src/vpn/gnunet-vpn.c
index 6dcd227c7..a7f7fc30c 100644
--- a/src/vpn/gnunet-vpn.c
+++ b/src/vpn/gnunet-vpn.c
@@ -357,7 +357,7 @@ main (int argc, char *const *argv)
357 NULL)) 357 NULL))
358 ? ret 358 ? ret
359 : 1; 359 : 1;
360 GNUNET_free ((void *) argv); 360 GNUNET_free_nz ((void *) argv);
361 return ret; 361 return ret;
362} 362}
363 363