aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/POTFILES.in120
-rw-r--r--src/util/bio.c69
-rw-r--r--src/util/client.c3
-rw-r--r--src/util/common_allocation.c27
-rw-r--r--src/util/configuration.c38
-rw-r--r--src/util/container_bloomfilter.c60
-rw-r--r--src/util/test_service.c27
7 files changed, 225 insertions, 119 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2fcb74c09..6ceb95cbd 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -4,21 +4,13 @@ src/arm/arm_monitor_api.c
4src/arm/gnunet-arm.c 4src/arm/gnunet-arm.c
5src/arm/gnunet-service-arm.c 5src/arm/gnunet-service-arm.c
6src/arm/mockup-service.c 6src/arm/mockup-service.c
7src/ats-tests/ats-testing-experiment.c
8src/ats-tests/ats-testing-log.c
9src/ats-tests/ats-testing-preferences.c
10src/ats-tests/ats-testing-traffic.c
11src/ats-tests/ats-testing.c
12src/ats-tests/gnunet-ats-sim.c
13src/ats-tests/gnunet-solver-eval.c
14src/ats-tool/gnunet-ats.c
15src/ats/ats_api_connectivity.c 7src/ats/ats_api_connectivity.c
16src/ats/ats_api_performance.c 8src/ats/ats_api_performance.c
17src/ats/ats_api_scanner.c 9src/ats/ats_api_scanner.c
18src/ats/ats_api_scheduling.c 10src/ats/ats_api_scheduling.c
19src/ats/gnunet-ats-solver-eval.c 11src/ats/gnunet-ats-solver-eval.c
20src/ats/gnunet-service-ats.c
21src/ats/gnunet-service-ats_addresses.c 12src/ats/gnunet-service-ats_addresses.c
13src/ats/gnunet-service-ats.c
22src/ats/gnunet-service-ats_connectivity.c 14src/ats/gnunet-service-ats_connectivity.c
23src/ats/gnunet-service-ats_normalization.c 15src/ats/gnunet-service-ats_normalization.c
24src/ats/gnunet-service-ats_performance.c 16src/ats/gnunet-service-ats_performance.c
@@ -29,6 +21,14 @@ src/ats/gnunet-service-ats_scheduling.c
29src/ats/plugin_ats_mlp.c 21src/ats/plugin_ats_mlp.c
30src/ats/plugin_ats_proportional.c 22src/ats/plugin_ats_proportional.c
31src/ats/plugin_ats_ril.c 23src/ats/plugin_ats_ril.c
24src/ats-tests/ats-testing.c
25src/ats-tests/ats-testing-experiment.c
26src/ats-tests/ats-testing-log.c
27src/ats-tests/ats-testing-preferences.c
28src/ats-tests/ats-testing-traffic.c
29src/ats-tests/gnunet-ats-sim.c
30src/ats-tests/gnunet-solver-eval.c
31src/ats-tool/gnunet-ats.c
32src/auction/gnunet-auction-create.c 32src/auction/gnunet-auction-create.c
33src/auction/gnunet-auction-info.c 33src/auction/gnunet-auction-info.c
34src/auction/gnunet-auction-join.c 34src/auction/gnunet-auction-join.c
@@ -40,8 +40,8 @@ src/block/plugin_block_test.c
40src/cadet/cadet_api.c 40src/cadet/cadet_api.c
41src/cadet/cadet_test_lib.c 41src/cadet/cadet_test_lib.c
42src/cadet/desirability_table.c 42src/cadet/desirability_table.c
43src/cadet/gnunet-cadet-profiler.c
44src/cadet/gnunet-cadet.c 43src/cadet/gnunet-cadet.c
44src/cadet/gnunet-cadet-profiler.c
45src/cadet/gnunet-service-cadet.c 45src/cadet/gnunet-service-cadet.c
46src/cadet/gnunet-service-cadet_channel.c 46src/cadet/gnunet-service-cadet_channel.c
47src/cadet/gnunet-service-cadet_connection.c 47src/cadet/gnunet-service-cadet_connection.c
@@ -57,15 +57,15 @@ src/consensus/gnunet-service-consensus.c
57src/consensus/plugin_block_consensus.c 57src/consensus/plugin_block_consensus.c
58src/conversation/conversation_api.c 58src/conversation/conversation_api.c
59src/conversation/conversation_api_call.c 59src/conversation/conversation_api_call.c
60src/conversation/gnunet-conversation-test.c
61src/conversation/gnunet-conversation.c 60src/conversation/gnunet-conversation.c
62src/conversation/gnunet-helper-audio-playback-gst.c 61src/conversation/gnunet-conversation-test.c
62src/conversation/gnunet_gst.c
63src/conversation/gnunet_gst_test.c
63src/conversation/gnunet-helper-audio-playback.c 64src/conversation/gnunet-helper-audio-playback.c
64src/conversation/gnunet-helper-audio-record-gst.c 65src/conversation/gnunet-helper-audio-playback-gst.c
65src/conversation/gnunet-helper-audio-record.c 66src/conversation/gnunet-helper-audio-record.c
67src/conversation/gnunet-helper-audio-record-gst.c
66src/conversation/gnunet-service-conversation.c 68src/conversation/gnunet-service-conversation.c
67src/conversation/gnunet_gst.c
68src/conversation/gnunet_gst_test.c
69src/conversation/microphone.c 69src/conversation/microphone.c
70src/conversation/plugin_gnsrecord_conversation.c 70src/conversation/plugin_gnsrecord_conversation.c
71src/conversation/speaker.c 71src/conversation/speaker.c
@@ -102,6 +102,7 @@ src/dht/dht_api.c
102src/dht/dht_test_lib.c 102src/dht/dht_test_lib.c
103src/dht/gnunet-dht-get.c 103src/dht/gnunet-dht-get.c
104src/dht/gnunet-dht-monitor.c 104src/dht/gnunet-dht-monitor.c
105src/dht/gnunet_dht_profiler.c
105src/dht/gnunet-dht-put.c 106src/dht/gnunet-dht-put.c
106src/dht/gnunet-service-dht.c 107src/dht/gnunet-service-dht.c
107src/dht/gnunet-service-dht_clients.c 108src/dht/gnunet-service-dht_clients.c
@@ -110,7 +111,6 @@ src/dht/gnunet-service-dht_hello.c
110src/dht/gnunet-service-dht_neighbours.c 111src/dht/gnunet-service-dht_neighbours.c
111src/dht/gnunet-service-dht_nse.c 112src/dht/gnunet-service-dht_nse.c
112src/dht/gnunet-service-dht_routing.c 113src/dht/gnunet-service-dht_routing.c
113src/dht/gnunet_dht_profiler.c
114src/dht/plugin_block_dht.c 114src/dht/plugin_block_dht.c
115src/dns/dns_api.c 115src/dns/dns_api.c
116src/dns/dnsparser.c 116src/dns/dnsparser.c
@@ -125,8 +125,8 @@ src/dv/gnunet-dv.c
125src/dv/gnunet-service-dv.c 125src/dv/gnunet-service-dv.c
126src/dv/plugin_transport_dv.c 126src/dv/plugin_transport_dv.c
127src/exit/gnunet-daemon-exit.c 127src/exit/gnunet-daemon-exit.c
128src/exit/gnunet-helper-exit-windows.c
129src/exit/gnunet-helper-exit.c 128src/exit/gnunet-helper-exit.c
129src/exit/gnunet-helper-exit-windows.c
130src/fragmentation/defragmentation.c 130src/fragmentation/defragmentation.c
131src/fragmentation/fragmentation.c 131src/fragmentation/fragmentation.c
132src/fs/fs_api.c 132src/fs/fs_api.c
@@ -151,8 +151,8 @@ src/fs/gnunet-auto-share.c
151src/fs/gnunet-daemon-fsprofiler.c 151src/fs/gnunet-daemon-fsprofiler.c
152src/fs/gnunet-directory.c 152src/fs/gnunet-directory.c
153src/fs/gnunet-download.c 153src/fs/gnunet-download.c
154src/fs/gnunet-fs-profiler.c
155src/fs/gnunet-fs.c 154src/fs/gnunet-fs.c
155src/fs/gnunet-fs-profiler.c
156src/fs/gnunet-helper-fs-publish.c 156src/fs/gnunet-helper-fs-publish.c
157src/fs/gnunet-publish.c 157src/fs/gnunet-publish.c
158src/fs/gnunet-search.c 158src/fs/gnunet-search.c
@@ -170,10 +170,10 @@ src/fs/plugin_block_fs.c
170src/gns/gns_api.c 170src/gns/gns_api.c
171src/gns/gnunet-bcd.c 171src/gns/gnunet-bcd.c
172src/gns/gnunet-dns2gns.c 172src/gns/gnunet-dns2gns.c
173src/gns/gnunet-gns.c
173src/gns/gnunet-gns-helper-service-w32.c 174src/gns/gnunet-gns-helper-service-w32.c
174src/gns/gnunet-gns-import.c 175src/gns/gnunet-gns-import.c
175src/gns/gnunet-gns-proxy.c 176src/gns/gnunet-gns-proxy.c
176src/gns/gnunet-gns.c
177src/gns/gnunet-service-gns.c 177src/gns/gnunet-service-gns.c
178src/gns/gnunet-service-gns_interceptor.c 178src/gns/gnunet-service-gns_interceptor.c
179src/gns/gnunet-service-gns_resolver.c 179src/gns/gnunet-service-gns_resolver.c
@@ -182,15 +182,15 @@ src/gns/nss/nss_gns_query.c
182src/gns/plugin_block_gns.c 182src/gns/plugin_block_gns.c
183src/gns/plugin_gnsrecord_gns.c 183src/gns/plugin_gnsrecord_gns.c
184src/gns/plugin_rest_gns.c 184src/gns/plugin_rest_gns.c
185src/gns/w32nsp-install.c
186src/gns/w32nsp-resolve.c
187src/gns/w32nsp-uninstall.c
188src/gns/w32nsp.c
189src/gnsrecord/gnsrecord.c 185src/gnsrecord/gnsrecord.c
190src/gnsrecord/gnsrecord_crypto.c 186src/gnsrecord/gnsrecord_crypto.c
191src/gnsrecord/gnsrecord_misc.c 187src/gnsrecord/gnsrecord_misc.c
192src/gnsrecord/gnsrecord_serialization.c 188src/gnsrecord/gnsrecord_serialization.c
193src/gnsrecord/plugin_gnsrecord_dns.c 189src/gnsrecord/plugin_gnsrecord_dns.c
190src/gns/w32nsp.c
191src/gns/w32nsp-install.c
192src/gns/w32nsp-resolve.c
193src/gns/w32nsp-uninstall.c
194src/hello/address.c 194src/hello/address.c
195src/hello/gnunet-hello.c 195src/hello/gnunet-hello.c
196src/hello/hello.c 196src/hello/hello.c
@@ -199,6 +199,11 @@ src/hostlist/gnunet-daemon-hostlist_client.c
199src/hostlist/gnunet-daemon-hostlist_server.c 199src/hostlist/gnunet-daemon-hostlist_server.c
200src/identity-attribute/identity_attribute.c 200src/identity-attribute/identity_attribute.c
201src/identity-attribute/plugin_identity_attribute_gnuid.c 201src/identity-attribute/plugin_identity_attribute_gnuid.c
202src/identity/gnunet-identity.c
203src/identity/gnunet-service-identity.c
204src/identity/identity_api.c
205src/identity/identity_api_lookup.c
206src/identity/plugin_rest_identity.c
202src/identity-provider/gnunet-idp.c 207src/identity-provider/gnunet-idp.c
203src/identity-provider/gnunet-service-identity-provider.c 208src/identity-provider/gnunet-service-identity-provider.c
204src/identity-provider/identity_provider_api.c 209src/identity-provider/identity_provider_api.c
@@ -206,20 +211,15 @@ src/identity-provider/jwt.c
206src/identity-provider/plugin_gnsrecord_identity_provider.c 211src/identity-provider/plugin_gnsrecord_identity_provider.c
207src/identity-provider/plugin_identity_provider_sqlite.c 212src/identity-provider/plugin_identity_provider_sqlite.c
208src/identity-provider/plugin_rest_identity_provider.c 213src/identity-provider/plugin_rest_identity_provider.c
209src/identity/gnunet-identity.c
210src/identity/gnunet-service-identity.c
211src/identity/identity_api.c
212src/identity/identity_api_lookup.c
213src/identity/plugin_rest_identity.c
214src/json/json.c
215src/json/json_generator.c
216src/json/json_helper.c
217src/json/json_mhd.c
218src/jsonapi/jsonapi.c 214src/jsonapi/jsonapi.c
219src/jsonapi/jsonapi_document.c 215src/jsonapi/jsonapi_document.c
220src/jsonapi/jsonapi_error.c 216src/jsonapi/jsonapi_error.c
221src/jsonapi/jsonapi_relationship.c 217src/jsonapi/jsonapi_relationship.c
222src/jsonapi/jsonapi_resource.c 218src/jsonapi/jsonapi_resource.c
219src/json/json.c
220src/json/json_generator.c
221src/json/json_helper.c
222src/json/json_mhd.c
223src/multicast/gnunet-multicast.c 223src/multicast/gnunet-multicast.c
224src/multicast/gnunet-service-multicast.c 224src/multicast/gnunet-service-multicast.c
225src/multicast/multicast_api.c 225src/multicast/multicast_api.c
@@ -233,8 +233,8 @@ src/namecache/namecache_api.c
233src/namecache/plugin_namecache_flat.c 233src/namecache/plugin_namecache_flat.c
234src/namecache/plugin_namecache_postgres.c 234src/namecache/plugin_namecache_postgres.c
235src/namecache/plugin_namecache_sqlite.c 235src/namecache/plugin_namecache_sqlite.c
236src/namestore/gnunet-namestore-fcfsd.c
237src/namestore/gnunet-namestore.c 236src/namestore/gnunet-namestore.c
237src/namestore/gnunet-namestore-fcfsd.c
238src/namestore/gnunet-service-namestore.c 238src/namestore/gnunet-service-namestore.c
239src/namestore/namestore_api.c 239src/namestore/namestore_api.c
240src/namestore/namestore_api_monitor.c 240src/namestore/namestore_api_monitor.c
@@ -249,10 +249,10 @@ src/nat-auto/gnunet-service-nat-auto.c
249src/nat-auto/gnunet-service-nat-auto_legacy.c 249src/nat-auto/gnunet-service-nat-auto_legacy.c
250src/nat-auto/nat_auto_api.c 250src/nat-auto/nat_auto_api.c
251src/nat-auto/nat_auto_api_test.c 251src/nat-auto/nat_auto_api_test.c
252src/nat/gnunet-helper-nat-client-windows.c
253src/nat/gnunet-helper-nat-client.c 252src/nat/gnunet-helper-nat-client.c
254src/nat/gnunet-helper-nat-server-windows.c 253src/nat/gnunet-helper-nat-client-windows.c
255src/nat/gnunet-helper-nat-server.c 254src/nat/gnunet-helper-nat-server.c
255src/nat/gnunet-helper-nat-server-windows.c
256src/nat/gnunet-nat.c 256src/nat/gnunet-nat.c
257src/nat/gnunet-service-nat.c 257src/nat/gnunet-service-nat.c
258src/nat/gnunet-service-nat_externalip.c 258src/nat/gnunet-service-nat_externalip.c
@@ -261,15 +261,15 @@ src/nat/gnunet-service-nat_mini.c
261src/nat/gnunet-service-nat_stun.c 261src/nat/gnunet-service-nat_stun.c
262src/nat/nat_api.c 262src/nat/nat_api.c
263src/nat/nat_api_stun.c 263src/nat/nat_api_stun.c
264src/nse/gnunet-nse-profiler.c
265src/nse/gnunet-nse.c 264src/nse/gnunet-nse.c
265src/nse/gnunet-nse-profiler.c
266src/nse/gnunet-service-nse.c 266src/nse/gnunet-service-nse.c
267src/nse/nse_api.c 267src/nse/nse_api.c
268src/peerinfo-tool/gnunet-peerinfo.c
269src/peerinfo-tool/gnunet-peerinfo_plugins.c
270src/peerinfo/gnunet-service-peerinfo.c 268src/peerinfo/gnunet-service-peerinfo.c
271src/peerinfo/peerinfo_api.c 269src/peerinfo/peerinfo_api.c
272src/peerinfo/peerinfo_api_notify.c 270src/peerinfo/peerinfo_api_notify.c
271src/peerinfo-tool/gnunet-peerinfo.c
272src/peerinfo-tool/gnunet-peerinfo_plugins.c
273src/peerstore/gnunet-peerstore.c 273src/peerstore/gnunet-peerstore.c
274src/peerstore/gnunet-service-peerstore.c 274src/peerstore/gnunet-service-peerstore.c
275src/peerstore/peerstore_api.c 275src/peerstore/peerstore_api.c
@@ -320,13 +320,13 @@ src/rps/gnunet-service-rps_custommap.c
320src/rps/gnunet-service-rps_sampler.c 320src/rps/gnunet-service-rps_sampler.c
321src/rps/gnunet-service-rps_sampler_elem.c 321src/rps/gnunet-service-rps_sampler_elem.c
322src/rps/gnunet-service-rps_view.c 322src/rps/gnunet-service-rps_view.c
323src/rps/rps-test_util.c
324src/rps/rps_api.c 323src/rps/rps_api.c
324src/rps/rps-test_util.c
325src/scalarproduct/gnunet-scalarproduct.c 325src/scalarproduct/gnunet-scalarproduct.c
326src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
327src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
328src/scalarproduct/gnunet-service-scalarproduct_alice.c 326src/scalarproduct/gnunet-service-scalarproduct_alice.c
329src/scalarproduct/gnunet-service-scalarproduct_bob.c 327src/scalarproduct/gnunet-service-scalarproduct_bob.c
328src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
329src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
330src/scalarproduct/scalarproduct_api.c 330src/scalarproduct/scalarproduct_api.c
331src/secretsharing/gnunet-secretsharing-profiler.c 331src/secretsharing/gnunet-secretsharing-profiler.c
332src/secretsharing/gnunet-service-secretsharing.c 332src/secretsharing/gnunet-service-secretsharing.c
@@ -353,16 +353,15 @@ src/statistics/gnunet-statistics.c
353src/statistics/statistics_api.c 353src/statistics/statistics_api.c
354src/template/gnunet-service-template.c 354src/template/gnunet-service-template.c
355src/template/gnunet-template.c 355src/template/gnunet-template.c
356src/testbed-logger/gnunet-service-testbed-logger.c
357src/testbed-logger/testbed_logger_api.c
358src/testbed/generate-underlay-topology.c 356src/testbed/generate-underlay-topology.c
359src/testbed/gnunet-daemon-latency-logger.c 357src/testbed/gnunet-daemon-latency-logger.c
360src/testbed/gnunet-daemon-testbed-blacklist.c 358src/testbed/gnunet-daemon-testbed-blacklist.c
361src/testbed/gnunet-daemon-testbed-underlay.c 359src/testbed/gnunet-daemon-testbed-underlay.c
362src/testbed/gnunet-helper-testbed.c 360src/testbed/gnunet-helper-testbed.c
361src/testbed/gnunet_mpi_test.c
363src/testbed/gnunet-service-test-barriers.c 362src/testbed/gnunet-service-test-barriers.c
364src/testbed/gnunet-service-testbed.c
365src/testbed/gnunet-service-testbed_barriers.c 363src/testbed/gnunet-service-testbed_barriers.c
364src/testbed/gnunet-service-testbed.c
366src/testbed/gnunet-service-testbed_cache.c 365src/testbed/gnunet-service-testbed_cache.c
367src/testbed/gnunet-service-testbed_connectionpool.c 366src/testbed/gnunet-service-testbed_connectionpool.c
368src/testbed/gnunet-service-testbed_cpustatus.c 367src/testbed/gnunet-service-testbed_cpustatus.c
@@ -370,19 +369,20 @@ src/testbed/gnunet-service-testbed_links.c
370src/testbed/gnunet-service-testbed_meminfo.c 369src/testbed/gnunet-service-testbed_meminfo.c
371src/testbed/gnunet-service-testbed_oc.c 370src/testbed/gnunet-service-testbed_oc.c
372src/testbed/gnunet-service-testbed_peers.c 371src/testbed/gnunet-service-testbed_peers.c
373src/testbed/gnunet-testbed-profiler.c
374src/testbed/gnunet_mpi_test.c
375src/testbed/gnunet_testbed_mpi_spawn.c 372src/testbed/gnunet_testbed_mpi_spawn.c
376src/testbed/testbed_api.c 373src/testbed/gnunet-testbed-profiler.c
374src/testbed-logger/gnunet-service-testbed-logger.c
375src/testbed-logger/testbed_logger_api.c
377src/testbed/testbed_api_barriers.c 376src/testbed/testbed_api_barriers.c
377src/testbed/testbed_api.c
378src/testbed/testbed_api_hosts.c 378src/testbed/testbed_api_hosts.c
379src/testbed/testbed_api_operations.c 379src/testbed/testbed_api_operations.c
380src/testbed/testbed_api_peers.c 380src/testbed/testbed_api_peers.c
381src/testbed/testbed_api_sd.c 381src/testbed/testbed_api_sd.c
382src/testbed/testbed_api_services.c 382src/testbed/testbed_api_services.c
383src/testbed/testbed_api_statistics.c 383src/testbed/testbed_api_statistics.c
384src/testbed/testbed_api_test.c
385src/testbed/testbed_api_testbed.c 384src/testbed/testbed_api_testbed.c
385src/testbed/testbed_api_test.c
386src/testbed/testbed_api_topology.c 386src/testbed/testbed_api_topology.c
387src/testbed/testbed_api_underlay.c 387src/testbed/testbed_api_underlay.c
388src/testing/gnunet-testing.c 388src/testing/gnunet-testing.c
@@ -391,39 +391,34 @@ src/testing/testing.c
391src/topology/friends.c 391src/topology/friends.c
392src/topology/gnunet-daemon-topology.c 392src/topology/gnunet-daemon-topology.c
393src/transport/gnunet-helper-transport-bluetooth.c 393src/transport/gnunet-helper-transport-bluetooth.c
394src/transport/gnunet-helper-transport-wlan-dummy.c
395src/transport/gnunet-helper-transport-wlan.c 394src/transport/gnunet-helper-transport-wlan.c
396src/transport/gnunet-service-transport.c 395src/transport/gnunet-helper-transport-wlan-dummy.c
397src/transport/gnunet-service-transport_ats.c 396src/transport/gnunet-service-transport_ats.c
397src/transport/gnunet-service-transport.c
398src/transport/gnunet-service-transport_hello.c 398src/transport/gnunet-service-transport_hello.c
399src/transport/gnunet-service-transport_manipulation.c 399src/transport/gnunet-service-transport_manipulation.c
400src/transport/gnunet-service-transport_neighbours.c 400src/transport/gnunet-service-transport_neighbours.c
401src/transport/gnunet-service-transport_plugins.c 401src/transport/gnunet-service-transport_plugins.c
402src/transport/gnunet-service-transport_validation.c 402src/transport/gnunet-service-transport_validation.c
403src/transport/gnunet-transport.c
403src/transport/gnunet-transport-certificate-creation.c 404src/transport/gnunet-transport-certificate-creation.c
404src/transport/gnunet-transport-profiler.c 405src/transport/gnunet-transport-profiler.c
405src/transport/gnunet-transport-wlan-receiver.c 406src/transport/gnunet-transport-wlan-receiver.c
406src/transport/gnunet-transport-wlan-sender.c 407src/transport/gnunet-transport-wlan-sender.c
407src/transport/gnunet-transport.c
408src/transport/plugin_transport_http_client.c 408src/transport/plugin_transport_http_client.c
409src/transport/plugin_transport_http_common.c 409src/transport/plugin_transport_http_common.c
410src/transport/plugin_transport_http_server.c 410src/transport/plugin_transport_http_server.c
411src/transport/plugin_transport_smtp.c 411src/transport/plugin_transport_smtp.c
412src/transport/plugin_transport_tcp.c 412src/transport/plugin_transport_tcp.c
413src/transport/plugin_transport_template.c 413src/transport/plugin_transport_template.c
414src/transport/plugin_transport_udp.c
415src/transport/plugin_transport_udp_broadcasting.c 414src/transport/plugin_transport_udp_broadcasting.c
415src/transport/plugin_transport_udp.c
416src/transport/plugin_transport_unix.c 416src/transport/plugin_transport_unix.c
417src/transport/plugin_transport_wlan.c 417src/transport/plugin_transport_wlan.c
418src/transport/tcp_connection_legacy.c 418src/transport/tcp_connection_legacy.c
419src/transport/tcp_server_legacy.c 419src/transport/tcp_server_legacy.c
420src/transport/tcp_server_mst_legacy.c 420src/transport/tcp_server_mst_legacy.c
421src/transport/tcp_service_legacy.c 421src/transport/tcp_service_legacy.c
422src/transport/transport-testing-filenames.c
423src/transport/transport-testing-loggers.c
424src/transport/transport-testing-main.c
425src/transport/transport-testing-send.c
426src/transport/transport-testing.c
427src/transport/transport_api_address_to_string.c 422src/transport/transport_api_address_to_string.c
428src/transport/transport_api_blacklist.c 423src/transport/transport_api_blacklist.c
429src/transport/transport_api_core.c 424src/transport/transport_api_core.c
@@ -432,6 +427,11 @@ src/transport/transport_api_manipulation.c
432src/transport/transport_api_monitor_peers.c 427src/transport/transport_api_monitor_peers.c
433src/transport/transport_api_monitor_plugins.c 428src/transport/transport_api_monitor_plugins.c
434src/transport/transport_api_offer_hello.c 429src/transport/transport_api_offer_hello.c
430src/transport/transport-testing.c
431src/transport/transport-testing-filenames.c
432src/transport/transport-testing-loggers.c
433src/transport/transport-testing-main.c
434src/transport/transport-testing-send.c
435src/tun/regex.c 435src/tun/regex.c
436src/tun/tun.c 436src/tun/tun.c
437src/util/bandwidth.c 437src/util/bandwidth.c
@@ -445,8 +445,8 @@ src/util/configuration_loader.c
445src/util/container_bloomfilter.c 445src/util/container_bloomfilter.c
446src/util/container_heap.c 446src/util/container_heap.c
447src/util/container_meta_data.c 447src/util/container_meta_data.c
448src/util/container_multihashmap.c
449src/util/container_multihashmap32.c 448src/util/container_multihashmap32.c
449src/util/container_multihashmap.c
450src/util/container_multipeermap.c 450src/util/container_multipeermap.c
451src/util/container_multishortmap.c 451src/util/container_multishortmap.c
452src/util/crypto_abe.c 452src/util/crypto_abe.c
@@ -466,8 +466,8 @@ src/util/crypto_symmetric.c
466src/util/disk.c 466src/util/disk.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-ecc.c 471src/util/gnunet-ecc.c
472src/util/gnunet-helper-w32-console.c 472src/util/gnunet-helper-w32-console.c
473src/util/gnunet-resolver.c 473src/util/gnunet-resolver.c
@@ -498,8 +498,8 @@ src/util/time.c
498src/util/w32cat.c 498src/util/w32cat.c
499src/util/win.c 499src/util/win.c
500src/util/winproc.c 500src/util/winproc.c
501src/vpn/gnunet-helper-vpn-windows.c
502src/vpn/gnunet-helper-vpn.c 501src/vpn/gnunet-helper-vpn.c
502src/vpn/gnunet-helper-vpn-windows.c
503src/vpn/gnunet-service-vpn.c 503src/vpn/gnunet-service-vpn.c
504src/vpn/gnunet-vpn.c 504src/vpn/gnunet-vpn.c
505src/vpn/vpn_api.c 505src/vpn/vpn_api.c
diff --git a/src/util/bio.c b/src/util/bio.c
index 08e30dc01..816917a22 100644
--- a/src/util/bio.c
+++ b/src/util/bio.c
@@ -162,15 +162,19 @@ GNUNET_BIO_read (struct GNUNET_BIO_ReadHandle *h,
162 { 162 {
163 if (min > len - pos) 163 if (min > len - pos)
164 min = len - pos; 164 min = len - pos;
165 GNUNET_memcpy (&dst[pos], &h->buffer[h->pos], min); 165 GNUNET_memcpy (&dst[pos],
166 &h->buffer[h->pos],
167 min);
166 h->pos += min; 168 h->pos += min;
167 pos += min; 169 pos += min;
168 } 170 }
169 if (pos == len) 171 if (pos == len)
170 return GNUNET_OK; /* done! */ 172 return GNUNET_OK; /* done! */
171 GNUNET_assert (h->have == h->pos); 173 GNUNET_assert (((off_t) h->have) == h->pos);
172 /* fill buffer */ 174 /* fill buffer */
173 ret = GNUNET_DISK_file_read (h->fd, h->buffer, h->size); 175 ret = GNUNET_DISK_file_read (h->fd,
176 h->buffer,
177 h->size);
174 if (-1 == ret) 178 if (-1 == ret)
175 { 179 {
176 GNUNET_asprintf (&h->emsg, 180 GNUNET_asprintf (&h->emsg,
@@ -287,7 +291,9 @@ GNUNET_BIO_read_meta_data (struct GNUNET_BIO_ReadHandle *h,
287 char *buf; 291 char *buf;
288 struct GNUNET_CONTAINER_MetaData *meta; 292 struct GNUNET_CONTAINER_MetaData *meta;
289 293
290 if (GNUNET_BIO_read_int32 (h, (int32_t *) & size) != GNUNET_OK) 294 if (GNUNET_OK !=
295 GNUNET_BIO_read_int32 (h,
296 (int32_t *) & size))
291 return GNUNET_SYSERR; 297 return GNUNET_SYSERR;
292 if (size == 0) 298 if (size == 0)
293 { 299 {
@@ -298,20 +304,29 @@ GNUNET_BIO_read_meta_data (struct GNUNET_BIO_ReadHandle *h,
298 { 304 {
299 GNUNET_asprintf (&h->emsg, 305 GNUNET_asprintf (&h->emsg,
300 _("Serialized metadata `%s' larger than allowed (%u>%u)"), 306 _("Serialized metadata `%s' larger than allowed (%u>%u)"),
301 what, size, MAX_META_DATA); 307 what,
308 size,
309 MAX_META_DATA);
302 return GNUNET_SYSERR; 310 return GNUNET_SYSERR;
303 } 311 }
304 buf = GNUNET_malloc (size); 312 buf = GNUNET_malloc (size);
305 if (GNUNET_OK != GNUNET_BIO_read (h, what, buf, size)) 313 if (GNUNET_OK !=
314 GNUNET_BIO_read (h,
315 what,
316 buf,
317 size))
306 { 318 {
307 GNUNET_free (buf); 319 GNUNET_free (buf);
308 return GNUNET_SYSERR; 320 return GNUNET_SYSERR;
309 } 321 }
310 meta = GNUNET_CONTAINER_meta_data_deserialize (buf, size); 322 meta = GNUNET_CONTAINER_meta_data_deserialize (buf,
311 if (meta == NULL) 323 size);
324 if (NULL == meta)
312 { 325 {
313 GNUNET_free (buf); 326 GNUNET_free (buf);
314 GNUNET_asprintf (&h->emsg, _("Metadata `%s' failed to deserialize"), what); 327 GNUNET_asprintf (&h->emsg,
328 _("Metadata `%s' failed to deserialize"),
329 what);
315 return GNUNET_SYSERR; 330 return GNUNET_SYSERR;
316 } 331 }
317 GNUNET_free (buf); 332 GNUNET_free (buf);
@@ -330,12 +345,19 @@ GNUNET_BIO_read_meta_data (struct GNUNET_BIO_ReadHandle *h,
330 * @return #GNUNET_OK on success, #GNUNET_SYSERR on error 345 * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
331 */ 346 */
332int 347int
333GNUNET_BIO_read_int32__ (struct GNUNET_BIO_ReadHandle *h, const char *file, 348GNUNET_BIO_read_int32__ (struct GNUNET_BIO_ReadHandle *h,
334 int line, int32_t * i) 349 const char *file,
350 int line,
351 int32_t * i)
335{ 352{
336 int32_t big; 353 int32_t big;
337 354
338 if (GNUNET_OK != GNUNET_BIO_read_fn (h, file, line, &big, sizeof (int32_t))) 355 if (GNUNET_OK !=
356 GNUNET_BIO_read_fn (h,
357 file,
358 line,
359 &big,
360 sizeof (int32_t)))
339 return GNUNET_SYSERR; 361 return GNUNET_SYSERR;
340 *i = ntohl (big); 362 *i = ntohl (big);
341 return GNUNET_OK; 363 return GNUNET_OK;
@@ -359,7 +381,12 @@ GNUNET_BIO_read_int64__ (struct GNUNET_BIO_ReadHandle *h,
359{ 381{
360 int64_t big; 382 int64_t big;
361 383
362 if (GNUNET_OK != GNUNET_BIO_read_fn (h, file, line, &big, sizeof (int64_t))) 384 if (GNUNET_OK !=
385 GNUNET_BIO_read_fn (h,
386 file,
387 line,
388 &big,
389 sizeof (int64_t)))
363 return GNUNET_SYSERR; 390 return GNUNET_SYSERR;
364 *i = GNUNET_ntohll (big); 391 *i = GNUNET_ntohll (big);
365 return GNUNET_OK; 392 return GNUNET_OK;
@@ -432,7 +459,8 @@ GNUNET_BIO_write_close (struct GNUNET_BIO_WriteHandle *h)
432 int ret; 459 int ret;
433 460
434 ret = GNUNET_SYSERR; 461 ret = GNUNET_SYSERR;
435 if ( (NULL != h->fd) && (GNUNET_OK == (ret = GNUNET_BIO_flush (h))) ) 462 if ( (NULL != h->fd) &&
463 (GNUNET_OK == (ret = GNUNET_BIO_flush (h))) )
436 GNUNET_DISK_file_close (h->fd); 464 GNUNET_DISK_file_close (h->fd);
437 GNUNET_free (h); 465 GNUNET_free (h);
438 return ret; 466 return ret;
@@ -451,8 +479,10 @@ GNUNET_BIO_flush (struct GNUNET_BIO_WriteHandle *h)
451{ 479{
452 ssize_t ret; 480 ssize_t ret;
453 481
454 ret = GNUNET_DISK_file_write (h->fd, h->buffer, h->have); 482 ret = GNUNET_DISK_file_write (h->fd,
455 if (ret != h->have) 483 h->buffer,
484 h->have);
485 if (ret != (ssize_t) h->have)
456 { 486 {
457 GNUNET_DISK_file_close (h->fd); 487 GNUNET_DISK_file_close (h->fd);
458 h->fd = NULL; 488 h->fd = NULL;
@@ -472,7 +502,8 @@ GNUNET_BIO_flush (struct GNUNET_BIO_WriteHandle *h)
472 * @return #GNUNET_OK on success, #GNUNET_SYSERR on error 502 * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
473 */ 503 */
474int 504int
475GNUNET_BIO_write (struct GNUNET_BIO_WriteHandle *h, const void *buffer, 505GNUNET_BIO_write (struct GNUNET_BIO_WriteHandle *h,
506 const void *buffer,
476 size_t n) 507 size_t n)
477{ 508{
478 const char *src = buffer; 509 const char *src = buffer;
@@ -488,7 +519,9 @@ GNUNET_BIO_write (struct GNUNET_BIO_WriteHandle *h, const void *buffer,
488 min = h->size - h->have; 519 min = h->size - h->have;
489 if (min > n - pos) 520 if (min > n - pos)
490 min = n - pos; 521 min = n - pos;
491 GNUNET_memcpy (&h->buffer[h->have], &src[pos], min); 522 GNUNET_memcpy (&h->buffer[h->have],
523 &src[pos],
524 min);
492 pos += min; 525 pos += min;
493 h->have += min; 526 h->have += min;
494 if (pos == n) 527 if (pos == n)
diff --git a/src/util/client.c b/src/util/client.c
index e5bf7e176..7a718fc8d 100644
--- a/src/util/client.c
+++ b/src/util/client.c
@@ -377,6 +377,7 @@ connection_client_destroy_impl (struct GNUNET_MQ_Handle *mq,
377{ 377{
378 struct ClientState *cstate = impl_state; 378 struct ClientState *cstate = impl_state;
379 379
380 (void) mq;
380 if (GNUNET_SYSERR == cstate->in_destroy) 381 if (GNUNET_SYSERR == cstate->in_destroy)
381 { 382 {
382 /* defer destruction */ 383 /* defer destruction */
@@ -814,6 +815,7 @@ connection_client_send_impl (struct GNUNET_MQ_Handle *mq,
814{ 815{
815 struct ClientState *cstate = impl_state; 816 struct ClientState *cstate = impl_state;
816 817
818 (void) mq;
817 /* only one message at a time allowed */ 819 /* only one message at a time allowed */
818 GNUNET_assert (NULL == cstate->msg); 820 GNUNET_assert (NULL == cstate->msg);
819 GNUNET_assert (NULL == cstate->send_task); 821 GNUNET_assert (NULL == cstate->send_task);
@@ -845,6 +847,7 @@ connection_client_cancel_impl (struct GNUNET_MQ_Handle *mq,
845{ 847{
846 struct ClientState *cstate = impl_state; 848 struct ClientState *cstate = impl_state;
847 849
850 (void) mq;
848 GNUNET_assert (NULL != cstate->msg); 851 GNUNET_assert (NULL != cstate->msg);
849 GNUNET_assert (0 == cstate->msg_off); 852 GNUNET_assert (0 == cstate->msg_off);
850 cstate->msg = NULL; 853 cstate->msg = NULL;
diff --git a/src/util/common_allocation.c b/src/util/common_allocation.c
index 737584815..be2538c3f 100644
--- a/src/util/common_allocation.c
+++ b/src/util/common_allocation.c
@@ -100,8 +100,11 @@ GNUNET_xmalloc_ (size_t size,
100 * @return allocated memory, never NULL 100 * @return allocated memory, never NULL
101 */ 101 */
102void ** 102void **
103GNUNET_xnew_array_2d_ (size_t n, size_t m, size_t elementSize, 103GNUNET_xnew_array_2d_ (size_t n,
104 const char *filename, int linenumber) 104 size_t m,
105 size_t elementSize,
106 const char *filename,
107 int linenumber)
105{ 108{
106 /* use char pointer internally to avoid void pointer arithmetic warnings */ 109 /* use char pointer internally to avoid void pointer arithmetic warnings */
107 char **ret = GNUNET_xmalloc_ (n * sizeof (void *) + /* 1. dim header */ 110 char **ret = GNUNET_xmalloc_ (n * sizeof (void *) + /* 1. dim header */
@@ -218,6 +221,8 @@ GNUNET_xmalloc_unchecked_ (size_t size,
218{ 221{
219 void *result; 222 void *result;
220 223
224 (void) filename;
225 (void) linenumber;
221#ifdef W32_MEM_LIMIT 226#ifdef W32_MEM_LIMIT
222 size += sizeof (size_t); 227 size += sizeof (size_t);
223 if (mem_used + size > W32_MEM_LIMIT) 228 if (mem_used + size > W32_MEM_LIMIT)
@@ -256,6 +261,9 @@ GNUNET_xrealloc_ (void *ptr,
256 const char *filename, 261 const char *filename,
257 int linenumber) 262 int linenumber)
258{ 263{
264 (void) filename;
265 (void) linenumber;
266
259#ifdef W32_MEM_LIMIT 267#ifdef W32_MEM_LIMIT
260 n += sizeof (size_t); 268 n += sizeof (size_t);
261 ptr = &((size_t *) ptr)[-1]; 269 ptr = &((size_t *) ptr)[-1];
@@ -264,7 +272,8 @@ GNUNET_xrealloc_ (void *ptr,
264 ptr = realloc (ptr, n); 272 ptr = realloc (ptr, n);
265 if ((NULL == ptr) && (n > 0)) 273 if ((NULL == ptr) && (n > 0))
266 { 274 {
267 LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, "realloc"); 275 LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR,
276 "realloc");
268 GNUNET_assert (0); 277 GNUNET_assert (0);
269 } 278 }
270#ifdef W32_MEM_LIMIT 279#ifdef W32_MEM_LIMIT
@@ -501,9 +510,13 @@ GNUNET_snprintf (char *buf,
501 va_list args; 510 va_list args;
502 511
503 va_start (args, format); 512 va_start (args, format);
504 ret = VSNPRINTF (buf, size, format, args); 513 ret = VSNPRINTF (buf,
514 size,
515 format,
516 args);
505 va_end (args); 517 va_end (args);
506 GNUNET_assert (ret < size); 518 GNUNET_assert ( (ret >= 0) &&
519 (((size_t) ret) < size) );
507 return ret; 520 return ret;
508} 521}
509 522
@@ -523,7 +536,9 @@ GNUNET_copy_message (const struct GNUNET_MessageHeader *msg)
523 msize = ntohs (msg->size); 536 msize = ntohs (msg->size);
524 GNUNET_assert (msize >= sizeof (struct GNUNET_MessageHeader)); 537 GNUNET_assert (msize >= sizeof (struct GNUNET_MessageHeader));
525 ret = GNUNET_malloc (msize); 538 ret = GNUNET_malloc (msize);
526 GNUNET_memcpy (ret, msg, msize); 539 GNUNET_memcpy (ret,
540 msg,
541 msize);
527 return ret; 542 return ret;
528} 543}
529 544
diff --git a/src/util/configuration.c b/src/util/configuration.c
index f63903b4e..7f1d98902 100644
--- a/src/util/configuration.c
+++ b/src/util/configuration.c
@@ -324,6 +324,7 @@ GNUNET_CONFIGURATION_parse (struct GNUNET_CONFIGURATION_Handle *cfg,
324 char *endsep; 324 char *endsep;
325 int dirty; 325 int dirty;
326 int ret; 326 int ret;
327 ssize_t sret;
327 328
328 fn = GNUNET_STRINGS_filename_expand (filename); 329 fn = GNUNET_STRINGS_filename_expand (filename);
329 LOG (GNUNET_ERROR_TYPE_DEBUG, 330 LOG (GNUNET_ERROR_TYPE_DEBUG,
@@ -333,7 +334,10 @@ GNUNET_CONFIGURATION_parse (struct GNUNET_CONFIGURATION_Handle *cfg,
333 return GNUNET_SYSERR; 334 return GNUNET_SYSERR;
334 dirty = cfg->dirty; /* back up value! */ 335 dirty = cfg->dirty; /* back up value! */
335 if (GNUNET_SYSERR == 336 if (GNUNET_SYSERR ==
336 GNUNET_DISK_file_size (fn, &fs64, GNUNET_YES, GNUNET_YES)) 337 GNUNET_DISK_file_size (fn,
338 &fs64,
339 GNUNET_YES,
340 GNUNET_YES))
337 { 341 {
338 LOG (GNUNET_ERROR_TYPE_WARNING, 342 LOG (GNUNET_ERROR_TYPE_WARNING,
339 "Error while determining the file size of `%s'\n", 343 "Error while determining the file size of `%s'\n",
@@ -349,7 +353,11 @@ GNUNET_CONFIGURATION_parse (struct GNUNET_CONFIGURATION_Handle *cfg,
349 } 353 }
350 fs = fs64; 354 fs = fs64;
351 mem = GNUNET_malloc (fs); 355 mem = GNUNET_malloc (fs);
352 if (fs != GNUNET_DISK_fn_read (fn, mem, fs)) 356 sret = GNUNET_DISK_fn_read (fn,
357 mem,
358 fs);
359 if ( (sret < 0) ||
360 (fs != (size_t) sret) )
353 { 361 {
354 LOG (GNUNET_ERROR_TYPE_WARNING, 362 LOG (GNUNET_ERROR_TYPE_WARNING,
355 _("Error while reading file `%s'\n"), 363 _("Error while reading file `%s'\n"),
@@ -495,6 +503,7 @@ GNUNET_CONFIGURATION_write (struct GNUNET_CONFIGURATION_Handle *cfg,
495 char *fn; 503 char *fn;
496 char *cfg_buf; 504 char *cfg_buf;
497 size_t size; 505 size_t size;
506 ssize_t sret;
498 507
499 fn = GNUNET_STRINGS_filename_expand (filename); 508 fn = GNUNET_STRINGS_filename_expand (filename);
500 if (fn == NULL) 509 if (fn == NULL)
@@ -505,11 +514,13 @@ GNUNET_CONFIGURATION_write (struct GNUNET_CONFIGURATION_Handle *cfg,
505 return GNUNET_SYSERR; 514 return GNUNET_SYSERR;
506 } 515 }
507 cfg_buf = GNUNET_CONFIGURATION_serialize (cfg, &size); 516 cfg_buf = GNUNET_CONFIGURATION_serialize (cfg, &size);
508 if (size != GNUNET_DISK_fn_write (fn, cfg_buf, size, 517 sret = GNUNET_DISK_fn_write (fn, cfg_buf, size,
509 GNUNET_DISK_PERM_USER_READ 518 GNUNET_DISK_PERM_USER_READ
510 | GNUNET_DISK_PERM_USER_WRITE 519 | GNUNET_DISK_PERM_USER_WRITE
511 | GNUNET_DISK_PERM_GROUP_READ 520 | GNUNET_DISK_PERM_GROUP_READ
512 | GNUNET_DISK_PERM_GROUP_WRITE)) 521 | GNUNET_DISK_PERM_GROUP_WRITE);
522 if ( (sret < 0) ||
523 (size != (size_t) sret) )
513 { 524 {
514 GNUNET_free (fn); 525 GNUNET_free (fn);
515 GNUNET_free (cfg_buf); 526 GNUNET_free (cfg_buf);
@@ -858,13 +869,20 @@ GNUNET_CONFIGURATION_set_value_string (struct GNUNET_CONFIGURATION_Handle *cfg,
858 */ 869 */
859void 870void
860GNUNET_CONFIGURATION_set_value_number (struct GNUNET_CONFIGURATION_Handle *cfg, 871GNUNET_CONFIGURATION_set_value_number (struct GNUNET_CONFIGURATION_Handle *cfg,
861 const char *section, const char *option, 872 const char *section,
873 const char *option,
862 unsigned long long number) 874 unsigned long long number)
863{ 875{
864 char s[64]; 876 char s[64];
865 877
866 GNUNET_snprintf (s, 64, "%llu", number); 878 GNUNET_snprintf (s,
867 GNUNET_CONFIGURATION_set_value_string (cfg, section, option, s); 879 64,
880 "%llu",
881 number);
882 GNUNET_CONFIGURATION_set_value_string (cfg,
883 section,
884 option,
885 s);
868} 886}
869 887
870 888
diff --git a/src/util/container_bloomfilter.c b/src/util/container_bloomfilter.c
index aedca232d..95c05b9d7 100644
--- a/src/util/container_bloomfilter.c
+++ b/src/util/container_bloomfilter.c
@@ -1,6 +1,6 @@
1/* 1/*
2 This file is part of GNUnet. 2 This file is part of GNUnet.
3 Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008, 2011, 2012 GNUnet e.V. 3 Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008, 2011, 2012, 2018 GNUnet e.V.
4 4
5 GNUnet is free software; you can redistribute it and/or modify 5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published 6 it under the terms of the GNU General Public License as published
@@ -513,10 +513,11 @@ GNUNET_CONTAINER_bloomfilter_load (const char *filename, size_t size,
513 GNUNET_free (bf); 513 GNUNET_free (bf);
514 return NULL; 514 return NULL;
515 } 515 }
516 if (fsize == 0) 516 if (0 == fsize)
517 { 517 {
518 /* found existing empty file, just overwrite */ 518 /* found existing empty file, just overwrite */
519 if (GNUNET_OK != make_empty_file (bf->fh, size * 4LL)) 519 if (GNUNET_OK !=
520 make_empty_file (bf->fh, size * 4LL))
520 { 521 {
521 GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, 522 GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
522 "write"); 523 "write");
@@ -525,7 +526,7 @@ GNUNET_CONTAINER_bloomfilter_load (const char *filename, size_t size,
525 return NULL; 526 return NULL;
526 } 527 }
527 } 528 }
528 else if (fsize != size * 4LL) 529 else if (fsize != ((off_t) size) * 4LL)
529 { 530 {
530 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 531 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
531 _("Size of file on disk is incorrect for this Bloom filter (want %llu, have %llu)\n"), 532 _("Size of file on disk is incorrect for this Bloom filter (want %llu, have %llu)\n"),
@@ -563,9 +564,9 @@ GNUNET_CONTAINER_bloomfilter_load (const char *filename, size_t size,
563 bf->filename = GNUNET_strdup (filename); 564 bf->filename = GNUNET_strdup (filename);
564 /* Alloc block */ 565 /* Alloc block */
565 bf->bitArray = GNUNET_malloc_large (size); 566 bf->bitArray = GNUNET_malloc_large (size);
566 if (bf->bitArray == NULL) 567 if (NULL == bf->bitArray)
567 { 568 {
568 if (bf->fh != NULL) 569 if (NULL != bf->fh)
569 GNUNET_DISK_file_close (bf->fh); 570 GNUNET_DISK_file_close (bf->fh);
570 GNUNET_free (bf->filename); 571 GNUNET_free (bf->filename);
571 GNUNET_free (bf); 572 GNUNET_free (bf);
@@ -578,14 +579,18 @@ GNUNET_CONTAINER_bloomfilter_load (const char *filename, size_t size,
578 /* Read from the file what bits we can */ 579 /* Read from the file what bits we can */
579 rbuff = GNUNET_malloc (BUFFSIZE); 580 rbuff = GNUNET_malloc (BUFFSIZE);
580 pos = 0; 581 pos = 0;
581 while (pos < size * 8LL) 582 while (pos < ((off_t) size) * 8LL)
582 { 583 {
583 int res; 584 int res;
584 585
585 res = GNUNET_DISK_file_read (bf->fh, rbuff, BUFFSIZE); 586 res = GNUNET_DISK_file_read (bf->fh,
587 rbuff,
588 BUFFSIZE);
586 if (res == -1) 589 if (res == -1)
587 { 590 {
588 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING, "read", bf->filename); 591 LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING,
592 "read",
593 bf->filename);
589 GNUNET_free (rbuff); 594 GNUNET_free (rbuff);
590 GNUNET_free (bf->filename); 595 GNUNET_free (bf->filename);
591 GNUNET_DISK_file_close (bf->fh); 596 GNUNET_DISK_file_close (bf->fh);
@@ -713,11 +718,11 @@ GNUNET_CONTAINER_bloomfilter_clear (struct GNUNET_CONTAINER_BloomFilter *bf)
713 * 718 *
714 * @param e the element 719 * @param e the element
715 * @param bf the filter 720 * @param bf the filter
716 * @return GNUNET_YES if the element is in the filter, GNUNET_NO if not 721 * @return #GNUNET_YES if the element is in the filter, #GNUNET_NO if not
717 */ 722 */
718int 723int
719GNUNET_CONTAINER_bloomfilter_test (const struct GNUNET_CONTAINER_BloomFilter 724GNUNET_CONTAINER_bloomfilter_test (const struct GNUNET_CONTAINER_BloomFilter *bf,
720 *bf, const struct GNUNET_HashCode * e) 725 const struct GNUNET_HashCode * e)
721{ 726{
722 int res; 727 int res;
723 728
@@ -757,7 +762,8 @@ GNUNET_CONTAINER_bloomfilter_add (struct GNUNET_CONTAINER_BloomFilter *bf,
757 */ 762 */
758int 763int
759GNUNET_CONTAINER_bloomfilter_or (struct GNUNET_CONTAINER_BloomFilter *bf, 764GNUNET_CONTAINER_bloomfilter_or (struct GNUNET_CONTAINER_BloomFilter *bf,
760 const char *data, size_t size) 765 const char *data,
766 size_t size)
761{ 767{
762 unsigned int i; 768 unsigned int i;
763 unsigned int n; 769 unsigned int n;
@@ -791,8 +797,7 @@ GNUNET_CONTAINER_bloomfilter_or (struct GNUNET_CONTAINER_BloomFilter *bf,
791 */ 797 */
792int 798int
793GNUNET_CONTAINER_bloomfilter_or2 (struct GNUNET_CONTAINER_BloomFilter *bf, 799GNUNET_CONTAINER_bloomfilter_or2 (struct GNUNET_CONTAINER_BloomFilter *bf,
794 const struct GNUNET_CONTAINER_BloomFilter 800 const struct GNUNET_CONTAINER_BloomFilter *to_or)
795 *to_or)
796{ 801{
797 unsigned int i; 802 unsigned int i;
798 unsigned int n; 803 unsigned int n;
@@ -828,13 +833,16 @@ GNUNET_CONTAINER_bloomfilter_or2 (struct GNUNET_CONTAINER_BloomFilter *bf,
828 */ 833 */
829void 834void
830GNUNET_CONTAINER_bloomfilter_remove (struct GNUNET_CONTAINER_BloomFilter *bf, 835GNUNET_CONTAINER_bloomfilter_remove (struct GNUNET_CONTAINER_BloomFilter *bf,
831 const struct GNUNET_HashCode * e) 836 const struct GNUNET_HashCode *e)
832{ 837{
833 if (NULL == bf) 838 if (NULL == bf)
834 return; 839 return;
835 if (bf->filename == NULL) 840 if (NULL == bf->filename)
836 return; 841 return;
837 iterateBits (bf, &decrementBitCallback, bf, e); 842 iterateBits (bf,
843 &decrementBitCallback,
844 bf,
845 e);
838} 846}
839 847
840/** 848/**
@@ -851,7 +859,8 @@ GNUNET_CONTAINER_bloomfilter_remove (struct GNUNET_CONTAINER_BloomFilter *bf,
851void 859void
852GNUNET_CONTAINER_bloomfilter_resize (struct GNUNET_CONTAINER_BloomFilter *bf, 860GNUNET_CONTAINER_bloomfilter_resize (struct GNUNET_CONTAINER_BloomFilter *bf,
853 GNUNET_CONTAINER_HashCodeIterator iterator, 861 GNUNET_CONTAINER_HashCodeIterator iterator,
854 void *iterator_cls, size_t size, 862 void *iterator_cls,
863 size_t size,
855 unsigned int k) 864 unsigned int k)
856{ 865{
857 struct GNUNET_HashCode hc; 866 struct GNUNET_HashCode hc;
@@ -862,13 +871,16 @@ GNUNET_CONTAINER_bloomfilter_resize (struct GNUNET_CONTAINER_BloomFilter *bf,
862 while (i < size) 871 while (i < size)
863 i *= 2; 872 i *= 2;
864 size = i; /* make sure it's a power of 2 */ 873 size = i; /* make sure it's a power of 2 */
865 874 bf->addressesPerElement = k;
866 bf->bitArraySize = size; 875 bf->bitArraySize = size;
867 bf->bitArray = GNUNET_malloc (size); 876 bf->bitArray = GNUNET_malloc (size);
868 if (bf->filename != NULL) 877 if (NULL != bf->filename)
869 make_empty_file (bf->fh, bf->bitArraySize * 4LL); 878 make_empty_file (bf->fh,
870 while (GNUNET_YES == iterator (iterator_cls, &hc)) 879 bf->bitArraySize * 4LL);
871 GNUNET_CONTAINER_bloomfilter_add (bf, &hc); 880 while (GNUNET_YES == iterator (iterator_cls,
881 &hc))
882 GNUNET_CONTAINER_bloomfilter_add (bf,
883 &hc);
872} 884}
873 885
874/* end of container_bloomfilter.c */ 886/* end of container_bloomfilter.c */
diff --git a/src/util/test_service.c b/src/util/test_service.c
index 1567c97ce..3ffacb0a9 100644
--- a/src/util/test_service.c
+++ b/src/util/test_service.c
@@ -30,10 +30,17 @@
30 */ 30 */
31#define MY_TYPE 256 31#define MY_TYPE 256
32 32
33#define TIMEOUT GNUNET_TIME_UNIT_SECONDS
34
33static int global_ret = 1; 35static int global_ret = 1;
34 36
35static struct GNUNET_MQ_Handle *mq; 37static struct GNUNET_MQ_Handle *mq;
36 38
39/**
40 * Timeout task.
41 */
42static struct GNUNET_SCHEDULER_Task *tt;
43
37 44
38static void 45static void
39handle_recv (void *cls, 46handle_recv (void *cls,
@@ -86,10 +93,24 @@ disconnect_cb (void *cls,
86 { 93 {
87 GNUNET_SCHEDULER_shutdown (); 94 GNUNET_SCHEDULER_shutdown ();
88 global_ret = 0; 95 global_ret = 0;
96 if (NULL != tt)
97 {
98 GNUNET_SCHEDULER_cancel (tt);
99 tt = NULL;
100 }
89 } 101 }
90} 102}
91 103
92 104
105static void
106timeout_task (void *cls)
107{
108 tt = NULL;
109 global_ret = 33;
110 GNUNET_SCHEDULER_shutdown ();
111}
112
113
93/** 114/**
94 * Initialization function of the service. Starts 115 * Initialization function of the service. Starts
95 * a client to connect to the service. 116 * a client to connect to the service.
@@ -106,7 +127,11 @@ service_init (void *cls,
106 const char *service_name = cls; 127 const char *service_name = cls;
107 struct GNUNET_MQ_Envelope *env; 128 struct GNUNET_MQ_Envelope *env;
108 struct GNUNET_MessageHeader *msg; 129 struct GNUNET_MessageHeader *msg;
109 130
131 GNUNET_assert (NULL == tt);
132 tt = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
133 &timeout_task,
134 NULL);
110 mq = GNUNET_CLIENT_connect (cfg, 135 mq = GNUNET_CLIENT_connect (cfg,
111 service_name, 136 service_name,
112 NULL, 137 NULL,