diff options
-rw-r--r-- | contrib/Makefile.inc | 3 | ||||
-rw-r--r-- | po/POTFILES.in | 125 | ||||
-rw-r--r-- | src/reclaim/pabc_helper.c | 3 | ||||
-rw-r--r-- | src/reclaim/plugin_reclaim_credential_pabc.c | 169 | ||||
-rw-r--r-- | src/reclaim/plugin_rest_pabc.c | 32 |
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 | ||
13 | BUILDCOMMON_CONF_FILES = \ | 14 | BUILDCOMMON_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 | |||
10 | src/arm/gnunet-arm.c | 10 | src/arm/gnunet-arm.c |
11 | src/arm/gnunet-service-arm.c | 11 | src/arm/gnunet-service-arm.c |
12 | src/arm/mockup-service.c | 12 | src/arm/mockup-service.c |
13 | src/ats-tests/ats-testing-experiment.c | ||
14 | src/ats-tests/ats-testing-log.c | ||
15 | src/ats-tests/ats-testing-preferences.c | ||
16 | src/ats-tests/ats-testing-traffic.c | ||
17 | src/ats-tests/ats-testing.c | ||
18 | src/ats-tests/gnunet-ats-sim.c | ||
19 | src/ats-tests/gnunet-solver-eval.c | ||
20 | src/ats-tool/gnunet-ats.c | ||
13 | src/ats/ats_api_connectivity.c | 21 | src/ats/ats_api_connectivity.c |
14 | src/ats/ats_api_performance.c | 22 | src/ats/ats_api_performance.c |
15 | src/ats/ats_api_scanner.c | 23 | src/ats/ats_api_scanner.c |
16 | src/ats/ats_api_scheduling.c | 24 | src/ats/ats_api_scheduling.c |
17 | src/ats/gnunet-ats-solver-eval.c | 25 | src/ats/gnunet-ats-solver-eval.c |
18 | src/ats/gnunet-service-ats_addresses.c | ||
19 | src/ats/gnunet-service-ats.c | 26 | src/ats/gnunet-service-ats.c |
27 | src/ats/gnunet-service-ats_addresses.c | ||
20 | src/ats/gnunet-service-ats_connectivity.c | 28 | src/ats/gnunet-service-ats_connectivity.c |
21 | src/ats/gnunet-service-ats_normalization.c | 29 | src/ats/gnunet-service-ats_normalization.c |
22 | src/ats/gnunet-service-ats_performance.c | 30 | src/ats/gnunet-service-ats_performance.c |
@@ -25,14 +33,6 @@ src/ats/gnunet-service-ats_preferences.c | |||
25 | src/ats/gnunet-service-ats_reservations.c | 33 | src/ats/gnunet-service-ats_reservations.c |
26 | src/ats/gnunet-service-ats_scheduling.c | 34 | src/ats/gnunet-service-ats_scheduling.c |
27 | src/ats/plugin_ats_proportional.c | 35 | src/ats/plugin_ats_proportional.c |
28 | src/ats-tests/ats-testing.c | ||
29 | src/ats-tests/ats-testing-experiment.c | ||
30 | src/ats-tests/ats-testing-log.c | ||
31 | src/ats-tests/ats-testing-preferences.c | ||
32 | src/ats-tests/ats-testing-traffic.c | ||
33 | src/ats-tests/gnunet-ats-sim.c | ||
34 | src/ats-tests/gnunet-solver-eval.c | ||
35 | src/ats-tool/gnunet-ats.c | ||
36 | src/auction/gnunet-auction-create.c | 36 | src/auction/gnunet-auction-create.c |
37 | src/auction/gnunet-auction-info.c | 37 | src/auction/gnunet-auction-info.c |
38 | src/auction/gnunet-auction-join.c | 38 | src/auction/gnunet-auction-join.c |
@@ -50,8 +50,8 @@ src/cadet/cadet_api_list_peers.c | |||
50 | src/cadet/cadet_api_list_tunnels.c | 50 | src/cadet/cadet_api_list_tunnels.c |
51 | src/cadet/cadet_test_lib.c | 51 | src/cadet/cadet_test_lib.c |
52 | src/cadet/desirability_table.c | 52 | src/cadet/desirability_table.c |
53 | src/cadet/gnunet-cadet.c | ||
54 | src/cadet/gnunet-cadet-profiler.c | 53 | src/cadet/gnunet-cadet-profiler.c |
54 | src/cadet/gnunet-cadet.c | ||
55 | src/cadet/gnunet-service-cadet.c | 55 | src/cadet/gnunet-service-cadet.c |
56 | src/cadet/gnunet-service-cadet_channel.c | 56 | src/cadet/gnunet-service-cadet_channel.c |
57 | src/cadet/gnunet-service-cadet_connection.c | 57 | src/cadet/gnunet-service-cadet_connection.c |
@@ -67,15 +67,15 @@ src/consensus/gnunet-service-consensus.c | |||
67 | src/consensus/plugin_block_consensus.c | 67 | src/consensus/plugin_block_consensus.c |
68 | src/conversation/conversation_api.c | 68 | src/conversation/conversation_api.c |
69 | src/conversation/conversation_api_call.c | 69 | src/conversation/conversation_api_call.c |
70 | src/conversation/gnunet-conversation.c | ||
71 | src/conversation/gnunet-conversation-test.c | 70 | src/conversation/gnunet-conversation-test.c |
72 | src/conversation/gnunet_gst.c | 71 | src/conversation/gnunet-conversation.c |
73 | src/conversation/gnunet_gst_test.c | ||
74 | src/conversation/gnunet-helper-audio-playback.c | ||
75 | src/conversation/gnunet-helper-audio-playback-gst.c | 72 | src/conversation/gnunet-helper-audio-playback-gst.c |
76 | src/conversation/gnunet-helper-audio-record.c | 73 | src/conversation/gnunet-helper-audio-playback.c |
77 | src/conversation/gnunet-helper-audio-record-gst.c | 74 | src/conversation/gnunet-helper-audio-record-gst.c |
75 | src/conversation/gnunet-helper-audio-record.c | ||
78 | src/conversation/gnunet-service-conversation.c | 76 | src/conversation/gnunet-service-conversation.c |
77 | src/conversation/gnunet_gst.c | ||
78 | src/conversation/gnunet_gst_test.c | ||
79 | src/conversation/microphone.c | 79 | src/conversation/microphone.c |
80 | src/conversation/plugin_gnsrecord_conversation.c | 80 | src/conversation/plugin_gnsrecord_conversation.c |
81 | src/conversation/speaker.c | 81 | src/conversation/speaker.c |
@@ -105,7 +105,6 @@ src/dht/dht_api.c | |||
105 | src/dht/dht_test_lib.c | 105 | src/dht/dht_test_lib.c |
106 | src/dht/gnunet-dht-get.c | 106 | src/dht/gnunet-dht-get.c |
107 | src/dht/gnunet-dht-monitor.c | 107 | src/dht/gnunet-dht-monitor.c |
108 | src/dht/gnunet_dht_profiler.c | ||
109 | src/dht/gnunet-dht-put.c | 108 | src/dht/gnunet-dht-put.c |
110 | src/dht/gnunet-service-dht.c | 109 | src/dht/gnunet-service-dht.c |
111 | src/dht/gnunet-service-dht_clients.c | 110 | src/dht/gnunet-service-dht_clients.c |
@@ -114,6 +113,7 @@ src/dht/gnunet-service-dht_hello.c | |||
114 | src/dht/gnunet-service-dht_neighbours.c | 113 | src/dht/gnunet-service-dht_neighbours.c |
115 | src/dht/gnunet-service-dht_nse.c | 114 | src/dht/gnunet-service-dht_nse.c |
116 | src/dht/gnunet-service-dht_routing.c | 115 | src/dht/gnunet-service-dht_routing.c |
116 | src/dht/gnunet_dht_profiler.c | ||
117 | src/dht/plugin_block_dht.c | 117 | src/dht/plugin_block_dht.c |
118 | src/dns/dns_api.c | 118 | src/dns/dns_api.c |
119 | src/dns/gnunet-dns-monitor.c | 119 | src/dns/gnunet-dns-monitor.c |
@@ -148,8 +148,8 @@ src/fs/gnunet-auto-share.c | |||
148 | src/fs/gnunet-daemon-fsprofiler.c | 148 | src/fs/gnunet-daemon-fsprofiler.c |
149 | src/fs/gnunet-directory.c | 149 | src/fs/gnunet-directory.c |
150 | src/fs/gnunet-download.c | 150 | src/fs/gnunet-download.c |
151 | src/fs/gnunet-fs.c | ||
152 | src/fs/gnunet-fs-profiler.c | 151 | src/fs/gnunet-fs-profiler.c |
152 | src/fs/gnunet-fs.c | ||
153 | src/fs/gnunet-helper-fs-publish.c | 153 | src/fs/gnunet-helper-fs-publish.c |
154 | src/fs/gnunet-publish.c | 154 | src/fs/gnunet-publish.c |
155 | src/fs/gnunet-search.c | 155 | src/fs/gnunet-search.c |
@@ -169,9 +169,9 @@ src/gns/gns_tld_api.c | |||
169 | src/gns/gnunet-bcd.c | 169 | src/gns/gnunet-bcd.c |
170 | src/gns/gnunet-dns2gns.c | 170 | src/gns/gnunet-dns2gns.c |
171 | src/gns/gnunet-gns-benchmark.c | 171 | src/gns/gnunet-gns-benchmark.c |
172 | src/gns/gnunet-gns.c | ||
173 | src/gns/gnunet-gns-import.c | 172 | src/gns/gnunet-gns-import.c |
174 | src/gns/gnunet-gns-proxy.c | 173 | src/gns/gnunet-gns-proxy.c |
174 | src/gns/gnunet-gns.c | ||
175 | src/gns/gnunet-service-gns.c | 175 | src/gns/gnunet-service-gns.c |
176 | src/gns/gnunet-service-gns_interceptor.c | 176 | src/gns/gnunet-service-gns_interceptor.c |
177 | src/gns/gnunet-service-gns_resolver.c | 177 | src/gns/gnunet-service-gns_resolver.c |
@@ -189,8 +189,8 @@ src/gnsrecord/json_gnsrecord.c | |||
189 | src/gnsrecord/plugin_gnsrecord_dns.c | 189 | src/gnsrecord/plugin_gnsrecord_dns.c |
190 | src/hello/address.c | 190 | src/hello/address.c |
191 | src/hello/gnunet-hello.c | 191 | src/hello/gnunet-hello.c |
192 | src/hello/hello.c | ||
193 | src/hello/hello-ng.c | 192 | src/hello/hello-ng.c |
193 | src/hello/hello.c | ||
194 | src/hostlist/gnunet-daemon-hostlist.c | 194 | src/hostlist/gnunet-daemon-hostlist.c |
195 | src/hostlist/gnunet-daemon-hostlist_client.c | 195 | src/hostlist/gnunet-daemon-hostlist_client.c |
196 | src/hostlist/gnunet-daemon-hostlist_server.c | 196 | src/hostlist/gnunet-daemon-hostlist_server.c |
@@ -205,8 +205,8 @@ src/json/json_generator.c | |||
205 | src/json/json_helper.c | 205 | src/json/json_helper.c |
206 | src/json/json_mhd.c | 206 | src/json/json_mhd.c |
207 | src/messenger/gnunet-messenger.c | 207 | src/messenger/gnunet-messenger.c |
208 | src/messenger/gnunet-service-messenger_basement.c | ||
209 | src/messenger/gnunet-service-messenger.c | 208 | src/messenger/gnunet-service-messenger.c |
209 | src/messenger/gnunet-service-messenger_basement.c | ||
210 | src/messenger/gnunet-service-messenger_ego_store.c | 210 | src/messenger/gnunet-service-messenger_ego_store.c |
211 | src/messenger/gnunet-service-messenger_handle.c | 211 | src/messenger/gnunet-service-messenger_handle.c |
212 | src/messenger/gnunet-service-messenger_list_handles.c | 212 | src/messenger/gnunet-service-messenger_list_handles.c |
@@ -245,8 +245,8 @@ src/namecache/namecache_api.c | |||
245 | src/namecache/plugin_namecache_flat.c | 245 | src/namecache/plugin_namecache_flat.c |
246 | src/namecache/plugin_namecache_postgres.c | 246 | src/namecache/plugin_namecache_postgres.c |
247 | src/namecache/plugin_namecache_sqlite.c | 247 | src/namecache/plugin_namecache_sqlite.c |
248 | src/namestore/gnunet-namestore.c | ||
249 | src/namestore/gnunet-namestore-fcfsd.c | 248 | src/namestore/gnunet-namestore-fcfsd.c |
249 | src/namestore/gnunet-namestore.c | ||
250 | src/namestore/gnunet-service-namestore.c | 250 | src/namestore/gnunet-service-namestore.c |
251 | src/namestore/gnunet-zoneimport.c | 251 | src/namestore/gnunet-zoneimport.c |
252 | src/namestore/namestore_api.c | 252 | src/namestore/namestore_api.c |
@@ -272,17 +272,17 @@ src/nat/gnunet-service-nat_mini.c | |||
272 | src/nat/gnunet-service-nat_stun.c | 272 | src/nat/gnunet-service-nat_stun.c |
273 | src/nat/nat_api.c | 273 | src/nat/nat_api.c |
274 | src/nat/nat_api_stun.c | 274 | src/nat/nat_api_stun.c |
275 | src/nse/gnunet-nse.c | ||
276 | src/nse/gnunet-nse-profiler.c | 275 | src/nse/gnunet-nse-profiler.c |
276 | src/nse/gnunet-nse.c | ||
277 | src/nse/gnunet-service-nse.c | 277 | src/nse/gnunet-service-nse.c |
278 | src/nse/nse_api.c | 278 | src/nse/nse_api.c |
279 | src/nt/nt.c | 279 | src/nt/nt.c |
280 | src/peerinfo/gnunet-service-peerinfo.c | ||
281 | src/peerinfo/peerinfo_api.c | ||
282 | src/peerinfo/peerinfo_api_notify.c | ||
283 | src/peerinfo-tool/gnunet-peerinfo.c | 280 | src/peerinfo-tool/gnunet-peerinfo.c |
284 | src/peerinfo-tool/gnunet-peerinfo_plugins.c | 281 | src/peerinfo-tool/gnunet-peerinfo_plugins.c |
285 | src/peerinfo-tool/plugin_rest_peerinfo.c | 282 | src/peerinfo-tool/plugin_rest_peerinfo.c |
283 | src/peerinfo/gnunet-service-peerinfo.c | ||
284 | src/peerinfo/peerinfo_api.c | ||
285 | src/peerinfo/peerinfo_api_notify.c | ||
286 | src/peerstore/gnunet-peerstore.c | 286 | src/peerstore/gnunet-peerstore.c |
287 | src/peerstore/gnunet-service-peerstore.c | 287 | src/peerstore/gnunet-service-peerstore.c |
288 | src/peerstore/peerstore_api.c | 288 | src/peerstore/peerstore_api.c |
@@ -302,10 +302,13 @@ src/reclaim/gnunet-service-reclaim.c | |||
302 | src/reclaim/gnunet-service-reclaim_tickets.c | 302 | src/reclaim/gnunet-service-reclaim_tickets.c |
303 | src/reclaim/json_reclaim.c | 303 | src/reclaim/json_reclaim.c |
304 | src/reclaim/oidc_helper.c | 304 | src/reclaim/oidc_helper.c |
305 | src/reclaim/pabc_helper.c | ||
305 | src/reclaim/plugin_gnsrecord_reclaim.c | 306 | src/reclaim/plugin_gnsrecord_reclaim.c |
306 | src/reclaim/plugin_reclaim_attribute_basic.c | 307 | src/reclaim/plugin_reclaim_attribute_basic.c |
307 | src/reclaim/plugin_reclaim_credential_jwt.c | 308 | src/reclaim/plugin_reclaim_credential_jwt.c |
309 | src/reclaim/plugin_reclaim_credential_pabc.c | ||
308 | src/reclaim/plugin_rest_openid_connect.c | 310 | src/reclaim/plugin_rest_openid_connect.c |
311 | src/reclaim/plugin_rest_pabc.c | ||
309 | src/reclaim/plugin_rest_reclaim.c | 312 | src/reclaim/plugin_rest_reclaim.c |
310 | src/reclaim/reclaim_api.c | 313 | src/reclaim/reclaim_api.c |
311 | src/reclaim/reclaim_attribute.c | 314 | src/reclaim/reclaim_attribute.c |
@@ -328,27 +331,27 @@ src/rest/gnunet-rest-server.c | |||
328 | src/rest/plugin_rest_config.c | 331 | src/rest/plugin_rest_config.c |
329 | src/rest/plugin_rest_copying.c | 332 | src/rest/plugin_rest_copying.c |
330 | src/rest/rest.c | 333 | src/rest/rest.c |
331 | src/revocation/gnunet-revocation.c | ||
332 | src/revocation/gnunet-revocation-tvg.c | 334 | src/revocation/gnunet-revocation-tvg.c |
335 | src/revocation/gnunet-revocation.c | ||
333 | src/revocation/gnunet-service-revocation.c | 336 | src/revocation/gnunet-service-revocation.c |
334 | src/revocation/plugin_block_revocation.c | 337 | src/revocation/plugin_block_revocation.c |
335 | src/revocation/revocation_api.c | 338 | src/revocation/revocation_api.c |
336 | src/rps/gnunet-rps.c | ||
337 | src/rps/gnunet-rps-profiler.c | 339 | src/rps/gnunet-rps-profiler.c |
340 | src/rps/gnunet-rps.c | ||
338 | src/rps/gnunet-service-rps.c | 341 | src/rps/gnunet-service-rps.c |
339 | src/rps/gnunet-service-rps_custommap.c | 342 | src/rps/gnunet-service-rps_custommap.c |
340 | src/rps/gnunet-service-rps_sampler.c | 343 | src/rps/gnunet-service-rps_sampler.c |
341 | src/rps/gnunet-service-rps_sampler_elem.c | 344 | src/rps/gnunet-service-rps_sampler_elem.c |
342 | src/rps/gnunet-service-rps_view.c | 345 | src/rps/gnunet-service-rps_view.c |
343 | src/rps/rps_api.c | ||
344 | src/rps/rps-sampler_client.c | 346 | src/rps/rps-sampler_client.c |
345 | src/rps/rps-sampler_common.c | 347 | src/rps/rps-sampler_common.c |
346 | src/rps/rps-test_util.c | 348 | src/rps/rps-test_util.c |
349 | src/rps/rps_api.c | ||
347 | src/scalarproduct/gnunet-scalarproduct.c | 350 | src/scalarproduct/gnunet-scalarproduct.c |
348 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
349 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
350 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c | 351 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c |
351 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c | 352 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c |
353 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
354 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
352 | src/scalarproduct/scalarproduct_api.c | 355 | src/scalarproduct/scalarproduct_api.c |
353 | src/secretsharing/gnunet-secretsharing-profiler.c | 356 | src/secretsharing/gnunet-secretsharing-profiler.c |
354 | src/secretsharing/gnunet-service-secretsharing.c | 357 | src/secretsharing/gnunet-service-secretsharing.c |
@@ -362,12 +365,12 @@ src/set/gnunet-set-ibf-profiler.c | |||
362 | src/set/gnunet-set-profiler.c | 365 | src/set/gnunet-set-profiler.c |
363 | src/set/ibf.c | 366 | src/set/ibf.c |
364 | src/set/ibf_sim.c | 367 | src/set/ibf_sim.c |
368 | src/set/plugin_block_set_test.c | ||
369 | src/set/set_api.c | ||
365 | src/seti/gnunet-service-seti.c | 370 | src/seti/gnunet-service-seti.c |
366 | src/seti/gnunet-seti-profiler.c | 371 | src/seti/gnunet-seti-profiler.c |
367 | src/seti/plugin_block_seti_test.c | 372 | src/seti/plugin_block_seti_test.c |
368 | src/seti/seti_api.c | 373 | src/seti/seti_api.c |
369 | src/set/plugin_block_set_test.c | ||
370 | src/set/set_api.c | ||
371 | src/setu/gnunet-service-setu.c | 374 | src/setu/gnunet-service-setu.c |
372 | src/setu/gnunet-service-setu_strata_estimator.c | 375 | src/setu/gnunet-service-setu_strata_estimator.c |
373 | src/setu/gnunet-setu-ibf-profiler.c | 376 | src/setu/gnunet-setu-ibf-profiler.c |
@@ -386,15 +389,16 @@ src/statistics/gnunet-statistics.c | |||
386 | src/statistics/statistics_api.c | 389 | src/statistics/statistics_api.c |
387 | src/template/gnunet-service-template.c | 390 | src/template/gnunet-service-template.c |
388 | src/template/gnunet-template.c | 391 | src/template/gnunet-template.c |
392 | src/testbed-logger/gnunet-service-testbed-logger.c | ||
393 | src/testbed-logger/testbed_logger_api.c | ||
389 | src/testbed/generate-underlay-topology.c | 394 | src/testbed/generate-underlay-topology.c |
390 | src/testbed/gnunet-daemon-latency-logger.c | 395 | src/testbed/gnunet-daemon-latency-logger.c |
391 | src/testbed/gnunet-daemon-testbed-blacklist.c | 396 | src/testbed/gnunet-daemon-testbed-blacklist.c |
392 | src/testbed/gnunet-daemon-testbed-underlay.c | 397 | src/testbed/gnunet-daemon-testbed-underlay.c |
393 | src/testbed/gnunet-helper-testbed.c | 398 | src/testbed/gnunet-helper-testbed.c |
394 | src/testbed/gnunet_mpi_test.c | ||
395 | src/testbed/gnunet-service-test-barriers.c | 399 | src/testbed/gnunet-service-test-barriers.c |
396 | src/testbed/gnunet-service-testbed_barriers.c | ||
397 | src/testbed/gnunet-service-testbed.c | 400 | src/testbed/gnunet-service-testbed.c |
401 | src/testbed/gnunet-service-testbed_barriers.c | ||
398 | src/testbed/gnunet-service-testbed_cache.c | 402 | src/testbed/gnunet-service-testbed_cache.c |
399 | src/testbed/gnunet-service-testbed_connectionpool.c | 403 | src/testbed/gnunet-service-testbed_connectionpool.c |
400 | src/testbed/gnunet-service-testbed_cpustatus.c | 404 | src/testbed/gnunet-service-testbed_cpustatus.c |
@@ -402,69 +406,81 @@ src/testbed/gnunet-service-testbed_links.c | |||
402 | src/testbed/gnunet-service-testbed_meminfo.c | 406 | src/testbed/gnunet-service-testbed_meminfo.c |
403 | src/testbed/gnunet-service-testbed_oc.c | 407 | src/testbed/gnunet-service-testbed_oc.c |
404 | src/testbed/gnunet-service-testbed_peers.c | 408 | src/testbed/gnunet-service-testbed_peers.c |
405 | src/testbed/gnunet_testbed_mpi_spawn.c | ||
406 | src/testbed/gnunet-testbed-profiler.c | 409 | src/testbed/gnunet-testbed-profiler.c |
407 | src/testbed-logger/gnunet-service-testbed-logger.c | 410 | src/testbed/gnunet_mpi_test.c |
408 | src/testbed-logger/testbed_logger_api.c | 411 | src/testbed/gnunet_testbed_mpi_spawn.c |
409 | src/testbed/testbed_api_barriers.c | ||
410 | src/testbed/testbed_api.c | 412 | src/testbed/testbed_api.c |
413 | src/testbed/testbed_api_barriers.c | ||
411 | src/testbed/testbed_api_cmd_controller.c | 414 | src/testbed/testbed_api_cmd_controller.c |
412 | src/testbed/testbed_api_cmd_peer.c | 415 | src/testbed/testbed_api_cmd_peer.c |
413 | src/testbed/testbed_api_cmd_service.c | 416 | src/testbed/testbed_api_cmd_peer_store.c |
417 | src/testbed/testbed_api_cmd_tng_connect.c | ||
418 | src/testbed/testbed_api_cmd_tng_service.c | ||
414 | src/testbed/testbed_api_hosts.c | 419 | src/testbed/testbed_api_hosts.c |
415 | src/testbed/testbed_api_operations.c | 420 | src/testbed/testbed_api_operations.c |
416 | src/testbed/testbed_api_peers.c | 421 | src/testbed/testbed_api_peers.c |
417 | src/testbed/testbed_api_sd.c | 422 | src/testbed/testbed_api_sd.c |
418 | src/testbed/testbed_api_services.c | 423 | src/testbed/testbed_api_services.c |
419 | src/testbed/testbed_api_statistics.c | 424 | src/testbed/testbed_api_statistics.c |
420 | src/testbed/testbed_api_testbed.c | ||
421 | src/testbed/testbed_api_test.c | 425 | src/testbed/testbed_api_test.c |
426 | src/testbed/testbed_api_testbed.c | ||
422 | src/testbed/testbed_api_topology.c | 427 | src/testbed/testbed_api_topology.c |
423 | src/testbed/testbed_api_underlay.c | 428 | src/testbed/testbed_api_underlay.c |
424 | src/testing/gnunet-testing.c | 429 | src/testing/gnunet-testing.c |
425 | src/testing/list-keys.c | 430 | src/testing/list-keys.c |
431 | src/testing/testing.c | ||
426 | src/testing/testing_api_cmd_batch.c | 432 | src/testing/testing_api_cmd_batch.c |
427 | src/testing/testing_api_cmd_hello_world_birth.c | ||
428 | src/testing/testing_api_cmd_hello_world.c | 433 | src/testing/testing_api_cmd_hello_world.c |
434 | src/testing/testing_api_cmd_hello_world_birth.c | ||
429 | src/testing/testing_api_loop.c | 435 | src/testing/testing_api_loop.c |
430 | src/testing/testing_api_trait_cmd.c | 436 | src/testing/testing_api_trait_cmd.c |
431 | src/testing/testing_api_trait_process.c | 437 | src/testing/testing_api_trait_process.c |
432 | src/testing/testing_api_traits.c | 438 | src/testing/testing_api_traits.c |
433 | src/testing/testing.c | ||
434 | src/topology/friends.c | 439 | src/topology/friends.c |
435 | src/topology/gnunet-daemon-topology.c | 440 | src/topology/gnunet-daemon-topology.c |
436 | src/transport/gnunet-communicator-tcp.c | 441 | src/transport/gnunet-communicator-tcp.c |
437 | src/transport/gnunet-communicator-udp.c | 442 | src/transport/gnunet-communicator-udp.c |
438 | src/transport/gnunet-communicator-unix.c | 443 | src/transport/gnunet-communicator-unix.c |
439 | src/transport/gnunet-helper-transport-bluetooth.c | 444 | src/transport/gnunet-helper-transport-bluetooth.c |
440 | src/transport/gnunet-helper-transport-wlan.c | ||
441 | src/transport/gnunet-helper-transport-wlan-dummy.c | 445 | src/transport/gnunet-helper-transport-wlan-dummy.c |
446 | src/transport/gnunet-helper-transport-wlan.c | ||
442 | src/transport/gnunet-service-tng.c | 447 | src/transport/gnunet-service-tng.c |
443 | src/transport/gnunet-service-transport_ats.c | ||
444 | src/transport/gnunet-service-transport.c | 448 | src/transport/gnunet-service-transport.c |
449 | src/transport/gnunet-service-transport_ats.c | ||
445 | src/transport/gnunet-service-transport_hello.c | 450 | src/transport/gnunet-service-transport_hello.c |
446 | src/transport/gnunet-service-transport_manipulation.c | 451 | src/transport/gnunet-service-transport_manipulation.c |
447 | src/transport/gnunet-service-transport_neighbours.c | 452 | src/transport/gnunet-service-transport_neighbours.c |
448 | src/transport/gnunet-service-transport_plugins.c | 453 | src/transport/gnunet-service-transport_plugins.c |
449 | src/transport/gnunet-service-transport_validation.c | 454 | src/transport/gnunet-service-transport_validation.c |
450 | src/transport/gnunet-transport.c | ||
451 | src/transport/gnunet-transport-profiler.c | 455 | src/transport/gnunet-transport-profiler.c |
452 | src/transport/gnunet-transport-wlan-receiver.c | 456 | src/transport/gnunet-transport-wlan-receiver.c |
453 | src/transport/gnunet-transport-wlan-sender.c | 457 | src/transport/gnunet-transport-wlan-sender.c |
458 | src/transport/gnunet-transport.c | ||
454 | src/transport/plugin_transport_http_client.c | 459 | src/transport/plugin_transport_http_client.c |
455 | src/transport/plugin_transport_http_common.c | 460 | src/transport/plugin_transport_http_common.c |
456 | src/transport/plugin_transport_http_server.c | 461 | src/transport/plugin_transport_http_server.c |
457 | src/transport/plugin_transport_smtp.c | 462 | src/transport/plugin_transport_smtp.c |
458 | src/transport/plugin_transport_tcp.c | 463 | src/transport/plugin_transport_tcp.c |
459 | src/transport/plugin_transport_template.c | 464 | src/transport/plugin_transport_template.c |
460 | src/transport/plugin_transport_udp_broadcasting.c | ||
461 | src/transport/plugin_transport_udp.c | 465 | src/transport/plugin_transport_udp.c |
466 | src/transport/plugin_transport_udp_broadcasting.c | ||
462 | src/transport/plugin_transport_unix.c | 467 | src/transport/plugin_transport_unix.c |
463 | src/transport/plugin_transport_wlan.c | 468 | src/transport/plugin_transport_wlan.c |
464 | src/transport/tcp_connection_legacy.c | 469 | src/transport/tcp_connection_legacy.c |
465 | src/transport/tcp_server_legacy.c | 470 | src/transport/tcp_server_legacy.c |
466 | src/transport/tcp_server_mst_legacy.c | 471 | src/transport/tcp_server_mst_legacy.c |
467 | src/transport/tcp_service_legacy.c | 472 | src/transport/tcp_service_legacy.c |
473 | src/transport/transport-testing-communicator.c | ||
474 | src/transport/transport-testing-filenames.c | ||
475 | src/transport/transport-testing-filenames2.c | ||
476 | src/transport/transport-testing-loggers.c | ||
477 | src/transport/transport-testing-loggers2.c | ||
478 | src/transport/transport-testing-main.c | ||
479 | src/transport/transport-testing-main2.c | ||
480 | src/transport/transport-testing-send.c | ||
481 | src/transport/transport-testing-send2.c | ||
482 | src/transport/transport-testing.c | ||
483 | src/transport/transport-testing2.c | ||
468 | src/transport/transport_api2_application.c | 484 | src/transport/transport_api2_application.c |
469 | src/transport/transport_api2_communication.c | 485 | src/transport/transport_api2_communication.c |
470 | src/transport/transport_api2_core.c | 486 | src/transport/transport_api2_core.c |
@@ -477,17 +493,6 @@ src/transport/transport_api_manipulation.c | |||
477 | src/transport/transport_api_monitor_peers.c | 493 | src/transport/transport_api_monitor_peers.c |
478 | src/transport/transport_api_monitor_plugins.c | 494 | src/transport/transport_api_monitor_plugins.c |
479 | src/transport/transport_api_offer_hello.c | 495 | src/transport/transport_api_offer_hello.c |
480 | src/transport/transport-testing2.c | ||
481 | src/transport/transport-testing.c | ||
482 | src/transport/transport-testing-communicator.c | ||
483 | src/transport/transport-testing-filenames2.c | ||
484 | src/transport/transport-testing-filenames.c | ||
485 | src/transport/transport-testing-loggers2.c | ||
486 | src/transport/transport-testing-loggers.c | ||
487 | src/transport/transport-testing-main2.c | ||
488 | src/transport/transport-testing-main.c | ||
489 | src/transport/transport-testing-send2.c | ||
490 | src/transport/transport-testing-send.c | ||
491 | src/util/bandwidth.c | 496 | src/util/bandwidth.c |
492 | src/util/benchmark.c | 497 | src/util/benchmark.c |
493 | src/util/bio.c | 498 | src/util/bio.c |
@@ -502,8 +507,8 @@ src/util/consttime_memcmp.c | |||
502 | src/util/container_bloomfilter.c | 507 | src/util/container_bloomfilter.c |
503 | src/util/container_heap.c | 508 | src/util/container_heap.c |
504 | src/util/container_meta_data.c | 509 | src/util/container_meta_data.c |
505 | src/util/container_multihashmap32.c | ||
506 | src/util/container_multihashmap.c | 510 | src/util/container_multihashmap.c |
511 | src/util/container_multihashmap32.c | ||
507 | src/util/container_multipeermap.c | 512 | src/util/container_multipeermap.c |
508 | src/util/container_multishortmap.c | 513 | src/util/container_multishortmap.c |
509 | src/util/container_multiuuidmap.c | 514 | src/util/container_multiuuidmap.c |
@@ -528,8 +533,8 @@ src/util/dnsstub.c | |||
528 | src/util/getopt.c | 533 | src/util/getopt.c |
529 | src/util/getopt_helpers.c | 534 | src/util/getopt_helpers.c |
530 | src/util/gnunet-base32.c | 535 | src/util/gnunet-base32.c |
531 | src/util/gnunet-config.c | ||
532 | src/util/gnunet-config-diff.c | 536 | src/util/gnunet-config-diff.c |
537 | src/util/gnunet-config.c | ||
533 | src/util/gnunet-crypto-tvg.c | 538 | src/util/gnunet-crypto-tvg.c |
534 | src/util/gnunet-ecc.c | 539 | src/util/gnunet-ecc.c |
535 | src/util/gnunet-qr.c | 540 | src/util/gnunet-qr.c |
@@ -567,8 +572,8 @@ src/vpn/gnunet-helper-vpn.c | |||
567 | src/vpn/gnunet-service-vpn.c | 572 | src/vpn/gnunet-service-vpn.c |
568 | src/vpn/gnunet-vpn.c | 573 | src/vpn/gnunet-vpn.c |
569 | src/vpn/vpn_api.c | 574 | src/vpn/vpn_api.c |
570 | src/zonemaster/gnunet-service-zonemaster.c | ||
571 | src/zonemaster/gnunet-service-zonemaster-monitor.c | 575 | src/zonemaster/gnunet-service-zonemaster-monitor.c |
576 | src/zonemaster/gnunet-service-zonemaster.c | ||
572 | src/fs/fs_api.h | 577 | src/fs/fs_api.h |
573 | src/testbed/testbed_api.h | 578 | src/testbed/testbed_api.h |
574 | src/testbed/testbed_api_operations.h | 579 | src/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 | ||
147 | static void | ||
148 | inspect_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 | ||
239 | struct Finder | ||
240 | { | ||
241 | const char* target; | ||
242 | char *result; | ||
243 | }; | ||
244 | |||
245 | static void | ||
246 | find_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 | */ |
273 | char * | 266 | char * |
@@ -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 | */ |
595 | void * | 601 | void * |
596 | libgnunet_plugin_rest_reclaim_init (void *cls) | 602 | libgnunet_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; |