aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2021-04-20 19:03:41 +0200
committerMartin Schanzenbach <mschanzenbach@posteo.de>2021-04-20 19:03:41 +0200
commit22d8a6445a1807e9a9e032d85c0503ed08e70bf7 (patch)
treee9f9d6020e1f294c7fcbb31340d425f1158bf04e
parent5faab5da8337e5060002cba8cf5c4c1d8bc89a1e (diff)
downloadgnunet-22d8a6445a1807e9a9e032d85c0503ed08e70bf7.tar.gz
gnunet-22d8a6445a1807e9a9e032d85c0503ed08e70bf7.zip
- towards pabc fixing
-rw-r--r--contrib/Makefile.inc3
-rw-r--r--po/POTFILES.in125
-rw-r--r--src/reclaim/pabc_helper.c3
-rw-r--r--src/reclaim/plugin_reclaim_credential_pabc.c169
-rw-r--r--src/reclaim/plugin_rest_pabc.c32
5 files changed, 155 insertions, 177 deletions
diff --git a/contrib/Makefile.inc b/contrib/Makefile.inc
index c737a07f8..a563ef4a1 100644
--- a/contrib/Makefile.inc
+++ b/contrib/Makefile.inc
@@ -8,7 +8,8 @@ BUILDCOMMON_SHLIB_FILES = \
8 build-common/sh/lib.sh/existence_python.sh \ 8 build-common/sh/lib.sh/existence_python.sh \
9 build-common/sh/lib.sh/msg.sh \ 9 build-common/sh/lib.sh/msg.sh \
10 build-common/sh/lib.sh/progname.sh \ 10 build-common/sh/lib.sh/progname.sh \
11 build-common/sh/lib.sh/version_gnunet.sh 11 build-common/sh/lib.sh/version_gnunet.sh \
12 build-common/LICENSE
12 13
13BUILDCOMMON_CONF_FILES = \ 14BUILDCOMMON_CONF_FILES = \
14 build-common/conf/.dir-locals.el \ 15 build-common/conf/.dir-locals.el \
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 9d1e3427c..dd36b7411 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,13 +10,21 @@ 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
13src/ats/ats_api_connectivity.c 21src/ats/ats_api_connectivity.c
14src/ats/ats_api_performance.c 22src/ats/ats_api_performance.c
15src/ats/ats_api_scanner.c 23src/ats/ats_api_scanner.c
16src/ats/ats_api_scheduling.c 24src/ats/ats_api_scheduling.c
17src/ats/gnunet-ats-solver-eval.c 25src/ats/gnunet-ats-solver-eval.c
18src/ats/gnunet-service-ats_addresses.c
19src/ats/gnunet-service-ats.c 26src/ats/gnunet-service-ats.c
27src/ats/gnunet-service-ats_addresses.c
20src/ats/gnunet-service-ats_connectivity.c 28src/ats/gnunet-service-ats_connectivity.c
21src/ats/gnunet-service-ats_normalization.c 29src/ats/gnunet-service-ats_normalization.c
22src/ats/gnunet-service-ats_performance.c 30src/ats/gnunet-service-ats_performance.c
@@ -25,14 +33,6 @@ src/ats/gnunet-service-ats_preferences.c
25src/ats/gnunet-service-ats_reservations.c 33src/ats/gnunet-service-ats_reservations.c
26src/ats/gnunet-service-ats_scheduling.c 34src/ats/gnunet-service-ats_scheduling.c
27src/ats/plugin_ats_proportional.c 35src/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
@@ -50,8 +50,8 @@ src/cadet/cadet_api_list_peers.c
50src/cadet/cadet_api_list_tunnels.c 50src/cadet/cadet_api_list_tunnels.c
51src/cadet/cadet_test_lib.c 51src/cadet/cadet_test_lib.c
52src/cadet/desirability_table.c 52src/cadet/desirability_table.c
53src/cadet/gnunet-cadet.c
54src/cadet/gnunet-cadet-profiler.c 53src/cadet/gnunet-cadet-profiler.c
54src/cadet/gnunet-cadet.c
55src/cadet/gnunet-service-cadet.c 55src/cadet/gnunet-service-cadet.c
56src/cadet/gnunet-service-cadet_channel.c 56src/cadet/gnunet-service-cadet_channel.c
57src/cadet/gnunet-service-cadet_connection.c 57src/cadet/gnunet-service-cadet_connection.c
@@ -67,15 +67,15 @@ src/consensus/gnunet-service-consensus.c
67src/consensus/plugin_block_consensus.c 67src/consensus/plugin_block_consensus.c
68src/conversation/conversation_api.c 68src/conversation/conversation_api.c
69src/conversation/conversation_api_call.c 69src/conversation/conversation_api_call.c
70src/conversation/gnunet-conversation.c
71src/conversation/gnunet-conversation-test.c 70src/conversation/gnunet-conversation-test.c
72src/conversation/gnunet_gst.c 71src/conversation/gnunet-conversation.c
73src/conversation/gnunet_gst_test.c
74src/conversation/gnunet-helper-audio-playback.c
75src/conversation/gnunet-helper-audio-playback-gst.c 72src/conversation/gnunet-helper-audio-playback-gst.c
76src/conversation/gnunet-helper-audio-record.c 73src/conversation/gnunet-helper-audio-playback.c
77src/conversation/gnunet-helper-audio-record-gst.c 74src/conversation/gnunet-helper-audio-record-gst.c
75src/conversation/gnunet-helper-audio-record.c
78src/conversation/gnunet-service-conversation.c 76src/conversation/gnunet-service-conversation.c
77src/conversation/gnunet_gst.c
78src/conversation/gnunet_gst_test.c
79src/conversation/microphone.c 79src/conversation/microphone.c
80src/conversation/plugin_gnsrecord_conversation.c 80src/conversation/plugin_gnsrecord_conversation.c
81src/conversation/speaker.c 81src/conversation/speaker.c
@@ -105,7 +105,6 @@ src/dht/dht_api.c
105src/dht/dht_test_lib.c 105src/dht/dht_test_lib.c
106src/dht/gnunet-dht-get.c 106src/dht/gnunet-dht-get.c
107src/dht/gnunet-dht-monitor.c 107src/dht/gnunet-dht-monitor.c
108src/dht/gnunet_dht_profiler.c
109src/dht/gnunet-dht-put.c 108src/dht/gnunet-dht-put.c
110src/dht/gnunet-service-dht.c 109src/dht/gnunet-service-dht.c
111src/dht/gnunet-service-dht_clients.c 110src/dht/gnunet-service-dht_clients.c
@@ -114,6 +113,7 @@ src/dht/gnunet-service-dht_hello.c
114src/dht/gnunet-service-dht_neighbours.c 113src/dht/gnunet-service-dht_neighbours.c
115src/dht/gnunet-service-dht_nse.c 114src/dht/gnunet-service-dht_nse.c
116src/dht/gnunet-service-dht_routing.c 115src/dht/gnunet-service-dht_routing.c
116src/dht/gnunet_dht_profiler.c
117src/dht/plugin_block_dht.c 117src/dht/plugin_block_dht.c
118src/dns/dns_api.c 118src/dns/dns_api.c
119src/dns/gnunet-dns-monitor.c 119src/dns/gnunet-dns-monitor.c
@@ -148,8 +148,8 @@ src/fs/gnunet-auto-share.c
148src/fs/gnunet-daemon-fsprofiler.c 148src/fs/gnunet-daemon-fsprofiler.c
149src/fs/gnunet-directory.c 149src/fs/gnunet-directory.c
150src/fs/gnunet-download.c 150src/fs/gnunet-download.c
151src/fs/gnunet-fs.c
152src/fs/gnunet-fs-profiler.c 151src/fs/gnunet-fs-profiler.c
152src/fs/gnunet-fs.c
153src/fs/gnunet-helper-fs-publish.c 153src/fs/gnunet-helper-fs-publish.c
154src/fs/gnunet-publish.c 154src/fs/gnunet-publish.c
155src/fs/gnunet-search.c 155src/fs/gnunet-search.c
@@ -169,9 +169,9 @@ src/gns/gns_tld_api.c
169src/gns/gnunet-bcd.c 169src/gns/gnunet-bcd.c
170src/gns/gnunet-dns2gns.c 170src/gns/gnunet-dns2gns.c
171src/gns/gnunet-gns-benchmark.c 171src/gns/gnunet-gns-benchmark.c
172src/gns/gnunet-gns.c
173src/gns/gnunet-gns-import.c 172src/gns/gnunet-gns-import.c
174src/gns/gnunet-gns-proxy.c 173src/gns/gnunet-gns-proxy.c
174src/gns/gnunet-gns.c
175src/gns/gnunet-service-gns.c 175src/gns/gnunet-service-gns.c
176src/gns/gnunet-service-gns_interceptor.c 176src/gns/gnunet-service-gns_interceptor.c
177src/gns/gnunet-service-gns_resolver.c 177src/gns/gnunet-service-gns_resolver.c
@@ -189,8 +189,8 @@ src/gnsrecord/json_gnsrecord.c
189src/gnsrecord/plugin_gnsrecord_dns.c 189src/gnsrecord/plugin_gnsrecord_dns.c
190src/hello/address.c 190src/hello/address.c
191src/hello/gnunet-hello.c 191src/hello/gnunet-hello.c
192src/hello/hello.c
193src/hello/hello-ng.c 192src/hello/hello-ng.c
193src/hello/hello.c
194src/hostlist/gnunet-daemon-hostlist.c 194src/hostlist/gnunet-daemon-hostlist.c
195src/hostlist/gnunet-daemon-hostlist_client.c 195src/hostlist/gnunet-daemon-hostlist_client.c
196src/hostlist/gnunet-daemon-hostlist_server.c 196src/hostlist/gnunet-daemon-hostlist_server.c
@@ -205,8 +205,8 @@ src/json/json_generator.c
205src/json/json_helper.c 205src/json/json_helper.c
206src/json/json_mhd.c 206src/json/json_mhd.c
207src/messenger/gnunet-messenger.c 207src/messenger/gnunet-messenger.c
208src/messenger/gnunet-service-messenger_basement.c
209src/messenger/gnunet-service-messenger.c 208src/messenger/gnunet-service-messenger.c
209src/messenger/gnunet-service-messenger_basement.c
210src/messenger/gnunet-service-messenger_ego_store.c 210src/messenger/gnunet-service-messenger_ego_store.c
211src/messenger/gnunet-service-messenger_handle.c 211src/messenger/gnunet-service-messenger_handle.c
212src/messenger/gnunet-service-messenger_list_handles.c 212src/messenger/gnunet-service-messenger_list_handles.c
@@ -245,8 +245,8 @@ src/namecache/namecache_api.c
245src/namecache/plugin_namecache_flat.c 245src/namecache/plugin_namecache_flat.c
246src/namecache/plugin_namecache_postgres.c 246src/namecache/plugin_namecache_postgres.c
247src/namecache/plugin_namecache_sqlite.c 247src/namecache/plugin_namecache_sqlite.c
248src/namestore/gnunet-namestore.c
249src/namestore/gnunet-namestore-fcfsd.c 248src/namestore/gnunet-namestore-fcfsd.c
249src/namestore/gnunet-namestore.c
250src/namestore/gnunet-service-namestore.c 250src/namestore/gnunet-service-namestore.c
251src/namestore/gnunet-zoneimport.c 251src/namestore/gnunet-zoneimport.c
252src/namestore/namestore_api.c 252src/namestore/namestore_api.c
@@ -272,17 +272,17 @@ src/nat/gnunet-service-nat_mini.c
272src/nat/gnunet-service-nat_stun.c 272src/nat/gnunet-service-nat_stun.c
273src/nat/nat_api.c 273src/nat/nat_api.c
274src/nat/nat_api_stun.c 274src/nat/nat_api_stun.c
275src/nse/gnunet-nse.c
276src/nse/gnunet-nse-profiler.c 275src/nse/gnunet-nse-profiler.c
276src/nse/gnunet-nse.c
277src/nse/gnunet-service-nse.c 277src/nse/gnunet-service-nse.c
278src/nse/nse_api.c 278src/nse/nse_api.c
279src/nt/nt.c 279src/nt/nt.c
280src/peerinfo/gnunet-service-peerinfo.c
281src/peerinfo/peerinfo_api.c
282src/peerinfo/peerinfo_api_notify.c
283src/peerinfo-tool/gnunet-peerinfo.c 280src/peerinfo-tool/gnunet-peerinfo.c
284src/peerinfo-tool/gnunet-peerinfo_plugins.c 281src/peerinfo-tool/gnunet-peerinfo_plugins.c
285src/peerinfo-tool/plugin_rest_peerinfo.c 282src/peerinfo-tool/plugin_rest_peerinfo.c
283src/peerinfo/gnunet-service-peerinfo.c
284src/peerinfo/peerinfo_api.c
285src/peerinfo/peerinfo_api_notify.c
286src/peerstore/gnunet-peerstore.c 286src/peerstore/gnunet-peerstore.c
287src/peerstore/gnunet-service-peerstore.c 287src/peerstore/gnunet-service-peerstore.c
288src/peerstore/peerstore_api.c 288src/peerstore/peerstore_api.c
@@ -302,10 +302,13 @@ src/reclaim/gnunet-service-reclaim.c
302src/reclaim/gnunet-service-reclaim_tickets.c 302src/reclaim/gnunet-service-reclaim_tickets.c
303src/reclaim/json_reclaim.c 303src/reclaim/json_reclaim.c
304src/reclaim/oidc_helper.c 304src/reclaim/oidc_helper.c
305src/reclaim/pabc_helper.c
305src/reclaim/plugin_gnsrecord_reclaim.c 306src/reclaim/plugin_gnsrecord_reclaim.c
306src/reclaim/plugin_reclaim_attribute_basic.c 307src/reclaim/plugin_reclaim_attribute_basic.c
307src/reclaim/plugin_reclaim_credential_jwt.c 308src/reclaim/plugin_reclaim_credential_jwt.c
309src/reclaim/plugin_reclaim_credential_pabc.c
308src/reclaim/plugin_rest_openid_connect.c 310src/reclaim/plugin_rest_openid_connect.c
311src/reclaim/plugin_rest_pabc.c
309src/reclaim/plugin_rest_reclaim.c 312src/reclaim/plugin_rest_reclaim.c
310src/reclaim/reclaim_api.c 313src/reclaim/reclaim_api.c
311src/reclaim/reclaim_attribute.c 314src/reclaim/reclaim_attribute.c
@@ -328,27 +331,27 @@ src/rest/gnunet-rest-server.c
328src/rest/plugin_rest_config.c 331src/rest/plugin_rest_config.c
329src/rest/plugin_rest_copying.c 332src/rest/plugin_rest_copying.c
330src/rest/rest.c 333src/rest/rest.c
331src/revocation/gnunet-revocation.c
332src/revocation/gnunet-revocation-tvg.c 334src/revocation/gnunet-revocation-tvg.c
335src/revocation/gnunet-revocation.c
333src/revocation/gnunet-service-revocation.c 336src/revocation/gnunet-service-revocation.c
334src/revocation/plugin_block_revocation.c 337src/revocation/plugin_block_revocation.c
335src/revocation/revocation_api.c 338src/revocation/revocation_api.c
336src/rps/gnunet-rps.c
337src/rps/gnunet-rps-profiler.c 339src/rps/gnunet-rps-profiler.c
340src/rps/gnunet-rps.c
338src/rps/gnunet-service-rps.c 341src/rps/gnunet-service-rps.c
339src/rps/gnunet-service-rps_custommap.c 342src/rps/gnunet-service-rps_custommap.c
340src/rps/gnunet-service-rps_sampler.c 343src/rps/gnunet-service-rps_sampler.c
341src/rps/gnunet-service-rps_sampler_elem.c 344src/rps/gnunet-service-rps_sampler_elem.c
342src/rps/gnunet-service-rps_view.c 345src/rps/gnunet-service-rps_view.c
343src/rps/rps_api.c
344src/rps/rps-sampler_client.c 346src/rps/rps-sampler_client.c
345src/rps/rps-sampler_common.c 347src/rps/rps-sampler_common.c
346src/rps/rps-test_util.c 348src/rps/rps-test_util.c
349src/rps/rps_api.c
347src/scalarproduct/gnunet-scalarproduct.c 350src/scalarproduct/gnunet-scalarproduct.c
348src/scalarproduct/gnunet-service-scalarproduct_alice.c
349src/scalarproduct/gnunet-service-scalarproduct_bob.c
350src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c 351src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
351src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c 352src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
353src/scalarproduct/gnunet-service-scalarproduct_alice.c
354src/scalarproduct/gnunet-service-scalarproduct_bob.c
352src/scalarproduct/scalarproduct_api.c 355src/scalarproduct/scalarproduct_api.c
353src/secretsharing/gnunet-secretsharing-profiler.c 356src/secretsharing/gnunet-secretsharing-profiler.c
354src/secretsharing/gnunet-service-secretsharing.c 357src/secretsharing/gnunet-service-secretsharing.c
@@ -362,12 +365,12 @@ src/set/gnunet-set-ibf-profiler.c
362src/set/gnunet-set-profiler.c 365src/set/gnunet-set-profiler.c
363src/set/ibf.c 366src/set/ibf.c
364src/set/ibf_sim.c 367src/set/ibf_sim.c
368src/set/plugin_block_set_test.c
369src/set/set_api.c
365src/seti/gnunet-service-seti.c 370src/seti/gnunet-service-seti.c
366src/seti/gnunet-seti-profiler.c 371src/seti/gnunet-seti-profiler.c
367src/seti/plugin_block_seti_test.c 372src/seti/plugin_block_seti_test.c
368src/seti/seti_api.c 373src/seti/seti_api.c
369src/set/plugin_block_set_test.c
370src/set/set_api.c
371src/setu/gnunet-service-setu.c 374src/setu/gnunet-service-setu.c
372src/setu/gnunet-service-setu_strata_estimator.c 375src/setu/gnunet-service-setu_strata_estimator.c
373src/setu/gnunet-setu-ibf-profiler.c 376src/setu/gnunet-setu-ibf-profiler.c
@@ -386,15 +389,16 @@ src/statistics/gnunet-statistics.c
386src/statistics/statistics_api.c 389src/statistics/statistics_api.c
387src/template/gnunet-service-template.c 390src/template/gnunet-service-template.c
388src/template/gnunet-template.c 391src/template/gnunet-template.c
392src/testbed-logger/gnunet-service-testbed-logger.c
393src/testbed-logger/testbed_logger_api.c
389src/testbed/generate-underlay-topology.c 394src/testbed/generate-underlay-topology.c
390src/testbed/gnunet-daemon-latency-logger.c 395src/testbed/gnunet-daemon-latency-logger.c
391src/testbed/gnunet-daemon-testbed-blacklist.c 396src/testbed/gnunet-daemon-testbed-blacklist.c
392src/testbed/gnunet-daemon-testbed-underlay.c 397src/testbed/gnunet-daemon-testbed-underlay.c
393src/testbed/gnunet-helper-testbed.c 398src/testbed/gnunet-helper-testbed.c
394src/testbed/gnunet_mpi_test.c
395src/testbed/gnunet-service-test-barriers.c 399src/testbed/gnunet-service-test-barriers.c
396src/testbed/gnunet-service-testbed_barriers.c
397src/testbed/gnunet-service-testbed.c 400src/testbed/gnunet-service-testbed.c
401src/testbed/gnunet-service-testbed_barriers.c
398src/testbed/gnunet-service-testbed_cache.c 402src/testbed/gnunet-service-testbed_cache.c
399src/testbed/gnunet-service-testbed_connectionpool.c 403src/testbed/gnunet-service-testbed_connectionpool.c
400src/testbed/gnunet-service-testbed_cpustatus.c 404src/testbed/gnunet-service-testbed_cpustatus.c
@@ -402,69 +406,81 @@ src/testbed/gnunet-service-testbed_links.c
402src/testbed/gnunet-service-testbed_meminfo.c 406src/testbed/gnunet-service-testbed_meminfo.c
403src/testbed/gnunet-service-testbed_oc.c 407src/testbed/gnunet-service-testbed_oc.c
404src/testbed/gnunet-service-testbed_peers.c 408src/testbed/gnunet-service-testbed_peers.c
405src/testbed/gnunet_testbed_mpi_spawn.c
406src/testbed/gnunet-testbed-profiler.c 409src/testbed/gnunet-testbed-profiler.c
407src/testbed-logger/gnunet-service-testbed-logger.c 410src/testbed/gnunet_mpi_test.c
408src/testbed-logger/testbed_logger_api.c 411src/testbed/gnunet_testbed_mpi_spawn.c
409src/testbed/testbed_api_barriers.c
410src/testbed/testbed_api.c 412src/testbed/testbed_api.c
413src/testbed/testbed_api_barriers.c
411src/testbed/testbed_api_cmd_controller.c 414src/testbed/testbed_api_cmd_controller.c
412src/testbed/testbed_api_cmd_peer.c 415src/testbed/testbed_api_cmd_peer.c
413src/testbed/testbed_api_cmd_service.c 416src/testbed/testbed_api_cmd_peer_store.c
417src/testbed/testbed_api_cmd_tng_connect.c
418src/testbed/testbed_api_cmd_tng_service.c
414src/testbed/testbed_api_hosts.c 419src/testbed/testbed_api_hosts.c
415src/testbed/testbed_api_operations.c 420src/testbed/testbed_api_operations.c
416src/testbed/testbed_api_peers.c 421src/testbed/testbed_api_peers.c
417src/testbed/testbed_api_sd.c 422src/testbed/testbed_api_sd.c
418src/testbed/testbed_api_services.c 423src/testbed/testbed_api_services.c
419src/testbed/testbed_api_statistics.c 424src/testbed/testbed_api_statistics.c
420src/testbed/testbed_api_testbed.c
421src/testbed/testbed_api_test.c 425src/testbed/testbed_api_test.c
426src/testbed/testbed_api_testbed.c
422src/testbed/testbed_api_topology.c 427src/testbed/testbed_api_topology.c
423src/testbed/testbed_api_underlay.c 428src/testbed/testbed_api_underlay.c
424src/testing/gnunet-testing.c 429src/testing/gnunet-testing.c
425src/testing/list-keys.c 430src/testing/list-keys.c
431src/testing/testing.c
426src/testing/testing_api_cmd_batch.c 432src/testing/testing_api_cmd_batch.c
427src/testing/testing_api_cmd_hello_world_birth.c
428src/testing/testing_api_cmd_hello_world.c 433src/testing/testing_api_cmd_hello_world.c
434src/testing/testing_api_cmd_hello_world_birth.c
429src/testing/testing_api_loop.c 435src/testing/testing_api_loop.c
430src/testing/testing_api_trait_cmd.c 436src/testing/testing_api_trait_cmd.c
431src/testing/testing_api_trait_process.c 437src/testing/testing_api_trait_process.c
432src/testing/testing_api_traits.c 438src/testing/testing_api_traits.c
433src/testing/testing.c
434src/topology/friends.c 439src/topology/friends.c
435src/topology/gnunet-daemon-topology.c 440src/topology/gnunet-daemon-topology.c
436src/transport/gnunet-communicator-tcp.c 441src/transport/gnunet-communicator-tcp.c
437src/transport/gnunet-communicator-udp.c 442src/transport/gnunet-communicator-udp.c
438src/transport/gnunet-communicator-unix.c 443src/transport/gnunet-communicator-unix.c
439src/transport/gnunet-helper-transport-bluetooth.c 444src/transport/gnunet-helper-transport-bluetooth.c
440src/transport/gnunet-helper-transport-wlan.c
441src/transport/gnunet-helper-transport-wlan-dummy.c 445src/transport/gnunet-helper-transport-wlan-dummy.c
446src/transport/gnunet-helper-transport-wlan.c
442src/transport/gnunet-service-tng.c 447src/transport/gnunet-service-tng.c
443src/transport/gnunet-service-transport_ats.c
444src/transport/gnunet-service-transport.c 448src/transport/gnunet-service-transport.c
449src/transport/gnunet-service-transport_ats.c
445src/transport/gnunet-service-transport_hello.c 450src/transport/gnunet-service-transport_hello.c
446src/transport/gnunet-service-transport_manipulation.c 451src/transport/gnunet-service-transport_manipulation.c
447src/transport/gnunet-service-transport_neighbours.c 452src/transport/gnunet-service-transport_neighbours.c
448src/transport/gnunet-service-transport_plugins.c 453src/transport/gnunet-service-transport_plugins.c
449src/transport/gnunet-service-transport_validation.c 454src/transport/gnunet-service-transport_validation.c
450src/transport/gnunet-transport.c
451src/transport/gnunet-transport-profiler.c 455src/transport/gnunet-transport-profiler.c
452src/transport/gnunet-transport-wlan-receiver.c 456src/transport/gnunet-transport-wlan-receiver.c
453src/transport/gnunet-transport-wlan-sender.c 457src/transport/gnunet-transport-wlan-sender.c
458src/transport/gnunet-transport.c
454src/transport/plugin_transport_http_client.c 459src/transport/plugin_transport_http_client.c
455src/transport/plugin_transport_http_common.c 460src/transport/plugin_transport_http_common.c
456src/transport/plugin_transport_http_server.c 461src/transport/plugin_transport_http_server.c
457src/transport/plugin_transport_smtp.c 462src/transport/plugin_transport_smtp.c
458src/transport/plugin_transport_tcp.c 463src/transport/plugin_transport_tcp.c
459src/transport/plugin_transport_template.c 464src/transport/plugin_transport_template.c
460src/transport/plugin_transport_udp_broadcasting.c
461src/transport/plugin_transport_udp.c 465src/transport/plugin_transport_udp.c
466src/transport/plugin_transport_udp_broadcasting.c
462src/transport/plugin_transport_unix.c 467src/transport/plugin_transport_unix.c
463src/transport/plugin_transport_wlan.c 468src/transport/plugin_transport_wlan.c
464src/transport/tcp_connection_legacy.c 469src/transport/tcp_connection_legacy.c
465src/transport/tcp_server_legacy.c 470src/transport/tcp_server_legacy.c
466src/transport/tcp_server_mst_legacy.c 471src/transport/tcp_server_mst_legacy.c
467src/transport/tcp_service_legacy.c 472src/transport/tcp_service_legacy.c
473src/transport/transport-testing-communicator.c
474src/transport/transport-testing-filenames.c
475src/transport/transport-testing-filenames2.c
476src/transport/transport-testing-loggers.c
477src/transport/transport-testing-loggers2.c
478src/transport/transport-testing-main.c
479src/transport/transport-testing-main2.c
480src/transport/transport-testing-send.c
481src/transport/transport-testing-send2.c
482src/transport/transport-testing.c
483src/transport/transport-testing2.c
468src/transport/transport_api2_application.c 484src/transport/transport_api2_application.c
469src/transport/transport_api2_communication.c 485src/transport/transport_api2_communication.c
470src/transport/transport_api2_core.c 486src/transport/transport_api2_core.c
@@ -477,17 +493,6 @@ src/transport/transport_api_manipulation.c
477src/transport/transport_api_monitor_peers.c 493src/transport/transport_api_monitor_peers.c
478src/transport/transport_api_monitor_plugins.c 494src/transport/transport_api_monitor_plugins.c
479src/transport/transport_api_offer_hello.c 495src/transport/transport_api_offer_hello.c
480src/transport/transport-testing2.c
481src/transport/transport-testing.c
482src/transport/transport-testing-communicator.c
483src/transport/transport-testing-filenames2.c
484src/transport/transport-testing-filenames.c
485src/transport/transport-testing-loggers2.c
486src/transport/transport-testing-loggers.c
487src/transport/transport-testing-main2.c
488src/transport/transport-testing-main.c
489src/transport/transport-testing-send2.c
490src/transport/transport-testing-send.c
491src/util/bandwidth.c 496src/util/bandwidth.c
492src/util/benchmark.c 497src/util/benchmark.c
493src/util/bio.c 498src/util/bio.c
@@ -502,8 +507,8 @@ src/util/consttime_memcmp.c
502src/util/container_bloomfilter.c 507src/util/container_bloomfilter.c
503src/util/container_heap.c 508src/util/container_heap.c
504src/util/container_meta_data.c 509src/util/container_meta_data.c
505src/util/container_multihashmap32.c
506src/util/container_multihashmap.c 510src/util/container_multihashmap.c
511src/util/container_multihashmap32.c
507src/util/container_multipeermap.c 512src/util/container_multipeermap.c
508src/util/container_multishortmap.c 513src/util/container_multishortmap.c
509src/util/container_multiuuidmap.c 514src/util/container_multiuuidmap.c
@@ -528,8 +533,8 @@ src/util/dnsstub.c
528src/util/getopt.c 533src/util/getopt.c
529src/util/getopt_helpers.c 534src/util/getopt_helpers.c
530src/util/gnunet-base32.c 535src/util/gnunet-base32.c
531src/util/gnunet-config.c
532src/util/gnunet-config-diff.c 536src/util/gnunet-config-diff.c
537src/util/gnunet-config.c
533src/util/gnunet-crypto-tvg.c 538src/util/gnunet-crypto-tvg.c
534src/util/gnunet-ecc.c 539src/util/gnunet-ecc.c
535src/util/gnunet-qr.c 540src/util/gnunet-qr.c
@@ -567,8 +572,8 @@ src/vpn/gnunet-helper-vpn.c
567src/vpn/gnunet-service-vpn.c 572src/vpn/gnunet-service-vpn.c
568src/vpn/gnunet-vpn.c 573src/vpn/gnunet-vpn.c
569src/vpn/vpn_api.c 574src/vpn/vpn_api.c
570src/zonemaster/gnunet-service-zonemaster.c
571src/zonemaster/gnunet-service-zonemaster-monitor.c 575src/zonemaster/gnunet-service-zonemaster-monitor.c
576src/zonemaster/gnunet-service-zonemaster.c
572src/fs/fs_api.h 577src/fs/fs_api.h
573src/testbed/testbed_api.h 578src/testbed/testbed_api.h
574src/testbed/testbed_api_operations.h 579src/testbed/testbed_api_operations.h
diff --git a/src/reclaim/pabc_helper.c b/src/reclaim/pabc_helper.c
index e76977d03..c435ad5b3 100644
--- a/src/reclaim/pabc_helper.c
+++ b/src/reclaim/pabc_helper.c
@@ -29,7 +29,8 @@ write_file (char const *const filename, const char *buffer)
29 struct GNUNET_DISK_FileHandle *fh; 29 struct GNUNET_DISK_FileHandle *fh;
30 fh = GNUNET_DISK_file_open (filename, 30 fh = GNUNET_DISK_file_open (filename,
31 GNUNET_DISK_OPEN_WRITE 31 GNUNET_DISK_OPEN_WRITE
32 | GNUNET_DISK_OPEN_TRUNCATE, 32 | GNUNET_DISK_OPEN_TRUNCATE
33 | GNUNET_DISK_OPEN_CREATE,
33 GNUNET_DISK_PERM_USER_WRITE); 34 GNUNET_DISK_PERM_USER_WRITE);
34 if (fh == NULL) 35 if (fh == NULL)
35 return GNUNET_SYSERR; 36 return GNUNET_SYSERR;
diff --git a/src/reclaim/plugin_reclaim_credential_pabc.c b/src/reclaim/plugin_reclaim_credential_pabc.c
index 148cfec13..e17520528 100644
--- a/src/reclaim/plugin_reclaim_credential_pabc.c
+++ b/src/reclaim/plugin_reclaim_credential_pabc.c
@@ -144,6 +144,22 @@ pabc_number_to_typename (void *cls, uint32_t type)
144} 144}
145 145
146 146
147static void
148inspect_attrs (char const *const key,
149 char const *const value,
150 void *ctx)
151{
152 struct GNUNET_RECLAIM_AttributeList *attrs = ctx;
153
154 GNUNET_RECLAIM_attribute_list_add (attrs,
155 key,
156 NULL,
157 GNUNET_RECLAIM_ATTRIBUTE_TYPE_STRING,
158 value,
159 strlen (value));
160}
161
162
147/** 163/**
148 * Parse a pabc and return the respective claim value as Attribute 164 * Parse a pabc and return the respective claim value as Attribute
149 * 165 *
@@ -156,14 +172,9 @@ pabc_parse_attributes (void *cls,
156 const char *data, 172 const char *data,
157 size_t data_size) 173 size_t data_size)
158{ 174{
159 const char *key;
160 struct GNUNET_RECLAIM_AttributeList *attrs; 175 struct GNUNET_RECLAIM_AttributeList *attrs;
161 char *val_str = NULL;
162 char *tmp;
163 json_t *value;
164 json_t *attr;
165 json_t *json_attrs;
166 json_t *json_root; 176 json_t *json_root;
177 json_t *json_attrs;
167 json_error_t *json_err = NULL; 178 json_error_t *json_err = NULL;
168 179
169 json_root = json_loads (data, JSON_DECODE_ANY, json_err); 180 json_root = json_loads (data, JSON_DECODE_ANY, json_err);
@@ -177,55 +188,20 @@ pabc_parse_attributes (void *cls,
177 json_decref (json_root); 188 json_decref (json_root);
178 return NULL; 189 return NULL;
179 } 190 }
180 json_attrs = json_object_get (json_root, "attributes"); 191 json_attrs = json_object_get (json_root, PABC_JSON_PLAIN_ATTRS_KEY);
181 if ((NULL == json_attrs) || 192 if ((NULL == json_attrs) ||
182 (! json_is_array (json_attrs))) 193 (! json_is_object (json_attrs)))
183 { 194 {
184 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 195 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
185 "%s is not a valid pabc credentials (attributes not an array)\n", 196 "%s is not a valid pabc credentials (attributes not an object)\n",
186 data); 197 data);
187 json_decref (json_root); 198 json_decref (json_root);
188 return NULL; 199 return NULL;
189 } 200 }
190 201
191 attrs = GNUNET_new (struct GNUNET_RECLAIM_AttributeList); 202 attrs = GNUNET_new (struct GNUNET_RECLAIM_AttributeList);
192 for (int i = 0; i < json_array_size (json_attrs); i++) 203 char *attr_str = json_dumps (json_attrs, JSON_DECODE_ANY);
193 { 204 pabc_cred_inspect_credential (attr_str, &inspect_attrs, attrs);
194 attr = json_array_get (json_attrs, i);
195 if (! json_is_object (attr))
196 {
197 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
198 "Found json entry is not an object!\n");
199 GNUNET_RECLAIM_attribute_list_destroy (attrs);
200 json_decref (json_root);
201 return NULL;
202 }
203 /**
204 * This *should* only contain a single pair.
205 */
206 json_object_foreach (attr, key, value)
207 {
208 if ((0 == strcmp ("issuer", key)) ||
209 (0 == strcmp ("expiration", key)) ||
210 (0 == strcmp ("subject", key)))
211 continue;
212 val_str = json_dumps (value, JSON_ENCODE_ANY);
213 tmp = val_str;
214 // Remove leading " from jasson conversion
215 if (tmp[0] == '"')
216 tmp++;
217 // Remove trailing " from jansson conversion
218 if (tmp[strlen (tmp) - 1] == '"')
219 tmp[strlen (tmp) - 1] = '\0';
220 GNUNET_RECLAIM_attribute_list_add (attrs,
221 key,
222 NULL,
223 GNUNET_RECLAIM_ATTRIBUTE_TYPE_STRING,
224 tmp,
225 strlen (tmp));
226 GNUNET_free (val_str);
227 }
228 }
229 json_decref (json_root); 205 json_decref (json_root);
230 return attrs; 206 return attrs;
231} 207}
@@ -260,6 +236,23 @@ pabc_parse_attributes_p (void *cls,
260 return pabc_parse_attributes (cls, cred->data, cred->data_size); 236 return pabc_parse_attributes (cls, cred->data, cred->data_size);
261} 237}
262 238
239struct Finder
240{
241 const char* target;
242 char *result;
243};
244
245static void
246find_attr (char const *const key,
247 char const *const value,
248 void *ctx)
249{
250 struct Finder *fdr = ctx;
251 if (0 == strcmp (key, fdr->target))
252 fdr->result = GNUNET_strdup (value);
253}
254
255
263 256
264/** 257/**
265 * Parse a pabc and return an attribute value. 258 * Parse a pabc and return an attribute value.
@@ -267,7 +260,7 @@ pabc_parse_attributes_p (void *cls,
267 * @param cls the plugin 260 * @param cls the plugin
268 * @param data the pabc credential data 261 * @param data the pabc credential data
269 * @param data_size the pabc credential size 262 * @param data_size the pabc credential size
270 * @param key the attribute key to look for. 263 * @param skey the attribute key to look for.
271 * @return a string, containing the isser 264 * @return a string, containing the isser
272 */ 265 */
273char * 266char *
@@ -276,13 +269,8 @@ pabc_get_attribute (void *cls,
276 size_t data_size, 269 size_t data_size,
277 const char *skey) 270 const char *skey)
278{ 271{
279 const char *key;
280 char *val_str = NULL;
281 char *tmp;
282 json_t *json_root; 272 json_t *json_root;
283 json_t *json_attrs; 273 json_t *json_attrs;
284 json_t *value;
285 json_t *attr;
286 json_error_t *json_err = NULL; 274 json_error_t *json_err = NULL;
287 275
288 json_root = json_loads (data, JSON_DECODE_ANY, json_err); 276 json_root = json_loads (data, JSON_DECODE_ANY, json_err);
@@ -290,50 +278,29 @@ pabc_get_attribute (void *cls,
290 (! json_is_object (json_root))) 278 (! json_is_object (json_root)))
291 { 279 {
292 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 280 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
293 "%s is not a valid pabc credentials (not an object)\n", 281 "%s is not a valid pabc credential (not an object)\n",
294 data); 282 data);
295 if (NULL != json_root) 283 if (NULL != json_root)
296 json_decref (json_root); 284 json_decref (json_root);
297 return NULL; 285 return NULL;
298 } 286 }
299 json_attrs = json_object_get (json_root, "attributes"); 287 json_attrs = json_object_get (json_root, PABC_JSON_PLAIN_ATTRS_KEY);
300 if ((NULL == json_attrs) || 288 if ((NULL == json_attrs) ||
301 (! json_is_array (json_attrs))) 289 (! json_is_object (json_attrs)))
302 { 290 {
303 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 291 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
304 "%s is not a valid pabc credentials (attributes not an array)\n", 292 "%s is not a valid pabc credential (attributes not an object)\n",
305 data); 293 data);
306 json_decref (json_root); 294 json_decref (json_root);
307 return NULL; 295 return NULL;
308 } 296 }
309 297 char *attr_str = json_dumps (json_attrs, JSON_DECODE_ANY);
310 for (int i = 0; i < json_array_size (json_attrs); i++)
311 {
312 attr = json_array_get (json_attrs, i);
313 if (! json_is_object (attr))
314 continue;
315 /**
316 * This *should* only contain a single pair.
317 */
318 json_object_foreach (attr, key, value)
319 {
320 if (0 != strcmp (skey, key))
321 continue;
322 val_str = json_dumps (value, JSON_ENCODE_ANY);
323 tmp = val_str;
324 // Remove leading " from jasson conversion
325 if (tmp[0] == '"')
326 tmp++;
327 // Remove trailing " from jansson conversion
328 if (tmp[strlen (tmp) - 1] == '"')
329 tmp[strlen (tmp) - 1] = '\0';
330 GNUNET_free (val_str);
331 json_decref (json_root);
332 return tmp;
333 }
334 }
335 json_decref (json_root); 298 json_decref (json_root);
336 return NULL; 299 struct Finder fdr;
300 memset (&fdr, 0, sizeof (fdr));
301 fdr.target = skey;
302 pabc_cred_inspect_credential (attr_str, &find_attr, &fdr);
303 return fdr.result;
337} 304}
338 305
339 306
@@ -403,9 +370,8 @@ pabc_get_expiration (void *cls,
403 json_t *json_root; 370 json_t *json_root;
404 json_t *json_attrs; 371 json_t *json_attrs;
405 json_t *value; 372 json_t *value;
406 json_t *attr; 373 json_t *exp_j;
407 json_error_t *json_err = NULL; 374 json_error_t *json_err = NULL;
408 const char*key;
409 375
410 json_root = json_loads (data, JSON_DECODE_ANY, json_err); 376 json_root = json_loads (data, JSON_DECODE_ANY, json_err);
411 if ((NULL == json_root) || 377 if ((NULL == json_root) ||
@@ -418,24 +384,23 @@ pabc_get_expiration (void *cls,
418 json_decref (json_root); 384 json_decref (json_root);
419 return GNUNET_SYSERR; 385 return GNUNET_SYSERR;
420 } 386 }
421 for (int i = 0; i < json_array_size (json_attrs); i++) 387 json_attrs = json_object_get (json_root, PABC_JSON_PLAIN_ATTRS_KEY);
388 if ((NULL == json_attrs) ||
389 (! json_is_object (json_attrs)))
422 { 390 {
423 attr = json_array_get (json_attrs, i); 391 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
424 if (! json_is_object (attr)) 392 "%s is not a valid pabc credential (attributes not an object)\n",
425 continue; 393 data);
426 /** 394 json_decref (json_root);
427 * This *should* only contain a single pair. 395 return GNUNET_SYSERR;
428 */ 396 }
429 json_object_foreach (attr, key, value) 397 exp_j = json_object_get (json_attrs, "expiration");
430 { 398 if ((NULL != exp_j) &&
431 if (0 != strcmp ("expiration", key)) 399 json_is_integer (exp_j))
432 continue; 400 {
433 if (! json_is_integer (value)) 401 exp->abs_value_us = json_integer_value (value) * 1000 * 1000;
434 continue; 402 json_decref (json_root);
435 exp->abs_value_us = json_integer_value (value) * 1000 * 1000; 403 return GNUNET_OK;
436 json_decref (json_root);
437 return GNUNET_OK;
438 }
439 } 404 }
440 json_decref (json_root); 405 json_decref (json_root);
441 return GNUNET_SYSERR; 406 return GNUNET_SYSERR;
diff --git a/src/reclaim/plugin_rest_pabc.c b/src/reclaim/plugin_rest_pabc.c
index 1c766a716..9c1ac3c47 100644
--- a/src/reclaim/plugin_rest_pabc.c
+++ b/src/reclaim/plugin_rest_pabc.c
@@ -264,9 +264,8 @@ set_attributes_from_idtoken (const struct pabc_context *ctx,
264 json_string_value (value)); 264 json_string_value (value));
265 if (PABC_OK != status) 265 if (PABC_OK != status)
266 { 266 {
267 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 267 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
268 "Failed to set attribute.\n"); 268 "Failed to set attribute `%s'.\n", key);
269 return PABC_FAILURE;
270 } 269 }
271 } 270 }
272 return PABC_OK; 271 return PABC_OK;
@@ -370,7 +369,7 @@ cr_cont (struct GNUNET_REST_RequestHandle *con_handle,
370 GNUNET_SCHEDULER_add_now (&do_error, handle); 369 GNUNET_SCHEDULER_add_now (&do_error, handle);
371 return; 370 return;
372 } 371 }
373 idtoken_json = json_object_get (idtoken_json, "id_token"); 372 idtoken_json = json_object_get (data_json, "id_token");
374 if (NULL == idtoken_json) 373 if (NULL == idtoken_json)
375 { 374 {
376 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 375 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -390,13 +389,18 @@ cr_cont (struct GNUNET_REST_RequestHandle *con_handle,
390 } 389 }
391 390
392 PABC_ASSERT (pabc_new_ctx (&ctx)); 391 PABC_ASSERT (pabc_new_ctx (&ctx));
393 // FIXME jansson does stupid escaping here maybe expect ecoded? 392 char *pp_str = json_dumps (pp_json, JSON_ENCODE_ANY);
394 status = pabc_decode_and_new_public_parameters (ctx, 393 status = pabc_decode_and_new_public_parameters (ctx,
395 &pp, 394 &pp,
396 json_string_value (pp_json)); 395 pp_str);
396 char *ppid;
397 GNUNET_assert (PABC_OK == pabc_cred_get_ppid_from_pp (pp_str, &ppid));
398 GNUNET_free (pp_str);
397 if (status != PABC_OK) 399 if (status != PABC_OK)
398 { 400 {
399 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to read public parameters.\n"); 401 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
402 "Failed to read public parameters: %s\n",
403 pp_str);
400 json_decref (data_json); 404 json_decref (data_json);
401 GNUNET_SCHEDULER_add_now (&do_error, handle); 405 GNUNET_SCHEDULER_add_now (&do_error, handle);
402 return; 406 return;
@@ -457,8 +461,8 @@ cr_cont (struct GNUNET_REST_RequestHandle *con_handle,
457 GNUNET_SCHEDULER_add_now (&do_error, handle); 461 GNUNET_SCHEDULER_add_now (&do_error, handle);
458 return; 462 return;
459 } 463 }
460 // FIXME: where does this come from??? 464 char *nonce_str = json_dumps (nonce_json, JSON_ENCODE_ANY);
461 status = pabc_decode_nonce (ctx, nonce, json_string_value (nonce_json)); 465 status = pabc_decode_nonce (ctx, nonce, nonce_str);
462 if (status != PABC_OK) 466 if (status != PABC_OK)
463 { 467 {
464 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to decode nonce.\n"); 468 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to decode nonce.\n");
@@ -496,7 +500,9 @@ cr_cont (struct GNUNET_REST_RequestHandle *con_handle,
496 return; 500 return;
497 } 501 }
498 handle->resp_object = json_object (); 502 handle->resp_object = json_object ();
499 pabc_encode_credential_request (ctx, pp, cr, &response_str); 503 GNUNET_assert (PABC_OK == pabc_cred_encode_cr (ctx, pp, cr,
504 json_string_value (identity_json),
505 ppid, &response_str));
500 if (PABC_OK != status) 506 if (PABC_OK != status)
501 { 507 {
502 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to serialize cr.\n"); 508 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to serialize cr.\n");
@@ -508,9 +514,9 @@ cr_cont (struct GNUNET_REST_RequestHandle *con_handle,
508 GNUNET_SCHEDULER_add_now (&do_error, handle); 514 GNUNET_SCHEDULER_add_now (&do_error, handle);
509 return; 515 return;
510 } 516 }
517 json_decref (handle->resp_object);
518 handle->resp_object = json_loads (response_str, JSON_DECODE_ANY, &err);
511 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%s\n", response_str); 519 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%s\n", response_str);
512 json_object_set_new (handle->resp_object, "cr",
513 json_string (response_str));
514 GNUNET_free (response_str); 520 GNUNET_free (response_str);
515 521
516 // clean up 522 // clean up
@@ -593,7 +599,7 @@ rest_identity_process_request (struct GNUNET_REST_RequestHandle *rest_handle,
593 * @return NULL on error, otherwise the plugin context 599 * @return NULL on error, otherwise the plugin context
594 */ 600 */
595void * 601void *
596libgnunet_plugin_rest_reclaim_init (void *cls) 602libgnunet_plugin_rest_pabc_init (void *cls)
597{ 603{
598 static struct Plugin plugin; 604 static struct Plugin plugin;
599 struct GNUNET_REST_Plugin *api; 605 struct GNUNET_REST_Plugin *api;